2 points par GN⁺ 2023-10-16 | 1 commentaires | Partager sur WhatsApp
  • L’Intel 386 a étendu x86 en une architecture 32 bits, avec prise en charge de segments de 4 Go et de la mémoire virtuelle, devenant un tournant qui a consolidé la position de x86 et d’Intel dans l’industrie du PC
  • Les photos du die montrent que le 386 n’a pas simplement été réduit de 1,5 µm en CHMOS-III à 1 µm en CHMOS-IV : l’orientation de l’unité de décodage des instructions, la densité des cellules standard et même la disposition des plots de bonding ont fortement changé
  • Le 386 SX conservait une structure interne 32 bits tout en utilisant un bus 16 bits et moins de broches, ce qui permettait un packaging à bas coût ; en 1988, Intel vendait le SX 219 dollars, soit au moins 100 dollars de moins que le DX
  • Le 386 SL était une extension SuperSet destinée aux PC portables, intégrant au cœur 386 un contrôleur de bus ISA, la gestion de l’alimentation, un contrôleur de cache externe et un contrôleur mémoire, pour un total de 855 000 transistors
  • Le 386 a été conçu en combinant CAO automatisée, simulation RTL, cellules standard et datapaths dessinés à la main ; après des échecs sur les premiers siliciums et un bug de multiplication 32 bits, il a mené la transition technologique et commerciale d’Intel

Pourquoi le 386 a marqué un tournant dans l’informatique moderne

  • L’Intel 386, apparu en 1985, n’était pas une simple étape dans la lignée x86, mais une puce qui a changé la structure de l’industrie moderne du PC
    • Il a fait passer l’architecture x86 au 32 bits et a défini l’architecture informatique dominante de la fin du XXe siècle
    • Il a consolidé l’importance de x86 non seulement pour Intel, mais pour toute l’industrie informatique
    • Il a contribué à mettre fin au contrôle d’IBM sur le marché du PC et a permis à Compaq de devenir le leader architectural
  • Le 80386 représentait un grand bond par rapport au 286
    • Il implémentait une architecture 32 bits
    • Il ajoutait davantage d’instructions
    • Il prenait en charge des segments de 4 Go
    • Avec 285 000 transistors, il était dix fois plus grand que le 8086 d’origine
  • Sa structure interne était très complexe pour les années 1980
    • Huit unités logiques étaient mises en pipeline et fonctionnaient pour la plupart de manière autonome
    • Le datapath était composé d’une ALU, d’un barrel shifter et de registres, formant un bloc rectangulaire régulier de 32 bits de large
    • La ROM de microcode décomposait les instructions machine en micro-instructions de plus bas niveau
    • La Control Unit était composée de la ROM de microcode et des circuits du moteur de microcode

Principaux blocs fonctionnels visibles sur le die

  • La Data Unit, en bas à gauche, se charge des opérations arithmétiques et logiques ainsi que des déplacements de données
    • L’ALU exécute les opérations arithmétiques et logiques
    • Le barrel shifter décale les données
    • Les registres stockent les données
    • Le datapath et les circuits à gauche qui le contrôlent constituent la Data Unit
  • L’Instruction Decode Unit décompose le format complexe des instructions du 386
    • Elle sépare les composants de l’instruction
    • Elle génère le pointeur de microcode qui implémente l’instruction correspondante
    • La file d’instructions conserve trois instructions décodées
  • Pour améliorer les performances, la Prefetch Unit lit les instructions en mémoire avant qu’elles ne soient nécessaires
    • Les instructions lues sont stockées dans une prefetch queue de 16 octets
  • La gestion mémoire traite à la fois la mémoire segmentée et la mémoire virtuelle
    • La Segment Unit convertit les adresses logiques en adresses linéaires
    • La Paging Unit convertit les adresses linéaires en adresses physiques
    • Le cache de descripteurs de segments et le cache de pages (TLB) stockent les informations de segments et de pages
    • Le 386 n’a ni cache d’instructions ni cache de données sur la puce
  • La Bus Interface Unit, en haut à droite, assure la communication entre le 386 et la mémoire et les périphériques externes
  • Le die du 386 DX contient un nombre inhabituellement élevé d’initiales de concepteurs
    • Les initiales semblent placées près des unités sur lesquelles chaque concepteur a travaillé, mais la plupart des noms ne sont pas identifiés

