Microprocesseur

Un microprocesseur est un processeur dont les composants ont été suffisamment miniaturisés pour être regroupés dans un unique circuit intégré.



Catégories :

Microprocesseur - Carte mère

Recherche sur Google Images :


Source image : paperblog.fr
Cette image est un résultat de recherche de Google Image. Elle est peut-être réduite par rapport à l'originale et/ou protégée par des droits d'auteur.

Définitions :

  • (Informatique) Composant électronique de petite taille constitué de transistors, et chargé d'exécuter des instructions (source : fr.wiktionary)
  • Puce électronique contenant des circuits électroniques intégrés. Egalement : «le cœur de l'ordinateur» — c'est tout ce qui compte. (source : top10hebergeurs)
  • Composant électronique découvert en 1971 et contenant plusieurs milliers de transistors sous forme miniaturisée. Au cœur de l'ordinateur, c'est le microprocesseur qui effectue l'ensemble des calculs nécessaires au fonctionnement des programmes informatiques. (source : cite-sciences)

Un microprocesseur est un processeur dont les composants ont été suffisamment miniaturisés pour être regroupés dans un unique circuit intégré. Fonctionnellement, le processeur est la partie d'un ordinateur qui exécute les instructions et traite les données des programmes.

Intel 4004 dans son boîtier à 16 broches.
Intel 80486DX2.

Jusqu'au début des années 1970, les différents composants électroniques formant un processeur ne pouvaient tenir sur un seul circuit intégré. On devait par conséquent les placer sur plusieurs circuits intégrés. En 1971, la société américaine Intel réussit, pour la première fois, à placer l'ensemble des transistors qui forment un processeur sur un seul circuit intégré donnant ainsi naissance au microprocesseur[1].

Cette miniaturisation a permis :

Les principales caractéristiques d'un microprocesseur sont :

Tout ceci est théorique, dans la pratique, selon l'architecture du processeur, le nombre de cycles d'horloge pour réaliser une opération élémentaire peut fluctuer d'un cycle à plusieurs dizaines par unité d'exécution (typiquement une sur un processeur classique).

A titre d'exemple, un processeur A cadencé à 400 MHz peut être plus rapide qu'un autre B lui cadencé à 1 GHz, tout dépend de leurs architectures respectives.

La combinaison des caractéristiques précédentes détermine la puissance du microprocesseur. La puissance d'un microprocesseur 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, les processeurs actuels (en 2007) peuvent effectuer plus de 10 milliards d'instructions par seconde.

Histoire

