Qu'est-ce que Bit de parité ?

Bit unique ajouté à une suite de bits de données pour fixer la parité, paire ou impaire, du nombre de 1. Rendre le nombre de 1 pair est la parité paire, le rendre impair la parité impaire, et sa valeur est le OU exclusif de tous les bits de données. Vérifier la parité à la réception détecte un nombre impair d'erreurs de bits, mais pas un nombre pair, et n'indique pas quel bit est erroné. Il est utilisé dans les communications UART et pour protéger mémoires et registres, et combiner plusieurs parités aux couvertures qui se chevauchent donne des codes correcteurs d'erreurs comme les codes de Hamming.

Nom japonais: パリティビット

« Bit de parité » apparaît dans 14 questions d'entraînement réparties sur 8 thèmes, dont Architecture des systèmes et fiabilité, Bases de la théorie de l'information et du codage, Circuits logiques.

Domaine: Bases de la théorie de l'information et du codage

Comment le calculer

En parité paire, le bit de parité vaut 1 si les données contiennent un nombre impair de 1 et 0 si elles en contiennent un nombre pair. Par exemple, la donnée de 7 bits 1011001 contient quatre 1 : le bit de parité paire vaut donc 0. En matériel, on l'obtient simplement en faisant passer tous les bits dans un arbre de portes OU exclusif.

Parité verticale et horizontale

Si l'on dispose les données en tableau et que l'on ajoute un bit de parité à chaque ligne et à chaque colonne, une erreur sur un seul bit peut être localisée, et corrigée, à l'intersection de la ligne et de la colonne dont la parité ne correspond pas. Combiner ainsi plusieurs bits de parité aux couvertures qui se chevauchent est l'idée de base d'un code correcteur d'erreurs comme le code de Hamming.

La parité dans le RAID

Le RAID 5 enregistre comme parité le OU exclusif des données situées à la même position sur plusieurs disques. Si un disque tombe en panne, les données perdues peuvent être recalculées comme le OU exclusif des données restantes et de la parité. Cela montre que lorsqu'on sait quelle partie a été perdue (un effacement, erasure), une seule parité suffit même à la restaurer.

S'entraîner : questions sur Bit de parité

Pour ajouter un bit de parité paire à la donnée de 7 bits 1011001, quelle est la valeur du bit de parité ?

  1. A1
  2. B0
  3. CToujours 1 quelle que soit la donnée
Afficher la réponse et l'explication

Réponse : B. 0

En parité paire, le nombre de 1, bit de parité compris, doit être pair. 1011001 contient quatre 1, nombre déjà pair ; le bit de parité vaut donc 0. Côté réception, un nombre impair de 1 permet de détecter une erreur sur un bit, mais deux erreurs simultanées ne sont pas détectées, et le bit erroné n'est pas identifié. Pour les mémoires exigeant aussi la correction, on utilise un ECC (code de Hamming, etc.) combinant plusieurs parités.

On transmet 8 bits de données plus un bit de parité paire, soit 9 bits au total. Si chaque bit est erroné indépendamment avec une probabilité de 1 %, quelle valeur est la plus proche de la probabilité d'une erreur que le contrôle de parité ne peut pas détecter ?

  1. AEnviron 0,01 %
  2. BEnviron 0,34 %
  3. CEnviron 8,6 %
Afficher la réponse et l'explication

Réponse : B. Environ 0,34 %

Un contrôle de parité détecte un nombre impair de bits erronés, mais un nombre pair de bits erronés ne change pas la parité du nombre de 1 et ne peut donc pas être détecté. Presque toutes les erreurs indétectables sont des erreurs sur 2 bits, dont la probabilité vaut 9C2 × 0,01² × 0,99⁷ = 36 × 0,0001 × 0,932 ≈ 0,0034. La probabilité d'erreurs sur 4 bits ou plus est bien plus faible, si bien que le total reste d'environ 0,34 %.

Questions fréquentes

À quelle fréquence des erreurs échappent-elles à un contrôle de parité ?

Si les bits sont erronés indépendamment, les erreurs qui échappent sont surtout des erreurs sur 2 bits. Quand le taux d'erreur binaire est faible, deux bits erronés à la fois sont encore bien moins probables, si bien que la parité est utile dans bien des cas. Les erreurs en rafale, où un bruit touche plusieurs bits consécutifs, tendent toutefois à produire un nombre pair d'erreurs, et un CRC leur convient mieux.

