Uvod u organizaciju raunara as 9 Otkrivanje i

  • Slides: 37
Download presentation
Uvod u organizaciju računara čas 9: Otkrivanje i ispravljanje grešaka

Uvod u organizaciju računara čas 9: Otkrivanje i ispravljanje grešaka

Greške pri prenosu podataka l Pri prenosu podataka često dolazi do promene pojedinih bitova

Greške pri prenosu podataka l 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 l 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 2

Pristupi rešavanju problema l Postoje dva osnovna pristupa rešavanju ovog problema: – kontrola grešaka

Pristupi rešavanju problema l 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 3

Kontrola grešaka unatrag l Uz podatke se šalju dodatne (redundantne) informacije koje služe da

Kontrola grešaka unatrag l Uz podatke se šalju dodatne (redundantne) informacije koje služe da se ustanovi da postoje greške, ali ne i da se one otklone. l Neispravno preneseni podaci se ponovo šalju. Uvod u organizaciju računara 4

Kontrola grešaka unapred l Uz podatke se šalju dodatne (redundantne) informacije koje služe kako

Kontrola grešaka unapred l 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. l Neispravno preneseni podaci se automatski koriguju. Uvod u organizaciju računara 5

Izbor metoda kontrole grešaka Kako raste količina prenesenih bitova, tako se povećava i broj

Izbor metoda kontrole grešaka Kako raste količina prenesenih bitova, tako se povećava i broj kontrolnih bitova. l Kontrola grešaka unapred zahteva prenošenje mnogo veće količine redundantnih informacija pa zato: l – 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 6

Pouzdanost komunikacije l Pouzdanost komunikacije se predstavlja brojem bitova sa greškom (engl. bit error

Pouzdanost komunikacije l 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 7

Tipovi grešaka l Postoji više tipova mogućih grešaka: – pogrešna vrednost bita – suvišan

Tipovi grešaka l 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 8

Metode za otkrivanje grešaka l Najčešće korišćene metode su: – kontrola parnosti – provera

Metode za otkrivanje grešaka l Najčešće korišćene metode su: – kontrola parnosti – provera zbira bloka – ciklična provera redundanci Uvod u organizaciju računara 9

Kontrola parnosti l Kontrola parnosti je jedan od najjednostavnijih metoda za otkrivanje grešaka l

Kontrola parnosti l Kontrola parnosti je jedan od najjednostavnijih metoda za otkrivanje grešaka l Koristi se za otkrivanje pogrešnih vrednosti bitova Uvod u organizaciju računara 10

Kontrola parnosti (2) l Algoritam: – Uz svaku n-bitnu reč se dodaje po jedan

Kontrola parnosti (2) l 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) l Pouzdanost: – Verovatnoća da se greška ne primeti je reda n 2/4*BER 2 l Slabosti: – Greška se ne primećuje ako je izmenjen paran broj bitova Uvod u organizaciju računara 11

Kontrola parnosti u 2 D l Pri prenosu bloka podataka proširuje se prethodni metod:

Kontrola parnosti u 2 D l 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 l Ovim metodom se značajno umanjuje verovatnoća neotkrivenih grešaka Uvod u organizaciju računara 12

Primer 2 D kontrole parnosti Uvod u organizaciju računara 13

Primer 2 D kontrole parnosti Uvod u organizaciju računara 13

Kontrola zbira Ako je blok duži od jedne reči, često se primenjuje metod kontrole

Kontrola zbira Ako je blok duži od jedne reči, često se primenjuje metod kontrole zbira. l Algoritam: l – 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. l Slabosti: – Ne može da prepozna greške neispravnog redosleda reči. Uvod u organizaciju računara 14

Ciklična provera redundanci Prethodne metode imaju ograničene mogućnosti otkrivanja složenih grešaka. l Ciklička provera

Ciklična provera redundanci Prethodne metode imaju ograničene mogućnosti otkrivanja složenih grešaka. l Ciklička provera redundanci (engl. Cyclic Redundancy Checking – CRC) otkriva: l – sve greške na neparnom broju bitova – sve 2 -bitne greške – proširene greške čija je dužina manja od broja redundantnih bitova Uvod u organizaciju računara 15

CRC (2) l Metod CRC je nešto složeniji, ali se često implementira hardverski. l

CRC (2) l Metod CRC je nešto složeniji, ali se često implementira hardverski. l 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. . . a 1 a 0 odgovara polinomu M(x)=anxn+an-1 xn-1+. . . +a 1 x+a 0 Uvod u organizaciju računara 16

CRC (3) l Postupak kodiranja: – odabire se “polinom generator” G(x) stepena k –

