Article de reference

Intel 80286

L' Intel 80286 (également commercialisé sous le nom d' iAPX 286 et souvent appelé Intel 286 ) est un microprocesseur 16 bits lancé le 1er février 1982. Premier processeur basé s...

L' Intel 80286 (également commercialisé sous le nom d' iAPX 286 et souvent appelé Intel 286 ) est un microprocesseur 16 bits lancé le 1er février 1982. Premier processeur basé sur l'architecture 8086, il disposait de bus d'adresse et de données séparés et non multiplexés , ainsi que de la première fonction de gestion de la mémoire et de protection étendue. Avec une taille de données de 16 bits et une largeur d'adressage de 24 bits , il pouvait adresser jusqu'à 16 Mo de mémoire sous un système d'exploitation compatible tel que Windows, contre 1 Mo pour le 8086. Le 80286 utilisait environ 134 000 transistors dans sa version originale nMOS ( HMOS ) et, tout comme le 80186 contemporain [ pouvait exécuter correctement la plupart des logiciels conçus pour les processeurs Intel 8086 et 8088 antérieurs

Le 80286 a été utilisé pour l' IBM PC/AT , introduit en 1984, puis largement utilisé dans la plupart des ordinateurs compatibles PC/AT jusqu'au début des années 1990. En 1987, Intel a livré son cinq millionième microprocesseur 80286.

Histoire et représentation

AMD 80286 (version 16 MHz)

Les premières puces 80286 d'Intel étaient conçues pour une fréquence d'horloge maximale de 5, 6 ou 8 MHz , les versions ultérieures atteignant 12,5 MHz. AMD et Harris ont par la suite produit des puces cadencées à 16 MHz, 20 MHz et 25 MHz. Intel, Intersil et Fujitsu ont également développé des versions CMOS statiques de la technologie nMOS à déplétion d'Intel , principalement destinées aux appareils alimentés par batterie. La version CMOS du 80286 proposée par Intel était le 80C286.

En moyenne, le 80286 aurait une vitesse d'environ 0,21 instruction par cycle d'horloge sur des programmes « typiques » bien qu'il puisse être nettement plus rapide avec du code optimisé et dans des boucles serrées, car de nombreuses instructions pouvaient s'exécuter en deux cycles d'horloge chacune. Les modèles à 6 MHz, 10 MHz et 12 MHz auraient fonctionné respectivement à 0,9 MIPS, 1,5 MIPS et 2,66 MIPS

La version E-2 du 80286 était exempte des nombreuses erreurs importantes qui causaient des problèmes aux programmeurs et aux développeurs de systèmes d'exploitation sur les processeurs B- et C-step précédents (courants dans les AT et leurs clones). Ce composant E-2 était peut-être disponible à la fin de l'année 1986.

Intel a sous-traité la fabrication de ce microprocesseur à Fujitsu Limited vers 1985.

Variantes

Caractéristiques

Siemens 80286 ( version 10 MHz)
IBM 80286 ( version 8 MHz)
Intersil 80286 ( version 10 MHz)

Mode protégé

