Bit

Un article de Wikipédia, l'encyclopédie libre.
(Redirigé depuis Bit (informatique))
Aller à : navigation, rechercher
Page d'aide sur l'homonymie Pour les articles homonymes, voir Bit (homonymie).
Page d'aide sur l'homonymie Ne doit pas être confondu avec byte.
Unités de bits  v · d · m 
ordre de
grandeur
Système
international
Préfixes
binaires
Unité Valeur Unité Valeur
103 kilobit (kb) 103 bits kibibit (Kibit) 210 bits
106 mégabit (Mb) 106 bits mébibit (Mibit) 220 bits
109 gigabit (Gb) 109 bits gibibit (Gibit) 230 bits
1012 térabit (Tb) 1012 bits tébibit (Tibit) 240 bits
1015 pétabit (Pb) 1015 bits pébibit (Pibit) 250 bits
1018 exabit (Eb) 1018 bits exbibit (Eibit) 260 bits
1021 zettabit (Zb) 1021 bits zébibit (Zibit) 270 bits
1024 yottabit (Yb) 1024 bits yobibit (Yibit) 280 bits


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[1].

Vocabulaire[modifier | modifier le code]

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[2], 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[modifier | modifier le code]

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 » :

Contexte Valeurs
numérique 0 1
logique non/faux oui/vrai
espace ici
interrupteur ouvert fermé
magnétique nord sud
optique noir blanc

Technologiquement parlant, il existe une grande variété de moyen d'encodage binaire de l'information, selon le support de stockage ou de transmission utilisé : les propriétés physiques telle que la polarisation magnétique, la charge, le courant ou la tension électrique, l'intensité lumineuse, sont couramment utilisées. L'essentiel est d'autoriser avec une très bonne fiabilité la distinction entre les deux états 0 et 1 de manière à limiter les erreurs.

Abréviation et symbole[modifier | modifier le code]

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 ;
  • la norme du Système international d'unités veut que seules les unités dont le nom provient de celui d'une personne aient un symbole en majuscule[3],[4] : ainsi, l'ampère, du nom de André-Marie Ampère, a pour symbole A ;
  • 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[modifier | modifier le code]

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[modifier | modifier le code]

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. En effet, la plupart des opérations courantes utilisées dans un programme informatique ne nécessitent pas des nombres dépassant 16 ou 32 bits. Les jeux d'instructions ont ainsi été étendus de manière à réaliser par exemple deux opérations 32 bits en une fois sur un processeur 64 bits. Malheureusement, il est souvent difficile d'exploiter toujours au mieux les capacités d'un processeur 64 bits. Les gains réels d'un élargissement des capacités d'un processeur sont donc souvent atténués par la difficulté à optimiser la compilation des programmes de manière à tirer parti de ces architectures.

Notes et références[modifier | modifier le code]

  1. Dans le cadre de la théorie de l'information proposée par Shannon, lorsque l'on reçoit l'information correspondant à un évènement ayant 1 chance sur 2 de se produire, on reçoit un bit d'information. À titre d'exemple : lors du tir à pile ou face de l'engagement d'un match de football, quand l'arbitre indique que la pièce est tombée sur pile, il donne un bit d'information aux 2 capitaines des équipes en compétition.
  2. Dictionnaire anglais-français/français-anglais Harrap's Compact
  3. Mais dans tous les cas, le nom de l'unité est en minuscules
  4. Exception pour le litre, dont le symbole L est couramment accepté

Articles connexes[modifier | modifier le code]