Pamieci RAM id 348388 Nieznany

background image

Pamięci RAM


Pamięci – wstęp

Pamięci są układami logicznymi wykorzystywanymi do przechowywania, wydawania i

przyjmowania zakodowanych danych informacyjnych. Podstawowym typem pamięci,
powszechnie dzisiaj wykorzystywanym jest pamięć półprzewodnikowa. Przekazywana
informacja jest zapisywana w postaci binarnej, jest to więc ciąg zer i jedynek. Każdy z
podstawowych elementów danej nazywany jest bitem, gdy połączymy ze sobą 8 bitów
dostaniemy jeden bajt, natomiast 16 bitowy element nazywany jest słowem. Podstawowymi
parametrami opisującymi każdy typ pamięci są:

Szybkość

Pojemność

Pobór mocy

Koszt

Pojemność każdej pamięci, to ilość informacji którą dana pamięć jest w stanie przechować.
Mierzy się ją zazwyczaj w bitach, bajtach i słowach. Wyrażana jest w kilobitach - kb,
megabitach - Mb, gigabitach - GB, oraz analogicznie w kilobajtach - kB, megabajtach MB i w
gigabajtach GB. Obecnie ilość pamięci mierzy się już tylko korzystając z miar megabajtów
oraz gigabajtów. Pojemność pamięci jest zatem określana liczbą słów i długością słowa.
Liczbę słów podaje się za pomocą odpowiednich przedrostków, którym odpowiadają
określone mnożniki.
Zależności pomiędzy jednostkami pojemności:

1 KB pojemności odpowiada liczbie 1024 bajtów

1 MB pojemności odpowiada liczbie 1024 * 1024 bajtów

1 GB pojemności odpowiada liczbie 1024 * 1024 * 1024 bajtów

Szybkość jest parametrem określającym jak często procesor, lub inne urządzenie
wykorzystujące pamięć mogą z niej korzystać. Szybkość pamięci jest określana kilkoma
precyzyjnymi parametrami:

Czasem dostępu - access time. Jest to czas upływający od momentu w którym
wysyłane jest żądanie dostępu do pamięci do czasu w którym informacja zwrotna
ukaże się na jej wyjściu. Czas dostępu szybkich pamięci operacyjnych waha się w
granicach od 20 do 200 ns.

Czasem cyklu - cycle time. Jest to czas najkrótszy, który upływa między dwoma
kolejnymi żądaniami dostępu do pamięci. Czas ten jest zawsze dłuższy od czasu
dostępu, co wynika z fizycznej budowy pamięci, chodzi tu głównie o opóźnienia
wnoszone przez wszystkie elementy elektroniczne.

Szybkością transmisji - transfer speed. Szybkość transmisji mierzymy liczbą bitów,
bądź bajtów, którą jesteśmy w stanie przesłać pomiędzy urządzeniem, a pamięcią. Ten
parametr jest bardzo ważny w pamięciach, adresowanych ilością bitów większą od
słowa, na przykład pamięci na dyskach magnetycznych. Ze względu na konieczność
odczytu i zapisu bloku słów, mniej istotny staje się czas dostępu, natomiast ważniejszy
jest czas w którym porcja danych może zostać przesłana. Szybkość transmisji
mierzymy w bajtach lub bitach na sekundę.

Każda nowo wprowadzana technologia pozwala zmniejszyć koszt produkcji pamięci oraz
ulepszyć zarazem jej parametry. Dlatego nowe pamięci dosyć szybko się starzeją, naturalnie
pod względem technologicznym. Bardzo często czas użytkowania danego typu pamięci na
przykład w komputerach klasy PC wynosi zaledwie kilka lat, później należy zaopatrzyć się w
nowsze rozwiązania. Los taki spotkał popularne w latach sześćdziesiątych ubiegłego wieku

background image

ferrytowe pamięci rdzeniowe, które obecnie można spotkać już chyba tylko w muzeum. Na
dzień dzisiejszy najniższym kosztem, a także dobrymi parametrami charakteryzują się
pamięci półprzewodnikowe. Istnieje ich ogromne zróżnicowanie ze względu na pojemność,
szybkość działania oraz oczywiście cenę. Tanie pamięci półprzewodnikowe oparte na
układach scalonych cechują się niewielką szybkością działania. Szybkie pamięci mają
zazwyczaj mniejsze pojemności przy dosyć dużej cenie. Z tych powodów szuka się ciągle
nowych rozwiązań architektury komputerów, które pozwoliłyby na optymalną ich współpracę
z posiadanymi na pokładzie pamięciami. Pewnym rozwiązaniem pamięci operacyjnych jest
stosowanie dwóch rodzajów pamięci półprzewodnikowych, pamięci bardzo szybkich o
małych pojemnościach, oraz pamięci wolniejszych o dużych pojemnościach, które nie są zbyt
często czytane przez procesor. Dzięki temu będziemy posiadali pamięć operacyjną o dużej
pojemności, a także o szybkim działaniu w przypadku procesów krytycznych do poprawnego
działania systemu operacyjnego. Bardzo szybka pamięć o małej pojemności, która
współpracuje z pamięcią operacyjną jest nazywana pamięcią typu Cache.

