Petit-boutiste (Little Endian) et Gros-boutiste (Big Endian)
Le petit-boutiste et gros-boutiste, ou le Little Endian et le Big Endian anglais, correspond au problème que les cellules mémoires à laquelle on accède, sont gérer au niveau de l'octet et non pas en pas groupe de 16 bits, 32 bits ou 64 bits. Ainsi, vous aurez le problème de savoir, lorsqu'un élément à un taille plus grand que 8 bits, dans quel ordre place-t-on les octets lorsqu'on nous en avons 2 octets (pour 16 bits). De droite vers la gauche ou de gauche vers la droite ? Le petit-boutiste et gros-boutiste permettent d'indiquer l'ordre dans lequel il se trouve. On appel le petit-boutiste, le format qu'utilise Intel ou AMD pour la famille des 80x86, lequel place les petits bouts en premier et les bouts les plus gros bout après.
Spécification
Description | Petit-boutiste (Little Endian) | Gros-boutiste (Big Endian) |
---|---|---|
Direction | Droite vers la gauche | Gauche vers la droite |
Ordre | Croissant | Décroissant |
Accès 16 bits | (0) Octet Faible - (1) Octet Fort | (0) Octet Fort - (1) Octet Faible |
Accès 32 bits | (0) (1) (2) (3) | (3) (2) (1) (0) |
Comparatif
Voici un tableau montrant l'utilisation du petit-boutiste (Little Endian) et gros-boutiste (Big Endian) en fonction des familles de microprocesseur (il a noter que certains supports les deux formats) :
Petit-boutiste (Little Endian) | Gros-boutiste (Big Endian) |
---|---|
Famille des 80x86 VAX |
680x0 ESA/390 SPARC |
Alpha (DEC) ARM PowerPC IA-64 Itanium MIPS PA-RISC (HP) |
Dans la pratique, vous aurez besoin de faire la différence entre les formats Petit-boutiste (Little Endian) et Gros-boutiste (Big Endian) lorsque vous devrez lire des fichiers binaires comme des images par exemple ou lorsque vous utiliserez les structures de données du système d'exploitation.
Remarque
- Il existe le format Middle-endian, lequel est un mixe l'ordre au niveau des mots de 16 octets mais va dans l'autre sens pour le double-mot. Ce format est cependant très peu utilisé, en dehors de quel exception comme l'assembleur du PDP-11.