網站更新隱私權聲明
本網站使用 cookie 及其他相關技術分析以確保使用者獲得最佳體驗,通過我們的網站,您確認並同意本網站的隱私權政策更新,了解最新隱私權政策
test-2021_Pansci_All_Top

0

0
0

文字

分享

0
0
0

現代電腦從此展開——馮紐曼與馮紐曼架構 │《電腦簡史》數位時代(十一)

張瑞棋
・2020/11/02 ・4059字 ・閱讀時間約 8 分鐘 ・SR值 570 ・九年級

TAAi 2020 25th 人工智慧研討會

1944 年 8 月,第一部可程式化的通用型電腦 ENIAC 正在趕工之際,在不同領域都展現過人天分的馮紐曼應邀前來參觀。沒想到他看沒多久就眉頭一皺……

本文為系列文章,上一篇請見:第一台通用型電子計算機——專利糾葛、優劣並存的 ENIAC │《電腦簡史》數位時代(十)

天才——22歲登柏林大學最年輕教授,30歲與愛因斯坦同獲高等研究院延聘

馮紐曼 1903 年出生於布達佩斯,自小就展露過人天分。他六歲能心算八位數的除法,八歲就會微積分;看過的書過目不忘,還能背下厚厚的電話簿。他 22 歲拿到數學博士學位後,隨即被柏林大學延聘,成為該校有史以來最年輕的教授,並在三年內發表了 32 篇數學論文。1933 年,未滿 30 歲的他就被延請至普林斯頓高等研究院,和愛因斯坦等人並列為創院的四位學者之一。

二次大戰時的馮紐曼。圖:WIKI

只要與馮紐曼打過交道的人,沒有一個不對他的絕頂聰明嘆服不已;更令人驚奇的是,即使是他之前未曾接觸的領域,他也能立即洞悉根本問題,提出非凡見解,宛如已鑽研多年的專家。或許因為具有這樣的天賦,馮紐曼在數學以外的領域也做出許多重要貢獻,包括賽局理論、量子力學、流體力學……等等。

test-2021_Pansci_All_inread_p4

1930 年代晚期,他因為建構出震波的數學模型,而被軍方多個單位聘為顧問,為砲彈內的火藥應如何裝填提供建議。1943 年他還加入曼哈頓計畫,負責模擬計算原子彈的內爆作用。

模擬爆炸的數學模型涵蓋許多複雜的方程式,比計算彈道還耗費時間,更需要藉助於計算機。馮紐曼很清楚機電式計算機的侷限,一直在注意是否有新的技術突破。因此 1940 年 9 月史提畢茲在達特茅斯學院展示複數計算機的功能時,他也在現場;1944 年初 IBM 打造的哈佛一號啟用後,他又立即奔赴哈佛大學試用。

ENIAC 果然快!但設定程式要半天以上是怎麼一回事?

1944 年 8 月,馮紐曼赴美國陸軍的阿伯丁試射場開完會後,在火車月台上等車時,突然有人過來向他致意,原來是負責督導摩爾電機學院製作射表的陸軍中尉高士汀。

他們兩人之前並不認識,但對原本是數學教授的高士汀而言,馮紐曼一直是他的超級偶像,因此才像個粉絲般冒昧上前攀談。高士汀提及自己正在監造的電腦 ENIAC,每秒可執行 333 次乘法時,馮紐曼眼睛一亮,不斷追問技術細節,高士汀乾脆邀他前來參觀。

test-2021_Pansci_All_inread_p8
馮紐曼跨入電腦設計的重要推手高士汀(左二,最右邊為馮紐曼)。圖:WIKI

幾天後馮紐曼就迫不及待的來到摩爾電機學院,ENIAC 的運算速度的確遠遠超過他所見過的任何計算機,但每要更換程式就得重新接線、切換千百個開關,至少要花半天以上的工夫,嚴重拖累整體效能。馮紐曼一針見血的指出解決之道:讓程式和數據一樣,用打孔卡片編寫,再輸入到記憶單元中儲存起來。如此便可輕易更換不同程式,又不會影響運作速度。

其實設計 ENIAC 的莫奇利與艾科特何嘗沒想過這麼做,但如果仍用真空管擴增記憶容量,除了成本會大幅增加,更嚴重的是,不時會有真空管燒壞而造成計算錯誤。

因此艾科特 1943 年底就已經在研究更可靠的記憶裝置,他發現一種用於雷達螢幕的「延遲線記憶體」(delay line memory,原理見文末),或許可以做為電腦的記憶體。這是一根裝滿特殊液體的金屬管,輸入端的石英晶體因電流而震盪,產生的脈衝波經由液體傳遞到另一端的石英晶體後,因為壓電效應再轉成電子訊號輸出。

另行設計 EDVAC,用「水銀延遲線」貯存程式

不過要做為電腦的記憶裝置,金屬管的長度要夠長,才能容納夠多的脈衝波。但相對地,脈衝波的能量耗損也與長度成正比,除了影響訊號傳遞的正確性,也無法維持長久讓電腦隨時存取。

test-2021_Pansci_All_inread_p12

