R5-1.DOC

(686 KB) Pobierz
Szablon dla tlumaczy

Rozdział 5.
Pamięci dynamiczne

Pamięci dynamiczne RAM pozwalają na uzyskanie większych pojemności niż pamięci statyczne, są też od nich kilkakrotnie tańsze. Niestety nie ma róży bez kolców wymagają one bardziej skomplikowanych układów sterujących. Układy te muszą przede wszystkim zapewnić odświeżanie pamięci, bez którego pamięć traci zawartość pomimo tego, że jest ciągle zasilana. Każdy wiersz pamięci powinien być odświeżony przynajmniej raz na 2-8 ms. Innym powodem komplikacji układów sterujących jest konieczność podawania adresu w dwóch częściach. Pamięci dynamiczne mają bowiem zwykle dwukrotnie mniej wejść adresowych, niż wynikałoby to z ich organizacji. Takie podejście ma jednak na celu zmniejszenie ogólnej liczby wyprowadzeń w układzie, a w konsekwencji skrócenie połączeń i zmniejszenie powierzchni zajmowanej przez moduł pamięci. Należy podkreślić, że w układach o pojemności rzędu 1M słów pozwala to na usunięcie z każdego układu aż 10 wyprowadzeń (1M = 220). Także czterokrotny wzrost pojemności wymaga dodania tylko jednego wyprowadzenia, podczas gdy w pozostałych pamięciach dwóch.

Przegląd układów pamięci DRAM

Najczęściej produkowane pamięci dynamiczne mają organizację 1- lub 4-bitową. Podobnie jak pamięci statyczne, układy pamięci dynamicznych o organizacji 1-bitowej mają rozdzielone wejście i wyjście danych, natomiast pamięci o organizacji 4-bitowej linie dwukierunkowe. Wszystkie układy mają wejścia sterujące , i , a pamięci o organizacji 4-bitowej dodatkowo wejście . Wszystkie wejściae są aktywne w staniem niskim. Znaczenie wejść i  jest takie samoe jak w pamięciach statycznych umożliwia odczyt z pamięci, a  zapis. Jeżeli brak sygnału , to odczyt jest możliwy, gdy jest nieaktywne.

Pewne zdziwienie może budzić brak wejścia typu w pamięciach dynamicznych. Jego funkcję pełnią sygnały i . Służą one także do wskazywania, która część adresu znajduje się na wejściach adresowych pamięci. Sygnał (ang. Row Address Strobe) to strob

Czy to poprawne określenie?

adresu wiersza (mniej znaczącej części adresu), a sygnał (ang. Column Address Strobe) strob

Jw.

adresu kolumny (części bardziej znaczącej). Podczas cyklu dostępu do pamięci zazwyczaj pierwszy podaje się adres wiersza i sygnał , następnie adres kolumny i sygnał (może być aktywny, gdy = „0”, gdyż układ zapamiętuje adresy w czasie trwania zbocza opadającego tych sygnałów). Tak zaadresowany układ pamięci uaktywnia się w celu dokończenia operacji (odczytu lub zapisu). Można więc rzeczywiście powiedzieć, że sygnały i  zastępują sygnał .

Rysunek 5.1 Rysunek 1 przedstawia wyprowadzenia niektórych układów pamięci dynamicznych o organizacji 1- i 4-bitowej i pojemnościach od 16K słów do 1M słów.

Rysunek 5.1. 1. Wyprowadzenia pamięci dynamicznych RAM

Przykłady

Przykład 1.

Zaprojektować moduł pamięci dynamicznej o pojemności 64 KB dla mikroprocesora Z-80. W zadaniu należy wykorzystać układy pamięci o organizacji 64K ´ 1. Do odświeżania należy wykorzystać wewnętrzny licznik mikroprocesora.

Jak już wspomniano wcześniej, pamięci dynamiczne wymagają specyficznego sterowania, które m. in. zapewnia podział adresu na dwie połowy. Układ taki można wykonać z dwóch multiplekserów 74157. Każdy z nich przełącza 4 bity adresu. Wejścia multiplekserów są przyłączone do magistrali adresowej. W zasadzieogólnym przypadku sposób ich przyporządkowania nie ma większego znaczenia. Jeżeli jednak korzystamy z   mechanizmu wbudowanego w mikro­procesor Z-80, należy zapewnić, by zawartośćc linii A0-A7 była przesłana na wejścia adresowe pamięci, gdy sygnał jest w stanie aktywnym. Jest to warunek poprawnego odświeżenia pamięci.

Wyjścia multiplekserów tworzą 8-bitową magistralę multipleksowaną M0-M7, po której przesyłane są połówki adresów. Są one traktowane przez pamięć jako adresy wierszy (gdy = „0”) lub kolumn (gdy = „0”).