Le 286 fut le premier processeur de la famille x86 à prendre en charge le mode d'adressage virtuel protégé , communément appelé « mode protégé ». De plus, il fut le premier microprocesseur commercialisé doté d' une unité de gestion de la mémoire (MMU) intégrée (les systèmes utilisant les Motorola 68010 et NS320xx de la même époque pouvaient être équipés d'un contrôleur MMU optionnel). Ceci permit aux compatibles IBM de bénéficier pour la première fois de systèmes d'exploitation multitâches avancés et de concurrencer le marché des serveurs et stations de travail , alors dominé par Unix .

Plusieurs instructions supplémentaires ont été introduites dans le mode protégé du 80286, qui sont utiles pour les systèmes d'exploitation multitâches.

Une autre caractéristique importante de la norme 80286 est la prévention des accès non autorisés. Ceci est réalisé par :

  • Créer des segments distincts pour les données, le code et la pile, et éviter leur chevauchement.
  • Attribution de niveaux de privilège à chaque segment. Les segments ayant des niveaux de privilège inférieurs ne peuvent pas accéder aux segments ayant des niveaux de privilège supérieurs.

Dans le 80286 (et dans son coprocesseur Intel 80287 ), les opérations arithmétiques peuvent être effectuées sur les différents types de nombres suivants :

De par sa conception, le 286 ne pouvait pas revenir du mode protégé au mode d'adressage réel de base compatible 8086 (« mode réel ») sans une réinitialisation matérielle. Dans le PC/AT, lancé en 1984, IBM a ajouté des circuits externes, ainsi qu'un code spécifique dans le BIOS ROM et le microcontrôleur clavier 8042, pour permettre au logiciel de provoquer cette réinitialisation. Ceci autorisait le retour en mode réel tout en conservant la mémoire active et en rendant le contrôle au programme ayant initié la réinitialisation. (Le BIOS est nécessairement impliqué car il prend directement le contrôle à chaque réinitialisation du processeur.) Bien que fonctionnelle, cette méthode entraînait une perte de performances considérable.

En théorie, les applications en mode réel pouvaient être exécutées directement en mode protégé 16 bits si certaines règles (proposées avec l'introduction du 80286) étaient respectées. Cependant, comme de nombreux programmes DOS ne s'y conformaient pas, le mode protégé ne fut pas largement utilisé avant l'apparition de son successeur, le 80386 Intel 32 bits , conçu pour basculer facilement entre les modes et pour émuler le mode réel au sein du mode protégé. Lors de sa conception, Intel n'avait pas prévu le multitâche pour les applications en mode réel ; ce dernier visait à simplifier la préparation du système par un chargeur d'amorçage avant de basculer en mode protégé. En résumé, en mode protégé, le 80286 était conçu comme un nouveau processeur présentant de nombreuses similitudes avec ses prédécesseurs, tandis que le mode réel du 80286 était proposé pour les systèmes à plus petite échelle qui pouvaient bénéficier d'une version plus avancée du cœur du processeur 80186, avec des avantages tels que des fréquences d'horloge plus élevées, une exécution des instructions plus rapide (mesurée en cycles d'horloge) et des bus non multiplexés, mais pas l'espace mémoire de 24 bits (16 Mo).

Pour la prise en charge du mode protégé, de nouvelles instructions ont été ajoutées : ARPL, VERR, VERW, LAR, LSL, SMSW, SGDT, SIDT, SLDT, STR, LMSW, LGDT, LIDT, LLDT, LTR et CLTS. De nouvelles exceptions (interruptions internes) ont également été introduites : code d’opération invalide, coprocesseur indisponible, double erreur , dépassement de segment du coprocesseur, erreur de pile, dépassement de segment/erreur de protection générale, et d’autres encore, spécifiques au mode protégé.

Prise en charge du système d'exploitation

Le mode protégé du 80286 n'a été utilisé de manière courante dans les applications PC que plusieurs années après sa sortie, en partie à cause du coût élevé de l'ajout de mémoire étendue à un PC, mais aussi en raison de la nécessité de disposer de logiciels capables de prendre en charge le grand nombre d'utilisateurs de PC 8086. Par exemple, en 1986, le seul programme qui l'utilisait était VDISK, un pilote de disque RAM inclus dans PC DOS 3.0 et 3.1. PC DOS pouvait utiliser la RAM supplémentaire disponible en mode protégé ( mémoire étendue ) soit via un appel BIOS (INT 15h, AH=87h), soit comme un disque RAM , soit par émulation de mémoire étendue .

La difficulté résidait dans l'incompatibilité des anciens programmes en mode réel avec le mode protégé. Ils ne pouvaient pas s'exécuter nativement dans ce nouveau mode sans modifications importantes. En mode protégé, la gestion de la mémoire et des interruptions était différente de celle du mode réel. De plus, les programmes DOS accédaient généralement directement aux données et aux segments de code qui ne leur appartenaient pas, le mode réel le leur permettant sans restriction ; à l'inverse, le mode protégé visait à empêcher les programmes d'accéder à des segments autres que les leurs, sauf autorisation spéciale explicite. Bien qu'il fût possible de configurer un environnement en mode protégé autorisant tous les programmes à accéder à tous les segments (en plaçant tous les descripteurs de segment dans la Table des descripteurs globaux (GDT) et en leur attribuant le même niveau de privilège), cela annulait presque tous les avantages du mode protégé, à l'exception de l'espace d'adressage étendu (24 bits). Les développeurs de systèmes d'exploitation étaient confrontés à un choix : soit repartir de zéro et créer un système d'exploitation incapable d'exécuter la grande majorité des anciens programmes, soit concevoir une version de DOS lente et peu élégante (c'est-à-dire techniquement peu élégante) mais capable d'exécuter la plupart des anciens programmes. Le mode protégé n'offrait pas non plus d'avantage de performance suffisamment significatif par rapport au mode réel compatible 8086 pour justifier la prise en charge de ses fonctionnalités ; en réalité, hormis les changements de tâches lors du multitâche, il entraînait un désavantage en termes de performances, en ralentissant de nombreuses instructions par une multitude de contrôles de privilèges supplémentaires. En mode protégé, les registres restaient sur 16 bits et le programmeur était toujours contraint d'utiliser une carte mémoire composée de segments de 64 ko, comme en mode réel.

Intel ne s'attendait pas à ce que l'absence de prise en charge des machines virtuelles pour les logiciels 8086 pose problème, car l'entreprise pensait que de nouveaux logiciels exploitant pleinement les capacités du 80286 apparaîtraient rapidement. Bill Gates qualifiait le 80286 de puce « déficiente », car il ne pouvait pas utiliser de machines virtuelles pour exécuter simultanément plusieurs applications MS-DOS sous un système d'exploitation comme Microsoft Windows . Cette lacune a sans doute contribué à la rupture entre Microsoft et IBM, IBM ayant insisté pour que OS/2 , initialement une coentreprise entre IBM et Microsoft, fonctionne sur un 286 (et en mode texte).