艾科特於 1944 年初發現脈衝波在水銀中的耗損最低,同時他加了一條再生迴路 (regeneration circuit),讓輸出端的訊號又回到輸入端,如此便能穩定維持訊號,最高可達一千赫茲。也就是每條水銀延遲線可貯存 1,000 個位元。

艾科特發明的水銀延遲線。圖:WIKI

儘管艾科特發明了水銀延遲線,但如何整合到電腦中貯存程式,又是另一個截然不同的問題。他與莫奇利久聞馮紐曼的大名,因此對高士汀順勢邀請這位傳奇人物擔任顧問也都欣然歡迎。於是馮紐曼自 1944 年 9 月開始密集參加小組會議,他們很快達成共識:將程式貯存到水銀延遲線,並且採用二進位的運算方式。

不過軍方急著要 ENIAC 上線運作,已不允許再更動設計,小組成員只好在 ENIAC 建造的同時,一邊著手設計全新的電腦:「電子離散變數自動計算機 (Electronic Discrete Variable Automatic Computer,簡稱 EDVAC)。

現代電腦架構的起源——〈 EDVAC 報告初稿〉

1945 年 6 月,馮紐曼和小組成員開完會後,搭火車橫越美國返回新墨西哥州。他在火車上振筆疾書,把大家這十個月來的討論做個總結,整理成一篇涵蓋所有技術細節的書面報告。高士汀收到這份手稿後,立即打印成 101 頁的正式文件,題為〈EDVAC 報告初稿〉(First Draft of a Report on the EDVAC)。正是在這份初稿中,馮紐曼揭櫫了引領現代電腦發展的架構:運算單元、控制單元、記憶單元,輸入裝置與輸出裝置。

影響深遠的〈EDVAC 報告初稿〉封面。圖:WIKI

其中最具革命性的就是讓所有資料都一起共用記憶單元。在此之前,程式指令用打孔卡片或接線、開關;計算的數據儲存在記憶單元;常用的函數則又貯存在另一套記憶裝置或用另一套讀卡機制輸入。

不同功能的資料用不同元件來處理,一直是天經地義的想法,如今 EDVAC 卻打破迷思,把程式、數據、函數都放在同一個記憶單元。而且程式在執行中還可以視計算結果,修改記憶體位址,讓要接連執行的程式盡量存放在鄰近的實體位置,以提升存取效率。

馮紐曼這份報告提供了打造現代電腦的基本藍圖,重要性不下於夏農那篇碩士論文,不過它卻也造成團隊的分裂。

高士汀自作主張埋下禍根,團隊成員分道揚鑣

EDVAC 是眾人努力的成果,真正屬於馮紐曼個人創見的只有可變記憶體位址,但高士汀卻在報告上將馮紐曼列為唯一作者,等於抹煞了其他團隊成員的貢獻。尤其艾科特更覺得情何以堪,他早就提出儲存程式的想法,做為記憶體的水銀延遲線還是他發明的,如今卻由讓馮紐曼一人獨享光環(至今大家仍以「馮紐曼架構」稱之)。

更嚴重的歧見是,高士汀沒有徵詢過團隊成員,就逕行將報告分發給美、英兩國 24 個單位。在高士汀與馮紐曼眼中,這就像發表科學研究一樣理所當然,更何況這會有助於高速電腦的發展。但對莫奇利與艾科特而言,他們原本要申請相關專利,如今卻因為馮紐曼的報告提前發布,而被否決。

他們兩人趕緊趁 ENIAC 尚未公開,與賓州大學爭取智慧財產權,但雙方一直無法取得共識。1946 年 3 月,莫奇利與艾科特索性辭去教職,共同創立電腦公司,逕行申請專利。

莫奇利與艾科特創業後開發的第一部電腦 UNIVAC I。圖:WIKI

馮紐曼打造 IAS 機器,流程圖成為程式撰寫基本工具

馮紐曼也在二次大戰結束後返回普林斯頓高等研究院,沒想到他竟然意猶未盡,打算自己動手打造一台電腦。要知道,高等研究院可是像愛因斯坦這類的科學家思索宇宙真理的地方,馮紐曼竟然要在這神聖殿堂敲敲打打,搞起無關學術思想的粗活,令其他學者都感到有損體面。

不過馮紐曼天生無所忌憚,在他的堅持下,校方還是同意他打造以高等研究院為名的「IAS 機器」。透過高士汀的協助,馮紐曼於 1946 年春季取得軍方資助經費,開始招兵買馬,展開計畫(他原本還天真的想挖角艾科特,當然是被拒絕了)。

馮紐曼繼續秉承傳播科學的理念,在建造 IAS 機器的過程中,不斷釋出相關技術論文,並且特別註明放棄專利,供大家免費運用。其中一篇 1947 年所發表的文件,介紹他們如何使用源於工業工程的流程圖,來設計 IAS 機器的程式。這種視覺化的呈現方式無論用於闡明整體架構或細部指令,都更加清楚易懂,從此流程圖便成為大家撰寫程式的一個基本工具。

馮紐曼於 1947 年發表的程式流程圖。圖:WIKI