Illustration de la loi dite de «progression géométrique» qui régit l'évolution du nombre de transistors sur les puces de silicium. Source : adapté de Nanoinformatique et intelligence ambiante - Inventer l'ordinateur du XXIe siècle Jean-Baptiste Waldner, Hermes Science, Londres, 2007 (avec la permission de l'auteur).

Le microprocesseur a été découvert par deux ingénieurs d'Intel : Marcian Hoff (surnommé Ted Hoff) et Federico Faggin. Marcian Hoff a formulé l'architecture du microprocesseur (une architecture de bloc et un jeu d'instructions) en 1969. Federico Faggin a découvert la conception du microprocesseur (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 ; conception de circuits et de la logique ; nouveau layout ; plusieurs nouvelles solutions techniques) en 1970. Federico Faggin a aussi dirigé la conception du premier microprocesseur jusqu'à son introduction sur le marché en 1971[4].


En 1990, Gilbert Hyatt a revendiqué 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 l'ensemble des microprocesseurs fabriqués de par le monde. Cependant, 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 premier microprocesseur commercialisé, le 15 novembre 1971, est l'Intel 4004 4-bits. Il fut suivi par l'Intel 8008. Ce microprocesseur a servi originellement à fabriquer des contrôleurs graphiques en mode texte, mais 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 x86.

Le tableau suivant décrit les principales caractéristiques des microprocesseurs fabriqués par Intel et montre leur fulgurante évolution à la fois en augmentation du 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 produit des concurrents on suivis avec plus ou moins d'avance ou 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é en tout autant d'étape que de cycle indispensable. Les microprocesseurs séquentiels exécutent l'instruction suivante quand ils ont terminé l'instruction en cour. Dans le cas du parallélisme d'instruction, le microprocesseurs 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. C'est à dire, 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 se nomme 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 tout autant d'instructions qu'ils ont de pipelines, ce à la condition que l'ensemble des instructions à exécuter parallèlement ne soient pas interdépendantes, autrement dit que, le résultats 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 types sont nommés processeurs superscalaires. Le premier ordinateur a être équipé de ce type de processeur était le Seymour Cray CDC 6600 en 1965. L'Intel Pentium 5 est le premier des processeurs superscalaires pour compatible PC.

Aujourd'hui, les concepteurs de processeur ne cherchent pas simplement à exécuter plusieurs instructions indépendantes en même temps, ils cherchent à optimiser le temps d'exécution de la totalité des instructions. Par exemple le processeur peut trier les instructions de façon à ce que tous ses pipelines contiennent des instructions indépendantes. Ce mécanisme se nomme l'exécution out-of-order. Ce type de processeur s'est vu consacré pour les machines grand public à partir des années 1980 et jusqu'aux années 1990[5].

L'exemple canonique de ce type de pipeline est celui d'un processeur RISC, en cinq étapes. Le Intel Pentium 4 dispose de 35 étages de pipeline[6]. Un compilateur optimisé pour ce genre de processeur apportera un code qui sera exécuté plus rapidement.

Pour éviter une perte de temps liée à l'attente de nouvelles instructions et en particulier le délais de rechargement du contexte entre chaque changement de threads, les fondeurs[7] ont ajouté à leurs processeurs des procédés d'optimisations pour que les threads puissent partager les pipelines, les caches et les registres. Ces procédés, regroupé 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 par conséquent 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 Xeon, peuvent exécuter simultanément deux threads qui se partagent les mêmes pipelines, caches et registres. Intel a nommé cette technologie SMT à deux voies : l'Hyperthreading. Le Super-threading est , quant à lui, une technologie SMT dans la quelle 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 seins d'un même composant, par exemple les System on Chip. Cela consistait, par exemple, à ajouter au processeur, un coprocesseur arithmétique, un DSP, voir un cache mémoire peut-être même l'intégralité des composants qu'on trouve sur une carte mère. Des processeurs utilisant deux ou quatre cores sont par conséquent apparus comme par exemple le POWER4 d'IBM sorti en 2001. Il disposent des technologies citées préalablement. Les ordinateurs qui disposent de ce type de processeurs coûte moins cher que l'achat d'un nombre équivalent processeurs, cependant, les performances ne sont pas directement identique, cela dépend du problème traité. Des API spécialisées ont été développées pour tirer parti au mieux de ces technologies, comme le Threading Building Blocks d'Intel.

Date Nom Nombre de
transistors
Finesse de
gravure (µm)
Fréquence
de l'horloge
Largeur
des données
MIPS
1971 4004 2 300 108 kHz 4 bits/4 bits bus
1974 8080 6 000 6 2 MHz 8 bits/8 bits bus 0, 64
1979 8088 29 000 3 5 MHz 16 bits/8 bits bus 0, 33
1982 80286 134 000 1, 5 6 à 16 MHz (20 MHz chez AMD) 16 bits/16 bits bus 1
1985 80386 275 000 1, 5 16 à 40 MHz 32 bits/32 bits bus 5
1989 80486 1 200 000 1 16 à 100 MHz 32 bits/32 bits bus 20
1993 Pentium 3 100 000 0, 8 à 0, 28 60 à 233 MHz 32 bits/64 bits bus 100
1997 Pentium II 7 500 000 0, 35 à 0, 25 233 à 450 MHz 32 bits/64 bits bus 300
1999 Pentium III 9 500 000 0, 25 à 0, 13 450 à 1 400 MHz 32 bits/64 bits bus 510
2000 Pentium 4 42 000 000 0, 18 à 0, 065 1, 3 à 3, 8 GHz 32 bits/64 bits bus 1 700
2004 Pentium 4D «Prescott» 125 000 000 0, 09 à 0, 065 2.66 à 3, 6 GHz 32 bits/64 bits bus 9 000
2006 Core 2™ Duo 291 000 000 0, 065 2, 4 GHz (E6600) 64 bits/64 bits bus 22 000
2007 Core 2™ Quad 2*291 000 000 0, 065 3 GHz (Q6850) 64 bits/64 bits bus 2*22 000 (?)
2008 Core 2™ Duo (Penryn) 410 000 000 0, 045 3, 33 GHz (E8600) 64 bits/64 bits bus ∼24 200
2008 Core 2™ Quad (Penryn) 2*410 000 000 0, 045 3, 2 GHz (QX9770) 64 bits/64 bits bus ∼2*24 200
2008 Intel Core i7 (Nehalem) 731 000 000 0, 045 (2008)
0, 032 (2009)
2, 66 GHz (Core i7 920)
3, 33 GHz (Core i7 Ext. Ed. 975)
64 bits/64 bits bus ?
2009 Intel Core i5/i7 (Lynnfield) 774 000 000 0, 045 (2009)
2, 66 GHz (Core i5 750)
2, 93 GHz (Core i7 870)
64 bits/64 bits bus ?
2010 Intel Core i7 (Gulftown) 1 170 000 000 0, 032 3, 33 GHz (Core i7 980X) 64 bits/64 bits bus ?


Date : l'année de commercialisation du microprocesseur.
Nom : le nom du microprocesseur.
Nombre de transistors : le nombre de transistors contenus dans le microprocesseur.
Finesse de gravure (µm)  : le diamètre (en micromètres) du plus petit fil reliant deux composantes du microprocesseur. En comparaison, l'épaisseur d'un cheveu humain est de 100 microns.
Fréquence de l'horloge : la fréquence de l'horloge de la carte mère qui cadence le microprocesseur. MHz = million (s) de cycles par seconde. GHz = milliard (s) de cycles par seconde.
Largeur des données : le premier nombre indique le nombre de bits sur lequel une opération est faite. Le second nombre indique le nombre de bits transférés à la fois entre la mémoire et le microprocesseur.
MIPS : le nombre de millions d'instructions effectuées par le microprocesseur en une seconde.

Microprocesseur PowerPC 4755.
Microprocesseur ARM60.
Microprocesseur Intel Core 2 Duo.

Familles de microprocesseurs

Les microprocesseurs sont généralement regroupés en familles, selon le jeu d'instructions qu'ils exécutent. Ce jeu d'instructions comprend, fréquemment, une base commune à toute la famille, fréquemment les microprocesseurs les plus récents d'une famille présentent de nouvelles instructions. La rétrocompatibilité au sein d'une famille n'est par conséquent pas forcément assurée. Par exemple un programme dit compatible x86 écrit pour un processeur 80386, qui permet la protection mémoire, pourrait ne pas fonctionner pas sur des processeurs antérieurs, mais fonctionne sur l'ensemble des processeurs plus récents (par exemple un Core Duo d'Intel ou un Athlon d'AMD).

Il existe plusieurs familles de microprocesseurs :

Parmi les familles moins connues du grand public :

Rapidité d'exécution des instructions

Fréquence de fonctionnement

Les microprocesseurs sont cadencés par un signal d'horloge (signal oscillant régulier imposant un rythme au circuit). Au milieu des années 1980, ce signal avait une fréquence de 4 à MHz. Dans les années 2000, cette fréquence atteint 4 GHz. Plus cette fréquence est élevée, plus le microprocesseur peut exécuter à un rythme élevé les instructions de base des programmes.

L'augmentation de la fréquence présente des inconvénients :

Overclocking

Article détaillé : overclocking.

L'overclocking consiste à forcer l'augmentation de la fréquence du signal d'horloge du microprocesseur (comparé aux recommandations du fabriquant), pour pouvoir exécuter plus d'instructions à chaque seconde.

Optimisation du chemin d'exécution

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 pourvus de procédures qui «anticipent» les instructions suivantes avec l'aide de la statistique.

Dans la course à la puissance des microprocesseurs, deux méthodes d'optimisation sont en concurrence :

  1. 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.
  2. 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 énormément d'instructions pré-câblées.

Néanmoins, avec la diminution de la taille des puces électroniques et l'accélération des fréquences d'horloge, la distinction entre RISC et CISC a presque totalement disparu. À l'endroit où des familles tranchées existaient, on observe actuellement 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 originellement particulièrement typique d'une structure CISC. Aujourd'hui elle utilise un cœur RISC particulièrement rapide, s'appuyant sur un dispositif de réarrangement du code à la volée) mis en œuvre, en partie, grâce à des mémoires cache de plus en plus grandes, comportant jusqu'à trois niveaux.

Structure d'un microprocesseur

Articles détaillés : Architecture des processeurs et microarchitecture.

L'unité centrale d'un microprocesseur comprend principalement :

Certains registres ont un rôle particulièrement spécifique :

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

L'unité de contrôle peut aussi se décomposer :

Fabrication des microprocesseurs

La fabrication d'un microprocesseur est principalement semblable à celle de n'importe quel circuit intégré. Elle suit par conséquent un procédé complexe. Mais l'énorme taille et complexité de la majorité des microprocesseurs a tendance à augmenter toujours le coût de l'opération.

La loi de Moore, qui indique que le degré d'intégration des microprocesseurs double l'ensemble des 18 mois, indique aussi que les coûts de production doublent en même temps que le degré d'intégration.

La fabrication des microprocesseurs est actuellement reconnue 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[8]. En diminuant toujours la finesse de gravure, les fondeurs se heurtent aux règles de la mécanique quantique.

Fonctions à développer

Organisation parallèle

Selon le système d'exploitation, la tendance actuelle est l'installation de plusieurs processeurs parallèles et de multiples tâches d'où l'importance grandissante des fonctions d'arbitrages entre processus (par exemple l'hyper threading). En effet, l'architecture super scalaire (mise en parallèle des tâches dans une unité d'exécution) des processeurs actuels ne suffit aujourd'hui plus au multi-threading tel qu'il est utilisé.