Le layout modifié lors du passage de 1,5 µm à 1 µm

  • Le 386 d’origine était fabriqué avec le procédé CHMOS-III, d’une taille de motif de 1,5 µm
    • Ici, la taille de motif désigne précisément la gate channel length des transistors
  • Intel est passé vers 1987 au procédé CHMOS-IV, d’une taille de motif de 1 µm
    • Ce changement a considérablement réduit la taille du die du 386
    • La taille du die a diminué de 60 %
    • Il était possible de produire davantage de dies par wafer, ce qui réduisait fortement les coûts de fabrication
  • La réduction du procédé n’était pas un simple scaling mécanique
    • Sur le die plus petit, l’Instruction Decode Unit et la Protection Unit, au centre droit, sont disposées horizontalement plutôt que verticalement
    • La logique en cellules standard est devenue beaucoup plus dense, probablement grâce à l’amélioration des algorithmes de layout
    • Le datapath, déjà très optimisé, a conservé essentiellement la même forme tout en étant réduit
  • Les plots de bonding sont devenus une contrainte lors de la réduction
    • Les plots en bordure devaient garder la même taille pour permettre la connexion des fils de bonding
    • Pour faire tenir les plots sur le die plus petit, beaucoup ont été disposés en quinconce
    • Comme les différentes parties du die ont été réduites selon des proportions différentes, les blocs ne s’emboîtaient plus aussi étroitement qu’avant, ce qui a créé de l’espace perdu en bas du die
  • Le nouveau die porte le marquage 80C386I et les années de copyright 1985 et 1987
    • La signification de C et I n’est pas claire
    • Une grande partie des initiales présentes sur le die original du 386 ont été supprimées
  • La méthode consistant à réduire un processeur vers un nouveau procédé, puis à concevoir une nouvelle microarchitecture adaptée à ce procédé, est ensuite devenue la stratégie tick-tock d’Intel

386 SX : un 386 d’entrée de gamme abaissé à un bus 16 bits

  • En 1988, Intel a lancé le 386 SX, version d’entrée de gamme du 386
    • Le 386 SX utilisait un bus 16 bits au lieu d’un bus 32 bits
    • Cela rappelle la relation entre le 8086 à bus 16 bits et le 8088 à bus 8 bits
  • Lorsque le coût du die original du 386 a baissé, le coût du package est devenu comparable à celui du die
    • Réduire le nombre de broches permettait de placer le 386 SX dans un package plastique à 1 dollar
    • Cela a permis de le vendre à un prix bien plus bas
  • Le SX est devenu pour Intel un outil de segmentation du marché
    • Il faisait passer les clients à bas coût du 286 au 386 SX
    • Le 386 existant, rebaptisé DX, conservait un prix de vente plus élevé
    • En 1988, Intel vendait le 386 SX 219 dollars, soit au moins 100 dollars de moins que le 386 DX
    • Un ordinateur SX complet pouvait coûter 1 000 dollars de moins qu’un modèle DX comparable
  • Le 386 d’origine avait été conçu pour prendre en charge un mélange de bus 16 et 32 bits afin de rester compatible avec les anciens périphériques 16 bits
    • Il pouvait basculer dynamiquement à chaque cycle si nécessaire
    • Comme la prise en charge du 16 bits existait déjà, le 386 SX n’a pas demandé beaucoup de travail de conception
    • C’est différent du 8088, qui avait nécessité une refonte de la bus interface unit du 8086
  • Le 386 SX a lui aussi été fabriqué avec les deux procédés, 1,5 µm et 1 µm
    • Avec moins de broches, il avait aussi moins de plots de bonding, et les plots en quinconce visibles sur le 386 DX réduit disparaissent
    • En bas de la puce, la différence est qu’une bonne partie de l’espace perdu du 386 DX est occupée par du routage
    • Le grand die porte le marquage 80P9, reflétant le nom interne P9 chez Intel
    • Le die réduit porte un marquage plus compréhensible, 80386SX