Również pobór mocy stanowi bardzo ważny parametr, który staje się problemem przy

budowaniu urządzeń zasilanych bateryjnie, jak komputery kieszonkowe, laptopy. Również
urządzenia wyposażone w pamięci operacyjne o bardzo dużych pojemnościach. Istnieje wtedy
problem z połączeniem wielkiej liczby układów scalonych oraz z odpowiednim
odprowadzeniem wydzielanego ciepła.

Pamięć zbudowana jest z rejestrów komórek pamięci, w których zapamiętane są słowa

jednobitowe, czterobitowe lub bajtowe. W każdej komórce odpowiada jej adres, czyli numer
zapisany w postaci dwójkowej, który oznacza położenie tej informacji w pamięci. Chcąc
dokonać operacji odczytu lub zapisu na pamięci należy podać na wejścia adresowe tej
pamięci odpowiedni numer komórki którą chcemy modyfikować lub odczytać, a na wejścia
sterujące odpowiednią daną, w przypadku zapisu. Chcąc zaadresować 2

n

komórek pamięci

należy użyć n wejść adresowych. Przykładowo do zaadresowania pamięci o pojemności
64KB, czyli 65536 bajtów, należy użyć 16 wejść adresowych. Jak wiadomo informacje są
zapisywane w pamięci w postaci binarnej, dlatego najwygodniej jest używać liczb zapisanych
w postaci szesnastkowej, zwanej też heksadecymalną.
Pamięci posiadają następujące piny wejścia/wyjścia:

Wejścia adresowe oznaczane A0….An, gdzie n - liczba wyprowadzeń potrzebna do
zaadresowania 2

n

komórek pamięci.

Wejścia/wyjścia informacji - danych D0.…Dm, gdzie m jest długością słowa
zapisywanego pod jedną komórką pamięci.

Wejścia sterujące, które służą do wyboru funkcji jaką pamięć ma wykonać. Są to
wejścia WE - Write Enable, CS - Chip Selekt, CE - Clock Enable oraz OE - Output
Enable.

Wejścia strobu adresu: ALE - Adress Latch Enable, RAS - Row Adress Select, CAS -
Column Adress Select.

Pamięci dynamiczne o swobodnym czasie dostępu - RAM

W dzisiejszych czasach pamięć RAM realizowana jest sprzętowo, w postaci układów

scalonych, które występują w różnych technologiach, także jako fragmenty znacznie bardziej
złożonych układów scalonych, na przykład pamięć podręczna procesora. Pamięci RAM z
jakimi mamy najczęściej do czynienia znajdują swe największe zastosowanie w komputerach
osobistych.

Pamięć RAM jest wykorzystywana do operacji ciągłego zapisu danych w postaci bajtu

lub słowa, do tymczasowego zapamiętywania oraz odczytu informacji. Znając podstawy teorii
automatów wiadomo, że każda czynność zapamiętywania pociąga za sobą stosowanie
odpowiednich układów sekwencyjnych, w których informacje tego typu mogą być

background image

zapisywane, bądź odczytywane zgodnie z określoną kolejnością. Dostęp do danej komórki
pamięci zależy od miejsca w którym się ona znajduje oraz czasu, który mija przed
rozpoczęciem operacji zapisu lub odczytu.

Podział pamięci RAM

Rozróżniamy dwa podstawowe rodzaje pamięci RAM:

Pamięci statyczne - SRAM. Elementem pamiętającym w tego typu pamięci jest
bistabilny przerzutnik asynchroniczny typu RS. Komórki wykonywane były dawniej
w technologii bipolarnej, obecnie stosuje się specjalne układy MOS. Informacja w
tych pamięciach jest utrzymywana dopóty, dopóki nie zostanie zastąpiona inną lub
napięcie zasilające nie zostanie odłączone.

Pamięci dynamiczne - DRAM. Elementem pamiętającym w tego typu pamięciach są
pojemności wejściowe tranzystorów typu MOS, które gromadzą ładunek, lub go
odprowadzają. Istnieje konieczność odświeżania tego typu pamięci w celu
uzupełniania ładunku, który dosyć szybko zanika. Do poprawnej pracy tej pamięci nie
wystarczy więc tylko podłączenie go do zasilania, w przypadku braku częstych cykli
zapisu lub odczytu, zawartość komórki zostałaby stracona.

