Intel Pentium

microarchitecture de processeur Intel

L'Intel Pentium est un microprocesseur d'architecture x86 annoncé par Intel le 22 mars 1993. Successeur de l'Intel 80486, c'est le premier microprocesseur utilisant la marque déposée Pentium, et il est parfois appelé « Pentium original » pour le différencier des microprocesseurs plus récents également vendus sous ce nom. Cinquième génération de la famille x86, il a été appelé P5 en interne, et il est parfois appelé i586 dans des documents techniques externes à Intel[a].

P5
Description de cette image, également commentée ci-après
Les microprocesseurs Intel Pentium et Intel Pentium MMX.
Informations générales
Production De 22 mars 1993 à 15 février 2000
Concepteur Intel
Fabricant Intel
Performances
Fréquence 60 MHz à 300 MHz
Fréquence du FSB 50 MT/s à 66 MT/s
Largeur bus données 64 bits
Largeur bus adresse 32 bits
Taille du cache
Niveau 1 16-32 ko
Spécifications physiques
Finesse de gravure 800 nm à 250 nm
Nombre de transistors
Cœur 1
Socket(s)
Architecture et classification
Architecture IA-32
Extensions MMX (Pentium MMX uniquement)
Historique

Développement

modifier

L'équipe basée à Santa Clara qui avait précédemment développé les microarchitectures 80386 et 80486[1], fut à l'origine de la conception de la microarchitecture P5. Les travaux ont débuté en 1989 avec une décision d'adopter une architecture superscalaire, dotée de cache intégré, de calcul en virgule flottante et de prédiction de branchement[2],[3]. Une simulation préliminaire réussie a été réalisée en 1990, suivie du début de la conception effective. À cette période, l'équipe comptait plusieurs dizaines d'ingénieurs. La migration vers le silicium a eu lieu en avril 1992, marquant le début des tests bêta[4].

À mi-1992, l'équipe dédiée au P5 comptait 200 ingénieurs. Initialement, Intel prévoyait de dévoiler le P5 lors du salon professionnel PC Expo en juin 1992[5], avec une annonce officielle prévue pour septembre de la même année. Cependant, des problèmes de conception ont entraîné l'annulation de la démonstration et le retard de l'introduction officielle de la puce jusqu'au printemps 1993[6],[7].

John H. Crawford, architecte en chef du 80386 original, a codirigé la conception du P5[8], avec Donald Alpert, qui a dirigé l'équipe d'architectes. Dror Avnon a dirigé la conception du FPU[9]. Vinod K. Dham était directeur général du groupe P5.

Le projet d'architecture multicœur Larrabee d'Intel utilise un cœur de processeur dérivé d'un cœur P5 (P54C), augmenté d'un multithreading, d'instructions 64 bits et d'une unité de traitement vectoriel de 16 bits[10]. La microarchitecture Bonnell à faible puissance d'Intel, utilisée dans les premiers cœurs de processeurs Atom, utilise également un double pipeline d'ordre similaire à P5[11].

Intel a utilisé le nom Pentium au lieu de 80586, parce qu'en 1991, elle avait perdu un litige contre Advanced Micro Devices concernant la marque « 386 », un juge ayant déclaré que ce nombre était déjà d'usage courant pour les microprocesseurs, et donc un terme générique. La société a engagé Lexicon Branding pour trouver un nouveau nom non numérique[12].

Améliorations par rapport au 80486

modifier

La microarchitecture P5 apporte plusieurs avancées importantes par rapport à l'architecture 80486 précédente.

  • Performance :
    • Architecture superscalaire - Le Pentium possède deux chemins de données (pipelines) qui lui permettent d'exécuter deux instructions par cycle d'horloge dans de nombreux cas. Le chemin principal (U) peut traiter n'importe quelle instruction, tandis que l'autre (V) peut traiter les instructions simples les plus courantes[3],[13].
    • Le bus de données externe de 64 bits double la quantité d'informations qu'il est possible de lire ou d'écrire à chaque accès à la mémoire et permet donc au Pentium de charger son cache de code plus rapidement que le 80486 ; il permet également un accès et un stockage plus rapides des données FPU x87 de 64 bits et 80 bits[3],[14].
    • Unité à virgule flottante beaucoup plus rapide. Certaines instructions ont fait l'objet d'une amélioration considérable, notamment FMUL, dont le débit est jusqu'à 15 fois supérieur à celui de l'unité FPU 80486. Le Pentium est également capable d'exécuter une instruction FXCH ST(x) en parallèle avec une instruction FPU ordinaire (arithmétique ou load/store)[15],[16].