En janvier 1985, Digital Research a présenté en avant-première le système d'exploitation Concurrent DOS 286 1.0, développé en collaboration avec Intel. Ce produit devait fonctionner exclusivement en mode natif 80286 (c'est-à-dire en mode protégé), permettant aux utilisateurs de tirer pleinement parti de ce mode pour effectuer des opérations multitâches et multi-utilisateurs tout en exécutant une émulation 8086. Cela fonctionnait sur le prototype B-1 de la puce, mais Digital Research a découvert des problèmes d'émulation sur la version de production C-1 en mai, empêchant Concurrent DOS 286 d'exécuter des logiciels 8086 en mode protégé. La sortie de Concurrent DOS 286 a été reportée jusqu'à ce qu'Intel développe une nouvelle version de la puce. En août, après des tests approfondis sur des échantillons de la phase E-1 du 80286, Digital Research a reconnu qu'Intel avait corrigé toutes les erreurs documentées concernant le 286, mais a indiqué que des problèmes de performances non documentés subsistaient avec la version préliminaire de Concurrent DOS 286 exécutée sur la phase E-1. Intel a déclaré que l'approche que Digital Research souhaitait adopter pour émuler le logiciel 8086 en mode protégé différait des spécifications d'origine. Néanmoins, dans la phase E-2, Intel a implémenté des modifications mineures du microcode permettant à Digital Research d'exécuter le mode d'émulation beaucoup plus rapidement. Nommé IBM 4680 OS , IBM a initialement choisi DR Concurrent DOS 286 comme base de son ordinateur IBM 4680 pour les produits IBM Plant System et les terminaux de point de vente en 1986. La version 1.3 de FlexOS 286 de Digital Research , une dérivation de Concurrent DOS 286, a été développée en 1986, introduite en janvier 1987 et adoptée plus tard par IBM pour son IBM 4690 OS , mais les mêmes limitations l'ont affectée.

D'autres systèmes d'exploitation qui utilisaient le mode protégé du 286 étaient Microsoft Xenix (vers 1984), Coherent , et Minix . Ceux-ci étaient moins gênés par les limitations du mode protégé du 80286 car ils n'étaient pas destinés à exécuter des applications MS-DOS ou d'autres programmes en mode réel.

Lors de la conception du 80386, les ingénieurs d'Intel étaient conscients de la mauvaise réputation du 80286 et l'ont acceptée. Ils ont amélioré le mode protégé du 80386 pour adresser davantage de mémoire et ont également ajouté le mode virtuel 8086 , un mode intégré au mode protégé offrant une bien meilleure compatibilité MS-DOS.

Composants de support

Siemens SAB82284, SAB82288 et SAB82289 (au Deutsches Museum )

Voici une liste des composants d'interface de bus qui se connectent à un microprocesseur Intel 80286.

  • Jeu de puces haute intégration 82230/82231 compatible AT – Le jeu 82230 comprend les puces suivantes : horloge 82C284, contrôleur de bus 82288 et deux contrôleurs d’interruptions 8259A, entre autres composants. Le jeu 82231 comprend les puces suivantes : minuterie d’interruptions 8254, mappeur mémoire 74LS612 et deux contrôleurs DMA 8237A, entre autres composants. Ces jeux étaient disponibles auprès de Zymos Corp. (fourni par un fournisseur de second rang). Les deux jeux sont disponibles par lots de 100 unités, au prix de 60 USD pour la version 10 MHz et de 90 USD pour la version 12 MHz.
  • Contrôleur d'accès direct à la mémoire avancé 82258 – Taux de transfert de 8 Mo/s, prend en charge jusqu'à 32 sous-canaux, le masquage et la comparaison, la vérification, la traduction et les opérations d'assemblage/désassemblage simultanées. Il prend également en charge une plage d'adressage de 16 Mo. Ces contrôleurs étaient disponibles au prix de 170 USD par lots de 100.
  • 82284 et 82C284 Générateur d'horloge et pilote – Intel a fourni cette version 82284 à Fujitsu Limited vers 1985. Le chipset de marque Intel était disponible en PLCC 20 broches en échantillonnage au premier trimestre 1986.
  • Le contrôleur de bus 82288 est fourni en boîtier DIP à 20 broches . Il remplace le 8288 utilisé avec les processeurs précédents. Intel a sous-traité la fabrication de ce chipset à Fujitsu Limited vers 1985. La version PLCC à 20 broches était disponible en échantillonnage au cours du premier trimestre 1986.
  • 82289 Arbitre

Plus d articles de Worldlex Wiki

Revenez a l index pour explorer davantage de pages sur l histoire, la science, la culture, la geographie et la societe en francais.

Explorer l index