Processeurs
Description d'un processeur
Un processeur dispose de plusieurs parties essentielsqui sont:
- L'unité Arithmétique et logique, qui prend en charge les calculs arithmétiques élémentaires et les tests.
- L'unité de contrôle, qui met en relation les différents éléments du processeur. Il initialise les programmes lors du démarrage de la machine et il gère les interruptions.
- Les registres, qui sont des mémoires de petite taille, qui sont assez rapide pour que l'UAL puisse manipuler leur contenu à chaque cycle de l'horloge.
- L'horloge, qui synchronise toutes les actions de l'unité centrale.
- L'unité d'entrée-sortie, qui prend en charge la communication avec la mémoire de l'ordinateur ou la transmission des ordre destinés à piloter ses processeurs spécialisés, permettant au processeur d'accéder aux périphérique de l'ordinateur.
Un processeur est défini par:
- La largeur de ses registres internes de manipulation de données bits;
- La cadence de son horloge exprimée en MHz ou GHz;
- Le nombre de noyaux de calcul(core);
- Son jeu de d'instructions dépendant de la famille;
Sa finesse de gravure exprimée en nm(nanomètres) et sa microarchitecture.
Histoire du processeur
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 réf 1. 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 1 . 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.
Evolution future
Intel a dans ses cartons un projet nommé Keifer. Ce projet représente une nouvelle architecture clairement orientée vers le parallélisme du traitement des données. Si le dual-core tel qu’il est conçu aujourd’hui représente une adaptation de l’architecture traditionnelle, il est clair qu’il ne représente qu’une première étape vers une gamme de nouveaux processeurs qui n’auront plus grand-chose à voir avec ceux que nous connaissons aujourd’hui.
Le projet Gulftown représente un parfait exemple de ce qu’Intel prépare pour l’horizon 2010. Ce processeur serait composé de huit nœuds, chaque nœud représentant quatre cœurs d’exécution possédant chacun 512ko de mémoire cache de niveau 2 et un cache unifié de niveau 3 de 3Mo. Les huit nœuds seraient interconnectés par une architecture en anneau, ouvrant à Intel les portes du traitement parallèle massif.
Ce genre d’architecture n’est pas neuf et il faut y voir une intention de combats certaines sociétés qui possèdent déjà ce type de processeurs, notamment Sun et son Niagara. Bien entendu, on parle ici d’architecture x86, mais Intel parlerait en interne d’un processeur d’une puissance quinze fois supérieure à celle des derniers Xeon de type Woodcrest (série 5100) à une fréquence de 2GHz. Toutefois, la chose n’est pas très claire, car Intel n’a pour l’instant pas confirmé ces informations, et il pourrait tout aussi bien s’agir d’architecture IA-64.
En 2010, Intel devrait normalement utiliser une finesse de gravure de 32nm, ce qui ne sera pas de trop pour mener à bien un tel projet.