IAS機器於 1952 年 1 月正式運作,比原本可以成為第一部馮紐曼架構之通用型電腦的 EDVAC 還早一個月。是的,由於核心成員紛紛離去,摩爾電機學院直到 1952 年 2 月才讓 EDVAC 順利上線。EDVAC 不只落後 IAS 機器,還有很多受惠於〈EDVAC 報告初稿〉,卻比它更早開始運轉的電腦。其中幾部都不是美國製造的,包括英國曼徹斯特大學的「曼徹斯特寶貝」(Manchester Baby) 和「曼徹斯特一號」(Manchester Mark 1)、劍橋大學的「電子延遲存儲自動計算器」(Electronic Delay Storage Automatic Calculator)。

英國能這麼快趕上美國,當然不會是從零開始。事實上,英國在二次大戰時也祕密打造計算機,用以破解德軍密碼。其中一位關鍵人物——圖靈,甚至在更早之前,就發表一篇極其重要的論文,如先知般指出電腦的能耐與侷限。

小教室:雷達的延遲線記憶體

雷達原理是不斷發射無線電波,然後將反彈回來的電波轉換成電子訊號,呈現在螢幕上,藉此看出目標物的移動方向與距離。然而高山、雲層等靜止的物體也會反射電波,如果沒有過濾掉,螢幕上豈不是佈滿光點,無法區辨?

因此電波反彈回來後,訊號會一分為二,一個送往螢幕,另一個經過延遲線記憶體再送往螢幕。如果是來自靜止物體的反射電波,每個訊號都會和前一個延遲的訊號因為干涉作用互相抵銷。只有移動物體的反射訊號因為前後不一致,不會互相抵銷,才會呈現在螢幕上。

文章難易度
Ad manager Post Bottom code
[集雅]廣告測試
張瑞棋
405 篇文章 ・ 2 位粉絲
1987年清華大學工業工程系畢業,1992年取得美國西北大學工業工程碩士。自小喜愛科學新知,浮沉科技業近二十載後,退休賦閒在家,更成為重度閱讀者。當了中年大叔才成為泛科學專欄作者,著有《科學史上的今天》一書,如今又因翻譯《解事者》,而多了個譯者的身分。
2021_Pansci_PC_sidebar_Top

0

0
0

文字

分享

0
0
0
第一台通用型電子計算機——專利糾葛、優劣並存的 ENIAC │《電腦簡史》數位時代(十)
張瑞棋
・2020/10/26 ・3490字 ・閱讀時間約 7 分鐘 ・SR值 551 ・八年級

TAAi 2020 25th 人工智慧研討會

上一章曾說阿塔納索夫在愛荷華大學埋頭苦幹時,外界根本不知道美國中西部也有人在打造數位計算機。既然如此,莫奇利又怎麼會前去造訪,而衍生出日後的專利糾紛?其實,一開始是阿塔納索夫主動結識莫奇利的……。

本文為系列文章,上一篇請見:誰才是第一部電子計算機?——靠 650 美元誕生、曾被遺忘的 ABC 電腦│《電腦簡史》數位時代(九)

氣象論文數據太少被拒,發憤打造計算機

莫奇利小阿塔納索夫四歲,與他一樣是物理博士。1932 年取得博士學位後,原本留在母校約翰霍普金斯大學擔任研究助理,但一年後就到位於賓州的烏西納斯學院 (Ursinus College) 擔任物理系主任,雖然是所小學校,但至少是個正式的教職。

1938 年,莫奇利提交了一篇論文,分析太陽表面的活躍程度與大氣電學的關聯性,不料遭到拒絕,理由是所蒐集的數據期間太短。好吧,他是可以取得更多年度的氣象資料重新分析,但這龐大的數據靠他自己一人怎麼可能算得完?於是他先找學生來分擔計算工作,同時一邊研究有什麼自動計算的機器可以代勞。

test-2021_Pansci_All_inread_p4
莫奇利 John Mauchly。圖:Encyclopedia Britannica

莫奇利發現調和分析儀,這個源自克耳文男爵在半個世紀前發明的機械式計算機,專門用來做傅立葉分析,恰恰是他現在最需要的計算工具,因此於 1940 年也打造了一台。結果他在打造的過程中,竟對計算機產生了高度興趣,開始密切注意是否有更新的技術。

莫奇利參觀了 IBM 最新的商用計算機,也參加 1940 年 9 月在達特茅斯學院舉辦的數學年會,見識史提畢茲展示複數計算機的功能。他還去了解物理學家研究宇宙射線所用的二進位計數器,這是用真空管做成的儀器,專門計算放射性粒子的數目。莫奇利試圖也仿造其邏輯電路,但買不起真空管,只好改用速度較慢,但便宜許多的氖管(灌入稀有氣體氖的燈管)。

愛荷華之行與賓大密集課程,學會設計邏輯電路

1940 年 12 月,莫奇利受邀到美國科學促進協會 (American Association for the Advancement of Science) 舉辦的研討會,發表他終於修訂完成的氣象學論文。莫奇利在演講中提到自己打造的調和分析儀,恰巧阿塔納索夫也在台下聆聽,便在演講結束後主動找莫奇利攀談,提及自己正在打造的真空管計算機(也就是日後的 ABC 電腦),並邀請他來愛荷華參觀。莫奇利第二年暑假驅車前往,就此埋下日後的專利糾紛。

