Serwis Edukacyjny w I-LO w Tarnowie Materiały dla uczniów liceum |
Wyjście Spis treści Wstecz Dalej Autor artykułu: mgr Jerzy Wałaszek |
©2024 mgr Jerzy Wałaszek |
SPIS TREŚCI |
Pojęcie bitu
|
Podrozdziały |
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).
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:
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.
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ą.
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.
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 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.
Typowy układ scalony statycznej pamięci RAM posiada następujące wyprowadzenia:
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.
Zespół Przedmiotowy Chemii-Fizyki-Informatyki w I Liceum Ogólnokształcącym im. Kazimierza Brodzińskiego w Tarnowie ul. Piłsudskiego 4 ©2024 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:
Serwis wykorzystuje pliki cookies. Jeśli nie chcesz ich otrzymywać, zablokuj je w swojej przeglądarce.
Informacje dodatkowe.