Architecture des ordinateurs : une perspective historique
Les prémisces historiques théoriques.
Les ordinateurs nous semblent être par excellence le produit de la modernité. Notre monde différe des époques qui lui ont précédé par cet omniprésence de l'informatique. Cependant, dès que l'on prend un peu de recul, on se rend compte que tout cela n'est possible que grâce aux multiples travaux qui ont accompagné le développement de l'humanité, tant sur le plan théorique au niveau de la logique, des mathématiques, et des sciences de la matière, qu'au niveau technologique.
Voici un panorama qui présente un certain nombre de scientifiques et leur contribution à l'informatique à travers les époques.
Philosophe grec, disciple de Platon, il est l'un des rares à avoir abordé tous les fomaines de connaissance de son temps : biologie, physique, métaphysique, logique, poétique, politique, rhétorique, éthique et économie. Il défini la philosophie comme la recherche du savoir pour lui même.
Il est l'auteur de l'organon, qui est un ensemble de traités sur la façon de mener une réflexion juste. Dans les Premiers Analytiques, le livre III de l'organon, Aristote cherche à définir une méthode destinée à permettre une compréhension scientifique du monde. Pour lui, le but d'une recherche ou d'une enquête est d'aboutir à « un système de concepts et de propositions hiérarchiquement organisés, fondés sur la connaissance de la nature essentielle de l'objet de l'étude et sur certains autres premiers principes nécessaires »
Aristote est souvent considéré comme le fondateur à la fois de la logique et de la démarche scientifique en occident.
Blaise PASCAL est un mathématicien, physicien, inventeur, philosophe, moraliste et théologien français. À 19 ans, il invente la première machine à calculer et après trois ans de développement et une cinquantaine de prototypes, il la présente à ses contemporains en la dédiant au chancelier Séguier. Dénommée machine d’arithmétique, puis roue pascaline et enfin pascaline, il en construisit une vingtaine d'exemplaires dans la décennie suivante.
Cette machine ne connaîtra pas un grand succès principalement en raison de son prix qui la rendait innaccessible au grand public.
Gottfried Wilhem LEIBNIZ est un philosophe, scientifique, mathématicien, logicien, diplomate, juriste, bibliothécaire et philologue allemand. Il est avec Descartes et Spinoza l'un des principaux représentant du rationalisme.
De la logique
L'importance de la logique développée par Leibniz en fait pour certains le plus grand logicien depuis Aristote. Leibniz estime qu'Aristote est le « premier qui ait écrit mathématiquement en dehors des mathématiques». Il avait une grande admiration pour son œuvre. Cependant, il l'estimait imparfaite ; il trouvait que la logique aristotélicienne présentait des lacunes et souhaitait l'améliorer. Il s'intéressa particulièrement à la syllogistique et ses premières contributions dans ce domaine se trouvent dans le De arte combinatoria.
De l'informatique
Il travaille sur le système binaire comme substitut au système décimal, s'inspirant notamment de vieux travaux chinois. Concevant les pensées comme des combinaisons de concepts de base, il théorise la caractéristique universelle, une langue hypothétique qui permettrait d'exprimer la totalité des pensées humaines, et qui pourrait résoudre des problèmes par le calcul grâce au calculus ratiocinator, anticipant l'informatique de plus de trois siècles.
Georges BOOLE est un logicien, mathématicien et philosophe britannique. Autodidacte, il publia ses premiers travaux d'algèbre tout en exerçant son métier d'instituteur et de directeur d'école dans la région de Lincoln. Ses travaux lui valurent en 1844 la Royal Medal de la Royal Society, puis une chaire de mathématiques à l'université (Queen's College) de Cork en 1849.
En 1847, George Boole envoie aux presses universitaires de Cambridge un livre de quatre-vingts pages intitulé Analyse mathématique de la logique, essai pour un calcul du raisonnement déductif. L'idée essentielle de ce petit livre est de démontrer que les raisonnements logiques sont sujets à des lois mathématiques comme celles de l'algèbre et qu'ils peuvent, par conséquent, être représentés et analysés par le biais d'équations mathématiques grâce à un nouveau calcul qui n'opère pas avec des nombres, mais avec des classes d'objets.
Boole développe une nouvelle forme de logique, à la fois symbolique et mathématique. Le but : traduire des idées et des concepts en équations, leur appliquer certaines lois et retraduire le résultat en termes logiques. Pour cela, il crée une algèbre binaire, dite booléenne, n'acceptant que deux valeurs numériques : 0 et 1. Cette algébre est l'un des fondements de l'informatique, grâce en particulier aux travaux de Claude SHANNON un siècle plus tard sur la théorie de l'information.
Charles BABBAGE est un mathématicien et inventeur visionnaire britannique du XIXe siècle qui fut l'un des principaux précurseurs de l'informatique. Il fut le premier à énoncer le principe d'un ordinateur. C'est en 1834, pendant le développement d'une machine à calculer destinée au calcul et à l'impression de tables mathématiques (la machine à différences) qu'il eut l'idée d'y incorporer des cartes du métier Jacquard, dont la lecture séquentielle donnerait des instructions et des données à sa machine, et donc imagina l'ancêtre mécanique des ordinateurs d'aujourd'hui. Il n'acheva jamais sa machine analytique, mais il passa le reste de sa vie à la concevoir dans les moindres détails et à en construire un prototype. Un de ses fils en construisit l'unité centrale (le moulin) et l'imprimante en 1888 et fit une démonstration réussie de calcul de table à l'académie royale d'astronomie en 1908
C'est entre 1847 et 1849 que Charles Babbage entreprit d'utiliser les avancées technologiques de sa machine analytique pour concevoir les plans d'une deuxième machine à différences qui, à spécifications égales, demandait trois fois moins de pièces que la précédente. En 1991, à partir de ces plans, on a pu reconstruire une partie de cette machine qui fonctionne parfaitement en utilisant les techniques qui étaient disponibles au XIXe siècle ce qui montre qu'elle aurait pu être construite du vivant de Charles Babbage.
C'est au cours du développement de cette machine qu'Ada Lovelace formalise les idées de Babbage et développe le premier algorithme de programmation de l'histoire, devenant la première informaticienne de l'humanité.
Ada Lovelace, de son nom complet Augusta Ada King, comtesse de Lovelace, est une pionnière de la science informatique. Elle est principalement connue pour avoir réalisé le premier véritable programme informatique, lors de son travail sur un ancêtre de l'ordinateur : la machine analytique de Charles Babbage. Dans ses notes, réalisées en collaboration avec Babbage, on trouve en effet le premier programme publié, destiné à être exécuté par une machine, ce qui fait considérer Ada Lovelace comme « le premier programmeur du monde ». Elle a également entrevu et décrit certaines possibilités offertes par les calculateurs universels, allant bien au-delà du calcul numérique et de ce qu'imaginaient Babbage et ses contemporains
Un autre passage des notes d'Ada illustre cette vision de calculateur universel :
« Beaucoup de personnes […] s'imaginent que parce que la Machine fournit des résultats sous une forme numérique, alors la nature de ses processus doit être forcément arithmétique et numérique, plutôt qu'algébrique ou analytique. Ceci est une erreur. La Machine peut arranger et combiner les quantités numériques exactement comme si elles étaient des lettres, ou tout autre symbole général ; en fait elle peut donner des résultats en notation algébrique, avec des conventions appropriées. »
Il fallut attendre les années 1930 avec Alan Turing pour formaliser une telle notion de calculateur universel qui manipule des symboles généraux, et abandonner la notion de calculatrice purement numérique.
Alonozo CHURCH est un mathématicien et logicien américain à qui l'on doit certains des fondements de l'informatique théorique. Il est connu principalement pour le développement du lambda-calcul, son application à la notion de fonction récursive, et pour la première démonstration de l'indécidabilité de l'arrêt.
Ses travaux sur le problème de l'arrêt précedent ceux d'Alan TURING qui va rejoindre son équipe. CHURCH a le premier l'idée de définir le concept de fonction calculable au sens large, et en 1936, grâce au lambda-calcul, il montre l'existence d'un problème insoluble par algorithme, autrement dit qui ne peut pas être résolu par un calcul mécanisable.
Kleene et Turing démontrent que le lambda-calcul de Church, les fonctions générales récursives (modèle dit de Herbrand-Gödel) et les machines de Turing ont des capacités équivalentes. L'équivalence démontrait ensuite qu'un certain nombre de formalisations mathématiques de la notion de traitement par des processus mécaniques ont des aptitudes en tous points semblables à l'intuition de Church.
Alan TURING est un mathématicien et cryptologue britannique, auteur de travaux qui fondent scientifiquement l'informatique. Pour résoudre le problème fondamental de la décidabilité en arithmétique, il présente en 1936 une expérience de pensée que l'on nommera ensuite machine de Turing et des concepts de programme et de programmation, qui prendront tout leur sens avec la diffusion des ordinateurs, dans la seconde moitié du XXe siècle. Son modèle a contribué à établir la thèse de Church, qui définit le concept mathématique intuitif de fonction calculable.
Durant la Seconde Guerre mondiale, il joue un rôle majeur dans la cryptanalyse de la machine Enigma utilisée par les armées allemandes. Ce travail secret ne sera connu du public que dans les années 1970. Après la guerre, il travaille sur un des tout premiers ordinateurs, puis contribue au débat sur la possibilité de l'intelligence artificielle, en proposant le test de Turing. Vers la fin de sa vie, il s'intéresse à des modèles de morphogenèse du vivant conduisant aux « structures de Turing ».
Poursuivi en justice en 1952 pour homosexualité, il choisit, pour éviter la prison, la castration chimique par prise d'œstrogènes. Il est retrouvé mort par empoisonnement au cyanure le 8 juin 1954 dans la chambre de sa maison à Wilmslow. La reine Élisabeth II le reconnaît comme héros de guerre et le gracie à titre posthume en 2013.
Lee DE FOREST est un inventeur américain fécond dans le domaine de l'électronique qui déposera plus de 300 brevets à son nom. En 1907, en insérant une grille entre l'anode et la cathode d'une lampe diode (brevetée en 1904 par FLEMING), il invente la première triode nommée l'audion. Ce tube à vide est capable de provoquer l'amplification d'un signal électrique. D'emblée, le brevet est attaqué par FLEMING pour plagiat. De Forest, s'il a joué un rôle essentiel dans la diffusion commerciale de l'électronique, dut toute sa vie soutenir des procès contre d'autres inventeurs.
DE FOREST est aussi l'un des inventeurs du son optique pour le cinéman avec le phonofilm qu'il développe en 1919. D’abord oublié par les historiens du cinéma, Lee De Forest reçoit en 1960 un Oscar du cinéma, ainsi qu'une étoile sur le Hollywood Walk of Fame.
John VON NEUMANN est un mathématicien et physicien américano-hongrois. Il a apporté d'importantes contributions en mécanique quantique, en analyse fonctionnelle, en théorie des ensembles, en informatique, en sciences économiques et dans beaucoup d'autres domaines des mathématiques et de la physique. Il a de plus participé aux programmes militaires américains, notamment à l'élaboration de la bombe atomique à Los Alamos.
L'architecture des ordinateurs actuels repose sur le modèle de VON NEUMANN que nous étudierons plus en détail par la suite.
Claude SHANNON est un ingénieur en génie électrique et mathématicien américain. Il est l'un des pères, si ce n'est le père fondateur, de la théorie de l'information. Pendant la Seconde Guerre mondiale, Shannon travaille pour les services secrets de l'armée américaine, en cryptographie. Il est chargé de localiser de manière automatique dans le code ennemi les parties signifiantes cachées au milieu du brouillage. Son travail est exposé dans un rapport secret (déclassifié dans les années 1980 seulement), qui donne naissance après-guerre à un article, A Mathematical Theory of Communication (1948), qui fut repris en 1949 sous forme de livre publié par l'université de l'Illinois. Cet ouvrage est centré autour de la problématique de la transmission du signal.
Dans l'article comme dans son livre, Claude Shannon popularise l'utilisation du mot bit comme mesure élémentaire de l'information numérique. Le bit désigne un chiffre binaire permettant de coder une quantité d'information. Ainsi, il faut au moins un bit pour coder deux états et n bits permettent de code 2nétats.
Son nom est associé à plusieurs théorèmes, le théorème d'échantillonnage de Nyquist-Shannon sur l'échantillonnage (aussi appelé critère de Shannon), le premier théorème de Shannon sur la limite théorique de la compression, le deuxième théorème de Shannon sur la capacité d'un canal de transmission.
Les premiers ordinateurs
En s'appuyant sur ces fondements théoriques et sur les travaux des pionniers comme Pascal et Babbage, le XXème Siècle fût celui de l'apparition des ordinateurs. Les premiers ordinateurs avaient des capacités limitées, coutaient extrêmement cher et demandaient des spécialistes pour les manipuler. Voici quelques uns des premiers ordinateurs, la liste étant non exhaustive.
Le Z3, premier calculateur moderne (1941)
Konrad Zuse (1910 - 1995) réalisa le Z1, Z2 et enfin le Z3 en 1941 pour une usine d'aéronautique de l'armée allemande (le Z3 fut détruit en 1944 par les alliés). Il s'agit du premier ordinateur programmable utilisant le binaire.
Le Z3 comprenait 600 relais pour l'UAL, 1600 pour la mémoire. Il pouvait faire une addition en 0.7 seconde, multiplication et division en 3 secondes. Il avait une consommation électrique de 4kW et pesait 1 tonne ! Il semble que le Z3 était un ordinateur très en avance sur ses concurrents directs que furent le Mark I et l'ENIAC.
Le colossus britannique (1944)
Durant la seconde guerre mondiale, les allemands utilisaient la machine Enigma pour coder leurs messages. L'un des buts fixés à l'Intelligence Service fut de casser les codes Enigma. La conception de Colossus commença en mars 1943 à Bletchley Park sous l'égide de Max Newman et de son équipe. Le Colossus fut opérationnel en janvier 1944 et permit de décoder en quelques heures les messages codés allemands. Constitué de 1 500, puis 2 400 tubes à vide pour la seconde version, il accomplissait 5 000 opérations par seconde. Les anglais gardèrent secret leur machine. Ce n'est qu'en 1970 que l'on apprit l'existence de Colossus.
Le mark I d'IBM (1944)
L'un des tous premiers ordinateurs américain est l'IBM ASCC (Automatic Sequence Controlled Calculator) créé par Howard H. Aiken. Ce calculateur fut vendu à l'université de Harvard qui le baptisa Mark I. Ses caractéristiques étaient les suivantes :
- 16 m de long, 2,4 m de haut, 60 cm de largeur
- poids : 4,5 tonnes
- 765.000 composant et des centaines de kms de câbles
- mémoire de 72 nombres composés de 23 chiffres décimaux
- 3 additions ou soustractions par seconde
- 1 multiplication toutes les 6 secondes
- 1 division toutes les 15 secondes
- logarithme et fonctions trigonométriques : 1 minute
Le Mark I était une machine autonome capable de lire ses instructions sur des cartes perforées mais ne pouvait effectuer d'instruction de branchement conditionnel (if).
l'ENIAC (1946)
l'ENIAC (Electronic Numerical Integrator and Computer) fut terminé en 1946. Il a été construit à l'Université de Pennsylvanie par John Mauchly et John Eckert à partir de 1943 pour les besoins du BRL (Ballistics Research Laboratory).
Le BRL était une agence de l'armée américaine chargée d'élaborer les tables de portée et de trajectoire des projectiles. Ce travail occupait près de 200 personnes qui utilisaient des "machines à calculer" de l'époque pour établir l'ensemble des caractéristiques des projectiles, données sans lesquelles ces armes étaient inutilisables par les artilleurs. La préparation des tables pour un projectile pouvait occuper une personne pendant plusieurs dizaines d'heures voire plusieurs jours.
Mauchly alors professeur d'ingénierie électrique à U Penn, assisté de son thésard Eckert, proposa de construire un ordinateur pour répondre aux besoins du BRL.
Les caractéristiques de l'ENIAC étaient les suivantes :
- il pesait 30 tonnes
- utilisait 19000 tubes à vides
- possédait 20 "registres" capables de stocker des nombres décimaux sur 10 chiffres
- il était capable d'effectuer une multiplication de deux nombres en 1 seconde, ce qui constituait une avancée majeure par rapport aux calculateurs mécaniques 500 fois plus lent.
L'ENIAC qui fut terminé en 1946 ne participa pas à l'effort de guerre mais fut utilisé dans l'élaboration de la bombe H. L'ENIAC fonctionna jusqu'en 1955 au BRL.
Une caractéristique préjudiciable de l'ENIAC était que la programmation s'effectuait par cablage :
Les générations suivantes
L'informatique n'a cessé de progresser depuis le début du vingtième siècle. On classe habituellement les ordinateurs en 4 générations, correspondant à quatres progrès technologiques majeurs.
La première génération : les tubes à vide
La première génération, dont les ordinateurs ci-dessus sont les représentants les plus connus, est constitué par les machines qui utilisent les tubes à vide. C'est principalement l'invention de la triode par Lee DE FOREST qui a permis la construction de ces machines.
La seconde génération : les transistors
À la suite des travaux sur les semi-conducteurs, le transistor a été inventé le 23 décembre 1947 par les Américains John Bardeen, William Shockley et Walter Brattain, chercheurs des Laboratoires Bell. Ces chercheurs ont reçu pour cette invention le prix Nobel de physique en 1956.
Herbert Mataré et Heinrich Welker deux physiciens allemands ont aussi développé parallèlement et indépendamment le « transistor français » en juin 1948 alors qu’ils travaillaient à la Compagnie des Freins et Signaux à Paris
Le transistor est considéré comme un énorme progrès face au tube électronique : beaucoup plus petit, plus léger et plus robuste, fonctionnant avec des tensions faibles, autorisant une alimentation par piles, il fonctionne presque instantanément une fois mis sous tension, contrairement aux tubes électroniques qui demandaient une dizaine de secondes de chauffage, généraient une consommation importante et nécessitaient une source de tension élevée (plusieurs centaines de volts)
La première application du transistor fût la radio en 1954, et à partir du milieu des années 50, on commence à utiliser le transistor dans les ordinateurs, les rendant assez fiables et relativement petits pour leur commercialisation. A partir de 1957 IBM construisait tous les nouveaux ordinateurs avec des transistors au lieu des tubes à vide. On passe des ordinateurs à ce que l'on appelle des mini-ordinateurs, c'est à dire des machines occupant l'espace d'un grand meuble au lieu d'une salle entière.
La troisième génération : les circuits intégrés
En 1958, l’Américain Jack Kilby invente le premier circuit intégré, jetant ainsi les bases du matériel informatique moderne. Jack Kilby, qui venait de rejoindre la compagnie, a fait cette découverte alors que ses collègues profitaient de vacances organisées par Texas Instruments. À l'époque, Kilby avait tout simplement relié entre eux différents transistors en les câblant à la main. Il ne faudra par la suite que quelques mois pour passer du stade de prototype à la production de masse de puces en silicium contenant plusieurs transistors. Ces ensembles de transistors interconnectés en circuits microscopiques dans un même bloc, permettaient la réalisation de mémoires, ainsi que d’unités logiques et arithmétiques. Ce concept révolutionnaire concentrait dans un volume incroyablement réduit, un maximum de fonctions logiques, auxquelles l'extérieur accédait à travers des connexions réparties à la périphérie du circuit. Le brevet est finalement accordé à Texas Instrument en 1964. Cette découverte a valu à Kilby un prix Nobel de physique en 2000, alors que ce dernier siégeait toujours au directoire de Texas Instruments et détenait plus de 60 brevets à son nom.
Le programme de missiles balistiques Minuteman II a été essentiel au développement économique de l'industrie du circuit intégré. C'est le premier objet produit en série qui intégrait un ordinateur conçu à partir de ceux-ci (le D-37C d'Autonetics), il a d'ailleurs été le seul consommateur de ce type d'ordinateur de 1962 à 1967. L'ordinateur comprenait des circuits fabriqués par Texas Instruments de types DTL et DL. Le seul autre ordinateur qui a fait appel à cette technologie est celui destiné à contrôler les missions Apollo, ordinateur qui avait des contraintes semblables du point de vue de la masse et de la fiabilité.
La quatrième génération : les microprocesseurs
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. Le premier microprocesseur commercialisé est le 4004 d'Intel 4 bits, suivi par l'Intel 8008 à 8 bits.
Cette miniaturisation a permis :
- d'augmenter les vitesses 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.
En 1978, Intel commercialise le 8086, un processeur 16 bits, premier de la famille x86, qui est devenue l'architecture de processeur la plus répandue dans le monde des ordinateurs personnels, stations de travail et serveurs informatiques en raison du choix d'IBM de l'utiliser comme base de l'IBM PC sorti quelques années après. Son principal concurrent était le Motorola 68000 sorti en 1979 et notamment utilisé dans les Apple Macintosh.
Avec cette quatrième génération, la micro-informatique est née, ainsi que l'informatique personnelle.
Une cinquième génération : les SOC ?
Le souci de la miniaturisation permanente, que ce soit dans les années 90 et surtout dans les années 2000, on conduit à l'intégration de l'ensemble des composants classique d'un ordinateur (processeur, mémoire, carte graphique, etc) sur un composant unique. On parle de "system on a chip" ou SOC. Ces améliorations sont plus des intégrations que de véritables révolutions comme celle des générations précédentes. Elles ont permis de passer de la micro-informatique à l'informatique mobile, avec les smartphones actuels qui ont plus de puissance que les stations de travail professionnelles des années 90.
Amélioration continue ou 5ème génération ? La question reste posée.