Paritätsbit

7 Datenbits
(Graf von 1 Bit) 8 Bit einschließlich Parität
eben seltsam
0000000 0 00000000 00000001
1010001 3 10100011 10100010
1101001 4 11010010 11010011
1111111 7 11111111 11111110

A Paritätsbit, oder Bit überprüfen, ist ein bisschen zu einer Reihe von hinzugefügt Binärcode. Paritätsbits sind eine einfache Form von Fehler erfassen Code. Paritätsbits werden im Allgemeinen auf die kleinsten Einheiten eines Kommunikationsprotokolls angewendet, typischerweise 8-Bit Oktetten (Bytes), obwohl sie auch separat auf eine gesamte Meldungszeichenfolge von Bits angewendet werden können.

Das Paritätsbit sorgt dafür Gesamtzahl von 1 Bit in der Zeichenfolge ist gerade oder ungerade.[1] Dementsprechend gibt es zwei Varianten von Paritätsbits: Sogar Parity Bit und Seltsames Parität. Bei gleichmäßiger Parität werden bei einem bestimmten Satz von Bits die Ereignisse von Bits, deren Wert 1 ist, gezählt. Wenn diese Anzahl ungerade ist, wird der Paritätsbitwert auf 1 gesetzt, wodurch die Gesamtzahl der Vorkommen von 1s im gesamten Satz (einschließlich des Paritätsbits) eine gleichmäßige Zahl ist. Wenn die Anzahl von 1s in einem bestimmten Satz von Bits bereits gleichmäßig ist, ist der Wert des Paritätsbits 0. Bei ungeraden Parität wird die Codierung umgekehrt. Bei einem bestimmten Satz von Bits wird der Paritätsbitwert auf 1 festgelegt, wenn die Anzahl der Bits mit einem Wert von 1 gleichmäßig ist, und die Gesamtzahl von 1s im gesamten Satz (einschließlich des Paritätsbits) eine ungerade Zahl. Wenn die Anzahl von Bits mit einem Wert von 1 ungerade ist, ist die Anzahl bereits ungerade, so dass der Wert des Paritätsbits 0 ist. Auch die Parität ist ein Sonderfall von a zyklische Redundanzprüfung (CRC), wobei der 1-Bit-CRC von der erzeugt wird Polynom x+1.

Parität

In Mathematik Parität kann sich auf die Gleichheit oder Seltsamkeit einer Ganzzahl beziehen, die, wenn sie in seinem geschrieben wurde Binärform, kann nur durch die Untersuchung nur deren bestimmt werden niedrigstwertige Bit.

In der Informationstechnologie bezieht sich Parität auf die Gleichheit oder Seltsamkeit, angesichts einer Reihe von binären Ziffern, auf die Anzahl dieser Bits mit Wert 1. Da die Parität durch den Zustand jedes der Bits bestimmt wird .

In der Telekommunikation ist die von einigen Protokollen bezogene Parität für Fehler-Erkennung. Das Übertragungsmedium ist an beiden Endpunkten voreingestellt, um sich entweder auf eine ungerade Parität oder sogar auf Parität zu einigen. Für jede Sendung von Bits, die bereit sind, zu übertragen (Datenpaket), berechnet der Absender das Paritätsbit, Null oder eins, damit es der vereinbarten Parität, sogar oder ungerade, entspricht. Der Empfänger dieses Pakets prüft zunächst, dass die Parität des Pakets als Ganzes dem Voreinstellung übereinstimmt. Wenn in diesem Paket ein Paritätsfehler vorliegt, fordert dies eine erneute Übertragung dieses Pakets an.

In der Informatik der Paritätsstreifen oder Paritätsdisk in a RAID -Array bietet Error-Korrektur. Paritätsbits sind mit einer Rate von einem Paritätsbit pro geschrieben n Bits, wo n ist die Anzahl der Scheiben im Array. Wenn ein Lesefehler auftritt, wird jedes Bit im Fehlerbereich aus seinem Satz von neu berechnet n Bits. Auf diese Weise erzeugt die Verwendung eines Paritätsbits "Redundanz" für eine Region von der Größe eines Bits bis zur Größe einer Festplatte. Sehen § Redundante Auswahl unabhängiger Scheiben unter.