FDIV BUG

modifier
Intel Pentium A80501 avec FDIV-Bug

Les premières itérations des Pentiums P5, fonctionnant à des fréquences allant de 60 à 100 MHz, étaient affectées par un dysfonctionnement dans leur unité de virgule flottante, provoquant des résultats incorrects (mais prévisibles) lors de certaines opérations de division. Ce problème, découvert en 1994 par le professeur Thomas Nicely du Lynchburg College en Virginie, est devenu célèbre sous le nom de bogue FDIV du Pentium[17],[18]. Cette découverte a placé Intel dans une situation embarrassante, les contraignant à mettre en place un programme d'échange pour remplacer les processeurs défectueux[19].

F00F BUG

modifier

En 1997, un autre erratum a été découvert, qui pouvait permettre à un programme malveillant de planter un système sans privilèges spéciaux, le "bug F00F". Tous les processeurs de la série P5 étaient concernés et aucun correctif n'a jamais été publié, mais les systèmes d'exploitation contemporains ont été corrigés avec des solutions de contournement pour éviter les plantages[20].

Cœurs et révisions

modifier

Le Pentium était le principal microprocesseur d'Intel pour les ordinateurs personnels au milieu des années 1990. La conception originale a été réimplémentée avec des procédés de fabrication plus récents et de nouvelles fonctionnalités ont été ajoutées pour maintenir sa compétitivité et pour répondre à des marchés spécifiques tels que les ordinateurs portables. Il y a donc eu plusieurs variantes de la microarchitecture P5.

Microarchitecture du Pentium.
Pentium P5 (A80501)

Le premier cœur de microprocesseur Pentium portait le nom de code « P5 »[21]. Son code produit était 80501 (80500 pour les premiers steppings Q0399). Il existait deux versions, spécifiées pour fonctionner à 60 MHz et 66 MHz respectivement, utilisant le socket 4. Cette première implémentation du Pentium a été publiée sous la forme d'un PGA 273 broches et fonctionnait avec une alimentation de 5 V (le Pentium a été conçu pour répondre aux exigences de compatibilité de la logique transistor-transistor (TTL). Il contenait 3,1 millions de transistors et mesurait 16,7 mm sur 17,6 mm pour une surface de 293,92 mm2[22].

Il a été fabriqué selon un procédé BiCMOS (bipolar complementary metal-oxide-semiconductor) en 800 nm[23]. La conception à 5 volts a entraîné une consommation d'énergie relativement élevée pour sa fréquence de fonctionnement par rapport aux modèles qui ont suivi directement.

Intel Pentium P54C (80502) à 75 MHz.

Le P5 a été suivi par le P54C (80502) en 1994, avec des versions spécifiées pour fonctionner à 75, 90 ou 100 MHz en utilisant une alimentation de 3,3 volts[24],[18]. Marquant le passage au socket 5, ce fut le premier processeur Pentium à fonctionner à 3,3 volts, ce qui réduisait la consommation d'énergie, mais nécessitait une régulation de la tension sur les cartes mères[18]. Comme pour les processeurs 486 à cadence plus élevée, un multiplicateur d'horloge interne a été utilisé à partir de ce moment pour permettre aux circuits internes de fonctionner à une fréquence plus élevée que les bus d'adresses et de données externes, car il est plus compliqué et plus encombrant d'augmenter la fréquence externe, en raison de contraintes physiques.

Il permettait également le multiprocessing bidirectionnel et disposait d'un APIC local intégré et de nouvelles fonctions de gestion de l'énergie. Il contenait 3,3 millions de transistors et mesurait 163 mm2[25],[18]. Il a été fabriqué avec un procédé BiCMOS qui a été décrit comme étant à la fois 500 nm et 600 nm en raison de définitions différentes[25].

Intel Pentium avec coeurs 120 MHz SY062 (P54CQS)

