Regiononline Logo

Was ist Parity?

Es ist wichtig, das die Daten zwischen der CPU (Central Processor Unit) und dem Memory korrekt übermittelt werden. Um dies zu gewährleisten gibt es verschiedene Techniken. Die zwei häufigst verwendeten Techniken der Fehlererkennung (error detection / error correction) sind Parity und ECC.

Daten werden in Gruppen von je 8 Bit (binary digit) zu einem Byte zusammengesetzt. Für die Fehlererkennung wird ein weiteres Daten-Bit (parity bit) hinzugefügt. Dieses Parity-Bit wird abhängig der Anzahl von 1er Bits im Byte auf 0 oder 1 gesetzt.
Bei der Einstellung even (gerade) wird dieses Bit gesetzt wenn die Anzahl der 1er Bits im Byte gerade ist. Bei der Einstellung odd (ungerade) wird dieses Bit gesetzt wenn die Anzahl ungerade ist.

Die Fehler erkennung mit Parity-Bit kann nur einfache Bit-Fehler (single-bit errors) erkennen. Wenn mehr als ein Bit verändert ist, kann diese Fehlererkennung eventuell nicht funktionieren.

Beispiel:
DatenbitParity-Bit (bei even)
1001 1100
1010 1100
1
1

Bei zwei Fehler in einem Byte arbeitet die Parity-Methode nicht einwandfrei.

Bei den heutigen Computersystemen ist die Möglichkeit eines solchen Doppelfehlers so gering, daß die Fehlererkennung mit dem Parity-Bit ein sicheres Mittel ist.

Logisches Parity

Um Kosten zu reduzieren, setzten einige Hersteller Module ein, die einem Rechner das Parity "vorschwindeln". Anstelle einen zusätzlichen DRAM-Chip für die Parity-Informationen einzusetzten, verwenden sie einen Parity-Generation-Chip. Diese generieren immer ein korrektes Parity zur CPU, auch wenn die Daten fehlerhaft sind. Dies überlistet die komplette Parity-Kontrolle im System.

Aber nicht nur die Fehlerkontrolle von der CPU zum Memory geht verloren, es kann auch Timing-Probleme mit diesen Chips geben. Diese müssen erst die Daten lesen und ein korrektes Parity-Bit berechnen. Das Berechnen dauert ca. 5 ns und kann unter Umständen daduch Probleme verursachen.


Zurück

© Copyright by Ralf Schuster, 1997