386 SL : un 386 intégré destiné aux portables

  • Le 386 SL est une extension majeure du 386 apparue en 1990
    • Il combine le cœur 386 et d’autres fonctions dans une seule puce afin d’économiser de l’énergie et de l’espace
    • Sous le nom SuperSet, il visait le marché des PC portables
  • Le 386 SL intègre plusieurs fonctions périphériques
    • Contrôleur de bus ISA
    • Logique de gestion de l’alimentation
    • Contrôleur de cache pour cache externe
    • Contrôleur de mémoire principale
  • Sur le die, le cœur 386 lui-même occupe environ un quart de l’ensemble du die du SL
    • Le cœur 386 est très proche du 386 DX standard, mais avec quelques différences visibles
    • Les plots de bonding et les pilotes de broches ont été retirés du cœur
    • Certains circuits ont aussi été modifiés
  • Le cœur du 386 SL prend en charge le System Management Mode
    • Il interrompt l’exécution normale
    • Il permet d’effectuer la gestion de l’alimentation et d’autres tâches matérielles de bas niveau en dehors du système d’exploitation habituel
    • Le System Management Mode est aujourd’hui un élément standard de la famille x86, mais il a été introduit avec le 386 SL
  • Le 386 SL contient au total 855 000 transistors
    • C’est plus de trois fois le nombre d’un 386 DX classique
    • La cache tag RAM occupe beaucoup d’espace et de transistors
    • Les données du cache elles-mêmes sont externes, tandis que les circuits sur la puce gèrent le cache
    • Une grande partie des nouveaux composants est implémentée en logique à cellules standard, bien visible dans le contrôleur de bus ISA sous forme de bandes de circuits uniformes

Configuration de l’industrie du PC avant et après le 386

  • Aujourd’hui, il paraît évident qu’Intel ait fait évoluer x86 du 286 au 386 tout en conservant la rétrocompatibilité, mais à l’époque ce n’était pas une voie clairement tracée
  • À la fin des années 1970, Intel décide de créer un processeur micromainframe
    • Il s’agissait d’un processeur 32 bits avancé destiné à la programmation orientée objet
    • Intel voulait implémenter dans le CPU les objets, la communication entre processus et la protection mémoire
    • Le projet était excessivement ambitieux et prit du retard
    • En 1978, Intel crée donc le 8086 16 bits comme processeur provisoire à vendre en attendant que ce processeur soit prêt
  • IBM utilise l’Intel 8088 dans l’IBM PC en 1981
    • Intel ne mesure pas alors l’importance de ce choix
    • Intel se concentrait sur le processeur micromainframe iAPX 432, lancé en 1981
    • L’iAPX 432 devient un échec que le New York Times qualifiera de « l’un des grands désastres de l’informatique moderne »
    • Intel réimplémente ensuite les idées de l’iAPX 432 sur une architecture RISC pour créer l’i960
  • Le projet 386, successeur du 286, avait une faible priorité en interne chez Intel
    • Bill Gates et d’autres qualifiaient la conception du 286 de « brain-damaged »
    • IBM non plus ne montrait guère d’enthousiasme pour le 286
    • L’équipe du 386 avait le sentiment d’être traitée comme un stepchild, et le projet était proposé en interne non comme le processeur 32 bits « officiel » d’Intel, mais comme une autre solution temporaire
  • L’équipe du 386 formule deux propositions pour étendre le 286 en une architecture 32 bits
    • La première était une approche minimale consistant à étendre les registres et l’espace d’adressage existants à 32 bits
    • La seconde était une approche plus ambitieuse, ajoutant davantage de registres et un jeu d’instructions 32 bits nettement différent du jeu d’instructions 16 bits du 8086
    • À l’époque, l’IBM PC était encore relativement récent, et l’importance de la base logicielle installée n’était pas évidente
    • La compatibilité logicielle était perçue comme un plus appréciable plutôt que comme une nécessité
    • Vers la fin de 1982, après de nombreuses discussions, la proposition minimale est retenue : conserver la compatibilité avec le 286 tout en prenant en charge à la fois les segments et l’adressage flat
  • En 1984, l’industrie du PC connaît une croissance rapide et le 286 a lui aussi prouvé son succès
    • En interne, le projet 386 passe du statut de stepchild à celui de king
    • Intel introduit le 386 en 1985
    • La même année, en raison du ralentissement général de l’industrie des semi-conducteurs, le bénéfice net d’Intel « disparaît pratiquement »
    • Face à la concurrence japonaise, Intel se retire du marché de la DRAM
    • Le 386 devient ensuite le produit qui change la situation d’Intel

