電子數值積分計算機

維基百科,自由的百科全書
(已重新導向自 ENIAC)
前往: 導覽搜尋
格倫·貝克(遠)和貝蒂·斯奈德(近)在位於彈道研究實驗室(BRL)Building 328的ENIAC上編程。(美國陸軍照片)
程式設計師貝蒂·讓·詹寧斯(左)和弗蘭·Bilas(右)操作位於穆爾電力工程學院的ENIAC主控制面板。(美國陸軍照片,來自ARL技術圖書館檔案)

電子數值積分計算機英語Electronic Numerical Integrator And Computer),由其縮寫,簡稱為伊尼亞克英語ENIAC英語發音:/ˈɛni.æk/,也可稱埃尼阿克[1][2]是世界上第一台通用電子電腦。它是圖靈完全的電子電腦,能夠重新編程,解決各種計算問題[3]

ENIAC為美國陸軍的彈道研究實驗室(BRL)所使用,用於計算火炮火力表[4][5]。ENIAC在1946年公布的時候,就被當時的新聞讚譽為「巨腦」。它的計算速度比機電機器提高了一千倍。這是一個飛躍,之前沒有任何一台單獨的機器達到過這個速度。它的數學能力和通用的可編程能力,令當時的科學家和實業家非常激動。發明它的人為了進一步推廣這些新思想,舉辦了一系列關於電腦體系結構的講座。

二戰期間,美國陸軍資助了ENIAC的設計和建造。建造合同在1943年6月5日簽訂,實際的建造在7月以「PX計畫」為代號秘密開始,由賓夕法尼亞大學穆爾電力工程學院進行。建造完成的機器在1946年2月14日公布[6],並於次日在賓夕法尼亞大學正式投入使用[7]。建造這台機器花費了將近五十萬美元(考慮通貨膨脹,相當於2011年的六百五十萬美元)[8]。1946年7月,它被美國陸軍軍械兵團正式接受。為了翻新和升級記憶體,ENIAC在1946年11月9日關閉,並在1947年轉移到了馬里蘭州阿伯丁試驗場。1947年7月,它在那裡重新啟動,繼續工作到1955年10月2日晚上11點45分[2]

ENIAC是賓夕法尼亞大學的約翰·莫齊利和J.·Presper·埃克特構思和設計的[9]。協助開發的設計工程師團隊包括羅伯特·F·肖(函式表)、朱傳榘(除法器/平方-平方根器)、托馬斯·凱特·夏普勒斯(主程式器)、阿瑟·伯克斯(乘法器)、哈利·Huskey(讀取器/列印器),還有傑克·戴維斯(累加器)。ENIAC在1987年被評為IEEE里程碑之一[10]

描述[編輯]

容器里的ENIAC真空管

ENIAC是模組化電腦,由執行不同功能的獨立面板組成。其中二十個模組是累加器,這些累加器不僅能做加減運算,還能儲存十位十進制數。當數被呼叫的時候,它們透過一些通用的匯流排在這些單元間傳遞。為了實現高速,面板需要獨立完成傳送和接受數、計算、儲存結果、觸發下一個操作,這一系列的操作都不需要任何移動部件。它的多功能性關鍵在於「分支」的能力——能根據計算結果的符號觸發不同的操作。

除了速度之外,ENIAC最引人注目的就是它的體積和複雜性。ENIAC包含了17468個真空管、7200個晶體二極體、1500個繼電器、10000個電容器,還有大約五百萬個手工焊接頭。它的重量達27(30英噸),體積大約是2.4m×0.9m×30m(8×3×100英尺),佔地167平方米(1800平方英尺),耗電150千瓦[11][12](導致有傳言說,每當這台電腦啟動的時候,費城的燈都變暗了[13])。IBM的卡片閱讀器用於輸入,打卡器用於輸出。使用IBM會計機(比如IBM 405)可將這些卡片用於離線產生輸出。

