Otkrivanje i ispravljanje grešaka

Slides:



Advertisements
Similar presentations
Welcome to the challenges of the Sixth Form. Even when you have problems there will always be a way to overcome them. In Sixth Form there can be a range.
Advertisements

Torin Franz & Evan Frick Hanover College. Introduction  Stroop (1935)  Asked participants to report the ink color of 100 words  The spelled color did.
Effective Communication The Magic of Language List 3 written ways you communicate on the job Bell Ringer: Answer the following questions in your notes:
Writing and Referencing 101. Some APA basics Paraphrasing: * Disclaimer: examples are NOT from actual articles One solution to the issue is moving tables.
Procentni račun Osnovne veličine procentnog računa su: -glavnica G -procentna stopa p -procentni prinos P Glavnica G je osnovna vrednost u odnosu na koju.
Brain Boot Camp Study Smarter, not Harder. Broca’s Area Test A big black bug bit a big black bear, made the big black bear bleed blood.
1. Grab a seat 2. Get a drink 3. Choose a bun (or two) 4. Have a chat.
Carre’s Grammar School Whole School. Carre’s Grammar School So why bother? I cnduo't bvleiee taht I culod aulaclty uesdtannrd waht I was rdnaieg. Unisg.
Literacy Workshop. Areas of Literacy Reading Speaking and Listening Writing.
Year 1 Phonics workshop.
Flowers for Algernon Look up the words on both sides of the sheet. Write a clear definition in the right column. Use the first definition unless stated.
Hawes Down Infant School Excellence and Enjoyment
TENSES: PAST SIMPLE and PAST CONTINUOUS Prošla vremena: forma i upotreba Past simple ili obično prošlo vreme gradi se tako što se na infinitiv glagola.
Matična ploča Mina Mirković I6.
Autor: Irena Čučković, II-2
Advanced Stroop effect
Petlje WHILE – WEND.
Fazna promena u k-GD-SAT problemu
Java Hello world !.
Algoritamske/programske strukture
Nadgradnja klasa i nasljeđivanje – 3
Programi,Podaci,Varijable,Računanje- Uvod
Grafičke kartice.
Programiranje - Blokovi naredbi i logički tipovi –
IP šema adresiranja.
CheckBox RadioButton RadioGroup
Naredbe ciklusa.
OPERACIONI POJAČAVAČI SA DIFERENCIJALNIM ULAZOM I IZLAZOM
Petlje FOR - NEXT.
REPEAT…UNTIL Naredbe ciklusa.
Internet mreže, FTN - KZI
Programi,Podaci,Varijable,Računanje - 2
Sloj veze podataka.
PROGRAMSKE PETLJE Milenković Gabrijela.
Konveksni omotač (red O(n log (n)))
KREIRANJE OBJEKATA.
Video zapis.
Uvod u programiranje - matematika – X predavanje
RAZGRANATA STRUKTURA Zadaci i rešenja
RAZGRANATA STRUKTURA Zadaci i rešenja
14 UNUTRAŠNJE I ANONIMNE KLASE
HDLC (High-Level Data Link Control)
Struktura MAC adrese i Ethernet okvira
Organizacija sistema zasnovana na
Element form Milena Kostadinović.
MessageBox.
Pojmovi digitalnog zapisa
Internet FTP usluga.
1.6. Pohrana podataka.
PROGRAMSKI JEZIK PASCAL
MATEMATIČKI FAKULTET, UNIVERZITET U BEOGRADU
Even though the next page may look weird, you can still read it!
Osnovni simboli jezika Pascal
Do While ... Loop struktura
MagistralA (bus) Milan Milovanovic I6.
Skup instrukcija procesora
Fakultet elektrotehnike i računarstva
Hidden Biases of Good People
St Mary’s Catholic Primary School
Reading and Phonics in the Early Years 2nd October 2018
Vježbanje.
Language.
KS1 Literacy and Maths Workshop Thursday 27th September 2018
The Dingle Parent Reading Workshop
Dvostruka autentifikacija
Can you read this?? I cnduo't bvleiee taht I culod aulaclty uesdtannrd waht I was rdnaieg. Unisg the icndeblire pweor of the hmuan mnid, aocdcrnig to.
St Mary’s Catholic Primary School
INTERPOLACIJA PO DIJELOVIMA POLINOMIMA
Hour of Code Coding Jetpack Jumper Mateja Hržica, MSP.
Iracionalni brojevi
Presentation transcript:

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

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 Greš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 3

Uvod u organizaciju računara Pristupi 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 4

Uvod u organizaciju računara Kontrola 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 5

Uvod u organizaciju računara Kontrola 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 6

Uvod u organizaciju računara Izbor 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 7

Uvod u organizaciju računara Pouzdanost 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 8

Uvod u organizaciju računara Tipovi 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 9

Uvod u organizaciju računara Metode 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 10

Uvod u organizaciju računara Kontrola 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 11

Uvod u organizaciju računara 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 12

Uvod u organizaciju računara Kontrola 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 13

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

Uvod u organizaciju računara 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 15

Uvod u organizaciju računara Ciklična provera redundantnosti 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 16

Uvod u organizaciju računara 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 17

Uvod u organizaciju računara 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 18

Uvod u organizaciju računara 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 19

Uvod u organizaciju računara 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 20

Uvod u organizaciju računara 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 21

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

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

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

Uvod u organizaciju računara Metodi 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 25

Uvod u organizaciju računara Greš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 26

Uvod u organizaciju računara Vrste 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 27

Uvod u organizaciju računara Hamingovi 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 28

Uvod u organizaciju računara 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 29

Uvod u organizaciju računara SEC-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 30

Uvod u organizaciju računara 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 31

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

Uvod u organizaciju računara Koncept provere Za reč dužine M bitova generiše se kod dužine K Zapisuje se M+K bitova Nakon č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 33

Uvod u organizaciju računara 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 34

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

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

Uvod u organizaciju računara 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 37

Uvod u organizaciju računara Primer (3) Neka je reč M=10110101 Kod je K=1010 Neka 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 Uvod u organizaciju računara 38