Compaq, IBM et le déplacement du standard PC

  • IBM ne manifeste pas d’intérêt pour le processeur 386 et choisit sa propre stratégie
    • Avec la multiplication des fabricants de clones PC, IBM cherche à reprendre le contrôle de l’architecture PC et du marché
    • En 1987, IBM introduit la gamme PS/2
    • Le PS/2 exécute OS/2 au lieu de Windows et utilise l’architecture propriétaire Micro Channel
    • IBM combine des stratégies d’ingénierie et juridiques pour rendre les clones PS/2 lents, coûteux et risqués
  • Compaq ne suit pas IBM et choisit sa propre orientation architecturale
    • En septembre 1986, l’entreprise introduit la gamme haut de gamme Deskpro 386
    • C’est le premier grand constructeur à produire un ordinateur basé sur le 386
    • Le Deskpro 386 model 40 embarque un disque dur de 40 Mo et est vendu 6 449 dollars
    • Cela représente plus de 15 000 dollars en valeur actuelle
    • Le choix de Compaq est payant et le Deskpro 386 rencontre un grand succès
  • La gamme PS/2 d’IBM ne connaît globalement pas le succès et ne devient pas un standard
    • Au lieu de reprendre le contrôle du PC, IBM perd le contrôle du standard PC avec l’introduction de la gamme de systèmes PS/2 en 1987
    • En 2004, IBM revend son activité PC à Lenovo et se retire du marché du PC
  • Le 386 rapporte d’importants revenus à Intel
    • Il mène Intel à son premier trimestre à 1 milliard de dollars de chiffre d’affaires en 1990
    • Il consolide l’importance de l’architecture x86 non seulement pour Intel, mais pour toute l’industrie informatique
    • x86 domine le marché jusqu’à aujourd’hui

Méthode de conception du 386 : combinaison d’automatisation et de travail manuel

  • Le processus de conception du 386 illustre la période où Intel élargissait l’usage des systèmes de conception automatisée et de la simulation
    • À l’époque, Intel était en retard sur le reste de l’industrie dans l’utilisation des outils
    • Les responsables du 386 estiment qu’il faut davantage d’automatisation pour réaliser dans les délais une puce aussi complexe que le 386
    • Grâce à un investissement important dans les outils d’automatisation, l’équipe du 386 termine la conception plus tôt que prévu
    • Outre des outils de CAO propriétaires, elle utilise largement des outils Unix standard comme sed, awk, grep et make pour gérer la base de données de conception
  • Le 386 présente de nouveaux défis de conception par rapport au 286
    • C’était une puce bien plus complexe, avec deux fois plus de transistors
    • Alors que le 286 et les processeurs précédents utilisaient des transistors NMOS, le 386 passe au CMOS, encore utilisé aujourd’hui
    • Le procédé CMOS d’Intel était le CHMOS-III, avec une taille de caractéristique de 1,5 µm
    • CHMOS-III était une extension CMOS du procédé HMOS-III utilisé pour le 286
    • CHMOS offrait deux couches métalliques au lieu d’une seule, ce qui modifiait la manière de router les signaux dans la puce et les techniques de conception
  • CHMOS-III présentait un problème de forbidden gap
    • La deuxième couche métallique M2 pouvait être très proche ou très éloignée de la première couche métallique M1
    • Les distances intermédiaires posaient problème : cette zone était le forbidden gap
    • Si les couches métalliques se croisaient dans le forbidden gap, le métal pouvait se fissurer ou des moustaches métalliques pouvaient entrer en contact, provoquant une défaillance de la puce
    • Ce problème réduisait le rendement du 386

