Histoire des processeurs
Cet article est consacré à l'histoire des processeurs.
L'EDVAC
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 , 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 [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 [2].
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 fonctionnent grâce à l'Architecture de von Neumann, 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.
Processeurs à transistors discrets ou à circuits intégrés
La complexité de conception des unités centrales de traitement s'est accrue lorsque diverses technologies ont facilité la construction de dispositifs électroniques plus petits et plus fiables. La première de ces améliorations est apparue avec l'avènement du transistor. Les processeurs transistorisés des années 1950 et des années 1960 n'ont plus besoin de faire appel à des éléments de commutation encombrants, peu fiables et fragiles comme les tubes à vide et les relais électromécaniques. Avec cette amélioration, des unités centrales de traitement plus complexes et plus fiables ont été construites sur une ou plusieurs cartes de circuit imprimé contenant des composants discrets (individuels). Au cours de cette période, une nouvelle méthode de fabrication a vu le jour, permettant de grouper un grand nombre de transistors sur une surface réduite de matériau semi-conducteur, le circuit intégré (IC) était né.
Au tout début, des circuits numériques non spécialisés, tels que les portes NOR, ont été miniaturisés dans des circuits intégrés. Les unités centrales de traitement basées sur ces modules élémentaires sont généralement appelés dispositifs à faible intégration (SSI, pour Small Scale Integration). Les circuits intégrés SSI, comme ceux utilisés dans l'ordinateur de guidage de la station spatiale Apollo, ne comptent généralement qu'une dizaine de transistors. Construire une unité centrale de traitement entièrement en circuits SSI nécessite des milliers de circuits intégrés individuels, mais consomme toujours beaucoup moins d'espace et de puissance que les montages à transistors discrets précédents. Pendant que la technologie microélectronique avançait, un nombre croissant de transistors ont été intégrés dans les circuits, de ce fait diminuant le nombre de circuits individuels nécessaires pour une unité centrale de traitement complète.
L'échelle d'intégration définit le nombre de portes par boîtier :
- SSI (small scale integration) petite : inférieur à 12 ;
- MSI (medium scale integration) moyenne : 12 à 99 ;
- LSI (large scale integration) grande : 100 à 9 999 ;
- VLSI (very large scale integration) très grande : 10 000 à 99 999 ;
- ULSI (ultra large scale integration) ultra grande : 100 000 et plus.
Ces distinctions ont peu à peu perdu de leur utilité avec la croissance exponentielle du nombre de portes logique. Aujourd'hui plusieurs centaines de millions de transistors (plusieurs dizaines de millions de portes logique) représentent un chiffre normal (pour un microprocesseur ou un circuit intégré graphique haut de gamme).
En 1964 IBM a présenté son architecture d'ordinateur System/360, qui a été employée dans une série d'ordinateurs qui pouvaient exécuter les mêmes programmes à différentes vitesses et performances. C'était significatif à un moment où la plupart des ordinateurs étaient incompatibles entre eux, même ceux construits par le même fabricant. Pour développer cette avancée, IBM mis au point le concept de microprogramme (souvent appelé « microcode »), dont l'utilisation est encore fréquente dans des unités centrales de traitement modernes. L'architecture System/360 était si populaire qu'elle a dominé le marché des ordinateurs centraux pendant plusieurs décennies laissant un héritage encore utilisé par des ordinateurs modernes comme les zSeries d'IBM. Au cours de la même année (1964), Digital Equipment Corporation (DEC) a présenté un autre ordinateur déterminant destiné au marché des ordinateurs scientifiques et de recherche, le PDP-8. DEC lancera plus tard la famille très populaire des PDP-11 qui fut à l'origine basée sur des circuits intégrés SSI puis finalement dotée de circuits LSI dès que ceux-ci furent disponibles. Contrastant avec ses prédécesseurs SSI et MSI, la première implémentation en LSI du PDP-11 comportait une unité centrale de traitement à seulement quatre circuits intégrés[3].
Les ordinateurs à transistors avaient plusieurs avantages certains par rapport à leurs prédécesseurs. Hormis la meilleure fiabilité et la moindre consommation d'énergie, les transistors ont permis aux processeurs de fonctionner à des vitesses beaucoup plus élevées car les temps de commutation des transistors sont beaucoup plus courts que ceux des tubes et des relais. Grâce à ces deux avancées, la fréquence d'horloge des processeurs s'est accrue considérablement pour atteindre plusieurs gigahertz. Alors que les processeurs à transistors et à circuits intégrés étaient d'usage courant, de nouveaux concepts d'architecture à haute performance comme les processeurs vectoriels et le SIMD (Simple Instruction Multiple Data - données multiples instruction simple) commencèrent à apparaître et ouvrirent la voie au développement des supercalculateurs spécialisés comme ceux qui furent réalisés par la société Cray Research.
Voir aussi
Notes et références
- (en) John von Neumann, « First Draft of a Report on the EDVAC », Moore School of Electrical Engineering, University of Pennsylvania,
- Alors que EDVAC était conçu quelques années avant la construction d'ENIAC, ENIAC fut tout de même pourvu de l'exécution de programme enregistré en 1948. Ainsi, ENIAC devint un ordinateur à programme enregistré avant que EDVAC ne soit terminé alors que la capacité de programme enregistré avant été omis de la conception d'ENIAC à cause d'inquiétude sur les coûts et la planification.
- (en) Digital Equipment Corporation, « LSI-11, PDP-11/03 user's manual », Digital Equipment Corporation, , p. 4-3