Comment choisir entre parité paire et parité impaire ?

Leur capacité de détection est la même. Avec la parité impaire, le bit de parité vaut 1 même quand les données sont toutes à 0, si bien qu'un défaut comme une ligne coupée qui laisse tous les bits bloqués à 0 est aussi détecté comme une erreur. Les deux extrémités de la liaison conviennent à l'avance de celle à utiliser.

« Bit de parité » dans les explications

Questions mentionnant « Bit de parité » (14)

  1. Pour ajouter un bit de parité paire à la donnée de 7 bits 1011001, quelle est la valeur du bit de parité ?
  2. On transmet 8 bits de données plus un bit de parité paire, soit 9 bits au total. Si chaque bit est erroné indépendamment avec une probabilité de 1 %, quelle valeur est la plus proche de la probabilité d'une erreur que le contrôle de parité ne peut pas détecter ?
  3. On ajoute à une suite de bits de données un seul bit de parité paire, de sorte que le nombre de 1 soit pair, et le récepteur vérifie le nombre de 1. Quelle description de ce contrôle est correcte ?
  4. Quatre lignes de 4 bits de données ont été envoyées avec, à l'extrémité droite de chaque ligne, un bit de parité paire pour cette ligne, puis une dernière ligne de bits de parité paire pour chaque colonne (parité verticale et horizontale). Les bits reçus étaient ligne 1 : 1011 1, ligne 2 : 0100 0, ligne 3 : 1100 0, ligne 4 : 0101 0 et ligne de parité : 0100 (le bit le plus à droite de chaque ligne est la parité de cette ligne). Si exactement un bit est erroné, quelle est sa position ?
  5. On ajoute à 32 bits de données un code SECDED, qui corrige les erreurs sur 1 bit et détecte les erreurs sur 2 bits. Le nombre r de bits de contrôle d'un code de Hamming est la plus petite valeur qui satisfait 2^r ≥ nombre de bits de données + r + 1, et le SECDED y ajoute 1 bit de parité globale. Combien de bits de contrôle faut-il ?
  6. Pour un UART à 115200 bps au format 8 bits de données, sans parité, 1 bit de stop (8N1), quelle valeur est la plus proche du nombre d'octets transmissibles par seconde ?
  7. Un RAID 5 est constitué de quatre disques capables chacun de 200 opérations d'entrée-sortie aléatoires par seconde (IOPS). Chaque petite écriture aléatoire exige au total quatre opérations d'entrée-sortie : la lecture des anciennes données et de l'ancienne parité, puis l'écriture des nouvelles données et de la nouvelle parité ; on ne tient pas compte de l'effet du cache. Si l'on n'effectue que des écritures, quel est le nombre d'écritures que l'ensemble du RAID 5 peut traiter ?
  8. Dans quel cas la sortie d'une porte XOR (OU exclusif) à 2 entrées vaut-elle 1 ?
  9. Pourquoi la correction d'erreurs quantiques ne peut-elle pas reprendre directement l'approche classique qui consiste à faire trois copies des données et à prendre un vote majoritaire ?
  10. Dans une FIFO asynchrone de 16 mots de profondeur, quelle est la raison correcte pour laquelle les pointeurs d'écriture et de lecture ont 5 bits, soit 1 bit de plus que l'adresse ?
  11. Quelle combinaison donne correctement les trois parties d'un nombre à virgule flottante IEEE 754 ?
  12. Quelle description du RAID 1 est correcte ?
  13. Un RAID 5 est constitué de quatre disques de 4 TB chacun. Quelle est la capacité disponible pour stocker des données ?
  14. Un RAID 6 est constitué de six disques de 8 TB chacun. Quelle combinaison de la capacité disponible pour stocker des données et du nombre de disques pouvant tomber en panne en même temps sans perte de données est correcte ?

Termes associés

RAID ECC (code correcteur d'erreurs) Code de Hamming UART CRC (contrôle de redondance cyclique) Correction d'erreurs quantiques (QEC) Qubit (bit quantique) Superposition quantique (superposition) Intrication quantique (intrication) FIFO asynchrone

Retour au glossaire