“Pamieci Komputerowe”

26
“Pamieci Komputerowe” Michał Drwal

description

“Pamieci Komputerowe”. Michał Drwal. PAMIĘĆ. - PowerPoint PPT Presentation

Transcript of “Pamieci Komputerowe”

Page 1: “Pamieci Komputerowe”

“Pamieci Komputerowe”

Michał Drwal

Page 2: “Pamieci Komputerowe”

Pojęcie pamięci osobom nie obeznanym z komputerami kojarzy się ze wspomnieniami, z przypominaniem sobie przeżyć, uczuć, zdarzeń, wiadomości itp. Pamięć komputerowa (ang. computer memory) niestety działa nieco inaczej. Jest to urządzenie cyfrowe do przechowywania informacji w postaci bitów.

PAMIĘĆ

Page 3: “Pamieci Komputerowe”

Historia rozwoju pamięci komputerowych

Potrzebę posiadania urządzenia zapamiętującego informację zauważali już pionierzy maszyn cyfrowych. W roku 1834 Charles Babbage zaprojektował swoją maszynę analityczną (ang. analitical engine) w oparciu o karty perforowane (ang. punched card), które pełniły rolę pamięci programu oraz danych wejściowych.

Lecz dopiero w latach 20-tych ubiegłego wieku wnuk Babbage'a opierając się na oryginalnych planach dziadka zbudował fragment tej maszyny. Jak można się domyślać, prototyp działał dokładnie tak, jak tego życzyłby sobie Charles.

Page 4: “Pamieci Komputerowe”

Zasada działania karty perforowanej jest bardzo prosta - informację zapisuje się przy pomocy układu dziurek. Układ odczytujący (mechaniczny lub elektryczny) sprawdza wystąpienia dziurek i przekazuje na ich podstawie odpowiednią informację do maszyny cyfrowej. Poniżej przedstawiamy kartę perforowaną (tzw. fiszkę), która była w powszechnym użyciu do lat 70-tych ubiegłego wieku.

U góry karty widzimy jej zawartość w postaci tekstu. Ten fragment karty jest przeznaczony dla człowieka, który ewentualnie sprawdzał treść kart. Dla komputera informacja jest zakodowana w postaci prostokątnych otworów w pionowych kolumnach - tzw. perforacji.

Page 5: “Pamieci Komputerowe”

Na podobnej zasadzie pracuje taśma perforowana (ang. punched tape), którą wykorzystywał w 1936 roku w swoich komputerach Konrad Zuse - twórca pierwszego, działającego komputera dwójkowego.

Jako materiału Konrad Zuse wykorzystywał taśmę ze starymi filmami kinowymi (jakimi - nie wiadomo). Informacja zapisywana była w formie kombinacji dziurek, które można było wybijać w specjalnym urządzeniu, które również skonstruował Zuse dla swojej maszyny. Taśma perforowana (czy karty perforowane) pozwalała zapisywać tylko dane wejściowe dla maszyny lub tylko wyniki. Nie mogła służyć do chwilowego przechowywania informacji - np. wyników pośrednich przy różnych obliczeniach matematycznych.

Page 6: “Pamieci Komputerowe”

Z tego powodu Zuse skonstruował dodatkową pamięć wewnętrzną dla swojej maszyny liczącej. Była to pamięć mechaniczna, w której bity (tak, bity - maszyna Zusego pracowała w systemie binarnym) zapamiętywane były przy pomocy odpowiednich przesunięć blaszek i zatrzasków. Całość wyglądała jak na poniższej fotografii, która przedstawia egzemplarz komputera Z3, zrekonstruowanego w latach 90-tych ubiegłego stulecia i który można obejrzeć w Berlińskim Muzeum Techniki.

W pamięci tej maszyna cyfrowa mogła składować dane w postaci 64 liczb zmiennoprzecinkowych. Program zapisany na karcie perforowanej odwoływał się do tych danych, dzięki czemu maszyna Zusego bez problemu realizowała nawet zaawansowane obliczenia numeryczne (np. całki, różniczki itp.).

Page 7: “Pamieci Komputerowe”

Na początku lat 50-tych ubiegłego wieku rozpowszechniły się elektroniczne maszyny cyfrowe. Szybkość i niezawodność działania pamięci wewnętrznej stały się kluczowym elementem tych maszyn. Opracowano zatem wiele ciekawych konstrukcji pamięci komputerowych.

