Sie sind auf Seite 1von 39

Uvod u organizaciju raunara

vebe, kolska 2010/11


Biljana Stojanovi
Matematiki fakultet, Univerzitet u Beogradu

Greke pri prenosu podataka.


Otkrivanje i korekcija greaka.
as 07

Greke pri prenosu podataka


Pri prenosu podataka esto dolazi do promene
pojedinih bitova podataka zbog:

smetnji na prenosnom putu


razliitih tipova umova na lokacijama odailjanja i prijema

Smetnje se deavaju bez obzira na udaljenost ureaja,


tj. kako pri prenosu podataka izmeu dva raunara
tako i izmeu komponenti istog raunara

Uvod u organizaciju raunara

Pristupi reavanju problema


Postoje dva osnovna pristupa reavanju ovog problema:

kontrola greaka unatrag (kontrola sa povratnom spregom)


kontrola greaka unapred

Uvod u organizaciju raunara

Kontrola greaka unatrag


Uz podatke se alju dodatne (redundantne) informacije
koje slue da se ustanovi da postoje greke, ali ne i da se
one otklone.
Neispravno preneseni podaci se ponovo alju.

Uvod u organizaciju raunara

Kontrola greaka unapred


Uz podatke se alju dodatne (redundantne) informacije
koje slue kako da se ustanovi da greke postoje, tako i da
se odredi njihova lokacija.
Neispravno preneseni podaci se automatski koriguju
(negiranjem).

Uvod u organizaciju raunara

Izbor metoda kontrole greaka


Kako raste koliina prenesenih bitova, tako se
poveava i broj kontrolnih bitova.
Kontrola greaka unapred zahteva prenoenje mnogo
vee koliine redundantnih informacija pa zato:

u okviru jednog sistema (npr. memorija) se esto


upotrebljava metod kontrole unapred
izmeu sistema (npr. telekomunikacije) se obino
upotrebljava metod kontrole unatrag

Uvod u organizaciju raunara

Pouzdanost komunikacije
Pouzdanost komunikacije se predstavlja brojem bitova
sa grekom (engl. bit error rate BER)

BER je verovatnoa pojavljivanja neispravnog bita u


definisanom vremenskom intervalu
raunarske mree imaju BER oko 10-12 (u proseku 1 od 1012
bitova ima greku u definisanom vremenskom intervalu)
unutar raunarskog sistema BER je oko 10-18 ili manje

Uvod u organizaciju raunara

Tipovi greaka
Postoji vie tipova moguih greaka:

pogrena vrednost bita


suvian bit
nedostajui bit
zamenjena mesta bitova ili rei
sloene greke (proirene greke, javljaju se na grupi uzastopnih
bitova)

Uvod u organizaciju raunara

Metode za otkrivanje greaka

Najee koriene metode su:

10

kontrola parnosti
provera zbira bloka
ciklina provera redundanci

Uvod u organizaciju raunara

Kontrola parnosti

Kontrola parnosti je jedan od najjednostavnijih metoda za


otkrivanje greaka
Koristi se za otkrivanje pogrenih vrednosti bitova

11

Uvod u organizaciju raunara

Kontrola parnosti (2)

Algoritam:

Pouzdanost:

Uz svaku n-bitnu re se dodaje po jedan bit tako da ukupan


broj binarnih jedinica u tako proirenoj rei bude paran
(neparan)
Verovatnoa da se greka ne primeti je reda n2/4*BER2

Slabosti:

12

Greka se ne primeuje ako je izmenjen paran broj bitova

Uvod u organizaciju raunara

Kontrola parnosti u 2D

Pri prenosu bloka podataka proiruje se prethodni


metod:

i dalje se svaka osnovna re proiruje radi tzv. horizontalne


provere parnosti
itavom bloku dodaje se jo jedna (proirena) re tako da za
svaku vrednost bita postoji dodatna vertikalna provera
parnosti

Ovim metodom se znaajno umanjuje verovatnoa


neotkrivenih greaka

13

Uvod u organizaciju raunara

Primer 2D kontrole parnosti

14

Uvod u organizaciju raunara

Kontrola zbira

Ako je blok dui od jedne rei, esto se primenjuje


metod kontrole zbira.
Algoritam:

Formira se zbir svih rei u bloku i prenese zajedno sa


porukom. Obino se zbir skrauje, recimo na 32 bita.
Primalac ponovo izraunava zbir i poredi sa primljenim
podatkom.

