Zapamiętywanie bitów
Pamięć statyczna RAM


Bramki logiczne
Cyfrowe układy scalone TTL i CMOS
Zasilanie układów TTL i CMOS
Zjawisko hazardu w sieciach logicznych
Przerzutniki
Pamięć
Wejście / wyjście
  Pamięci komputerowe
Historia rozwoju pamięci komputerowych
Budowa i rodzaje pamięci komputerowej
Statyczna pamięć RAM
Dynamiczna pamięć RAM
Pamięć stała ROM, PROM, EPROM, EEPROM, FLASH i NV-RAM
Pamięć dyskowa
Pamięć CD/DVD/Blue-Ray

 

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 = 1.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).

A six-transistor CMOS SRAM cell.
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.

 

Struktura wewnętrzna pamięci statycznej

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ą.

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 obok 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.

 

Sterowanie układem scalonym pamięci statycznej

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

 

  • An-1... A0 - n linii magistrali adresowej. Przy ich pomocy komputer przekazuje pamięci w postaci binarnej adres pożądanej komórki. Ilość linii adresowych zależy od pojemności pamięci. Dla n linii pamięć ma pojemność 2n komórek.

  • Dm-1 ... D0 - m linii dwukierunkowej magistrali danych. Liczba linii danych odpowiada rozmiarowi pojedynczej komórki pamięci (istnieją konstrukcje pamięci, których komórki mają pojemność np. 16 bitów - w takim przypadku pamięć może posiadać dodatkowe linie sterujące wprowadzaniem danej 8/16 bitowej, a jeśli 8 bitowej, to w mniej znaczący lub w bardziej znaczący bajt komórki). Pojemność pamięci w bitach obliczamy jako 2n • m. Na przykład pamięć posiadająca n = 16 wejść adresowych oraz m = 8 wejść danych ma pojemność równą 216 • 8 = 65536 • 8 = 524'288 bitów. W terminologii układów scalonych wejścia danych często oznacza się symbolem IO lub I/O (ang. Input Output) z uwagi na ich dwukierunkowość w przesyłaniu informacji.

  • CE (ang. Chip Enable) - linia uaktywnia układ pamięci. Jeśli jest w stanie wysokim, pamięć nie reaguje na pozostałe sygnały, a jej magistrala danych przechodzi w stan wysokiej impedancji. Sygnał CE umożliwia w prosty sposób łączenie układów pamięci w większe jednostki. W takim przypadku system wymaga dodatkowych obwodów logicznych lub układów zwanych sterownikami/kontrolerami pamięci (ang. memory controler). W stanie niskim CE układ pamięci zostaje uaktywniony i reaguje na sygnały sterujące wg swojej specyfikacji.

  • OE (ang. Output Enable) - podłącza w stanie niskim wewnętrzną magistralę danych do linii Dm ... D0. Sygnał OE wykorzystuje się przy odczycie zawartości pamięci.

  • WE (ang. Write Enable) - powoduje, iż informacja z magistrali danych zostanie umieszczona w zaadresowanej komórce pamięci.


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.

 



List do administratora Serwisu Edukacyjnego Nauczycieli I LO

Twój email: (jeśli chcesz otrzymać odpowiedź)
Temat:
Uwaga: ← tutaj wpisz wyraz  ilo , inaczej list zostanie zignorowany

Poniżej wpisz swoje uwagi lub pytania dotyczące tego rozdziału (max. 2048 znaków).

Liczba znaków do wykorzystania: 2048

 

W związku z dużą liczbą listów do naszego serwisu edukacyjnego nie będziemy udzielać odpowiedzi na prośby rozwiązywania zadań, pisania programów zaliczeniowych, przesyłania materiałów czy też tłumaczenia zagadnień szeroko opisywanych w podręcznikach.



   I Liceum Ogólnokształcące   
im. Kazimierza Brodzińskiego
w Tarnowie

©2017 mgr Jerzy Wałaszek

Dokument ten rozpowszechniany jest zgodnie z zasadami licencji
GNU Free Documentation License.