莫奇利從愛荷華回來後,隨即趕赴賓州大學的摩爾電機學院,參加一項為期十週的電子學課程。這是由美國戰爭部 (1949 年才改為國防部) 出資委辦的密集課程,目的在於訓練出更多電子工程師,好為日益擴大的二次大戰戰事做好國防準備。如之前提過,摩爾電機學院與美國陸軍素有淵源,一直為陸軍分析各式火炮的彈道並製作「射表」 (Firing Table),自然成為承辦大學之一。

test-2021_Pansci_All_inread_p8

莫奇利在這課程習得邏輯電路的知識,不但如此,還找到一位志同道合的夥伴艾科特 (J. Presper Eckert)。艾科特當時才 22 歲,仍是摩爾電機學院研究所的學生,卻已多處展現電子工程的長才,包括改善微分分析儀(這是為了分析彈道,而於 1935 年購置的機械式計算機),因此擔任此次課程中的助教。

ENIAC的共同發明人艾科特。圖:WIKI

更棒的是,摩爾電機學院有個現成的教職給莫奇利。雖然這只是個講師的職位,和他目前系主任的頭銜比起來差很多,但對於一心想打造計算機的莫奇利而言,留在這裡一定有更多實作磨練的機會,而且又能與艾科特切磋,因此他仍欣然接受,於 1941 年開始在摩爾電機學院任教。

美國參戰急需大量射表,莫奇利提案真空管計算機

美國於 1941 年底參戰後,陸軍急需更多火炮的射表。眼見摩爾電機學院的進度大幅落後,陸軍特地另外招募了一百多的女性計算員,分成兩班輪流操作微分分析儀,卻仍跟不上前線的迫切需求。1942 年 8 月,莫奇利向校方提交了一份備忘錄,直指機械式的微分分析儀先天不足,建議使用真空管打造電子式計算機。

他在備忘錄中舉真空管計數器可達每秒十萬次為例,主張用電子計算機計算彈道,無論是速度或正確性,都會遠勝於機械式的微分分析儀。然而這份備忘錄並沒有得到校方重視,所幸不久後陸軍中尉高士汀 (Herman Goldstine) 被派來摩爾電機學院,才挽救了莫奇利的夢想。

test-2021_Pansci_All_inread_p12

高士汀原本是密西根大學的數學教授,擅於彈道學的分析,遂被徵召進陸軍的彈道研究實驗室 (Ballistic Research Laboratory)。1942 年秋,他被派往摩爾電機學院,負責提升射表的產能,但過了半年仍一籌莫展。這是因為男性多已入伍,而當時懂數學的女性又相當有限,已無法再增加計算員的人力。因此當他 1943 年初獲知莫奇利的備忘錄後,立即找來了解。他研究後,相當認同電子計算機可大幅提升計算速度,解決射表產出不足的問題,因此決定促成此事。

高士汀努力奔走的同時,莫奇利也找來艾科特補強備忘錄中的技術細節,並將標題改為《電子式微分分析儀的報告》。 1943 年 4 月 9 日,向軍方高層簡報後,成功獲得批准,經費很快就核發下來。

ENIAC——第一部通用型電子計算機問世

六月初,「電子數值積分儀暨計算機」(Electronic Numerical Integrator And Computer,簡稱 ENIAC) 的開發正式啟動,經過兩年半才打造完成,共耗費近五十萬美元(相當於 2020 年的七百萬美元)。完成後的機器重達 27 噸,由 30 個高二米四的機櫃組成,加起來有 30 公尺長,塞滿了 50 坪房間的牆面;IBM 的 ASCC 與之相較猶如小巫見大巫。

安裝於摩爾電機學院的 ENIAC,相片中間即是高士汀。圖:WIKI

ENIAC 的真空管多達 17,468 個,主要用於運算單元與記憶單元,不過運算方式仍是採十進位,而不是二進位。輸入方式有兩種,數據與常用的函數表是用 IBM 現成的打孔卡片機制輸入,然後暫存到記憶單元;程式則跳過打孔卡片,直接用纜線連接控制單元的不同插孔,再調整開關與計數器完成設定。用這種方式輸入程式與數據,是為了完全發揮真空管的優勢,不被讀卡的機械動作拖累。

ENIAC 果然不負眾望,運算速度可達每秒 5,000 次加法或 357 次乘法,不僅超過貝爾實驗室與 IBM 用繼電器打造的計算機百倍以上,也遠勝於阿塔納索夫的 ABC 電腦。用 ENIAC 分析彈道當然也比微分分析儀快多了,只不過當它於 1945 年 11 月啟用時,二次大戰早已結束,原本建造的初衷為了製作射表,如今已不需要了,這簡直就是莊子寓言所說的:花了三年學會屠龍之技,卻無所用其巧。

所幸 ENIAC 是一部可程式化的通用型電腦,軍方仍能在其它方面用到它龐大的計算能力──例如氫彈的模擬計算,因此它還是一直運作到 1955 年 10 月才退役。

二戰結束後創辦公司,電腦專利遭判無效