ENIAC使用十位環形計數器儲存數位,每個數位使用36個真空管,其中10個是雙三極體,它們組成了環形計數器的觸發器。算數運算透過對環形計數器脈衝的計數進行,如果計數器被脈衝「環繞」了,則產生一個進位脈衝。「環繞」的思想在電子領域模擬了機械加法機數位滾輪的操作。ENIAC有20個帶符號的十位累加器,它們使用10的補碼表示方法,每秒可在它們和數位源(例如另一個累加器,或者常數傳送器)進行5000次簡單加減操作。因為幾個累加器可以同時執行,所以潛在的速度峰值由於這種並行操作而比上述數位高得多。

透過將兩個累加器用線連線起來,可以實現雙精度計算,不過累加器進行電路時序控制,防止三個或更多的累加器被連線起來導致精度更高。ENIAC中的四個累加器被一個特殊的「乘法器」單元所控制,每秒可進行385次乘法操作。還有五個累加器被一個特殊的「除法器/平方-平方根器」單元,每秒可進行四十次除法運算或三次求平方根運算。

ENIAC中其他九個單元是「初始化單元」(啟動和停止機器)、「迴圈單元」(用於同步其他單元)、「主程式器」(控制「迴圈」序列)、「讀取器」(控制IBM打孔卡片讀取器)、「列印器」(控制IBM打孔卡片的打孔)、「常數傳送器」,還有三個「函式表」。

Cpl. Irwin Goldstein正在設定ENIAC一個函式表上的開關。(美國陸軍照片)

羅哈斯和Hashagen(或者威爾克斯)對於各種操作的時間給出了更多細節,這些時間與上述不同。基本機器周期是200微秒(迴圈單元中100kHz時鐘的20個周期),進行十位數運算時每秒種5000個周期。在一個周期內,ENIAC可以向暫存器內寫入一個數,從暫存器內讀取一個數,或者加/減兩個數。10位數乘以d位數(「d」最大是10)的運算佔用d+4個周期,所以10位數乘以10位數的運算佔用14個周期,也就是2800微秒(每秒357次)。如果其中一個數不足10位,則操作進行得更快。除法和求平方根的操作佔用13×(d+1)個周期,「d」是運算結果(商或平方根)的位數。所以,除法和求平方根操作最多佔用143個周期,也就是28600微秒(每秒35次)。(威爾克斯說,產生10位數商的除法操作僅需要6毫秒。)如果結果的位數不足10,則速度更快。

可靠性[編輯]

ENIAC使用普通的八腳電子管,十進制累加器用6SN7觸發器製成,6L7、6SJ7、6SA7,和6AC7用於邏輯功能。無數的6L66V6用作線路驅動器,驅動著脈衝從機架元件間透過電纜傳遞。

ENIAC一個部分的背面細節,展示出了電子管

當時,一些電子方面的專家預言管件會經常壞,導致機器根本沒法使用。這個預言後來被部分證實了:每天都有幾個管件燒壞,使ENIAC有差不多一半的時間功能受損。1948年以前並沒有特殊的高可靠性管件。然而,這些損壞多數時候發生在預熱和冷卻時期,在這兩個時期,管件加熱器和陰極承受著最大的壓力。於是,工程師採用了一種簡單但是代價昂貴的手段,就是永遠不把機器關掉,由此把ENIAC的管件損壞頻率降低到了可接受的程度——每兩天損壞一個管件。根據1989年對Eckert的採訪,不斷損壞管件的故事因此幾乎成了一個神話:「我們每兩天就有一個管件壞掉,但是我們能在15分鐘內定位到問題出現的地方。」[14]1954年,沒失真壞持續運作最長的時間是116小時(接近五天)。

編程[編輯]

雖然彈道研究實驗室是ENIAC的發起者,但是直到這個三年的計畫進行了一年以後,約翰·馮·紐曼才注意到這台電腦[15],當時他在洛斯阿拉莫斯國家實驗室研究氫彈。這個實驗室隨後深入參與了ENIAC計畫,以至於對ENIAC的第一次測試執行是計算氫彈相關資料,而不是火力表[16]這次測試的輸入、輸出資料是一百萬張卡片。[17]