Pamięci DRAM możemy dodatkowo podzielić na kilka podtypów, w zależności od
implementacji na:

EDO DRAM - Extended Data Out DRAM

FPM DRAM - Fast Page Mode DRAM

SDRAM - Synchroneus DRAM

DDR

GDDR

W pamięciach RAM poszczególne komórki są ułożone w wybierane liniami adresu
wejściowego słowa. Dla łatwiejszego wyobrażenia sobie struktury pamięci, przedstawmy ją
jako dwuwymiarową matrycę, która składa się z n słów zawierających m bitów, dodatkowo
podzieloną na obszary robocze zwane strefami.
Dekodery wejścia oraz wyjścia kooperują z równoległymi rejestrami pamiętającymi
przychodzące dane, ponieważ operacja odczytu i zapisu do pamięci trwa zwykle przez sporą
ilość cykli zegarowych. Zawartości linii adresowej i danych mogą się w tym momencie
zmienić, dzięki użyciu rejestrów o odpowiednich długościach, żadna z informacji nie jest
tracona.
Zależnie od stanu logicznego na wejściu R/W komórki pamięciowe przyjmują informację z
rejestru danych, następuje wtedy cykl zapisu pamięci, albo wyprowadzają na rejestr danych
zawartość komórki pamięci, w cyklu odczytu. Rejestr przekazuje dalej informację lub ją
odbiera z szyny danych, stanowi on zatem bufor dwukierunkowy.

background image

Charakterystyka pamięci DRAM

Informacje przechowywane są w pamięci DRAM, pod postacią ładunku

zgromadzonego przez kondensator Cs. Na skutek rozładowania kondensatora, ustala na nim
napięcie odpowiadające logicznemu zeru, natomiast poprzez proces ładowania, ustalone
napięcie odpowiada jedynce logicznej.

Organizując adres jak na rysunku, komórka posiada wejście adresowe W dla wierszy,

oraz pojedynczą linię danych wspólną dla komórek o adresie określanym przez kolumnę B.
Wspólny dla kolumny adresowej B jest wzmacniacz odczytu. Po wybraniu komórki, na
wejściach adresowych B oraz W ustala się stan wysoki, a pojemność Cs jest dołączana do
linii danych. Podczas zapisu doprowadzane jest do niej napięcie ze wzmacniacza zapisu, które
odpowiada logicznej jedynce lub zeru. Po fazie odczytu ładunek znajdujący się w pojemności
Cs stopniowo ładuje dużo większą pojemność Cb, na którą składa się dodatkowo pojemność
drenu, dlatego napięcie odczytu powinno być dużo wyższe od napięcia na kondensatorze Cs.
Odczyt powinien być wzmacniany dobrym układem uzupełnionym o elementy odświeżające
pamięć, które będą odświeżały poszczególne kolumny niezależnie od wykonywanego cyklu.
Innym rozwiązaniem jest zastosowanie wielotranzystorowych komórek pamięciowych z dużo
prostszym układem odświeżania oraz prostym wzmacniaczem odczytu/zapisu.

Typowa struktura pamięci dynamicznej, posiadającej pojemność 64 kilobitów,

przedstawia się jako matryca zbudowana z 256 wierszy oraz 256 kolumn. Aby zmniejszyć
liczbę wyprowadzeń pamięci dynamicznej oraz ułatwić jej odświeżanie, należy
multipleksować wejścia adresowe. Adresowanie pamięci polega na podaniu ośmiu
ważniejszych bitów adresu, co stanowi adres wiersza, następnie podawane są wartości ośmiu
młodszych bitów, stanowiących adres kolumny. Adres wiersza wpisywany jest do rejestru
wiersza przy opadającym zboczu sygnału ~RAS. Następnie dekoder adresu, którym jest
zwykły multiplekser wybiera odpowiadający żądanemu adresowi wiersz. Podobnie adres
kolumny wpisywany jest z wejść do rejestru kolumny po stwierdzeniu opadającego zbocza
sygnału CAS. Demultiplekser wybiera odpowiednią kolumnę o żądanym adresie. Wybranie
wiersza oraz kolumny w matrycy pamięciowej odpowiada wskazaniu jednej konkretnej
komórki pamięci, przy zaoszczędzeniu połowy wyprowadzeń. Jeżeli podczas operacji
wskazania adresu, na pinie WE był stan logicznego 0, to zawartość komórki przesyłana jest
na wyjście układu, ma wtedy miejsce operacja odczytu. Gdy WE = 1 następuje zapis
wejściowej informacji do komórki o podanym adresie.

background image

Charakterystyka pamięci SRAM

Podstawowym elementem pamiętającym pamięci statycznych RAM jest bistabilny,