In der Elektronik kann Transcodierungsdaten mit Parität sehr effizient sein wie Xor Die Gates geben aus, was einem Scheckbit entspricht, das eine gleichmäßige Parität erzeugt, und das XOR -Logikdesign skaliert leicht zu einer beliebigen Anzahl von Eingängen. XOR und und Strukturen umfassen den größten Teil der meisten integrierten Schaltkreise.

Fehlererkennung

Wenn eine ungerade Anzahl von Bits (einschließlich des Paritätsbits) sind übertragen Falsch ist das Paritätsbit falsch und weist darauf hin, dass a Paritätsfehler trat in der Übertragung auf. Das Paritätsbit ist nur zum Erkennen von Fehlern geeignet. es kann nicht Korrekt Fehler, da es keine Möglichkeit gibt, zu bestimmen, welches bestimmte Bit beschädigt ist. Die Daten müssen vollständig verworfen werden und neu übertragen von Grund auf neu. Bei einem lauten Übertragungsmedium kann eine erfolgreiche Übertragung daher lange dauern oder niemals auftreten. Parität hat jedoch den Vorteil, dass es nur ein einziges Bit nutzt und nur eine Reihe von erfordert Xor Gates generieren. Sehen Hamming -Code für ein Beispiel eines fehlerkorrigierenden Codes.

Paritätsbitprüfung wird gelegentlich zum Senden verwendet ASCII Charaktere, die 7 Bit haben und das 8. Bit als Paritätsbit verlassen.

Zum Beispiel kann das Paritätsbit wie folgt berechnet werden. Davon ausgehen Alice und Bob Kommunizieren und Alice möchte Bob die einfache 4-Bit-Nachricht 1001 senden.

Art der Bitparität Erfolgreiches Übertragungsszenario
Sogar Parität

Alice will übertragen: 1001

Alice berechnet Paritätsbitwert: 1+0+0+1 (Mod 2) = 0

Alice fügt Paritätsbit hinzu und sendet: 10010

Bob erhält: 10010

Bob berechnet Parität: 1+0+0+1+0 (Mod 2) = 0

Bob meldet die korrekte Übertragung nach der Beobachtung des erwarteten sogar Ergebnisses.

Seltsame Parität

Alice will übertragen: 1001

Alice berechnet Paritätsbitwert: 1+0+0+1 (Mod 2) = 0

Alice fügt Paritätsbit hinzu und sendet: 10011

Bob erhält: 10011

Bob berechnet die Gesamtparität der Gesamtparität: 1+0+0+1+1 (Mod 2) = 1

Bob meldet korrekte Übertragung nach Beobachtung des erwarteten ungeraden Ergebnisses.

Dieser Mechanismus ermöglicht die Erkennung von einzelnen Bitfehlern, denn wenn ein Bit aufgrund des Leitungsrauschens umgedreht wird, gibt es in den empfangenen Daten eine falsche Anzahl von Einsen. In den beiden obigen Beispielen entspricht der berechnete Paritätswert von Bob dem Paritätsbit in seinem empfangenen Wert, was darauf hinweist, dass es keine einzelnen Bitfehler gibt. Betrachten Sie das folgende Beispiel mit einem Übertragungsfehler im zweiten Bit mit XOR:

Art des Bitparitätsfehlers Fehlgeschlagenes Übertragungsszenario
Sogar Parität

Fehler im zweiten Bit

Alice will übertragen: 1001

Alice berechnet Paritätsbitwert: 1^0^0^1 = 0

Alice fügt Paritätsbit hinzu und sendet: 10010

... Übertragungsfehler ...

Bob erhält: 11010

