Naissance du standard x86 : la puce Intel 8086 a 40 ans

Il y a quarante ans, Intel commercialisait le processeur 8086, introduisant l’architecture x86 qui anime aujourd’hui la grande majorité des PC et serveurs sous Windows, MacOS ou Linux aujourd’hui.

Le microprocesseur Intel 8086 fête ses 40 ans cet été : il s’agit de la première puce exploitant le jeu d’instructions x86. (Crédit Intel)

La sortie du microprocesseur Intel 8086 en 1978 a été un moment décisif pour l’informatique. L’ADN de cette puce est au centre de presque tous les ordinateurs personnels – Windows, MacOS ou Linux -, et elle a aidé à faire d’Intel le premier fournisseur de semi-conducteurs au monde.

Lorsque le développement de la puce 8086 (29 000 transistors gravés en 3 micromètre avec une cadence de 5 MHz) a commencé en mai 1976, les dirigeants d’Intel n’avaient jamais envisagé son impact spectaculaire. Pour eux, il s’agissait d’un petit projet palliatif. Ils plaçaient les espoirs de l’entreprise sur un processeur radicalement différent et plus sophistiqué appelé le 8800 (sorti plus tard sous le nom d’iAPX 432). À une époque où la plupart des puces utilisaient encore des chemins de données de 8 bits, le 8800 devait passer à 32 bits. Ses capacités multitâches avancées et ses circuits de gestion de la mémoire devaient être intégrés directement dans le CPU, ce qui permettait aux systèmes d’exploitation de fonctionner avec beaucoup moins de code de programme.

Réponse à la puce Z80 

Mais le projet 8800 a connu des difficultés. Il a subi de nombreux retards, car les ingénieurs d’Intel ont constaté que son architecture complexe était difficile à fabriquer avec les technologies disponibles. Et les problèmes d’Intel ne s’arrêtaient pas là : le fondeur était en effet débordé par Zilog, une société fondée par d’anciens ingénieurs d’Intel. Zilog a rapidement conquis le marché des microprocesseurs de milieu de gamme avec sa puce Z80. Sorti en juillet 1976, c’était un clone amélioré du 8080 d’Intel, le processeur qui avait effectivement lancé la révolution de l’ordinateur personnel. Intel n’avait pas encore trouvé de réponse adéquate au Z80.

Si les dirigeants d’Intel ont poursuivi leur programme 8800, ils savaient qu’ils devaient répondre à la menace de Zilog d’une manière ou d’une autre. Ils se sont tournés vers Stephen Morse, un ingénieur de 36 ans qui les avait impressionnés par un examen critique des défauts de conception du processeur 8800. La direction de l’entreprise a donc décidé de confier au seul Stephan Morse la conception de la puce 8086. « Si la direction [d’Intel] avait imaginé que cette architecture survivrait pendant plusieurs générations et jusqu’aux processeurs d’aujourd’hui, se souvient Morse, ils n’auraient jamais confié cette tâche à une seule personne », a indiqué beaucoup plus tard Stephen Morse.

L’ancien ingénieur d’Intel, Stephen Morse, est l’architecte du code sous-jacent de la puce 8086. (crédit D.R.)

Un ingénieur logiciel pour développer une puce 

Choisir Stephen Morse était surprenant pour une autre raison : il était ingénieur logiciel. Auparavant, la conception des processeurs chez Intel était le domaine des seuls ingénieurs matériels. « Pour la première fois, nous allions examiner les caractéristiques des processeurs d’un point de vue logiciel », explique M. Morse. « La question n’était pas : Pour quelles caractéristiques avons-nous de l’espace ? mais : Quelles caractéristiques voulons-nous pour rendre le logiciel plus efficace ? » Cette approche logicielle s’est avérée révolutionnaire dans l’industrie.