CRC (3) l Postupak kodiranja: – odabire se “polinom generator” G(x) stepena k – izračunava se xk. M(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 17

CRC (4) l Postupak dekodiranja: – primljena polinomijalna kodna reč se deli sa G(x)

CRC (4) l 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 18

CRC (5) Postoje greške koje se ovako ne mogu otkriti, ali se dobrim izborom

CRC (5) Postoje greške koje se ovako ne mogu otkriti, ali se dobrim izborom polinom generatora njhov broj smanjuje l Dobri polinom generatori su: l CRC-16 = x 16+x 15+x 2+1 CRC-CCITT = x 16+x 12+x 5+1 CRC-CCi. TT = x 32+x 26+x 23+x 16+x 12+x 11+x 10+x 8+x 7+x 5+x 4+x 2+1 Uvod u organizaciju računara 19

Primer CRC (1) l Neka je: – niska bitova 11100110 – polinom generator G(x)=x

Primer CRC (1) l Neka je: – niska bitova 11100110 – polinom generator G(x)=x 4+x 3+1 l Koja niska bitova se šalje primaocu? Uvod u organizaciju računara 20

Primer CRC (2) l Rešenje: – dodajemo 4 bita 0 (množimo polinom sa x

Primer CRC (2) l Rešenje: – dodajemo 4 bita 0 (množimo polinom sa x 4) i delimo: 11100000 -11001 1011100000 -11001 111000000 -11001 1010000 -11001 110100 -11001 0110 Uvod u organizaciju računara 21

Primer CRC (3) l Na originalnu nisku dopisujemo ostatak 0110 i dobijamo: 11100110 Uvod

Primer CRC (3) l Na originalnu nisku dopisujemo ostatak 0110 i dobijamo: 11100110 Uvod u organizaciju računara 22

Primer CRC (4) Provera po prijemu: – delimo: 11100110 -11001 1011100110 -11001 111000110 -11001

Primer CRC (4) Provera po prijemu: – delimo: 11100110 -11001 1011100110 -11001 111000110 -11001 1010110 -110010 -11001 l ostatak je 0, dakle prenos je ispravan: 1100110 l Uvod u organizaciju računara 23

Metodi za otkrivanje i ispravljanje grešaka l Koriste se često u radu sa memorijom

Metodi za otkrivanje i ispravljanje grešaka l 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 24

Greške u radu sa memorijom l Tvrdi – stalno prisutni defekti – usled neispravnosti

Greške u radu sa memorijom l 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. l Mekani – 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 25

Vrste kodova l SED (single error detection) – kod koji omogućava detekciju grešaka na

Vrste kodova l SED (single error detection) – kod koji omogućava detekciju grešaka na jednom bitu l slično: DED, TED, . . . l SEC (single error correction) – kod koji omogućava korekciju grešaka na jednom bitu l slično: DEC, TEC, . . . Uvod u organizaciju računara 26

Hamingovi kodovi l Najprostiji kod za otkrivanje i korekciju grešaka je Hamingov kod l

Hamingovi kodovi l Najprostiji kod za otkrivanje i korekciju grešaka je Hamingov kod l 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 27

Primer Hamingovog SEC koda a) bitovi podatka b) sa bitovima parnosti c) promena bita

Primer Hamingovog SEC koda a) bitovi podatka b) sa bitovima parnosti c) promena bita usled greške d) lokalizovana greška Uvod u organizaciju računara 28

SEC-DED kodovi l Često se SEC kodovi proširuju tako da osim SEC obavljaju i

SEC-DED kodovi l Često se SEC kodovi proširuju tako da osim SEC obavljaju i posao DED l Obično je za to dovoljno dodavanje svega jednog bita Uvod u organizaciju računara 29

Hamingov SEC-DED kod Dodaje se još jedan bit tako da je ukupan zbir bitova

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 greška e) ispravljena greška g) prepoznato da postoji greška Uvod u organizaciju računara 30

Čuvanje i provera korektnosti zapisa Uvod u organizaciju računara 31

Čuvanje i provera korektnosti zapisa Uvod u organizaciju računara 31

Koncept provere l Za reč dužine M bitova generiše se kod dužine K l

Koncept provere l Za reč dužine M bitova generiše se kod dužine K l Zapisuje se M+K bitova l Nakon čitanja se ponovo generiše ključ K 1 i poredi sa K ekskluzivnom disjunkcijom: – ako je razlika 0, smatra se da nema greške Uvod u organizaciju računara 32

Koncept provere (2) l Ako se za reč dužine M bitova generiše kod dužine

Koncept provere (2) l 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 2 K-1 – za SEC je potrebno da važi 2 K > M+K Uvod u organizaciju računara 33

Potrebne dužine kodova za SEC Uvod u organizaciju računara 34

Potrebne dužine kodova za SEC Uvod u organizaciju računara 34

Primer Dužina osnovne reči je 8 l Dužina koda je 4 l Ukupna dužina

Primer Dužina osnovne reči je 8 l Dužina koda je 4 l Ukupna dužina reči je 12 l Uvod u organizaciju računara 35

Primer (2) l Funkcija kodiranja se bira tako da vrednost kontrolnog bita odgovara zbiru

Primer (2) l 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: C 1 = M 1 M 2 M 4 M 5 M 7 C 2 = M 1 M 3 M 4 M 6 M 7 C 3 = M 2 M 3 M 4 M 8 C 4 = M 5 M 6 M 7 M 8 Uvod u organizaciju računara 36

Primer (3) l Neka je reč M=10110101 l Kod je K=1010 l Neka je

Primer (3) l Neka je reč M=10110101 l Kod je K=1010 l Neka je kasnije izmenjen bit 5: M 1=10100101 l Odgovarajući kod je K 1=0011 l Poređenje K i K 1 daje 1001, što ukazuje da je greška u bitu 5 Uvod u organizaciju računara 37