uvod u organizaciju računara

38
Otkrivanje i Otkrivanje i ispravljanje grešaka ispravljanje grešaka Uvod u organizaciju računara Uvod u organizaciju računara

Upload: nakia

Post on 21-Jan-2016

107 views

Category:

Documents


4 download

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 Presentation

TRANSCRIPT

Page 1: Uvod u organizaciju računara

Otkrivanje i ispravljanje grešakaOtkrivanje i ispravljanje grešaka

Uvod u organizaciju računaraUvod u organizaciju računara

Page 2: Uvod 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...”

Page 3: Uvod u organizaciju računara

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

Page 4: Uvod u organizaciju 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

Page 5: Uvod u organizaciju računara

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.

Page 6: Uvod u organizaciju računara

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.

Page 7: Uvod u organizaciju računara

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

Page 8: Uvod u organizaciju računara

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

Page 9: Uvod u organizaciju računara

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

Page 10: Uvod u organizaciju računara

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

Page 11: Uvod u organizaciju računara

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

Page 12: Uvod u organizaciju računara

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

Page 13: Uvod u organizaciju računara

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

Page 14: Uvod u organizaciju računara

Uvod u organizaciju računara 14

Primer 2D kontrole parnostiPrimer 2D kontrole parnosti

Page 15: Uvod u organizaciju računara

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.

Page 16: Uvod u organizaciju računara

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

Page 17: Uvod u organizaciju računara

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

Page 18: Uvod u organizaciju računara

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

Page 19: Uvod u organizaciju računara

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

Page 20: Uvod u organizaciju računara

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

Page 21: Uvod u organizaciju računara

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?

Page 22: Uvod u organizaciju računara

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

Page 23: Uvod u organizaciju računara

Uvod u organizaciju računara 23

Primer CRC (3)Primer CRC (3)

Na originalnu nisku dopisujemo ostatak 0110 i dobijamo: 111001100110

Page 24: Uvod u organizaciju računara

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

Page 25: Uvod u organizaciju računara

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

Page 26: Uvod u organizaciju računara

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

Page 27: Uvod u organizaciju računara

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,...

Page 28: Uvod u organizaciju računara

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

Page 29: Uvod u organizaciju računara

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

Page 30: Uvod u organizaciju računara

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

Page 31: Uvod u organizaciju računara

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

Page 32: Uvod u organizaciju računara

Uvod u organizaciju računara 32

Čuvanje i provera korektnosti zapisaČuvanje i provera korektnosti zapisa

Page 33: Uvod u organizaciju računara

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

Page 34: Uvod u organizaciju računara

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

Page 35: Uvod u organizaciju računara

Uvod u organizaciju računara 35

Potrebne dužine kodova za SECPotrebne dužine kodova za SEC

Page 36: Uvod u organizaciju računara

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

Page 37: Uvod u organizaciju računara

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

Page 38: Uvod u organizaciju računara

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