Bob berechnet die Gesamtparität: 1^1^0^1^0 = 1

Bob meldet eine falsche Übertragung, nachdem das unerwartete ungerade Ergebnis beobachtet wurde.

Sogar Parität

Fehler im Paritätsbit

Alice will übertragen: 1001

Alice berechnet sogar Paritätswert: 1^0^0^1 = 0

Alice sendet: 10010

... Übertragungsfehler ...

Bob erhält: 10011

Bob berechnet die Gesamtparität: 1^0^0^1^1 = 1

Bob meldet eine falsche Übertragung, nachdem das unerwartete ungerade Ergebnis beobachtet wurde.

Es gibt eine Einschränkung für Paritätsschemata. Ein Paritätsbit erfasst nur garantiert eine ungerade Anzahl von Bitfehlern. Wenn eine gleichmäßige Anzahl von Bits Fehler aufweist, zeichnet das Paritätsbit die richtige Anzahl von Einsen auf, obwohl die Daten beschädigt sind. (Siehe auch Fehlererkennung und Korrektur.) Betrachten Sie das gleiche Beispiel wie zuvor mit einer gleichmäßigen Anzahl von beschädigten Bits:

Art des Bitparitätsfehlers Fehlgeschlagenes Übertragungsszenario
Sogar Parität

Zwei korrupte Bits

Alice will übertragen: 1001

Alice berechnet sogar Paritätswert: 1^0^0^1 = 0

Alice sendet: 10010

... Übertragungsfehler ...

Bob erhält: 11011

Bob berechnet die Gesamtparität: 1^1^0^1^1 = 0

Bob meldet eine korrekte Übertragung, obwohl tatsächlich falsch.

Bob beobachtet wie erwartet sogar Parität und fängt damit nicht die beiden Bitfehler auf.

Verwendungszweck

Aufgrund seiner Einfachheit wird Parität in vielen verwendet Hardware- Anwendungen, bei denen ein Betrieb im Falle von Schwierigkeitsgrad wiederholt werden kann oder bei denen der Fehler einfach hilfreich ist. Zum Beispiel die Scsi und PCI -Busse Verwenden Sie Parität, um Übertragungsfehler und viele zu erkennen Mikroprozessor Anweisung Caches Paritätsschutz einbeziehen. Weil die I-cache Daten sind nur eine Kopie von HaupterinnerungEs kann ignoriert und neu abgerufen werden, wenn festgestellt wird, dass es korrupt ist.

Im Serie Datenübertragung, ein gemeinsames Format sind 7 Datenbits, ein gleichmäßiges Paritätsbit und ein oder zwei Stopp-Bits. Dieses Format bietet allen 7-Bit ASCII Charaktere in einem 8-Bit-Byte. Andere Formate sind möglich; 8 Datenbits plus ein Paritätsbit können alle 8-Bit-Byte-Werte vermitteln.

In seriellen Kommunikationskontexten wird die Parität normalerweise von Schnittstellenhardware generiert und überprüft (z. B. a Uart) und am Empfang das Ergebnis für a zur Verfügung gestellt Prozessor wie die CPU (und so auch, zum Beispiel die Betriebssystem) über ein Statusbit in a Hardwareregister in dem Schnittstelle Hardware. Die Wiederherstellung des Fehlers erfolgt normalerweise durch Nachvermittlung der Daten.

Wenn die Gesamtzahl der übertragenen Bits, einschließlich des Paritätsbits, gleichmäßig ist, hat eine ungerade Parität den Vorteil, dass die All-Zeros und All-Ones-Muster beide als Fehler erkannt werden. Wenn die Gesamtzahl der Bits ungerade ist, wird nur eines der Muster als Fehler erkannt, und die Auswahl kann getroffen werden, auf der erwartet wird, dass es um den häufigeren Fehler geht.

RAID -Array

