ABC计算机

**阿塔納索夫 - 貝瑞電腦**（**Atanasoff–Berry Computer**，通常簡稱 **ABC 電腦**）是世界上第一台電子數字計算裝置。這台電腦在 1937 年設計，不可程式化，僅僅設計用於求解線性方程組，並在 1942 年成功進行了測試。然而，這台電腦用紙卡片讀寫器實現的中間結果儲存機制是不可靠的。而且，在發明者約翰・文森特・阿塔納索夫因為二戰任務而離開愛荷華州立大學之後，這台電腦的工作就沒有繼續進行下去。ABC 電腦開創了現代電腦的重要元素，包括二進位算術和電子開關。但是因為缺乏通用性、可變性與儲存程序的機制，將其與現代電腦區分開來。這台電腦在 1990 年被認定為 IEEE 里程碑之一。

阿塔納索夫和克利福德・貝瑞的電腦工作直到 1960 年才被發現和廣為人知，並且陷入了誰才是第一台電腦的衝突中。那時候，ENIAC 普遍被認為是第一台現代意義上的電腦，但是在 1973 年，美國聯邦地方法院註銷了 ENIAC 的專利，並得出結論：ENIAC 的發明者從阿塔納索夫那裡繼承了電子數字電腦的主要構件思想。因此，ABC 被認定為世界上第一台電子電腦。

## 設計與構造

根據阿塔納索夫的講述，ABC 電腦的幾個關鍵概念是在 1937-1938 年的一次長時間的夜間行駛中突然構想出來的。ABC 的創新包括了電子計算、二進位算術、並列處理、蓄熱式電容記憶體，還有儲存和計算功能的分離。其機械和邏輯設計都是阿塔納索夫博士在後面的一年中完成的。一個建立概念驗證原型的資金申請在 1939 年 3 月提交到了農學部門，農學部門也對提高用於經濟和研究分析的計算速度深感興趣。紐約的非營利研究組織 RCSA 給予 5000 美金作為進一步資金支援。

ABC 電腦是由阿塔納索夫博士和研究生克利福德・貝瑞於 1939 到 1942 年，在艾奧瓦州立大學的物理樓地下室裡建造的。9 月獲得了初始資金之後，1939 年 10 月完成了 11 個管件的演示原型。12 月的演示為建造一個完整的機器帶來了資金支援。接下來的兩年裡，ABC 電腦完成了建設和測試。《得梅因紀事報》（_Des Moines Register_）在 1941 年 1 月 15 日聲稱，ABC 電腦是由 300 多個真空管組成的「電腦器」，可以「計算複雜的代數方程」（但沒有給出精確的電腦技術說明）。電腦系統的重量超過 320 千克（700 磅），包含了大約 1.6 公里（1 英里）的電線、280 個雙三極真空管、31 個閘流管，大小相當於一個書桌。

ABC 不是圖靈完全的電腦。圖靈完全將其與很多通用電腦區分開來，比如康拉德・楚澤的 Z3 電腦，或者更晚的電腦，如 1946 年的 ENIAC、1949 年的 EDVAC、曼徹斯特大學的設計，以及艾倫・圖靈於戰後在英國國家物理實驗室和其他地方的設計。而且，ABC 也沒有實現儲存程序結構。如果實現的話，它將成為真正的全通用、可重新編程的電腦。

然而，這台電腦實現了三個關鍵思想，這些思想在現代電腦中仍然是一個組成部分：

1. 使用二進位數表示所有的數值和資料
2. 使用電子器件進行所有計算操作，而不是滾輪、棘輪或者機械開關
3. 計算和儲存在系統中分離成兩部分

另外，這套系統開創了對蓄熱式電容記憶體的使用，今天它仍在 DRAM 中廣泛使用。

ABC 電腦的儲存體是一對轉鼓，每個轉鼓包含 1600 個電容器，它們圍繞著共同的軸旋轉，每秒一圈。每個轉鼓上的電容器被分為 32 個「帶」（「band」）（30 個是活躍的，另外兩個是在有電容器壞掉的時候備用的），每個帶上有 50 個電容器，從而使機器每秒種可完成 30 次加減操作。資料表示成 50 位定點二進位數。儲存體和運算單元的電子器件能同時儲存和操作 60 個這樣的數（3000 位）。

60 赫茲的交流電頻率是最低階別操作的主時鐘速率。

算術邏輯單元是用真空管實現的全電子器件。邏輯閘系列由不同器件組成，低到變頻器，高到兩到三個輸入門。輸入輸出水平和工作電壓在不同的門之間是相容的。每個門由一個反向真空管放大器組成，由它前面的電阻分壓器輸入網路定義邏輯功能。控制邏輯功能是用中繼器實現的機電器件，因為帶每旋轉一圈才需完成一次操作，不需要電子器件那樣高的速度。

