Serwis Edukacyjny
w I-LO w Tarnowie
obrazek

Materiały dla uczniów liceum

  Wyjście       Spis treści       Wstecz       Dalej  

Autor artykułu: mgr Jerzy Wałaszek

©2020 mgr Jerzy Wałaszek
I LO w Tarnowie

Zapamiętywanie bitów

Pamięć statyczna RAM

SPIS TREŚCI
Podrozdziały

Opis

W statycznej pamięci RAM (ang. static RAM - SRAM) bity informacyjne zapamiętywane są w przerzutnikach. Nazwa "pamięć statyczna" pochodzi od właściwości przerzutnika, który zapamiętuje swój stan aż do ponownego zapisu nowej porcji informacji. Pomiędzy tymi zdarzeniami przerzutnik statycznie utrzymuje przechowywaną w nim informację i nie wymaga żadnych dodatkowych zabiegów (oczywiście oprócz dostarczania energii elektrycznej). Zastosowanie przerzutników upraszcza sterowanie pamięcią, lecz z drugiej strony komplikuje jej budowę. Powodem komplikacji jest wymagana przez przerzutnik D-Latch ilość przynajmniej 4 tranzystorów CMOS plus dwa tranzystory sterujące zapisem i odczytem danych w komórce. Pamięć statyczna o pojemności np. 256 MB będzie zawierała ponad:

256 × 1024 × 1024 × 8 × 6 = 12.884.901.888 tranzystorów

Oczywiście moduł pamięci komputerowej może zostać zbudowany z wielu układów scalonych. Jednakże powoduje to zwiększenie wymiarów oraz pobieranej energii elektrycznej i w pewnych zastosowaniach jest nie do przyjęcia (urządzenia miniaturowe).

obrazek
Układ bitu informacji w komórce pamięci statycznej

Do przechowywania każdego bitu w pamięci statycznej RAM wykorzystywane są dwa krzyżowo sprzężone inwertory, zbudowane z tranzystorów polowych CMOS oznaczonych na rysunku po prawej stronie jako M1, M2 i M3, M4. Inwertory tworzą prosty przerzutnik. posiadający dwa stabilne stany wykorzystywane do reprezentacji poziomów logicznych 0 i 1. Dodatkowe dwa tranzystory M5 i M6 służą do sterowania dostępem do komórki podczas zapisu i odczytu danych. Są one podłączone do linii słowa (ang. WL - Word Line). Odpowiednio wysterowane sygnałem na tej linii tranzystory M5 i M6 łączą wyjście Q przerzutnika z linią bitu BL (ang. Bit Line) oraz wyjście komplementarne Q z linią BL. Do pracy układu wystarczyłaby jedna linia bitu, lecz wykorzystuje się dwie w celu zwiększenia poziomu sygnału w stosunku do szumów (sygnałów zakłócających), które pojawiają się w strukturze pamięci półprzewodnikowych.

Komórka pamięci statycznej RAM może znajdować się w jednym z trzech różnych stanów:

Stan oczekiwania

Gdy linia słowa WL nie jest wysterowana odpowiednim napięciem, tranzystory M5 i M6 separują wyjścia przerzutnika od linii bitów. Przerzutnik, zbudowany z dwóch sprzężonych wzajemnie inwertorów, pamięta swój stan wewnętrzny ustawiony przy poprzedniej operacji zapisu.

Stan odczytu

Załóżmy, iż przerzutnik w komórce pamięci pamięta stan logiczny 1, czyli wyjście Q = 1, a Q = 0 (odblokowane tranzystory M4 i M1, zablokowane M2 i M3). Cykl odczytu rozpoczyna się przez naelektryzowanie obu linii bitów BL i BL do wartości logicznej 1, a następnie przez wysterowanie linii słowa WL, co spowoduje włączenie (odblokowanie) tranzystorów M5 i M6. Stan wyjść Q i Q zostaje przeniesiony na linie BL i BL.  Linia BL pozostaje w stanie 1, gdyż odblokowane tranzystory M4 i M6 łączą ją z napięciem Vdd. Z kolei napięcie linii BL zostanie rozładowane do zera, ponieważ tranzystory M1 i M5 łączą ją z masą układu. W efekcie na linii BL pojawi się 1, a na BL 0. Jeśli przerzutnik przechowuje wartość 0, to otrzymamy sytuację odwrotną.

Stan zapisu

Przy zapisie ustawia się linie BL zgodnie z wartością zapisywanego bitu (dla 1 BL = 1, BL = 0; dla 0 BL = 0, BL = 1). Następnie linia WL zostaje wysterowana i tranzystory M5, M6 łączą wejścia inwertorów z liniami BL powodując zapis informacji w przerzutniku. Jest to możliwe, ponieważ sygnał na liniach BL i BL jest wystarczająco mocny, aby wymusić zmianę stanu w tranzystorach M1...M4 przerzutnika, które są z reguły bardzo małe.

Na początek:  podrozdziału   strony 

Struktura wewnętrzna pamięci statycznej

obrazek

