uvod u organizaciju računara
DESCRIPTION
Uvod u organizaciju računara. čas 9 : Otkrivanje i ispravljanje gre šaka. Greške pri prenosu podataka. Pri prenosu podataka često dolazi do promene pojedinih bitova podataka zbog: smetnji na p renosnom putu ra z ličitih tipova šumova na lokacijama odašiljanja i prijema - PowerPoint PPT PresentationTRANSCRIPT
Otkrivanje i ispravljanje grešakaOtkrivanje i ispravljanje grešaka
Uvod u organizaciju računaraUvod u organizaciju računara
Can You Raed Tihs?
“I cnlduo’t bvleiee taht I culod aulaclty uesdtannrd waht I was rdnaieg. Unisg the icndeblire pweor of the hmuan mnid, aocdcrnig to rseecrah at Cmabrigde Uinervtisy, it dseno’t mttaer in waht oderr the lterets in a wrod are. The olny irpoamtnt tihng is taht the frsit and lsat ltteer be in the rhgit pclae...”
Uvod u organizaciju računara 3
Greške pri prenosu podatakaGreške pri prenosu podataka
Pri prenosu podataka često dolazi do promene pojedinih bitova podataka zbog:– smetnji na prenosnom putu– različitih tipova šumova na lokacijama
odašiljanja i prijema
Smetnje se dešavaju bez obzira na udaljenost uređaja, tj. kako pri prenosu podataka između dva računara tako i između komponenti istog računara
Uvod u organizaciju računara 4
Pristupi rešavanju problemaPristupi rešavanju problema
Postoje dva osnovna pristupa rešavanju ovog problema:– kontrola grešaka unatrag (kontrola sa
povratnom spregom)– kontrola grešaka unapred
Uvod u organizaciju računara 5
Kontrola grešaka unatragKontrola grešaka unatrag
Uz podatke se šalju dodatne (redundantne) informacije koje služe da se ustanovi da postoje greške, ali ne i da se one otklone.
Neispravno preneseni podaci se ponovo šalju.
Uvod u organizaciju računara 6
Kontrola grešaka unapredKontrola grešaka unapred
Uz podatke se šalju dodatne (redundantne) informacije koje služe kako da se ustanovi da greške postoje, tako i da se odredi njihova lokacija.
Neispravno preneseni podaci se automatski koriguju.
Uvod u organizaciju računara 7
Izbor metoda kontrole grešakaIzbor metoda kontrole grešaka
Kako raste količina prenesenih bitova, tako se povećava i broj kontrolnih bitova.
Kontrola grešaka unapred zahteva prenošenje mnogo veće količine redundantnih informacija pa zato:– u okviru jednog sistema (npr. memorija) se
često upotrebljava metod kontrole unapred– između sistema (npr. telekomunikacije) se
obično upotrebljava metod kontrole unatrag
Uvod u organizaciju računara 8
Pouzdanost komunikacijePouzdanost komunikacije
Pouzdanost komunikacije se predstavlja brojem bitova sa greškom (engl. bit error rate – BER)– BER je verovatnoća pojavljivanja
neispravnog bita– računarske mreže imaju BER oko 10-12
– unutar računarskog sistema BER je oko 10-18 ili manje
Uvod u organizaciju računara 9
Tipovi grešakaTipovi grešaka
Postoji više tipova mogućih grešaka:– pogrešna vrednost bita– suvišan bit– nedostajući bit– zamenjena mesta bitova ili reči– složene greške
Uvod u organizaciju računara 10
Metode za otkrivanje grešakaMetode za otkrivanje grešaka
Najčešće korišćene metode su:– kontrola parnosti– provera zbira bloka– ciklična provera redundantnosti
Uvod u organizaciju računara 11
Kontrola parnostiKontrola parnosti
Kontrola parnosti je jedan od najjednostavnijih metoda za otkrivanje grešaka
Koristi se za otkrivanje pogrešnih vrednosti bitova
Uvod u organizaciju računara 12
Kontrola parnosti (2)Kontrola parnosti (2)
Algoritam:– Uz svaku n-bitnu reč se dodaje po jedan bit
tako da ukupan broj binarnih jedinica u tako proširenoj reči bude paran (neparan)
Slabosti:– Greška se ne primećuje ako je izmenjen paran
broj bitova
Uvod u organizaciju računara 13
Kontrola parnosti u 2DKontrola parnosti u 2D
Pri prenosu bloka podataka proširuje se prethodni metod:– i dalje se svaka osnovna reč proširuje radi tzv.
“horizontalne” provere parnosti– čitavom bloku dodaje se još jedna (proširena)
reč tako da za svaku vrednost bita postoji dodatna “vertikalna” provera parnosti
Ovim metodom se značajno umanjuje verovatnoća neotkrivenih grešaka
Uvod u organizaciju računara 14
Primer 2D kontrole parnostiPrimer 2D kontrole parnosti
Uvod u organizaciju računara 15
Kontrola zbira Kontrola zbira
Ako je blok duži od jedne reči, često se primenjuje metod kontrole zbira.
Algoritam:– Formira se zbir svih reči u bloku i prenese
zajedno sa porukom. Obično se zbir skraćuje, recimo na 32 bita. Primalac ponovo izračunava zbir i poredi sa primljenim podatkom.
Slabosti:– Ne može da prepozna greške neispravnog
redosleda reči.
Uvod u organizaciju računara 16
Ciklična provera redundanCiklična provera redundantnostitnosti
Prethodne metode imaju ograničene mogućnosti otkrivanja složenih grešaka.
Ugrubo, ciklička provera redundanci (engl. Cyclic Redundancy Checking – CRC) otkriva:– sve greške čija je dužina manja od n (broja
redundantnih bitova)– udeo od 1-2-n grešaka dužine veće od n
Uvod u organizaciju računara 17
CRC (2)CRC (2)
Metod CRC je nešto složeniji, ali se često implementira hardverski.
Počiva na:– aritmetici po modulu 2 (tj. bez prenosa)– deljenju polinoma– 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 računara 18
CRC (3)CRC (3)
Postupak kodiranja:– odabire se “polinom generator” G(x)
stepena k– izračunava se xkM(x)/G(x); dobijeni
ostatak se označava sa R(x)– koeficijenti ostatka (njih k) se dodaju na
kraj poruke
Uvod u organizaciju računara 19
CRC (4)CRC (4)
Postupak dekodiranja:– primljena polinomijalna kodna reč se
deli sa G(x)– ako je ostatak deljenja 0, nema grešaka
pri prenosu– ako ostatak nije nula, postoje greške pri
prenosu
Uvod u organizaciju računara 20
CRC (5)CRC (5)
Postoje greške 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
Uvod u organizaciju računara 21
Primer CRC (1)Primer CRC (1)
Neka je:– niska bitova 11100110– polinom generator G(x)=x4+x3+1
Koja niska bitova se šalje primaocu?
Uvod u organizaciju računara 22
Primer CRC (2)Primer CRC (2)
Rešenje:– dodajemo 4 bita 0 (množimo polinom sa x4) i delimo:
111001100000-11001 1011100000 -11001 111000000 -11001 1010000 -11001 110100 -11001 0110
Uvod u organizaciju računara 23
Primer CRC (3)Primer CRC (3)
Na originalnu nisku dopisujemo ostatak 0110 i dobijamo: 111001100110
Uvod u organizaciju računara 24
Primer CRC (4)Primer CRC (4)
Provera po prijemu:– delimo:
111001100110-11001 1011100110 -11001 111000110 -11001 1010110 -11001 110010 -11001
ostatak je 0, dakle prenos je ispravan: 1100110
Uvod u organizaciju računara 25
Metodi za otkrivanje i ispravljanje grešakaMetodi za otkrivanje i ispravljanje grešaka
Koriste se često u radu sa memorijom jer tu:– osim pri prenosu, postoji i mogućnost
nastajanja greške pri zapisivanju i čitanju podataka, kao i tokom njegovog čuvanja
Uvod u organizaciju računara 26
Greške u radu sa memorijomGreške u radu sa memorijom
Tvrdi – stalno prisutni defekti– usled neispravnosti memorijska ćelija nije u
stanju da pouzdano čuva podatke i ona ih bez spoljašnjeg uzroka menja sa 0 na 1 ili obratno.
Meki – prolazni defekti– predstavljaju slučajne izmene sadržaja jedne ili
više memorijskih ćelija– obično su posledica smetnji u napajanju ili
elektromagnetnog ili radioaktivnog zračenja
Uvod u organizaciju računara 27
Vrste kodovaVrste kodova
SED (single error detection) – kod koji omogućava detekciju grešaka na jednom bitu
slično: DED, TED,...SEC (single error correction) – kod
koji omogućava korekciju grešaka na jednom bitu
slično: DEC, TEC,...
Uvod u organizaciju računara 28
Hamingovi kodoviHamingovi kodovi
Najprostiji kod za otkrivanje i korekciju grešaka je Hamingov kod
Naredna stranica predstavlja primer za reči dužine 4:– u polje koje predstavlja presek bar dva
kruga upiše se po jedna vrednost bita– u preostala polja se upisuje 0 ili 1 tako
da se u svakom krugu očuva parnost
Uvod u organizaciju računara 29
Primer Hamingovog Primer Hamingovog SEC SEC kodakoda
a) bitovi podatka
b) sa bitovima parnosti
c) promena bita usled greške
d) lokalizovana greška
Uvod u organizaciju računara 30
SEC-DED kodoviSEC-DED kodovi
Često se SEC kodovi proširuju tako da osim SEC obavljaju i posao DED
Obično je za to dovoljno dodavanje svega jednog bita
Uvod u organizaciju računara 31
Hamingov SEC-DED kodHamingov 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
greška
e) ispravljena greška
g) prepoznato da
postoji greška
Uvod u organizaciju računara 32
Čuvanje i provera korektnosti zapisaČuvanje i provera korektnosti zapisa
Uvod u organizaciju računara 33
Koncept provereKoncept provere
Za reč dužine M bitova generiše se kod dužine K
Zapisuje se M+K bitovaNakon čitanja se ponovo generiše
ključ K1 i poredi sa K ekskluzivnom disjunkcijom:– ako je razlika 0, smatra se da nema
greške
Uvod u organizaciju računara 34
Koncept provere (2)Koncept provere (2)
Ako se za reč dužine M bitova generiše kod dužine K bitova:– ukupan broj bitova je M+K– broj opisa grešaka je 2K-1– za SEC je potrebno da važi 2K > M+K
Uvod u organizaciju računara 35
Potrebne dužine kodova za SECPotrebne dužine kodova za SEC
Uvod u organizaciju računara 36
PrimerPrimer
Dužina osnovne reči je 8 Dužina koda je 4 Ukupna dužina reči je 12
Uvod u organizaciju računara 37
Primer (2)Primer (2)
Funkcija kodiranja se bira tako da vrednost kontrolnog bita odgovara zbiru (po modulu 2) bitova osnovne reči 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
Uvod u organizaciju računara 38
Primer (3)Primer (3)
Neka je reč M=10110101Kod je K=1010Neka je kasnije izmenjen bit 5:
M1=10100101
Odgovarajući kod je K1=0011
Poređenje K i K1 daje 1001, što ukazuje da je greška u bitu 5