1941:Zuse Z3 — 楚澤的可程式數位電腦、二進位與浮點#
案情#
1941 年 5 月 12 日,柏林,德國工程師康拉德・楚澤(Konrad Zuse)向科學家展示了他的 Z3——一台全自動、可程式的數位計算機。Z3 以約 2,600 個電話繼電器構成,採二進位運算、浮點數表示,程式由打孔的 35mm 廢棄膠卷輸入。它被公認為史上第一台可運作的可程式圖靈完備數位電腦。
前因#
- 楚澤 1935 年自柏林工業大學土木工程系畢業,做結構計算時厭倦了繁瑣的聯立方程手算,決定自動化。
- 1938 年的 Z1 已採用二進位與浮點,但為純機械構造,不可靠;1940 年的 Z2 改用繼電器實驗成功。
- 當時美國主流(哈佛 Mark I、ENIAC 前身)走十進位路線;楚澤獨立選擇二進位。
- 德國戰時航空研究(氣動力顫振計算)提供經費,德意志航空實驗院(DVL)資助 Z3 約 65 萬帝國馬克。
線索與推理#
偵探在此看到「條件貧乏如何激發獨創」。楚澤幾乎與世隔絕——看不到圖靈論文、不知道布什的 differential analyzer——卻自己走向了正確的組合。決策鏈有三:第一,選二進位。機械十進位需要十態元件,二進位只需「通/斷」,繼電器天生二值,故障率與成本大幅下降;這是與物理器件特性匹配的選擇。第二,選浮點。工程計算數值範圍極廣,楚澤設計 1 位元正負號、7 位元指數、14 位元尾數(共 22 位元),免去程式設計師手動管理小數點——比 IBM 的定點機器先進一個世代。第三,程式與資料分離(程式在膠卷上、資料在 64 個字的記憶體),雖非儲存程式架構,但指令以數值形式讀取,配合迴圈跳躍,已達圖靈完備(經 1998 年 Raúl Rojas 證明,因可將無限膠卷視為無限帶)。遺憾的線索是社會因素:納粹官僚認定「計算機不屬於戰略急需」,拒絕後續資助,Z4 被運往哥廷根輾轉保存,德國失去了先發機會。
理論#
Z3 的浮點表示可寫為:
\[ x = (-1)^s \times m \times 2^{e}, \quad m \in [1, 2), \; e \in [-64, 63] \]
繼電器邏輯閘即香農的開關代數:串聯為 AND、並聯為 OR。加法器的進位傳播:
\[ c_{i+1} = a_i b_i + (a_i \oplus b_i) c_i \]
圖靈完備性:Rojas 證明 Z3 可用「膠卷程式碼模擬帶」,條件跳躍可由程式重排實現,故為圖靈完備(但非儲存程式)。
| 特性 | Z3 | 哈佛 Mark I (1944) | ENIAC (1945) |
|---|---|---|---|
| 數制 | 二進位 | 十進位 | 十進位 |
| 數值表示 | 浮點 | 定點 | 定點 |
| 程式方式 | 打孔膠卷 | 打孔紙帶 | 接線板 |
| 元件 | 繼電器 | 繼電器/機械 | 真空管 |
後果#
- Z4 戰後移居瑞士蘇黎世聯邦理工學院(ETH),運作至 1950 年代,成為歐洲早期計算中樞。
- 楚澤 1945 年設計 Plankalkül——最早的進階程式語言設計之一。
- 二進位+浮點的組合成為所有後世數位電腦的標準配備。
- 1998 年 Z3 被正式認定為圖靈完備,德國在計算機史的先驅地位獲得平反。
冷案檔案#
- 時間:1941 年 5 月 12 日,柏林。
- 案由:楚澤展示繼電器式可程式數位電腦 Z3。
- 歷史定位:第一台可運作的可程式圖靈完備數位電腦,二進位與浮點的先驅。