En revanche, les processeurs à plusieurs cœurs exigent que soit étudiée de près la répartition des tâches entre eux si on ne veut pas voir observer un ralentissement des opérations; c'est ce qu'on appelle les affinités entre processeurs (processor affinity).

Sécurité et location

Il existe de nombreux projets d'intégration au cœur des microprocesseurs de fonctions visant à empêcher les copies illégales de fichiers (technologies DRM). Le consortium Trusted Computing Group, surtout, a déjà créé des puces servant à créer une "zone de confiance" au sein du dispositif informatique, avec une puce d'identification spécifique. Certains modèles d'ordinateurs, comme les portables d'IBM intègrent déjà de telles puces. La prochaine génération de cette technologie sera certainement intégrée dans les processeurs centraux des ordinateurs.

Ces technologies sont décriées, surtout par des partisans du logiciel libre, pour qui elles possèdent un potentiel liberticide. En effet, conjuguées à un système d'exploitation prévu à cet effet, par exemple dérivé du projet NGSCB de Microsoft, ce type de technologie permet au tiers de confiance (le prestataire qui va vérifier la validité des composants du dispositif) d'accéder à distance au contenu de l'ordinateur, ou alors d'empêcher l'exécution de certaines opérations sur ce dernier. Linus Torvalds estime inapproprié de comparer un logiciel à un contenu, et approuve complètement la protection des contenus par leurs propriétaires, quoiqu'il considère que celle des logiciels ne soit pas une bonne idée pour ceux qui la pratiquent[9].