Bien que le 8086 fut le projet favori de Stephen Morse, il ne travaillait pas seul. D’autres employés d’Intel, dont Bill Pohlman, Jim McKevitt et Bruce Ravenel, se sont joints à l’équipe de Morse et ont tous joué un rôle essentiel dans la mise sur le marché de la 8086 à l’été 1978.

Au-delà des exigences de base – que le 8086 soit compatible avec les logiciels écrits pour la populaire puce 8080 et qu’il soit capable d’adresser 128 Ko de mémoire – la direction d’Intel est restée en dehors du chemin de Morse. « Parce que personne ne s’attendait à ce que le design vive longtemps, aucune barrière n’a été placée sur mon chemin, et j’étais libre de faire ce que je voulais », dit-il.

Une puce arrivée au bon moment

Dès sa sortie, la création de Stephen Morse s’est lancée à la conquête du monde de l’informatique. Le marché des ordinateurs personnels de milieu de gamme était saturé de machines pour les entreprises basées sur le Z80 et exécutant CP/M, l’OS incontournable à la fin des années 1970. Le 8086 est apparu pour la première fois dans quelques PC et terminaux peu remarquables. Il a pris pied sur le marché des ordinateurs transportables (sous la forme du 80C86). Il a fini par être acceptée sur le marché des microcontrôleurs et des applications embarquées, notamment dans le programme Space Shuttle de la NASA. Cet organisme utilise jusqu’à ce jour des puces 8086 pour contrôler les tests de diagnostic sur ses propulseurs à pales pleines. L’agence spatiale américaine achète même des reliques électroniques sur eBay pour récupérer les processeurs.

La puce 8088 était construite sur le même code que la 8086, et son inclusion dans le PC 5150 d’IBM a contribué à faire du code de la 8086 un standard de l’industrie. (Photo gracieuseté d’Intel.)

8 bits seulement pour la puce 8088

En mars 1979, Stephen Morse quitte Intel. Puis, une série d’événements apparemment anodins ont conspiré pour faire de la 8086 une norme de l’industrie. Quelques semaines après le départ de Morse, Intel a commercialisé la puce 8088, que l’ingénieur appelle « une version castrée de la 8086 » parce qu’elle utilisait une version falsifiée de la capacité 16 bits de la 8086. Comme de nombreux systèmes étaient encore en 8 bits, le 8088 envoyait les données 16 bits en deux cycles de 8 bits, ce qui le rendait compatible avec les systèmes 8 bits.

Deux ans plus tard, IBM a commencé à travailler sur le modèle 5150, le premier PC de l’entreprise à n’être composé que de pièces standard à faible coût. Il s’agissait d’un concept nouveau pour big blue, qui soulignait auparavant sa technologie exclusive à l’exclusion de toute autre. Évidemment, un système prêt à l’emploi exigeait un microprocesseur prêt à l’emploi. Mais lequel choisir ? IBM a décidé très tôt que sa nouvelle machine nécessitait un processeur 16 bits, et a réduit le choix à trois candidats : le Motorola 68000 (le puissant processeur 16 bits au cœur du premier Macintosh), l’Intel 8086, et son cousin « castré », l’Intel 8088.

Un choix restreint à Intel 

Selon David J. Bradley, un membre original de l’équipe de développement d’IBM, la société a éliminé la puce Motorola parce qu’IBM était plus familier et plus à l’aise avec les processeurs Intel. Pour faire pencher la balance, Microsoft disposait d’un interpréteur BASIC prêt à l’emploi pour le 8086 et, puisqu’il partageait le même code de base que le 8088.

IBM a alors dû choisir entre le 8086 et le 8088. En fin de compte, la décision s’est résumée à une simple question économique. IBM a choisi la 8088, une décision qui a permis à l’entreprise de construire des machines moins chères parce qu’elle pouvait utiliser moins de modules ROM et moins de RAM, dit M. Bradley. Dans un sens, cependant, peu importe laquelle des puces Intel IBM a choisi. Tous deux ont été construits sur le même code 8086 sous-jacent écrit par Stephen Morse.

De la puce au standard