ENIAC可以編程,執行複雜的操作序列,可以包含迴圈、分支和子程式。獲取一個問題並把問題對映到機器上是一個複雜的任務,通常要用幾個星期的時間。當問題在紙上搞清楚之後,透過操作各種開關和電纜把問題「弄進」ENIAC還要用去幾天的時間。然後,還要有一個驗證和測試階段,由機器的「單步執行」能力協助測試。

當時在ENIAC編程方面做得最多的六位女士,1997年入選國際科技名人堂[18][19]。根據她們在1946年互相的稱呼,她們是凱·麥克納爾蒂(凱瑟琳·安東內利)、貝蒂·詹寧斯(讓·Bartik)、貝蒂·斯奈德(貝蒂·Holberton)、Marlyn·Wescoff(Marlyn·梅爾策)、弗蘭·Bilas(弗朗西絲·斯賓塞),和露絲·Lichterman(露絲·泰特鮑姆)[20][21]。珍妮弗·S.·萊特的文章《當電腦是女人》記錄和闡述了操作ENIAC的女士們的角色,以及歷史上對女性在電腦科學歷史中角色的遺漏或淡化[22]。ENIAC程式設計師的角色也在2010年的一個紀錄片中被正視[23]

ENIAC是個獨一無二的設計,從來沒被複製過。1943年設計的凍結意味著,電腦設計缺乏創新,發展得不好,尤其是缺乏儲存程式的能力。Echert和Mauchly開始了一個新的設計工作,後來被稱為EDVAC,這個設計不但更簡單,而且更強大了。特別是在1944年,Eckert寫了他對於儲存單元的描述(汞的延遲線記憶體)。這種儲存單元既儲存資料,又儲存程式。馮·紐曼向穆爾學校徵詢EDVAC,並旁聽了穆爾學校的會議。儲存程式的概念在這個會議上提出來了,他寫下了不完整的筆記(《關於EDVAC的報告初稿》),擬用作內部的備忘錄,描述、說明會議上提出的關於正規邏輯預言的思想。ENIAC的管理員和安全人員赫爾曼·戈德斯坦向一些政府和教育機構分發了《初稿》的副本,廣泛地帶動了對構建新一代電子電腦(包括EDSACSEAC)的興趣。

從1948年期,ENIAC進行了若干次升級,其中就包括原始的唯讀程式儲存機制[24]。這個機制以函式表作為程式的唯讀記憶體,由理察·Clippinger博士提出,並包含在了ENIAC的專利中。Clippinger向馮·紐曼詢問實現什麼樣的指令集。Clippinger想出了一種三位址結構,而馮·紐曼提出了一位址結構,因為實現起來更簡單。一個累加器(6)的三個數位用作程式計數器,另一個累加器(15)用作主累加器,第三個累加器(8)用作從函式表中讀取資料的位址指標,另外的大部分累加器(1-5、7、9-14、17-19)用作資料儲存。ENIAC中儲存的程式的編程工作是由貝蒂·詹寧斯、Clippinger和阿黛勒·戈德斯坦完成的。1948年9月16日,ENIAC執行了一個由阿黛勒·戈德斯坦寫給馮·紐曼的程式,因此成為了第一個儲存程式電腦。這個修改在六個因素上降低了ENIAC的速度,並且限制了平行計算能力,但是因為把重新編程的時間從幾天減少到了幾個小時,所以效能上有些損失也是值得的。分析也顯示,因為電子計算速度和機電輸入/輸出速度的巨大差異,即使不利用原始機器的並列功能,幾乎所有現實世界的問題也完全是輸入/輸出繫結(I/O bound)的,即使因為上述修改,速度降低了之後仍然是這樣。1952年的早些時候,ENIAC上添加了一個高速移位器,在五個因素上提高了移位速度。1952年7月,添加了一個100字的核心儲存擴充功能,此儲存體採用BCD碼Excess-3數位表示。為了支援這個擴充功能記憶體,ENIAC配備了一個新函式表選擇器、一個記憶體位址選擇器、脈衝整形電路,還給編程機制增加了三個新指令。

