Computerhardware: RAM: Parität

Aus Wikibooks

Wechseln zu: Navigation, Suche

Inhaltsverzeichnis


[Bearbeiten] Korrekturverfahren

[Bearbeiten] Parität

Das Hinzufügen einer Parität ist eins der einfachsten Verfahren zur Fehlererkennung. Wie funktioniert es?

Zu jeweils acht Datenbits wird ein neuntes Bit, das Paritätsbit, hinzugefügt. Dieses Bit enthält keine Nutzinformation, sondern dient nur der Fehlerkontrolle. Der Wert des Paritätsbits wird abhängig von den Datenbits berechnet.

  • Das Paritätsbit ist Null, wenn im Datenbyte die Anzahl der Einsen ungerade ist.
  • Das Paritätsbit ist Eins, wenn im Datenbyte die Anzahl der Einsen gerade ist.

Anders und einfacher ausgedrückt: Zählt man die Anzahl der Einsen in den Datenbits und im Paritätsbit zusammen, muss stets eine ungerade Zahl herauskommen (das nennt man dann „ungerade Parität“)

Als Beispiel betrachten wir vier aufeinanderfolgende Bytes, nummeriert von 1 bis 4. Die Bits auf gelben Grund sind die Paritätsbits. Es wird die ungerade Parität verwendet.

Byte 1    0 1 1 1 0 0 0 0 0
Byte 2    0 0 0 1 0 0 1 0 1
Byte 3    1 0 0 1 1 0 0 0 0
Byte 4    0 0 0 0 0 0 0 0 1

Angenommen, es sind zwei Bits falsch. Die falschen Bits sind rot, fett und kursiv hervorgehoben.

Byte 1    0 0 1 1 0 0 0 0 0
Byte 2    0 0 1 1 0 0 1 0 1
Byte 3    1 0 0 1 1 0 0 0 0
Byte 4    0 0 0 0 0 0 0 0 1

Im ersten und zweiten Byte ist die Anzahl der Einsen jetzt gerade, die Parität stimmt nicht mehr! Jetzt sollte die Überwachungsschaltung Alarm schlagen.

Mit Hilfe der Paritätsprüfung entdeckt der Chipsatz Bitfehler in den Speichermodulen. Bei Fehlern kann der PC anhalten und eine Meldung wie z. B. "Parity Error at xxxx: yyyy" ausgeben.


Werden pro Byte zwei oder mehr Paritätsbits verwendet, wird außer der Entdeckung von Bitfehlern auch die Korrektur von Fehlern möglich. Besonders in Servern wird gern ECC-RAM (Error Correction Code) verwendet, auch EDC-RAM (Error Detecting and Correcting) genannt. ECC-RAM erkennt und korrigiert Einzelbitfehler selbständig. Diese Bausteine sind um etwa 40 Prozent teurer als „normale“ RAM. Zudem muss auch der Chipsatz ECC unterstützen. Bei Serverplatinen ist ECC-RAM - Unterstützung üblich.

[Bearbeiten] ECC-RAM

[Bearbeiten] Zyklischer Code

Persönliche Werkzeuge