RTL, microcode, cellules standard, chemin de données

  • La conception du 386 a progressé simultanément de haut en bas et de bas en haut
    • Par le haut, elle partait de la définition de l’architecture
    • Par le bas, les cellules standard et les circuits de base étaient conçus au niveau des transistors
  • Le microcode était un composant fondamental du contrôle de la puce
    • Il a été conçu avec deux outils de CAO : un assembleur et un vérificateur de règles de microcode
  • La conception de haut niveau de la puce a été réalisée en RTL
    • Elle a été affinée jusqu’à représenter le timing clock-by-clock et phase-by-phase
    • Le RTL était écrit en MAINSAIL, un langage portable de la famille Algol basé sur SAIL
    • Intel simulait le RTL avec un simulateur propriétaire appelé Microsim
    • Intel considérait la simulation RTL de la puce complète comme « le modèle de simulation unique le plus important du 80386 »
  • À l’étape suivante, la conception de haut niveau était transformée en conception logique détaillée
    • Les portes et circuits étaient spécifiés avec un système propriétaire de capture de schémas appelé Eden
    • La simulation de la conception logique nécessitait un mainframe IBM 3083 dédié, et les résultats étaient comparés à la simulation RTL
    • Ensuite, l’étape de conception des circuits produisait une conception au niveau des transistors
  • Le layout de la puce était réalisé dans les systèmes graphiques Applicon et Eden
    • Le travail commençait par des blocs critiques comme l’ALU et le barrel shifter
    • Le TLB du mécanisme de pagination nécessitait une conception créative pour satisfaire les exigences de performance
    • Le binary adder nécessitait lui aussi une conception créative
  • La random logic non structurée n’était pas conçue transistor par transistor comme dans les processeurs précédents, mais implémentée avec des cellules standard
    • Les cellules standard fournissaient des portes logiques, des bascules et des fonctions de base sous forme de blocs de circuits fixes
    • Un logiciel plaçait les cellules en rangées afin d’implémenter la description logique spécifiée
    • L’espace entre les rangées servait de canaux de routage pour les connexions entre cellules
    • Le layout à cellules standard occupe généralement plus de surface qu’un layout manuel optimisé, mais il est plus rapide à créer et plus facile à modifier
  • Intel utilisait le package de placement-routage automatique TimberWolf
    • TimberWolf optimisait le placement des cellules par simulated annealing
    • Un ingénieur du 386 a déclaré que, si la direction avait su qu’un outil créé par un étudiant en master ou doctorat était au cœur de la méthodologie, elle n’en aurait pas autorisé l’utilisation
    • Le layout automatique était nouveau chez Intel et a contribué à améliorer le calendrier
    • Sa faible densité faisait aussi courir le risque de rendre la puce trop grande
  • Le chemin de données critique pour les performances a été réalisé avec un layout manuel
    • Les registres, l’ALU, le barrel shifter et l’unité de multiplication/division traitaient des données 32 bits
    • Ils étaient placés avec le système CALMA
    • Les concepteurs exploitaient la régularité des circuits pour optimiser la forme et la taille des transistors, puis les assembler comme des pièces de puzzle
    • Le chemin de données sur la gauche du die formait un rectangle ordonné de 32 bits de large, contrairement à la logique complexe adjacente