對莫奇利與艾科特而言,二次大戰結束反而是他們事業的開始。1946 年 3 月,他們兩人一起離開賓州大學,創辦「艾科特─莫奇利電腦公司」,並將 ENIAC 的相關技術申請專利。

這份專利直到 1964 年才獲准,但因為他們的公司早在 1950 年就賣給雷明頓蘭德公司 (Remington Rand),而這家公司五年後又遭另一家公司併購,專利也就歸屬於合併後的斯佩里蘭德公司 (Sperry Rand) 所有。斯佩里蘭德取得專利後,開始向其它電腦公司索取授權金,Honeywell 不願支付,雙方於 1971 年鬧上法庭。

阿塔納索夫因此才以證人身分出庭,證明莫奇利從他這裡獲知數位電腦的相關技術。最後法官認定莫奇利與艾科特的發明衍生自阿塔納索夫的設計,於 1973 年判決專利無效。

ENIAC 突顯舊思維的缺陷,促成現代電腦的出現

其實 ENIAC 與阿塔納索夫的 ABC 電腦有著根本性的不同。雖然兩者都用真空管,但 ENIAC 的用法卻是當成計數器,以傳統的十進位計算,而不是像 ABC 那樣當成二進位的邏輯閘。ENIAC 這樣的設計比起 ABC,反而又倒退了一步。當然 ENIAC 是通用型電腦這一點,比只能解線性方程式的 ABC 強多了,不過要靠插拔纜線、切換開關的方式設定程式實在太過麻煩。

ENIAC 的程式設計師須以插拔纜線、切換開關的方式設定程式。圖:WIKI

無論如何,ENIAC 的確是件劃時代的作品,它將計算機的運算能力提升了兩三個數量級以上,而且還能變換程式做各種運算。因為它的成功運行,而帶動了更多打造通用型電腦的計畫。

另一方面,它的諸多缺點也突顯了舊思維的設計亟待改善,新的電腦立即針對這些缺陷重新設計,因而又往現代電腦更邁向一大步。而在其中扮演關鍵角色的正是從數學、物理、經濟學,乃至 DNA,都有卓越貢獻的全能型天才──馮紐曼。

Ad manager Post Bottom code
[集雅]廣告測試
張瑞棋
405 篇文章 ・ 2 位粉絲
1987年清華大學工業工程系畢業,1992年取得美國西北大學工業工程碩士。自小喜愛科學新知,浮沉科技業近二十載後,退休賦閒在家,更成為重度閱讀者。當了中年大叔才成為泛科學專欄作者,著有《科學史上的今天》一書,如今又因翻譯《解事者》,而多了個譯者的身分。

0

0
0

文字

分享

0
0
0
誰才是第一部電子計算機?——靠 650 美元誕生、曾被遺忘的 ABC 電腦│《電腦簡史》數位時代(九)
張瑞棋
・2020/10/19 ・2844字 ・閱讀時間約 5 分鐘 ・SR值 532 ・七年級

TAAi 2020 25th 人工智慧研討會

當貝爾實驗室與 IBM 挾著龐大資源開發數位計算機時,在美國中西部一所以農業為主的學院裡,一位物理教授竟然單槍匹馬,僅憑拮据的經費就要打造出更先進的電子計算機……。

本文為系列文章,上一篇請見:史上第一部全自動的計算機——艾肯與 IBM 的恩怨情仇│《電腦簡史》數位時代(八)

只有 650 美元,卻想打造第一台電子計算機的原型機?

1939年 5 月,當艾肯與 IBM 啟動哈佛馬克一號的開發案時,愛荷華州立大學教授阿塔納索夫也獲得學校補助,加入打造數位計算機的行列。

IBM 有雄厚財力與商業計算機的基礎,另一邊正在開發複數計算機的貝爾實驗室也有龐大研究經費,反觀阿塔納索夫手上的資源卻少得可憐。學校只給了他 650 美元的補助,其中三分之二還是給研究生貝瑞 (Clifford Berry) 的助理津貼。在如此拮据的情況下,阿塔納索夫卻執意不用 IBM 與貝爾實驗室所用的繼電器,而是選擇速度更快,卻也更昂貴的真空管。

test-2021_Pansci_All_inread_p4
阿塔納索夫。圖:WIKI

阿塔納索夫早就預料經費有限,因此他在一年多前規劃整體架構時,已經琢磨出克難的方案。他降低成本的策略與楚澤設計 V4 時一樣,都是瞄準記憶單元。楚澤用金屬條取代繼電器,阿塔納索夫則是用電容器取代真空管。也就是說,只有運算單元使用真空管,記憶單元全部使用便宜許多的電容器。

研究助理貝瑞原本就是電機系學生,在他的協助下,只花了半年時間,就於 1939 年底完成精簡版的原型機。雖然只有兩組 25 位元的記憶單元,運算單元也只有 13 個真空管,但運作結果證明了阿塔納索夫的構想可行,學校也同意新的年度再撥給他 700 美元繼續打造。

這筆錢當然仍遠遠不足,因此阿塔納索夫又向 IBM 等商用計算機公司投遞計劃書,卻都石沉大海。後來終於在 1941 年 3 月,有一個基金會願意贊助五千美元,這部計算機才得以在 1941 年底打造完成。

