戴吾三
第二次世界大戰(zhàn)期間,馮·諾伊曼參與美國(guó)原子彈秘密研發(fā),因處理大量的計(jì)算而關(guān)注電子計(jì)算機(jī)研究。當(dāng)他介入ENIAC研制時(shí),發(fā)現(xiàn)了深層問(wèn)題,為此撰寫(xiě)報(bào)告,為電子計(jì)算機(jī)的發(fā)展指明了方向。
電子計(jì)算機(jī)發(fā)展史上有一位里程碑式的人物,他就是美籍匈牙利裔科學(xué)家馮·諾伊曼(J.von Neumann)。
第二次世界大戰(zhàn)期間,馮·諾伊曼參與美國(guó)原子彈的秘密研發(fā),因處理大量的計(jì)算而關(guān)注電子計(jì)算機(jī)研究。當(dāng)他介入ENIAC研制時(shí),很快洞察問(wèn)題所在。撰寫(xiě)專題報(bào)告,高瞻遠(yuǎn)矚地指明了電子計(jì)算機(jī)發(fā)展的方向。戰(zhàn)后,馮·諾伊曼繼續(xù)深入研究并推廣計(jì)算機(jī)的應(yīng)用,由此獲得“電子計(jì)算機(jī)之父”的美譽(yù)。
如今大半個(gè)世紀(jì)過(guò)去了,電子計(jì)算機(jī)已與當(dāng)年天差地別,而馮·諾伊曼闡發(fā)的思想和基本理念仍熠熠生輝。
作為一位在純數(shù)學(xué)、理論物理學(xué)、博弈論等方面都有卓著貢獻(xiàn)的科學(xué)家,馮·諾伊曼是如何開(kāi)創(chuàng)電子計(jì)算機(jī)研究的?重溫這段特殊的歷史,會(huì)給我們帶來(lái)有益的啟示。
優(yōu)越環(huán)境助天才
1867年奧地利和匈牙利組建奧匈帝國(guó),此后50年匈牙利迎來(lái)了繁榮時(shí)期。當(dāng)時(shí)的布達(dá)佩斯在歐洲是排名第六的大城市,經(jīng)濟(jì)發(fā)展,文化和學(xué)術(shù)繁榮,同時(shí)它也成為猶太人選擇遷居的兩大城市之一(另一個(gè)城市是紐約)。在這里,憑借著聰明和勤奮,不少猶太人很快成為有錢、有地位的醫(yī)生、律師和商人。
1903年12月28日,馮·諾伊曼出生于匈牙利首都布達(dá)佩斯。他出生時(shí),父親已是一位富有的猶太銀行家,1913年榮獲貴族封號(hào),這成了他們家姓中yon(馮)的由來(lái)。馮·諾伊曼很小便接受家庭教師的教育,先后學(xué)習(xí)德語(yǔ)、法語(yǔ)、英語(yǔ)、拉丁語(yǔ)和希臘語(yǔ)。6歲時(shí),他已能用希臘語(yǔ)與父親閑談。在日后馮·諾伊曼對(duì)計(jì)算機(jī)技術(shù)做出貢獻(xiàn)的過(guò)程中,拉丁語(yǔ)和希臘語(yǔ)都起到了重要作用。
馮·諾伊曼在學(xué)齡前還學(xué)習(xí)算術(shù)、擊劍和鋼琴,他對(duì)擊劍和鋼琴都不怎么用心,而對(duì)算術(shù)十分著迷。小馮·諾伊曼心算能力超強(qiáng),記憶力驚人,他頭腦里塞滿了大量的數(shù)學(xué)常數(shù)和公式。
1914年,10歲的馮·諾伊曼進(jìn)入路德中學(xué)學(xué)習(xí)(這是布達(dá)佩斯最好的三所中學(xué)之一)。數(shù)學(xué)老師拉茨(L.Ratz)很快便發(fā)現(xiàn)馮·諾伊曼的才能,他與馮·諾伊曼的父親商量,按照匈牙利培養(yǎng)天才少年的傳統(tǒng),請(qǐng)布達(dá)佩斯大學(xué)的數(shù)學(xué)教授進(jìn)行個(gè)別指導(dǎo)。先是塞格(G.Szeg8)教授每周到家里一兩次,與小馮·諾伊曼討論數(shù)學(xué)定理、定律,并留一些思考題。兩年的初步訓(xùn)練后,再由其他幾位數(shù)學(xué)教授上場(chǎng),其中指導(dǎo)最多的是費(fèi)凱特(M.Fekete),中學(xué)快畢業(yè)時(shí),馮·諾伊曼與費(fèi)克特合作撰文,討論某種極小多項(xiàng)式的零點(diǎn)及超限直徑問(wèn)題,這篇論文刊登在《德國(guó)數(shù)學(xué)協(xié)會(huì)雜志》上,當(dāng)時(shí)馮·諾伊曼還不到17歲。1921年,馮·諾伊曼參加中學(xué)畢業(yè)會(huì)考,同時(shí)獲得了厄特沃什獎(jiǎng)。后來(lái)他又在匈牙利的數(shù)學(xué)競(jìng)賽中輕而易舉拔得頭籌。
上大學(xué)要面臨專業(yè)的選擇。經(jīng)過(guò)家庭協(xié)商,馮-諾伊曼答應(yīng)到國(guó)外讀化學(xué),同時(shí)在布達(dá)佩斯帕茲曼·彼得大學(xué)注冊(cè)為數(shù)學(xué)博七學(xué)位候選人。1921-1923年,馮·諾伊曼主要在柏林大學(xué)學(xué)習(xí)化學(xué),然后在1923年秋天參加蘇黎世聯(lián)邦理工學(xué)院化學(xué)工程系二年級(jí)的入學(xué)考試,1925年獲得化學(xué)工程學(xué)士學(xué)位。
在此期間,馮·諾伊曼主要聽(tīng)的還是數(shù)理方面的課程,并同著名數(shù)學(xué)家交往。馮·諾伊曼非常仰慕大數(shù)學(xué)家希爾伯特(D.Hilbert),大學(xué)期間,他去格丁根拜訪希爾伯特。這兩位年齡相差超過(guò)40歲的數(shù)學(xué)家,在希爾伯特的花園或書(shū)房里常常一談就是幾個(gè)小時(shí)。馮·諾伊曼充分吸收希爾伯特的公理化思想,致力于集合論的基本概念分析并加以公理化。1926年春天,馮·諾伊曼以論文《集合論的公理化》獲得布達(dá)佩斯帕茲曼·彼得大學(xué)的數(shù)學(xué)博士學(xué)位,當(dāng)時(shí)他還不滿23歲。
1926年,希爾伯特向美國(guó)洛克菲勒基金會(huì)提出申請(qǐng),資助馮·諾伊曼到格丁根來(lái)。那時(shí),格丁根是量子力學(xué)的研究中心之一,許多有才華的數(shù)學(xué)家、物理學(xué)家都被這門新興的物理學(xué)所吸引。先是1925年海森伯(w.K.Heisenberg)創(chuàng)立矩陣力學(xué),繼之1926年薛定諤(E.Schrodinger)創(chuàng)立波動(dòng)力學(xué),他們的努力促進(jìn)了量子力學(xué)的誕生。有意思的是,這兩人各自為戰(zhàn),互不買賬。馮·諾伊曼很快看出,表面上海森伯和薛定諤的數(shù)學(xué)論證不同但結(jié)果相似,這意味著他們的研究其實(shí)是一回事。馮·諾伊曼引入希爾伯特空間及其算子的理論,一舉證明了這兩種形式等價(jià),并給出量子力學(xué)的嚴(yán)格數(shù)學(xué)基礎(chǔ)。1932年,馮·諾伊曼發(fā)表《量子力學(xué)的數(shù)學(xué)基礎(chǔ)》(德文版),在學(xué)術(shù)界產(chǎn)生了很大影響。
1927年,馮·諾伊曼到柏林大學(xué)當(dāng)無(wú)薪講師(其報(bào)酬來(lái)自學(xué)生的學(xué)費(fèi)),兩年后又到漢堡大學(xué)當(dāng)講師。當(dāng)時(shí),德國(guó)大學(xué)的教授職位有數(shù)額限制,如果教授不退休,講師就不能遞補(bǔ)。馮·諾伊曼分析判斷,三年內(nèi)德國(guó)可能會(huì)有3個(gè)教授席位的空缺,而競(jìng)爭(zhēng)遞補(bǔ)的講師有四十多人。雖說(shuō)自己的工作足以出人頭地,可是年紀(jì)輕輕想當(dāng)教授難免阻力重重。加之對(duì)德國(guó)“會(huì)為1918年復(fù)仇”的擔(dān)憂,因而馮·諾伊曼表示,美國(guó)方面的任何工作邀請(qǐng)他都會(huì)考慮。
移居美國(guó)新發(fā)展
1920年代,美國(guó)經(jīng)濟(jì)已居世界首位,科學(xué)發(fā)展卻不如西歐。洛克菲勒基金會(huì)高薪聘請(qǐng)歐洲的學(xué)者、名家到美國(guó)講學(xué),若能定居更好。愛(ài)因斯坦(A.Einstein)、海森伯等大人物都留戀歐洲的學(xué)術(shù)環(huán)境而不愿前來(lái),一些科學(xué)家短期來(lái)訪后又回到歐洲。當(dāng)時(shí)美國(guó)聘請(qǐng)工作由兩人負(fù)責(zé),康普頓(A.Compton)負(fù)責(zé)物理學(xué),維布倫(o.Veblen)負(fù)責(zé)數(shù)學(xué)。維布倫1910年起就在普林斯頓大學(xué)任教,1929年他受邀到牛津訪問(wèn),同時(shí)在歐洲搜尋適宜來(lái)美的數(shù)學(xué)家。在意大利的一次數(shù)學(xué)會(huì)議上,他與馮·諾伊曼交談,留下良好印象,馮·諾伊曼則早已萌生移居美國(guó)的念頭。
1929年10月,維布倫正式向馮·諾伊曼發(fā)出邀請(qǐng),請(qǐng)他到普林斯頓大學(xué)講授量子理論,每周2-3節(jié)課,任期為1930年到1933年,每年一學(xué)期。同時(shí)受邀的還有馮·諾伊曼的好友維格納(E.Wigner)。馮-諾伊曼欣然接受邀請(qǐng),1930年1月攜新婚妻子踏上新大陸,從此與美國(guó)結(jié)下了不解之緣。普林斯頓大學(xué)先聘馮·諾伊曼當(dāng)一學(xué)期的講師,第二年就升他為教授。馮·諾伊曼喜歡美國(guó)的生活,并很快適應(yīng)了新環(huán)境。
1933年,猶太富商班伯格兄妹(L.Bamberger和C.Bamberger)向普林斯頓高等研究院的遺贈(zèng)最終改變了愛(ài)因斯坦的命運(yùn),改變了馮·諾伊曼的命運(yùn),甚至改變了美國(guó)科學(xué)的面貌。最初確定高等研究院的首批人員名單時(shí),對(duì)年輕的馮·諾伊曼的委任沒(méi)有通過(guò)。然而僅僅過(guò)了幾天,數(shù)學(xué)家外爾(H.Weyl)欲接替希爾伯特在格丁根的職位而推掉高等研究院的聘任,于是機(jī)會(huì)就降I臨在了馮·諾伊曼身上,那時(shí)他剛過(guò)29歲。
至此,馮·諾伊曼順風(fēng)順?biāo)?,除了繼續(xù)在德國(guó)肩動(dòng)的研究外,他又開(kāi)辟了多個(gè)研究新方向,其中特別重要的有遍歷理論、拓?fù)淙豪碚摵退阕哟鷶?shù)理論(后人為了紀(jì)念馮·諾伊曼,又把算子代數(shù)稱為馮·諾伊曼代數(shù))。臨近第二次世界大戰(zhàn)爆發(fā),馮·諾伊曼的研究方向發(fā)生了轉(zhuǎn)變,他從純粹數(shù)學(xué)轉(zhuǎn)向應(yīng)用數(shù)學(xué)。1930年代中期,馮-諾伊曼對(duì)流體力學(xué)中的湍流問(wèn)題感興趣,由于要解非線性方程,因此需要處理的數(shù)據(jù)很多,而當(dāng)時(shí)的臺(tái)式機(jī)械加法機(jī)無(wú)法勝任數(shù)據(jù)處理工作。馮·諾伊曼開(kāi)始研究數(shù)值分析,并關(guān)注計(jì)算機(jī)的改進(jìn)。
1937年,受維布倫的推薦,馮·諾伊曼成為阿伯丁彈道研究實(shí)驗(yàn)室的兼職顧問(wèn),該實(shí)驗(yàn)室設(shè)在馬里蘭州的阿伯丁試驗(yàn)場(chǎng),直屬美國(guó)陸軍軍械局。在第一次世界大戰(zhàn)后的二十幾年間,阿伯丁的槍炮射擊表變得越來(lái)越復(fù)雜,實(shí)驗(yàn)室專門購(gòu)置了一臺(tái)布什微分分析機(jī)做運(yùn)算,這種分析機(jī)由電動(dòng)機(jī)、齒輪和轉(zhuǎn)盤組成,進(jìn)行大量運(yùn)算時(shí)誤差不可避免。馮·諾伊曼通過(guò)研究,與肯特(R.Kent)合作寫(xiě)成的論文《從逐次差分估計(jì)可能誤差》在1940年作為阿伯丁實(shí)驗(yàn)基地的第175份報(bào)告公開(kāi)發(fā)表。其后兩年間,馮-諾伊曼對(duì)這份報(bào)告又做了3次增補(bǔ),擴(kuò)大了他在軍界和數(shù)學(xué)界的影響。
1940年年底,馮·諾伊曼已成為彈道研究實(shí)驗(yàn)室科學(xué)咨詢委員會(huì)的成員,并兼任美國(guó)數(shù)學(xué)學(xué)會(huì)和美國(guó)數(shù)學(xué)聯(lián)合會(huì)戰(zhàn)爭(zhēng)籌備委員會(huì)彈道學(xué)首席顧問(wèn)等職。隨著實(shí)際問(wèn)題的增多,馮·諾伊曼的研究擴(kuò)展到爆炸沖擊波理論,很快他又以爆炸計(jì)算大師出名,而這給他帶來(lái)更多的任務(wù)。
1943年9月,馮·諾伊曼成為曼哈頓計(jì)劃的重要成員,經(jīng)常飛往位于新墨西哥州洛斯阿拉莫斯的原子彈秘密基地工作。當(dāng)時(shí)由于鈾235有限,洛斯阿拉莫斯的科學(xué)家也在研發(fā)使用钚239的核彈,馮·諾伊曼負(fù)責(zé)研究爆聚,以使爆炸沖擊波壓縮原子彈钚核心達(dá)到臨界質(zhì)量。計(jì)算爆聚必須解大量非線性方程式,最初大部分計(jì)算是靠紙和筆進(jìn)行。
1944年4月,基地理論部配備了IBM穿孔卡片臺(tái)式計(jì)算機(jī),大大提高了計(jì)算效率。人工計(jì)算兩組10位數(shù)的乘法(如1 234 567 809×9 087 654 321)大約要5分鐘,新機(jī)器可以在10-15秒內(nèi)完成,這立即引起了馮·諾伊曼的關(guān)注。他從1944年夏天起就到貝爾實(shí)驗(yàn)室考察用繼電器制造的復(fù)數(shù)計(jì)算機(jī);又去訪問(wèn)哈佛大學(xué),考察Mark I的計(jì)算機(jī)是否能為原子彈的研究派上用處。這兩種機(jī)器做兩組10位數(shù)的乘法大約用1秒鐘,但在解復(fù)雜的方程時(shí),優(yōu)勢(shì)并不明顯。
從夏天到秋天,馮-諾伊曼搭火車穿梭于哈佛大學(xué)、普林斯頓大學(xué)、貝爾實(shí)驗(yàn)室和阿伯丁試驗(yàn)場(chǎng)之間,像蜜蜂般飛來(lái)飛去。在奔波的過(guò)程中,馮·諾伊曼不斷思考如何對(duì)現(xiàn)行的計(jì)算機(jī)做改進(jìn),而在看過(guò)賓夕法尼亞大學(xué)的ENIAC后,他的思想逐步明確:要制造既能以電子速度運(yùn)轉(zhuǎn),又能在內(nèi)部存儲(chǔ)和修改程序的計(jì)算機(jī)。
投身研究計(jì)算機(jī)
確切地說(shuō),馮·諾伊曼只是分身來(lái)研究計(jì)算機(jī)的。誠(chéng)如1943年7月他在寫(xiě)給友人的信中所說(shuō):“我不知道自己應(yīng)該一女侍二夫還是一女侍三夫?!彼^一女侍二夫是指馮·諾伊曼同時(shí)在美國(guó)陸軍軍械局和海軍軍械局兼職,而一女侍三夫是指他又受邀做洛斯阿拉莫斯基地的顧問(wèn),從爆聚研究開(kāi)始關(guān)注電子計(jì)算機(jī)。
說(shuō)來(lái)也巧,1944年8月的一天,馮·諾伊曼在阿伯丁試驗(yàn)場(chǎng)火車站的站臺(tái)上,與ENIAC計(jì)劃的聯(lián)絡(luò)官戈德斯坦(H.Goldstine)中尉邂逅。當(dāng)時(shí),戈德斯坦在站臺(tái)上等候北上的火車,雖然他與馮·諾伊曼素未謀面,卻立刻認(rèn)出這位大數(shù)學(xué)家。戈德斯坦后來(lái)回憶道:“我冒昧地走向這位世界聞名的大人物,跟他做自我介紹,并開(kāi)始攀談。幸好馮·諾伊曼為人親切和善,總是竭力讓別人在他面前放松。等馮-諾伊曼搞清楚我在研發(fā)計(jì)算機(jī),而且我們的計(jì)算機(jī)每秒鐘可以完成333次乘法運(yùn)算時(shí),談話的氣氛立刻改變,而更像是數(shù)學(xué)博士學(xué)位的答辯?!?/p>
在戈德斯坦的極力邀請(qǐng)下,馮·諾伊曼幾天后訪問(wèn)賓夕法尼亞大學(xué),參觀正在建造的ENIAC。??颂兀↗.P.Eckert)對(duì)這位大數(shù)學(xué)家十分好奇,心里早已想好怎樣判斷馮·諾伊曼是不是“真的天才”:只要看他提出的第一個(gè)問(wèn)題是否關(guān)于機(jī)器的邏輯架構(gòu)。結(jié)果,馮·諾伊曼果真一開(kāi)始就提出這個(gè)問(wèn)題,令??颂貒@服不已。
馮·諾伊曼發(fā)現(xiàn),ENIAC計(jì)算他給出的方程要比哈佛的Mark I快得多,但是啟動(dòng)慢很多。使用Mark I計(jì)算一個(gè)7項(xiàng)級(jí)數(shù)需要15分鐘,啟動(dòng)時(shí)間僅為3分鐘;而使用ENIAC計(jì)算只需1秒鐘,準(zhǔn)備時(shí)間則需要15分鐘。顯然,ENIAC在處理許多不同的問(wèn)題時(shí),啟動(dòng)準(zhǔn)備已是嚴(yán)重的缺陷。馮·諾伊曼很快發(fā)現(xiàn)癥結(jié)所在——ENIAC缺乏程序存儲(chǔ)能力。
其實(shí)在過(guò)去的一年里,莫奇利(J.Mauchly)和??颂亟g盡腦汁,想方設(shè)法把程序存儲(chǔ)到機(jī)器內(nèi)部,而馮·諾伊曼從貝爾實(shí)驗(yàn)室、哈佛大學(xué)和其他地方吸收的思想,一下就提升了他們對(duì)存儲(chǔ)程序思考的層次。馮·諾伊曼成為ENIAC團(tuán)隊(duì)的顧問(wèn)后,大力推動(dòng)他的理念:計(jì)算機(jī)程序應(yīng)該與一般資料都存儲(chǔ)在相同的記憶裝置上,這樣會(huì)便于工程師在機(jī)器運(yùn)作時(shí)修改程序。
馮·諾伊曼和ENIAC團(tuán)隊(duì)連續(xù)開(kāi)了多次會(huì)議,1945年春天的四次正式會(huì)議尤其具有意義,會(huì)議記錄甚至以“與馮·諾伊曼的會(huì)議”為標(biāo)題。馮·諾伊曼在黑板前來(lái)回踱步,以蘇格拉底式的提問(wèn)帶動(dòng)討論,他吸收眾人的想法,消化琢磨后再寫(xiě)在黑板上。馮·諾伊曼的超凡才智令人生畏,他宣布任何的事情很少有人會(huì)反駁,只有女程序操作員詹寧斯(J.Jennings)敢冒大不韙。有一天,詹寧斯因?yàn)楹婉T·諾伊曼看法不同,與他起了爭(zhēng)執(zhí),會(huì)議室中的男性全都以難以置信的眼光看著詹寧斯。但馮·諾伊曼偏著頭沉吟半晌后,同意了詹寧斯的看法。
馮·諾伊曼深知計(jì)算機(jī)程序設(shè)計(jì)基本原則的重要性。他明白要設(shè)計(jì)出簡(jiǎn)潔的指令集,嚴(yán)謹(jǐn)?shù)倪壿嫼途_的表達(dá)缺一不可。詹寧斯回憶說(shuō):“他非常詳細(xì)地向我們解釋,為何需要或不需要某個(gè)特殊的指令。這是我生平頭一回了解程序碼的重要性,以及它背后的邏輯和整個(gè)指令集必備的元素?!?/p>
正是經(jīng)過(guò)了反復(fù)討論和思想的不斷碰撞,ENIAC團(tuán)隊(duì)向陸軍軍械部提出建議,改進(jìn)并制造新一代的電子計(jì)算機(jī)。新機(jī)器將采用二進(jìn)位制,而非ENIAC的十進(jìn)位制,將采用汞延遲線做存儲(chǔ)裝置,并使用“馮·諾伊曼結(jié)構(gòu)”的許多部分(雖然不是全部)。新機(jī)器名為“電子離散可變自動(dòng)計(jì)算機(jī)”(electronic discrete variable automatic calculator),
縮寫(xiě)為EDVAC。馮·諾伊曼提議為EDVAC起草一個(gè)邏輯框架報(bào)告。按戈德斯坦的說(shuō)法,這將相當(dāng)重要,因?yàn)榇饲皼](méi)有人為ENIAC起草過(guò)這類文件。
報(bào)告草案指方向
1945年6月,馮·諾伊曼把所寫(xiě)的報(bào)告手稿寄給戈德斯坦。戈德斯坦將手稿交付打字員錄入,打字稿長(zhǎng)達(dá)101頁(yè)。扉頁(yè)上的標(biāo)題是“關(guān)于EDVAC的報(bào)告草案”(First Draft of a Report on the EDVAC),只署了馮·諾伊曼_人的名字,下有美國(guó)陸軍軍械部與賓夕法尼亞大學(xué)的合同編號(hào)。報(bào)告草案共油印了24份,于1945年6月30日發(fā)布。
報(bào)告草案雖并未定稿,但內(nèi)容已非常豐富,主要表述了兩個(gè)重要思想:一是控制計(jì)算機(jī)的程序應(yīng)該存放在存儲(chǔ)器中,而不由開(kāi)關(guān)連線來(lái)完成編程(開(kāi)關(guān)連線會(huì)大大降低計(jì)算機(jī)的運(yùn)行效率)。二是計(jì)算機(jī)應(yīng)該采用二進(jìn)制,而不是十進(jìn)制(十進(jìn)制的方式會(huì)導(dǎo)致計(jì)算機(jī)的內(nèi)部結(jié)構(gòu)變得異常復(fù)雜)。
報(bào)告草案明確計(jì)算機(jī)內(nèi)部結(jié)構(gòu)應(yīng)該有五部分組成:中央運(yùn)算(central arithmetical,CA)、中央控制(central control,縮寫(xiě)CC)、存儲(chǔ)(memory,縮寫(xiě)M)、輸入設(shè)備(input,縮寫(xiě)I)和輸出設(shè)備(output,縮寫(xiě)0)。有關(guān)原文表述如下——
2.2第一:鑒于這種設(shè)備的主要功用是一臺(tái)計(jì)算機(jī),它需要經(jīng)常執(zhí)行基本的數(shù)學(xué)運(yùn)算,包括加、減、乘,除。因此很合理地,這種設(shè)備需要包括專門負(fù)責(zé)這些運(yùn)算的組件。
……畢竟,這種設(shè)備必須有它的中央運(yùn)算部分,即構(gòu)成第一部分:CA。
2.3第二:設(shè)備的邏輯控制,即能非常有效地實(shí)現(xiàn)運(yùn)算的正確排序的中央控制組件。
如果設(shè)備需要保證其靈活性,也就是說(shuō)盡可能做到全能型,那就必須有一個(gè)獨(dú)立的組件,其功能處于給出特定指令和定義特定問(wèn)題之間,使得不管怎樣的指令通過(guò)這個(gè)組件都能被對(duì)應(yīng)執(zhí)行。上游組件必須在設(shè)備中以某種形式儲(chǔ)存(這在1.2中已經(jīng)提及),下游組件則由運(yùn)算操作組件構(gòu)成。這里的中央控制組件即構(gòu)成第二部分:CC。
2.4第三:任何一個(gè)可執(zhí)行長(zhǎng)時(shí)間復(fù)雜運(yùn)算序列的設(shè)備都需要有一個(gè)相當(dāng)大的存儲(chǔ)容量……
(b)處理復(fù)雜問(wèn)題的指令會(huì)構(gòu)成大量的數(shù)據(jù)資料,特別是當(dāng)代碼需要依情況改變時(shí),這些數(shù)據(jù)資料必須被記憶……
畢竟,完整的存儲(chǔ)構(gòu)成設(shè)備的第三部分:M。
2.6這三個(gè)特殊部分CA,CC(合稱C)和M,與人類的神經(jīng)系統(tǒng)中的聯(lián)絡(luò)神經(jīng)元相類似,而神經(jīng)系統(tǒng)中的傳入神經(jīng)和傳出神經(jīng)則與之后介紹的輸入組件和輸出組件對(duì)應(yīng)……
該設(shè)備還必須加入一個(gè)能使輸入和輸出組件聯(lián)接的特殊介質(zhì),我們稱這種介質(zhì)為外部記錄介質(zhì):R……
2.7第四:該設(shè)備必須要有傳輸?shù)慕M件,使信息從R傳到c和M。這個(gè)輸入組件即第四部分:I。之后我們會(huì)講,所有信息從R(經(jīng)由I)傳到M是最好的路徑。而不要直接傳到C……
2.8第五:該設(shè)備必須要有傳輸?shù)慕M件,使信息從C、M傳到R,這個(gè)輸出組件即稱第五部分:O。之后我們會(huì)講,所有信息從M(經(jīng)由O)傳到R是最好的路徑,而不要直接從C傳出……
從上引馮·諾伊曼報(bào)告草案中的這部分內(nèi)容,可以清楚地看到一套邏輯完整的計(jì)算機(jī)結(jié)構(gòu),這種結(jié)構(gòu)后稱為“馮·諾伊曼結(jié)構(gòu)”,五個(gè)部分如今表述為運(yùn)算器、控制器、存儲(chǔ)器、輸入設(shè)備和輸出設(shè)備。
大半個(gè)世紀(jì)過(guò)去了,盡管計(jì)算機(jī)在元器件技術(shù)等方面發(fā)生了翻天覆地的變化,但絕大多數(shù)計(jì)算機(jī)都仍以“馮·諾伊曼結(jié)構(gòu)”為設(shè)計(jì)基礎(chǔ)。
戰(zhàn)后研究再深入
二戰(zhàn)結(jié)束后,美國(guó)好幾所大學(xué)都想挖走馮·諾伊曼,而他還是選擇留在普林斯頓高等研究院,退役的戈德斯坦也追隨偶像來(lái)到這里,他和伯克斯(A.W.Burks)成為馮·諾伊曼的重要助手。從1946年到1951年,這三個(gè)人就計(jì)算機(jī)研究共同發(fā)表了多篇原創(chuàng)性論文。
戈德斯坦回憶道,馮·諾伊曼會(huì)以談話或在黑板上列出大綱的形式,就一篇論文的主題提出建議,先由戈德斯坦(有段時(shí)間與伯克斯一起)落實(shí)成文,然后馮·諾伊曼會(huì)提一些增補(bǔ)意見(jiàn),戈德斯坦再據(jù)此修改文稿。在此階段,馮·諾伊曼也可能會(huì)大手筆地把論文重寫(xiě)一遍。待論文發(fā)表后,馮·諾伊曼會(huì)開(kāi)辦講座或進(jìn)行非正式談話,比之前論文的闡述又進(jìn)一步。由于馮·諾伊曼的思維快捷,一般人很難及時(shí)搞清楚他到底要干什么。其實(shí),馮·諾伊曼的核心思想很明確,就是找到計(jì)算機(jī)的最佳新設(shè)計(jì)。在所有的部件中,馮·諾伊曼認(rèn)為存儲(chǔ)器是最具革新性的,他決心打造出一臺(tái)由內(nèi)部存儲(chǔ)器控制的通用全自動(dòng)計(jì)算機(jī)。
理想的存儲(chǔ)器應(yīng)當(dāng)具有無(wú)限容量并可以不受限制地隨機(jī)存取,依當(dāng)時(shí)的技術(shù),這樣的存儲(chǔ)器顯然無(wú)法制成,但馮·諾伊曼強(qiáng)調(diào)每一項(xiàng)改進(jìn)都應(yīng)該朝著這個(gè)目標(biāo)邁進(jìn)。鑒于存儲(chǔ)器的存儲(chǔ)成本相對(duì)計(jì)算成本要高很多,馮·諾伊曼建議通過(guò)建立存儲(chǔ)器層次來(lái)實(shí)現(xiàn)這個(gè)目標(biāo)。初級(jí)存儲(chǔ)器體積很小,可以隨機(jī)、快捷地存??;接下來(lái)是二級(jí)存儲(chǔ)器,它能把信息自動(dòng)轉(zhuǎn)換到初級(jí)存儲(chǔ)器。
在進(jìn)行理論研究的同時(shí),馮·諾伊曼也推動(dòng)普林斯頓高等研究院的計(jì)算機(jī)建造,由于多種原因,項(xiàng)目進(jìn)展相對(duì)遲緩,但最終這部稱為IAS(高等研究院的縮寫(xiě))的計(jì)算機(jī)以及它在美國(guó)最初的七個(gè)子產(chǎn)品,從1952年到1954年先后進(jìn)入完全運(yùn)轉(zhuǎn)狀態(tài)。所有產(chǎn)品都向馮·諾伊曼在高等研究院發(fā)表的論文致敬,正是這些論文成為這些機(jī)構(gòu)研發(fā)計(jì)算機(jī)的藍(lán)本。這七臺(tái)計(jì)算機(jī)是洛斯阿拉莫斯國(guó)家實(shí)驗(yàn)室的MANIAC(Mathematical Analyzer,Numerical Integratorand Computer)、蘭德公司的JOHNNIAC(Johnv.Neumann Integrator and Automatic Computer)、阿爾貢國(guó)家實(shí)驗(yàn)室的AVIDAC(Argonne Version of the Institute's Digital Automatic Computer)、阿伯丁彈道研究實(shí)驗(yàn)室的ORDVAC(Ordnance Di screte Variable Automatic Computer)、橡樹(shù)嶺國(guó)家實(shí)驗(yàn)室的ORACLE(Oak Ridge Automatic Computer and Logical Engine)、伊利諾伊大學(xué)的ILLIAC(llinois Automatic Computer)以及最為重要的IBM701。701很快使IBM占領(lǐng)了全球市場(chǎng),從那以后IBM就不斷向馮·諾伊曼表達(dá)感激之情。
普林斯頓高等研究院在國(guó)外的子產(chǎn)品研究開(kāi)始僅限于大學(xué)這個(gè)象牙塔內(nèi),沒(méi)有抓緊進(jìn)行商業(yè)開(kāi)發(fā)。直到1950年代初,普林斯頓高等研究院的克隆產(chǎn)品才開(kāi)始在全世界出現(xiàn)——從悉尼大學(xué)的SILLIAC到以色列的WEIZAC、德國(guó)慕尼黑的PERM、瑞典的BESK,甚至莫斯科科學(xué)院的BESM。
可以說(shuō),正是1945-1949年馮·諾伊曼在高等研究院發(fā)表的論文部分地推動(dòng)了真正意義上的計(jì)算機(jī)革命。
在人生的最后幾年,馮·諾伊曼開(kāi)始思考“細(xì)胞自動(dòng)機(jī)”。1953年在瓦尼克桑講座上,他想象將來(lái)某一天,人類能夠制造出由機(jī)械細(xì)胞組成的自動(dòng)機(jī)……在生命的最后階段,馮·諾伊曼還在將計(jì)算機(jī)與人腦進(jìn)行比較:大腦在進(jìn)行多位數(shù)求和時(shí)要慢得多,但是大腦還有許多其他能力,如視覺(jué)認(rèn)知、想象、橫向思考能力和確定關(guān)注對(duì)象等,這是計(jì)算機(jī)所不具備的。馮·諾伊曼寫(xiě)道:大腦“這種不同的邏輯結(jié)構(gòu),其標(biāo)志是更小的邏輯深度和算術(shù)深度(這比我們?cè)谄渌瑯訔l件下所用的邏輯深度和算術(shù)深度小得多)。岡此,中央神經(jīng)系統(tǒng)中的邏輯學(xué)和數(shù)學(xué),當(dāng)我們把它作為語(yǔ)言來(lái)看時(shí),它一定在結(jié)構(gòu)上和我們?nèi)粘=?jīng)驗(yàn)中的語(yǔ)言有著本質(zhì)的不同?!?/p>
1957年2月8日,馮·諾伊曼因癌癥去世。他尚未完成的講稿在他去世后以《計(jì)算機(jī)與人腦》為題出版。
如今,各種類型的電子計(jì)算機(jī)遍布世界,而它們幾乎都采用馮·諾伊曼體系結(jié)構(gòu)。這位天才人物的貢獻(xiàn),值得我們永世銘記。