Bp Właściwości pamięci w SK | ||
Złożone zagadnienia pamięci komputerowych można opanować łatwiej, | ||
jeśli podzieli się systemy pamięciowe według ich podstawowych | ||
własności. | ||
* ł |
* | |
ł |
£ |
0 sekwencyjny |
4 procesor |
• bezpośredni | |
4 wewnętrzna (giówna) |
4 swobodny | |
ę zewnętrzna (pomocnicza) |
4 skojarzeniowy | |
i |
* ł | |
4 rozmiar słowa |
• półprzewodnikowa | |
• magnetyczna | ||
* |
f- | |
4 Słowo |
4 uiotna/nieuiotna | |
X biok |
• wymazywalna/niewymazywalna | |
i |
(■ |
Program wykładu
• Właściwości pamięci w systemach komputerowych
- Położenie i pojemność pamięci
- Jednostka transferu pamięci
- Dostęp do pamięci
• Miara wydajności
• Hierarchia pamięci - przesłanki
• Pamięci półprzewodnikowe
- Typy pamięci półprzewodnikowych
- Mikroukłady pamięci
- Organizacja modułu pamięci
• Korekcja błędów
- Kody korekcyjne
- Kod Hamminga
- Konstruowanie kodu
- Długość słowa o korekcja
- KodySEC-DEC
Położenie i pojemność pamięci
W każdym systemie komputerowym istnieją pamięci zarówno wewnętrzne, iak i zewnętrzne w stosunku do komputera.
jest często identyfikowana z . Są
jednak inne formy pamięci wewnętrznej. Przykładowo procesor wymaga własnej pamięci iokainej w postaci . Ponadto, jednostka
sterująca procesora może również potrzebować wiasnej pamięci wewnętrznej.
.jk. składa się z ,
takich jak pamięci dyskowe i taśmowe, które są dostępne dia procesora poprzez sterowniki wejścia-wyjścia.
^ Oczywistą własnością pamięci jest jej . W przypadku pamięci
wewnętrznej jest ona zwykie wyrażana w bajtach (i bajt = 8 bitów) iub w słowach. Powszechnymi długościami słów są: 8, 16 i 32 bity. Pojemność pamięci zewnętrznej jest zwykie wyrażana w bajtach.
Parametrem związanym z pojemnością jest (ang. transfer
unit). W przypadku pamięci wewnętrznej jednostka transferu jest
doprowadzonych do moduiu pamięci i wychodzących z niego. Jest ona często równa długości słowa.
t Słowo. „Maturaina" jednostka organizacji pamięci. Zwykle rozmiar słowa jest równy iiczbie bitów wykorzystywanych do reprezentowania iiczby iub długości rozkazu.
■J Jednostka adresowalna. W wieiu systemach jednostką adresowalną jest . Jednak niektóre systemy umożliwiają adresowanie na poziomie bajtów. W każdym przypadku zaieżność między długością adresu A a iiczbą adresowalnych jednostek N jest następująca:
2A = N.
i t Jednostka transferu. W przypadku pamięci głównej jest to liczba bitów jednocześnie odczytywanych z pamięci iub do niej zapisywanych.
. W przypadku pamięci zewnętrznej dane są często przekazywane w jednostkach o wiele większych niż słowo, określanych jako bloki.
Dostęp do pamięci - cz.ll
Dostęp sekwencyjny. Pamięć jest zorganizowana za pomocą jednostek danych zwanych rekordami.
. Do oddzieiania rekordów i do pomocy przy odczycie są wykorzystywane przechowywane informacje adresowe. Odczyt i zapis są wykonywane za pomocą tego samego mechanizmu, przy czym proces ten musi się przenosić z pozycji bieżącej do pozycji pożądanej, przepuszczając i odrzucając każdy rekord pośredni. W rezuitacie czas dostępu do różnych rekordów może się bardzo różnić, (np. pamięd taśmowe)
Dostęp cykliczny bezpośredni. Podobnie jak w przypadku dostępu sekwencyjnego, proces odczytu i zapisu w pamięciach o dostępie bezpośrednim jest reaiizowany za pomocą tego samego mechanizmu. Jednak poszczególne bioki lub rekordy mają unikatowy adres oparty na iokacji fizycznej. Dostęp jest reaiizowany przez bezpośredni dostęp do najbliższego otoczenia, po którym następuje sekwencyjne poszukiwanie, liczenie iub oczekiwanie w ceiu osiągnięcia iokacji finainej. Jak poprzednio czas dostępu jest zmienny, (np. pamięci dyskowe)
Dostęp do pamięci - cz.lll
Dostęp swobodny. Każda adresowalna lokacja w pamięci ma unikatowy, fizycznie wbudowany mechanizm adresowania.
dostępu i jest staiy. Dzięki temu dowoina lokacja może być wybierana swobodnie i jest adresowana i dostępna bezpośrednio, (np. pamięć główna)
Dostęp skojarzeniowy. Jest to rodzaj dostępu swobodnego, który umożiiwia porównywanie i specyficzne badanie zgodności wybranych bitów wewnątrz słowa, przy czym jest to czynione
. Tak więc słowo jest wyprowadzane raczej części swojej niż na podstawie adresu.
Podobnie jak w przypadku zwykłych pamięci o dostępie swobodnym, każda iokacja ma wiasny mechanizm adresowania, a czas dostępu jest stały i niezaieżny od poprzednich operacji dostępu, (np. pamięć podręczna)
Pamięć o dostępie swobodnym (RAM)
Miara wydajności - cz.l
Istnieją trzy podstawowe parametry będące miara wydajności:
Czas dostępu.
(i W przypadku jest to czas
odczytu lub zapisu, to znaczy czas od chwiii doprowadzenia adresu do chwiii zmagazynowania lub udostępnienia danych.
< I W przypadku czas dostępu jest
czasem potrzebnym na odczytu-zapisu
w pożądanym miejscu.
Ai,i¥T~X X
_/ZZ
_Z
FI> \
______
DANE
czat iln>.tc|in tzii? piztnzMwii
Pamięć o dostępie stosowym (STACK)
i
Wskaźnik stosu
— DANA#9">
Dana m ->
Przygotowanie Wpis Odczyt
do wpisu
Miara wydajności - cz.ll
Czas cvkiu pamięci. Pojęcie to było pierwotnie stosowane do pamięci o dostępie swobodnym. Czas cyklu składa się z czasu dostępu oraz z dodatkowego czasu, który musi upłynąć, zanim będzie mógi nastąpić kolejny dostęp. Ten dodatkowy czas może być potrzebny dia zaniku sygnałów przejściowych iub do regeneracji danych, jeśii odczyt jest niszczący.
____ cykhi
™iT~X ~X~
1,11 \__
<* . \ /
DANE
-C
LZiis dugte|n
tza>* pizetizy mai
i t Szybkość przesyłania (transferu 1. Jest to szybkość, z jaką dane mogą być wprowadzane do jednostki pamięci iub z niej wyprowadzane.
W przypadku pamięci o dostępie swobodnym jest ona równa:
W przypadku pamięci o dostępie nieswobodnym zachodzi następująca zaieżność:
N_
R
tn=ta +
- średni czas odczytu iub zapisu W bitów,
Ta - średni czas dostępu,
ÓMiczba bitów,
R - szybkość transferu w bitach na sekundę [bit/s].
Pamięci półprzewodnikowe
PÓŁPRZEWODNIKOWE PAMIĘCI O DOSTĘPIE SWOBODNYM
|-1 RAM |-1 I ' RWM | | ROM | | |
_| SRAM | |
_[' MROM I |
Lj I RAM | |
J PROM |
_| ITROM | Lj EEPROM | |
Hierarchia pamięci - przesłanki
t Ograniczenia przy projektowaniu pamięci komputera mogą być podsumowane za pomocą trzech pytań: Ile? Jak szybko? Za ile?
Istnieją wzajemne zależności między podstawowymi parametrami pamięci, to znaczy między kosztem, pojemnością i czasem dostępu.
< • większa pojemność - mniejszy koszt na bit,
* > większa pojemność - większy czas dostępu.
< • mniejszy czas dostępu - większy koszt na bit,
0,25-1 ns, 1-4kB, duża moc
' Punśęć p(
lwi*™- 10-50ns. 256MB-4GB, mała
Dyikow* podręczna N.
Picntęć dyskowa
1-1 Oms, 20-120GB
>1TB
Pamięć taśmowa
Dysk optyczny
Pamięci półprzewpdnikowe
Rodzaj pamięci |
Kategoria |
Wymazywanie |
Sposób zapisu |
Ulotność |
Pamięć czytaj-pisz (RWM) |
odczyt-zapis |
elektryczne, na poziomie bajta |
elektryczny |
ulotna |
Pamięć stała (ROM) |
maski | |||
Programował na pamięć stała (PROM) |
tylko odczyt |
niemożliwe | ||
Wymazywania PROM (EPROM) |
światłem UV. na poziomie mikroukładu |
nleulolne | ||
Pamięć błyskawiczna |
głównie odczyt |
Elektryczne na poziomie bloku |
elektryczny | |
Eiektrycznie wymazywalna PROM (EEPROM) |
elektryczne, na poziomie bajta |
Pamięć dynamiczna
;_czas cvthi_; |
._czas cykhi__ |
ADRES X X |
ADRES X X |
*B m ,^7 |
™ /(//// |
=»'-- | |
rANE ■ , |
I1AOT__________________-....... |
; ! V„ . czdtLdtifil^pti czas przetizyinai odczyt z pamięci |
czas ustalania 1 czas przetrzymania zapis do pamięci _ |
Organizacja i obsługa statycznej pamięci RAM
odczyt - jeden cyki pamięci: stabilny adres & transfer danych zapis - jeden cyki pamięci: stabiiny adres & transfer danych
Pamięć dynamiczna
♦ Odświeżanie pamięci DRAM
• Odświeżanie sygnałem RAS
Podawanie kolejnych adresów wiersz}' i w odpowiednim momencie stanu niskiego RAS. CAS pozostaje w stanie wysokim (wyjście pamięci w stanie wysokiej impeóL).
• Odświeżanie ukryte (wewn. licznik odświeżania pamięci)
Po operacji odczytu RAS ponownie zmienia stan na niski, CAS pozostaje w stanie niskim (jak dla odczytu). Odświeżany jest wiersz wskazywany przez wewn. licznik.
• Odświeżanie w trybie CAS przed RAS (wewn. licznik odświeżania pamięci) Cyki odświeżania rozpoczyna się, gdy CAS osiągnie stan niski odpowiednio wcześniej przed RAS i utrzyma ten stan odpowiednio długo. Zewnętrzny adres jest ignorowany, adres odświeżanego wiersza określa wewn. licznik. Wyjście pamięci jest w stanie wysokiej impedancji
• Odświeżanie automatyczne (wewn. ukiad odświeżania)
Pamięci takie mają wyprowadzenie REF. Po każdym podaniu stanu niskiego na REF - odświeżanie kolejnego wiersza.
Architektury pamięci
RAS
CAS
ADR
DATA
FPM
RAS
-CAS
ADR
DATA -i
RAS
CAS
ADR . «. i r-
LAATA FW •
RAS
CAS
ADR
DATA »*« « i *»-
- Fast Page Modę, dostęp do kolejnych 4-ech komórek (tryb półbajtowy) - adr wiersza bez zmiany, zmiany adresów kolumn.
- Extended Data Out Memory, utrzymanie danej po zaniku adresu = możliwość adresowania kolejnej lokacji przed zakończeniem poprzedniego transferu
- Burst Extended Data Out Memory - zwłaszcza transfery blokowe, adres wiersza i kolumny tylko na początku bloku
Architektury pamięci
(synchronous DRAM) - synchronizacja wejścia i wyjścia, zwykle 4-banki pamięci, 25% szybsza od EDO, zwykle burst-mode; adresy na początku bloku, pozostałe -> domniemane (możliwość opuszczania elementów - DQM)
(double-data ratę SDRAM), SDRAM II - szybsza wersja SDRAM umożliwiająca odczyt danych na obu zboczach CLK
® (Rambus™ DRAM) - zwiększona przepustowość wewnętrzna
(Syndink DRAM) - 16 banków pamięci, nowy interface i logika sterująca
5 DRAM
TKIS 664414 (64 Mb)
• Multipieksowane ilnle adresów wierszy i kolumn.
• Oddzielne iinie do adresowania banków (zwykle dołączane jako
*12*13)
Architektury pamięci
ClfCASL*r-
1 2 A
I 1 I
•Czytanie z SDRAM
■Vj i v»P l
\ Iw. t M n [ H IUi 1
Rozkaz |
-ca |
-RAS |
~CAS - |
CA 5 |
| | |
Minie Register Sol |
0 |
0 |
C) 0 |
V i | ||
Bunk Preeharjji: |
0 |
0 |
1 0 |
IW* |
^ 4 | |
WE | ||||||
Row Addrcs* tntry |
0 |
0 |
1 1 |
CS | ||
Coluinn Adiirew fcniry Hejil |
0 |
1 |
0 1 |
HSl BSO (A13. Al 2) ADR |
* AĆA1* r.Rc*) |
T SI”' • etui |
CUCAS rnc->-a
Ir# n
IMUnfiJ
ł tu.
Architektura SDRAM
•Programowanie układu •Aktywacja/deaktywacja banków (wymagana przed podaniem nowego adresu wiersza)
Rożku |
-CS |
-RAS |
~CAS -WE |
BS1 BSO (A13j (A12J |
AU |
A10 |
A9 - AO |
Mule Register Scl |
0 |
[) |
1) (1 |
0 0 |
0 |
0 |
Register Sd Dulu w-0-0-13-12-1 l-a-bł-b2-bl |
Bunk Prccharge |
0 |
0 |
1 0 |
Numer banku 00- BO 01 BI 10 b; 11 83 |
Bez znacz. |
0 |
bez zn uczeniu |
Row Adiirc*i Eniry |
0 |
0 |
t 1 |
Numer banku (Ml BO 01: BI 10. B2 11 B3 |
r-ll |
r-M |
r^-r8-i7-r6-r5-r4-r> r2-?l-K) |
Colunw Addrets Enlry Kead |
0 |
1 |
0 1 |
Numer bunku 00: BO Ol BI III- B2 IIB3 |
Bez znacz |
0 |
cO-c8-e7-t6-eS-c4- cVc2-cl-cO |
I
Architektury pamięci
A cnitektur» D-DRAM
CLK ' |
j 1 i' ) i | f ł ‘ n i '! ! 1 |
CLK i |
i 1 « •' 1 1 t ł i W J l: |
CMOS ADR |
łft.nt • Wh!r 1 |
IXfo |
[ ! '. MM |
W. ♦ T ł f *J t, * | |
DO |
ij' £ '1 'J- ;« I; •: 2 |
0,2
•Operacje na narastającym i opadającym zboczu zegara •2 sygnały zegarowe
•Dwukierunkowy sygnał DOS (przy czytaniu sterowanie z modułu pamięci, faza CLK; przy wpisie sterowanie z zewnątrz, faza ~CLK
0
liMTUKOsM*
• Odrębny standard magistrali -kanał
• 2 kanały po 16 bitów
• Łańcuchowe połączenie modułów (zwory)
• Struktura wewnętrzna pamięci - 32 banki x 128 bitów (taktowanie wew. 100 NI Hz -> 1.6GBps)
• Na styku z magistralą - multipleksery dopasowują do szerokości 16bitów (400 MHz x 16b -> 1.6GBps)
Organizacja modułu pamięci
om
FW^JGCrnłF-
PAfcOUSCHW*!
f.jri1 t».»-tai t£Wj»rt.
Jeśii mikroukład RAM zawiera tyiko i bit na słowo, potrzeba przynajmniej iiczby mikroukładów równej iiczbie bitów w siowie. Na rysunku jest pokazane przykładowo, jak może być zorganizowany moduł pamięci zawierający 256 K słów 8-bitowych. W przypadku 256 K słów wymagany jest adres 18-bitowy; jest on dostarczany do modułu z pewnego źródia zewnętrznego (np. z linii adresowych magistraii, do której moduł jest dołączony). Adres jest doprowadzany do 8 mikroukładów 256 K x i, z których każdy umożiiwia wejśde/wyjście i bitu.
Organizacja modułu 1M
Na rysunku jest pokazana możliwa organizacja pamięci składającej się z I M siów 8-bitowych. W tym przypadku występują 4 kolumny mikroukładów; każda kolumna zawiera 256 K słów uporządkowanych w sposób pokazany na poprzedniej foiii. W przypadku i M siów wymaganych jest 20 iinii adresowych. Osiemnaście najmniej znaczących bitów doprowadza się do wszystkich 32
modułów. Dwa najbardziej znaczące bity są doprowadzone do modułu iogicznego wyboru grupy, który wysyia sygnai Uaktywnienia mikroukładu do jednej z 4 koiumn moduiów.
Jednocześnie mogą być odczytywane iub zapisywane 4 bity. Logicznie rzecz biorąc, zespół pamięci jest zorganizowany w postaci 4 kwadratowych układów 2048 na 2048 elementów. Możiiwe są różne organizacje fizyczne. W każdym przypadku eiementy zespołu są połączone zarówno przez iinie poziome (wiersze), jak i pionowe (koiumny). Każda iinia pozioma jest połączona z
Memory
Address
Pamięć stała
Korekcja błędów
Proces ten ma charakter stochastyczny -
Pe dowolnie bliskie 1, gdy odpowiednio duży nadmiar.
Korekcja błędów
W systemach pamięci półprzewodnikowych występują błędy Można je podzieiić na błędy stałe i przypadkowe.
i I Błąd stały jest permanentnym defektem fizycznym
powodującym, że uszkodzona komórka iub komórki pamięciowe nie są w stanie niezawodnie przechowywać danych, iecz pozostają w stanie 0 iub i, aibo błędnie przeskakują między 0 a 1.
T8łąd przypadkowy jest iosowym i nieniszczącym zjawiskiem, które zmienia zawartość jednej iub wielu komórek pamięciowych, bez uszkadzania samej pamięci.
Zarówno błędy stałe, jak i przypadkowe są oczywiście niepożądane i większość współczesnych systemów pamięci głównych zawiera układy iogiczne wykrywające i korygujące błędy.
Kody korekcyjne
Emir Ni*n d
Gdy dane mają być wczytane do pamięci, przeprowadza się na tych danych obiiczenia, okreśiane jako funkcja/, w ceiu utworzenia kodu do korekty błędów. Zarówno kod, jak i dane są przechowywane. W rezuitacie, jeśli ma być zapisane danych, a , to aktuaina
Gdy uprzednio zmagazynowane słowo jest odczytywane, kod jest wykorzystywany do wykrywania i ewentuainej korekty błędów. Generowany jest nowy zestaw K bitów kodowych z M bitów danych, po czym porównuje się go z pobranymi bitami kodowymi. Porównanie prowadzi do jednego z trzech wyników:
9 Nie wykryto żadnych błędów. Pobrane bity danych są wysyłane.
4 Wykryto błąd, którego korekta jest możiiwa. Bity danych i bity korekty błędu są doprowadzane do układu korektora, który tworzy poprawiony zestaw M bitów przeznaczony do wysłania.
9 Wykryto błąd niemożiiwy do | poprawienia. Stan ten jest zgłaszany.
Kod Hamminga
M=4
• W przypadku trzech krzyżujących się okręgów mamy do czynienia z siedmioma przedziałami.
I
(a).
< I Pozostałe przedziały są wypełniane tzw. bitami parzystości.
(b)
O Jeśii teraz błąd spowoduje zmianę jednego z bitów danych (c), jest on łatwy do wykrycia.
A i C, aie nie w B.
4 Tyiko jeden z 7 przedziałów znajduje się w A i C, aie nie w B. Błąd może więc być poprawiony przez zmianę tego bitu (d).
Kod korekcyjny dla 8 bitów - cz.ll
I
-Jf^Słowo zawierające
gei ruje się syndrom 4-bitowy o następujących własnościach: ^ Jeśii syndrom zawiera
4 Jeśii syndrom zawiera
. Wówczas korekta jest niepotrzebna.
Jeśii syndrom zawiera inwersji tego bitu.
H W celu uzyskania takich własności bity danych i
, Zazwyczaj
Korekta poiega na
bity kontroine są aranżowane w postaci słowa 12-bitowego w sposób pokazany obok. Pozycje bitowe są ponumerowane od 1 do 12.
* - i
12 |
1 1 |
o o |
MS | ||
II |
I 0 |
1 |
I |
M7 | |
10 |
1 0 |
I |
0 |
M6 | |
9 |
1 0 |
0 |
I |
M5 | |
fi |
1 o |
0 |
o |
C8 | |
7 |
0 1 |
1 |
1 |
M4 | |
6 |
0 1 |
1 |
0 |
M3 | |
5 |
0 1 |
0 |
I |
M2 | |
4 |
0 I |
0 |
0 |
C4 | |
3 |
0 0 |
1 |
1 |
Ml | |
2 |
0 0 |
1 |
0 |
C2 | |
1 |
0 0 |
0 |
I |
Cl |
Kod korekcyjny dla 8 bitów - cz.l
Należy opracować kod, który może posłużyć do wykrycia i skorygowania 1-bitowego błędu w słowach 8-bitowych
O Wymagana długość kodu wynika z przedstawionego wcześniej rysunku działania kodu korekcyjnego. Układy iogiczne porównujące otrzymują na wejściu dwie wartości K bitowe. Porównanie bit po bicie jest przeprowadzane przy użyciu bramki LUB wyłączne (exdusive-or = EXOR) o 2 wejściach. Wynik jest okreśiany jako słowo- . Tak więc, każdy
< I Słowo- ma więc K bitów i zakres wartości 2K (pomiędzy 0
a 2* - 1).
zaś 2K - 1 wartości służy do wskazania błędu i jego iokaiizaęji bitowej. Pon ewaz błąd może wystąpić w każdym z M bitów danych i K bitów kontroinych,
2K-\>M + K
Równanie to określa iiczbę bitów wymaganą do skorygowania błędu 1-bitowego w słowie zawierającym M bitów danych.
Konstruowanie kodu - cz.lll
^k. Bity kontroine są obiiczane następująco (symboi ® oznacza operację LUB wykiuczające (EXOR)): , ...
• f J j.
Cl = Ml ® M2 ® M4 ® M5 ® M7 * . j . * *
C2 = Ml ® M3 ® M4 ® M6 ® M7 C4 = M2 ® M3 ® M4 ® M8
C8 = M5 ® M6 ® M7 ® M8
Każdy bit kontrolny działa na każdej pozycji bitu danych, której numer zawiera 1 w odpowiedniej pozycji koiumny. Tak więc pozycje bitowe danych ; pozycje bitowe
; pozycje bitowe , a pozycje bitowe
. Inaczej mówiąc, pozycja bitowa n jest sprawdzana przez
bity C, takie, że
T
£/ = A7
Na przykład pozycja 7 jest sprawdzana przez bity znajdujące się na pozycjach 4, 2 i 1; zachodzi więc 4 + 2 + 1=7.
Kody SEC-DEC
Błąd!!!
Opisany na wcześniejszych foiiach kod jest znany jako kod poprawiania pojedynczego błędu (ang. single-error-correcting -). Najczęściej jednak pamięć półprzewodnikowa jest wyposażana w kod poprawiania pojedynczego i wykrywania podwójnego błędu ( ). W
przytoczonej tabeli, takie kody wymagają jednego dodatko-r bit w porównaniu z kodami SEC.
Na rysunku jest pokazane, jak działa taki kod, znów dia przypadku 4-bitowego słowa danych. Przedstawiona sekwencja ujawnia, że jeśli występują dwa błędy
(c), procedura kontroina jest błędna i pogarsza probiem, tworząc trzeci błąd (e). W celu pokonania tej trudności, dodany jest ósmy bit, taki że całkowita liczba jedynek na wykresie jest parzysta. Dodatkowy bit parzystości umożiiwia wychwycenie błędu (f)>
Liczba bitów danych |
Poprawianie pojedynczego błędu |
Poprawianie pojedynczego błędu, | ||
Bity kontrolne |
% wzrostu |
Bity kontrolne |
% wzrostu | |
8 |
4 |
50 |
5 |
62,5 |
16 |
5 |
31,25 |
6 |
37,5 |
32 |
6 |
1B,75 |
7 |
21,B75 |
64 |
7 |
10,94 |
B |
12,5 |
128 |
8 |
6,25 |
9 |
7,03 |
256 |
9 |
3,52 |
10 |
3,91 |