Wyjścia pamięci należy podłączyć do magistrali danych za pośrednictwem dwóch buforów 8216, podobnie jak w przypadku pamięci statycznej o rozdzielonych wejściach i wyjściach danych. Układy te są aktywne podczas dostępu mikroprocesora do przestrzeni adresowej pamięci, a ich wejścia są w stanie aktywnym podczas cykli odczytu. Takie rozwiązanie zapewnia poprawne sprzężenie pamięci z dwukierunkową magistralą danych.

Rysunek 5.2.

Brak podpisu.

Poprawną pracę układu zapewnia odpowiedni układ sterujący, realizujący odpowiednie opóźnienia czasowe. Układ ten powinien także na podstawie sygnałów mikroprocesora (, , oraz ) generować sygnały dla pamięci dynamicznej (przede wszystkim i , lecz także i ewentualnie ) oraz sygnał przełączania wejść multiplekserów 74157. Przykładowy układ pokazany jest na rys. Wykorzystano w nim także dodatkowy sygnał wyboru bloku pamięci , który może pochodzić np. z dekodera adresów.

Rysunek 5.3.

Brak podpisu.

Najprostsze jest uzyskanie sygnałów i  , ponieważ odpowiadają one wprost sygnałom i  mikroprocesora. Sygnał jest nieznacznie opóźniony względem o czas propagacji dwóch bramek negacji, tj. około 10-15 ns. Układ opóźniający, zbudowany z opornika i kondensatora, ma za zadanie opóźnić moment przełączenia wejść multiplekserów. Czas tego opóźnienia t nie może być krótszy od czasu potrzebnego pamięci na zapamiętanie adresu wiersza. Jeżeli sygnał jest nieaktywny, to kondensator jest rozładowywany. Dlatego też na wejściu bramek Schmitta utrzymuje się stan niski przez czas t od chwili przejścia sygnału w stan aktywny. W tym czasie na wyjściu bramki Schmitta jest stan wysoki, a więc sygnał przełączenia multiplekserów ma też stan wysoki.

Kondensator zaczyna się ładować, gdy przechodzi w stan aktywny. Po czasie t napięcie na kondensatorze jest wystarczające do przełączenia bramek Schmitta. Ponieważ w czasie odczytu lub zapisu pamięci sygnał jest nieaktywny, sygnał przełączania wejść multiplekserów zmienia stan na wysoki. Sygnał może także się uaktywnić z pewnym opóźnieniem, o ile wejście   jest w stanie aktywnym („0”). Jeżeli tak jest, pamięć zapamiętuje adres kolumny i od tego momentu uaktywnia się w celu wykonania operacji odczytu lub zapisu. Jeśli natomiast pamięć nie jest wybrana, wykorzystuje podany adres wiersza w procesie odświeżania.

W czasie odświeżania pamięci mikroprocesor Z-80 generuje sygnały oraz . Wtedy sygnał przełączenia wejść multiplekserów jest w stanie wysokim.

Z przedstawionego opisu wynika, że sygnał wyboru wejść multiplekserów przyjmuje wartość „1” podczas podawania adresu wiersza i „0” podczas podawania adresu kolumny. Aby więc wykorzystać adres odświeżania generowany przez mikroprocesor, należy wejścia B multi­plek­se­rów dołączyć do młodszej połowy magistrali adresowej (A0-A7).

Układ sterujący pamięci dynamicznych nie musi być tak skomplikowany. Proste i eleganckie rozwiązanie wykorzystuje tzw. kaskadę opóźniającą TTL DL-20. Zaletą tego układu jest duża dokładność generowanych opóźnień. W tym przypadku sygnał przełączenia wejść multiplekserów jest opóźniony w stosunku do o 60 ns, a sygnał o 100 ns. Podobne rozwiązanie było zastosowane w module pamięci mikrokomputera osobistego IBM PC/XT.

Rysunek 5.4.

Brak podpisu.

Dodatkowe uproszczenie układu uzyskuje się, stosując pamięci o organizacji 4-bitowej. Można też wykorzystać scalony sterownik pamięci dynamicznych, np. układy 8202 albo 8203 firmy Intel.

Przykład 2.

Zaprojektować moduł pamięci dynamicznej dla mikroprocesora Z-80, zawierający 32 KB pamięci dynamicznej, zajmującej adresy 4000-7FFFh oraz C000-FFFFh. Wykorzystać układy pamięci o organizacji 16K ´ 4. Założyć, że są dostępne sygnały sterujące pamięciami dynamicznymi.

Rysunek 5.5.

Brak podpisu.

Do zbudowania modułu potrzebne są cztery układy pamięci, przy czym jeden zakres adresów jest wypełniony przez dwa układy. Sygnały sterujące pamięciami dynamicznymi i układem przełą­cza­jącym linie adresowe są generowane poza modułem. Wobec tego pozostaje odpowiednie rozprowadzenie sygnałów do wejść pamięci. Sygnały ...

Zgłoś jeśli naruszono regulamin