Microprocesseur - Wikipédia
Microprocesseur - Wikipédia
processeur dont les composants ont été suffisamment miniaturisés pour être regroupés dans un unique circuit
intégré
Un microprocesseur est l'unité de traitement de l'information, qui au sein d'un ordinateur exécute
des instructions pour réaliser une tâche et dont tous les composants ont été suffisamment
miniaturisés pour être regroupés dans un unique boîtier. Fonctionnellement, le processeur est la
partie d'un ordinateur qui exécute les instructions et traite les données des programmes.
Microprocesseur
Caractéristiques
Invention
Date 1971
Utilisation
Description
Jusqu'au début des années 1970, les différents composants électroniques nécessaires au
fonctionnement d'un processeur ne pouvaient pas tenir sur un seul circuit intégré, ce qui
nécessitait d'interconnecter de nombreux composants dont plusieurs circuits intégrés. En 1971,
la société américaine Intel réussit, pour la première fois, à placer tous les composants qui
constituent un processeur sur un seul circuit intégré, donnant ainsi naissance au
microprocesseur2.
Histoire
En 1969, le microprocesseur est inventé par un physicien d'Intel, Marcian Hoff (surnommé Ted
Hoff)4,5,6, et Federico Faggin, qui venait de le rejoindre, fort de recherches menées en Italie.
Federico Faggin, physicien du solide italien est en 1968 chez Fairchild-SGS à Agrate Brianza7,
puis à Palo Alto avec Thomas Klein7, le concepteur du premier circuit intégré commercial à
grilles auto-alignées, le Fairchild 3708, puis chef de projet de la Silicon Gate Technology (SGT), la
première méthode pratique pour la fabrication des circuits intégrés MOS (structure semi-
conducteur/métal/oxyde) avec grilles auto-alignées, qui a remplacé la grille d'aluminium
traditionnelle d'un transistor MOS par une grille en silicium, pour intégrer deux fois plus de
transistors dans la même surface. Federico Faggin est embauché par Intel en avril 19707, pour
être le chef de projet, le créateur de la méthodologie de conception et le concepteur principal. En
seulement quelques mois, avec Marcian Hoff, des quatre puces de l'Intel 4004, qui servit
initialement à fabriquer des contrôleurs graphiques en mode texte, il conçut un processeur
d'usage général, avec une licence achetée au japonais Busicom7.
Ces processeurs sont les précurseurs des Intel 8080, Zilog Z80, et de la future famille des Intel
x869. Federico Faggin est l'auteur d'une méthodologie de conception nouvelle pour la puce et la
logique, fondée pour la première fois sur la technologie silicon gate développée par lui en 1968
chez Fairchild. Il a aussi dirigé la conception du premier microprocesseur jusqu'à son
introduction sur le marché en 197110.
Presque à la même époque, la société américaine Motorola effectue des travaux et innovations
similaires sous la direction de Chuck Peddle11, venu de General Electric, où il avait conçu une
caisse enregistreuse électronique, mais qui décide en 1970 d'abandonner son activité
informatique. Il participe au développement du microprocesseur Motorola 6800, à 8 bits, vendu
300 US$, et qui va servir aux ordinateurs d'usage professionnel Goupil 1 et 2 de la société SMT.
Dans les années 1970, apparaissent les concepts de datagramme et d'informatique distribuée,
avec Arpanet, le réseau Cyclades et la Distributed System Architecture, devenue en 1978 le
modèle « OSI-DSA ». Le microprocesseur est très vite accueilli comme la pierre angulaire de
cette informatique distribuée, car il permet de décentraliser le calcul, avec des machines moins
coûteuses et moins encombrantes face au monopole IBM, produites en plus grande série.
Le tableau suivant décrit les principales caractéristiques des microprocesseurs fabriqués par
Intel, et montre leur évolution en termes de nombre de transistors, en miniaturisation des
circuits, et en augmentation de puissance. Il faut garder à l'esprit que si ce tableau décrit
l'évolution des produits d'Intel, l'évolution des produits des concurrents a suivi avec plus ou
moins d'avance ou de retard la même marche.
Un programme informatique est, par essence, un flux d'instructions exécutées par un processeur.
Chaque instruction nécessite un à plusieurs cycles d'horloge, l'instruction est exécutée en autant
d'étapes que de cycles nécessaires. Les microprocesseurs séquentiels exécutent l'instruction
suivante lorsqu'ils ont terminé l'instruction en cours. Dans le cas du parallélisme d'instructions, le
microprocesseur pourra traiter plusieurs instructions dans le même cycle d'horloge, à condition
que ces instructions différentes ne mobilisent pas simultanément une unique ressource interne.
Autrement dit, le processeur exécute des instructions qui se suivent, et ne sont pas dépendantes
l'une de l'autre, à différents stades d'achèvement. Cette file d'exécution à venir s'appelle un
pipeline. Ce mécanisme a été implémenté la première fois dans les années 1960 par IBM. Les
processeurs plus évolués exécutent en même temps autant d'instructions qu'ils ont de pipelines,
ce à la condition que toutes les instructions à exécuter parallèlement ne soient pas
interdépendantes, c'est-à-dire que le résultat de l'exécution de chacune d'entre elles ne modifie
pas les conditions d'exécution de l'une des autres. Les processeurs de ce type sont appelés
processeurs superscalaires. Le premier ordinateur à être équipé de ce type de processeur était le
Seymour Cray CDC 6600 en 1965. Le Pentium est le premier des processeurs superscalaires
pour compatible PC.
Pour éviter une perte de temps liée à l'attente de nouvelles instructions, et surtout au délai de
rechargement du contexte entre chaque changement de threads, les fondeursc ont ajouté à leurs
processeurs des procédés d'optimisation pour que les threads puissent partager les pipelines,
les caches et les registres. Ces procédés, regroupés sous l'appellation simultaneous
multithreading, ont été mis au point dans les années 1950. Par contre, pour obtenir une
augmentation des performances, les compilateurs doivent prendre en compte ces procédés, il
faut donc re-compiler les programmes pour ces types de processeurs. Intel a commencé à
produire, début des années 2000, des processeurs implémentant la technologie SMT à deux
voies. Ces processeurs, les Pentium 4, peuvent exécuter simultanément deux threads qui se
partagent les mêmes pipelines, caches et registres. Intel a appelé cette technologie SMT à deux
voies : l’hyper-threading. Le super-threading (en) est, quant à lui, une technologie SMT dans
laquelle plusieurs threads partagent aussi les mêmes ressources, mais ces threads ne
s'exécutent que l'un après l'autre et non simultanément16.
Depuis longtemps déjà, existait l'idée de faire cohabiter plusieurs processeurs au sein d'un
même composant, par exemple les System on Chip. Cela consistait, par exemple, à ajouter au
processeur, un coprocesseur arithmétique, un DSP, voire un cache mémoire, éventuellement
même l'intégralité des composants que l'on trouve sur une carte mère. Des processeurs multi-
cœur utilisant deux ou quatre cœurs sont donc apparus, comme le POWER4 d'IBM sorti en 2001.
Ils disposent des technologies citées préalablement. Les ordinateurs qui disposent de ce type de
processeurs coûtent moins cher que l'achat d'un nombre équivalent de processeurs. Cependant,
les performances ne sont pas directement comparables, cela dépend du problème traité. Des
API spécialisées ont été développées afin de tirer parti au mieux de ces technologies, comme le
Threading Building Blocks d'Intel.
Familles
Microprocesseur ARM60.
Il existe des dizaines de familles de microprocesseurs. Parmi celles qui ont été les plus utilisées,
on peut citer :
la famille la plus connue par le grand public est la famille x86, apparue à la fin des
années 1970, développée principalement par les entreprises Intel (fabricant du Pentium), AMD
(fabricant de l'Athlon), VIA et Transmeta. Les deux premières entreprises dominent le marché
en fabriquant la majorité des microprocesseurs pour micro-ordinateurs compatibles PC et
Macintosh depuis 2006 ;
le MOS Technology 650218 qui a servi à fabriquer les Apple II, Commodore PET, et dont les
descendants ont servi au Commodore 64 et aux consoles Atari 2600. Le MOS
Technology 6502 a été conçu par d'anciens ingénieurs de Motorola et était très inspiré du
Motorola 6800 ;
le microprocesseur Zilog Z80 a été largement utilisé dans les années 1980 dans la conception
des premiers micro-ordinateurs personnels 8 bits comme le TRS-80, les Sinclair ZX80, ZX81,
ZX Spectrum, le standard MSX, les Amstrad CPC et plus tard dans les systèmes embarqués ;
la famille Motorola 68000 (aussi appelée « m68k ») de Motorola animait les premiers
Macintosh, les Mega Drive, les Atari ST et les Commodore Amiga. Leurs dérivés (DragonBall,
ColdFire) sont toujours utilisés dans des systèmes embarqués ;
les microprocesseurs PowerPC d'IBM et de Motorola équipaient jusqu'en 2006 les micro-
ordinateurs Macintosh (fabriqués par Apple). Ces microprocesseurs sont aussi utilisés dans
les serveurs de la série P d'IBM et dans divers systèmes embarqués. Dans le domaine des
consoles de jeu, des microprocesseurs dérivés du PowerPC équipent la Wii (Broadway), la
GameCube (Gekko), Xbox 360 (dérivé à trois cœurs nommé « Xenon »). La PlayStation 3 est
équipée du microprocesseur Cell, dérivé du POWER4, une architecture proche de PowerPC ;
les processeurs d'architecture MIPS animaient les stations de travail de Silicon Graphics, des
consoles de jeux comme la PSone, la Nintendo 64 et des systèmes embarqués, ainsi que des
routeurs Cisco. C'est la première famille à proposer une architecture 64 bits avec le MIPS
R4000 en 1991. Les processeurs du fondeur chinois Loongson sont une nouvelle génération
basée sur les technologies du MIPS, utilisés dans des supercalculateurs et des ordinateurs
faible consommation ;
la famille ARM est de nos jours utilisée principalement dans les systèmes embarqués, dont de
nombreux PDA et smartphones. Elle a précédemment été utilisée par Acorn pour ses
Archimedes et RISC PC.
Fréquence de fonctionnement
Les microprocesseurs sont cadencés par un signal d'horloge (signal oscillant régulier imposant
un rythme au transfert entre circuit). Au milieu des années 1980, ce signal avait une fréquence de
4 à 8 MHz. Dans les années 2000, cette fréquence atteint 3 GHz. Plus cette fréquence est élevée,
plus le microprocesseur peut exécuter à un rythme élevé les instructions de base des
programmes mais plus la qualité des bus doit être soignée et leur longueur adaptée à la
fréquence.
la fréquence est notamment limitée par les temps de commutation des portes logiques : il est
nécessaire qu'entre deux « coups d'horloge », les signaux numériques aient eu le temps de
parcourir tout le trajet nécessaire à l'exécution de l'instruction attendue ; pour accélérer le
traitement, il faut agir sur de nombreux paramètres (taille d'un transistor, interactions
électromagnétiques entre les circuits, etc.) qu'il devient de plus en plus difficile d'améliorer
(tout en s'assurant de la fiabilité des opérations).
Overclocking
Les microprocesseurs actuels sont optimisés pour exécuter plus d'une instruction par cycle
d'horloge, ce sont des microprocesseurs avec des unités d'exécution parallélisées. De plus ils
sont dotés de procédures qui « anticipent » les instructions suivantes avec l'aide de la
statistique.
la technologie RISC (Reduced Instruction Set Computer, jeu d'instructions simple), rapide avec
des instructions simples de taille standardisée, facile à fabriquer et dont on peut monter la
fréquence de l'horloge sans trop de difficultés techniques ;
la technologie CISC (Complex Instruction Set Computer), dont chaque instruction complexe
nécessite plus de cycles d'horloge, mais qui a en son cœur de nombreuses instructions
précâblées.
Néanmoins, avec la diminution de la taille des transistors sur les puces et l'accélération des
fréquences d'horloge, la distinction entre RISC et CISC a quasiment complètement disparu. Là où
des familles tranchées existaient, on observe aujourd'hui des microprocesseurs où une structure
interne RISC apporte de la puissance tout en restant compatible avec une utilisation de type
CISC (la famille Intel x86 a ainsi subi une transition entre une organisation initialement très
typique d'une structure CISC. Actuellement, elle utilise un cœur RISC très rapide, s'appuyant sur
un système de réarrangement du code à la volée) mis en œuvre, en partie, grâce à des mémoires
caches de plus en plus grandes, comportant jusqu'à trois niveaux.
Structure et fonctionnement
le registre indicateur d'état (flags), ce registre donne l'état du microprocesseur à tout moment,
il peut seulement être lu ;
le pointeur de pile (SP, Stack Pointer), c'est le pointeur d'une zone spéciale de la mémoire
appelée pile où sont rangés les arguments des sous-programmes et les adresses de retour.
Seul le Program Counter est indispensable, il existe de (rares) processeurs ne comportant pas de
registre d'état ou pas de pointeur de pile (par exemple le NS320xx (en)).
le séquenceur exécute l'instruction, c'est lui qui commande l'ensemble des organes du
microprocesseur.
Fonctionnement
les instructions de saut (if, jump) : permettent de déplacer choisir la prochaine instruction à
exécuter ;
les instructions de calcul (add, mul, div, etc.) : permettent par exemple d'ajouter le contenu du
registre X à l'accumulateur, de multiplier l'accumulateur par le registre Y, etc.
À la fin du cycle, le processeur finit de ranger ses données en mémoire ou dans les registres
spécifiques. En cas de retenue, un registre spécial reçoit la valeur de la retenue, ce qui permet de
le combiner à nouveau pour fonctionner avec plus de bits que ce que permet l'architecture. En
cas d'erreur, comme une division par zéro, le processeur modifie un registre d'état et peut
déclencher une interruption. Toutes ces étapes peuvent s’effectuer en plusieurs cycles d'horloge.
Une optimisation consiste à les exécuter à la chaîne (principe du pipeline) ou en parallèle
(architecture superscalaire). Actuellement, face à la difficulté liée à la montée en fréquence des
microprocesseurs, les fabricants tentent d'augmenter le nombre d'instructions par cycle (IPC)
afin d'augmenter la vitesse de leurs processeurs. Cela a conduit à l'apparition de processeurs
multi-cœurs, composés de plusieurs unités, ou cœurs, capables d'exécuter une instruction
indépendamment de l'autre (contrairement à une architecture superscalaire, qui conserve des
registres en commun). On parle alors de « calcul en parallèle ». Néanmoins, cela nécessite des
programmes adaptés et les performances de ces processeurs dépendent de plus en plus de la
qualité de programmation des programmes qu'ils exécutent.
Fabrication
La fabrication des microprocesseurs est aujourd'hui considérée comme l'un des deux facteurs
d'augmentation de la capacité des unités de fabrication (avec les contraintes liées à la
fabrication des mémoires à grande capacité). La finesse de la gravure industrielle a atteint 45 nm
en 200621. En diminuant encore la finesse de gravure, les fondeurs se heurtent aux règles de la
mécanique quantique.
Problème d'échauffement
.
Ce problème est lié à un autre, celui de la dissipation thermique et donc souvent des ventilateurs,
sources de nuisances sonores. Le refroidissement liquide peut être utilisé. L'utilisation d'une
pâte thermique assure une meilleure conduction de la chaleur du processeur vers le radiateur. Si
l'échauffement ne pose pas de problème majeur pour des applications type ordinateur de bureau,
il en pose pour toutes les applications portables. Il est techniquement facile d'alimenter et de
refroidir un ordinateur fixe. Pour les applications portables, ce sont deux problèmes délicats. Le
téléphone portable, l'ordinateur portable, l'appareil photo numérique, le PDA, le baladeur MP3 ont
une batterie qu'il s'agit de ménager pour que l'appareil portable ait une meilleure autonomie.
Prospective et innovation
Notes et références
Notes
a. Cette vitesse est exprimée sous forme d'une fréquence exprimée en hertz (Hz), qui
comptabilise le nombre de cycles qu'effectue l'horloge de synchronisation du processeur en
une seconde.
b. Ce n'est pas la seule raison, mais, plus un transistor est petit, moins il a besoin d'énergie
pour commuter correctement.
6. François Francis Bus, L'Époque où les puces font leurs lois : histoire des semiconducteurs
vécue de chez Texas Instruments, Books On Demand (ISBN 978-2-322-25685-3).
9. (en) The Intel 4004 Microprocessor and the Silicon Gate Technology (http://www.intel4004.co
m/museum_display.htm) [archive], sur intel4004.com (consulté le 7 décembre 2015).
10. (en) F. Faggin et M. E. Hoff, Standard Parts and Custom Design Merge in a Four-chip
Processor Kit, Electronics, 24 avril 1972.
12. (en) Gilbert Hyatt Files the First General Patent on the Microprocessor, Later Invalidated (htt
p://www.historyofinformation.com/expanded.php?id=121) [archive], sur
13. (en) « The Intel 4004 Microprocessor and the Silicon Gate Technology (http://www.intel400
4.com/hyatt.htm) [archive] », sur intel4004.com (consulté le 25 décembre 2016).
22. Fiori, G. et al., Electronics based on two-dimensional materials, Nat. Nanotechnol., 9, 768–779
(2014).
23. Mak, K. F., Lee, C., Hone, J., Shan, J. et Heinz, T. F., Atomically thin MoS2: a new direct-gap
semiconductor, Phys. Rev. Lett., 105, 136805 (2010).
24. Li, L. et al., Black phosphorus field-effect transistors, Nat. Nanotechnol., 9, 372–377 (2014).
25. Stefan Wachter, Dmitry K. Polyushkin, Ole Bethge et Thomas Mueller, A microprocessor
based on a two-dimensional semiconductor, Nature Communications, 8, no 14948, 11 avril
2017, DOI 10.1038/ncomms14948 (https://dx.doi.org/10.1038%2Fncomms14948) (résumé (https://ww
w.nature.com/articles/ncomms14948) [archive]).
26. Myny, K. et al., An 8-bit, 40-instructions-per-second organic microprocessor on plastic foil, IEEE
J. Solid-State Circuits, 47, 284–291 (2012).
27. Shulaker, M. M. et al., Carbon nanotube computer, Nature, 501, 526–530 (2013).
28. adisavljevic, B., Radenovic, A., Brivio, J., Giacometti, V. et Kis, A., Single-layer MoS2
transistors, Nat. Nanotechnol., 6, 147–150 (2011).
29. Roy, T. et al. (2015), Dual-gated MoS2/WSe2 van der Waals tunnel diodes and transistors, ACS
Nano, 9, 2071–2079.
30. Pu, J. et al. (2012), Highly flexible MoS2 thin-film transistors with ion gel dielectrics, Nano
Lett., 12, 4013–4017.
31. Wang, H. et al. (2012), Integrated circuits based on bilayer MoS2 transistors, Nano Lett., 12,
4674–4680.
32. Cheng, R. et al. (2014), Few-layer molybdenum disulfide transistors and circuits for high-speed
flexible electronics, Nat. Commun., 5, 5143.
Voir aussi
Bibliographie
(en) Jon Stokes, An Illustrated Introduction to Microprocessors and Computer Architecture par
Jon Stokes, No Starch Press, 2006 (ISBN 978-1-59327-104-6).
(en) David E. Culler, Jaswinder Pal Singh et Anoop Gupta, Parallel Computer Architecture : A
Hardware/Software Approach, San Francisco (Calif.), Morgan Kaufmann Publishers, 1999,
1025 p. (ISBN 978-1-55860-343-1 et 1-55860-343-3, lire en ligne (https://books.google.com/books?id=MHfHC4
Wf3K0C&printsec=frontcover) [archive]).
(en) Federico Faggin et al., The MCS-4 An LSI Microcomputer System, IEEE 1972 Region Six
Conference.
(en) Yale Patt et Sanjay J. Patel, Introduction to Computing Systems: From Bits and Gates to C
and Beyond, Mc Graw Hill.
Articles connexes
Processeur
Liste de microprocesseurs
Loi de Moore
Microcontrôleur
Émulateur in-circuit
Overclocking
Liens externes