Paritätsdaten werden von RAID -Arrays verwendet (redundante Reihe von unabhängigen/kostengünstigen Scheiben) erreichen Redundanz. Wenn ein Laufwerk im Array fehlschlägt, können verbleibende Daten zu den anderen Laufwerken mit den Paritätsdaten kombiniert werden (unter Verwendung des Booleschen Xor Funktion) Um die fehlenden Daten zu rekonstruieren.

Nehmen Sie zum Beispiel zwei Laufwerke in einem Dreier an Überfall 5 Array enthielt die folgenden Daten:

Laufwerk 1: 01101101
Laufwerk 2: 11010100

Um Paritätsdaten für die beiden Laufwerke zu berechnen, wird ein XOR für ihre Daten durchgeführt:

01101101
Xor 11010100
10111001

Die resultierenden Paritätsdaten, 10111001, wird dann auf dem Laufwerk 3 aufbewahrt.

Sollte einer der drei Laufwerke ausfallen, kann der Inhalt des fehlgeschlagenen Laufwerks auf einem Ersatzlaufwerk rekonstruiert werden, indem die Daten aus den verbleibenden Laufwerken demselben XOR -Betrieb unterzogen werden. Wenn Drive 2 scheitern würde, könnten seine Daten mit den XOR -Ergebnissen des Inhalts der beiden verbleibenden Laufwerke, Laufwerk 1 und Laufwerk 3, umgebaut werden:

Laufwerk 1: 01101101
Fahrt 3: 10111001

folgendermaßen:

10111001
Xor 01101101
11010100

Das Ergebnis dieser XOR -Berechnung ergibt den Inhalt von 2 von 2. 11010100 wird dann auf dem Laufwerk 2 aufbewahrt, wobei das Array vollständig repariert wird.

XOR -Logik entspricht auch gleichbedeutend mit Parität (weil a Xor b Xor c Xor ... kann als XOR behandelt werden (a,b,c, ...) Was ist ein N-Ary-Operator, der nur dann wahr ist, wenn eine ungerade Anzahl von Argumenten wahr ist). Das gleiche XOR -Konzept oben gilt also ähnlich wie größere RAID -Arrays mit Parität unter Verwendung einer beliebigen Anzahl von Festplatten. Bei einem RAID -3 -Array von 12 Laufwerken beteiligen sich 11 Laufwerke an der oben gezeigten XOR -Berechnung und ergeben einen Wert, der dann auf dem speziellen Parity -Laufwerk gespeichert wird.

Erweiterungen und Variationen des Paritätsbitmechanismus "doppelt", "Dual" oder "diagonal" -Parität werden in verwendet Raid-DP.

Geschichte

A Paritätsspur war am ersten anwesend Datenspeicherung von Magnetbanddaten 1951. Parität in dieser Form, die auf mehrere parallele Signale angewendet wird, ist als a bekannt Quer -Redundanz -Überprüfung. Dies kann mit Parität kombiniert werden, die über mehrere Bits berechnet werden, die auf ein einzelnes Signal gesendet werden, a Longitudinal -Redundanzprüfung. In einem parallelen Bus gibt es ein Längsreduktbit pro paralleles Signal.

Parität wurde auch zumindest bei etwas Papierbindung verwendet (Stempelband) Dateneingabesysteme (die Magnetbandsystemen vorausgingen). Auf den Systemen, die von der britischen Firma ICL (ehemals IKT) verkauft wurden, hatte das 1-Zoll-Breite (25 mm) Papierband 8 Lochpositionen, wobei der 8. für Parität war. 7 Positionen wurden für die Daten verwendet, z. B. 7-Bit-ASCII. Die 8. Position hatte ein Loch, das je nach Anzahl der geschlagenen Datenlöcher geschlagen wurde.

Siehe auch

Verweise

  1. ^ Ziemer, Rodgere.; Tranter, William H. (17. März 2014). Kommunikationsprinzipien: Systeme, Modulation und Rauschen (Siebter Aufl.). Hoboken, New Jersey. ISBN 9781118078914. OCLC 856647730.

Externe Links