與其他早期電腦的比較[編輯]

機械和電子電腦器從19世紀就開始出現了,但是20世紀30、40年代被看作是現代電腦時代的開端。

  • 德國Z3電腦(1941年5月公布)是康拉德·楚澤設計的。這是第一台通用的數位電腦。但是它是機電電腦,而不是電子電腦,因為所有功能都使用繼電器。它使用二進制數學進行邏輯地計算。它可用打孔紙帶編程,但是沒有邏輯分支。儘管當初設計的不是圖靈完全的,但是在1998年人們發現它是圖靈完全的(但是如果要利用這種圖靈完全性質,需要複雜、聰明的破解)。1943年,這台電腦在柏林毀於轟炸襲擊。
  • 美國阿塔納索夫-貝瑞電腦(ABC,1941年夏天公布)是第一台電子計算裝置。它使用真空管實現了二進制計算,但是不是通用的,而是僅僅用於求解線性方程組。這台電腦也沒有利用電子計算的速度優勢。有兩方面限制了它的速度:一是旋轉電容鼓記憶體,另一個是它的輸入輸出系統要把中間結果寫出到紙片上。這台電腦是手動控制的,並且不可編程。
  • 英國的十個巨人電腦(Colossus computer,1943年用於密碼分析)是湯米·弗勞爾設計的。這些電腦是數位的、電子的,可用插板和開關編程,但是僅用於密碼破譯,並不是通用的[25]
  • 霍華德·艾肯在1944年設計的馬克一號電腦使用繼電器,可用打孔紙帶編程。可以計算一般的數學函式,但是沒有分支結構。
  • 就像Z3和馬克一號一樣,ENIAC可以執行任意數學運算序列,但是並不是從紙帶上讀取資料。像Colossus一樣,它可以用插板和開關編程。ENIAC將全面、圖形完全的可編程能力與電子計算的高速性結合在一起。

ABC、ENIAC和Colossus都使用真空管。ENIAC的暫存器採用十進制運算,而不是像Z3或ABC那樣的二進制運算。

1948年以前,ENIAC像Colossus一樣,重新編程的時候需要重新布線。儲存程式,以及記憶體既用於儲存程式,又用於儲存資料的思想在開發ENIAC的時候就構想出來了,不過在ENIAC沒有初步實現,因為二戰需要這台機器儘快完成投入使用,並且ENIAC的20個儲存位置也太小了,不足以同時儲存資料和程式。

公眾認知[編輯]

Z3和Colossus電腦都是獨立於彼此,並且獨立於ABC和ENIAC開發的。Z3電腦毀於1943年盟軍轟炸柏林。Colossus電腦是英國戰爭成就的一部分。它們的存在直到1970年才為公眾所知,雖然它們的能力仍然只有開發它們的英國相關人員以及被邀請的美國人才知道。這些機器中,只有兩台一直在英國政府通訊總部(GCHQ)使用到了1960年,其餘的都在1945年毀壞了[來源請求]。ABC電腦是在約翰·阿塔納索夫被徵召去華盛頓為美國海軍做物理研究後,被愛荷華州立大學拆掉了。相比之下,ENIAC在1946年大展它的能力,「吸引了全世界的想像力」[26]。或許正因如此,更古老的電腦歷史與這個時期相比,在其覆蓋和分析上並不是很全面。

專利[編輯]

莫齊利曾經擁有ENIAC的專利。1973年,經過法院宣判,因莫齊利對於ENIAC的設計思想部分來源於約翰·阿塔納索夫和克利福德·貝里設計的ABC電腦,所以專利被認定為無效,ENIAC的發明被放入公有領域

然而,公眾領域內普遍將ENIAC認定為世界上第一台電子電腦,將莫齊利認定為電子電腦之父。為此,20世紀90年代初,時年87歲的ABC電腦發明者阿塔納索夫寫信給當時的美國總統老布希,希望公眾能承認他自己才是電子電腦之父。於是,老布希向他頒發了一個美國國家工藝技術金質獎章,以表彰他發明了世界上第一台電子數位電腦。[27]