雖然 ABC 電腦是早期電腦器發展的重要一步，但是它在解決一整個問題的時候並不能完全自動地執行。需要有一個操作員操作控制開關來設定各種功能，很像當時的機電計算機和單元計算裝置。選擇要進行的操作、讀取、寫出、二進位和十進位數的相互轉換，或者化簡方程組，這些操作都要通過前面面板上的開關來完成，有些情況下需要操作跳線。

輸入和輸出的形式有兩種：主要的使用者輸入輸出和中間結果的輸入輸出。中間結果的儲存機制允許大問題整個儲存在儲存體中。如果不使用中間結果的輸入輸出功能，可以解決的最大問題就是求解由兩個方程式聯立成的方程組。

中間結果是以二進位數的形式寫到紙上的，實現方式是用靜電修改 1500 個位置的電阻器來表示 50 位數（一個方程）中的 30 位。每張紙可以在一秒鐘內完成讀或寫。這套系統的可靠性限制在了每 100000 次計算出現一個錯誤，這主要歸因於對紙張的材料性質缺乏控制。根據回憶，解決方案是在寫出的每個數上加上一個校驗位。這個問題直到阿塔納索夫離開大學進入戰爭相關工作的時候都沒有得到解決。

主要的使用者輸入是十進位的，通過標準的 IBM80 列打孔卡完成；輸出也是十進位的，通過前面的一個面板顯示出來。

## 功能

ABC 電腦是為特定目的而設計的，就是求解線性方程組。它能求解多達 29 個方程組成的方程組，而這是當時的一個難題。這種規模的問題在約翰・阿塔納索夫工作的物理學機構中已經很常見了。這台機器能夠利用兩個具有 29 個變數和一個常數項的方程，消掉其中一個變數。這個過程中需要重複地手動操作每個方程，最終得出消掉一個變數的方程組，然後再重複這個過程來消掉另一個變數，依此向下進行。

愛荷華州統計部門的負責人 George W. Snedecor 很可能是使用這台電子數字電腦解決現實世界數學問題的第一個人。他曾經向阿塔納索夫提交過很多這種問題。

## 專利糾紛

約翰・皮斯普・埃克特（John Adam Presper "Pres" Eckert）和約翰・莫齊利（John Mauchly）發明 ENIAC，是第一個電子計算裝置專利的獲得者。約翰・莫齊利曾經在 1941 年測試過 ABC 電腦，並且莫齊利以前的學生艾薩克・奧爾巴赫指控說，這影響了莫齊利之後關於 ENIAC 的工作，雖然莫齊利拒絕承認。1967 年，霍尼韋爾起訴斯佩里・蘭特，試圖推翻他們對於 ENIAC 的專利，聲稱 ABC 電腦是在先技術。1973 年 10 月 19 日，美國明尼蘇達地區地方法院宣布裁決，在霍尼韋爾對斯佩里・蘭特的訴訟中發現，ENIAC 專利是由約翰・阿塔納索夫的發明所衍生的。這個判決沒有人提出上訴。

坎貝爾・凱利和 Aspray 總結說：

> 莫齊利對阿塔納索夫的思想吸取到什麼程度仍然是未知的，而且證據非常冗雜且相互矛盾。ABC 電腦的技術相當溫和，並且沒有全部實現。至少我們能推斷出，莫齊利看到了 ABC 電腦的潛在意義，導致他提出了一個類似的電子解決方案。
> 
> 

1973 年 10 月 19 日，案件在法律上得到了解決，美國地方法院法官厄爾・拉爾森認為 ENIAC 的專利無效，判決說 ENIAC 從阿塔納索夫 - 貝瑞電腦上繼承了很多基礎思想。法官拉爾森明確表示：「埃克特和莫齊利並非他們自己首先發明了自動電子數字電腦，而是繼承了約翰・文森特・阿塔納索夫的發明。」

## 複製品

當學校將地下室改造成教室的時候，原始的 ABC 電腦最終被拆掉了，而且所有的零部件（除了一個記憶體轉鼓）都被丟棄了。1997 年，由埃姆斯實驗室（位於愛荷華州校園）的約翰・古斯塔夫森領導的研究團隊花費了 35 萬美元，建造了一台能工作的 ABC 電腦複製品。現在，這台 ABC 電腦複製品永久展覽於愛荷華州立大學達勒姆計算和通信中心一樓大廳。

## 參見

* 電腦硬體歷史

## 參考資料

## 外部連結

* ABC 電腦的誕生 （頁面存檔備份，存於網際網路檔案館）
* 重建 ABC 電腦
* 約翰・古斯塔夫森，ABC 電腦的重建 （頁面存檔備份，存於網際網路檔案館）
* ENIAC 專利的審判
* 霍尼韋爾起訴斯佩里・蘭特的記錄，1846-1973 （頁面存檔備份，存於網際網路檔案館），美國明尼蘇達大學查爾斯・巴貝奇研究所。