Slabosti:

15

Ne moe da prepozna greke neispravnog redosleda rei,


kao ni dodavanje ili gubljenje jedinica bloka iji su svi bitovi
binarne nule.

Uvod u organizaciju raunara

Ciklina provera redundanci

Prethodne metode imaju ograniene mogunosti


otkrivanja sloenih greaka.
Ciklika provera redundanci (engl. Cyclic Redundancy
Checking CRC) otkriva:

16

sve greke na neparnom broju bitova


sve 2-bitne greke
proirene greke ija je duina manja od broja redundantnih
bitova

Uvod u organizaciju raunara

CRC (2)

Metod CRC je neto sloeniji, ali se esto implementira


hardverski.
Poiva na:

17

aritmetici po modulu 2 (tj. bez prenosa i pozajmica)


0 + 0 = 1 + 1 = 0, 0 + 1 = 1 + 0 = 1
1 1 = 0 0 = 0, 0 1 = 1 0 = 1
deljenju polinoma (u aritmetici po modulu 2)
niz bitova bloka koji se prenosi se posmatra kao niz koeficijenata
polinoma, npr.
anan-1...a1a0 odgovara polinomu M(x)=anxn+an-1xn-1+...+a1x+a0

Uvod u organizaciju raunara

CRC (3)

Postupak kodiranja:

18

odabire se polinom generator G(x) stepena k


izraunava se xkM(x)/G(x); dobijeni ostatak se oznaava sa R(x)
koeficijenti ostatka (njih k) se dodaju na kraj poruke

Uvod u organizaciju raunara

CRC (4)

Postupak dekodiranja:

19

primljena polinomijalna kodna re se deli sa G(x)


ako je ostatak deljenja 0, nema greaka pri prenosu
ako ostatak nije nula, postoje greke pri prenosu

Uvod u organizaciju raunara

CRC (5)

Postoje greke koje se ovako ne mogu otkriti, ali se


dobrim izborom polinom generatora njhov broj
smanjuje
Dobri polinom generatori su:
CRC-16 = x16+x15+x2+1
CRC-CCITT = x16+x12+x5+1
CRC-CCiTT = x32+x26+x23+x16+x12+x11+x10+x8+x7+x5+x4+x2+1

20

Uvod u organizaciju raunara

Primer CRC (1)

Neka je:

niska bitova 11100110


polinom generator G(x)=x4+x3+1

Koja niska bitova se alje primaocu?

21

Uvod u organizaciju raunara

Primer CRC (2)

Reenje:
dodajemo 4 bita 0 (mnoimo polinom sa x4) i delimo:
111001100000
-11001
1011100000
-11001
111000000
-11001
1010000
-11001
110100
-11001
0110

22

Uvod u organizaciju raunara

Primer CRC (3)

Na originalnu nisku dopisujemo ostatak 0110 i dobijamo:


111001100110

23

Uvod u organizaciju raunara

Primer CRC (4)

Provera po prijemu:
delimo:
111001100110
-11001
1011100110
-11001
111000110
-11001
1010110
-11001
110010
-11001
ostatak je 0, dakle prenos je ispravan: 11100110

24

Uvod u organizaciju raunara

Metodi za otkrivanje i ispravljanje


greaka

Koriste se esto u radu sa memorijom jer tu:

25

osim pri prenosu, postoji i mogunost nastajanja greke pri


zapisivanju i itanju podataka, kao i tokom njihovog uvanja
Naime, neki od bitova podataka moe da bude promenjen
posle zapisivanja podataka. Meutim, prenos podataka od
prvobitnog izvora ne moe da se ponovi, jer u najveem broju
sluajeva izvor vie i ne postoji.
Stoga se podaci tako zapisuju da je pri njihovom itanju
omogueno ne samo otkrivanje, ve i korekcija pronaene
greke.

Uvod u organizaciju raunara

Greke u radu sa memorijom

Tvrdi stalno prisutni defekti

usled neispravnosti memorijska elija nije u stanju da


pouzdano uva podatke i ona ih bez spoljanjeg uzroka
menja sa 0 na 1 ili obratno.

Mekani prolazni defekti

26

predstavljaju sluajne izmene sadraja jedne ili vie


memorijskih elija
obino su posledica smetnji u napajanju ili elektromagnetnog
ili radioaktivnog zraenja

