Lebyte (prononcé/baɪt/), oumultiplet enfrançais[1],[2], est — indépendamment de l'adressage physique de la mémoire — la plus petite unité « logiquement »adressable par un programme sur unordinateur. Aujourd’hui, le besoin d'une structure commune pour le partage des données a fait que lebyte de 8 bits, appeléoctet, s'est généralisé eninformatique. Cependant,
jusque dans lesannées 1970, il existait desprocesseurs avec desbytes de tailles très variables ;
il existe, pour laprogrammation desautomates et autres équipements industriels simples, desprocesseurs utilisant des mémoires adressables par quantité de 4 bits, voire moins ;
beaucoup demicroprocesseurs adressent physiquement la mémoire parmot de plusieurs bytes afin d'augmenter les performances.
La généralisation des bytes de 8 bits conduit à la confusion des notions de byte et d'octet. L'octet, comme son nom l’indique, contient exactement 8 bits (en anglaiseight-bit byte soit « byte de 8 bits »).
Le termeByte est créé en 1956 par Werner Buchholz[3],[4] alors qu'il travaille à la conception de l'IBM Stretch. C'est une déformation orthographique volontaire de l'anglaisbite, littéralement « bouchée », pour éviter toute confusion avecbit par élision due final. Le terme désigne par analogie la plus petite unité de données accessible via un bus de données[5].
Sur l'IBM Stretch, il est constitué de 1 à 8 bits consécutifs dans la mémoire, sa longueur étant déterminée par l'instruction exécutée[6].
Le byte est l'unité de stockage d'un emplacement mémoire, qui selon le processeur peut varier de quatre à plusieurs dizaines de bits. Chaque constructeur définissait la taille du byte en fonction de ses besoins du moment. La définition même du byte était plus fluctuante. Ainsi, lejeu d'instructions duPDP-10 offre la possibilité de charger une suite de 1 à 36 bits se trouvant dans unmot (un mot contient 36 bits sur PDP-10). Le manuel de 1967 duPDP-10 nomme « byte » une telle suite de bits[7]. Les manuels de processeurs plus récents comme leMotorola 68020 et les processeursx86_64 supportant lesjeux d'instructions de manipulation de bits appellent « champ de bits » (bit field) une telle suite de bits[8],[9], le mot « byte » étant déjà utilisé pour nommer l'unité adressable minimale d'un octet sur ces architectures.
En anglais, la capacité de lamémoire informatique s'exprime généralement enbytes, alors qu'en français elle s'exprime plutôt en octets, ce qui était différent jusqu'à la généralisation des bytes de huit bits dans les années 1970. On peut donc considérer qu'une documentation en français qui exprime la capacité de mémoire enbytes a été mal traduite. Aujourd'hui, pour leDictionnaire du multimédia. Audiovisuel, informatique, télécommunications[10] de l'AFNOR, le byte est « l'unité d'information correspondant à un octet, soit 8 bits ». La normalisation « IEC 80000-13 » va dans le même sens : normaliser la taille des bytes à 8 bits. C'est de cette normalisation du byte de 8 bits que vient la confusion.
En anglais comme en français, si l'on veut explicitement désigner une quantité de huit bits, on utilise le motoctet ; tandis que si l'on veut exprimer l'unité d'adressage indépendamment du nombre de bits, on utilise le motbyte. Ainsi la description formelle d’unlangage de programmation utilisera sciemment le motbyte si le langage ne nécessite pas qu’unbyte ait une taille d’un octet. C’est par exemple le cas dulangage C, où unbyte peut contenir plus de huit bits. Le motoctet est sciemment utilisé en français comme en anglais pour décrire unformat de données au bit près. Ainsi, on trouve le motoctet dans des textes anglais comme leRFC 793[11] qui décrit leprotocole de communicationTCP d'Internet, ou dans le standardH.263 qui décrit une norme de codage vidéo numérique.
La même distinction entrebyte etoctet existe donc dans les deux langues, seul change le mot que l'on utilise couramment dans les cas où le byte mesure huit bits.
La capacité mémoire d'une puce demémoire informatique est généralement donnée en bits (b), mégabits (Mb) ou gigabits (Gb), alors que la capacité mémoire de l'ensemble des puces d'un ordinateur est généralement donnée enbytes (B), mégabytes (MB) ou gigabytes (GB), ou en octets (o), mégaoctets (Mo) ou gigaoctets (Go). Des médias négligents font la confusion entre bit etbyte et se trompent donc d'un facteur de huit, par exemple en écrivant « ordinateur doté de 4 Gb de RAM » au lieu de « ordinateur doté de 4 GB de RAM » ou « ordinateur doté de 4 Go de RAM »[12].
En informatique, lorsqu’unprocesseur est capable de traiter plusieurs bytes en tant qu’entité unique, on appelle cette entité un « mot ». Les tailles de mot les plus courantes sont :
16 bits, rarement appelé « seizet » ou « doublet » ;
Comme pour les octets, les multiples sont kilobyte, mégabyte, gigabyte, etc.[13] pour des puissances de 10. Lorsqu'on utilise des puissances de 210 on utilise kibibyte, mébibyte, gibibyte, etc.
↑Pour être tout à fait précis, il faudrait l’exprimer en Gio, c’est-à-dire en giga binaire, donc enpuissances de 2 (facteurs de 1 024 et non de 1 000).