Le P54C a été suivi par le P54CQS au début de 1995, qui fonctionnait à 120 MHz[18]. Il a été fabriqué avec un procédé BiCMOS en 350 nm et a été le premier microprocesseur commercial à être fabriqué avec un procédé en 350 nm[25],[18]. Le nombre de transistors est identique à celui du P54C et, malgré le procédé plus récent, la surface de la puce est également identique. La puce a été connectée au boîtier par collage de fils, ce qui ne permet que des connexions le long des bords de la puce[25].

Une puce plus petite aurait nécessité une refonte du boîtier, car la longueur des fils est limitée et les bords de la puce seraient plus éloignés des pastilles du boîtier. La solution a consisté à maintenir la taille de la puce, à conserver l'anneau existant et à réduire uniquement la taille des circuits logiques du Pentium pour lui permettre d'atteindre des fréquences d'horloge plus élevées[25].

Intel Pentium avec coeur P54CS (120 MHz SY062).

Le P54CQS a été rapidement suivi par le P54CS, qui fonctionnait à 133, 150, 166 et 200 MHz, et a introduit le socket 7[26],[27]. Il contenait 3,3 millions de transistors, mesurait 90 mm2 et était fabriqué avec un procédé BiCMOS en 350 nm avec quatre niveaux d'interconnexion[18].

Les Pentium OverDrive (en) P24T pour systèmes 486 sont sortis en 1995. Ils étaient basés sur des versions 3,3 V 600 nm avec une horloge de 63 ou 83 MHz[18],[28] Comme ils utilisaient le socket 2/3, certaines modifications ont dû être apportées pour compenser le bus de données 32 bits et le cache L2 embarqué plus lent des cartes mères 486[29]. Ils étaient donc équipés d'une mémoire cache L1 de 32 ko (le double de celle des processeurs Pentium pré-P55C)[18].

Intel Pentium MMX SSpec SL27J

Le P55C (ou 80503) a été développé par le centre de recherche et de développement d'Intel à Haïfa, en Israël. Il était vendu sous le nom de Pentium avec technologie MMX (généralement appelé Pentium MMX) ; bien qu'il soit basé sur le coeur P5, il comportait un nouvel ensemble de 57 instructions « MMX » destinées à améliorer les performances dans les tâches multimédias, telles que l'encodage et le décodage des données des médias numériques. La gamme Pentium MMX a été présentée le 22 octobre 1996 et commercialisée en janvier 1997[30],[31].

Les nouvelles instructions fonctionnent sur de nouveaux types de données : des vecteurs compressés de 64 bits de huit entiers de 8 bits, quatre entiers de 16 bits, deux entiers de 32 bits ou un entier de 64 bits. Ainsi, par exemple, l’instruction PADDUSB (Packed ADD Unsigned Saturated Byte) ajoute deux vecteurs, chacun contenant huit entiers non signés de 8 bits, par élément ; chaque addition qui saturerait est saturée, en donnant 255, la valeur maximale non signée qui peut être représentée dans un octet. Ces instructions plutôt spécialisées nécessitent généralement un codage spécial de la part du programmeur pour être utilisées.

Les autres modifications apportées au coeur comprennent un pipeline à 6 étapes (contre 5 sur le P5) avec une pile de retour (réalisée pour la première fois sur le Cyrix 6x86) et un meilleur parallélisme, un décodeur d'instructions amélioré, un cache de données L1 de 16 ko + un cache d'instructions L1 de 16 ko avec une associativité à 4 voies (contre 8 ko de données/instructions L1 avec 2 voies sur le P5), 4 tampons d'écriture pouvant être utilisés par l'un ou l'autre pipeline (contre un correspondant à chaque pipeline sur le P5) et un prédicteur de branchement amélioré tiré du Pentium Pro, avec un tampon de 512 entrées (contre 256 sur le P5)[32],[33],[34].

Il contenait 4,5 millions de transistors et avait une surface de 140 mm2. Il a été fabriqué avec un procédé CMOS en 280 nm utilisant le même pas de métallisation que le procédé BiCMOS en 350 nm précédent, de sorte qu'Intel l'a décrit comme « 350 nm » en raison de sa densité de transistors similaire. Le procédé comporte quatre niveaux d'interconnexion[35].

