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.
-J)f- Położenie:
t procesor
wewnętrzna (główna) zewnętrzna (pomocnicza)
Pojemność:
4 rozmiar słowa I liczba słów
JjL Jednostka transferu
a słowo I blok
U
Sposób dostępu 4 sekwencyjny 4 bezpośredni 4 swobodny 4 skojarzeniowy
Rodzaj fizyczny
półprzewodnikowa
magnetyczna
Własności fizyczne 4 ulotna/nieuiotna
• wymazywalna/niewymazywalna
Organizacja
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.
Pamięć wewnętrzna jest często identyfikowana z pamięcią główną. Są jednak Inne formy pamięci wewnętrznej. Przykładowo procesor wymaga własnej pamięci lokalnej w postaci rejestrów. Ponadto, jednostka sterująca procesora może również potrzebować własnej pamięci wewnętrznej.
^ Pamięć zewnętrzna składa się z peryferyjnych urządzeń pamięciowych, 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 pojemność. W przypadku pamięci wewnętrznej jest ona zwykle 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 zwykle wyrażana w bajtach.
Parametrem związanym z pojemnością jest jednostka transferu (ang. transfer unit). W przypadku pamięd wewnętrznej jednostka transferu jest równa liczbie linii danych doprowadzonych do modułu pamięd i wychodzących z niego, jest ona często równa długości słowa.
i £• Słowo. „Naturalna” jednostka organizacji pamięci. Zwykle rozmiar słowa jest równy liczbie bitów wykorzystywanych do reprezentowania liczby iub długości rozkazu.
"3 £ Jednostka adresowalna. W wielu systemach jednostką adresowalną jest słowo. Jednak niektóre systemy umożliwiają adresowanie na poziomie bajtów. W każdym przypadku zależność między długością adresu A a liczbą adresowalnych jednostek N jest następująca:
2* = N.
Jednostka transferu. W przypadku pamięci głównej jest to liczba bitów jednocześnie odczytywanych z pamięd iub do niej zapisywanych. Jednostka transferu nie musi być równa słowu lub jednostce adresowalnej. 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
| ™ JJ dane a.123sV_ C== rej. danych \\ 1236 J [ 1237 1238 i z r. adrei | liczni^ \ ^ ^ADRES 1 H |
/ ™ i/™ ^ 1. ( s DANE 71 i Ir. adres. 1^1 totki rr ADRES |
pamięć o dostępie sekwencyjnym SAM |
pamięć o dostępie cyklicznym CAM |
Dostęp sekwencyjny. Pamięć jest zorganizowana za pomocą jednostek danych zwanych rekordami. Dostęp jest możliwy w określonej sekwer liniowej. Do oddzielania 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 rezultacie czas dostępu do różnych rekordów może się bardzo różnić, (np. pamięci taśmowe)
Postęp cykliczny bezpośredni. Podobnie jak w przypadku dostępu sekwencyjnego, proces odczytu i zapisu w pamięciach o dostępie bezpośrednim jest raaiizowany za pomocą tego samego mechanizmu. Jednak poszczególne bloki iub rakordy mają unikatowy adres oparty na lokacji fizycznej. Dostęp jest realizowany przez bezpośredni dostęp do najbliższego otoczenia, po którym następuje sekwencyjne poszukiwanie, liczenie iub oczekiwanie w celu osiągnięcia lokacji finalnej. 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. f.a .
dostępu do danej lokacji nie zależy od sekwencji poprzednich operacji dostępu i jest stały. Dzięki temu dowolna lokacja może być wybierane 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żliwia porównywanie i specyficzne badanie zgodności wybranych bitów wewnątrz słowa, przy czym jest to czynione dla wszystkich słów jednocześnie. Tak więc słowo jest wyprowadzane raczej c.> podstawie części swojej zawartości niż na podstawie adresu. Podobnie jak w przypadku zwykłych pamięci o dostępie swobodnym, każda lokacja ma własny mechanizm adresowania, a czas dostępu jest stały i niezależny od poprzednich operacji dostępu, (np. pamięć podręczna)
Pamięć a dostępie swobodnym (RAM)
Miara wydajności - cz.l
Istnieją trzy podstawowe parametry będące miara wydajności:
W przypadku pamięci o dostępie swobodnym jest to niezbędny do zrealizowania operacji odczytu lub zapisu, to znaczy czas od chwili doprowadzenia adresu do chwiii zmagazynowania iub udostępnienia danych.
o
W przypadku pamięci o dostępie nieswobodnym czas dostępu jest czasem potrzebnym na umieszczenie mechanizmu odczytu-zapisu w pożądanym miejscu.
_____cza* cyklu___-
\_/ | |
DANE |
-—O.....- |
iKwtepn tzas przeuzę mm
T
7 |
* |
8 |
ft |
7 | |
* |
6 | |
A |
S | |
* |
Wskaźnik stosu |
J |
1 |
3 | |
1 | ||
0 |
1 | |
a |
Przygotowanie Wpis Odczyt
do wpisu
Pamięć o dostępie stosowym (STACK)
Miara wydajności - cz.ll
Czas cyklu 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ógł nastąpić kolejny dostęp. Ten dodatkowy czas może być potrzebny dla zaniku sygnałów przejściowych iub do regeneracji danych, jeśli odczyt jest niszczący.
DANE
cais do.-tępu
czas pr/,errz>mai
Szybkość przesyłania (transferu! Jest to szybkość, z jaką dane mogą być wprowadzane do jednostki pamięci iub z niej wyprowadzane.
O W przypadku pamięci o dostępie swobodnym jest ona równa:
l/(czas cyklu)
O
W przypadku pamięci o dostępie nieswobodnym zachodzi następująca zależność:
■■TA+ — R
Tn - średni czas odczytu iub zapisu W bitów,
Ta - średni czas dostępu,
/y-iiczba bitów,
R - szybkość transferu w bitach na sekundę [bit/s].
Pamięci półprzewodnikowe
PÓŁPRZEWODNIKOWE PAMIĘCI O DOSTĘPU SWOBODNIE!
Hierarchia pamięci - przestanki
■) t Ograniczenia przy projektowaniu pamięci komputera mogą być podsumowane za pomocą trzech pytań: Ile? Jak szybko? Za ile?
i t- Istnieją wzajemne zależności między podstawowymi parametrami pamięci, to znaczy między kosztem, pojemnością i czasem dostępu.
< i większa pojemność - mniejszy koszt na bit,
< I większa pojemność - większy czas dostępu.
< i mnięjszy czas dostępu - większy koszt na bit,
0.25-1 ns. 1-4kB, duża moc
—■ « - -«——^
/ PaDHQC jUKiętl— \
rawctt-. ~x I0-50ns. 256MB-4GB, mała
1-10ms, 20-120GB >1TB
Dy*o«epeiię6po*eeae \
PiHślfe dyśoowi
Pamięci półprzewodnikowe
Rodzaj pamięci |
Kategoria |
Wymazywanie |
Sposób zapisu |
Ulotność |
Pamięć czytaj-płsz (RWM) |
odczyt-zapis |
elektryczne, na poziomie bajta |
elektryczny |
uiotna |
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 |
nieuiolne | ||
Pamięć błyskawiczna |
głównie odczyt |
Elektryczne na poziomie bloku |
elektryczny | |
Elektrycznie wymazywaina PROM (EEPROM) |
elektryczne, na poziomie bajta |
Organizacja i obsługa statycznej pamięci RAM
odczyt - jeden cykl pamięci: stabilny adres & transfer danych zapis - jeden cykl pamięci: stabilny adres & transfer danych
.. czaf= cyklu
czaa cyklu
ADRES X X | |
M> NSSSSSfk //// |
V |
» /9Z> |
777 |
i i |
Ti- |
iczda dojrtjępn cza* przetrzymaj
odczyt z pamięci
"-----
czat< nałniaitm i czas przetrzymania
zapis do pamięci
Pamięć dynamiczna
/ \ |
RAS |
\_/ V | |
cas : / N |
/- |
CAS |
V \_/ |
adr7FXa | |||
ad»®YaSXWaJ |
iT^.XX$#X aw |
XX aw | |
j | |||
wr ;®®7 . |
..‘ad AS) \ |
"R | |
_ a(l. AS) : |
IUNF. | ||
-< >- |
mm* | ||
‘iKRAS-D) | |||
odczyt z pamięci |
zapis do pamięci |
* Odświeżanie pamięci DRAM
• Odświeżanie sygnałem RAS
Podawanie kolejnych adresów wierszy i w odpowiednim momencie stanu niskiego RAS. CAS pozostaje w stanie wysokim (wyjście pamięci w stanie wysokiej imoed I
• Odświeżanie ukryte (wewn. licznik odświeżania pamięci)
Po operacji odczytu RAS ponownie zmienia stan na niski CAS powstałe w stanie niskim (jak dla odczytu). Odświetany jest wiersz wskazywany przez wewn. licznik.
• Odświeżanie w trybie CAS przed RAS (wewn. licznik odświeżania pamięci) Cykl odiwteiania rozpoczyna się, gdy CAS osiągnie stan niski odpowiednio wcześniej przed RAS i utrzyma ten Gan odpowiednio długo. Zewnętrzny adres jest ignorowany, adres odświeianego wiersza określa wewn. licznik Wyjście pamięci jest w sianie wysokiej impedancji
• Odświeżanie automatyczne (wewn. układ odświeżania)
Pamięci takie mają wyprowadzenie REF. Po kaidym podaniu stanu niskiego na REF- odświeianie kolejnego wiersza.
Architektury pamięci | ||
i-HAS • j-CAS ADR |
10Dns 2QQns 300ne 400ns •• DRAM | |
'DATA 1 -RAS i ADR |
. rbcs? - -twa 'rwo*. FPM | |
DATA J ; -RAS , -CAS AOR |
•.mci'1 Raw • • ftiiuj, EDO / | |
■ DATA i •RAS ■-CAS |
H1--C1 t P>ac? ‘ F<30 » R<ŁCA 8800. | |
i ADR sOATA |
•. «tj’ct‘ Rt/ct ; Rio .tfRcct.a'? nvci .3> |
FPM - Fast Page Modę, dostęp do kolejnych 4-ech komórek (tryb półbajtowy) - adr wiersza bez zmiany, zmiany adresów kolumn.
EDO - Extended Data Out Memory, utrzymanie danej po
zaniku adresu = możliwość adresowania kolejnej lokacji przed
zakończeniem poprzedniego transferu
BEDO - Burst Extended Data Out Memory - zwłaszcza
transfery blokowe, adres wiersza i kolumny tylko na początku
bloku
Architektury pamięci
SDRAM (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)
DDR (double-data ratę SDRAM), SDRAM II - szybsza wersja SDRAM umożliwiająca odczyt danych na obu zboczach CLK RDRAM® (Rambus™ DRAM) - zwiększona przepustowość wewnętrzna
SLDRAM (Syndink DRAM) - 16 banków pamięci, nowy interface i logika sterująca
Architektura SDRAM
TMS 664414 (64 Mb)
• Muitipleksowane ilnto adresów wierszy i kolumn.
• Oddzlolna linio do adresowania banków (zwykło dołączano jako
A, Ais)
Architektury pamięci
Architektura SDRAM
Raku |
-es |
-RAS |
-CAS - |
-CAi ?’ ' |
\ |
ModeRegł«srSd |
0 |
0 |
0 0 | ||
Bank Prechargc |
- |
0 |
1 0 |
mas i : |
1 |
WE |
i i | ||||
Row AddrewiEmry |
0 |
0 |
1 1 |
CS \ |
i . i |
Cobunn AJdrea* EmryRead |
0 |
J |
0 i |
BSł.BSO i (A13.A12) • i |
Architektury pamięci
Architektura SDRAM |
'A(CASLłłerc¥)*a _ |
<> i : |
! ‘ 4 5 6 7 C 0 10 11 1 , , ) , |
• Programowanie układu |
i 1 ' ' 1 ' ! , 11 1 i / i |
•Aktywacja/deaktywacja banków |
. 1 Ta. 1 (jurUiłrti"! |
(wymagana przed podaniem |
r* 1 i fluid’ ''Unio' iteal |
nowego adresu wiersza) |
i ' 1 U IIM / U(i f Uti < \ Wi • M*"« [i.o.1: '.MA |
Rozkaz |
-CS |
-RAS |
~CAS |
-we |
BS1 BSO (AIS) IA12) |
AU |
ASO |
A9-A9 |
Madę Register Set |
0 |
0 |
0 |
0 |
0 0 |
0 |
0 |
Register Sd Data w-O-O-l 3-12*1 l-»-b3-62-bl |
Bank Prcchargc |
0 |
0 |
1 |
0 |
Numer banku: 00: BO 01: BI 10: B2 M:B3 |
Bez znacz. |
0 |
bez znaczeniu |
Row Addrcm Entry |
0 |
0 |
1 |
1 |
Numer banku: oa BO W: BI IOB2 IIB3 |
Ml |
MO |
r9-r8-r7-r6*fSł4-r3- r2-rl-f0 |
Cotenui Address EaoyRead |
0 |
I |
0 |
1 |
Numer banku: 00: BO 01: BI 10* B2 IJ.B3 |
Bez znacz. |
0 |
c9-cR-c7-c6-c5-c4- c3-c2-cl-c0 |
M
Architektura DDRAM
~CLK CLK f.
CM3&ADR ( Head i
DOS
DO
CL--2
Wtite !
i \ i 1 | 1
i X X
li o'. /e»i iq:, ,'d’, /o* i'ni W fu)
•Operacjo na narastającym i opadającym zboczu zegara •2 sygnały zegarowo
•Dwu kio run kawy sygnał DQS (przy czytaniu sterowanie z modułu pamiącl, faza CLK; przy wplsio starowania z zewnątrz, faza ~CLK
1 : d '
♦ OM -
• ClM • '
• 8U1 •
• CUD *
• S •
Architektura RAMBUS
• Odrębny standard magistrali -kanał
• 2 kanały po 16 bitów
• Łańcuchowa połączenia modułów (zwory)
wm8l6Cmw«. n»ascHW*i j )
! C.K |
_ _ ( _ ▼
iwruc i ^ aw*croH ^ ‘ twccwn 1 ccwuur 1
.oTNinuuml i I 2 I , 3 , uuk
\ J I Włlf.OWM
• Struktura wewnętrzna pamięci - 32 banki x 128 bitów (taktowania waw. 100 MHz -> 1.6GBps)
• Na styku z magistralą - multipleksery dopasowują do szerokości 16bitów (400 MHz x 16b -> 1.60Bps)
Organizacja modułu pamięci
Jeśli mikroukład RAM zawiera tylko I bit na słowo, potrzeba przynajmniej liczby mikroukładów równej liczbie bitów w Nowie. Na rysunku jest pokazane przykładowo, jak mota być zorganizowany moduł pamięci zawierający 256 K Nów 8-bitowych. W przypadku 256 K słów wymagany jest adres 18-bitowy; jest on dostarczany do modułu z' pewnego źródła zewnętrznego (np. z iinil adresowych magistrali, 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żliwia wejśde/wyjśde i bitu.
Jednocześnie mogą być odczytywane lub 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żliwe są różne organizacje fizyczne. W każdym przypadku elementy zespołu są połączone zarówno przez linie poziome (wiersze), jak I pionowe (kolumny). Każda linia pozioma jest połączona z
Organizacja modułu 1M
Na rysunku jest pokazana możliwa organizacja pamięci składającej się z I M słó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 folii. W przypadku I M słów wymaganych jest 20 linii adresowych. Osiemnaście najmniej znaczących bitów doprowadza się do wszystkich 32
Mamy
Address ___ _____
Register (MAR)
modułów. Dwa najbardziej znaczące bity są doprowadzone do modułu logicznego wyboru grupy, który wysyła sygnał Uaktywnienia mikroukładu do jednej z 4 kolumn modułów.
r |
U |
l |
1 |
BI |
l |
* Cl |
l |
” Dl | |
vpl |
175511 |
AB chips 512 words by 512 bita. 2-terminal cells
ceu I3H
Memory
Buffo
Register
(MBR)
"Ut
£ | |
ir |
AS |
■ 57551] |
Pamięć stała
A\V
AK
drk. |
Mattyca | ||
> |
Wltl |
pautętajnca | |
—/ |
szy |
La |
n m |
LbO |
. * * . | ||
--/ |
Bi. wyb. koL |
WY danych
£
danyrh.
£
MROM- maska PROM - programowanie 1 raz _(przepalanie)_
Parnifć MROM hib PROM
EPROM - kasowanie prom.
ułtiafioletowym Flash EPROM - kasowanie elektryczne (szybkie) EEPROM - zapis bez kasowania
Korekcja błędów
Dzięki nadmiarowi, dekoder może wykryć, a następnie ewentualnie skorygować niektóre kombinacje błędów.
Proces ten ma charakter stochastyczny - Pe prawdopodobieństwo wykrycia lub podjęcia poprawnej decyzji.
Pe dowoinie bliskie 1, gdy odpowiednio duży nadmiar.
Korekcja błędów
■J t W systemach pamięci półprzewodnikowych występują błędy. Można je podzielić na błędy stałe i przypadkowe.
< > 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, lecz pozostają w stanie 0 iub i, albo błędnie przeskakują między 0 a 1.
41 Błąd przypadkowy jest losowym i nieniszczącym zjawiskiem, które zmienia zawartość jednej lub wielu komórek pamięciowych, bez uszkadzania samej pamięci.
•J £• 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 logiczne wykrywające i korygujące błędy.
Kody korekcyjne
EmirSłjiw!
Gdy dane mają być wczytane do pamięci, przeprowadza się na tych danych obliczenia, określane jako funkcja/, w celu utworzenia kodu do korekty błędów. Zarówno kod, jak i dane są przechowywane. W rezultacie, jeśli ma być zapisane M-bitowe słowo danych, a kod ma długość K bitów, to aktualna długość przechowywanego słowa wynosi M+K bitów.
Gdy uprzednio zmagazynowane słowo jest odczytywane, kod jest wykorzystywany do wykrywania i ewentuainęj 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:
O Nie wykryto żadnych błędów. Pobrane bity danych są wysyłane.
O Wykryto błąd, którego korekta jest możliwa. 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.
Wykryto błąd niemożliwy do poprawienia. Stan ten jest zgłaszany.
Kod Hamminga
M=4
O W przypadku trzech krzyżujących się okręgów mamy do czynienia z siedmioma przedziałami. Przypisujemy
4 bity danych przedziałom wewnętrznym (a).
O Pozostałe przedziały są wypełniane tzw. bitami parzystości. Bit
parzystości jest wybierany tak, że całkowita liczba jedynek w jego okręgu jest parzysta (b)
< I Jeśli teraz błąd spowoduje zmianę jednego z bitów danych (c), jest on łatwy do wykrycia. Sprawdzając bity parzystości, wykrywamy sprzeczności w okręgach AIC, ale nie w B.
11 Tylko jeden z 7 przedziałów znajduje się w A i C, ale nie w B. Błąd może więc być poprawiony przez zmianę tego bitu (d).
Kod korekcyjny dia 8 bitów - cz.ll
•J t Słowo zawierające 8 bitów danych wymaga 4 bitów kontrolnych. Zazwyczaj generuje się syndrom 4-bitowy o następujących własnościach:
11 Jeśli syndrom zawiera same 0, to znaczy, że nie został wykryty żaden błąd
O Jeśli syndrom zawiera jedną i tylko jedna 1, błąd wystąpił w jednym z bitów kontrolnych. Wówczas korakta jest niepotrzebna.
O Jeśli syndrom zawiere więcej niż jedną 1, to wartość numeryczna
syndromu wskazuje pozycje błędnego bitu danych. Korekta polega na
13 |
1 |
1 0 0 |
M8 |
11 |
1 |
0 1 1 |
M7 |
10 |
1 |
0 1 0 |
M6 |
9 |
1 |
0 0 1 |
MS |
3 |
1 |
a o o cs | |
7 |
0 |
i i i |
M4 |
6 |
0 |
1 1 0 |
M3 |
S |
0 |
1 0 1 |
M2 |
4 O 1 0 0 C4
1 001 I Ml
2 00 I0C3
inwersji tego bitu.
W celu uzyskania takich własności bity danych i bity kontrolne są aranżowane w postaci słowa 12-bitowego w sposób pokazany obok. Pozycje bitowe są ponumerowane od 1 do 12. Pozycje bitowe, których numery są potęgą. 2, są wyznaczone jako bity kontrolne.
Kod korekcyjny dla 8 bitów - cz.l
Naieży opracować kod, który moie posłużyć do wykrycia i skorygowania 1-błtowego błędu w słowach 8-bitowych
<► Wymagana długość kodu wynika z przedstawionego wcześniej rysunku działania kodu korekcyjnego. Układy logiczne porównujące otrzymują na wejściu dwie wartości K bitowe. Porównanie bit po bidę jest przeprowadzane przy użyciu bramki LUB wyłączne (exdusive-or = EXOR) o 2 wejściach. Wynik jest określany jako słowo-syndrom. Tak więc, każdy bit syndromu jest 0 lub 1 zależnie od tego, czy jest, czy też nie ma zgodności bitów na dwóch wejściach.
i ł Słowo-syndrom ma więc K bitów i zakres wartości 2K (pomiędzy 0 a 2K - 1). Wartość 0 wskazuje, że nie został wykryty żaden błąd, zaś 2K - 1 wartości służy do wskazania błędu i jego lokalizacji bitowej. Ponieważ błąd może wystąpić w każdym z M bitów danych i K bitów kontrolnych, trzeba dysponować:
2K >M + K
Równanie to określa liczbę bitów wymaganą do skorygowania błędu 1-bitowego w słowie zawierającym M bitów danych.
Konstruowanie kodu - cz.lll
Ą c Bity kontrolne są obliczane następująco (symbol ® oznacza operację LUB wykluczające (EXOR)):
Cl = Ml ® M2 ® M4 ® M5 ® M7
C2 = Ml ® M3 ® M4 ® M6 ® M7 C4 = M2 ® M3 ® M4 ® M8
C8 = M5 ® M6 ® M7 ® M8
Każdy bit kontrolny działa na każdęj pozycji błtu danych, której numer zawiera 1 w odpowiedniej pozycji kolumny. Tak więc pozycje bitowe danych 3, 5, 7, 9 i 11 zawierają człon 2° ; pozycje bitowe 3, 6, 7, 10 i il zawierają człon 21; pozycja bitowe 5, 6, 7 i 12 - człon 2 ', a pozycje bitowe 9,10, li i 12 - 23. Inaczaj mówiąc, pozycja bitowa n jest sprawdzana przez bity C, takie, że
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
III
Opisany na wcześniejszych foliach kod jest znany jako kod poprawiania pojedynczego błędu (ang. slngle-error-correcting -SEC). Najczęściej jednak pamięć półprzewodnikowa jest wyposażana w kod poprawiania pojedynczego i wykrywania podwójnego błędu (SEC-DED). W przytoczonej tabeli, takie kody wymagają jednego dodatkowego bitu 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 sakwencja ujawnia, że jeśii występują dwa błędy (c), procedura kontrolna jest błędna i pogarsza problem, tworząc trzeci błąd (e). W ceiu pokonania tej trudności, dodany jest ósmy bit, taki że całkowita iiczba jedynek na wykresie jest parzysta. Dodatkowy bit parzystości umożliwia wychwycenie błędu (f)-
Długość słowa o korekcja
Liczba bitów danych |
Poprawianie pojedynczego błfdu |
Poprawianie pojedynczego błędu, wykrywanie podwójnego błędu | ||
Bity kontrolna |
% wzrostu |
Bity kontrolne |
% wzrostu | |
8 |
4 |
50 |
5 |
62,5 |
16 |
5 |
31,25 |
6 |
37,5 |
32 |
6 |
18,75 |
7 |
21,875 |
64 |
7 |
10,94 |
B |
12,5 |
128 |
8 |
6,25 |
9 |
7,03 |
256 |
9 |
3,52 |
10 |
3,91 |