作者:田達瑋,秦曾昌
編輯:婉珺
世界上第一臺電子計算機是啥?你可能很快就能答出:“埃尼阿克(ENIAC)”。畢竟歷史課本上是這樣寫的。
但是在計算機學界,對于究竟誰是第一臺電子計算機其實存在著爭議,除了ENIAC以外,Z-3、ABC計算機都是世界上第一臺計算機的有力競選者。
下面我們來一一介紹這三位候選“機”。
工作人員正在設置ENIAC一個函數表上的開關。圖片來源:WikimediaCommonsZ-3
1936年,德國工程師康拉德·楚澤(KonradZuse)制造了一臺Z-1計算機,這臺計算機采用的是二進制,并且采用巴貝奇分析機中提到的“穿孔帶”結構來輸入程序,它是世界上第一臺電子-機械式-二進制-可編程(Electro-MechanicalBinaryProgrammable)計算機。
楚澤
在制造Z-1計算機時,楚澤并沒有得到***的支持,只是受到幾個朋友極少的資助,因此他只能自掏腰包來維持Z-1的研究,因此Z-1的性能較差,嚴格上也只能算是一個模型。但楚澤并沒有放棄。
在1937年,他又在朋友幫助下得到一些廢棄的繼電器,用這些廢棄的繼電器,楚澤開始獨自組裝電磁式計算機Z-2。雖然這些電子元件比較舊,但依舊發揮了巨大的功效。在這些電子元件的幫助下,Z-2的計算性能突飛猛進,并成功引起了德國飛機研究所的關注。德國飛機研究所愿意資助楚澤研究性能更好的Z-3計算機,并希望將Z-3計算機應用于飛機制造上。楚澤不負所托,于1941年完成了Z-3計算機。
Z-3具有優異的數學運算性能。除了能夠為制造飛機提供計算方面的幫助外,楚澤還為他編寫了一個國際象棋的程序,這可以說是最早在計算機上的國際象棋游戲了。但由于戰爭,Z-3在1944年的一次空襲中被炸得粉碎。在1945年,楚澤又制造了一臺Z-4計算機,并為其開發了一套編程語言Plankalkuel。
由于戰爭原因,楚澤和他的計算機研究一直是國家機密,不為外人所知。直到1958年,計算機學界才知道他的成果。不過這個時候,全世界都已經普遍認為1945年建成的ENIAC是第一臺電子計算機,再加上楚澤的計算機是為當時的納粹***服務,因此也幾乎沒有人來為楚澤申辯,也就很少有人知道楚澤其實才是第一位電子計算機的發明者。
ABC
ABC的全稱是Atanasoff-BerryComputer,其中Atanasoff和Berry是它的兩位發明者:約翰·文森特·阿塔那索夫以及他的學生克里福特·貝瑞。
阿塔納索夫和貝瑞
阿塔那索夫是愛荷華州立大學(IowaStateUniversity)的物理教授,他在教授課程的過程中,常常試著用電子技術來幫助學生解決復雜的計算問題,這為后來的ABC埋下了伏筆。
在阿塔那索夫設計的計算機過程中,他做出了四個十分重要的決定:
1、采用電子管元件;
2、采用二進制代替十進制;
3、采用電容器作為存儲器;
4、采用邏輯運算代替數字運算。
當時常用到的電子元件有電子管和繼電器,電磁繼電技術在當時使用的十分廣泛,技術成熟度高,性能更穩定,如前面提到的Z系列計算機,還有1944年建造的ASCC采用的就是繼電器元件。而電子管在當時的應用很少,可靠性也比較低,因此選擇電子管這個元件是一項非常冒險的決定。而其他三項決定在當時看來也是極具創新性的。這四項重要的決定明確了阿塔納索夫的計算機的建造思路。
1939年,阿塔納索夫和他的學生貝里完成了ABC樣機的建造。到1940年底,ABC成功運行,并且可以解一系列復雜的方程式。于是他們向學校提出經費申請,希望能夠建造一臺功能完善的計算機。但由于1939年美國發生了嚴重的經濟危機資源極度匱乏,學校認為把重要的二極管元件浪費在這種毫無意義的發明上是浪費資源,因此沒有同意阿塔納索夫的申請。不僅如此,學校還決定將ABC樣機拆除,把零件用到“更有價值的地方”去了。后來我們看到的ABC計算機,是在1997年建造的復制品。
1997年阿塔納索夫-貝瑞計算機的復制品,位于愛荷華州立大學達勒姆中心。圖片來源:creativecommons.org/licenses/by-sa/3.0/
從構思到建造ABC,阿塔納索夫花費了近5年時間,而剽竊這一成果,只需要5天。1941年6月,約翰·莫克利(JohnMauchly)(ENIAC的主要建造者之一)在阿塔納索夫家里花了5天時間“鉆研”ABC的研究思路及成果,這為后來的ENIAC研制提供了清晰的方向。后來,莫克利(JohnMauchly)和埃克特(PresperEckert)為ENIAC申請了專利,并且完全沒有提及阿塔納索夫為此所做的貢獻,這讓阿塔納索夫十分氣憤。
盡管莫克利矢口否認去過阿塔納索夫家里,但美國聯邦法院在經過詳細的調查后,于1973年10月19日撤銷了莫克利和埃克特對于ENIAC的專利權,認定阿塔納索夫是電子計算機的發明人。
如此看來,無論是Z-3計算機還是ABC計算機,實際上都比ENIAC更早建成。
ENIAC
目前對于ENIAC,已不再稱其為第一臺電子計算機,而是稱為第一臺通用型電子計算機(盡管Z-3更早誕生)。
ENIAC
二戰時,美國對于各種彈道表的計算和***效率低下,迫切需要一個能夠快速運算且保證運算結果準確的計算機。因此1943年,研制ENIAC的絕密計劃——莫克利-埃克特計劃應運而生。
最初軍方想要的計算機是專門用來進行彈道計算的機器,但研發者的想法并非如此,他們希望能夠建造一種通用型的計算機,可以根據不同的程序來處理各種各樣的問題。所以在要求軍方的資助時,研發者們巧妙地將ENIAC描述成為“一臺能夠解決多種彈道計算問題的多功能計算機”。
由于需要解決多種問題,建造ENIAC所需的物資和時間也遠超過了最初的計劃:在最初的計劃中,ENIAC將消耗大約5000個電子管,經費預算150000美元;而建造完成時,ENIAC用掉了18000多個電子管,消耗經費400000美元,超過了原計劃的3倍以上。
1943年6月開始研制的ENIAC,由于研制過程花費了太多的時間,并沒有來得及在二戰中展示自己的身手。戰爭于1945年9月結束,而ENIAC在11月才緩緩地投入試運行。由于在戰場上ENIAC沒有任何立功機會,軍方決定將這個耗費巨資搭建的計算機拆除,將零件用在“更有用的地方”。就在軍方計劃對ENIAC撤除自助時,馮諾依曼給ENIAC布置了一項新的任務:為氫彈的研制提供計算幫助,這使得ENIAC開始展現自己的本領。
盡管現在認為ENIAC并非是第一臺電子計算機,但ENIAC在諸多領域提供了相當大的幫助是無法忽視的事實。到退役為止,ENIAC共運算8萬多小時,為氫彈的研制、天氣預測、風洞的開發都做出了卓越的貢獻。相比之下,第一臺電子計算機ABC卻在建成后即被拆除,幾乎沒有用武之地,因此人們對ENIAC的高度評價也不是沒有道理的。
馮·諾依曼與ENIAC
來自于匈牙利的天才馮·諾依曼不僅是博弈論創始人,也被譽為“計算機之父”。雖然圖靈構建了“圖靈機”的偉大理論設想,但是他沒有設計***,甚至也沒有在死前看到一臺實際可以使用的“通用計算機”的問世。
阿蘭·圖靈。圖片來源:turingarchive.org
馮·諾依曼在ENIAC的建造過程中曾提出中肯的設計建議。在最初設計時ENIAC與現代計算機其實是有差異的,ENIAC的程序與計算部件是分離的,在進行計算時,需要人工進行程序替換,之后再啟動計算功能,這對于計算機的運行效率有著非常大的阻礙。
針對這一點,馮·諾依曼曾寫過一項著名的“101頁報告”,提出要設計出能夠將程序儲存在內部的計算機,馮諾依曼稱之為EDVAC(離散變量自動計算機)。EDVAC不用進行人工切換,由計算機自動依次執行程序,后來這種計算機也被稱為“馮·諾依曼機”。不過由于ENIAC計算機研發小組發生了分裂,EDVAC一直到1951年才被研制出來。盡管如此,其結構對現代計算機也還是產生了巨大影響。我們今天所使用的計算機也大多屬于馮諾依曼機的改進型。
馮·諾依曼
其實,第一臺計算機這個頭銜究竟屬于誰也許并不那么重要,Z-3,ABC,和ENIAC都是計算機發展史上最閃亮的星。真正重要的是科學家們為此作出的努力,正是這些不斷開拓的科學家們的努力研究,開辟出一片改變人類生活的信息產業的新天地,我們才能夠享受今天的技術便利,因此,三臺計算機的設計者都應當得到我們的尊敬。
作者名片
微信公眾號全新改版
如果你還想找到“我是科學家”
請盡快將【我是科學家iScientist】設置為“星標”
歡迎個人轉發到朋友圈
我來點贊啦~