De la roue de Pascal à la puce de deux cents milliards de transistors : cinq machines à manipuler pour comprendre comment l'on a appris à faire calculer la matière.
Quatre idées font un ordinateur
Le mot informatique a été forgé en 1962 par l'ingénieur français Philippe Dreyfus, par contraction d'« information » et d'« automatique » : c'est la science du traitement automatique de l'information. Son histoire est bien plus ancienne que le mot. On peut la raconter comme l'arrivée successive de quatre idées, que les cinq planches de ce cahier font manipuler une à une.
Idée
Ce qu'elle apporte
Planche
Mécaniser
Une machine exécute le calcul sans réfléchir ; la retenue devient un mouvement.
1 · Pascal, 1642
Automatiser une méthode
Une suite d'opérations simples remplace un calcul difficile.
2 · Babbage, 1822
Définir le calcul
Tout ce qui est calculable l'est par une machine très simple.
3 · Turing, 1936
Coder en binaire et câbler la logique
Le calcul devient une affaire d'interrupteurs ouverts ou fermés.
4 · Shannon, 1937
Ranger le programme dans la mémoire, puis miniaturiser
Une même machine fait tout ; elle double de capacité tous les deux ans.
5 · von Neumann, 1945 ; Moore, 1965
Le même nombre compté de deux façons : en base dix, comme sur les roues de Pascal, et en base deux, comme dans les circuits, où chaque lampe vaut une puissance de 2.
Planche 1
La Pascaline : une retenue qui se propage toute seule
1642
À dix-neuf ans, Blaise Pascal construit pour son père, collecteur d'impôts à Rouen, une machine à additionner. Chaque roue porte les chiffres de 0 à 9. Toute la difficulté est la retenue : quand une roue passe de 9 à 0, elle doit faire avancer d'un cran la roue voisine. Pascal confie ce travail à un petit levier lesté, le sautoir, qui tombe au bon moment.
Six roues, des centaines de milliers (à gauche) aux unités (à droite). La roue qui tourne est bleue ; un sautoir qui transmet une retenue s'allume en rouge.
Registre de la machine
—
Résultat attendu (calcul direct, modulo 10⁶)
—
Retenues transmises pendant l'opération
—
Crans élémentaires tournés
—
Opération en cours
—
Retenues moyennes, 20 000 additions au hasard de deux nombres à 6 chiffres (machine simulée)
—
Valeur exacte : Σ pₖ avec pₖ = 0,45 + 0,1·pₖ₋₁
—
Ce qu'il faut retenir. Le préréglage 999 999 + 1 montre le pire cas : une seule unité déclenche six retenues en cascade, et la dernière sort de la machine. Pascal soustrayait par le même mécanisme, en ajoutant le complément : retirer b revient à ajouter 10⁶ − b, puis à oublier la retenue qui déborde à gauche. Nos ordinateurs font exactement la même chose en base deux (le « complément à deux »). En moyenne, une addition à six chiffres ne demande qu'environ trois retenues : la mesure le confirme ci-dessus.
Planche 2
La machine à différences de Babbage : calculer un polynôme sans multiplier
1822
Au début du XIXᵉ siècle, les tables numériques (logarithmes, navigation, artillerie) sont calculées à la main et fourmillent d'erreurs de calcul et d'imprimerie. Charles Babbage imagine une machine qui les calcule et les imprime. Son astuce est la méthode des différences finies : pour un polynôme de degré 3, les « différences troisièmes » sont constantes, si bien qu'on obtient chaque nouvelle valeur par trois additions seulement.
Les quatre colonnes de roues. La flèche montre l'addition en cours : la colonne verte s'ajoute à la colonne bleue.
Valeurs imprimées par la machine (points bleus) sur la courbe calculée directement (pointillé gris). Un point faux apparaît en rouge.
x et valeur imprimée par la machine
—
Valeur calculée directement p(x)
—
Additions effectuées / multiplications évitées
—
Écart machine − calcul direct
—
Écart prévu après une erreur : C(n, j)
—
x
Imprimé par la machine
Calcul direct
Écart
Ce qu'il faut retenir. Sans erreur, la machine retrouve le calcul direct avec un écart exactement nul, et n'a jamais besoin de multiplier. Mais glissez une erreur de +1 dans la colonne Δʲ : n lignes plus loin, la valeur imprimée est fausse d'exactement C(n, j), le coefficient binomial. Une faute dans Δ¹ grandit comme n, une faute dans Δ² comme n²/2, une faute dans Δ³ comme n³/6 : plus la faute est profonde, plus elle s'amplifie. C'est pour éliminer ces fautes humaines que Babbage voulait une machine qui imprime elle-même. Il ne l'acheva jamais ; le Science Museum de Londres en construisit une d'après ses plans en 1991, et elle fonctionne. Babbage conçut ensuite la machine analytique, programmable par cartes perforées comme le métier Jacquard ; Ada Lovelace écrivit pour elle en 1843 un programme de calcul des nombres de Bernoulli, souvent tenu pour le premier programme publié.
Planche 3
La machine de Turing : ce que veut dire « calculer »
1936
En 1936, Alan Turing cherche à répondre à une question de logique posée par David Hilbert : existe-t-il une méthode mécanique pour décider de la vérité de tout énoncé mathématique ? Pour y répondre, il lui faut d'abord définir ce qu'est une méthode mécanique. Il imagine une machine dépouillée à l'extrême : un ruban de cases, une tête qui lit et écrit un symbole, et une table de transitions qui dit, selon l'état de la machine et le symbole lu, quoi écrire, de quel côté se déplacer et dans quel état passer.
Le ruban, la tête (triangle rouge) et l'état courant dans la bulle. En haut, la règle qui vient d'être appliquée.
Table de transitions
Chaque case se lit « écrire ce symbole, se déplacer (← gauche, → droite, · rester), passer dans cet état ». La case utilisée au pas suivant est encadrée de rouge.
État
—
Pas effectués
—
Nombre de 1 sur le ruban
—
Résultat lu sur le ruban
—
Résultat attendu
—
Ce qu'il faut retenir. Ces quelques règles suffisent pour additionner ; en les multipliant on peut programmer n'importe quel calcul. Turing montre surtout qu'il existe une machine universelle : une machine qui lit sur son ruban la table d'une autre machine et l'imite. C'est l'idée même de l'ordinateur, qui exécute n'importe quel programme. Il démontre aussi qu'aucune machine ne peut prédire, pour tout programme, s'il finira par s'arrêter : c'est le problème de l'arrêt, et la réponse négative à la question de Hilbert. Les « castors affairés », proposés par Tibor Radó en 1962, l'illustrent : parmi toutes les machines à n états qui s'arrêtent, laquelle écrit le plus de 1 ? Celle à 2 états en écrit 4 en 6 pas, celle à 3 états en écrit 6 en 14 pas ; pour 5 états, la réponse n'a été établie qu'en 2024, et pour 6 états elle est hors de portée.
Planche 4
Du relais au transistor : additionner avec des portes logiques
1937 – 1947
En 1937, Claude Shannon montre que l'algèbre de George Boole (1854), où les variables ne valent que 0 ou 1, décrit exactement des circuits d'interrupteurs. Il suffit alors de trois portes logiques : ET (vaut 1 si les deux entrées valent 1), OU (vaut 1 si l'une au moins vaut 1) et OU exclusif (vaut 1 si les entrées diffèrent). Cinq portes forment un additionneur complet d'un bit ; quatre additionneurs chaînés additionnent deux nombres de quatre bits. Chaque porte met un temps, le délai de porte, à réagir.
A
B
Les quatre additionneurs, bit de poids fort à gauche. Un fil à 1 est rouge, un fil à 0 est gris. La retenue (Cout) passe d'un étage au suivant, de droite à gauche. Touchez un étage pour le voir en détail.
Un additionneur complet : deux OU exclusifs donnent la somme S, deux ET et un OU donnent la retenue sortante Cout.
Instant t (en délais de porte)
—
Somme affichée à cet instant
—
A + B calculé directement
—
Temps de stabilisation mesuré
—
Durée de cette addition avec la technologie choisie
—
Pire cas mesuré sur les 65 536 changements d'entrées possibles
—
Borne théorique : 2n délais pour n = 4 bits
8 délais
Changements où la sortie affiche un instant une somme fausse
—
Ce qu'il faut retenir. Le circuit ne « calcule » pas d'un coup : la retenue traverse les étages l'un après l'autre, et pendant ce temps la sortie affiche des sommes fausses (le préréglage affiche successivement 14, 12, 8 puis 0 avant de donner enfin 16). Il faut donc attendre que tout soit stable avant de lire le résultat : c'est le rôle de l'horloge des processeurs. Le schéma logique n'a pas changé depuis les années 1940 ; ce qui a changé, c'est le délai de porte, divisé par environ un milliard entre le relais de Zuse et le transistor actuel. Le transistor, inventé en 1947 aux laboratoires Bell par Bardeen, Brattain et Shockley, puis le circuit intégré (Kilby et Noyce, 1958-1959) ont rendu possible cette accélération.
Planche 5 · signature
Une seule machine pour tout faire, et deux fois plus puissante tous les deux ans
1945 – aujourd'hui
Les premiers calculateurs électroniques, comme l'ENIAC (1945), se programmaient en recâblant des panneaux, ce qui prenait des jours. En 1945, John von Neumann décrit, dans un rapport sur l'EDVAC, une architecture à programme enregistré : les instructions sont des nombres rangés dans la même mémoire que les données. Changer de programme revient à changer des nombres. Presque tous les ordinateurs suivent encore ce plan. Puis, à partir des années 1960, la miniaturisation des transistors suit une loi d'une régularité étonnante.
Le processeur (ses registres et l'indicateur de phase) et la mémoire de seize cases, reliés par le bus. Les cases 0 à 11 contiennent le programme, les dernières les données : ce sont pourtant toutes de simples nombres. Le point qui circule sur le bus est un accès à la mémoire.
Phase du cycle
—
Instructions exécutées
—
Accès mémoire (programme + données)
—
Part des accès servant à lire le programme
—
Résultat dans l'accumulateur
—
Résultat attendu (calcul direct)
—
Ce qu'il faut retenir. Le processeur répète sans fin le même cycle : chercher l'instruction dont l'adresse est dans le compteur ordinal, la décoder (le nombre 415 se lit « SUB 15 » : opération 4, adresse 15), l'exécuter. Les sauts conditionnels (JZ : sauter si l'accumulateur est nul, JN : s'il est négatif) suffisent pour écrire des boucles et des tests : cette machine minuscule est universelle au sens de Turing, à la taille de la mémoire près. Le prix de cette simplicité se lit dans les compteurs : plus de la moitié des accès mémoire servent seulement à lire le programme. Tout passe par le même bus, c'est le « goulot d'étranglement de von Neumann », que les antémémoires (caches) des processeurs actuels cherchent à contourner.
Nombre de transistors de puces remarquables de 1971 à 2024, en échelle logarithmique : chaque graduation multiplie par 10. La droite rouge est l'ajustement par les moindres carrés de log₂(nombre) en fonction de l'année.
Temps de doublement mesuré (pente de la droite)
—
Qualité de l'ajustement R² (sur log₂)
—
Contrôle : 53 ans divisés par log₂(208·10⁹ / 2 300) doublements
—
Nombre prévu par la droite pour l'année choisie
—
Facteur multiplicatif tous les 10 ans
—
Ce qu'il faut retenir. En 1965, Gordon Moore, futur cofondateur d'Intel, remarque que le nombre de composants par puce double chaque année ; en 1975 il corrige : tous les deux ans. La droite tirée de dix-neuf puces, de l'Intel 4004 (2 300 transistors) à la Nvidia B200 (208 milliards), donne un doublement mesuré d'environ deux ans sur un demi-siècle, soit un facteur d'environ 90 millions. Ce n'est pas une loi de la nature mais un programme industriel tenu par l'ensemble du secteur. Il bute aujourd'hui sur la taille des atomes : un transistor récent ne mesure plus que quelques dizaines d'atomes, et les gains passent désormais par l'empilement de puces et l'architecture plutôt que par la seule finesse de gravure.
Frise des jalons
En résumé
Mécaniser
De Pascal à Babbage, la machine exécute des opérations simples sans comprendre ce qu'elle fait : la retenue devient un levier, la table numérique une suite d'additions.
Définir
Turing donne en 1936 une définition précise du calcul, et découvre en même temps ses limites : certaines questions ne seront jamais résolues par aucune machine.
Câbler
Shannon relie la logique de Boole aux circuits : avec des portes ET, OU et OU exclusif, réalisées par des relais, des tubes puis des transistors, on construit toute l'arithmétique.
Enregistrer et miniaturiser
Le programme rangé en mémoire rend la machine universelle ; la miniaturisation, doublant la densité tous les deux ans, la met dans toutes les poches.
Pour aller plus loin
Pierre Mounier-Kuhn, L'Informatique en France, de la seconde guerre mondiale au Plan Calcul, Presses de l'université Paris-Sorbonne, 2010.
Gilles Dowek, Les Métamorphoses du calcul. Une étonnante histoire de mathématiques, Le Pommier, 2007.
Philippe Breton, Une histoire de l'informatique, La Découverte, 1987 (rééd. Points Sciences).
Alan Turing, « On computable numbers, with an application to the Entscheidungsproblem », Proceedings of the London Mathematical Society, 1936.
Claude Shannon, « A symbolic analysis of relay and switching circuits », mémoire de maîtrise, MIT, 1937.
John von Neumann, First Draft of a Report on the EDVAC, 1945.
Gordon Moore, « Cramming more components onto integrated circuits », Electronics, 1965.
Musées : la Pascaline au musée des Arts et Métiers (Paris) ; la machine à différences n° 2 reconstruite au Science Museum (Londres).
Les délais de porte de la planche 4 et les nombres de transistors de la planche 5 sont des ordres de grandeur tirés des fiches publiées par les constructeurs ; les puces retenues sont, pour chaque époque, parmi les plus denses produites.