« poprzedni punkt |
Na rysunku XI.8 pokazano podstawową komórkę pamiętającą wykorzystywaną w pamięciach dynamicznych. Elementem pamiętającym w tym układzie jest kondensator C o bardzo małej pojemności. Jeżeli kondensator nie jest naładowany, to pamiętane jest zero logiczne. Jeżeli kondensator jest naładowany, to pamiętana jest jedynka logiczna.
Rys XI.8. Komórka pamięci dynamicznej
Działanie komórki jest następujące. Przed fazą zapisu na linii kolumny ustawiany jest poziom niski albo poziom wysoki zależnie od tego co ma zostać zapisane do komórki. W fazie zapisu, po wybraniu linii wiersza (linii słowa), na bramkę tranzystora T zostaje podane napięcie umożliwiające przewodzenie tranzystora. Teraz, zależnie od stanu linii kolumny (linii bitu), kondensator zostaje naładowany lub nie. Po zakończeniu fazy zapisu tranzystor przestaje przewodzić i kondensator utrzymuje dotychczasowy stan naładowania.
Przed fazą odczytu, linia kolumny (z którą jest związany niewielki kondensator pasożytniczy) zostaje wstępnie naładowana do napięcia o wartości leżącej pośrodku miedzy poziomami reprezentującymi poziomy wysoki i niski. W fazie odczytu, po wybraniu wiersza, na bramkę tranzystora zostaje podane napięcie umożliwiające przewodzenie tranzystora. Jeżeli w kondensatorze nie było ładunku, to część ładunku kondensatora pasożytniczego związanego z linią kolumny przepłynie do kondensatora C. Jeżeli natomiast w kondensatorze C był ładunek, to jego część przepłynie do kondensatora związanego z linią kolumny. W obu przypadkach nastąpi niewielka zmiana napięcia linii, odpowiednio ujemna albo dodatnia. Te niewielkie zmiany zostaną wykryte przez czuły wzmacniacz odczytu dołączony do linii kolumny (nie pokazany na rysunku) i zinterpretowane jako odczyt odpowiednio zera albo jedynki logicznej.
Przy dokładnej analizie układu komórki pamięci dynamicznej pojawiają się dwa problemy. Pierwszy problem polega na tym, że w czasie odczytu zmienia się wartość ładunku kondensatora C i przy kolejnej próbie odczytania zawartości tej komórki ładunek mógłby być zbyt mały na to, by wzmacniacz odczytu mógł poprawnie odczytać jedynkę logiczną, albo zbyt duży, by poprawnie odczytać zero logiczne. Stąd, żeby nie dopuścić do zaistnienia takiego efektu, w pamięciach dynamicznych po każdym odczycie realizowany jest ponowny zapis właśnie odczytanej zawartości komórki - jest to tak zwana regeneracja pamiętanej informacji. Regenerację realizują odpowiednie układy wewnętrzne pamięci bez udziału użytkownika pamięci.
Ponieważ w fazie odczytu komórki uaktywniany jest cały wiersz matrycy, to faktycznie odczytywane są wszystkie komórki związane z tym wierszem i ich zawartość jest zapisywana w pomocniczym wewnętrznym rejestrze pamięci. Na wyjście układu jest wyprowadzana tylko informacja odczytana z wybranej komórki. Po zakończeniu fazy odczytu, zawartość rejestru jest zapisywana do wszystkich komórek wiersza.
Drugi problem związany jest z tym, że na skutek istnienia nieuniknionych prądów pasożytniczych, ładunek zgromadzony w kondensatorze C w miarę upływu czasu odpływa z tego kondensatora. Gdyby nie uwzględnić tego efektu, po pewnym czasie informacja zapisana w pamięci mogłaby bezpowrotnie zaniknąć. Żeby temu zjawisku zapobiec, realizuje się co pewien czas tak zwane odświeżanie pamięci. Polega to na tym, że okresowo (co kilka albo kilkudziesięciu milisekund, zależnie od typu pamięci) odczytuje się całą zawartość pamięci, wykonując przy okazji jej regenerację (praktycznie kolejno odświeżane są na raz całe wiersze matrycy pamięci). Na ogół na odświeżanie pamięci traci się nie więcej niż 1% efektywnego czasu użytkowania pamięci.
Przykład
Dostępna jest pamięć, w której matryca pamiętająca ma 4096 wierszy. Pamięć musi być odświeżana raz na 64 ms. Określić jaki procent użytecznego czasu pracy pamięci traci się na odświeżanie jeżeli czas odświeżenia jednego wiersza wynosi 75 ns.
Z danych zadania wynika, że kolejny wiersz musi być odświeżany nie później niż po upływie
@
15,6 m
s.
Na odświeżanie wiersza traci się
% @
0,5%
użytecznego czasu pracy pamięci. Łącznie odświeżenie całej pamięci zajmuje 300 m s.
Na rysunku XI.9 pokazano schemat blokowy przykładowej pamięci DRAM. Jest to pamięć o pojemności 1 Mb.
Rys. XI.9. Schemat blokowy przykładowej pamięci DRAM
Słowo adresowe tej pamięci ma dwadzieścia bitów. Natomiast, jak można zauważyć na rysunku XI.9, układ pamięci ma tylko dziesięć wejść adresowych (A0 - A9). Oznacza to, że adres musi być przesyłany do pamięci w dwóch częściach. Najpierw przysyłany jest adres wiersza a potem adres kolumny. Każdej z tych części towarzyszy sygnał, odpowiednio albo
, informujący o tym, że na wejściach pamięci dostępna jest część adresu. Rozwiązanie takie ma na celu ograniczenie liczby końcówek układu scalonego.
Sygnał informuje pamięć czy w danym momencie ma być wykonana operacja zapisu do pamięci czy operacja odczytu z pamięci.
Układ sterowania zapewnia właściwą pracę całej pamięci odpowiednio do stanu sygnałów zewnętrznych. W szczególności, zapewnia zapisanie w wewnętrznych rejestrach obu części przysłanego adresu i skierowanie ich do dekoderów wierszy i kolumn. Dalej, w fazie odczytu układ sterowania zapewnia otwarcie wyjścia trójstanowego z pamięci.
W celu lepszego wyjaśnienia działania pamięci z rysunku XI.9 przyjrzyjmy się przebiegom ilustrującym pracę pamięci.
Na rysunku XI.10 pokazano cykl odświeżania pamięci. Ten cykl umożliwia odświeżenie całego wiersza matrycy wtedy gdy pamięć nie jest ani zapisywana ani odczytywana. Po podaniu na wejścia adresowe A0 - A9 części adresu dotyczącej wiersza matrycy pojawia się opadające zbocze sygnału , co powoduje zapisanie adresu wiersza do wewnętrznego rejestru pamięci i z kolei odczytanie całego wiersza do pomocniczego rejestru. Przy narastającym zboczu sygnału
zawartość tego rejestru jest z powrotem zapisywana do komórek pamiętających wiersza. W czasie trwania tego cyklu sygnał
cały czas ma wysoki poziom.
Rys. XI.10. Cykl odświeżania pamięci DRAM
Na rysunku XI.11 pokazano przebiegi dla cyklu odczytu. Po podaniu adresu wiersza i po pojawieniu się opadającego zbocza sygnału , wybrany wiersz zostaje odczytany do pomocniczego rejestru. Po pojawieniu się opadającego zbocza sygnału
adres kolumny zostaje zapisany w wewnętrznym rejestrze pamięci i zostaje wybrany jeden bit z odczytanego przed chwilą wiersza. Bit ten zostaje przekazany na wyjście DOUT układu. Zauważmy, że dopóki nie pojawi się niski poziom sygnału
wyjściowy układ trójstanowy jest w trzecim stanie Z. Układ ten jest odblokowywany na czas trwania niskiego poziomu sygnału
. W międzyczasie, dodatnie zbocze sygnału
powoduje zapisanie do pamięci wcześniej odczytanego całego wiersza. W czasie całego cyklu odczytu sygnał
ma wysoki poziom.
Rys. XI.11. Cykl odczytu
Na rysunku XI.12 pokazano przebiegi dla cyklu zapisu. Początek cyklu jest taki sam jak poprzednio przy odczycie. Po odczytaniu zawartości wybranego wiersza pojawia się niski poziom sygnału zapisu (przed sygnałem
), co blokuje wyjściowy układ trójstanowy do czasu zakończenia cyklu. W czasie trwania niskiego poziomu sygnału
na wejście DIN podawana jest dana, która ma być zapisana do pamięci. Dana ta (bit w naszym przypadku) zostaje zapisana do rejestru, w którym znajduje się odczytany wcześniej wiersz, na pozycję wskazaną przez adres kolumny dostępny od chwili pojawienia się opadającego zbocza sygnału
. Zmodyfikowany wiersz zostaje zapisany do matrycy po pojawieniu się narastającego zbocza sygnału
.
Rys. XI.12. Cykl zapisu
Wyżej przedstawiono podstawowe cykle przykładowej pamięci DRAM. W produkowanych układach są dostępne również inne cykle, w tym różne cykle odświeżania i cykle szybkiego odczytywania informacji znajdujących się w sąsiednich komórkach pamięci. Produkowane są również różne modyfikacje pamięci DRAM. W szczególności produkowane są synchroniczne pamięci SDRAM. O ile w klasycznych pamięciach DRAM nie występuje sygnał zegarowy, to pamięciach SDRAM stany poszczególnych wejść pamięci są próbkowane w czasie gdy pojawia się dodatnie zbocze sygnału zegarowego (o typowej częstotliwości 133 MHz). Rozwiązanie takie ułatwia synchronizację pracy pamięci z systemami mikroprocesorowymi.
Komórka pamięci dynamicznej, w porównaniu z komórką pamięci statycznej jest znacznie prostsza i zajmuje mniejszą powierzchnię w strukturze scalonej. Pozwala to na realizację, na tej samej powierzchni krzemu, pamięci DRAM o większej pojemności niż w przypadku pamięci S-RAM. Stąd pamięci o największych pojemnościach są produkowane jako pamięci DRAM. Jednak na ogół pamięci DRAM są wolniejsze od pamięci S-RAM. (W czasie pisania niniejszego tekstu produkowane były pamięci DRAM o pojemności 1 Gb i czasie dostępu poniżej 10 ns oraz pamięci S-RAM o pojemności 72 Mb i czasie dostępu na poziomie 1 ns.)
« poprzedni punkt |