Prekursory Analogowe & Cyfrowe
Hamming otworzył swoją historię sprzętu rozróżnieniem: obliczenia analogowe (suwak, analizator różniczkowy) versus obliczenia cyfrowe (kości Napiera, kalkulatory biurkowe). Obie linie rozwijały się równolegle; linia cyfrowa ostatecznie zdominowała.
Napier (1550–1617)
John Napier wynalazł logarytmy, które umożliwiły suwak — urządzenie analogowe, gdzie długość fizyczna reprezentuje wartość logarytmiczną. Dodawanie długości = mnożenie liczb. Napier zaprojektował też 'kości Napiera': kości słoniowe wspomagające mnożenie. Cyfrowe, nie mylić z suwakiem.
Od Schickerta do Babbage'a
Wilhelm Schickert (1623) zaprojektował maszynę do czterech operacji arytmetycznych; spaliła się przed ukończeniem. Pascal (1623–1662) zbudował maszynę dodającą do oceny podatków. Leibniz dodał mnożenie & dzielenie, ale maszyny były zawodne.
Charles Babbage (1791–1871) zaprojektował maszynę różnicową: urządzenie do obliczania wielomianów w równo rozmieszczonych wartościach przez kolejne dodawanie, generujące tabele wolne od błędów. Nigdy jej nie ukończył; duet norweskich ojca i syna (Scheutz) zbudował działające wersje. W 1992 roku zespół w Anglii zbudował maszynę analityczną Babbage'a z jego rysunków — zadziałała.
Maszyna analityczna Babbage'a była bliska architekturze von Neumanna: magazyn (pamięć), młyn (jednostka arytmetyczna) & warunkowe rozgałęzienie. Lady Lovelace opublikowała pierwsze dla niej programy.
Komputery Przekaźnikowe do ENIAC
Nowoczesna era obliczeń rozpoczęła się komputerami przekaźnikowymi na początku lat 40. XX wieku. Hamming śledził ewolucję szybkości:
| Era | Technologia | Szybkość | |---|---|---| | Przed 1940 | Kalkulator ręczny | 1/20 op/s | | ~1940 | Przekaźnik (Bell Labs) | 1 op/s | | 1946 | ENIAC (lampa próżniowa) | ~5 000 op/s | | 1952 | IBM 701 | ~17 000 op/s | | ~1993 | Nowoczesna stacja robocza | 10⁹ op/s |
George Stibitz w Bell Telephone Laboratories zbudował komputery przekaźnikowe z części skazanych dyrektorów armat M9. Hamming używał jednego przez lata. Te maszyny przekaźnikowe nie były szybkie — około jedna operacja na sekundę — ale były niezawodne & programowalne.
ENIAC (1945–1946) początkowo działał poprzez okablowanie tablicy sterowniczej, jak gigantyczny komputer tablicowy. Nick Metropolis & Dick Clippenger później przekonwertowali go na programowanie przełącznika dziesiętnego z tabel balistycznych. ENIAC zużywał mniej więcej 150 kW.
Programowanie wewnętrzne stało się praktyczne tylko gdy istniała odpowiednia pamięć. Rola von Neumanna była jako konsultanta dla Mauchly'ego & Eckerta; programowanie wewnętrzne omawiano w zespole przed zaangażowaniem von Neumanna, choć jego szeroko rozpowszechniane (ale nigdy formalnie opublikowane) raporty rozprzestrzeniały koncepcje.
Rzędy Wielkości Szybkości
Progresja szybkości od kalkulatora ręcznego do stacji roboczej z lat 90. obejmuje ponad dziesięć rzędów wielkości w mniej więcej 50 lat.
Gdzie Sprzęt Nie Może Pójść
Hamming przedstawił trzy fizyczne limity, które ograniczają jak szybko komputery mogą ostatecznie działać. To nie były wyzwania inżynierskie, które pomysłowość by przezwyciężyła — to były prawa fizyki.
Limit 1: Rozmiar Molekularny
Komponenty nie mogą się kurczyć poniżej wymiarów atomowych. Brama tranzystora szerokości 10 atomów: tunelowanie kwantowe dominuje & tranzystor przestaje się przełączać niezawodnie. Do 1993 roku Hamming szacował, że zejście poniżej ~100 000 atomów odległości między połączonymi urządzeniami (mniej więcej 3 pikosekundy czasu propagacji światła) reprezentowała prawdziwą fizyczną granicę.
Limit 2: Prędkość Światła
Sygnały propagują się co najwyżej z c = 3×10⁸ m/s w próżni (mniej w drucie, mniej więcej 2×10⁸ m/s). Cykl zegarowy 1 GHz to 1 nanosekundę; w 1 ns światło pokonuje 30 cm. Układ scalony, który musi wysłać sygnał na 15 cm & otrzymać odpowiedź w jednym cyklu zegarowym, operuje blisko limitu prędkości światła.
Wraz ze wzrostem szybkości zegara wymiary chipów muszą się zmniejszać aby czas propagacji sygnału w obie strony pozostał poniżej jednego okresu zegara.
Limit 3: Dyssypacja Ciepła
Więcej komponentów na jednostkę powierzchni + szybsze przełączanie = więcej mocy na jednostkę powierzchni = więcej ciepła. Ciepło musi się rozpraszać albo komponenty się topią. Do 1993 roku napięcia operacyjne spadały w kierunku 2-3V aby zmniejszyć moc przełączania. Warstwy diamentowe jako przewodniki ciepła były pod badaniem. Obliczenia odwracalne (termodynamicznie bez strat) istniały tylko w teorii.
Te trzy limity razem wyjaśniają dlaczego zyski szybkości jednoprocesorowej zbliżały się do nasycenia do lat 90. & dlaczego zainteresowanie architekturami równoległymi rosło.
Zastosowanie Limitu Prędkości Światła
CPU działa przy 3 GHz. Jeden cykl zegarowy = 1/3 ns ≈ 0,333 ns. Szybkość sygnału w miedzi: ~2/3 c ≈ 2×10⁸ m/s.
Eksperci, Którzy Spektakularnie Się Mylili
Hamming zauważył jedną z najsławniejszych porażek predykcji w historii technologii: eksperci w końcu lat 40. szacowali, że świat będzie potrzebować co najwyżej trzech do pięciu komputerów. Tom Watson z IBM podobno powiedział dwa.
Do 1993 roku było miliony komputerów w użytkowaniu.
Dlaczego Eksperci Się Mylili
Eksperci ekstrapolowali z aktualnych przypadków użycia: obliczeń naukowych w laboratoriach krajowych. Nie przewidywali ekwiwalentnego wglądu produktu: komputery nie robiłyby to co ludzie robili już, szybciej. Komputery umożliwiłyby całkowicie nowe kategorie pracy, które wcześniej nie istniały.
Wzorzec porażki: eksperci w dojrzałej technologii są najbardziej pewni jej limitów & najbardziej błędzą co do jej przyszłych aplikacji. Ich ekspertyza daje im dokładne modele teraźniejszości; nie daje im modeli tego co stanie się możliwe.
Architektury Równoległe
Szybkość jednoprocesorowa zbliżała się do nasycenia do lat 90. Odpowiedź branży: wiele jednostek arytmetycznych, potoki, hierarchie pamięci podręcznej, & masywnie równoległe maszyny. Do 1993 roku nie było jednej dominującej architektury równoległej — wiele konkurujących projektów z różnymi kompromisami & różnymi modelami programowania. Hamming zauważył tę fragmentację jako problem: bez standardu, wysiłek programowania dzieli się na niezgodne systemy.
Dlaczego Eksperci Źle Przewidują
Hamming traktował predykcję 3-5 komputerów nie jako ciekawostkę ale jako lekcję o granicach wiedzy ekspertów. Eksperci modelują teraźniejszość dobrze; się nie udają na aplikacje, które jeszcze nie istnieją.
Dane Los Alamos & Równanie Wzrostu
Hamming powołał się na wykres opracowany przez Narodowe Laboratorium Los Alamos (LANL) śledzący szybkość najszybszego komputera na rynku w każdym punkcie czasu. Dane pasowały do równania wykładniczego: szybkość mniej więcej podwoiła się co 18 miesięcy — później spopularyzowane jako Prawo Moore'a dla liczby tranzystorów.
Równanie LANL: szybkość(t) = szybkość₀ × 10^(bt), gdzie b ≈ 0,09 na rok (podwojenie mniej więcej co 3,3 roku w operacjach na sekundę, odrębne od podwojenia liczby tranzystorów).
Hamming użył tego aby zrobić punkt o ekstrapolacji: wykładnicza nie może trwać w nieskończoność. Trzy fizyczne limity ustalają pułap. Kiedy wykładnicza uderza w pułap? Ta przejście oznacza koniec ery jednoprocesorowej.
Do 1993 roku branża już zbliżała się do tego pułapu, napędzając zainteresowanie architekturami równoległymi, sztuczkami potokowania, & hierarchiami pamięci podręcznej — wszystkie małe kroki w kierunku paralelizmu zamiast szybszego wykonywania wątku jednokrotnego.