Précurseurs analogiques & numériques
Hamming a ouvert son histoire du matériel par une distinction : l'informatique analogique (règle à calcul, analyseur différentiel) versus l'informatique numérique (os de Napier, calculatrices de bureau). Les deux filières se sont développées en parallèle ; la filière numérique a finalement dominé.
Napier (1550–1617)
John Napier a inventé les logarithmes, qui ont permis la règle à calcul — un dispositif analogique où la longueur physique représente une valeur logarithmique. L'addition de longueurs = multiplication de nombres. Napier a également conçu les « os de Napier » : des bâtons d'ivoire pour aider à la multiplication. Numérique, à ne pas confondre avec la règle à calcul.
De Schickert à Babbage
Wilhelm Schickert (1623) a conçu une machine pour les quatre opérations arithmétiques ; elle a brûlé avant sa réalisation. Pascal (1623–1662) a construit une machine à additionner pour l'évaluation fiscale. Leibniz a ajouté la multiplication & la division, mais les machines n'étaient pas fiables.
Charles Babbage (1791–1871) a conçu la machine à différences : une machine pour évaluer des polynômes à des valeurs espacées régulièrement par addition successive, produisant des tables imprimées sans erreur. Il ne l'a jamais terminée ; une équipe père-fils norvégienne (Scheutz) a construit des versions fonctionnelles. En 1992, une équipe en Angleterre a construit la machine analytique de Babbage à partir de ses dessins — elle a fonctionné.
La machine analytique de Babbage était proche de l'architecture de von Neumann : un magasin (mémoire), un moulin (unité arithmétique), & un branchement conditionnel. Lady Lovelace a publié les premiers programmes pour elle.
Des ordinateurs à relais à ENIAC
L'ère moderne de l'informatique a commencé avec des ordinateurs à relais au début des années 1940. Hamming a retracé l'évolution de la vitesse :
| Période | Technologie | Vitesse | |---|---|---| | Pré-1940 | Calculatrice manuelle | 1/20 ops/sec | | ~1940 | Relais (Bell Labs) | 1 op/sec | | 1946 | ENIAC (tube à vide) | ~5 000 ops/sec | | 1952 | IBM 701 | ~17 000 ops/sec | | ~1993 | Station de travail moderne | 10⁹ ops/sec |
George Stibitz aux Bell Telephone Laboratories a construit des ordinateurs à relais à partir de pièces de directeurs de canon M9 condamnés. Hamming en a utilisé un pendant des années. Ces machines à relais n'étaient pas rapides — environ une opération par seconde — mais elles étaient fiables & programmables.
ENIAC (1945–1946) a d'abord fonctionné par câblage de panneau de commutation, comme un ordinateur de panneau de commutation géant. Nick Metropolis & Dick Clippenger l'ont ensuite converti à la programmation par commutateurs décimaux à partir de tables balistiques. ENIAC consommait environ 150 kW.
La programmation interne n'est devenue pratique que lorsqu'un stockage adéquat a existé. Le rôle de Von Neumann était celui de consultant pour Mauchly & Eckert ; la programmation interne a été discutée au sein de l'équipe avant l'implication de von Neumann, bien que ses rapports largement diffusés (mais jamais formellement publiés) aient propagé les concepts.
Ordres de grandeur en vitesse
La progression de la vitesse de la calculatrice manuelle à la station de travail des années 1990 s'étend sur plus de dix ordres de grandeur en environ 50 ans.
Où le matériel ne peut pas aller
Hamming a présenté trois limites physiques qui contraignent la vitesse à laquelle les ordinateurs peuvent finalement fonctionner. Ce n'étaient pas des défis d'ingénierie que l'ingéniosité surmonterait — c'étaient des lois de la physique.
Limite 1 : taille moléculaire
Les composants ne peuvent pas rétrécir en dessous des dimensions atomiques. Une porte de transistor de 10 atomes de large : l'effet tunnel quantique domine & le transistor cesse de basculer de manière fiable. En 1993, Hamming estimait que descendre en dessous d'une distance d'environ 100 000 atomes entre les appareils interconnectés (environ 3 picosecondes de temps de trajet lumineux) représentait une véritable limite physique.
Limite 2 : vitesse de la lumière
Les signaux se propagent au maximum à c = 3×10⁸ m/s dans le vide (moins dans le fil, environ 2×10⁸ m/s). Un cycle d'horloge de 1 GHz est 1 nanoseconde ; en 1 ns, la lumière parcourt 30 cm. Une puce qui doit envoyer un signal sur 15 cm & recevoir une réponse en un cycle d'horloge fonctionne près de la limite de la vitesse de la lumière.
À mesure que les vitesses d'horloge augmentent, les dimensions du circuit intégré doivent rétrécir pour maintenir le temps d'aller-retour du signal en dessous d'une période d'horloge.
Limite 3 : dissipation de chaleur
Plus de composants par unité de surface + commutation plus rapide = plus de puissance par unité de surface = plus de chaleur. La chaleur doit se dissiper ou les composants fondent. En 1993, les tensions de fonctionnement baissaient vers 2-3 V pour réduire la puissance de commutation. Des couches de diamant comme conducteurs thermiques étaient en cours d'investigation. L'informatique réversible (thermodynamiquement sans perte) n'existait qu'en théorie.
Ces trois limites expliquent collectivement pourquoi les gains de vitesse du processeur unique approchaient la saturation dans les années 1990 & pourquoi l'intérêt pour les architectures parallèles a augmenté.
Application de la limite de la vitesse de la lumière
Un CPU fonctionne à 3 GHz. Un cycle d'horloge = 1/3 ns ≈ 0,333 ns. Vitesse du signal dans le cuivre : ~2/3 c ≈ 2×10⁸ m/s.
Les experts qui avaient spectaculairement tort
Hamming a noté l'un des plus célèbres échecs de prédiction de l'histoire de la technologie : les experts de la fin des années 1940 estimaient que le monde n'aurait besoin d'au maximum trois à cinq ordinateurs. Tom Watson d'IBM aurait dit deux.
En 1993, il y avait des millions d'ordinateurs en fonctionnement.
Pourquoi les experts ont échoué
Les experts ont extrapolé à partir des cas d'utilisation actuels : le calcul scientifique dans les laboratoires nationaux. Ils n'ont pas anticipé l'intuition produit équivalente : les ordinateurs ne feraient pas ce que les humains faisaient déjà, plus vite. Les ordinateurs permettraient des catégories de travail entièrement nouvelles qui n'existaient pas auparavant.
Le modèle d'échec : les experts en technologie mature sont les plus confiants concernant ses limites & les plus susceptibles d'avoir tort sur ses applications futures. Leur expertise leur donne des modèles précis du présent ; elle ne leur donne pas des modèles de ce qui deviendra possible.
Architectures parallèles
La vitesse du processeur unique approchait la saturation dans les années 1990. La réponse de l'industrie : unités arithmétiques multiples, pipelines, hiérarchies de cache, & machines massivement parallèles. En 1993, il n'y avait pas d'une seule architecture parallèle dominante — de nombreuses conceptions concurrentes avec des compromis différents & des modèles de programmation différents. Hamming a noté cette fragmentation comme un problème : sans une norme, l'effort de programmation est divisé entre des systèmes incompatibles.
Pourquoi les experts prédisent mal
Hamming a traité la prédiction des ordinateurs 3-5 non pas comme une curiosité mais comme une leçon sur les limites du savoir expert. Les experts modélisent bien le présent ; ils échouent sur les applications qui n'existent pas encore.
Données de Los Alamos & l'équation de croissance
Hamming a cité un graphique compilé par le Laboratoire national de Los Alamos (LANL) qui suit la vitesse du plus rapide ordinateur sur le marché à chaque moment. Les données correspondaient à une équation exponentielle : la vitesse doublait approximativement tous les 18 mois — popularisée plus tard en tant que loi de Moore pour le nombre de transistors.
L'équation LANL : speed(t) = speed₀ × 10^(bt), où b ≈ 0,09 par an (doublage environ tous les 3,3 ans en opérations par seconde, distinct du doublage du nombre de transistors).
Hamming a utilisé cela pour faire valoir un point sur l'extrapolation : l'exponentielle ne peut pas continuer indéfiniment. Les trois limites physiques fixent un plafond. Quand l'exponentielle atteint-elle le plafond ? Cette transition marque la fin de l'ère du processeur unique.
En 1993, l'industrie approchait déjà ce plafond, suscitant l'intérêt pour les architectures parallèles, les astuces de pipeline, & les hiérarchies de cache — tous de petits pas vers le parallélisme plutôt que vers une exécution monofilaire plus rapide.