który tworzą tranzystory T1, T2 oraz dwa rezystory. Pozostałe rezystory widoczne na rysunku
stanowią klucze przełączające oraz odłączające przerzutnik bistabilny od linii bitów. Gdy
komórka pamięci jest odczytywana lub zapisywana tranzystory te stanowią zwarcie, dzięki
temu przerzutnik bistabilny jest przyłączany do linii bitu, którą łączymy z
wejściem/wyjściem. Również w tym wypadku komórki pamięci tworzą wspólnie matrycę
zbudowaną z linii wierszy oraz kolumn. To, gdzie dana komórka jest położona wewnątrz
matrycy, jednoznacznie określa adres powstały z połączenia numeru wiersza oraz kolumny
Pamięć statyczna RAM posiada trzy wejścia sterujące, są to:

Uaktywnienie pamięci

Zezwolenie na zapis

Zezwolenie na odczyt

Jeżeli wejście ~CS jest w stanie logicznym 1 to pamięć nie jest dostępna i jej wszystkie

wejścia oraz wyjścia znajdują się w stanie wysokiej impedancji, czyli są odłączone. Wraz ze
zmianą wartości wejścia ~CS na logiczne 0 pamięć jest aktywowana. Jeżeli w tym czasie WE
jest w stanie logicznego 0, to jest wykonywana operacja odczytu danych z komórki określonej
przy pomocy wejść adresowych. Jeżeli WE jest w stanie logicznej jedynki, układ zapisze
wystawione na szynie dane do komórki pamięci znajdującej się pod wskazanym adresem.

Przykładowa pamięć SRAM zbudowana jest z ośmiu matryc, każda po 128 wierszy i

kolumn. Aby poprawnie zaadresować tego typu pamięć należy użyć 14 wejść adresowych.
Bity bardziej znaczące A0…A6 podawane są na wejścia demultipleksera, który wybiera jeden
spośród 128 wierszy. Mniej znaczące bity A7…A13 podawane są na wejścia drugiego
demultipleksera, który wybiera jedną spośród 128 kolumn. Tym sposobem wybranych zostało
dokładnie 8 komórek pamięci, każda przechowująca jeden bit informacji. Możliwy więc jest
zapis lub odczyt słowa jedno - bajtowego. Można spotkać wiele różnych rozwiązań
adresowania, odczytywania i zapisywania pamięci RAM. Pamięci aktualnie stosowane,
charakteryzujące się dużymi pojemnościami są organizowane do opisanego adresowania
matrycowego, czyli najpierw na liniach adresowych podaje się numer wiersza a potem
kolumny. W ten sposób wymagana ilość połączeń zmniejsza nam się o połowę, co bardzo
upraszcza cały układ.

background image

Pamięci SRAM są szybsze od pamięci DRAM, najczęściej stosuje się jednak te drugie,

głównie ze względu na znacznie niższą cenę. Pojedyncza komórka pamięci SRAM zawiera aż
czterokrotnie więcej tranzystorów od analogicznej pamięci DRAM, w związku z tym posiada
czterokrotnie większe zapotrzebowanie na moc, wzrasta również drastycznie stopień
skomplikowania układu scalonego oraz jego wielkość. Pamięci o dużych rozmiarach są
realizowane w zasadzie wyłącznie jako dynamiczne. Tranzystory MOS, które
wykorzystywane są w tego typu układach zapewniają bardzo wysokie rezystancje wejściowe
oraz wyjściowe, utrzymują ładunek przez względnie długi czas, a ponadto pobierają
wielokrotnie mniej mocy od ich bipolarnych odpowiedników. Ze względu na upływność
ładunku zgromadzonego w kondensatorze Cs w czasie liczonym w ms, należy zadbać o
cykliczne odświeżanie tych pamięci z częstotliwością co najmniej kilkuset herców.


Wyszukiwarka

Podobne podstrony:
6 Pamieci ROM RAM id 43808 Nieznany
pamieci 12 id 348557 Nieznany
pamiec komputera id 348541 Nieznany
Pamiec wewnetrzna id 348371 Nieznany
pamieci 12 id 348557 Nieznany
pamiec komputera id 348541 Nieznany
Glowny system pamieciowy GSP id Nieznany
pamiec id 348519 Nieznany
pamiec 4 id 348531 Nieznany
Pamieci id 348555 Nieznany
alokacja pamieci id 58435 Nieznany (2)
CZAS W PAMIECI EPIZODYCZNEJ id Nieznany
Abolicja podatkowa id 50334 Nieznany (2)
4 LIDER MENEDZER id 37733 Nieznany (2)
katechezy MB id 233498 Nieznany
metro sciaga id 296943 Nieznany
perf id 354744 Nieznany
interbase id 92028 Nieznany
Mbaku id 289860 Nieznany

więcej podobnych podstron