使用真空管與電容器,第一部電子計算機問世

阿塔納索夫一開始就是為了計算線性代數,才設計出這部計算機。它的原理是透過加減運算,逐步消去變數與方程式,最後得出答案,因此運算單元與控制單元相對簡單。完工後的機器尺寸並不大,約莫一張書桌大小,重 320 公斤,只用了 280 個真空管。最多可解 29 個變數的線性方程組。

test-2021_Pansci_All_inread_p8

記憶單元的主體構造是兩個直徑 20 公分的滾筒,各有 1,600 個電容器分布在滾筒表面。橫置的滾筒每秒轉一圈,表面的電容器經過電刷時,完成讀取資料與重新充電。這就是 1937 年底,阿塔納索夫在酒吧靈光一閃,冒出腦海的解決方案。

輸入裝置與艾肯和史提畢茲的設計一樣,利用 IBM 現有的打孔卡片,輸入程式與數據。輸出裝置就相當特殊,真的可以用很「炫」來形容。它是讓特製的卡片經過兩個電極之間,用五千伏特的電弧在卡片上灼燒出許多細小的洞,來記錄計算結果。

ABC的構造。圖:WIKI

貝爾實驗室與 IBM 在這個時期所開發的計算機仍是用繼電器,雖然傳遞的是電子訊號,但繼電器的開關是機械動作,唯獨阿塔納索夫這部計算機全程用電子訊號進行二進位的運算。所以當它於 1942 年初成功解出有 10 個變數的線性方程組,也立下一個重要的里程碑,成為第一部完成運算的電子計算機。

有些人認為它並不純然是電子式,因為滾筒轉動是機械式的。不過這個說法並不公允,因為現代電腦所用的硬碟,裡面讀取頭的動作也是機械式,但我們並不會因此就說現代電腦不是電子式計算機。

test-2021_Pansci_All_inread_p12

二戰中斷研發,兩人各奔前程,留下的 ABC 電腦成歷史灰燼

當然,滾筒大幅拖慢了運算速度也是事實,不過要再提高滾筒轉速應該沒有太大問題,運算速度也就可以提升了。另外輸出裝置也須要再做改善;在實際運作時,電弧偶而會有偏差,沒有打在卡片上的正確位置,而輸出錯誤的答案。這可以設法增進放電的精確度,或放寬孔洞之間的距離,甚至乾脆放棄電弧,改用別種方式貯存計算結果,來確保記錄正確。

只不過就算阿塔納索夫與貝瑞有任何想法,也都來不及再加以改善了。1942 年中,他們兩人都被徵召入伍,不得不離開校園。阿塔納索夫到海軍的武器實驗室服役,二次大戰結束後,與朋友共同創立一家武器研發公司,直到 1961 年退休,從事青少年的電腦教育工作。

貝瑞則是到一家國防相關的企業研發光譜儀,退役後仍繼續留任,不料卻在 1963 年自殺身亡。為了紀念貝瑞,阿塔納索夫從此將他們研發的計算機稱為「阿塔納索夫–貝瑞電腦」 (Atanasoff – Berry Computer,簡稱 ABC)。

ABC 的複製品,存放於愛荷華州立大學。圖:WIKI

其實阿塔納索夫本來沒有機會將 ABC 這名稱告訴全世界,因為外界從來不知道他們發明出第一部電子計算機。由於愛荷華州是個農業州,工商業並不發達,與科技界原本就沒什麼交集。而愛荷華州立大學當時只是農業與工藝學院,在科學研發方面又不受外界關注。以致於整個 40 年代,只有三篇短短的新聞稿報導過他們開發的電腦。

阿塔納索夫與貝瑞離開後,留在物理館地下室的機器逐漸蒙塵敗壞,後來整個愛荷華州立大學也沒人知曉它的用途,就被拆解丟棄了。最後只留下一個插滿電容器的滾筒,見證它曾經存在。因此除了少數人,世人根本不知道有這麼這一台機器。

阿塔納索夫自己也只把打造 ABC 當成一個有趣的經驗,不值得大肆宣揚。事實上,當年他向基金會申請到補助後,曾經順便將文件複本寄給學校特約的專利律師,但不知是學校並不積極跟催,或是戰爭的影響,專利申請一直沒有送出去。阿塔納索夫自己也覺得無所謂,沒繼續追問,可見他完全沒察覺自己的發明所蘊含的重要性與價值。

第一部通用型電子計算機 ENIAC,研發竟涉嫌剽竊自 ABC?

沒想到原本已在電腦史上石沉大海的 ABC,竟在 1967 年春出現了轉機。阿塔納索夫也才知道自己錯失了什麼。

原來漢威聯合 (Honeywell) 等大型電腦公司都被索討專利授權金,而當初取得專利的莫奇利 (John Mauchly) 所憑藉的,是他所設計出第一部通用型電子計算機 ENIAC。但莫奇利是在拜訪阿塔納索夫,研究過 ABC 之後,才打造出 ENIAC。因此漢威聯合的律師希望阿塔納索夫能出庭作證,他們就能主張對方的專利無效。

