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