Logiciels & Ingénierie informatique
L'évolution de l'architecture des microprocesseurs des années 1970 à aujourd'hui
Table of Contents
L'aube des microprocesseurs : la révolution des années 1970
Avant le microprocesseur, les ordinateurs se fondaient sur des transistors discrets et des circuits d'intégration à petite échelle, remplissant des pièces entières. L'invention du microprocesseur à puce unique consolidait l'unité centrale de traitement (CPU) sur une série de silicium, rendant les ordinateurs abordables, compacts et accessibles. Intel lançait en 1971 le 4004, un processeur 4 bits conçu pour une calculatrice japonaise. Avec 2300 transistors fonctionnant à 740 kHz, il pouvait effectuer 60 000 opérations par seconde, une réalisation monumentale pour son temps. L'architecture 4004=1 a introduit un ensemble d'instructions de base, des espaces de programmes et de mémoire de données séparés, et une pile simple, en fixant un modèle pour les générations à venir.
En 1974, Intel a publié le 8080, un processeur 8 bits qui a alimenté les microordinateurs anciens comme l'Altair 8800. Avec 6 000 transistors et une vitesse d'horloge de 2 MHz, le 8080 pourrait traiter 64 KB de mémoire, permettant des programmes plus complexes. Son architecture comprenait un bus d'adresse 16 bits et un ensemble de 78 instructions, dont beaucoup sont devenues des instructions x86. Autour du même temps, Motorola a introduit le 6800, un design plus propre avec moins de registres mais un timing plus simple des bus, et Zilog nous a donné le Z80[, un processeur 8080-compatible amélioré qui a dominé les ordinateurs domestiques et consoles de jeu bien dans les années 1980. Ces premiers microprocesseurs utilisés nMOS, un procédé de fabrication [n-type métal-oxyde-semiconducteur], qui offrait une densité supérieure aux technologies antérieures mais consommant une puissance significative.
Les caractéristiques architecturales principales de cette époque comprenaient exécution à cycle unique (bien que souvent microcodé), support d'accès direct à la mémoire (DMA) et interruption de la gestion des périphériques. Le nombre limité de transistors signifiait des unités de contrôle simples et aucun cache. La performance a été mesurée en milliers d'instructions par seconde (KIPS). Malgré leur simplicité, ces puces ont jeté les bases du boom informatique personnel.
Les années 1980 : la domination du CDCI et la rébellion du RISC
Dans les années 1980, le paysage des microprocesseurs s'est divisé en deux camps concurrents : CISC (Computer de l'instruction complexe)[ et RISC (Computer de l'instruction réduite)[. Intels x86, à commencer par la famille 8086 (1978) et suivie par la 80286 et la 80386 (1985) marquante, est le premier processeur x86 à utiliser une architecture 32 bits, permettant 4 Go de mémoire adressable, un support de mémoire virtuelle par voie de pagination et une unité d'exécution pipeline. Il a fonctionné jusqu'à 33 MHz et contenait 275 000 transistors.
En réponse à la complexité du CISC, des chercheurs universitaires de UC Berkeley et Stanford ont lancé RISC. Les projets de Berkeley RISC-I (1981) et Stanford MIPS (1981) ont démontré que des instructions plus simples pouvaient fournir des performances plus élevées par le biais de la pipeline, de fichiers de registres plus importants et de codages d'instructions à longueur fixe. Les processeurs RISC avaient généralement 32 registres à usage général ou plus, une architecture de magasin de chargement (seulement mémoire d'accès aux instructions de chargement/de magasin) et des modes d'adressage simples. ARM (Acor RISC Machine) ont vu le jour en 1985 en tant que processeur RISC commercial pour la BBC Micro, avec un élégant design 32 bits avec une faible consommation d'énergie. MIPS (Microprocector mobile sans interlocked Pipeline Stages) a débuté en 1985 et est devenu la base architecturale pour les postes de travail SGI.
Au terme des années 1980, les processeurs RISC avaient dépassé le CISC en vitesse brute, mais l'écosystème logiciel x86's a maintenu Intel dominant. Les années 1980 ont également vu l'introduction du cache sur puce — le 80486 (1989) intégré 8 KB de cache L1— et la timonisation[ (80486] un pipeline en cinq étapes. Ces innovations ont augmenté le débit d'instruction sans augmenter de façon spectaculaire la vitesse de l'horloge. Pour la première fois, les microprocesseurs ont commencé à inclure des unités à point flottant (FPU) sur la même matrice, comme dans le 486DX, marquant un déplacement vers les unités fonctionnelles intégrées[. Pour une comparaison approfondie entre RISC et CISC, les notes du projet UC Berkeley RISC [ demeurent excellentes.
Les années 1990 : Superscalar, Out-of-Order et la course pour GHz
Les années 1990 ont provoqué une explosion de performance entraînée par exécution superscalaire, la capacité de délivrer plusieurs instructions par cycle d'horloge. Intels Pentium (1993) a été la première conception superscalaire x86, avec deux pipelines entiers parallèles (u et v). Il a également introduit un bus de données 64 bits et une prédiction de branche. Le Pentium Pro (1995) a ajouté exécution hors-commande et de réenregistrer le renommage, permettant au processeur de réorganiser les instructions pour garder les unités d'exécution occupées.
AMD a publié le K6 (1997) et ensuite le Athlon[ (1999), qui a adapté les vitesses de l'horloge Intel=" et introduit des tailles de cache de premier niveau supérieures à 128 KB. Athlon a été le premier processeur x86 à atteindre 1 GHz (2000). La microarchitecture K7 a utilisé un super-scalaire, conception hors-commande avec un pipeline entier de 10 étages et un FPU séparé. Entre-temps, PowerPC[ a évolué en G3 et G4, utilisés dans les Macs Apple, avec un traitement vectoriel AltiVec. DEC Alpha[ (1992) a été le processeur le plus rapide de son temps, fonctionnant à 200 MHz initialement et s'étendant à plus de 1 GHz à la fin des années 1990, avec une architecture 64 bits et des pipelines profonds.
D'autres tendances architecturales comprenaient caches multiniveau[ (L1, L2, souvent hors-service L2 sur une cartouche), tampons de la cible de branches[, et exécution spéléo[. Le bug Pentium FDIV[ (1994) a souligné l'importance d'une vérification rigoureuse de la conception. Du côté de la RISC, ARM a gagné en traction dans les appareils mobiles et embarqués, tandis que MIPS[ a alimenté Nintendo 64 et Sony PlayStation. La décennie s'est terminée par des vitesses d'horloge poussant 1 GHz et le transistor compte plus de 10 millions.
2000s: Multi-Core, Power Wall et la Surge Mobile
Alors que les vitesses de l'horloge s'approchaient de 3 à 4 GHz au début des années 2000, les concepteurs de processeurs ont atteint le power wall[.La dissipation de puissance s'est faite à l'échelle de fréquence cube, ce qui rend la GHz encore plus difficile à atteindre sans refroidissement exotique.L'industrie a pivoté vers des architectures multi-cœurs, plaçant plusieurs cœurs CPU sur une seule matrice pour augmenter les performances par le parallélisme plutôt que la vitesse de l'horloge.Intel a introduit le Core 2 Duo[ en 2006, qui a associé deux cœurs avec un cache L2, une exécution super-scalaire et un design éconergétique.
L'essor de l'architecture de microprocesseurs remodelés pour toujours. ARM, avec ses conceptions de RISC de faible puissance, est devenu l'ISA dominante pour les smartphones et les tablettes. ARM=2]Cortex-A8 (2005) et plus tard Cortex-A9 a introduit des implémentations multi-cœurs, une exécution hors-commande et NEON SIMD. Apple=4 (2010) et A5 puces intégrées ARM coeurs avec GPU, contrôleur mémoire, et I/O en un seul Système-on-Chip (SoC)[. Cette approche SoC réduit considérablement la taille et la consommation d'énergie, essentielle pour les appareils portables. Intel=2 Atom[ processeur (2008) a essayé de rivaliser avec mobile mais a du mal à utiliser l'efficacité de puissance.
][Intel Core i7, 2008), permettant un overclocking dynamique sous des limites thermiques. [AMD Opteron, 2003) et [Intel, 2008) ont remplacé les anciens bus frontaux, améliorant la bande passante de la mémoire. Le GPU a commencé à migrer sur le CPU sous forme de graphiques intégrés, d'abord avec AMD=8]APU (Unité de traitement accélérée, 2011) et Intel=10][FLT=10][FLT=11][FLT=11][FLT=12][FLT=12][FLT=12][FLT=12][FLT=12][FLT=12][FLT=12][FLT=12][FLT=12][FLT=12][FLT=12][FLT=12][FLT=12][F=12][F=
2010 à aujourd'hui: Hétérogénéité, puces et accélération de l'IA
Les 2010 ont introduit un nouveau paradigme : informatique hétérogénieuse. Plutôt que des noyaux uniformes, les processeurs ont combiné des noyaux haute performance --big-- avec des noyaux --efficaces d'énergie. ARM=big.LITLE architecture (2011) jumelé Cortex-A15 et Cortex-A7, gérés par un programmeur de niveau système qui a déplacé les tâches entre les clusters. Cette idée est devenue universelle dans les SoCs mobiles. Apple=]M1 (2020) a pris la suite, intégrant huit noyaux (quatre haute performance, quatre efficacité) avec une mémoire unifiée et des accélérateurs personnalisés pour l'apprentissage automatique, le code/décode vidéo et le traitement d'images.
Zen microarchitecture (2017) a marqué un retour, en utilisant un modèle chiplet[. Au lieu d'un grand matrice monolithique, les processeurs Zen ont emballé plusieurs petites matrices (chiplet) sur un seul substrat en utilisant Infinity Fabric. Cette approche a amélioré les rendements, permis une échelle modulaire (4, 6, 8, 16 carottes) et réduit les coûts. AMD Ryzen[ et EPYC[ puces de performance par horloge, forçant Intel à innover. Intel a répondu avec Skylake-X[ (2017) et plus tard ]]Alder Lake (2021), qui a adopté une configuration hybride de noyau de grande taille (Performance-cores et Effective-cores) similaire à l'approche ARMXF[F][F.
La demande d'intelligence artificielle a entraîné l'inclusion de accélérateurs d'IA spécialisés.Les processeurs Apple, déjà massivement parallèles, ont évolué en moteurs de calcul généraux (CUDA, OpenCL) et ont été jumelés avec des processeurs dans des plateformes hétérogènes. Le modèle System-on-Chip s'est étendu en ordinateurs portables et serveurs, intégrant Wi-Fi, enclaves de sécurité et contrôleurs de mémoire multiples. L'Apple M1 Ultra (2022) a même utilisé un interconnect die-to-die (UltraFusion) pour combiner deux matrices M1 Max en une seule puce logique avec 20 cœurs CPU et 64 cœurs GPU.
La modularité du RISC-V est apparue comme une ISA ouverte, qui permet aux concepteurs de choisir et de choisir des extensions, du traitement vectoriel à la cryptographie, sans payer de droits de licence. La loi américaine CHIPS et l'intérêt mondial pour le développement du RISC-V accéléré du matériel ouvert. Des entreprises comme SiFive et Esperanto Technologies construisent des puces RISC-V haute performance destinées à la charge de travail des centres de données et de l'IA. Pour un aperçu de la technologie des puces, voir AMDs Page d'architecture de l'infini].
Évolution de la hiérarchie des caches et de la mémoire
De la seule cache de 486 KB L1 à la fois, les processeurs modernes disposent de trois niveaux : L1 (32–64 KB par cœur), L2 (256 KB–1 MB par cœur) et L3 (plusieurs MB à 128 MB partagés). Le protocole cache cohential (par exemple MESI) assure la cohérence entre les cœurs. Certains modèles, comme Intel=Niveau 4 eDRAM sur certaines puces Haswell et Broadwell, ont ajouté un quatrième niveau de cache. Le passage à mémoire à pliage 3D (HBM, HMC) a placé DRAM directement sur le paquet processeur, augmentant de façon spectaculaire la bande passante pour les processeurs GPU et les accélérateurs HPC.
Gestion de l'énergie et conception thermique
Avec les contraintes de puissance serrées, l'architecture microprocesseur a intégré une gestion de puissance sophistiquée. L'échelle dynamique de tension et de fréquence (DVFS), les états P par cœur et les états de sommeil plus fins (états C) ont permis aux processeurs de se mettre en marche instantanément pendant le ralenti. Race-to-idle est devenu un objectif de conception : terminer les tâches rapidement et dormir. Intels SpeedStep et AMD=Cool="nQuiet ont mis en scène le processus.
Les technologies émergentes façonner l'avenir
Comme Moores Law ralentit, l'avenir de l'architecture microprocesseur réside dans spécialisation et nouvelles modalités de calcul[. Des conceptions basées sur les chiplets permettront de mélanger différents nœuds de processus : des chiplets logiques sur des nœuds avancés aux côtés de la mémoire et des chiplets d'E/S sur des nœuds matures. La norme UCIE (Universal Chiplet Interconnect Express) vise à rendre les chiplets de différents fournisseurs interopérables. RISC-V produit déjà des cœurs open-source qui peuvent être personnalisés pour des charges de travail spécifiques, de l'IA bord à la tolérance aux rayonnements de qualité spatiale.
L'informatique neuromorphe imite les réseaux neuronaux biologiques, utilisant des réseaux neuronaux à spiration (SNN) et des traitements par événement. Intels Loihi 2 et IBMS NorthPole[ démontrent l'efficacité énergétique des ordres de grandeur pour certaines tâches de reconnaissance. Pendant ce temps, L'informatique quantique demeure embryonnaire mais pourrait résoudre des problèmes spécifiques (factorisation, simulation) que les microprocesseurs classiques ne peuvent pas résoudre. IBM, Google et d'autres construisent des processeurs quantiques à petite échelle avec correction d'erreurs, mais ils coexisteront probablement avec les processeurs classiques pendant des décennies.
Les autres tendances incluent l'informatique en mémoire (traitement des données où elle se trouve), [les interconnects photoniques[ pour les centres de données, et l'informatique approximative[ pour les charges de travail intrinsèquement tolérantes aux erreurs comme la reconnaissance d'image. Les enclaves de sécurité[ (AppleS Secure Enclave, Intel SGX, AMD SEV) sont maintenant standard, isolant les calculs sensibles à partir du système d'exploitation principal.
Pour un examen complet des orientations futures, voir IEEES , numéro spécial sur l'avenir des microprocesseurs.
Conclusion
De l'architecture unifiée Intel 4004 , l'évolution des microprocesseurs a suivi une trajectoire sans fin, avec une complexité, une performance et une efficacité accrues. Chaque décennie a apporté des idées fondamentales : RISC vs CISC, exécution hors-commande super-scalaire, parallélisme multi-core, intégration hétérogène et accélérateurs spécifiques au domaine. Aujourd'hui, les puces ne sont pas seulement des processeurs mais des systèmes entiers sur un die, orchestrant une symphonie d'unités spécialisées. En regardant vers l'avant, la fin des transistors force les architectes à innover par l'emballage, la spécialisation et de nouveaux modèles informatiques.