Analog- & Digitalvorgänger
Hamming begann seine Hardwaregeschichte mit einer Unterscheidung: Analogrechnen (Schieferschraubendreher, Differenzialanalyse) im Gegensatz zu digitaler Rechnung (Napierknochen, Schreibtischrechner). Beide Linien entwickelten sich parallel; die digitale Linie dominierte letztendlich.
Napier (1550–1617)
John Napier erfand Logarithmen, die den Schieferschraubendreher ermöglichten - ein analoges Gerät, bei dem die physische Länge den logarithmischen Wert darstellt. Addition von Längen = Multiplikation von Zahlen. Napier entwarf auch 'Napier's Bones': Elfenbeinrohre für die Multiplikationshilfe. Digital, nicht zu verwechseln mit dem Schieferschraubendreher.
Von Schickert bis Babbage
Wilhelm Schickert (1623) entwarf eine Maschine für die vier arithmetischen Operationen; sie brannte vor der Fertigstellung ab. Pascal (1623–1662) baute einen Rechenmaschine für die Steuererhebung. Leibniz fügte Multiplikation und Division hinzu, aber die Maschinen waren unzuverlässig.
Charles Babbage (1791–1871) entwarf die Differenzmaschine: eine Maschine zur Bewertung von Polynomen bei gleichmäßig verteilt Werten durch sukzessive Addition, um fehlerfreie gedruckte Tabellen zu erstellen. Er baute sie nicht ab; eine norwegische Vater-Sohn-Team (Scheutz) baute funktionierende Versionen. Im Jahr 1992 baute ein Team in England Babbages Analysemaschine nach seinen Zeichnungen - sie funktionierte.
Babbages Analysemaschine war nahe dran an der von Neumann-Architektur: ein Speicher (Speicher), ein Mahlwerk (arithmetischer Einheit) und bedingte Verzweigung. Lady Lovelace veröffentlichte die ersten Programme für sie.
Relaiscomputer bis ENIAC
Das moderne Zeitalter der Computertechnik begann mit Relaiscomputern in den frühen 1940er Jahren. Hamming verfolgte die Geschwindigkeitsentwicklung:
| Epoche | Technologie | Geschwindigkeit | |---|---|---| | Vor 1940 | Handrechner | 1/20 Ops/s | | ~1940 | Relais (Bell Labs) | 1 Op/s | | 1946 | ENIAC (Leitungsrohr) | ~5.000 Ops/s | | 1952 | IBM 701 | ~17.000 Ops/s | | ~1993 | Moderner Arbeitsplatz | 10⁹ Ops/s |
George Stibitz von den Bell Telephone Laboratories baute Relaiscomputer aus Teilen von abgestorbenen M9-Geschützregelungen. Hamming benutzte einen für Jahre. Diese Relaismaschinen waren nicht schnell - etwa eine Operation pro Sekunde - aber sie waren zuverlässig und programmierbar.
ENIAC (1945–1946) wurde zunächst durch Steckplatinensteuerung betrieben, wie ein riesiger Steckplatinencomputer. Nick Metropolis und Dick Clippenger wandelten es später in eine Dezimal-Schaltungsprogrammierung aus Ballistiktabellen um. ENIAC verbrauchte etwa 150 kW.
Interne Programmierung wurde erst praktisch, als ausreichend Speicher vorhanden war. Neumanns Rolle bestand darin, als Berater für Mauchly & Eckert zu fungieren; interne Programmierung wurde vor Neumanns Beteiligung unter der Mannschaft diskutiert, obwohl seine weit verbreiteten (aber nie formell veröffentlichten) Berichte die Konzepte verbreiteten.
Größenordnungen in der Geschwindigkeit
Die Geschwindigkeitsentwicklung vom Handrechner zum Arbeitsstation der 1990er Jahre umfasst über zehn Größenordnungen in etwa 50 Jahren.
Wo Hardware nicht weiterkommen kann
Hamming stellte drei physikalische Grenzen vor, die die Geschwindigkeit von Computern letztendlich bestimmen. Es handelte sich nicht um Ingenieurprobleme, die durch Kreativität überwunden werden könnten - es handelte sich um Gesetze der Physik.
Grenze 1: Molekulargröße
Komponenten können nicht kleiner als molekulare Dimensionen verkleinert werden. Ein Transistorgate von 10 Atomen breit: das Quantentunneln dominiert und der Transistor schaltet nicht vertrauenswürdig. Bis 1993 schätzte Hamming, dass das Unterhalb von etwa 100.000 Atomen Abstand zwischen verbundenen Bauteilen (ungefähr 3 Femtosekunden Lichtreisezeit) eine echte physikalische Grenze darstellt.
Grenze 2: Lichtgeschwindigkeit
Signale verbreiten sich maximal mit einer Geschwindigkeit von c = 3×10⁸ m/s im Vakuum (weniger in Drähten, etwa 2×10⁸ m/s). Ein Taktzyklus von 1 GHz beträgt 1 Nanosekunde; in 1 ns reist das Licht 30 cm. Ein Chip, der ein Signal über 15 cm senden muss und eine Antwort innerhalb eines Taktrhythmus erhalten will, arbeitet nahe am Lichtgeschwindigkeitslimit.
Mit steigenden Taktfrequenzen müssen die Chipabmessungen geschrumpft werden, um die Zeitspanne für das Rücksenden eines Signals unter einem Taktperioden zu halten.
Grenze 3: Wärmeableitung
Mehr Bauteile pro Fläche + schnellerer Schalter = mehr Leistung pro Fläche = mehr Wärme. Die Wärme muss abgeleitet werden, sonst schmelzen die Bauteile. Bis 1993 sanken die Betriebsspannungen auf 2-3V, um die Schaltungsleistung zu reduzieren. Diamagschichten als Wärmeleiter wurden untersucht. Reversibles Rechnen (thermodynamisch verlustfrei) existierte nur in der Theorie.
Diese drei Grenzen erklären gemeinsam, warum die Leistungssteigerungen einzelner Prozessoren in den 1990er Jahren anfingen, zu stagnieren, und warum das Interesse an parallelen Architekturen wuchs.
Anwendung des Lichtgeschwindigkeitslimits
Ein CPU arbeitet mit 3 GHz. Ein Taktkreislauf beträgt 1/3 ns ≈ 0.333 ns. Die Geschwindigkeit von Signalen in Kupfer: ~2/3 c ≈ 2×10⁸ m/s.
Die Experten, die spektakulär falsch lagen
Hamming stellte eines der bekanntesten Fehlprediktionen in der Technikgeschichte fest: Experten in den späten 1940er Jahren schätzten, dass die Welt höchstens drei bis fünf Computer benötigen würde. Tom Watson von IBM soll angeblich zwei gesagt haben.
Bis 1993 gab es Millionen von in Betrieb befindlichen Computern.
Warum Experten fehlgeschlagen sind
Die Experten schätzten die aktuellen Einsatzszenarien ab: wissenschaftliche Rechnungen in nationalen Laboratorien. Sie erwarteten nicht, dass Computer vollkommen neue Kategorien von Arbeit ermöglichen würden, die vorher nicht existierten.
Das Fehlmuster: Experten in einer reifen Technologie sind am selbstsichersten in Bezug auf ihre Grenzen und haben die höchste Wahrscheinlichkeit, über zukünftige Anwendungen falsch zu sein. Ihre Expertise gibt ihnen genaue Modelle des gegenwärtigen Zustands; es gibt ihnen jedoch keine Modelle für das, was möglich wird.
Parallelarchitekturen
Die Geschwindigkeit einzelner Prozessoren näherte sich in den 1990er Jahren der Sättigung. Die Branche reagierte mit mehreren Recheneinheiten, Pipelines, Cachierarchien und massiv parallelen Maschinen. Bis 1993 gab es keine einzige dominierende parallele Architektur - es gab viele konkurrierende Entwürfe mit unterschiedlichen Zugewandtheiten und unterschiedlichen Programmiermodellen. Hamming bemerkte diese Fragmentierung als Problem: Ohne ein Standardmodell wird die Programmierung auf inkompatible Systeme aufgeteilt.
Warum Experten falsch vorhersagen
Hamming betrachtete die 3-5 Computer-Prediction nicht als Kuriosität, sondern als Lektion über die Grenzen des Fachwissens. Experten modellieren den gegenwärtigen Zustand gut; sie scheitern an Anwendungen, die noch nicht existieren.
LANL-Daten & die Wachstums-Gleichung
Hamming zitierte eine von Los Alamos National Laboratory (LANL) erstellte Grafik, die die Geschwindigkeit des schnellsten Computers am Markt nachverfolgte. Die Daten passten einer exponentiellen Gleichung: Die Geschwindigkeit verdoppelte sich etwa alle 18 Monate – später wurde dies als Mooresches Gesetz für den Transistorzähler popularisiert.
Die LANL-Gleichung: speed(t) = speed₀ × 10^(bt), wobei b ≈ 0,09 pro Jahr (Vervielfachung ungefähr alle 3,3 Jahre in Operationen pro Sekunde, getrennt von der Transistorzählerverdopplung).
Hamming verwendete dies, um einen Punkt über Extrapolation zu machen: Die Exponentialfunktion kann nicht unendlich weitergehen. Die drei physikalischen Grenzen setzen eine Decke. Wenn tritt die Exponentialfunktion wann an der Decke?
Bis 1993 näherte sich die Branche dieser Decke bereits an, was das Interesse an parallelen Architekturen, Pipeline-Überraschungen und Cachierarchien förderte – all das waren kleine Schritte in Richtung Parallelität anstelle von schnellerer Einzelverarbeitung.