Codes (1) Beispiele für die Bedeutung eines n-bit-wortes:



Ähnliche Dokumente
Zahlen und Zeichen (1)

Grundlagen der Technischen Informatik. 2. Übung

Codes (6) Fehlererkennende (EDC) bzw. fehlerkorrigierende Codes (ECC)

Grundlagen Digitaler Systeme (GDS)

Kapitel 3. Codierung von Text (ASCII-Code, Unicode)

Theoretische Grundlagen der Informatik WS 09/10

Frank Weinhold Professur VSR Fakultät für Informatik TU Chemnitz Mai 2011

Einführung in die Kodierungstheorie

0 Im folgenden sei die Wortlänge gleich 8 (d. h.: es wird mit Bytes gearbeitet).

Codierungsverfahren SS Reed-Solomon-Codes zur Mehrblock-Bündelfehler-Korrektur

4. Woche Decodierung; Maximale, Perfekte und Optimale Codes. 4. Woche: Decodierung; Maximale, Perfekte und Optimale Codes 69/ 140

Lineare Codes. Dipl.-Inform. Wolfgang Globke. Institut für Algebra und Geometrie Arbeitsgruppe Differentialgeometrie Universität Karlsruhe 1 / 19

Theoretische Informatik SS 04 Übung 1

3 Der Hamming-Code. Hamming-Codes

Grundlagen der Technischen Informatik. Codierung und Fehlerkorrektur. Kapitel 4.2

Zahlensysteme: Oktal- und Hexadezimalsystem

Übung zur Wirtschaftsinformatik I. Zahlensysteme / Codierung

Professionelle Seminare im Bereich MS-Office

Barcode- Referenzhandbuch

15 Optimales Kodieren

Codierung. Codierung. EAN Europäische Artikelnummer Ziffern 1 und 2 codieren das Hersteller-Land. Ziffer 2 bis 12 codieren Händler und Ware

BITte ein BIT. Vom Bit zum Binärsystem. A Bit Of Magic. 1. Welche Werte kann ein Bit annehmen? 2. Wie viele Zustände können Sie mit 2 Bit darstellen?

Advanced Encryption Standard. Copyright Stefan Dahler 20. Februar 2010 Version 2.0

Zeichen bei Zahlen entschlüsseln

Anzahl Pseudotedraden: Redundanz: Weitere Eigenschaften?

Excel Pivot-Tabellen 2010 effektiv

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang

Rechnerstrukturen WS 2012/13

7 Rechnen mit Polynomen

Modul 114. Zahlensysteme

Informatikgrundlagen I Grundlagen der Informatik I

Grundlagen der Technischen Informatik. Codierung und Fehlerkorrektur. Kapitel 4.2. Codewörter. Codewörter. Strukturierte Codes

Berechnungen in Access Teil I

Informationssysteme Gleitkommazahlen nach dem IEEE-Standard 754. Berechnung von Gleitkommazahlen aus Dezimalzahlen. HSLU T&A Informatik HS10

Einführung in. Logische Schaltungen

Musterlösungen zur Linearen Algebra II Blatt 5

Binärdarstellung von Fliesskommazahlen

Zahlensysteme Seite -1- Zahlensysteme

Übungen zur Vorlesung Grundlagen der Rechnernetze. Zusätzliche Übungen

Daten verarbeiten. Binärzahlen

1. Woche Einführung in die Codierungstheorie, Definition Codes, Präfixcode, kompakte Codes

1 Mathematische Grundlagen

Algorithmische Kryptographie

Grundlagen der Informatik

Abituraufgabe zur Stochastik, Hessen 2009, Grundkurs (TR)

Organisation. Was kommt zum Test? Buch Informatik Grundlagen bis inkl. Kapitel 7.4 Wissensfragen und Rechenbeispiele

Binäre Gleitkommazahlen

QR Code. Christina Nemecek, Jessica Machrowiak

Tel.: Fax: Ein Text oder Programm in einem Editor schreiben und zu ClassPad übertragen.

Ein polyadisches Zahlensystem mit der Basis B ist ein Zahlensystem, in dem eine Zahl x nach Potenzen von B zerlegt wird.

Division Für diesen Abschnitt setzen wir voraus, dass der Koeffizientenring ein Körper ist. Betrachte das Schema

