Pamięć RAM

Historia - początek

 

Pomysł połączenia historii rozwoju pamięci RAM wraz z opisem zasady jej działania jest uzasadniony. Otóż coraz to nowsze standardy kolejno po sobie wprowadzane do wnętrza peceta, nie są przecież opracowywane od zera. Bazują w dużej mierze na tym, co zostało wymyślone wcześniej, a wymagało jedynie udoskonalenia.

W celu zrozumienia zasady działania współczesnych modułów pamięci warto cofnąć się w przeszłość, ewentualnie udać się do muzeum techniki cyfrowej. Jeśli będziecie mieli sposobność zwiedzania takiego przybytku, możecie natknąć się na bardzo ciekawe, analogowe moduły pamięci RAM. W dużych, masywnych prostopadłościanach wielkości cegły zapisać można było całe 4 bity danych. Tak, to bardzo niewiele, ale szafa takich cegieł wystarczyła, aby umożliwić pracę jakiejś prymitywnej maszynie. Na czym polega istota działania takiej pamięci? Otóż w omawianych modułach umieszczone są elementy elektryczne takie jak kondensatory i tranzystory. Nie wdając się w szczegóły stwierdzić można, że kondensatory działają na zasadzie baterii, to znaczy można je naładować do stanu wysokiego napięcia, lub rozładować do stanu niskiego napięcia (a w zasadzie od zera), wedle uznania. Upraszczając dalej, przyjmijmy, że taki moduł czterobitowej pamięci jest połączony z główną jednostką obliczeniową przy pomocy 4 przewodów. Jeżeli trzeba coś do pamięci zapisać, na odpowiednich przewodach pojawia się napięcie i odpowiednie kondensatory są ładowane do stanu wysokiego. Odczyt polega na tym, że procesor 'sprawdza', które z czterech kondensatorów są naładowane, a które nie. Kasowanie pamięci to po prostu rozładowanie wszystkich kondensatorów. Można łatwo policzyć, że na jednym module, na który składa się 4 bity/kondensatory mieści się 2= 16 różnych wartości.

Opuszczamy muzeum, mieliśmy się w końcu zająć pamięciami w komputerach osobistych. Okazuję się, że elementarną jednostką pamięci wykorzystywanej we współczesnych modułach RAM jest dalej konstrukcja, na którą składa się tranzystor i kondensator właśnie. Upakowanie ogromnej ilości tych struktur na małym kawałku krzemu ma jednak taką wadę, że ładunek zgromadzony na takim mikroskopijnym kondensatorze jest bardzo ulotny. Każda przerwa w zasilaniu modułu kończy się utratą wszystkich zapisanych tam danych. Ponadto w wypadku pamięci dynamicznych, a takie stosuje się do budowy modułów RAM, niezbędne jest również ciągłe odświeżanie zawartości pamięci, za co odpowiedzialne są specjalne układy zainstalowane wewnątrz kości.

W przeciwieństwie do muzealnych analogowych eksponatów, cyfrowe układy pamięci zawierają w sobie kilkaset milionów komórek. W takim wypadku nie może być oczywiście mowy o wyprowadzeniu z każdej komórki bezpośredniego połączenia z procesorem (gwoli ścisłości - nawet w prehistorycznych, analogowych pamięciach połączenie nie było bezpośrednie). Problem rozwiązuje się w ten sposób, że komórki grupuje się w prostokątne macierze o określonej liczbie wierszy i kolumn. Pojedyncza macierz nazywana jest płatem pamięciowym, a liczba takich płatów jest równa szerokości szyny danych. Można sobie wyobrazić, że płaty pamięciowe stoją równo jeden za drugim w rzędzie.

Numer wiersza i kolumny macierzy określa położenie kilku komórek stojących w szeregu. Od tej poru pojawiający się w tekście wyraz komórka będzie de facto oznaczał cały ich rząd. Transmisja informacji pomiędzy procesorem, a pamięcią operacyjną następuje za pomocą szyny danych, zwanej również magistralą. Poza szyną danych do komunikacji na linii procesor - pamięć niezbędna jest również magistrala adresowa oraz osobne sygnały sterujące. W operacji pośredniczy kontroler pamięci, kiedyś znajdujący się na płycie głównej w mostku północnym, obecnie zintegrowany z samym procesorem. Najłatwiej wyjaśnimy proces zapisu bądź odczytu odwołując się do najstarszego trybu dostępu do pamięci dynamicznej, tak zwanego trybu konwencjonalnego, (Page Mode). Zrozumienie procesu odczytu danych ułatwi poniższy schemat.

Aby procesor mógł otrzymać żądane przez niego dane, musi znać adres tej części pamięci, pod którą te dane się znajdują. W tym celu na magistrale adresową podawana jest lokalizacja odpowiedniej komórki, co następuje w dwóch etapach. W pierwszym kroku, procesor wysyła na szynę adresową adres wiersza, z którego chce odczytać dane. Kiedy adres jest już umieszczony na magistrali, procesor zmienia wartość sygnału sterującego RAS (Row Address Strobe) z wartość 1 na 0. Co istotne, dla układu pamięci ważne jest zarejestrowanie zmiany, czyli wykrycie opadającego zbocza sygnału sterującego, a nie jego stała wartość. Po wykryciu takiego opadającego zbocza RAS układ pamięci "wie", że na szynie adresowej znajdują się dane z adresem wiersza. Informacja ta jest przez pamięć kopiowana. Procesor wystawia na magistrale adresową drugą część adresu, po czym informuję o tym układ pamięci opadającym sygnałem sterującym CAS (Column Address Strobe). W momencie wykrycia opadającego zbocza CAS układ pamięci odczytuje adres kolumny wystawiony na magistrali. Na tym etapie układ pamięci ma całość informacji umożliwiającej identyfikację komórki, do której odwołuje się procesor. Pozostaje tylko sprawdzenie kolejnego sygnału sterującego, informującego o kierunku przepływu danych. W omawianym przypadku procesor chce odczytać dane, więc pamięć wystawia zawartość odpowiedniej komórki na magistrale danych.

Rozminięciem opisanej powyżej metody jest tryb FPM (Fast Page Mode). Zazwyczaj kolejne dane, do których odwołuje się procesor, skupione są w dość ścisłym sąsiedztwie. W trybie FPM po odczytaniu adresu wiersza układ pamięci przyjmuje, że adres ten nie zmieni się w ciągu kilku kolejnych cykli. Na magistralę adresową wysyłane są tylko kolejne adresy kolumn, a układ pamięci przechowuje cały czas dane, o jaki wiersz chodzi.

Moduły pamięci EDO RAM

Dzięki zastosowaniu tego prostego tricku dość znacznie udało się skrócić czas dostępu do pamięci operacyjnej. Kolejnymi etapami rozwoju technologii RAM były pamięci EDO oraz BEDO. Nie będziemy się nad nimi rozwodzić, gdyż te pierwsze nie wniosły istotnych zmian, natomiast drugie nie zdążyły na dobrą sprawę zaistnieć na rynku, a to dzięki popularyzacji standardu SDRAM.