展覽的部件[編輯]

ENIAC的四個面板和一個函式表,展覽於賓夕法尼亞大學工程和應用科學學院。

賓夕法尼亞大學工程和應用科學學院擁有ENIAC原始的四十個面板中的四個,和三個函式表中的一個。史密森尼學會美國歷史博物館擁有五個面板。倫敦科學博物館展覽著一個面板。密西根大學在Ann Arbor校園擁有阿瑟·伯克斯搶救的四個面板。位於美國馬里蘭州阿伯丁試驗場的美國陸軍軍械博物館,也就是ENIAC使用的地方,擁有一個函式表。另外還有一個面板在位於美國德克薩斯州普萊諾市的佩羅系統展覽。

1997年,有人製作了一塊邊長8毫米(0.25英寸)的矽制方形晶片,其功能與佔了一大間屋子的ENIAC相同。雖然這個20MHz的晶片比ENIAC快多了,但是仍然比20世紀90年代後期的現代微處理器慢很多[28][29]

參見[編輯]

註腳[編輯]

  1. ^ Goldstine, Herman H. The Computer: from Pascal to von Neumann. Princeton, New Jersey: Princeton University Press. 1972. ISBN 0-691-02367-0. 
  2. ^ 2.0 2.1 The ENIAC Story. Ftp.arl.mil. [2008-09-22]. 
  3. ^ Shurkin, Joel, Engines of the Mind: The Evolution of the Computer from Mainframes to Microprocessors, 1996, ISBN 0-393-31471-5
  4. ^ The ENIAC's first use was in calculations for the hydrogen bomb. Moye, William T. ENIAC: The Army-Sponsored Revolution. US Army Research Laboratory. January 1996 [2009-07-09]. 
  5. ^ Goldstine, Herman H. The Computer: from Pascal to von Neumann. . 214. 
  6. ^ Kennedy, Jr., T. R. Electronic Computer Flashes Answers. New York Times. February 15, 1946 [2011-01-31]. 
  7. ^ Honeywell, Inc. v. Sperry Rand Corp., 180 U.S.P.Q. (BNA) 673, p. 20, finding 1.1.3 (U.S. District Court for the District of Minnesota, Fourth Division 1973). 「The ENIAC machine which embodied 'the invention' claimed by the ENIAC patent was in public use and non-experimental use for the following purposes, and at times prior to the critical date: ... Formal dedication use February 15, 1946 ...」
  8. ^ Dollar Times Inflation Calculator. http://www.dollartimes.com/calculators/inflation.htm
  9. ^ Wilkes, M. V. Automatic Digital Computers. New York: John Wiley & Sons. 1956: 305 pages. QA76.W5 1956. 
  10. ^ Milestones:Electronic Numerical Integrator and Computer, 1946. IEEE Global History Network. IEEE. [03 August 2011]. 
  11. ^ http://encyclopedia2.thefreedictionary.com/ENIAC
  12. ^ Weik, Martin H. Ballistic Research Laboratories Report № 971 — A Survey of Domestic Electronic Digital Computing Systems — page 41. US Department of Commerce. December 1955 [2009-04-16]. 
  13. ^ Farrington, Gregory. ENIAC: Birth of the Information Age. Popular Science. [15 December 2011]. 
  14. ^ Alexander Randall 5th. A lost interview with ENIAC co-inventor J. Presper Eckert. Computer World. 14 February 2006 [2011-04-25]. 
  15. ^ Goldstine, Herman. The Computer: from Pascal to von Neumann. . 182. 
  16. ^ Goldstine, Herman. The Computer: from Pascal to von Neumann. . 214. 
  17. ^ Goldstine, Herman. The Computer: from Pascal to von Neumann. . 226. 
  18. ^ WITI — Hall of Fame. Witi.com. [2010-01-27]. 
  19. ^ Wired: Women Proto-Programmers Get Their Just Reward. 
  20. ^ ENIAC Programmers Project. Eniacprogrammers.org. [2010-01-27]. 
  21. ^ ABC News: First Computer Programmers Inspire Documentary. 
  22. ^ Light, Jennifer S. "When Computers Were Women." Technology and Culture 40.3 (1999) 455-483
  23. ^ Gumbrecht, Jamie. Rediscovering WWII's female 'computers'. CNN. February 2011 [2011-02-15]. 
  24. ^ A Logical Coding System Applied to the ENIAC. Ftp.arl.mil. 1948-09-29 [2010-01-27]. 
  25. ^ B. Jack Copeland (editor), Colossus: The Secrets of Bletchley Park's Codebreaking Computers, 2006, Oxford University Press, ISBN 0-19-284055-X.
  26. ^ Kleiman, Kathryn A. WITI Hall of Fame: The ENIAC Programmers. 1997 [2007-06-12]. 
  27. ^ 劉戈. 電子計算機傳奇. 《商業價值》. [2012-02-03]. 
  28. ^ Jan Van Der Spiegel. ENIAC-on-a-Chip. PENNPRINTOUT. 1996-03 [2009-09-04]. 
  29. ^ Jan Van Der Spiegel. ENIAC-on-a-Chip. University of Pennsylvania. 1995-05-09 [2009-09-04]. 

