Bit

Restez toujours informé : suivez-nous sur Google (☆)

Introduction

Le bit est un chiffre binaire, c'est-à-dire 0 ou 1. Il est donc aussi une unité de mesure en informatique, celle désignant la quantité élémentaire d'information représentée par un chiffre du système binaire. On en doit l'invention à John Tukey et la popularisation à Claude Shannon.

Vocabulaire

Le mot « bit » est la contraction des mots anglais binary digit, qui signifient « chiffre binaire », avec un jeu de mot sur bit, « morceau ».

Il ne faut pas confondre un bit avec un byte, mot anglais qui se prononce /bait/ et se traduit par multiplet, association d'objets semblables. En informatique, le byte est un groupe élémentaire de 6 à 9 bits, généralement 8, ce qui dans ce cas fait un octet.

Notation des valeurs

Un bit ne peut prendre que deux valeurs. Selon le contexte, numérique, logique (voir algèbre de Boole), électronique numérique, ou magnétique, on les appelle « zéro » et « un » ce qui équivaut respectivement à « faux » et « vrai », « ouvert » et « fermé », ou « nord » et « sud » :

ContexteValeurs
numérique01
logiquenon/fauxoui/vrai
espaceici
électroniqueouvertfermé
magnétiquenordsud
optiquenoirblanc

La valeur 0 est associée à « ouvert » en électronique, car lorsqu'un interrupteur est ouvert, alors le circuit est ouvert, et le courant ne passe pas.

Abréviation et symbole

Il n'y a pas de standard universellement accepté au sujet des abréviations de bit et byte. Un standard fréquemment cité est celui du Commission électrotechnique internationale IEC 60027 (en) qui définit bit comme étant le symbole de l'unité binaire (par exemple, kbit pour kilobit). Le même standard définit o et B pour le byte.

Aujourd'hui, le standard harmonisé ISO/IEC IEC 80000-13:2008 (en) remplace et annule les articles 3.8 et 3.9 de la norme IEC 60027-2:2005 (ceux relatifs à la théorie de l'information et aux préfixes binaires).

Un autre standard souvent cité est IEEE 1541 (en) qui donne b comme symbole d'unité pour bit et B pour byte. Cette convention est fréquemment utilisée en informatique, mais ne jouit pas d'une reconnaissance internationale pour plusieurs raisons :

  • ces deux symboles sont déjà utilisés pour d'autres unités : b pour le barn et B pour le bel ;
  • bit est déjà l'abréviation de binary digit, il y a peu de raison de l'abréger encore ;
  • l'usage du SI veut que les majuscules aux unités sont réservées à celles qui ont pour origine le nom d'une personne (Ampère, Volt, etc.) ;
  • au lieu de byte, le terme octet est utilisé dans certains domaines (par l'UIT notamment) et dans les pays francophones, ce qui rend plus difficile l'adoption d'un standard ;
  • b est parfois utilisé comme symbole du byte, ainsi que bit pour le bit.

Le bel est rarement utilisé tel quel, on emploie plutôt le décibel (dB), qu'il est peu probable de confondre avec un décibyte, l'éventualité d'une confusion est faible, même si les deux unités sont utilisées en télécommunications.

Parallélisation du train de bits

Des années 1970 jusqu'à vers 1986, les fondeurs ont cherché à faire traiter les plus grands nombres entiers possibles par cycle d'horloge par leurs processeurs les plus puissants. En effet il est beaucoup plus efficace en termes de rapidité de faire par une instruction un calcul sur un chiffre codé sur grand nombre d'octets plutôt que de décomposer l'opération en plusieurs opérations qui manipulent des chiffres plus petits. Autrement dit, une multiplication sur 2 octets est beaucoup plus efficace que deux multiplications, un décalage et une addition à retenue sur 1 octet. Par exemple, en Hexadécimal 0x41 * 0x5 (soit 0x145) est plus rapide que 0x4*0x5 (soit 0x14), décalé d'un octet, plus 0x1*0x5. Le résultat est similaire pour les additions.

L'Intel 4004 est le premier microprocesseur. Il manipulait des mots de 4 bits. Les processeurs 8 bits les ont remplacés, ont suivi les 16 bits, les 16-32, les 32 bits, les 64 bits qui équipent les ordinateurs personnels depuis 2002, et ce jusqu'au processeur Very Long Instruction Word.

Traitement parallèle des bits

Les circuits électroniques sont souvent conçus pour traiter plusieurs bits en parallèle. Ceci permet d'accélérer ou d'augmenter les capacités de traitement de l'information.

Exemple d'accélération de traitement : Il faut une seconde pour transférer un mégaoctet de données à travers un bus informatique de 8 bits cadencé à 1 mégahertz. Si la largeur du bus est doublée à 16 bits, alors une demi-seconde suffit.

Exemple d'augmentation des capacités : Un processeur 32 bits peut adresser directement 4 gibioctets de mémoire informatique. Un processeur 64 bits peut adresser 16 exabits.

Le sous-dimensionnement des capacités des processeurs est un problème historique posé par l'augmentation des capacités de mémorisation. Ainsi, les compatibles PC ont été initialement basé sur une architecture 16 bits (architecture x86, 1978) qui ne pouvait pas adresser plus de 64 kibioctets de mémoire sans passer par des complications (segmentation, mémoire étendue, mémoire paginée). Les capacités de traitement 32 bits furent introduites dans la famille x86 avec l'Intel 80386 (1986), mais ce n'est qu'avec un système d'exploitation conçu pour tirer parti des capacités 32 bits (Linux, Windows NT, Windows 95) que les 4 gibioctets d'adressage peuvent être pleinement exploités.

Les difficultés rencontrées pour augmenter les capacités en élargissant le nombre de bits traités simultanément constituent un défi technique qui a été largement exploité par le marketing. Ainsi les vendeurs de consoles de jeux et de cartes graphiques ont souvent présenté leur produit comme étant 32, 64 ou 128 bits en se basant sur le bus le plus large qu'on pouvait trouver dans le produit, sans que cela ne constitue une spécification technique très pertinente.