Zahlensysteme. von Christian Bartl

Der Zwei-Quadrate-Satz von Fermat

Synchronisierung. Kommunikationstechnik, SS 08, Prof. Dr. Stefan Brunthaler 73

Empfänger. Sender. Fehlererkennung und ggf. Fehlerkorrektur durch redundante Informationen. Längssicherung durch Paritätsbildung (Blockweise)

Dokumentation IBIS Monitor

4. Jeder Knoten hat höchstens zwei Kinder, ein linkes und ein rechtes.

N Bit binäre Zahlen (signed)

Erweiterung der Aufgabe. Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen:

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

9 Codes. Hochschule für Angewandte Wissenschaften Hamburg FACHBEREICH ELEKTROTECHNIK UND INFORMATIK DIGITALTECHNIK 9-1

1. Das dekadische Ziffernsystem (Dezimalsystem) Eine ganze Zahl z kann man als Summe von Potenzen zur Basis 10 darstellen:

Einrichten eines Postfachs mit Outlook Express / Outlook bis Version 2000

Programmiersprachen und Übersetzer

Anmerkungen zur Übergangsprüfung

Zahlenwinkel: Forscherkarte 1. alleine. Zahlenwinkel: Forschertipp 1

Simplex-Umformung für Dummies

DEUTSCHE BUNDESBANK Seite 1 Z Prüfzifferberechnungsmethoden zur Prüfung von Kontonummern auf ihre Richtigkeit (Stand: September 2015)

Berührungslose Datenerfassung. easyident-usb Stickreader. Art. Nr. FS-0012

Binär Codierte Dezimalzahlen (BCD-Code)

Klicken Sie auf Weiter und es erscheint folgender Dialog

Primzahlen und RSA-Verschlüsselung

Funktion Erläuterung Beispiel

Erstellen von x-y-diagrammen in OpenOffice.calc

Im Folgenden wird Ihnen an einem Beispiel erklärt, wie Sie Excel-Anlagen und Excel-Vorlagen erstellen können.

Hilfe zur Urlaubsplanung und Zeiterfassung

Würfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!.

Basis und Dimension. Als nächstes wollen wir die wichtigen Begriffe Erzeugendensystem und Basis eines Vektorraums definieren.

Mathematik. UND/ODER Verknüpfung. Ungleichungen. Betrag. Intervall. Umgebung

2. Negative Dualzahlen darstellen

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf Seite 1 von 11

Approximation durch Taylorpolynome

Einrichten einer Festplatte mit FDISK unter Windows 95/98/98SE/Me

Benutzerkonto unter Windows 2000

Repetitionsaufgaben Wurzelgleichungen

Zahlen und das Hüten von Geheimnissen (G. Wiese, 23. April 2009)

6 Fehlerkorrigierende Codes

Zahlenmauern. Dr. Maria Koth. Ausgehend von dieser einfachen Bauvorschrift ergibt sich eine Vielzahl an möglichen Aufgabenstellungen.

Die Gleichung A x = a hat für A 0 die eindeutig bestimmte Lösung. Für A=0 und a 0 existiert keine Lösung.

1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage:

R ist freie Software und kann von der Website.

ACDSee Pro 2. ACDSee Pro 2 Tutorials: Übertragung von Fotos (+ Datenbank) auf einen anderen Computer. Über Metadaten und die Datenbank

IrfanView für OeAV-Internetredakteure

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster

ARCO Software - Anleitung zur Umstellung der MWSt

Programmierkurs Java

Die Subnetzmaske/Netzwerkmaske

Definition und Begriffe

Transkript:

Codes () Beispiele für die Bedeutung eines n-bit-wortes: Befehl (instruction) Zahl (number) Zeichen (character) Bildelement (pixel) Vorlesung Rechnerarchitektur und Rechnertechnik SS 24