阿塔納索夫這才驚覺自己不以為意的專利,竟被他一度推心置腹的莫奇利拔得頭籌。想當初自己熱心地招待莫奇利住在家中,讓他檢視建造中的計算機,還把整份文件攤給他看,結果他竟然獨享利益與光環。忿忿不平的阿塔納索夫當然樂意出庭作證,至少要讓世人知曉他與死去的戰友所打造的 ABC,才是第一部通用型電子計算機。

差點成歷史灰燼的 ABC,終於因為這件官司而受到矚目,得以載於史冊。至於判決結果如何、ENIAC 究竟與 ABC 有無關係、莫奇利又是怎麼踏上這條路的,就待下一章分曉了。

Ad manager Post Bottom code
[集雅]廣告測試
張瑞棋
405 篇文章 ・ 2 位粉絲
1987年清華大學工業工程系畢業,1992年取得美國西北大學工業工程碩士。自小喜愛科學新知,浮沉科技業近二十載後,退休賦閒在家,更成為重度閱讀者。當了中年大叔才成為泛科學專欄作者,著有《科學史上的今天》一書,如今又因翻譯《解事者》,而多了個譯者的身分。

0

0
0

文字

分享

0
0
0
史上第一部全自動的計算機——艾肯與 IBM 的恩怨情仇│《電腦簡史》數位時代(八)
張瑞棋
・2020/10/12 ・2937字 ・閱讀時間約 6 分鐘 ・SR值 527 ・七年級

TAAi 2020 25th 人工智慧研討會

當貝爾實驗室的史提畢茲已經在打造複數計算機,比他更早提案開發數位計算機的艾肯還在苦等。好不容易 IBM 願意開發,美國又捲入二次大戰戰局,究竟艾肯能否如願完成夢想……?

本文為系列文章,上一篇請見:終端機雛形、遠端操控、數據傳輸的首創者——史提畢茲│《電腦簡史》數位時代(七)

艾肯鍥而不捨,IBM 終於同意開發第一部通用型計算機

1937 年 11 月,還是博士生的艾肯帶著企劃案到 IBM 簡報,希望能說服他們也為科學家開發計算機。是的,很多科學家與艾肯一樣深受計算之苦,IBM 聽完之後深表同意。不過他們希望艾肯先去哥倫比亞大學看看,也許他會在那裡發現他想要的東西。

原來早在 1933 年,IBM 就曾接受天文學教授艾可特 (Wallace Eckert) 的提案,為他改造 IBM 601 商用計算機,用來計算天文物理的方程式。艾可特隨後還自己設計一套控制系統,將改造的 IBM 601、印表機,與打孔機連接起來,成為近乎全自動的機器。如果艾肯可以接受這套系統,IBM 就不用另外開發設計了。

test-2021_Pansci_All_inread_p4
IBM 601 商用計算機。圖:WIKI

艾肯拜訪之後,發現這套系統運作過程還是需要人工介入,不是全自動化。而且這台改造的 IBM 601 主要在於求取內插值,與他設想的通用型計算機相去甚遠,因此仍堅持得重新開發設計。

IBM 要求他與工程師先擬出詳細規格與研發成本,才能評估是否要投入開發。好不容易報告完成,IBM 高層又爭辯許久,無法取得共識。在此同時,哈佛大學自己內部也有不少的反對聲浪,質疑購置新型計算機的必要性。

直到 1939 年 2 月,IBM 董事長華森 (Thomas Watson) 才終於親自拍板定案,承諾無償為哈佛大學開發艾肯所規劃的「自動循序控制計算機」(Automatic Sequence Controlled Calculator,簡稱 ASCC )。恰好此時艾肯也已拿到博士學位,並在哈佛大學取得教職,便順理成章代表哈佛,繼續與 IBM 的團隊合作,自五月開始展開研發工作。

哈佛架構 vs. 馮紐曼架構

ASCC 沿用 IBM 原有的打孔卡片機制來輸入程式,但因為它是通用型計算機,所要執行的程式可能會很長,因此將打孔卡片改為打孔紙帶。打孔紙帶上的程式並不會先載入記憶單元,而是一次讀入一個指令,控制單元馬上根據指令動作。這麼做的好處是不佔用記憶單元,可以節省成本。但缺點是運算速度受限於讀取打孔紙帶的機械動作,結果 ASCC 做一次乘法要費時 6 秒,比楚澤 1941 年就造好的 Z3 還慢。

test-2021_Pansci_All_inread_p8

現代電腦採用的是「馮紐曼架構」,程式與數據都先全部載入記憶單元,然後再開始運作。像 ASCC 這樣,程式與數據分開,不共用記憶單元的架構,後來就稱為「哈佛架構」。

ASCC的程式用打孔紙帶輸入。圖:WIKI

ASCC 的運算方式仍是十進位制,因此對 IBM 的工程師而言,只要稍加修改原有運算單元就可以處理加減法。困難點在於 ASCC 要涵蓋三角函數、微分方程、遞迴函數、……等所有數學運算,但這些工程師對高深數學並不在行,無從想像如何設計。艾肯因此扮演關鍵的角色,必須一一拆解運算的步驟,講述給他們了解。