Bien que le P55C soit resté compatible avec le Socket 7, les exigences de tension pour l’alimentation de la puce diffèrent des spécifications standard du Socket 7. La plupart des cartes mères fabriquées pour le Socket 7 avant la sortie du P55C ne sont pas conformes au rail double tension requis pour le bon fonctionnement de ce processeur (tension du coeur de 2,8 volts, tension d’entrée/sortie (E/S) de 3,3 volts). Intel a résolu le problème avec des kits de mise à niveau OverDrive dotés d’un interposeur avec sa propre régulation de tension.

Concurrents

modifier

Après l'introduction du Pentium, des concurrents tels que NexGen, AMD, Cyrix et Texas Instruments ont annoncé des processeurs compatibles avec le Pentium en 1994[36],[37]. Le magazine CIO a identifié le Nx586 de NexGen comme étant le premier processeur compatible avec le Pentium, tandis que PC Magazine a décrit le Cyrix 6x86 comme étant le premier[38]. Ils ont été suivis par l'AMD K5, qui a été retardé en raison de difficultés de conception. AMD a ensuite acheté NexGen pour l'aider à concevoir l'AMD K6, et Cyrix a été racheté par National Semiconductor[39]. Les processeurs ultérieurs d'AMD et d'Intel conservent la compatibilité avec le Pentium d'origine.

Galerie

modifier

Articles connexes

modifier

Notes et références

modifier
  1. par exemple la documentation de GNU Compiler Collection

Références

