mercredi 2 avril 2008

Processeur

La puce d'un microprocesseur Intel 80486DX2 dans son boîtier (taille réelle : 12 × 6,75 mm)

Le processeur, (ou CPU, Central Processing Unit, « Unité centrale de traitement » en français) est le composant essentiel d'un ordinateur qui interprète les instructions et traite les données d'un programme.

La vitesse de traitement d'un processeur est encore parfois exprimée en MIPS (million d'instructions par seconde) ou en Mégaflops (millions de floating-point operations per second) pour la partie virgule flottante, dite FPU (Floating Point Unit). Pourtant, aujourd'hui, les processeurs sont basés sur différentes architectures et techniques de parallélisation des traitements qui ne permettent plus de déterminer simplement leurs performances. Des programmes spécifiques d'évaluation des performances (benchmarks) ont été mis au point pour obtenir des comparatifs des temps d'exécution de programmes réels.

C'est le processeur qui apporte aux ordinateurs leur capacité fondamentale à être programmés, c'est un des composants nécessaires au fonctionnement de tous les types d'ordinateurs, associés aux mémoires primaires et aux dispositifs d'entrée/sortie. Un processeur construit en un seul circuit intégré est communément nommé microprocesseur, à l'inverse, certains fabricants ont développé des processeurs en tranches, dans ce cas les fonctions élémentaires (ALU, FPU, séquenceur, etc.) sont réparties dans plusieurs circuits intégrés spécialisés. L'invention du transistor en 1947 a ouvert la voie de la miniaturisation des composants électroniques et le terme d'unité centrale (CPU) est utilisé dans l'industrie électronique dès le début des années 1960 (Weik 1961). Depuis le milieu des années 1970, la complexité et la puissance des microprocesseurs n'a cessé d'augmenter au-delà de tous les autres types de processeurs au point qu'aujourd'hui les termes de processeur, microprocesseur ou CPU, s'utilisent de manière indifférenciée pour tous les types de processeurs.

Les processeurs des débuts étaient conçus spécifiquement pour un ordinateur d'un type donné. Cette méthode coûteuse de conception des processeurs pour une application spécifique a conduit au développement de la production de masse de processeurs qui conviennent pour un ou plusieurs usages. Cette tendance à la standardisation qui débuta dans le domaine des ordinateurs centraux (mainframes à transistors discrets et mini-ordinateurs) a connu une accélération rapide avec l'avènement des circuits intégrés. Les circuits intégrés ont permis la miniaturisation des processeurs dont les dimensions sont réduites à l'ordre de grandeur du millimètre. La miniaturisation et la standardisation des processeurs ont conduit à leur diffusion dans la vie moderne bien au-delà des usages des machines programmables dédiées. On trouve les microprocesseurs modernes partout, de l'automobile aux téléphones portables, en passant par les jouets pour enfants.

Histoire

EDVAC, L'un des premiers ordinateurs à programme enregistré.

.

Avant l'arrivée des machines qui ressemblent aux unités centrales de traitement d'aujourd'hui, les ordinateurs tels que l'ENIAC devaient être physiquement recâblés avant d'exécuter chaque programme, c'est pour cette raison qu'on les a appelés « ordinateurs à un programme ». Puisque le terme « unité centrale de traitement » est généralement défini comme dispositif d'exécution de logiciel (programme machine), les premiers dispositifs que l'on pourrait appeler processeur sont arrivés avec les ordinateurs à programme enregistré.

L'idée d'un ordinateur à programme enregistré était déjà présente pendant la conception d'ENIAC, mais avait été volontairement écartée pour que la machine soit terminée plus tôt. Le 30 juin 1945, avant qu'ENIAC ait été achevé, le mathématicien John von Neumann a diffusé le document intitulé « première ébauche d'un rapport sur l'EDVAC. » Il a décrit la conception d'un ordinateur à programme enregistré qui sera par la suite complété en août 1949 (von Neumann 1945). EDVAC a été conçu pour exécuter un certain nombre d'instructions (ou opérations) de divers types. Ces instructions pouvaient être combinées pour créer des programmes utiles au fonctionnement de l'EDVAC. De manière significative, les programmes écrits pour EDVAC ont été stockés dans de la mémoire d'ordinateur à grande vitesse plutôt que définis par le câblage physique de l'ordinateur. Ceci a surmonté une limitation importante d'ENIAC, qui était la grande quantité de temps et d'effort nécessaires pour modifier l'ordinateur en vue d'exécuter un nouveau programme. Avec la conception de von Neumann, le programme, ou le logiciel, qu'EDVAC exécutait pouvait être changé par simple modification du contenu de la mémoire d'ordinateur.

Tandis que von Neumann le plus souvent est crédité de la conception de l'ordinateur à programme enregistré en raison de sa conception d'EDVAC, d'autres avant lui tel que Konrad Zuse avaient suggéré des idées semblables. De plus, l'architecture de Harvard (Harvard Mark I), qui a été réalisée avant EDVAC, a également utilisé une conception à programme enregistré en utilisant le ruban perforé plutôt que la mémoire électronique. La différence principale entre les architectures von Neumann et Harvard est que la dernière sépare le stockage et le traitement des instructions et des données d'unité centrale de traitement, tandis que l'autre utilise le même espace mémoire pour les deux. La plupart des unités centrales de traitement modernes sont principalement von Neumann dans la conception, mais des éléments de l'architecture de Harvard y sont généralement ajoutés.

Comme tous les dispositifs numériques, les processeurs traitent des états discrets et requièrent donc des éléments de commutation pour différencier et changer ces états. Avant l'acceptation commerciale du transistor, les relais électromécaniques et les tubes électroniques étaient utilisés généralement comme éléments de commutation. Bien que ceux-ci présentent des avantages certains de vitesse sur les précédents, de conception purement mécanique, ils étaient peu fiables pour différentes raisons. Par exemple, réaliser des circuits de logique séquentielle à courant continu avec des relais impose du matériel additionnel pour régler le problème du rebond de contact. Tandis que les tubes à vide ne souffrent pas du rebond de contact, ils doivent être préchauffés avant de devenir complètement opérationnels et par la suite peuvent cesser de fonctionner brutalement. Régulièrement, quand un tube tombe en panne il faut procéder à un diagnostic de l'unité centrale de traitement en localisant et en remplaçant l'élément défaillant. Par conséquent, les ordinateurs électroniques plus récents (utilisant des tubes à vide) étaient généralement plus rapides mais moins fiables que les anciens (utilisant des relais) ordinateurs électromécaniques. Les ordinateurs à tubes comme EDVAC fonctionnaient en moyenne huit heures entre les pannes, tandis que les ordinateurs à relais (plus lents mais arrivés plus tôt) d'architecture Harvard ne tombaient en panne que très rarement (Weik 1961:238). En fin de compte, les unités centrales de traitement à tubes ont supplanté les autres parce que leurs avantages significatifs de vitesse ont été prépondérants par rapport aux problèmes de fiabilité. La plupart de ces premières unités centrales de traitement synchrones ont fonctionné à de basses fréquences de base comparées aux conceptions microélectroniques modernes. Les fréquences de signal d'horloge s'étendant de 100 kilohertz à 4 mégahertz étaient très communes à l'époque, limitées en grande partie par la vitesse des dispositifs de commutation qu'elles utilisaient.

Aucun commentaire: