Le microprocesseur.

Un microprocesseur est un processeur 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.


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 microprocesseur.

Cette miniaturisation a permis :

  • d’augmenter les vitessesa de fonctionnement des processeurs, grâce à la réduction des distances entre les composants ;
  • de réduire les coûts, grâce au remplacement de plusieurs circuits par un seul
  • d’augmenter la fiabilité : en supprimant les connexions entre les composants du processeur, on supprime l’un des principaux vecteurs de panne ;
  • de créer des ordinateurs bien plus petits : les micro-ordinateurs ;
  • de réduire la consommation énergétique.
Microprocesseur, carte maximum, France, 1981.

Les principales caractéristiques d’un microprocesseur sont :

  • Le jeu d’instructions qui varie avec le type de microprocesseur et le constructeur : additionner deux nombres, comparer deux nombres pour déterminer s’ils sont égaux, comparer deux nombres pour déterminer lequel est le plus grand, multiplier deux nombres… Un processeur peut exécuter plusieurs dizaines, voire centaines ou milliers, d’instructions différentes.

  • La complexité de son architecture. Cette complexité se mesure par le nombre de transistors contenus dans le microprocesseur. Plus le microprocesseur contient de transistors, plus il pourra effectuer des opérations complexes, et/ou traiter des nombres de grande taille.
    Le nombre de bits que le processeur peut traiter simultanément
    Les premiers microprocesseurs ne pouvaient traiter plus de 4 bits d’un coup. Ils devaient donc exécuter plusieurs instructions pour additionner des nombres de 32 ou 64 bits. En 2007 les microprocesseurs peuvent traiter des nombres sur 64 bits. Le nombre de bits des bus, de la mémoire et du processeur est en rapport direct avec la capacité à traiter de grands nombres rapidement, ou des nombres d’une grande précision (nombres de décimales significatives).
  • La vitesse de l’horloge. Le rôle de l’horloge est de cadencer le rythme du travail du microprocesseur. La fréquence correspond à ce que l’on appelle un cycle d’horloge. Une instruction, selon le type de processeur et  d’instruction peut prendre un ou plusieurs cycles d’horloge. Les  processeurs RISC sur lequel toutes les opérations en langage machine sont simples mais câblées prend généralement un cycle par instruction. Au contraire, un processeur CISC, contient du microcode, ou une instruction en langage machine, est alors une suite d’instructions câblées. En conséquence, dans tous les cas, à technologie égale, plus la fréquence est élevée, plus le nombre d’instruction pouvant être exécutée est élevée.
    Par exemple, un processeur A cadencé à 400 MHz peut exécuter certaines instructions plus rapidement qu’un autre B cadencé à 1 GHz, tout dépend de leurs architectures respectives.

La combinaison des caractéristiques précédentes détermine la puissance du microprocesseur qui s’exprime en « millions d’instructions par seconde » (MIPS). Dans les années 1970, les microprocesseurs effectuaient moins d’un million d’instructions par seconde, mais en 2007, les processeurs pouvaient effectuer plus de 10 milliards d’instructions par seconde.

En 1969, le microprocesseur est inventé par un ingénieur et un physicien d’Intel, Marcian Hoff (surnommé Ted Hoff), et Federico Faggin, qui venait de le rejoindre, fort de recherches menées en Italie. Federico Faggin, ingénieur italien est en 1968 chez Fairchild-SGS à Agrate Brianza6, puis à Palo Alto avec Thomas Klein, 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 1970, 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 Busicom.

Marcian Hoff a formulé l’architecture du microprocesseur (une architecture de bloc et un jeu d’instructions). Le premier microprocesseur commercialisé, le 15 novembre 1971, est l’Intel 4004 4 bits, suivi par l’Intel 8008 à 8 bits et qui servit initialement à fabriquer des contrôleurs graphiques en mode texte. Jugé trop lent par le client qui en avait demandé la conception, il devint un processeur d’usage général.

Ces processeurs sont les précurseurs des Intel 8080, Zilog Z80, et de la future famille des Intel x867. 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é par lui en 1968 chez Fairchild. Il a aussi dirigé la conception du premier microprocesseur jusqu’à son introduction sur le marché en 1971.

Presque à la même époque la société américaine, Motorola, effectue des travaux et innovations similaires sous la direction de Chuck Peddle, 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 alors 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.

En 1990, Gilbert Hyatt revendique la paternité du microprocesseur en se basant sur un brevet qu’il avait déposé en 1970. La reconnaissance de l’antériorité du brevet de Hyatt aurait permis à ce dernier de réclamer des redevances sur tous les microprocesseurs fabriqués de par le monde, mais le brevet de Hyatt a été invalidé en 1995 par l’office américain des brevets, sur la base du fait que le microprocesseur décrit dans la demande de brevet n’avait pas été réalisé, et n’aurait d’ailleurs pas pu l’être avec la technologie disponible au moment du dépôt du brevet.

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.

Les concepteurs de processeurs ne cherchent pas simplement à exécuter plusieurs instructions indépendantes en même temps, ils cherchent à optimiser le temps d’exécution de l’ensemble des instructions. Par exemple le processeur peut trier les instructions de manière que tous ses pipelines contiennent des instructions indépendantes. Ce mécanisme s’appelle l’exécution out-of-order. Ce type de processeur s’est imposé pour les machines grand public des années 1980 et aux années 1990. L’exemple canonique de ce type de pipeline est celui d’un processeur RISC, (reduced instruction set computer) en cinq étapes. Le Intel Pentium 4 dispose de 35 étages de pipeline. Un compilateur optimisé pour ce genre de processeur fournit un code qui sera exécuté plus rapidement.

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 fondeurs 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 Multi Threading, 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’Hyperthreading. 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ément.

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 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.

Les microprocesseurs sont habituellement regroupés en familles, en fonction du jeu d’instructions qu’ils exécutent. Si ce jeu d’instructions comprend souvent une base commune à toute la famille, les microprocesseurs les plus récents d’une famille peuvent présenter de nouvelles instructions. La rétrocompatibilité au sein d’une famille n’est donc pas toujours assurée. Par exemple un programme dit compatible x86 écrit pour un processeur Intel 80386, qui permet la protection mémoire, pourrait ne pas fonctionner sur des processeurs antérieurs, mais fonctionne sur tous les processeurs plus récents (par exemple un Core Duo d’Intel ou un Athlon d’AMD).

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 650216 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ées 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 RiscPC.

La fabrication d’un microprocesseur est essentiellement identique à celle de n’importe quel circuit intégré. Elle suit donc un procédé complexe. Mais l’énorme taille et complexité de la plupart des microprocesseurs a tendance à augmenter encore le coût de l’opération. La loi de Moore, qui indique que le nombre de transistors des microprocesseurs sur les puces de silicium double tous les deux ans, indique également que les coûts de production doublent en même temps que le degré d’intégration.

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 2006. En diminuant encore la finesse de gravure, les fondeurs se heurtent aux règles de la mécanique quantique.

Voir aussi cette vidéo :

Sources : Wikipédia, YouTube.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.