Architecture 16 bits

Un article de Wikipédia, l'encyclopédie libre.
Aller à : navigation, rechercher

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

Histoire[modifier | modifier le code]

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 (en). 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, sont développés les 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 n'était que de 8 bits de large.

Un entier de 16 bits permet de stocker 2^16 (ou 65 536) valeurs uniques. 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.

Les processeurs 16 bits ont été presqu'entièrement supplanté dans l'industrie 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.

Modèles de la mémoire 16 bits[modifier | modifier le code]

Cette section doit être recyclée. Une réorganisation et une clarification du contenu sont nécessaires. Discutez des points à améliorer en page de discussion.
Cette section ne cite pas suffisamment ses sources (août 2013). Pour l'améliorer, ajouter en note des références vérifiables ou les modèles {{Référence nécessaire}} ou {{Référence souhaitée}} sur les passages nécessitant une source.

Tout comme il existe plusieurs modèles de données pour les architectures 64 bits, l'architecture Intel 16 bits permet aux différentes modèles de mémoire différentes façons d'accéder à un emplacement 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[modifier | modifier le code]

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.

Le processeur 68000 de la Sega Mega Drive fut très mis en avant dans les publicités, ce qui conduisit cette période de l'histoire des consoles de jeux vidéo à être qualifiée d'« ère 16 bits ».

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

Format de fichier 16 bits[modifier | modifier le code]

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

  1. Name: 2116B, sur hpmuseum.net, consulté le 24 décembre 2012
  2. Borland Turbo C++ 1.01 in-program manual

Articles connexes[modifier | modifier le code]