Analoge & digitale voorgangers
Hamming opende zijn hardwaregeschiedenis met een onderscheid: analoge informatica (rekenliniaal, differentiaalanalyzer) versus digitale informatica (Napier bones, bureaurekenmachines). Beide lijnen ontwikkelden zich parallel; de digitale lijn domineerde uiteindelijk.
Napier (1550–1617)
John Napier vond logaritmen uit, die de rekenliniaal mogelijk maakten — een analoog apparaat waarbij fysieke lengte logaritmische waarde vertegenwoordigt. Optellen van lengtes = vermenigvuldiging van getallen. Napier ontwierp ook 'Napier's bones': ivoren staven voor vermenigvuldigingsassistentie. Digitaal, niet te verwarren met de rekenliniaal.
Van Schickert tot Babbage
Wilhelm Schickert (1623) ontwierp een machine voor de vier rekenkundige bewerkingen; deze brandde af voordat deze voltooid was. Pascal (1623–1662) bouwde een rekenmachine voor belastingbeheer. Leibniz voegde vermenigvuldiging & deling toe, maar de machines waren onbetrouwbaar.
Charles Babbage (1791–1871) ontwierp de difference engine: een machine om polynomen in gelijkmatig verdeelde waarden door opeenvolgende optelling te evalueren, waardoor foutvrije afgedrukte tabellen ontstonden. Hij voltooide het nooit; een Noors vader-zoonteam (Scheutz) bouwde werkende versies. In 1992 bouwde een team in Engeland Babbages analytical engine uit zijn tekeningen — het werkte.
Babbages analytical engine kwam dicht in de buurt van von Neumann-architectuur: een opslag (geheugen), een mill (rekenkundige eenheid), & voorwaardelijke vertakking. Lady Lovelace publiceerde de eerste programma's ervoor.
Relaiscomputers tot ENIAC
Het moderne computertijdperk begon met relaiscomputers in de vroege jaren 1940. Hamming traceerde de snelheidsontwikkeling:
| Era | Technologie | Snelheid | |---|---|---| | Voor 1940 | Handreken machine | 1/20 ops/sec | | ~1940 | Relais (Bell Labs) | 1 ops/sec | | 1946 | ENIAC (vacuümbuis) | ~5.000 ops/sec | | 1952 | IBM 701 | ~17.000 ops/sec | | ~1993 | Moderne werkstation | 10⁹ ops/sec |
George Stibitz bij Bell Telephone Laboratories bouwde relaiscomputers uit onderdelen van verworpen M9 geschutrichtingen. Hamming gebruikte er één jarenlang. Deze relaismachines waren niet snel — ongeveer één bewerking per seconde — maar ze waren betrouwbaar & programmeerbaar.
ENIAC (1945–1946) liep aanvankelijk via plugbordbedrading, zoals een gigantische plugbordcomputer. Nick Metropolis & Dick Clippenger converteerden het later naar decimale schakelprogrammering van ballistieke tabellen. ENIAC consumeerde ruwweg 150 kW.
Interne programmering werd praktisch alleen wanneer voldoende opslag beschikbaar was. Von Neumanns rol was die van adviseur voor Mauchly & Eckert; interne programmering werd onder het team besproken voordat von Neumann betrokken was, hoewel zijn wijd verspreide (maar nooit formeel gepubliceerde) rapporten de concepten verbreidden.
Grootte-orden in snelheid
De snelheidsontwikkeling van handreken machine tot werkstation uit de jaren 1990 omvat meer dan tien grootte-orden in ongeveer 50 jaar.
Waar hardware niet kan gaan
Hamming presenteerde drie fysieke limieten die bepalen hoe snel computers uiteindelijk kunnen gaan. Dit waren niet technische uitdagingen die vindingrijkheid zou overwinnen — het waren wetten van de natuurkunde.
Limiet 1: Moleculaire grootte
Componenten kunnen niet kleiner worden dan atoomafmetingen. Een transistorgranaat van 10 atomen breed: kwantumtunneling domineert & de transistor stopt betrouwbaar te schakelen. In 1993 schatte Hamming dat onder ~100.000 atoomafstand tussen onderling verbonden apparaten (ruwweg 3 picoseconden lichtsnelheid) een echte fysieke grens vertegenwoordigde.
Limiet 2: Lichtsnelheid
Signalen planten zich voort met maximaal c = 3×10⁸ m/s in vacuum (minder in draad, ruwweg 2×10⁸ m/s). Een 1 GHz klokpuls is 1 nanoseconde; in 1 ns reist licht 30 cm. Een chip die een signaal over 15 cm moet sturen & een antwoord binnen één klokpuls moet ontvangen, werkt dicht bij de lichtsnelheidslimiet.
Naarmate de kloksnelheden toenemen, moeten chipafmetingen krimpen om de signaalrondreistijd onder één klokperiode te houden.
Limiet 3: Warmteafvoer
Meer componenten per oppervlakte-eenheid + sneller schakelen = meer vermogen per oppervlakte-eenheid = meer warmte. Warmte moet afvoeren of componenten smelten. In 1993 daalden bedrijfsspanningen naar 2-3V om schakelvermogen te verminderen. Diamantlagen als warmtegeleidingslaagvlakken stonden onder onderzoek. Omkeerbare informatica (thermodynamisch verliesvrij) bestond alleen in theorie.
Deze drie limieten verklaren gezamenlijk waarom winsten in enkelvoudige processorsnelheid tegen het einde van de jaren 1990 verzadigden & waarom interesse in parallelle architecturen groeide.
De lichtsnelheidslimiet toepassen
Een CPU draait op 3 GHz. Één klokpuls = 1/3 ns ≈ 0.333 ns. Signaalsnelheid in koper: ~2/3 c ≈ 2×10⁸ m/s.
De deskundigen die spectaculair ongelijk hadden
Hamming noteerde één van de meest beroemde voorspelfouten in technologiegeschiedenis: deskundigen aan het einde van de jaren 1940 schatte dat de wereld op zijn hoogst drie tot vijf computers zou nodig hebben. Tom Watson van IBM zei vermoedelijk twee.
In 1993 waren er miljoenen computers in bedrijf.
Waarom deskundigen faalde
De deskundigen extrapoleerden van huidige use cases: wetenschappelijke berekening in nationale laboratoria. Ze anticipeerden niet op het equivalente product inzicht: computers zouden niet doen wat mensen al deden, sneller. Computers zouden volledig nieuwe categorieën werk mogelijk maken die voorheen niet bestonden.
Het faalpatroon: deskundigen in een rijpe technologie zijn het zelfverzekerdst over de limieten & het meest waarschijnlijk ongelijk over de toekomstige toepassingen. Hun expertise geeft hen accurate modellen van het heden; het geeft hen niet modellen van wat mogelijk wordt.
Parallelle architecturen
Enkelvoudige processorsnelheid naderde verzadiging tegen de jaren 1990. Het antwoord van de industrie: meerdere rekenkundige eenheden, pijplijnen, cachehiërarchieën, & massaal parallelle machines. In 1993 was er geen enkele dominante parallelle architectuur — veel concurrerende ontwerpen met verschillende afwegingen & verschillende programmeermodellen. Hamming noteerde deze fragmentatie als een probleem: zonder standaard, programmeerwerk krijgt verdeeld over incompatibele systemen.
Waarom deskundigen verkeerd voorspellen
Hamming behandelde de 3-5 computersvoorspelling niet als curiositeit maar als les over grenzen van deskundige kennis. Deskundigen modelleren het heden goed; ze mislukken op toepassingen die nog niet bestaan.
Los Alamos-gegevens & de groeivergelijking
Hamming citeerde een grafiek samengesteld door Los Alamos National Laboratory (LANL) dat de snelheid van de snelste computer op de markt op elk moment volgde. De gegevens pasten in een exponentiële vergelijking: snelheid verdubbelde ongeveer elke 18 maanden — later gepopulariseerd als Moore's Law voor transistortelling.
De LANL-vergelijking: snelheid(t) = snelheid₀ × 10^(bt), waarbij b ≈ 0.09 per jaar (verdubbeling ruwweg elke 3.3 jaar in bewerkingen per seconde, onderscheiden van transistortelling verdubbeling).
Hamming gebruikte dit om een punt te maken over extrapolatie: de exponent kan oneindig niet doorgaan. De drie fysieke limieten stellen een plafond. Wanneer raakt de exponent het plafond? Die overgang markeert het einde van het enkelvoudige-processorerа.
In 1993 naderde de industrie al dat plafond, wat interesse dreef in parallelle architecturen, pijplijntrucjes, & cachehiërarchieën — allemaal kleine stappen naar parallelisme in plaats van sneller enkelvoudig-threaduitvoering.