問題是,艾肯給予的只是描述性的說明,而不是數位邏輯,工程師還是得自己想出對應的邏輯電路。沒想到這竟為日後 IBM 與哈佛的決裂埋下了禍因。

艾肯入伍服役,三年後代表海軍徵用 ASCC

1939、1940 這兩年暑期,艾肯全程都待在 IBM 提供諮詢。但到了 1941 年,他被徵召到海軍服役,無法繼續參與研發,只能委託物理系一位研究生接手他的工作。在此同時,IBM 的工程師也改以國防任務為先,無法全心投入 ASCC 的開發,結果原本預計兩年的工程拖到 1943 年底才完成。

test-2021_Pansci_All_inread_p12

1944 年初,ASCC 在哈佛大學的物理研究室完成安裝,長達十五公尺,高兩米四,有 4.3 噸重,零件多達 765,000 個,是當時最大的計算機,直到一年半後才被貝爾實驗室的 Model V 超越。

ASCC 的左半部。圖:WIKI

安裝好才兩個月,艾肯便在當年四月重返哈佛,不過這次他是以海軍少校的身分回來接管 ASCC。戰爭時期國事為先,海軍決定徵用 ASCC,交由最熟悉的艾肯全權負責,帶領隨行人員計算雷達、磁場等軍艦遭遇的問題。

事實上,在海軍徵用前一個月,ASCC 就曾經為國效力。馮紐曼帶著兩位數學家前來,用 ASCC 計算原子彈的內爆模型,只是當時曼哈頓計畫仍屬絕對機密,哈佛與 IBM 的人員都不知道與原子彈有關。

艾肯獨攬發明之功,IBM 憤而與哈佛決裂

儘管 ASCC 已被海軍徵用,但這畢竟是 IBM 投入大量金錢與人力為哈佛開發的,預訂的捐贈典禮還是要照常舉辦,而艾肯自然是負責籌辦的最佳人選。捐贈典禮於 1944 年8 月舉行,不料艾肯準備的新聞稿中,竟然只將自己一人列為 ASCC 的發明者,完全沒有提及與他一起研究的那幾位 IBM 工程師。

IBM 董事長華森勃然大怒,刪除原本要給哈佛大學日後維持機器運作的經費,雙方的合作就此畫上句點,哈佛大學也乾脆將 ASCC 重新命名為「哈佛馬克一號」(Harvard Mark I)。

二次大戰結束後,艾肯退役回歸教職。即使沒有 IBM,他仍分別於 1947 年與 1949 年,為海軍開發出功能更強的哈佛馬克二號與馬克三號。

第一宗有蟲的真實案例,程式 debug 的由來

值得一提的是,1947 年 9 月 9 日這一天,海軍的程式設計師發現馬克二號總是出錯,他們檢查了半天,最後發現原來是一隻蛾在繼電器上造成短路。他們把這隻蛾取下,用膠帶貼在工作日誌上,除了註明是在 F 板塊的第 70 號繼電器發現,還戲謔地寫上「發現第一宗蟲的真實案例」(“First actual case of bug being found”)。

原來打從 1870 年代開始,蟲 (bug) 這個字就用來形容機器中的瑕疵。如今竟然是一隻真正的昆蟲造成程式執行發生錯誤,而將牠移除後就恢復正常,從此電腦程式的偵錯工作就叫 ”debug” 了。

「發現第一宗蟲的真實案例」。圖:WIKI

艾肯心血雖成昨日黃花,百年樹人影響更久遠

其實艾肯代表海軍徵用哈佛馬克一號時,美國陸軍委託另一批人馬打造的計算機已在祕密進行中,所用的真空管開關速度遠勝繼電器,艾肯這些機電式計算機很快就要被電子計算機淘汰。儘管如此,哈佛馬克一號仍是電腦史上一個重要的里程碑。它是第一部真正全自動化的計算機,只要用打孔紙帶輸入程式與數據,就能自動完成計算,並將計算結果印製成表格,過程中完全不需人力介入。

對艾肯而言,他也成功擔起傳承的使命,實現百年之前巴貝奇未竟的分析機夢想。

其實艾肯更大的貢獻在於作育英才。除了直接教導出霍普 (Grace Hopper) 、王安、……等舉足輕重的人物(霍普當年是海軍少尉,跟著艾肯去接管哈佛馬克一號,她後來寫出第一個編譯器,還領頭開發出第一個高階商用電腦語言「COBOL」;王安則是創辦「王安電腦」,首創電腦文書處理。),艾肯還首開先例,在哈佛大學開設可攻取碩士與博士學位的計算機學程,引領美國大學設立電腦科系的風潮。

這些艾肯直接與間接培育出來的電腦人才,比起他開發設計的計算機,對於電腦發展產生更久遠的影響。

Ad manager Post Bottom code
[集雅]廣告測試
張瑞棋
405 篇文章 ・ 2 位粉絲
1987年清華大學工業工程系畢業,1992年取得美國西北大學工業工程碩士。自小喜愛科學新知,浮沉科技業近二十載後,退休賦閒在家,更成為重度閱讀者。當了中年大叔才成為泛科學專欄作者,著有《科學史上的今天》一書,如今又因翻譯《解事者》,而多了個譯者的身分。