處理器微結(jié)構(gòu)史話
【注:這是經(jīng)過小幅修改擴(kuò)充的版本,刊登在中科院計(jì)算所計(jì)算機(jī)體系結(jié)構(gòu)國家重點(diǎn)實(shí)驗(yàn)室的內(nèi)刊《體系結(jié)構(gòu)國重快訊》上,與《彎曲評(píng)論》上已刊登的版本小有不同,帶來閱讀不便表示抱歉?!?/p>
1945 年8月6日與9日,廣島和長崎兩座日本本土城市先后在驚天動(dòng)地的原子彈爆炸中被毀滅,核武器由此首次步入公眾視野。全世界都被那兩朵巨大蘑菇云的威力所震 懾。這兩道重?fù)粢仓苯哟輾Я巳毡咀詈蟮牡挚挂庵?,一周后?月15日,日本宣布無條件投降,在人類歷史上寫下最慘痛一頁的第二次世界大戰(zhàn)終于結(jié)束。核武器 橫絕古今沛然莫御的威力,使得它成為戰(zhàn)后制衡國際局勢的一大王牌,對(duì)它的研究和制造在戰(zhàn)后仍然未曾停息。而我們這一系列連載故事的主角,盈盈棲息于指尖之 上,不過毫厘見方的微型處理器,和這兩朵摧枯拉朽的蘑菇云其實(shí)有著千絲萬縷的聯(lián)系。
(圖注:兩次原子彈爆炸的照片,來自維基百科。)
半 年過后的1946年2月14日,戰(zhàn)時(shí)處于嚴(yán)格保密狀態(tài)的第一臺(tái)通用電子計(jì)算機(jī)ENIAC,首度被公之于眾。這臺(tái)27噸重的龐然大物原先被設(shè)計(jì)用于加快火力 彈道計(jì)算,但它新穎的設(shè)計(jì)架構(gòu)和全新的構(gòu)造方式迅速吸引了戰(zhàn)時(shí)核武器研發(fā)中心——美國洛斯·阿拉莫斯國家實(shí)驗(yàn)室的注意。
由“原子彈之父”羅伯特·奧本海姆坐鎮(zhèn)主管的洛斯·阿拉莫斯實(shí)驗(yàn)室早在1943年左右就開始嘗試使用人力搭配計(jì)算器的方法對(duì)核武器進(jìn)行理論分析。然而洛斯·阿拉莫斯實(shí)驗(yàn)室很 快就發(fā)現(xiàn)這種工作模式完全不能勝任對(duì)計(jì)算能力的需求,于是轉(zhuǎn)向了半自動(dòng)化的穿孔卡帶式計(jì)算器,可惜這種基于穿孔卡帶的計(jì)算操作也極其繁瑣,與先前的人力計(jì) 算相比只是半斤對(duì)八兩的區(qū)別。當(dāng)時(shí)正在洛斯·阿拉莫斯實(shí)驗(yàn)室參與核武器研發(fā)的著名物理學(xué)家費(fèi)曼曾提議,在人力計(jì)算組和半自動(dòng)化的穿孔卡帶組之間進(jìn)行一次計(jì) 算速度比賽,結(jié)果兩組人馬在前兩天時(shí)間里難分伯仲,第三天時(shí)人力計(jì)算組開始疲憊纏身,而機(jī)器仍不知休止,于是才告勝出。當(dāng)洛斯·阿拉莫斯實(shí)驗(yàn)室轉(zhuǎn)向氫彈的 設(shè)計(jì)分析時(shí),計(jì)算能力的不足變成了更大的瓶頸。核武器的設(shè)計(jì)完全不同于以往的任何一項(xiàng)軍事工程研究,進(jìn)行一次核試驗(yàn)就要承擔(dān)鋪天蓋地的政治壓力和足可斷金 裂石的輿論譴責(zé),因此核爆不可隨意進(jìn)行,其次,核爆過程中產(chǎn)生的超高溫和超高壓幾乎沒有其他可行手段能夠復(fù)制,即便能夠復(fù)制,在這種極端條件下所能使用的 觀測手段也寥寥無幾,因此試驗(yàn)在絕大多數(shù)情況下只能交由計(jì)算機(jī)進(jìn)行模擬分析。核爆炸模擬需要科學(xué)家們將核爆反應(yīng)“碎片化”,在空間上將核爆模擬區(qū)域切片, 在時(shí)間上將核爆過程細(xì)分,用遠(yuǎn)遠(yuǎn)慢于真實(shí)核爆速度的步伐,逐一重現(xiàn)核爆當(dāng)中各個(gè)區(qū)域在各個(gè)時(shí)間點(diǎn)上的狀態(tài)。這一過程需要極快的計(jì)算速度才能讓模擬耗時(shí)和精 度達(dá)到要求,當(dāng)時(shí)的穿孔卡帶計(jì)算機(jī)已經(jīng)無法滿足需要,而具備每秒5000次加減法運(yùn)算,400次乘除法運(yùn)算能力的ENIAC進(jìn)入洛斯·阿拉莫斯實(shí)驗(yàn)室的視 野也就是順理成章的事情了[1]。遠(yuǎn)高于人力的計(jì)算速度使得基于機(jī)器模擬的核爆炸研究初露端倪,身為第一臺(tái)通用電子計(jì)算機(jī)的ENIAC義不容辭地承擔(dān)起了 氫彈的研制任務(wù),在計(jì)算機(jī)體系結(jié)構(gòu)與處理器微結(jié)構(gòu)的開山鼻祖馮·諾依曼的牽頭下,測試氫彈設(shè)計(jì)可行性的程序在戰(zhàn)后被提交給ENIAC作為測試程序運(yùn)行。也 是從這一刻開始起,早期計(jì)算機(jī)體系結(jié)構(gòu)和處理器微結(jié)構(gòu)的高性能進(jìn)化便在核武器研發(fā)以及其他科學(xué)計(jì)算的需求澆灌下開出了萌芽。
(圖注:左側(cè)為John Mauchly,右側(cè)為Presper Eckert,中間是 Gladeon Barnes將軍,三人正在審閱ENIAC維護(hù)記錄。)
與 ENIAC一道,在登臺(tái)伊始就受到各界矚目的,還有親手為ENIAC加冕“第一臺(tái)通用電子計(jì)算機(jī)”之耀眼王冠的兩位主要設(shè)計(jì)者John Mauchly和J. Presper Eckert。在ENIAC項(xiàng)目上馬前,John Mauchly還在賓夕法尼亞大學(xué)進(jìn)行短期進(jìn)修,擔(dān)憂著自己的教職申請(qǐng)能否通過,另一位J. Presper Eckert當(dāng)時(shí)則正在賓大讀研,大概誰也沒有想到,波及人類社會(huì)每一個(gè)角落的數(shù)字化革命竟是由這兩位原本無足輕重的人物揭開了序幕,對(duì)電子計(jì)算設(shè)備的狂 熱令年齡差距十二歲的兩人一見如故,從此成為終生戰(zhàn)友,上天的垂青令這對(duì)天才搭檔只花了四五年時(shí)間就由籍籍無名而聲名鵲起。ENIAC的存在解密之 后,John Mauchly和J. Presper Eckert迅速成為光芒耀眼的學(xué)術(shù)超新星。在日后載入史冊的賓夕法尼亞大學(xué)摩爾系列講座中[2],這兩位儼然大師風(fēng)范,擔(dān)當(dāng)了大約三分之一課程的講授工 作,而講臺(tái)下的學(xué)生,則是包括信息論之父Claude E. Shannon在內(nèi)的一批頂尖科學(xué)家與工程師,其地位顯赫可見一斑??上У氖?賓大當(dāng)時(shí)的主事者對(duì)校內(nèi)科研接受外部公司的研究資助一事感到擔(dān)憂,竟試圖逼 迫二人簽署新的專利協(xié)議,將ENIAC的專利交予學(xué)校之手,這一不可原諒的愚蠢舉動(dòng)最終成為將二人逼離賓大的導(dǎo)火索[3]。
(圖注:John Mauchly在賓大電子工程學(xué)院的教室中。圖片來源于Mauchly的妻子所撰寫的回憶。)
曾 經(jīng)是ENIAC誕生溫床的大學(xué)校園,此時(shí)卻成為逼迫John Mauchly和J. Presper Eckert背水一戰(zhàn)的修羅場。沒有深思熟慮的商業(yè)計(jì)劃,二人于1946年匆忙下海創(chuàng)辦了Eckert–Mauchly Computer Corporation (EMCC) 公司。久居象牙塔的學(xué)者與商戰(zhàn)中搏殺的豪雄畢竟不同,EMCC不出意外地命途多舛,在缺乏資金,經(jīng)營不善以及厄運(yùn)連連[4]中掙扎了三年后,這家事后被追 認(rèn)為是第一個(gè)專門售賣通用電子計(jì)算機(jī)的公司,沒能完成任何一次成功的商業(yè)的嘗試就被Remington Rand公司收購,成為了Remington Rand集團(tuán)中負(fù)責(zé)開發(fā)新一代計(jì)算機(jī)的UNIVAC部門。隨著這次收購,John Mauchly和J. Presper Eckert這兩面大旗也被Remington Rand一同招安。
在新東家的資助下,沒過多長時(shí)間,UNIVAC團(tuán)隊(duì)的通用電子計(jì)算機(jī)商 業(yè)化嘗試就開始開花結(jié)果,在EMCC進(jìn)行的前期工作得到Remington Rand的助力后破繭成蝶,一臺(tái)被稱為UNIVAC I型的里程碑式計(jì)算機(jī)于50年代初橫空出世,作出了通用電子計(jì)算機(jī)在商業(yè)舞臺(tái)上的首秀,它運(yùn)行的程序成功預(yù)測了次年美國總統(tǒng)大選結(jié)果[5],這次事件令 UNIVAC I一炮而紅,為新東家做了一個(gè)極好的廣告宣傳,也為John Mauchly和J. Presper Eckert已經(jīng)大紅大紫的名聲再度錦上添花。起初定價(jià)僅有16萬美元的UNIVAC I供不應(yīng)求,以至于后來價(jià)格抬升了幾乎十倍。
(圖注:Eckert正在向CBS的新聞節(jié)目主持人介紹UNIVAC I. 坐在控制臺(tái)前的是一位名叫 Harold Sweeney的程序員。)
但,歷史不會(huì)讓這兩位已經(jīng)享受了諸多殊榮的傳奇人物專美于前。處理器微結(jié)構(gòu)的史詩剛剛開端就迎來了第一個(gè)拐點(diǎn)。
Remington Rand收購EMCC之后數(shù)月,一只來自明尼蘇達(dá)州圣保羅市的團(tuán)隊(duì)也被Remington Rand收編,與UNIVAC團(tuán)隊(duì)形成雙雄鼎立之勢。這支團(tuán)隊(duì)名為Engineering Research Associates,其骨干成員以William C. Norris為代表,是一批來自二戰(zhàn)時(shí)期美國海軍密碼破譯團(tuán)隊(duì)的科學(xué)家和工程師,ERA創(chuàng)立過程中甚至得到過時(shí)任美國海軍元帥Nimitz的出面幫助,來 頭不可輕視。一山難容二虎,ERA與UNIVAC兩支團(tuán)隊(duì)在公司內(nèi)部形成了公開的競爭關(guān)系,UNIVAC的成員們以Mauchly和Eckert為代表, 出身于世人矚目的常春藤盟校,是典型的學(xué)院派,ERA的成員們則大多來自稍顯平庸的明尼蘇達(dá)大學(xué),身為ERA領(lǐng)導(dǎo)者之一的Norris在內(nèi)布拉斯加大學(xué)電 子工程專業(yè)畢業(yè)后,甚至曾一度在老家農(nóng)場賣牲口[6]。這些人普遍沒有接受過最頂尖的教育,但是在為海軍與ERA工作期間獲取了大量的工程經(jīng)驗(yàn),是典型的 工程師隊(duì)伍。兩支團(tuán)隊(duì)在出身上的巨大反差令UNIVAC充滿優(yōu)越感,UNIVAC團(tuán)隊(duì)不以為意地以“工廠”“農(nóng)夫們”這樣的詞匯來指代ERA團(tuán)隊(duì),似乎在 UNIVAC的眼中,賓夕法尼亞人的工作就是探索最前沿的理論,至于建造實(shí)際可工作的機(jī)器,則應(yīng)該交給更低等的明尼蘇達(dá)人。Eckert曾非常直白而粗魯 地對(duì)Norris說:ERA完全不具備創(chuàng)新能力[7]。種種蔑視令ERA的成員們感到異常窩火。然而站在ERA的角度上看,UNIVAC渾身上下也沒幾處 順眼。ERA團(tuán)隊(duì)雖為Eckert精湛的學(xué)識(shí)感到驚艷,但同時(shí)也震驚于UNIVAC團(tuán)隊(duì)對(duì)工程規(guī)則的無知。在ERA團(tuán)隊(duì)設(shè)計(jì)的1103型計(jì)算機(jī)接近完成 時(shí),Eckert仍然在嘗試說服工程師們引入新的理論,這讓ERA團(tuán)隊(duì)感到震驚,難道UNIVAC團(tuán)隊(duì)進(jìn)行工程設(shè)計(jì)的時(shí)候完全不顧deadline的么? 駭人聽聞的是,他們竟然真沒看走眼。通用電氣公司向Remington Rand訂購了一臺(tái)UNIVAC I計(jì)算機(jī),并籌劃了與之配套的一系列媒體報(bào)道來造勢,試圖證明自己是一個(gè)追逐前沿技術(shù),位于浪潮之巔的公司。不想U(xiǎn)NIVAC團(tuán)隊(duì)一再更改設(shè)計(jì),把本該在 兩周內(nèi)交付的輸入輸出設(shè)備拖延了兩年之久,令通用電氣大發(fā)雷霆。過度苛求設(shè)計(jì)完美,忽視工程Deadline,還只是問題的一部分。未經(jīng)歷過殘酷市場競爭 的UNIVAC團(tuán)隊(duì)對(duì)報(bào)價(jià)與預(yù)算毫無概念,UNIVAC的研發(fā)超支達(dá)到近乎荒唐的五倍之多,而UNIVAC I計(jì)算機(jī)極其低劣的運(yùn)作可靠性也與ENIAC一脈相承。Norris終于發(fā)現(xiàn),兩支團(tuán)隊(duì)的區(qū)別其實(shí)已經(jīng)深入到哲學(xué)的層面。Norris對(duì)賓夕法尼亞人 說:“ERA在經(jīng)營公司,而你們經(jīng)營的是實(shí)驗(yàn)室”。
除了來自UNIVAC團(tuán)隊(duì)的貶低,Remington Rand管理層對(duì)通用電子計(jì)算機(jī)商業(yè)前途的遲鈍也在消磨著ERA團(tuán)隊(duì)的耐心。時(shí)至1956年,這個(gè)領(lǐng)域里的幾乎每一個(gè)公司都已經(jīng)意識(shí)到通用電子計(jì)算機(jī)將是 下一片廣闊的藍(lán)海。而原本處于行業(yè)領(lǐng)先地位的ERA團(tuán)隊(duì)卻無法從公司管理層獲得足夠的研發(fā)支持。IBM研發(fā)一系列新機(jī)器的動(dòng)作送出了一個(gè)明顯的信號(hào),這艘 幾乎無人可敵的企業(yè)巨艦正在朝著這片藍(lán)海開進(jìn)。Norris等人終于按耐不住了,他們攜帶一部分ERA團(tuán)隊(duì)成員出走,自籌資金在明尼蘇達(dá)州東南部城市明尼 亞波利市的一間舊倉庫里創(chuàng)辦了Control Data Corperation,縮寫CDC。
(圖注:八年后的CDC CEO Norris與使用早期CISC體系結(jié)構(gòu)的CDC 3600。圖片來源www.computerhistory.org )
開創(chuàng)歷史的力量用這種奇妙的方式完成了從Eckert–Mauchly到CDC的轉(zhuǎn)移。
賓 夕法尼亞人做夢也沒想到,低等生物明尼蘇達(dá)人竟然強(qiáng)橫到敢于直面IBM的劍鋒。賣牲口的Norris賣起電腦來比Mauchly和Eckert實(shí)在強(qiáng)出一 籌不止。這個(gè)在初期募資時(shí)低賤到1美元1股的CDC,一度困難到只能使用次品晶體管作為原材料,卻成為Norris手中令I(lǐng)BM俯首稱臣、縱橫馳騁了整個(gè) 60年代的王牌部隊(duì)。CDC技術(shù)團(tuán)隊(duì)一手締造了世界上第一臺(tái)超級(jí)計(jì)算機(jī)CDC 6600,基于記分板(Scoreboarding)技術(shù)第一次實(shí)現(xiàn)了指令的亂序執(zhí)行,第一次大范圍地利用多個(gè)功能單元實(shí)現(xiàn)超標(biāo)量執(zhí)行,為今日的現(xiàn)代高性 能處理器微結(jié)構(gòu)繪制了第一份藍(lán)圖,迫使IBM的掌門人Thomas J. Watson無可奈何地寫下了流傳后世的“守門人備忘錄”……
而站在Norris身后充當(dāng)“里子”,創(chuàng)造這些不世傳說的人,就是當(dāng)時(shí)ERA團(tuán)隊(duì)中一位來自明尼蘇達(dá)大學(xué)的天降奇才。在CDC創(chuàng)立之時(shí)想要追隨Norris而去的他,還因?yàn)閾?dān)憂美國軍方的特別關(guān)注而不得不暫留Remington Rand。
[To be continued.]
注釋與參考文獻(xiàn)
[1]洛斯·阿拉莫斯實(shí)驗(yàn)室能夠緊緊跟隨著賓夕法尼亞大學(xué)、芝加哥大學(xué),哈佛大學(xué)等地的早期計(jì)算機(jī)研究進(jìn)展,這在很大程度上歸功于馮諾依曼的牽線搭橋。據(jù)洛斯·阿拉莫斯實(shí)驗(yàn)室的成員回憶,馮諾依曼當(dāng)時(shí)為多個(gè)政府項(xiàng)目充當(dāng)顧問,在各個(gè)項(xiàng)目之間傳遞信息,忙碌得“好像在同一時(shí)間出現(xiàn)在許多地方”。
[2]這個(gè)系列講座英文原名Moore School Lectures,它將設(shè)計(jì)電子計(jì)算機(jī)的第一手經(jīng)驗(yàn)傳播了出去,對(duì)后世帶來了深遠(yuǎn)影響。值得注意的是,這個(gè)Moore與Intel的Gordon Earle Moore并無關(guān)系。這個(gè)“Moore”代表賓夕法尼亞大學(xué)的摩爾電子工程學(xué)院 Moore School of Electrical Engineering
[3]根據(jù)J. Presper Eckert與Nancy Stern在1977年所做的采訪記錄, 逼迫二人簽訂新的專利協(xié)議背后似乎并沒有搶奪成果用于商業(yè)目的的動(dòng)機(jī),Nancy Stern多次追問這一點(diǎn),但是Eckert并未給予確認(rèn)。此外,Eckert在訪談中透露,他并非如外界傳聞那樣是從賓大主動(dòng)辭職,而是被炒了魷魚,只 不過有一封假裝“同意辭退”的禮貌信件用以掩人耳目。
[4]根據(jù)Jean Bartik的回憶,EMCC的員工被指控有“共產(chǎn)主義傾向”,這在麥卡錫主義盛行的年代導(dǎo)致EMCC失去了大批政府訂單。
[5]機(jī)器預(yù)測選票結(jié)果為438 vs 93,實(shí)際結(jié)果為442 vs 89,相當(dāng)接近。
[6]Norris 的經(jīng)營天賦在賣牲口中得到了很好的體現(xiàn)。Norris在老家農(nóng)場期間正值美國經(jīng)濟(jì)大蕭條和中西部旱災(zāi),牲口沒有谷物可以吃,收購商則趁機(jī)壓低牲口價(jià)格。 Norris決定冒險(xiǎn),讓牲口以俄國薊(Russian thistles)為食,成功地將牲口養(yǎng)至高價(jià)出售。
[7]"ERA’s creative capabilities simply didn’t exist".出自Charles J. Murray所寫的《The Supermen – Story of Seymour Cray and the Technical Wizards Behind the Supercomputer》
轉(zhuǎn)載自:破布的博客