Comment le code 8086 est-il devenu une norme de l’industrie ? La réponse est contenue dans le rôle important du 5150 d’IBM lui-même (Le 5150 est le numéro 6 sur notre liste des 25 plus grands PC de tous les temps.) L’industrie du PC au début des années 1980 était un peu comme l’Europe de l’Est après la chute de l’Union Soviétique – beaucoup de républiques fracturées se dirigeaient toutes dans des directions différentes. Des dizaines de plates-formes informatiques différentes étaient disponibles auprès d’autant de fabricants. Les incompatibilités entre les systèmes informatiques frustraient constamment les utilisateurs, qui désiraient utiliser les logiciels, le matériel et les périphériques d’une machine à l’autre.

Peu à peu, cependant, les parties disparates de l’univers PC ont commencé à tourner en orbite autour du 5150. L’une des principales raisons de son succès était le nom IBM sur la boîte. La marque avait plus de prestige dans les entreprises que des sociétés rivales comme Radio Shack ou Apple. La question du jour était : « Voulez-vous acheter un ordinateur d’International Business Machines ou d’une société qui porte le nom d’un fruit ? », explique David J. Bradley. Et parce qu’IBM avait utilisé des composants prêts à l’emploi, d’autres sociétés pouvaient produire des clones – et c’est ce qu’elles ont fait.

Au bon endroit, au bon moment

Le PC IBM devenant rapidement dominant, Intel a capitalisé sur cette tendance en développant des versions améliorées du 8086 au fil des ans, en commençant par le 80186 et en progressant ensuite vers les 80286, 80386, 80486, Pentium, et ainsi de suite, jusqu’à aujourd’hui. Grâce aux nombres finaux communs dans la plupart de ces désignations de CPU, la ligne est devenue connue sous le nom de « x86 », même après le passage d’Intel à des noms éligibles aux marques de commerce tels que Pentium, Celeron, Centrino et aujourd’hui Core. D’autres fabricants de processeurs ont rapidement rejoint l’autoroute Intel, avec des sociétés telles que AMD, Cyrix, NEC, et même IBM qui produira ses propres processeurs compatibles x86, cimentant encore plus l’architecture x86 en tant que standard du monde PC. Même Apple a fini par s’y rallier en abandonnant les puces PowerPC de Motorola.

Selon Morse et Bradley, notre dépendance actuelle à l’égard du x86 est surtout le fruit du hasard. « J’ai eu la chance d’être au bon endroit au bon moment », dit Stephen Morse. « N’importe quel ingénieur brillant aurait pu concevoir le processeur. Il aurait probablement eu un jeu d’instructions radicalement différent, mais tous les PC aujourd’hui seraient basés sur cette architecture ». Dans le même ordre d’idées, le vétéran d’IBM Bradley plaisante, « Si IBM avait choisi le Motorola 68000 pour le PC IBM (comme certains le voulaient), nous aurions eu le duopole WinOla plutôt que le duopole Wintel ».

Une standardisation nécessaire 

La véritable puissance du x86 ne réside pas dans les codes d’opération particuliers qui font fonctionner ces puces, mais dans l’élan vers une standardisation des principaux composants des PC. La puce 8086 a ouvert la voie à un progrès rapide et exponentiel de la vitesse, de la capacité et du rapport qualité-prix de l’ordinateur, le tout alimenté par une concurrence féroce entre des centaines d’entreprises qui rivalisent pour améliorer la même chose.

L’humble jeu d’instructions 8086 de Stephen Morse est toujours au cœur de presque tous les processeurs de PC modernes, de l’Opteron à l’Athlon en passant par le Core 2 Quad. Pour une démonstration pratique de la puissance du standard x86, considérez ceci : Tout programme en langage d’assemblage écrit dès 1978 pour le microprocesseur Intel 8086 fonctionnera, sans modification, sur le dernier processeur Core 2 Extreme d’Intel – juste 180 000 fois plus vite.

chevron_left
chevron_right