Architecture 16 bits

Un article de Wikipédia, l'encyclopédie libre.
Ceci est une version archivée de cette page, en date du 24 août 2019 à 23:59 et modifiée en dernier par WikiSyn (discuter | contributions). Elle peut contenir des erreurs, des inexactitudes ou des contenus vandalisés non présents dans la version actuelle.

En informatique, l’architecture 16 bits est un type de structure d'ordinateur exploitant des mots (processeur, mémoire, busetc.) d'une taille de 16 bits (soit deux octets).

Un mot de 16 bits peut stocker 216 valeurs différentes, soit 65 536 valeurs. Un processeur 16 bits peut donc adresser directement 64 kio de mémoire.

Histoire

Au milieu des années 1960, les premiers ordinateurs 16 bits commercialisés incluent le HP-2116[1] de HP, le PDP-11 de DEC et le Nova de Data General. Ils sont conçus et fabriqués à base de composants « discrets » et de ce fait relativement complexes et volumineux.

Vers le milieu des années 1970, des microprocesseurs 816 bits (bus d'adresse de 16 bits, bus de données 8 bits) se multiplient, comme le Zilog Z80 ou le Motorola 6809[réf. nécessaire].

Au début des années 1980, les constructeurs développent des microprocesseurs 16 bits, comme l’Intel 8086, l’Intel 80286 et le MOS Technology 65C816. Les registres et les instructions arithmétiques de l'Intel 8088 opéraient sur des entiers de 16 bits, mais sa mémoire et son bus ne sont que de 8 bits de large[réf. nécessaire].

Un entier de 16 bits permet de stocker 216 (ou 65 536 nombres) valeurs différentes. Dans une représentation non signée, ces valeurs sont des entiers compris entre 0 et 65 535. Dans une représentation en complément à deux, ces valeurs sont comprises entre −32 768 et 32 767. Par conséquent, un processeur gérant des adresses mémoire de 16 bits peut accéder directement à 64 kio de mémoire.

Modèles de la mémoire 16 bits

Les processeurs 16 bits ont été presque entièrement supplantés dans l'industrie par des ordinateurs personnels, mais ils restent en service dans une grande variété d'applications embarquées. Par exemple, le processeur 16 bits XAP est utilisé dans de nombreux circuits ASIC.

Tout comme il existe plusieurs modèles de données pour les architectures 64 bits, tout processeur 16 bits permet d'acceder à 65 536) emplacements particulier de la mémoire.

Le choix d'un modèle de mémoire spécifique va dépendre de la quantité d'instructions assembleurs ou du stockage requis pour les pointeurs.

Les compilateurs de l'ère 16 bits ont généralement, pour la largeur selon le type, les caractéristiques suivantes :

Modèle de données 16 bits
Modèle de données short int long Pointeurs
IP16L32 (near) 16 16 32 16
I16LP32 (far) 16 16 32 32

Tiny : code et données seront dans le même segment (notamment les registres CS, DS, ES, SS pointeront vers le même segment). Les pointeurs near sont toujours utilisés. Code, données et pile ensemble ne peuvent pas excéder 64 Kio.

Small : code et données seront dans des segments différents, et les pointeurs near sont toujours utilisés. Il y aura 64 Kio d'espace disponible pour le code et 64 Kio pour les données et la pile.

Medium : le code utilisera des pointeurs far, permettant l'accès à 1 Mio. Les pointeurs de données resteront du type near.

Compact : les données utiliseront des pointeurs far et le code utilisera des pointeurs near.

Large/huge : les pointeurs du code et des données seront far[2].

Type de pointeur utilisé selon le modèle de mémoire
Modèle de mémoire Données Code
Tiny* near
Small near** near
Medium near far
Compact far near
Large far far
Huge huge huge

Le Motorola 16/32 68000 et l'Intel 386SX

Le Motorola 68000 est parfois qualifié de 16 bits parce que son bus de données est de 16 bits de large, mais on peut aussi le considérer comme un processeur d'architecture 32 bits dans la mesure où ses registres généraux ont une capacité de 32 bits et que la plupart des instructions arithmétiques supportent des entiers de 32 bits, avec jusqu'à 16 Mio de RAM adressable. Les programmes écrits pour le Motorola 68000 sont donc aisément compatibles au niveau du code source avec d'autres processeurs 32 bits possédant le mème jeu d’instructions.

Le processeur 68000 de la Sega Mega Drive fut très mis en avant dans les publicités, la console ayant même une inscription « 16-bit » sur le dessus de sa coque, ce qui conduisit cette période de l'histoire des consoles de jeux vidéo à être qualifiée d'« ère 16 bits ».

De nombreuses machines familiales de l'époque utilisèrent le microprocesseur 68000 : le Macintosh, l'Amiga 500, l'Atari ST[3], le Sharp X68000 mais également la Neo-Geo qui était alors pourtant présentée comme une console uniquement 32 bits. Le 68000 fut utilisé dans la console Jaguar d'Atari, présentée à l'époque comme la première 64 bits du marché (alors que seule une partie de son architecture était effectivement 64 bits).

La même analyse s'applique à l'Intel 80386SX, microprocesseur bas de gamme, qui est également un processeur 32 bits associé à un bus 16 bits.

Format de fichier 16 bits

Un format de fichier 16 bits est un format de fichier binaire pour lequel chaque élément de données est défini sur 16 bits (ou 2 octets), comme l'encodage UTF-16 ou le format Windows Metafile.

Notes et références

  1. Name: 2116B, sur hpmuseum.net, consulté le 24 décembre 2012
  2. Borland Turbo C++ 1.01 in-program manual
  3. «ST» signifiant Sixteen/Thirty-two, indiquant l'architecture du processeur en 1632 bits.

Articles connexes