1947 - wynalezienie magnetycznej pamięci ferrytowej (ang. magnetic core memory). Zasada działania opierała się na magnesowaniu malutkich rdzeni ferrytowych. Stan namagnesowania jest stały i można go odczytywać. Każdy rdzeń przechowuje informację o jednym bicie. Na poniższym obrazku widzimy fragment takiej pamięci ferrytowej.

Page 8: “Pamieci Komputerowe”

Aby uzyskać odpowiednio dużą pojemność, pamięć maszyny cyfrowej montowano z wielu plastrów ferrytowych, co widzimy na poniższej fotografii:

Page 9: “Pamieci Komputerowe”

1947 - wynalezienie magnetycznej pamięci bębnowej (ang. magnetic drum memory). Zasada działania polegała na zapisie informacji binarnej w postaci ścieżek magnetycznych na obwodzie bębna pokrytego specjalnym materiałem magnetycznym. Bęben obracając się pozwalał na ciągły zapis i odczyt danych. Ilość przechowywanej informacji zależała od liczby ścieżek oraz pojemności każdej ścieżki. Na poniższym obrazku możemy zobaczyć takie urządzenie będące pradziadkiem współczesnych dysków twardych.

Page 10: “Pamieci Komputerowe”

1949 - wynalezienie pamięci z ultradźwiękową linią opóźniającą (ang. ultrasonic delay line memory). Informacja pamiętana była w postaci fali ultradźwiękowej przemieszczającej się w tubie wypełnionej rtęcią. Na jednym końcu tuby znajdował się kwarcowy nadajnik, a na drugim kwarcowy odbiornik drgań. Dane z odbiornika po odpowiedniej regeneracji kształtu fali były z powrotem kierowane do nadajnika - informacja krążyła w kółko.

Page 11: “Pamieci Komputerowe”

1951 - pierwsze zastosowanie taśmy magnetycznej (ang. magnetic tape memory) do zapisu informacji w komputerze UNIVAC. Urządzenie zapisujące nosiło nazwę UNISERVO, a nośnikiem była cienka, półcalowa taśma wykonana z paska fosforobrązu pokrytego niklem. Na jednym calu taśmy mieściło się 128 znaków - zapis wykonywany był na 8 równoległych ścieżkach magnetycznych z prędkością stu cali na sekundę (2,54 m/s), co w efekcie dawało strumień danych o szybkości 12800 znaków na sekundę.

Page 12: “Pamieci Komputerowe”

1966 - powstaje firma Intel i rozpoczyna budowę oraz sprzedaż pamięci półprzewodnikowych (ang. semiconductor memory). Półprzewodnikowe pamięci elektroniczne stają się coraz bardziej popularne, gdyż posiadają wiele zalet nad swoimi rywalami - małe rozmiary, niewielki pobór energii, rosnącą pojemność wraz z rozwojem układów scalonych oraz malejącą cenę. Pamięć komputera zaczyna się różnicować na szybką pamięć operacyjną (ang. system memory), w której komputer przechowuje wykonywane programy oraz przetwarzane dane, i na znacznie wolniejszą pamięć masową (ang. mass storage memory), w której przechowywane są duże ilości informacji. Poniżej słynny układ scalony Intel 1103 o pojemności 1kb (1024 bity).

Page 13: “Pamieci Komputerowe”

Pamięć komputerowa (ang. computer memory) jest urządzeniem cyfrowym służącym do przechowywania informacji w postaci bitów. Dzielimy ją na: Pamięć operacyjną (ang. operating memory) - służy do przechowywania uruchomionych programów oraz przetwarzanych danych. Jest pamięcią szybką, o krótkim czasie dostępu do przechowywanej informacji. Pamięć operacyjna realizowana jest z układów półprzewodnikowych. Posiada relatywnie małą pojemność (do kilku giga bajtów).