Codes (2) ASCII (bzw, ISO 7-bit) Zeichencode DEZ HEX Zeichen DEZ HEX Zeichen DEZ HEX Zeichen DEZ HEX Zeichen NUL 32 2 SP 64 4 @ 96 6 ` SOH 33 2! 65 4 A 97 6 a 2 2 STX 34 22 " 66 42 B 98 62 b 3 3 ETX 35 23 # 67 43 C 99 63 c 4 4 EOT 36 24 $ 68 44 D 64 d 5 5 ENQ 37 25 % 69 45 E 65 e 6 6 ACK 38 26 & 7 46 F 2 66 f 7 7 BEL 39 27 ' 7 47 G 3 67 g 8 8 BS 4 28 ( 72 48 H 4 68 h 9 9 HT 4 29 ) 73 49 I 5 69 i A LF 42 2A * 74 4A J 6 6A j B VT 43 2B + 75 4B K 7 6B k 2 C FF 44 2C, 76 4C L 8 6C l 3 D CR 45 2D - 77 4D M 9 6D m 4 E SO 46 2E. 78 4E N 6E n 5 F SI 47 2F / 79 4F O 6F o 6 DLE 48 3 8 5 P 2 7 p 7 DC 49 3 8 5 Q 3 7 q 8 2 DC2 5 32 2 82 52 R 4 72 r 9 3 DC3 5 33 3 83 53 S 5 73 s 2 4 DC4 52 34 4 84 54 T 6 74 t 2 5 NAK 53 35 5 85 55 U 7 75 u 22 6 SYN 54 36 6 86 56 V 8 76 v 23 7 ETB 55 37 7 87 57 W 9 77 w 24 8 CAN 56 38 8 88 58 X 2 78 x 25 9 EM 57 39 9 89 59 Y 2 79 y 26 A SUB 58 3A : 9 5A Z 22 7A z 27 B ESC 59 3B ; 9 5B [ 23 7B { 28 C FS 6 3C < 92 5C \ 24 7C 29 D GS 6 3D = 93 5D ] 25 7D } 3 E RS 62 3E > 94 5E ^ 26 7E ~ 3 F US 63 3F? 95 5F _ 27 7F DEL Vorlesung Rechnerarchitektur und Rechnertechnik SS 24

Codes (3) Erweiterungen des ASCII-Codes: ISO 646 (Latin-) ISO 8859 (code pages) ISO 8859- (Latin-, Westeuropa) ISO 8859-2 (Latin-2, Zentral- und Osteuropa, slawische Sprachen) ISO 8859-3 (Latin-3, Südeuropa, z.b. türkisch, maltesisch, Esperanto) ISO 8859-4 (Latin-4, Nordeuropa, z.b. baltische Sprachen) ISO 8859-5 (Kyrillisch, z.b. Bulgarisch, Russisch, Serbisch)... ISO 646 (Unicode) Vorlesung Rechnerarchitektur und Rechnertechnik SS 24

Codes (4) Unicode 65,536 code points enthält Latin- als Untermenge (336 code points) weitere Sprachenbeispiele: griechisch (44), kyrillisch (256), armenisch (96), hebräisch (2) code points für Sonderzeichen: z.b. Indizes (48), Währungssymbole (48), math. Symbole (256) Symbole für chinesisch, japanisch, koreanisch 6,4 code points frei definierbar für den lokalen Gebrauch steigende Akzeptanz, wird schon unterstützt von einigen Programmiersprachen (Java) und Betriebssystemen (Windows NT Windows 8, Linux, Mac OSX) Vorlesung Rechnerarchitektur und Rechnertechnik SS 24

Codes (5) Beispiel für die Verwendung von graphischen Symbolen (Teletext): Zeichensatztabelle (westeuropäische Sprachen) für den Videotext Decoder SAA528 (Philips) Vorlesung Rechnerarchitektur und Rechnertechnik SS 24

Codes (6) Bit-map: Transformation eines Bildes in ein rechteckiges Feld mit Bildpunkten (Pixel) Pixel: kleinste Bildinformationseinheit (Analogie zu bit) Pixel kann Attribute besitzen (z.b. Farbe) sehr kapazitätsintensiv (Speicher, Bandbreite) komplexe Komprimierungstechniken (z.b. MPEG zur Bildübertragung) Vorlesung Rechnerarchitektur und Rechnertechnik SS 24

Codes (7) Distanz zwischen 2 Binärworten Wort Wort 2 Unterschied Hamming-Abstand x x x x 3 x x 2 x Der Hamming-Abstand ist einfach die Anzahl von Positionen, in denen sich zwei binäre Folgen unterscheiden. Der 4-bit GRAY CODE Dezimalwert Binärwert Graycode Dezimalwert Binärwert Graycode 2 3 4 5 6 7 8 9 2 3 4 5 Vorlesung Rechnerarchitektur und Rechnertechnik SS 24

Codes (8) Optischer Codierer mit BINÄR CODES Sektor Winkel Binärcode 2 3 4 5 6 7-45 45-9 9-35 35-8 8-225 225-27 27-35 35-36 Optischer Codierer mit GRAY CODES Lichtdetektoren Lichtquellen binäre Ausgänge Sektor Winkel Graycode 2 3 4 5 6 7-45 45-9 9-35 35-8 8-225 225-27 27-35 35-36 undurchsichtig - logisch transparent - logisch Vorlesung Rechnerarchitektur und Rechnertechnik SS 24

Codes (9) Umwandlung Binär Codes in Gray Codes Umwandlung Gray Codes in Binär Codes binary gray gray binary b = g g = b b = g g = b b 2 = g 2 g 2 = b 2 b 3 = g 3 g 3 = b 3 b 4 g 4 g 4 b 4 Vorlesung Rechnerarchitektur und Rechnertechnik SS 24

Codes () Beispiel einer Codierscheibe Vorlesung Rechnerarchitektur und Rechnertechnik SS 24

Codes () Fehlererkennende (EDC) bzw. fehlerkorrigierende Codes (ECC) Einsatz von ECCs insbesondere bei: stark gestörten Übertragungswegen militärische Datenübertragungen auf Funkwegen bei Computerspeichern, um Lesefehler ohne Wiederholvorgang zu beheben z.b. ECC-RAM, CD, Plattenspeicher Definitionen: Codewort:= mit zusätzlichen (redundanten) Kontrollbits versehenes Quellwort m:= Länge des Quellwortes (Anzahl der Nutzdatenbits) r:= Anzahl der Kontrollbits n:= m + r := Länge des Codewortes Ein binärer Code ist eine Teilmenge von R 2 n. Seine Elemente können auch als Codevektoren (Spaltenvektoren) aufgefasst werden m r Codewort Vorlesung Rechnerarchitektur und Rechnertechnik SS 24

Codes (2) Hammingdistanz: Seien x und y Codewörter im R 2 n. Dann heißt die Funktion d(x,y):= Σ x i + y i mit i=,..., n Hammingdistanz von x und y. Hammingdistanz eines Codes: Sei C R 2 n ein Code. Dann ist d(c) := min(d(x,y) x,y C x y) Die Hammingdistanz des gesamten Codes (Menge aller Codewörter), d.h. gleich der minimalen Hammingdistanz zwischen beliebigen 2 beliebigen Codewörtern dieses Codes. Hammingdistanz als Metrik: Seien x,y Elemente der Menge O, mit d: O x O R eine Funktion auf O. d heißt Metrik, wenn die Axiome der Metrik für alle x,y,z O gelten: d(x,y) ; d(x,y) = x = y (Nichtnegativität) d(x,y) = d(y,x) (Symmetrie) d(x,y) d(x,z) + d(z,y) (Dreiecksungleichung) die Hammingdistanz d ist eine Metrik auf R 2 n. Vorlesung Rechnerarchitektur und Rechnertechnik SS 24

Codes (3) Prüfbarkeit auf p-bit-fehler: Sei C R 2 n ein Code. C heißt auf p-bit-fehler prüfbar wenn für jedes x aus C gilt: K(x,p) C ={x}, wobei K(x,p):= {y d(y,x) p} C ist auf p-bit-fehler prüfbar genau dann wenn für alle x,y aus C gilt: d(x,y) p+ Korrigierbarkeit von p-bit-fehlern: C heißt auf p-bit-fehler korrigierbar, wenn für alle x,y aus C gilt: K(x,p) K(y,p) = { }. C ist auf p-bit- Fehler korrigierbar genau dann wenn für alle x,y aus C gilt: d(x,y) 2p+ Vorlesung Rechnerarchitektur und Rechnertechnik SS 24

Codes (4) Veranschaulichung des Codeprinzips: m 2 gültige Codewörter n 2 mögliche Codewörter räumliche Darstellung von Codes: Ungültiges Codewort Gültiges Codewort Vorlesung Rechnerarchitektur und Rechnertechnik SS 24

Codes (5) Paritätscode mit geraden und ungeraden Paritäten: Nachricht Codewort (gerade Parität) Codewort (ungerade Parität) gerades Paritätsbit (even) ungerades Paritätsbit (odd) Vorlesung Rechnerarchitektur und Rechnertechnik SS 24

Codes (6) Paritätscode für einen Block von Quellworten (geblockter Paritätscode): Bit Wort Wort 2 Wort 3 Wort 4 Wort 5 Wort 6 D D D 2 Bit Wort Wort 2 Wort 3 Wort 4 Wort 5 Wort 6 Wort 7 D D D 2 D 3 Vertikale Paritätsbits Horizontale Paritätswort Vorlesung Rechnerarchitektur und Rechnertechnik SS 24

Codes (7) Paritätscode für einen Block von Quellworten (geblockter Paritätscode): Bit Wort Wort 2 Wort 3 Wort 4 Wort 5 Wort 6 Wort 7 D D D 2 D 3 ok X ok ok ok ok X ok ok ok ok Durch Erkennung des Paritätsfehlers in einer Zeile kann die fehlerhafte Bitposition gefunden werden (z.b. D.). Durch Erkennung eines Paritätsfehlers in einer Spalte kann das fehlerhafte Wort gefunden erkannt werden (z.b. Wort 3). Nun kann der Fehler lokalisiert werden: Bit D im Wort 3. Vorlesung Rechnerarchitektur und Rechnertechnik SS 24

Codes (8) Anzahl der benötigten Kontrollbits für einen Einfach-ECC: Wortbreite Prüfbits Gesamtgröße Overhead in % 8 6 32 64 28 256 52 4 5 6 7 8 9 2 2 38 7 36 265 522 5 3 9 6 4 2 Vorlesung Rechnerarchitektur und Rechnertechnik SS 24

Codes (9) Kurzdarstellung des Hamming-Algorithmus:. Kodierung auf der Sender (Schreib-)seite: Die Bits des Codewortes werden von bis n (n=m+r) durchnumeriert, wobei die Positionsnummer als binäres Polynom dargestellt wird. Als r Kontrollbits p i werden jene Bits verwendet, deren Positionsnummer eine Zweierpotenz darstellt, also die Bits,2,4,...,2 r-. Die restlichen Bits mit den Positionsnummern 3,5,6,7,9... werden mit den m Datenbits d i an der Position x i belegt. Die Kontrollbits dienen als Paritätsbits. Das Kontrollbit p i stellt die Parität aller Nutzdatenbits d j mit x j = her, deren i-ter Polynomial-Koeffizient (Positionsnummer an der Stelle i) eine enthält. Bit-Nr. x i 7 6 5 4 3 2 Zuordnung d 3 d 2 d p 2 d p p Polynomial- Koeffizienten 2 2 2 2 P 2 = d 3 xor d 2 xor d P = d 3 xor d 2 xor d P = d 3 xor d xor d Vorlesung Rechnerarchitektur und Rechnertechnik SS 24

Codes (2) Kurzdarstellung des Hamming-Algorithmus: 2. Fehlerkontrolle auf der Empfänger (Lese-)seite: Auf der Basis des vorliegenden Codewortes werden erneut nach der gleichen Regel wie oben Kontrollbits p * i erzeugt Es wird das Syndrom S gebildet, wobei S i = p i xor p * i für i =,2,4,...,2 r-. Ist das zu kontrollierende Codewort fehlerfrei S = Existiert genau ein Fehler S als Binärzahl gelesen identifiziert die Positionsnummer des zu korrigierenden Bits. Vorlesung Rechnerarchitektur und Rechnertechnik SS 24

Codes (2) Prinzipielle Idee hinter dem Hamming-Algorithmus: A B C Vorlesung Rechnerarchitektur und Rechnertechnik SS 24

Codes (22) Prinzipielle Idee hinter dem Hamming-Algorithmus: d p p d 3 d d 2 p 2 Vorlesung Rechnerarchitektur und Rechnertechnik SS 24

Codes (23) Beispiel: Codiertes Wort: 2 3 4 5 6 7 8 9 2 3 4 5 6 7 8 9 2 2 Paritäts-Bits Paritätsbit falsch (,3,5,7,9,,3,5,7,9,2 enthalten zusammen 5 Einsen) Paritätsbit 2 richtig (2,3,6,7,,,4,5,8,9, enthalten zusammen 6 Einsen) Paritätsbit 4 falsch (4,5,6,7,2,3,4,5,2,2 enthalten zusammen 5 Einsen) Paritätsbit 8 richtig (8,9,,,2,3,4,5 enthalten zusammen 2 Einsen) Paritätsbit 6 richtig (6,7,8,9,2,2 enthalten zusammen 4 Einsen) Vorlesung Rechnerarchitektur und Rechnertechnik SS 24

Codes (23a) Beispiel zum Erzeugen einer Hamming-Codierung Bitposition 2 3 4 5 6 7 Kontrollbits p p p 2 Datenbits c c c 2 c 3 Durchnumerieren der Bit-Positionen beginnend mit Markieren der Kontrollbit-Positionen an den Stellen 2 bis 2 r, also, 2, 4, 8... Auffüllen der restlichen (freien) Positionen durch Datenbits Vorlesung Rechnerarchitektur und Rechnertechnik SS 24

Codes (23b) Beispiel zum Prüfen einer Hamming-Codierung Bitposition 2 3 4 5 6 7 Kontrollbits p p p 2 Datenbits c c c 2 c 3 Datencode: Eintragen der zu übertragenden Datenbits Vorlesung Rechnerarchitektur und Rechnertechnik SS 24

Codes (23c) Beispiel zum Prüfen einer Hamming-Codierung Bitposition 2 3 4 5 6 7 Kontrollbits p p p 2 Datenbits c c c 2 c 3 Datencode: für p : für p : für p 2 : Eintragen der Polynolialcodes für jede Bit-Nr. zur Gruppierung von Kontroll- und Datenbits Alle mit markierten Positionen gehören zu einer Gruppe Vorlesung Rechnerarchitektur und Rechnertechnik SS 24

Codes (23d) Beispiel zum Prüfen einer Hamming-Codierung Bitposition 2 3 4 5 6 7 Kontrollbits p p p 2 Datenbits c c c 2 c 3 Datencode: für p : für p : für p 2 : Übertragen der bekannten Datenbits an die vorher markierten Positionen Vorlesung Rechnerarchitektur und Rechnertechnik SS 24

Codes (23e) Beispiel zum Prüfen einer Hamming-Codierung Bitposition 2 3 4 5 6 7 Kontrollbits p p p 2 Codebits c c c 2 c 3 Datencode: für p : für p : für p 2 : Ergebnis: Ein Kontrollbit wird so gesetzt, dass die Anzahl der gesetzten Bits des kontrollierten Bereiches gerade ist. Vorlesung Rechnerarchitektur und Rechnertechnik SS 24

Codes (23f) Beispiel zum Prüfen einer Hamming-Codierung Bitposition 2 3 4 5 6 7 Kontrollbits p p p 2 Datenbits c c c 2 c 3 Code: Durchnumerieren der Bit-Positionen beginnend mit Markieren der Kontrollbit-Positionen an den Stellen 2 bis 2 r, also, 2, 4, 8... Auffüllen der restlichen (freien) Positionen durch Datenbits Vorlesung Rechnerarchitektur und Rechnertechnik SS 24

Codes (23g) Beispiel zum Prüfen einer Hamming-Codierung Bitposition 2 3 4 5 6 7 Kontrollbits p p p 2 Datenbits c c c 2 c 3 Code: für p : für p : für p 2 : Zuordnung der Codebits zu Gruppen entsprechend der durch die Polynomialcodes der Bit-Nummern mit einer markierten Positionen Vorlesung Rechnerarchitektur und Rechnertechnik SS 24

Codes (23h) Beispiel zum Prüfen einer Hamming-Codierung Bitposition 2 3 4 5 6 7 Kontrollbits p p p 2 p* Datenbits c c c 2 c 3 Code: für p : für p : für p 2 : Bilden des Syndroms S Nochmaliges Erzeugen der Kontrollbits und Verknüpfung dieser mittels XOR mit den mitgelieferten Kontrallbits Aufgrund gleicher logischer Operationen für Kontrollbit- und Syndromerzeugung kann das Syndrom auch durch Ermitteln der Parität über die gesamte Gruppe gebildet werden Vorlesung Rechnerarchitektur und Rechnertechnik SS 24

Codes (23i) Beispiel zum Prüfen einer Hamming-Codierung Bitposition 2 3 4 5 6 7 Kontrollbits p p p 2 p* S Datenbits c c c 2 c 3 Code: für p* : 2 für p* : 2 für p* 2 : 2 2 4 Korrektur: Interpretation des Syndroms S als Polynomialcode wenn S=, so trat kein Fehler auf wenn S, so gibt S sie Nummer des fehlerhaften Bits an ggf. Korrektur des fehlerhaften Bits Vorlesung Rechnerarchitektur und Rechnertechnik SS 24

Codes (24) Weitere Eigenschaften von Hamming-Codes: Die (Komponentenweise gebildete) Summe mod2 zweier Codewörter ist wieder ein Codewort. Damit ist der Code auffaßbar als ein Vektorraum über einem Körper mit 2 Elementen. Dafür gibt es eine mathematische. Theorie (Lineare C.) Die Kugeln mit Radius um Codewörter sind nicht nur disjunkt, sondern enthalten alle möglichen Wörter der Länge n. Jedes Wort der Länge n kann decodiert werden. Ein Code dieser Eigenschaft heißt perfekt. Geht man von x x 2...x n über zu x 2...x n x (zyklischer Shift), so entsteht aus einem Codewort wiederum ein Codewort. Ein Code dieser Eigenschaft heißt zyklisch. Vorlesung Rechnerarchitektur und Rechnertechnik SS 24

Codes (25) Polynomialcodes Algorithmus zur Berechnung der Prüfsumme:. r sei der Grad des Polynoms G(x). Füge r Null-Bits zum niederwertigen Ende des Frames (Quellwortes) hinzu, so dass er nun m+r Bits enthält und mit dem Polynom x r M(x) korrespondiert. 2. Dividiere den Polynom x r M(x) durch den Polynom G(x) unter Nutzung der Modulo-2-Division. 3. Subtrahiere den Rest, der immer r oder weniger Bits enthält, vom Polynom x r M(x) unter Nutzung der Modulo-2-Subtraktion. Das Ergebnis ist der Frame mit Prüfsumme, der übertragen wird. Dieser Polynom heißt T(x). Vorlesung Rechnerarchitektur und Rechnertechnik SS 24

Polynomialcodes Beispiel: : = Rest Codes (26) Frame (Quellwort): Generator: Nachricht nach dem Anfügen von vier Nullen: G(x)=4 Rest: Übertragener Frame: Vorlesung Rechnerarchitektur und Rechnertechnik SS 24

Codes (27) Drei (Generator-)Polynome sind zum internationalen Standard geworden: CRC-2 = x 2 + x + x 3 + x 2 + x + CRC-6 = x 6 + x 5 + x 2 + CRC-CCITT = x 6 + x 2 + x 5 + Eigenschaften der 6-Bit Prüfsumme (z.b. CRC-6 and CRC-CCITT): entdeckt werden: alle Einfach- und Doppelfehler alle Fehler mit einer ungeraden Anzahl von Bits alle Burst-Fehler mit der Länge 6 oder weniger 99.997% der 7-Bit-Burst-Fehler 99.998% der 8-Bit-Fehler und längere Burst-Fehler Vorlesung Rechnerarchitektur und Rechnertechnik SS 24

Codes (28) Huffman - Code: Kodierung von 4 Lebensmittelartikeln mit einem 2 Bit - Binärcode: Der entsprechende Huffman - Code: Element Code Element Prozentsatz der Übertragung Code Kartoffeln Zwiebeln Bohnen Avocado Kartoffeln Zwiebeln Bohnen Avocado 7 4 9 7 Beispiel für die Darstellung des Huffman - Codes als Binärbaum: Kartoffeln Bohnen Start Avocado Zwiebeln Vorlesung Rechnerarchitektur und Rechnertechnik SS 24