Tapeout, premiers échecs et bug de multiplication

  • Une fois le layout au niveau des transistors terminé, le Hierarchical Connectivity Verification System d’Intel vérifiait le layout final
    • Il vérifiait sa correspondance avec les schémas
    • Il vérifiait le respect des règles de conception du procédé
  • Pour le 386, il ne s’est écoulé que 11 jours entre la finalisation du layout et le tapeout, établissant un record de vitesse chez Intel
    • Le tapeout est l’étape où les données de la puce sont placées sur bande magnétique et envoyées à l’entreprise qui fabrique les masques
    • L’équipe de tapeout était dirigée par Pat Gelsinger, qui deviendrait plus tard CEO d’Intel
  • Les masques en verre étaient fabriqués par un procédé à faisceau d’électrons
    • La Fab 3 de Livermore d’Intel produisait les wafers de silicium du 386
  • Le premier silicium n’a pas fonctionné correctement du premier coup
    • L’équipe a exécuté un programme de test simple, NoOp, NoOp, Halt, mais il a échoué
    • Elle a trouvé une petite correction à apporter dans le PLA
    • Au lieu de créer un nouveau masque, elle a patché le masque existant par ion milling afin d’obtenir rapidement un nouveau wafer
    • Ce wafer fonctionnait suffisamment pour lancer un long cycle de débogage et de corrections
  • Des problèmes subsistaient après le lancement
    • Certains premiers processeurs 386 présentaient un problème de multiplication 32 bits
    • Dans certaines conditions de température, de tension et de fréquence, certains opérandes pouvaient produire des résultats erronés de manière imprévisible
    • Cela n’avait aucun lien avec le célèbre bug FDIV du Pentium, qui a coûté 475 millions de dollars à Intel
  • La cause du problème de multiplication se trouvait dans le layout, pas dans la logique
    • Il n’y avait pas assez de marge pour gérer la combinaison du pire cas de données, du procédé de fabrication et des facteurs environnementaux
    • Le problème n’apparaissait ni dans la simulation ni dans la validation de la puce, et n’a été découvert que lors de tests de stress
  • Intel a vendu les processeurs défectueux, mais en les indiquant comme valables uniquement pour les logiciels 16 bits
    • Les processeurs normaux étaient marqués d’un double sigma
    • Le problème a donné lieu à des titres embarrassants comme « Some 386 Systems Won't Run 32-Bit Software, Intel Says »
    • Tandis qu’Intel redessinait la puce pour corriger le bug, des pénuries de puces 386 sont aussi survenues en 1987 et 1988
    • Dans l’ensemble, les problèmes du 386 n’étaient pas pires que ceux d’autres processeurs et ont vite été oubliés

Conclusion : la puce qui a transformé Intel et l’industrie du PC

  • Le 386 a constitué un tournant majeur pour Intel
    • Les processeurs Intel précédents s’étaient bien vendus, mais cela devait beaucoup à un marketing solide et à la chance d’avoir été choisis pour l’IBM PC
    • Intel était techniquement en retard, en particulier par rapport à Motorola
  • Motorola a lancé le 68000 en 1979, ouvrant une puissante famille de processeurs quasi 32 bits
    • Intel a pris du retard avec le 286, un processeur 16 bits qualifié de “brain-damaged”, lancé en 1982
    • Sa transition vers le CMOS a aussi été lente, tandis que Motorola est passé au CMOS avec le 68020 en 1984
  • Le 386 a apporté à Intel le saut technologique dont l’entreprise avait besoin
    • Passage à une architecture 32 bits
    • Transition vers le CMOS
    • Correction des limites du modèle mémoire et du multitâche du 286
    • Maintien de la compatibilité avec les processeurs x86 précédents
  • Le succès du 386 a consolidé la domination de x86 et d’Intel
    • Les autres fabricants de processeurs se sont retrouvés sur la défensive
    • Compaq a utilisé le 386 pour ravir à IBM le leadership de l’architecture PC
    • Cela a contribué au succès d’entreprises comme Compaq et Dell
    • IBM a fini par quitter complètement le marché du PC
  • Le 386 a laissé une empreinte suffisamment forte pour façonner les gagnants et les perdants de l’industrie informatique pendant des décennies