Mémoire étendue

Ancien dispositif d'extension de la mémoire servant à dépasser la limite de 1 Mio du microprocesseur 8086 de l'époque. Cette mémoire était accessible par pages de 64 Kio. On ne l'utilise plus aujourd'hui à cause des capacités d'adressage étendues des processeurs récents ainsi qu'à cause de l'extrême lenteur des accès aléatoires dès que ceux-ci nécessitent un changement de page mémoire.

Systèmes d'exploitation multiples

Vanderpool/Silvervale : si un dispositif d'exploitation de travail est infecté par un virus coriace, un autre plutôt sur une autre base comme Linux vers Mac OS ou Windows pourrait agir comme gardien et désinfecter le premier tout en ne laissant pas la possibilité au virus de se propager.

Anticipation des problèmes et gestion à distance

En particulier utile pour les serveurs.

Le problème de l'échauffement

Malgré l'usage de techniques de gravures de plus en plus fines, l'échauffement des microprocesseurs reste approximativement proportionnel au carré de leur tension à architecture donnée. Avec V la tension, f la fréquence, et k un cœfficient d'ajustement, on peut calculer la puissance dissipée P :

P = k \times Vˆ2 \times f

Ce problème est lié à un autre, celui de la dissipation thermique et par conséquent fréquemment des ventilateurs, sources de nuisances sonores. Le refroidissement liquide est parfois 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 l'ensemble des 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.

Notes et références

  1. Alain Binet, Le Second XXe siècle (1939-2000) , Paris, Ellipses, 2003, p. 208
  2. Cette vitesse est exprimé 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.
  3. Ce n'est pas l'unique raison, mais, plus un transistor est petit, moins il a besoin d'énergie pour commuter correctement.
  4. (en) www. intel4004. com, musée virtuel dédié à ce microprocesseur.
  5. (Culler et al, p.  15)
  6. Patt, Yale (April 2004). "The Microprocessor Ten Years From Now : What Are The Challenges, How Do We Meet Them? (wmv). Distinguished Lecturer talk at Carnegie Mellon University. Retrieved on November 7, 2007.
  7. Société fabricant des puces électroniques.
  8. Intel First to Demonstrate Working 45nm Chips
  9. Protection et protection, par Linus Torvalds

Voir aussi

Bibliographie

Liens externes

Recherche sur Amazone (livres) :




Ce texte est issu de l'encyclopédie Wikipedia. Vous pouvez consulter sa version originale dans cette encyclopédie à l'adresse http://fr.wikipedia.org/wiki/Microprocesseur.
Voir la liste des contributeurs.
La version présentée ici à été extraite depuis cette source le 07/04/2010.
Ce texte est disponible sous les termes de la licence de documentation libre GNU (GFDL).
La liste des définitions proposées en tête de page est une sélection parmi les résultats obtenus à l'aide de la commande "define:" de Google.
Cette page fait partie du projet Wikibis.
Accueil Recherche Aller au contenuDébut page
ContactContact ImprimerImprimer liens d'évitement et raccourcis clavierAccessibilité
Aller au menu