讀古今文學網 > 創新者:一群技術狂人和鬼才程序員如何改變世界 > 最初的存儲程序計算機 >

最初的存儲程序計算機

莫奇利和埃克特希望為他們參與發明的成果申請專利(並從中獲利),但是他們難以在賓夕法尼亞大學實現這種想法,因為該校當時還沒有明確的知識產權劃分政策。雖然他們可以申請ENIAC相關的專利,但是賓夕法尼亞大學堅持要得到這些專利的免費授權,以及轉讓所有相關設計的權利。此外,雙方在EDVAC的發明所有權歸屬方面也無法達成一致。這場相持不下的爭執最終讓莫奇利和埃克特在1946年3月底離開了賓夕法尼亞大學。76

他們在費城成立了埃克特–莫奇利計算機公司的前身,他們是將學術領域的計算機技術投入商用的先驅(他們的公司以及申請中的專利在1950年被雷明頓·蘭德收購,後者在經過多次併購之後先後更名為斯佩裡·蘭德和優利系統)。UNIVAC是他們在創業期間研製的一款計算機,購買這款計算機的客戶包括美國人口普查局和通用電氣公司。

在1952年的美國總統大選之夜上,如同電影明星一般的UNIVAC在CBS(哥倫比亞廣播公司)電視網的大選專題報道中出盡風頭。CBS的年輕主持人沃爾特·克朗凱特(Walter Cronkite)不確定這台巨型機器的可靠程度能否比得上他們的專業特派記者,但他認為這也許可以為觀眾帶來一些有趣的看點。莫奇利和埃克特從賓夕法尼亞大學請來了一位統計學家,他們共同為UNIVAC製作了一個程序,它可以將部分樣本選區的早期投票情況和往屆的大選結果進行比較。到了美國東部時間晚上8點30分的時候,全美大部分的投票站都還沒有截止投票,而這時UNIVAC已經以100︰1的確定性預測出德懷特·艾森豪威爾將會輕鬆擊敗阿德萊·斯蒂文森(Adlai Stevenson)。CBS起初沒有公佈UNIVAC的預測結果,克朗凱特只是告訴觀眾們計算機還沒有完成計算。不過隨後的計票結果表明艾森豪威爾果然以懸殊的差距在大選中勝出,這時克朗凱特將直播信號轉到特派記者查爾斯·科林伍德(Charles Collingwood),後者向觀眾承認,UNIVAC其實在當晚早些時候就已經預測出了這個結果,只是CBS沒有將其對外公開。UNIVAC從此成為以後每屆大選之夜的明星和保留節目。77

雖然在賓夕法尼亞大學工作的女程序員沒有被邀請參加ENIAC的慶功宴,但是埃克特和莫奇利沒有忘記她們的貢獻。他們聘請了貝蒂·斯奈德和瓊·詹寧斯加入他們的公司。斯奈德在婚後的名字是貝蒂·霍伯頓,她繼續走在了編程領域的最前端,先後參與了COBOL和Fortran編程語言的開發工作;詹寧斯則嫁給了一位工程師,並改名為瓊·詹寧斯·巴爾提克。莫奇利本來也想聘請凱·麥克納爾蒂,然而他在妻子溺水身亡之後,轉而向麥克納爾蒂求婚。他們在婚後育有5個孩子,莫奇利也繼續投身到了UNIVAC的軟件設計工作當中。

莫奇利還請來了這些女程序員的前輩——格雷斯·霍珀。「他會讓其他人去嘗試不同的東西,」當被問到自己為什麼會被說服加入埃克特–莫奇利計算機公司時,霍珀回應道,「他鼓勵創新。」78 她在1952年開發了世界上第一個可行的編譯器「A–0系統」,它可以將符號化的數學編碼轉換成機器語言,從而降低普通人編寫程序的難度。

霍珀有著像船員一樣的行事風格,所以她更加看重「同舟共濟」的協作方式。她促進了開源創新方式的發展,她曾將初期版本的編譯器發給編程領域的好友和熟人,請求他們協助改進這些編譯器。她在擔任COBOL語言(世界上最早的跨平台標準化商用計算機語言)開發項目的技術主管時也採用了這種開放式的方法。79 她的直覺認為編程應該是獨立於機器本身的存在,這點反映了她對共治(collegiality)的偏好,她相信即使是機器也應該高效地協同工作。這同時也說明她已經提前洞察到了計算機時代的一個決定性的本質:硬件將會被商品化,而編程才是真正的價值所在。直到比爾·蓋茨出現之前,大多數男性都沒有這樣的遠見。[4]

