阿塔那索夫貝理電腦檢視原始碼討論檢視歷史
阿塔那索夫貝理電腦 |
---|
|
阿塔納索夫-貝瑞計算機(Atanasoff–Berry Computer,通常簡稱ABC計算機)是世界上第一台電子數字計算設備[1]。
介紹
這台計算機在1937年設計,不可編程,僅僅設計用於求解線性方程組,並在1942年成功進行了測試。然而,這台計算機用紙卡片讀寫器實現的中間結果存儲機制是不可靠的。而且,在發明者約翰·文森特·阿塔納索夫因為二戰任務而離開愛荷華州立大學之後,這台計算機的工作就沒有繼續進行下去。ABC計算機開創了現代計算機的重要元素,包括二進制算術和電子開關[2]。但是因為缺乏通用性、可變性與存儲程序的機制,將其與現代計算機區分開來。這台計算機在1990年被認定為IEEE里程碑之一[3]。
阿塔納索夫和克利福德·貝瑞的計算機工作直到1960年才被發現和廣為人知,並且陷入了誰才是第一台計算機的衝突中。那時候,ENIAC普遍被認為是第一台現代意義上的計算機,但是在1973年,美國聯邦地方法院註銷了ENIAC的專利,並得出結論:ENIAC的發明者從阿塔納索夫那裡繼承了電子數字計算機的主要構件思想。因此,ABC被認定為世界上第一台計算機。
設計與構造
根據阿塔納索夫的講述,ABC計算機的幾個關鍵概念是在1937-1938年的一次長時間的夜間行駛中突然構想出來的。ABC的創新包括了電子計算、二進制算術、並行處理、蓄熱式電容內存,還有存儲和計算功能的分離。其機械和邏輯設計都是阿塔納索夫博士在後面的一年中完成的。一個建立概念驗證原型的資金申請在1939年3月提交到了農學部門,農學部門也對提高用於經濟和研究分析的計算速度深感興趣。紐約的非營利研究組織RCSA給予5000美金作為進一步資金支持。
ABC計算機是由阿塔納索夫博士和研究生克利福德·貝瑞於1939到1942年,在艾奧瓦州立大學的物理樓地下室裡建造的。9月獲得了初始資金之後,1939年10月完成了11個管件的演示原型。12月的演示為建造一個完整的機器帶來了資金支持[4]。接下來的兩年裡,ABC計算機完成了建設和測試。《得梅因紀事報》(Des Moines Register)在1941年1月15日聲稱,ABC計算機是由300多個真空管組成的「電子計算機器」,可以「計算複雜的代數方程」(但沒有給出精確的計算機技術說明)。計算機系統的重量超過320千克(700磅),包含了大約1.6公里(1英里)的電線、280個雙三極真空管、31個閘流管,大小相當於一個書桌。
ABC不是圖靈完全的計算機。圖靈完全將其與很多通用計算機區分開來,比如康拉德·楚澤的Z3計算機,或者更晚的計算機,如1946年的ENIAC、1949年的EDVAC、曼徹斯特大學的設計,以及艾倫·圖靈於戰後在英國國家物理實驗室和其他地方的設計。而且,ABC也沒有實現存儲程序結構。如果實現的話,它將成為真正的全通用、可重新編程的計算機。
然而,這台計算機實現了三個關鍵思想,這些思想在現代計算機中仍然是一個組成部分:
另外,這套系統開創了對蓄熱式電容內存的使用,今天它仍在DRAM中廣泛使用。
ABC計算機的存儲體是一對轉鼓,每個轉鼓包含1600個電容器,它們圍繞着共同的軸旋轉,每秒一圈。每個轉鼓上的電容器被分為32個「帶」(「band」)(30個是活躍的,另外兩個是在有電容器壞掉的時候備用的),每個帶上有50個電容器,從而使機器每秒種可完成30次加減操作。數據表示成50位定點二進制數。存儲體和運算單元的電子器件能同時存儲和操作60個這樣的數(3000位)。
60赫茲的交流電頻率是最低級別操作的主時鐘速率。
算術邏輯單元是用真空管實現的全電子器件。邏輯門系列由不同器件組成,低到變頻器,高到兩到三個輸入門。輸入輸出水平和工作電壓在不同的門之間是兼容的。每個門由一個反向真空管放大器組成,由它前面的電阻分壓器輸入網絡定義邏輯功能。控制邏輯功能是用中繼器實現的機電器件,因為帶每旋轉一圈才需完成一次操作,不需要電子器件那樣高的速度。
雖然ABC計算機是早期計算機器發展的重要一步,但是它在解決一整個問題的時候並不能完全自動地運行。需要有一個操作員操作控制開關來設置各種功能,很像當時的機電計算器和單元計算設備。選擇要進行的操作、讀取、寫出、二進制和十進制數的相互轉換,或者化簡方程組,這些操作都要通過前面面板上的開關來完成,有些情況下需要操作跳線。
輸入和輸出的形式有兩種:主要的用戶輸入輸出和中間結果的輸入輸出。中間結果的存儲機制允許大問題整個存儲在存儲體中。如果不使用中間結果的輸入輸出功能,可以解決的最大問題就是求解由兩個方程式聯立成的方程組。
中間結果是以二進制數的形式寫到紙上的,實現方式是用靜電修改1500個位置的電阻器來表示50位數(一個方程)中的30位。每張紙可以在一秒鐘內完成讀或寫。這套系統的可靠性限制在了每100000次計算出現一個錯誤,這主要歸因於對紙張的材料性質缺乏控制。根據回憶,解決方案是在寫出的每個數上加上一個校驗位。這個問題直到阿塔納索夫離開大學進入戰爭相關工作的時候都沒有得到解決。
主要的用戶輸入是十進制的,通過標準的IBM80列打孔卡完成;輸出也是十進制的,通過前面的一個面板顯示出來。
功能
ABC計算機是為特定目的而設計的,就是求解線性方程組。它能求解多達29個方程組成的方程組,而這是當時的一個難題。這種規模的問題在約翰·阿塔納索夫工作的物理學機構中已經很常見了。這台機器能夠利用兩個具有29個變量和一個常數項的方程,消掉其中一個變量。這個過程中需要重複地手動操作每個方程,最終得出消掉一個變量的方程組,然後再重複這個過程來消掉另一個變量,依此向下進行。
愛荷華州統計部門的負責人George W. Snedecor很可能是使用這台電子數字計算機解決現實世界數學問題的第一個人。他曾經向阿塔納索夫提交過很多這種問題。
參考文獻
- ↑ Ralston, Anthony; Meek, Christopher (編), Encyclopedia of Computer Science second: 488–489, 1976, ISBN 0-88405-321-0
- ↑ Campbell-Kelly, Martin; Aspray, William, Computer: A History of the Information Machine, New York, NY: Basic Books: 84, 1996, ISBN 0-465-02989-2
- ↑ Milestones:Atanasoff-Berry Computer, 1939. IEEE Global History Network. IEEE. [3 August 2011]. (原始內容存檔於2011-09-13).
- ↑ Mollenhoff, Clark R., Atanasoff: Forgotten Father of the Computer, Ames: Iowa State University Press: 47, 48, 1988, ISBN 0-8138-0032-3