參考文獻[編輯]

  • 亞瑟·伯克斯和愛麗絲·伯克斯,《ENIAC:第一台通用電子電腦》(《電腦歷史紀事》,卷3(第4號),1981,第310-389頁)
  • J.·Presper·埃克特,《ENIAC》(尼古拉斯都市報,傑克·豪利特,吉安-卡羅·羅塔,(眾多編者),《二十世紀的電腦歷史》,學術出版社,紐約,第525-540頁)
  • J.·Presper·埃克特和約翰·莫齊利,1946,《電子電腦發展計劃綱要》,6頁。(電子電腦工業的創始文件)
  • W.·巴克利·弗里茨,《ENIAC的女士們》(《IEEE電腦歷史紀事》,卷18,1996,第13-28頁)
  • 赫爾曼·Goldstine和阿黛爾·Goldstine,《電子數值積分電腦(ENIAC)》,1946(重印於《數位電腦的起源:論文選編》,斯普林格出版社,紐約,1982,第359-373頁)
  • 約翰·莫齊利,《ENIAC》(大都會,尼古拉斯,傑克·豪利特,吉安-卡羅·羅塔,1980,《二十世紀的電腦歷史》,學術出版社,紐約,ISBN 0-12-491650-3,第541-550頁)
  • 勞爾·羅哈斯和烏爾夫·Hashagen,眾多編者,《第一台電腦:歷史和架構》,2000,麻省理工學院出版社,ISBN 0-262-18197-5

延伸閱讀[編輯]

  • 伯克利,埃德蒙,《巨腦或思考的機器》,約翰·威利和Sons公司,1949,第7章《每秒5000次加法:穆爾學校的ENIAC(電子數值積分電腦)》
  • Hally,邁克,《電子大腦:電腦時代黎明的故事》,約瑟夫·亨利出版社,2005,ISBN 0-309-09630-8
  • Lukoff, 赫爾曼. 從Dits到Bits:電子計算機的私人歷史. 美國俄勒岡州波特蘭市: Robotics Press. 1979. ISBN 0-89661-002-0. 
  • 麥卡特尼,斯科特,《ENIAC:世界上第一台電腦的勝利和悲劇》,沃克和Co,1999,ISBN 0-8027-1348-3
  • 湯普金斯,C.B.和J.H Wakelin,《高速計算裝置》,麥格勞-希爾,1950
  • 斯特恩, 南希. 從ENIAC到UNIVAC:埃克特·莫齊利的計算機評價》. 數位出版社. 1981. ISBN 0-932376-14-2. 

外部連結[編輯]

座標39°57′08″N 75°11′26″W / 39.9522°N 75.1905°W / 39.9522; -75.1905