馮·諾依曼不屑於埃克特和莫奇利唯利是圖的做法。「埃克特和莫奇利是一個商業團隊,他們滿腦子都是商業專利的策略,」他向一位朋友抱怨道,「我們不能採用學術團隊的開放方式直接或間接地與他們共事。」80 作風正派的馮·諾依曼也不介意利用自己的想法來賺錢。他在1945年與IBM簽訂了一份個人顧問合約,為其提供自己所有發明的使用權。儘管這是一份完全合法正當的協議,但他的做法還是激怒了埃克特和莫奇利。「他將我們的想法出賣給了IBM,」埃克特指責道,「他滿嘴都是騙人的假話。他是個說一套做一套的人,不值得他人的信任。」81

在莫奇利和埃克特離開之後,賓夕法尼亞大學很快就喪失了作為創新中心的地位。馮·諾依曼也回到了普林斯頓大學的高等研究院,跟隨他一同前往高等研究院的還有赫爾曼·戈德斯坦和阿黛爾·戈德斯坦,以及包括亞瑟·伯克斯(Arthur Burks)在內的多位關鍵工程師。「也許研究機構也會像人一樣出現疲勞。」赫爾曼·戈德斯坦後來對賓夕法尼亞大學作為計算機研發中心的衰落做出了這樣的反思。82 計算機在當時被認為是一種工具,而不是一個學術研究的對象。在學術界,幾乎沒有人能夠預想到計算機科學將會成為一個比電氣工程更為重要的學科。

儘管賓夕法尼亞大學出現了大批人才的流失,但它仍然能夠在計算機發展歷程當中起到一個更為重要的作用。1946年6月,計算機領域的大部分專家(包括馮·諾依曼、戈德斯坦、埃克特、莫奇利和其他幾位素有嫌隙的人物)齊聚賓夕法尼亞大學參加一個叫作「摩爾學院講座」的系列演講和研討會,這是他們傳播計算機知識的平台。這個持續8周的系列活動還吸引了霍華德·艾肯、喬治·斯蒂比茲、曼徹斯特大學的道格拉斯·哈特裡和劍橋大學的莫裡斯·威爾克斯等人的參與。他們的討論焦點是存儲程序計算機結構,以及它對實現圖靈所構想的通用型機器的價值。作為討論的成果,莫奇利、埃克特和馮·諾依曼等人在賓夕法尼亞大學共同制定的設計概念成為日後大部分計算機的基礎。

最初的存儲程序計算機其實有兩台,它們幾乎同時在1948年的夏天製成。其中一台是經過改進的ENIAC。在工程師尼克·梅特羅波利斯和理查德·克利平格的協助下,馮·諾依曼和戈德斯坦研究出了一種利用ENIAC其中三個轉換裝置來儲存基本指令集的方式。83 這些轉換裝置本來是用於儲存炮彈阻力相關的數據的,不過由於這台機器不再需要計算彈道表,所以這部分的存儲空間就可以用作其他用途。這次的實際編程工作也是由女性完成的,她們分別是:阿黛爾·戈德斯坦、克拉拉·馮·諾依曼(Klara von Neumann)和瓊·詹寧斯·巴爾提克。「我與阿黛爾等人再度合作,我們這次的工作是為ENIAC編寫一些原始代碼,使得它的轉換裝置可以用於儲存代碼指令,從而將ENIAC轉變成一台存儲程序計算機。」巴爾提克回憶道。84

重新配置的ENIAC在1948年4月投入使用,它帶有一個只讀存儲器,這點意味著它難以在運行的過程中調整程序。此外,它的水銀延遲線存儲器的性能欠佳,而且需要精密的工程技術才能製作出來。一台來自英國曼徹斯特大學的小型計算機能夠避免上述兩個缺點,這台被稱為「曼徹斯特寶貝」(the Manchester Baby)的機器是按照存儲程序計算機的功能重新設計的,它在1948年6月開始運作。

曼徹斯特大學計算機實驗室的主管是圖靈的導師麥克斯·紐曼,而這台新型計算機的研發工作主要由弗雷德裡克·卡蘭德·威廉姆斯(Frederic Calland Williams)和托馬斯·基爾伯恩(Thomas Kilburn)完成。威廉姆斯發明了一種利用陰極射線管的存儲方式,與水銀延遲線相比,這種方式可以使計算機速度更快、結構更簡單。這台機器的成功也促進了另外兩台計算機的研發,它們分別是性能更為強大的曼徹斯特馬克一號(Manchester Mark I),它在1949年4月投入使用;以及莫裡斯·威爾克斯在同年5月與劍橋大學團隊共同完成的EDSAC。85