Pamięć masową (ang. mass storage) - służy do składowania programów oraz dużej ilości informacji. Pamięć masowa posiada dłuższy czas dostępu do przechowywanych danych w porównaniu z pamięcią operacyjną, lecz ma dużą pojemność (setki gigabajtów). Realizowana jest w postaci dysków twardych, stacji CD/DVD, dysków sieciowych (dostępnych poprzez sieć teleinformatyczną). W przyszłości, gdy ulepszone zostaną pamięci FLASH, pamięć masowa prawdopodobnie zintegruje się z pamięcią operacyjną komputera - urządzenia mechaniczne, jak dyski twarde i stacje CD/DVD, odejdą do lamusa (tak dzieje się obecnie ze stacjami dyskietek, zastępują je Pendrive'y).

Page 14: “Pamieci Komputerowe”

Pamięć operacyjna RAMPamięć RAM (ang. Random Access Memory - pamięć o dostępie swobodnym) jest podstawowym składnikiem pamięci operacyjnej komputera. Termin RAM oznacza pamięć, z której informacja może być odczytywana w dowolnej kolejności bez względu na poprzednie odczyty czy zapisy. Termin RAM wprowadzono w celu odróżnienia pamięci o dostępie swobodnym od pamięci o dostępie sekwencyjnym (np. taśmowej, dyskowej itp.), popularnej na początku ery komputerowej.

Poniżej przedstawiam fragment logicznej struktury pamięci (czyli tak, jak widzi swoją pamięć komputer):

Ze względów ekonomicznych poszczególne komórki pamięci przechowują grupę kilku bitów (najczęściej jest ich 8 - czyli 1 bajt, ale rozmiar bitowy komórki pamięci zależy od architektury systemu komputerowego). Na przykład komórka o adresie 3 przechowuje 8 bitów o zawartości 11111110. Treść tej informacji uzależniona jest od interpretacji stanów bitów.

Page 15: “Pamieci Komputerowe”

Komputer steruje pamięcią przy pomocy trzech magistral (ang. bus). Magistrale zbudowane są z linii, którymi transmituje się sygnały. We współczesnych komputerach magistrale są cyfrowe, co oznacza, iż poszczególne linie przesyłają tylko sygnały dwustanowe, czyli bity. Widać z tego wyraźnie, iż komputery są maszynami binarnymi nie tylko ze względu na rodzaj przetwarzanych informacji, lecz również z powodu swojej wewnętrznej budowy - mówimy, iż posiadają architekturę binarną (ang. binary architecture).

Magistrala adresowa (ang. address bus) przekazuje pamięci adres komórki, do której komputer chce uzyskać dostęp - odczytać zawartość lub umieścić nowe dane. Ponieważ adres przekazywany jest magistralą cyfrową, to sam również występuje jako liczba binarna. Ilość linii na magistrali adresowej określa zakres dostępnych adresów, a zatem maksymalny rozmiar pamięci komputera.

Page 16: “Pamieci Komputerowe”

W starych komputerach magistrala adresowa mogła zawierać maksymalnie 16 linii. Zatem rozmiar możliwej do zaadresowania pamięci wynosił 2^16 = 65536 komórek (sławne 64KB - kilo bajty). Jeśli magistrala adresowa składa się z 32 linii, to komputer jest w stanie wykorzystać 2^32 = 4294967296 = 4GB pamięci (GB - gigabajt). Oczywiście w systemie może być mniej pamięci (np. tylko 1GB = 1073741824 komórek), w takim przypadku część adresów nie jest wykorzystywana, gdyż nie stoją za nimi żadne komórki. Ilość możliwych do zaadresowania komórek nosi nazwę przestrzeni adresowej (ang. address space). Natomiast pamięć fizyczna (ang. physical memory, physical storage) określa ilość pamięci rzeczywiście zainstalowanej w systemie komputerowym.

Magistrala danych (ang. data bus) umożliwia komputerowi przekazywanie danych do pamięci oraz odczyt przechowywanych przez pamięć informacji z komórek. Magistrala danych zbudowana jest z linii sygnałowych, po których przekazywane są bity. Ilość linii na magistrali danych zależy od architektury komputera. Na przykład w systemach 32-bitowych magistrala danych zawiera 32 linie, co pozwala w jednym cyklu dostępu do pamięci przesłać porcję 32 bitów.

Page 17: “Pamieci Komputerowe”

W zależności od sposobu zapamiętywania bitów w komórkach pamięć RAM dzielimy na dwa rodzaje:

Pamięć statyczna RAM (ang. SRAM - Static Random Access Memory). Do zapamiętywania bitów stosuje się przerzutniki bistabilne. Pamięci statyczne są bardzo szybkie i mało kłopotliwe w obsłudze. Wadą jest złożoność przerzutnika zapamiętującego jeden bit danych. Zbudowany jest z co najmniej 6 elementów elektronicznych (tranzystorów CMOS). Ponieważ użyteczna pamięć musi zawierać setki milionów takich przerzutników (np. pamięć 1GB zawiera 8 • 107'3741'824 = 8'589'934'592 przerzutników = 51'539'607'552 tranzystorów CMOS), to jej wewnętrzna budowa bardzo się komplikuje. Jednakże przemysł elektroniczny radzi sobie z tymi trudnościami i pamięci statyczne zdobywają coraz większą popularność.

Pamięć dynamiczna RAM (ang. DRAM - Dynamic Random Access Memory). Ponieważ pamięci statyczne zawierają dużo elementów elektronicznych i są trudne w produkcji, inżynierowie od dawna poszukiwali prostszych układów pamięciowych. Rozwiązaniem okazała się pamięć dynamiczna, wynaleziona w 1966 roku i opatentowana w 1968 przez dr Roberta Dennarda z Centrum Badawczego Thomasa J. Watsona w IBM. Pomysł opiera się na wykorzystaniu kondensatorów do zapamiętywania bitów informacji.

Page 18: “Pamieci Komputerowe”

SDRAM (ang. Synchronous Dynamic Random Access Memory) – rodzaj pamięci o dostępie swobodnym wykorzystywana m.in. w komputerach jako pamięć operacyjna.

Page 19: “Pamieci Komputerowe”

SDR SDRAM (ang. Single Data Rate Synchronous Dynamic Random Access Memory) - to pamięć dynamiczna, (dawniej nazywana po prostu SDRAM, po wprowadzeniu techologii DDR SDRAM został dodany przedrostek SDR) synchroniczna, zbudowana na kondensatorach i tranzystorach. Synchroniczna, ponieważ działa ona zgodnie z przebiegiem taktu zegara procesora (współpraca z magistralą systemową).

Page 20: “Pamieci Komputerowe”

DDR SDRAM (ang. Double Data Rate Synchronous Dynamic Random Access Memory) – rodzaj pamięci typu RAM stosowana w komputerach jako pamięć operacyjna oraz jako pamięć kart graficznych.

Page 21: “Pamieci Komputerowe”

DDR2 SDRAM (ang. Double Data Rate 2 Synchronous Dynamic Random Access Memory) – kolejny po DDR standard pamięci RAM typu SDRAM, stosowany w komputerach jako pamięć operacyjna.

Page 22: “Pamieci Komputerowe”

Pamięć DDR3 wykonana jest w technologii 90 nm, która umożliwia zastosowanie niższego napięcia (1,5 V w porównaniu z 1,8 V dla DDR2 i 2,5 V dla DDR). Dzięki temu pamięć DDR3 charakteryzuje się zmniejszonym poborem mocy o około 40% w stosunku do pamięci DDR2 oraz większą przepustowością w porównaniu do DDR2 i DDR.

Page 23: “Pamieci Komputerowe”

RIMM (ang. Rambus Inline Memory Module) – jeden z rodzajów kości pamięci komputerowej, na którym umieszczone są układy scalone z pamięcią Rambus DRAM (RDRAM).

Page 24: “Pamieci Komputerowe”

Pamięć Flash – rodzaj pamięci EEPROM (ang. Electrically-Erasable Programmable Read-Only Memory) Jest to pamięć nieulotna, tzn. można w niej zapisać dane, wyłączyć zasilanie, a dane nie zostaną stracone i wciąż będą obecne po ponownym włączeniu zasilania. Bity są zapamiętywane, podobnie jak w pamięci dynamicznej, w mikroskopijnych kondensatorach. Jednak tym razem warstwa izolacyjna jest tak dobra, iż ładunek zostaje uwięziony nawet na 10 lat. Czemu w takim razie nie stosuje się pamięci FLASH w charakterze pamięci RAM? Niestety, oprócz wymienionych zalet, pamięci FLASH posiadają również istotne wady. Po pierwsze nie są tak szybkie jak typowe pamięci SRAM czy DRAM. Ustępują im o rząd wielkości.

Page 25: “Pamieci Komputerowe”

Uzyskanie olbrzymiej pojemności wymaga zastosowania zupełnie innej techniki – holografii. Pomysł ten zrodził się już w roku 1963, gdy jeden z pracowników firmy Polaroid – Pieter J. van Heerden zaproponował trójwymiarowy zapis danych. W chwili obecnej żadna z technologii oferujących pojemności rzędu setek GB i czas dostępu do dowolnego obszaru w granicach 100 (mikro)sekund nie jest tak bliska wejścia na rynek, jak właśnie holografia.

Page 26: “Pamieci Komputerowe”

Biblioteka taśmowa (ang. tape library, tape silo lub tape jukebox) – urządzenie organizujące pracę biblioteki taśmowej przez automatyczne wyszukiwanie i kompletowanie składowanych zasobów danych w systemie komputerowym. Dane rzadko używane przenoszone są na wolniejsze, lecz pojemniejsze nośniki danych; na najszybszych nośnikach przechowywane są tylko dane najczęściej odczytywane i modyfikowane.