Uvod u organizaciju raunara

Vrste kodova

SED (single error detection) kod koji omoguava


detekciju greaka na jednom bitu
slino: DED, TED,...
SEC (single error correction) kod koji omoguava
korekciju greaka na jednom bitu
slino: DEC, TEC,...

27

Uvod u organizaciju raunara

Hamingovi kodovi

Najprostiji kod za otkrivanje i korekciju greaka je


Hamingov kod
Naredna stranica predstavlja primer za rei duine 4
(3 dodatna bita):

28

u polje koje predstavlja presek bar dva kruga upie se po jedna


vrednost bita iz rei
u preostala polja se upisuje 0 ili 1 tako da se u svakom krugu
ouva parnost

Uvod u organizaciju raunara

Primer Hamingovog SEC koda


a) bitovi podatka
b) sa bitovima parnosti
c) promena bita usled greke
d) lokalizovana greka

29

Uvod u organizaciju raunara

SEC-DED kodovi

esto se SEC kodovi proiruju tako da osim SEC


obavljaju i posao DED
Obino je za to dovoljno dodavanje svega jednog bita
Memorija najee poseduje ugraeni SEC-DED kod.

30

Uvod u organizaciju raunara

Hamingov SEC-DED kod

Dodaje se jo jedan
bit tako da je ukupan
zbir bitova paran
a) bitovi podatka
b) bitovi parnosti
c) promenjena dva
bita
d) lokalizovana
greka
e) ispravljena greka
g) prepoznato da
postoji greka

31

Uvod u organizaciju raunara

uvanje i provera korektnosti


zapisa

32

Uvod u organizaciju raunara

Koncept provere

Za re duine M bitova generie se kod duine K


Zapisuje se M+K bitova
Nakon itanja se ponovo generie klju K1 i poredi sa K
ekskluzivnom disjunkcijom (re koja se dobija naziva se
sindrom):

33

ako je razlika 0, smatra se da nema greke

Uvod u organizaciju raunara

Koncept provere (2)

Ako se za re duine M bitova generie kod duine K


bitova:

34

ukupan broj bitova je M+K


broj opisa greaka je 2K-1 (sindrom re je neoznaen ceo broj
duine K koji ima vrednosti izmeu 0 i 2K-1; vrednost 0
oznaava da nema greaka u zapisu, dok ostalih 2K-1 vrednosti
odreuju mesto greke, u sluaju da greka postoji)
za SEC je potrebno da vai 2K-1 M+K (jer greka moe da se
javi na bilo kom od M bitova podataka i K kontrolnih bitova).
Na osnovu ove nejednakosti moe da se odredi potreban broj
bitova kao funkcija duine rei za koju se vri provera.

Uvod u organizaciju raunara

Koncept provere (3)

Sindrom re treba da ima sledee karakteristike:

35

ako su svi bitovi sindrom rei 0, tada nije otkrivena nikakva


greka
ako u rei postoji tano jedna 1, tada greka postoji u jednom
od 4 bita za proveru, dok je zapis podatka korektan
ako u rei postoji vie od jednog bita sa vrednou 1, tada
vrednost sindrom rei posmatrane kao neoznaen ceo broj
odreuje poziciju u rei na kojoj se nalazi greka. Korekcija se
sastoji u komplementiranju vrednosti odgovarajueg bita
podatka.

Uvod u organizaciju raunara

23.11.2010

Potrebne duine kodova za SEC

36

Uvod u organizaciju raunara

Primer

37

Duina osnovne rei je 8

Duina koda je 4

Ukupna duina rei je 12

Uvod u organizaciju raunara

Primer (2)

Funkcija kodiranja se bira tako da vrednost kontrolnog bita odgovara zbiru


(po modulu 2) bitova osnovne rei koji imaju 1 na mestu tog kontrolnog
bita:
C1 = M1 M2 M4 M5 M7
C2 = M1 M3 M4 M6 M7
C3 = M2 M3 M4 M8
C4 = M5 M6 M7 M8

38

Uvod u organizaciju raunara

Primer (3)

Neka je re M=10110101
Kod je K=1010
Neka je kasnije izmenjen bit 5: M1=10100101
Odgovarajui kod je K1=0011
Poreenje K i K1 daje 1001, to ukazuje da je greka u
bitu 5

39

Uvod u organizaciju raunara

Das könnte Ihnen auch gefallen