當這些機器的研發工作在進行的時候,圖靈也在嘗試製造一台存儲程序計算機。在離開布萊切利園之後,他進入了英國國家物理實驗室工作,這是一所位於倫敦的高級研究機構。他在這裡設計了一台名為自動計算機(Automatic Computing Engine)的機器,這是向巴貝奇的兩台機器致敬的作品。然而,這台自動計算機的研發工作一直無法順利進行。到了1948年,圖靈已經不能忍受這種斷斷續續的開發進度,而且他的同事也沒有興趣推動機器學習和人工智能的發展,對此感到失望的他決定離開國家物理實驗室,轉而加入麥克斯·紐曼在曼徹斯特大學的團隊。86

同樣,當馮·諾依曼在1946年回到普林斯頓大學高等研究院之後,他馬上就開展了存儲程序計算機的研發工作。喬治·戴森在《圖靈的大教堂》(Turing』s Cathedral )一書當中詳盡記錄了這項工作的歷程。這台研發中的計算機被稱為「IAS機」(IAS Machine),時任高等研究院院長弗蘭克·艾德洛特(Frank Aydelotte)以及德高望重的研究院理事奧斯瓦爾德·維布倫都是這個項目的堅定支持者。他們竭力抵禦了其他研究員對這個項目的批評——後者認為計算機器的研發項目將有辱高等研究院作為理論思維殿堂的使命。「他公開表明了自己對黑板和粉筆之外的數學工具的濃厚興趣,這種做法顯然讓他的一些最為飽學多識的同事感到愕然,甚至是驚恐,」馮·諾依曼的妻子克拉拉回憶道,「他希望製造一台電子計算機器,然而這個計劃在高等研究院的神聖穹頂之下至少是不被讚賞的。」87

高等研究院本來為邏輯學家庫爾特·哥德爾的秘書安排了一個辦公室,但由於哥德爾本人不需要秘書,所以這裡就成為馮·諾依曼和他的團隊成員的秘密研發基地。他們在1946年發表了多篇論文,這些論文詳細地描述了他們的計算機設計。他們把這些論文分別寄給了美國國會圖書館和美國專利局,他們這樣做並不是為了申請專利,而是為了聲明他們想要將這些研究成果納入公共領域。

他們的機器在1952年開始完全投入運作,然而,在馮·諾依曼前往華盛頓加入原子能委員會之後,這台機器也被逐漸廢棄了。「我們的計算機團隊的衰落無論對於普林斯頓大學還是整個科學界來說都是一場災難,」高等研究院成員及物理學家弗裡曼·戴森(Freeman Dyson,喬治·戴森的父親)如是說,「這意味著在20世紀50年代這個關鍵時期,我們竟然沒有一個可以聚集最高水平的計算機人才的學術中心。」88 相反,從20世紀50年代開始,計算機技術的創新陣地已經轉移到了企業領域,引領這些創新的正是費蘭蒂(Ferranti)、IBM、雷明頓·蘭德和霍尼韋爾這樣的公司。

計算機創新陣地的轉移將我們重新帶回了專利保護的話題。如果當時馮·諾依曼和他的團隊沒有離開計算機技術創新的最前沿,並把他們的創新成果繼續留在公共領域,這種開源的創新方式會不會為計算機帶來更加迅速的發展呢?抑或市場競爭和知識產權帶來的資本回報可以刺激更多的創新出現呢?對於互聯網、萬維網和某些類型的軟件來說,開放模式被證明是更加可行的。但是對於硬件來說,比如計算機和微型芯片,專利保護制度正是在20世紀50年代湧現的大量硬件創新的源頭。專利化的創新方式能夠行之有效(尤其是在計算機領域)的原因在於,大型企業可以更好地完成計算機的研發、製造和營銷工作,而它們需要通過專利制度來籌集運營的資金。此外,在20世紀90年代中期以前,硬件一直要比軟件更容易得到專利保護。[5] 然而,這種專利保護制度也對硬件創新產生了負面的影響:專利化的經營模式會使企業變得故步自封,這點讓它們錯過了在20世紀70年代初出現的個人電腦革命。