類比和數位的先驅
漢明以一個區分來開啟他的硬體歷史:類比計算(計算尺、微分分析機)與數位計算(納皮爾骨、桌上型計算機)相對。這兩條線並行發展;數位線最終佔了上風。
納皮爾(1550–1617)
約翰·納皮爾發明了對數,這使計算尺得以發展——一種類比裝置,其中物理長度代表對數值。長度的相加 = 數字的相乘。納皮爾還設計了「納皮爾骨」:象牙棒用於乘法輔助。數位的,不要與計算尺混淆。
從Schickert到Babbage
Wilhelm Schickert(1623)設計了一種進行四則運算的機器;它在完成前燒毀了。Pascal(1623–1662)製造了一台加法機用於稅務評估。Leibniz增加了乘法和除法,但這些機器不可靠。
Charles Babbage(1791–1871)設計了差分機:一種通過連續相加評估等距間隔多項式的機器,可以生成無誤差的印刷表格。他從未完成它;一對挪威父子(Scheutz)製造了可用的版本。在1992年,英國的一個團隊根據Babbage的圖紙製造了分析機——它可以工作。
Babbage的分析機接近馮·諾依曼架構:一個存儲(內存)、一個磨坊(算術單元),以及條件分支。Lovelace女爵發表了它的第一批程式。
繼電器計算機到ENIAC
現代計算時代始於1940年代初的繼電器計算機。漢明追蹤了速度演進:
| 時代 | 技術 | 速度 | |---|---|---| | 1940年前 | 手工計算器 | 1/20 ops/秒 | | ~1940 | 繼電器(Bell Labs) | 1 op/秒 | | 1946 | ENIAC(真空管) | ~5,000 ops/秒 | | 1952 | IBM 701 | ~17,000 ops/秒 | | ~1993 | 現代工作站 | 10⁹ ops/秒 |
George Stibitz在Bell Telephone Laboratories製造了由報廢M9射擊指揮裝置零件製成的繼電器計算機。漢明使用過一台多年。這些繼電器機器不快——大約每秒一次操作——但它們可靠且可編程。
ENIAC(1945–1946)最初通過插板接線運行,就像一台巨大的插板計算機。Nick Metropolis和Dick Clippenger後來將其轉換為從彈道表十進制開關編程。ENIAC消耗大約150 kW。
只有當存在足夠的存儲時,內部編程才變得實用。馮·諾依曼的角色是向Mauchly和Eckert的顧問;內部編程在馮·諾依曼參與之前已在團隊中討論,儘管他廣泛流傳(但從未正式發表)的報告傳播了這些概念。
速度的數量級
從手工計算器到1990年代工作站的速度進展跨越了大約十個數量級,用時約50年。
硬體無法達到的地方
漢明提出了三個物理限制,這些限制制約了計算機最終能運行的速度有多快。這些不是聰慧能克服的工程挑戰——它們是物理定律。
限制1:分子大小
元件不能縮小到原子尺寸以下。寬度為10個原子的晶體管柵極:量子隧穿佔據主導,晶體管停止可靠切換。到1993年,漢明估計低於約100,000個原子距離的互聯設備(大約3皮秒的光行距時間)代表了真正的物理邊界。
限制2:光速
信號最多以c = 3×10⁸ m/秒在真空中傳播(在電線中更少,大約2×10⁸ m/秒)。1 GHz時鐘週期是1納秒;在1納秒內,光傳播30厘米。一個必須在15厘米內發送信號並在一個時鐘週期內接收回覆的芯片正在接近光速限制。
隨著時鐘速度增加,芯片尺寸必須縮小以保持信號往返時間在一個時鐘週期以內。
限制3:熱散發
每單位面積更多元件 + 更快切換 = 每單位面積更多功率 = 更多熱。熱必須散發,否則元件會熔化。到1993年,工作電壓下降到2-3V以降低切換功率。鑽石層作為熱導體正在調查中。可逆計算(熱力學上無損)只存在於理論中。
這三個限制總體上解釋了為什麼單處理器速度增益到1990年代時正在接近飽和,以及為什麼對並行架構的興趣增長。
應用光速限制
CPU運行在3 GHz。一個時鐘週期 = 1/3 ns ≈ 0.333 ns。銅中信號速度:~2/3 c ≈ 2×10⁸ m/秒。
極其錯誤的專家們
漢明指出了技術歷史上最著名的預測失敗之一:1940年代末的專家估計世界最多需要3到5台計算機。IBM的Tom Watson據說說過兩台。
到1993年,有數百萬台計算機在運行。
為什麼專家失敗了
這些專家從當前用例推斷:國家實驗室的科學計算。他們沒有預期等效產品洞察:計算機不會更快地做人類已經做的事情。計算機將啟用完全不存在的新工作類別。
失敗模式:成熟技術的專家對其限制最有信心,對其未來應用最有可能犯錯。他們的專業知識給了他們現在的準確模型;它不能給他們未來將可能的模型。
並行架構
到1990年代,單處理器速度接近飽和。行業反應:多個算術單元、管道、緩存層級,以及大規模並行機器。到1993年,沒有單一占主導地位的並行架構——許多競爭設計,有不同的權衡和不同的編程模型。漢明指出這種碎片化是一個問題:沒有標準,編程工作被分散到不相容的系統中。
為什麼專家預測出錯
漢明將3-5台計算機的預測不是作為奇事,而是作為關於專家知識限制的教訓。專家很好地模型化現在;他們在還不存在的應用上失敗。
洛斯阿拉莫斯數據和增長方程
漢明引用了洛斯阿拉莫斯國家實驗室(LANL)編譯的圖表,追蹤了每個時間點市場上最快計算機的速度。數據符合指數方程:速度大約每18個月翻倍——後來作為晶體管計數的摩爾定律推廣。
LANL方程:速度(t) = 速度₀ × 10^(bt),其中b ≈ 0.09每年(大約每3.3年操作每秒翻倍,與晶體管計數翻倍不同)。
漢明用此來說明一點關於推斷:指數無法無限期繼續。三個物理限制設置了天花板。指數何時達到天花板?那個過渡標誌著單處理器時代的結束。
到1993年,工業已經在接近那個天花板,驅動了對並行架構、管道技巧和緩存層級的興趣——所有朝向並行而不是更快單線程執行的小步驟。