Loading AI tools
De Wikipédia, l'encyclopédie libre
Le codage 64b/66b (le terme « encodage », parfois utilisé, est impropre ; il provient d'une traduction erronée du mot anglais « encoding ») est un code en ligne qui transforme les données 64 bits en code en ligne 66 bits pour fournir suffisamment de changements d’état pour permettre une récupération du signal d'horloge raisonnable et l’alignement du flux de données sur le récepteur. Il est utilisé dans la mise en réseau et la transmission de données. Il a été défini par le groupe de travail IEEE 802.3 dans le cadre de l’amendement IEEE 802.3ae-2002 qui a introduit Ethernet 10 Gbit/s. Au moment du déploiement du codage 64b/66b, il permettait de transmettre l'Ethernet 10 Gb avec les mêmes lasers que ceux utilisés par SONET OC-192, plutôt que d’exiger des lasers 12,5 Gbit/s dont le déploiement n'était pas attendu avant plusieurs années.
La surcharge de protocole (en) d’un schéma de codage est le rapport entre le nombre de bits de la charge utile brute et le nombre de bits de la charge utile brute plus le nombre de bits de codage ajoutés. La surcharge du codage 64b/66b est de 2 bits de codage pour chaque 64 bits de charge utile, soit 3,125 %. Il s’agit d’une amélioration considérable par rapport à la surcharge de 25 % du schéma de codage 8b/10b utilisé précédemment, qui ajoutait 2 bits de codage à 8 bits de charge utile.
La surcharge peut être réduite en doublant la taille de la charge utile pour produire le codage 128b/130b utilisé par PCIe 3.0.
Comme son nom l’indique, 64 bits de charge utile sont codés en tant qu’entité 66 bits. L’entité 66 bits est créée en préfixant l’un des deux préambules 2 bits possibles aux 64 bits de charge utile.
Les préambules 002 et 112 ne sont pas utilisés et indiquent une erreur si ils apparaissent.
L’utilisation des préambules 012 et 102 garantit une transition de bits tous les 66 bits, ce qui signifie qu’un flux continu de 0 ou de 1 ne peut pas être une donnée valide. Cela permet également une synchronisation horloge/minuterie plus facile, car une transition doit être vue tous les 66 bits.
La charge utile 64 bits est ensuite brouillée à l’aide d’une fonction de brouilleur autosynchrone. Le brouillage n’a pas pour but de chiffrer les données, mais de s’assurer qu’une distribution relativement uniforme de 1 et de 0 se trouve dans les données transmises. Le brouilleur ne peut pas garantir que les données de sortie n’auront jamais une longue suite de 0 ou de 1, ou d’autres propriétés indésirables dans les communications, mais permet de fixer des limites statistiques fortes à la probabilité de tels événements. Les conceptions pratiques choisiront les paramètres du système de manière qu’une erreur de bit due à de longues suites soit extrêmement improbable. Cette méthode est différente de l’approche basée sur le livre de codes du codage 8b/10b.
Le codage et le brouillage sont normalement entièrement implémentés dans le matériel, le brouilleur utilisant un registre à décalage à rétroaction linéaire. Les couches supérieures de la pile logicielle n’ont pas besoin de savoir que la couche de liaison utilise ces méthodes.
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.