modifier
  1. Robert P. IEEE Computer Society, The Pentium chronicles: the people, passion, and politics behind Intel's landmark chips, Wiley-Interscience, coll. « A Wiley-interscience publication », (ISBN 978-0-471-73617-2)
  2. (en-US) John Markoff, « Chip Error Continuing To Dog Officials at Intel », The New York Times,‎ (ISSN 0362-4331, lire en ligne Accès payant, consulté le )
  3. a b et c « Le processeur Pentium », sur www.irisa.fr (consulté le )
  4. (en) « New Scientist (1993) The hot new star of microchips », New Scientist, no 1871,‎ (lire en ligne [archive du ] Accès libre, consulté le )
  5. (en) Tom Quinlan, Intel to offer a peek at its '586' chip, vol. 14, InfoWorld Media Group, Inc (no 11), , 104 p. (ISSN 0199-6649, lire en ligne), p. 8
  6. (en) Tom Quinlan et Cate Corcoran, Design woes force Intel to cancel 586 chip demo, vol. 14, InfoWorld Media Group, Inc., , 24e éd., 120 p. (ISSN 0199-6649, lire en ligne), p. 1
  7. (en) Tom Quinlan, P5 chip delay won't alter rival's plans, vol. 14, InfoWorld Media Group, Inc., , 30e éd., 104 p. (ISSN 0199-6649, lire en ligne), p. 1
  8. (en) Intel Turns 35: Now What?, vol. 25, InfoWorld Media Group, Inc., , 28e éd., 72 p. (ISSN 0199-6649, lire en ligne), p. 51
  9. (en) D. Alpert et D. Avnon, « Architecture of the Pentium microprocessor », IEEE Micro, vol. 13, no 3,‎ , p. 11–21 (ISSN 0272-1732, DOI 10.1109/40.216745, lire en ligne, consulté le )
  10. (en) Larry Seiler, Doug Carmean, Eric Sprangle et Tom Forsyth, « Larrabee: a many-core x86 architecture for visual computing », ACM Transactions on Graphics, vol. 27, no 3,‎ , p. 1–15 (ISSN 0730-0301 et 1557-7368, DOI 10.1145/1360612.1360617, lire en ligne, consulté le )
  11. (en-US) Anand Lal Shimpi, « Why Pine Trail Isn't Much Faster Than the First Atom », sur www.anandtech.com (consulté le )
  12. (en) Ernie Smith, « Why Intel Couldn’t Trademark Numbers Anymore », sur Vice, (consulté le )
  13. « Architecture interne des processeurs PC: RISC, CISC, caches, ... », sur www.ybet.be (consulté le )
  14. (en) David C Churbuck, « My chip is faster than yours. », Forbes, vol. 153, no 9,‎ , p. 162-164 (lire en ligne Accès libre [PDF], consulté le )
  15. (en) « 80x87 Instruction Set(x87 - Pentium) » Accès libre [PDF], sur home.zcu.cz (consulté le )
  16. « Unité 5a : Architecture du Pentium » [archive du ] Accès libre [PDF], sur www2.ift.ulaval.ca (consulté le ), p. 6
  17. (en) Desire Athow published, « Pentium FDIV: The processor bug that shook the world », sur TechRadar, (consulté le )
  18. a b c d e f g h et i (en) « P5 (microarchitecture) » Accès libre [PDF], sur datasheets.pl (consulté le )
  19. (en-US) Antonio Villas-Boas, « Intel recalled a major chip in 1995 and turned them into keychains inscribed by the CEO — and the message speaks to Intel's current crisis », sur Business Insider (consulté le )
  20. (en) Robert R. Collins, « The Pentium F00F Bug » [archive du ] Accès libre, sur rcollins.org (consulté le )
  21. « De 60 à 3 800 MHZ » (ill. David Beanmou), Hardware Magasine, Tech Age SA, vol. 50,‎ , p. 74 (lire en ligne Accès libre, consulté le )
  22. (en) Brian Case, « Intel Reveals Pentium Implementation Details : Architectural Enhancements Remain Shrouded by NDA », MICROPROCESSOR REPORT, vol. 7, no 4,‎ (lire en ligne Accès libre [PDF], consulté le )
  23. (en) Intel, « PENTIUMTM PROCESSOR AT iCOMP INDEX 510T60 MHz PENTIUMTM PROCESSOR AT iCOMP INDEX 567T66 MHz », Preliminary,‎ (lire en ligne [PDF])
  24. « www.cpu-galaxy.at Vintage Chips Intel 80502 Section », sur www.cpu-galaxy.at (consulté le )
  25. a b c d et e (en) Linley Gwennap, « Microprocessors Lead the Way to 0.35 Microns : NEC, IBM, Intel Are First to Reach This Level—Others Follow Soon », MICROPROCESSOR REPORT, MicroDesign Resources, vol. 9, no 9,‎ (lire en ligne Accès libre [PDF])
  26. (en) « Intel P54CS - CPU MICROARCHITECTURE - PC Rebuilding », sur pcrebuilding.altervista.org (consulté le )
  27. (en) P. C. Rebuilding, « Intel P54CS - CPU MICROARCHITECTURE - PC Rebuilding », sur PC Rebuilding - Old computers second life (consulté le )
  28. « Le Guide des x86 - Détails sur Intel Pentium Overdrive 83 » Accès libre, sur www.x86-guide.net (consulté le )
  29. (en-US) « Intel OverDrive Part II: Pentium OverDrive | OS/2 Museum : Pentium OverDrive for 486 Systems » (consulté le )
  30. (en-US) P. C. Tech, « Pentium MMX Technology », sur pctechguide.com, (consulté le )
  31. (en) Robert Bruce Thompson et Barbara Fritchman Thompson, PC hardware in a nutshell, O'Reilly, , 149 - 152 p. (ISBN 978-0-596-00513-9, lire en ligne), p. 878
  32. (en) Intel, « PENTIUM® PROCESSOR WITH MMX™ TECHNOLOGY » [archive du ] Accès libre [PDF], sur download.intel.com, (consulté le )
  33. (en) Intel, « Intel Architecture Optimization Manual » [archive du ] Accès libre [PDF], sur ece.cmu.edu, (consulté le )
  34. (en) Phill Storr, « Phil Storrs PC Hardware book » [archive du ] Accès libre, sur philipstorr.id.au, (consulté le )
  35. (en) Michael Slater, « Intel’s Long-Awaited P55C Disclosed : First MMX Implementation Also Has Pipeline Tweaks, Larger Cache », MICRODESIGN RESOURCES, vol. 10, no 14,‎ (lire en ligne Accès libre [PDF])
  36. (en) Cate Corcroran et Brooke Crothers, « NexGen to beat Intel's chip prices », Info World, vol. 16, no 28,‎ , p. 5 (lire en ligne Accès libre)
  37. (en) Barr, Christopher, « Pentium Killers », Pc Mag, vol. 13, no 1,‎ (ISSN 0888-8507, lire en ligne Accès libre)
  38. (en) Edwards, John, « In the Chips », Cio, CXO Media, Inc, vol. 8, no 17,‎ , p. 72 (ISSN 0894-9301, lire en ligne Accès libre)
  39. (en) Slater, Michael, « The CPU for Your Next PC », PC Mag, Ziff Davis, Inc., vol. 16, no 16,‎ , p. 122 (lire en ligne Accès libre)