Wewnątrz układu scalonego pamięci RAM o pojemności 2n bitów bity przechowywane są w plastrze zwanym matrycą pamięci (ang. memory array lub memory matrix). Matryca najczęściej posiada rozmiar 2n/2 wierszy na 2n/2 kolumn. Każda komórka matrycy zawiera jeden bit informacji.  Bit zostaje zaadresowany przez wybór wiersza, w którym się znajduje - uaktywniona jest linia słowa WL, połączona ze wszystkimi komórkami w danym wierszu. W efekcie linie bitów BL zostają wysterowane zawartością poszczególnych komórek (odczyt) lub wpływają na zmianę stanu komórek w wierszu (zapis). Linie bitów tworzą kolumny. Przez odczyt odpowiedniej kolumny mamy dostęp do bitu matrycy.

Jeśli komórka pamięci zawiera więcej niż jeden bit (na rysunku po lewej stronie mamy przykład pamięci o komórkach czterobitowych), to poszczególne bity leżą w kolejnych matrycach na przecięciu tych tych samych wierszy i kolumn. Takie rozwiązanie pozwala wykorzystać wielokrotnie układy sterujące w pamięci RAM. Pamięć o komórkach wielobitowych możemy wyobrazić sobie jako strukturę trójwymiarową.

obrazek

Z powodu zastosowania matryc bitowych w układzie scalonym pamięci RAM magistrala adresowa jest dzielona na dwie osobne części - zwykle na połówki zawierające po n/2 bitów (n oznacza ilość bitów magistrali adresowej). Górne bity magistrali adresowej wybierają wiersz w matrycy bitowej. Operację tę wykonuje dekoder wierszy, który w zależności od zawartości linii adresowych uaktywnia odpowiednią linię słowa WL połączoną ze wszystkimi komórkami w danym wierszu matrycy. Dekoder numeru wiersza jest zwykłym układem kombinatorycznym, zamieniającym kod binarny na kod 1 z N. Bardzo podobny układ opisaliśmy w projekcie transkodera kodu BCD na kod 1 z 10.

Dolne bity adresowe wykorzystywane są do wyboru określonej kolumny w wierszu. Operację wykonuje dekoder kolumn oraz zespół wzmacniaczy sygnałów BL. Wybrana przez wiersz i kolumnę komórka zostaje odczytana lub zapisana nową zawartością.  W tym celu pamięć posiada układ sterowania zapisem i odczytem, który kontroluje sposób pracy wzmacniaczy oraz kierunek przepływu informacji przez magistralę danych.

Na rysunku powyżej przedstawiono schemat blokowy pamięci statycznej RAM o komórkach 8 bitowych. Dekoder wierszy wybiera w każdej z ośmiu matryc ten sam wiersz. Wybrane 8 wierszy przesłane zostaje do zespołu wzmacniaczy, które z kolei są sterowane przez dekoder kolumn. Bity znajdujące się na przecięciu wierszy i kolumn w poszczególnych matrycach tworzą 8 bitową komórkę pamięci. Układy dekoderów wierszy i kolumn są wspólne dla wszystkich matryc. Powoduje to znaczne uproszczenie struktury wewnętrznej układu scalonego.

Na początek:  podrozdziału   strony 

Sterowanie układem scalonym pamięci statycznej

Typowy układ scalony statycznej pamięci RAM posiada następujące wyprowadzenia:

 

obrazek

Logika sterowania układem scalonym SRAM wygląda w uproszczeniu następująco:

CE OE WE An-1...A0 Dm-1...D0 Operacja
1 X X X X Układ nieaktywny, magistrala danych w stanie wysokiej impedancji.
0 1 1 adres X Układ aktywny, magistrala danych w stanie wysokiej impedancji. Realizowany jest odczyt pamięci, lecz dane nie są wyprowadzane na magistralę danych.
0 0 1 adres dane → Zawartość wybranej komórki pojawia się na magistrali danych - odczyt pamięci.
0 X 0 adres → dane Wybrana komórka zostaje zapisana informacją odczytaną z magistrali danych - zapis pamięci.

Aby pamięć poprawnie współpracowała z resztą systemu, adresy, dane oraz sygnały sterujące muszą pojawiać się na swoich magistralach w odpowiednim czasie. Szczegóły techniczne znajdziesz w materiałach producenta danej pamięci statycznej RAM.

Na początek:  podrozdziału   strony 

Zespół Przedmiotowy
Chemii-Fizyki-Informatyki

w I Liceum Ogólnokształcącym
im. Kazimierza Brodzińskiego
w Tarnowie
ul. Piłsudskiego 4
©2020 mgr Jerzy Wałaszek

Materiały tylko do użytku dydaktycznego. Ich kopiowanie i powielanie jest dozwolone
pod warunkiem podania źródła oraz niepobierania za to pieniędzy.

Pytania proszę przesyłać na adres email: i-lo@eduinf.waw.pl

Serwis wykorzystuje pliki cookies. Jeśli nie chcesz ich otrzymywać, zablokuj je w swojej przeglądarce.
Informacje dodatkowe.