1 commentaires

 
GN⁺ 2023-10-16
Commentaires sur Hacker News
  • Je suis l’auteur. Je me penche sur le 386 en ce moment, donc si vous avez des questions, je peux y répondre.
    Cet article a été inspiré par une discussion sur HN il y a quelques semaines, où userbinator évoquait le nombre de transistors du 386.
    • Comme toujours, excellent article, mais il y a un détail : l’explication selon laquelle « les données de la puce sont envoyées sur bande magnétique au fabricant de masques » est globalement correcte pour l’époque, mais ce n’est pas l’origine du terme tapeout.
      Même si les données avaient été envoyées sur un disque Winchester, l’événement aurait quand même été appelé tapeout. Dans les débuts de la fabrication de circuits imprimés (PCB), on « tape out » littéralement le circuit avec du ruban noir sur une plaque blanche, généralement à une échelle agrandie.
      Par la suite, tapeout a désigné le moment où le routage du circuit était finalisé au ruban et prêt à passer à la photographie, à la réduction et à la fabrication de la carte. Il n’y avait là aucune « donnée », magnétique ou non, seulement une planche graphique physique couverte de ruban.
      L’article Wikipedia est également assez bon : https://en.wikipedia.org/wiki/Tape-out
      Pour les jeunes lecteurs qui se demandent « c’est quoi, au juste, un disque Winchester ? », voir ici : https://www.pcmag.com/encyclopedia/term/winchester-disk
      J’avais aussi déjà partagé l’histoire de mon premier tapeout de PCB, réalisé vers 1960 quand j’étais en CE2 : https://news.ycombinator.com/item?id=32116169
    • La partie la plus intéressante de l’article, pour moi, est que le 386SL a eu une importance historique assez notable.
      Je pensais au départ qu’il s’agissait surtout d’une version réduite et bon marché pour le marché alors émergent des ordinateurs portables, mais en réalité c’était un composant relativement sophistiqué avec trois fois plus de transistors, assez proche d’un précurseur des SoC modernes.
    • Question de pur amateur : je me demande quelles optimisations ingénieuses existaient dans le 386, ou s’il se contentait de traiter littéralement le flux d’instructions dans l’ordre, en ajustant registres et mémoire.
      Je pense aux processeurs actuels, qui font tellement de choses au niveau du microcode qu’il est difficile de prédire exactement quelle instruction s’exécute dans quel ordre.
    • Bon article. Certains liens DOI et Bitsavers sont cassés, redirigent vers righto.com ou renvoient des 404.
      Je me demande aussi où trouver « Automatic Place and Route Used on the 80386 ». Sur DDG, je ne trouve que cet article.
  • Mon père a travaillé sur ce processeur ainsi que sur plusieurs autres. Je vois ses initiales KF sur la photo du die :)
    • Je me demande comment on fabriquait ce genre de processeur au quotidien à l’époque. À quoi ressemblait généralement un espace de travail chez Intel à ce moment-là ?
    • L’auteur a mentionné ton père directement dans une note. Connais-tu les noms d’autres concepteurs ?
  • Quand j’étais un jeune nerd de l’informatique, l’un de mes trésors les plus précieux était une puce qui semblait être un 386 non encapsulé, reçue après en avoir fait la demande à partir d’une pub Intel dans le magazine Byte.
    Il suffisait de découper une partie de la page et de l’envoyer par la poste ; quelques mois plus tard, un colis est arrivé avec un processeur exposé collé sur une carte rigide et une loupe à faible grossissement. J’aimerais vraiment l’avoir encore.
  • Tout ce qui concerne le (80)386 est toujours fascinant. Ce processeur est sans doute celui qui a lancé la révolution du calcul 32 bits pour les ordinateurs grand public.
    Il existait déjà des processeurs 32 bits auparavant, mais aucun n’a connu le succès commercial ni l’adoption par le grand public du (80)386.
    Cet article est vraiment excellent et très riche en informations sur le 386. À part le manuel technique du 386 ou quelques fragments de documentation, je n’ai jamais vu sur Internet de ressource plus fournie, et ces documents-là sont difficiles à lire pour le grand public. Il aura une grande valeur pour les personnes qui étudient le 386 et pour les futurs historiens de l’informatique.
    • Merci pour ces mots gentils. Personnellement, je considère que l’IBM System/360 (1964) a été la première architecture 32 bits largement diffusée et influente.
      Le Motorola 68000 (1979) mérite aussi d’être mentionné, puisqu’il a été utilisé dans le Macintosh. Et je peux débattre avec quiconque prétend que ce n’était pas un vrai processeur 32 bits :-) Cela dit, il est vrai que le 386 a lancé l’architecture x86 32 bits utilisée aujourd’hui dans la plupart des ordinateurs qui ne sont pas des téléphones.
  • « Si la direction avait su que nous utilisions un outil créé par un étudiant de troisième cycle comme élément central de notre méthodologie, elle ne l’aurait jamais autorisé. »
    Voilà pourquoi les managers ne devraient pas micro-manager les décisions techniques.
  • Aujourd’hui, j’ai appris que le « s » de SX signifie single, et que le « d » de DX signifie double. Le DX a un bus de données deux fois plus large que le SX (32 bits contre 16 bits).
    • Sauf que le 486 DX a une unité à virgule flottante et que le 486 SX n’en a pas. Au final, Intel a simplement poussé l’idée que DX était meilleur que SX.
    • Le 386SX a été la première machine que j’ai overclockée, en remplaçant l’oscillateur à quartz de la carte.
  • Cela me rappelle l’époque où les boîtiers de PC avaient un bouton turbo et un afficheur LCD de la fréquence d’horloge. Quand « 66Mhz » devenait « 90 », on avait l’impression que la machine tournait enfin correctement.
    • Ma machine 20/40 MHz avait un afficheur LED. En ouvrant le boîtier, j’ai découvert des cavaliers permettant toutes les combinaisons de LED, y compris des affichages non numériques.
      Un sachet de cavaliers était scotché à côté. Je m’amusais à le configurer pour afficher HI/LO ou 01/99, ou à inverser les réglages pour que le turbo corresponde à 20 MHz et le mode lent à 40 MHz.
  • La MMU en mode paginé n’était-elle pas la nouveauté la plus importante ? Si ma mémoire est bonne, c’est elle qui a rendu possible une mémoire virtuelle entièrement protégée, y compris pour les applications legacy.
    • Je dirais que c’était aussi important que le passage au 32 bits. Pour faire tourner un vrai BSD4.x/SystemV Unix ou un clone, il fallait les deux.
      Le 286 suffisait pour un UNIX façon PDP-11, et le 8088 pouvait faire tourner tant bien que mal un UNIX de hobbyiste.
  • Si le 386SX n’était pas beaucoup plus simple électriquement que le 386DX et relevait surtout d’une différence de packaging, il est intéressant qu’il n’y ait pas eu de 386DL pour ordinateurs portables sans contrainte de coût.
    La fenêtre de marché devait être trop étroite. À l’époque, si l’on avait besoin de performances, on aurait peut-être accepté de sacrifier la batterie ; utiliser un CPU de desktop sans fonctions spéciales de gestion de l’alimentation n’aurait sans doute pas été un gros problème.
  • Le « C » de 80C386I pourrait-il signifier CMOS ? Comme dans le schéma utilisé pour des puces telles que le 80C88, par exemple ?
    • Tous les Intel 386 étaient en CMOS, donc il est difficile de considérer que le C de la version à die réduit signifie CMOS.
    • Ça ressemble plutôt à compact.