生日快樂!x86標(biāo)準(zhǔn)30歲了
“X86”是Intel和其他幾家公司處理器所支持的一組機(jī)器指令集,它大致確定了芯片的使用規(guī)范。從8086到80186、80286、80386、80486,再到后來的奔騰系列以及現(xiàn)在的多核技術(shù),都是使用一脈相承的x86指令集,既不斷擴(kuò)展又向后兼容。
在8086之后的30年間,x86家族橫跨了桌面、服務(wù)器、便攜式電腦,超級(jí)計(jì)算機(jī)等等。無數(shù)對(duì)手?jǐn)〉乖诹似淠_下,甚至是一些看似已成定局的領(lǐng)域。例如近年來被x86所吞掉的蘋果電腦,原來一直使用的是PowerPC。
那么Intel的架構(gòu)是怎么統(tǒng)治了電腦世界這么多年?讓我們一起來看看。
最初
在1971年,Intel為一家日本計(jì)算器廠制造了Intel歷史上的第一塊處理器——4位的4004。很快,在1975年,Intel又推出了8位的處理器8008和8080。8080處理器為Altair8800 PC所采用。順便說一句,Altair8800 PC是一臺(tái)郵件訂單處理計(jì)算機(jī)。比爾·蓋茨和保羅·艾倫建立微軟公司的時(shí)候,就曾把Basic賣給Altair8800 PC。
3年以后,16位的8086初次登場(chǎng)。在80年代初,IBM公司選擇了8086的衍生產(chǎn)品8088作為IBM PC的處理器。IBM的這一行為給X86帶來了巨大發(fā)展,并且?guī)椭蔀榱诵袠I(yè)標(biāo)準(zhǔn)——一直到今天。
Intel執(zhí)行副總裁Patrick Gelsinger說:“PC行業(yè)發(fā)展的革命性轉(zhuǎn)折點(diǎn)是1985年32位處理器80386的推出,它推動(dòng)了整個(gè)行業(yè)的發(fā)展。當(dāng)時(shí),X86需要從早期的16位尋址空間進(jìn)行升級(jí)?!比藗儐栁覀儯骸?2位是什么?”我們說:“它是給微型計(jì)算機(jī)和中型計(jì)算機(jī)用的?!蹦菚r(shí)人們總會(huì)嘲笑們說這太浪費(fèi)了,這些是沒必要的事情。
當(dāng)時(shí)IBM拋棄了386,因?yàn)楫?dāng)時(shí)沒有32位的軟件發(fā)揮出它的性能。IBM自己也開發(fā)了16位的操作系統(tǒng)叫做OS/2。
當(dāng)時(shí)擔(dān)任386設(shè)計(jì)小組成員的Patrick Gelsinger說:“IBM當(dāng)時(shí)擁有自己的整個(gè)架構(gòu)。它們有它們自己的應(yīng)用程序,操作系統(tǒng)和硬件設(shè)計(jì)。當(dāng)IBM開發(fā)下一代產(chǎn)品時(shí),他們將是唯一能夠給提供全套解決方案的,只是并不能保證下一代過渡的兼容性?!?nbsp;
“當(dāng)386到來時(shí)候,所以的一切變了,”Gelsinger說,:“我們從一個(gè)垂直的行業(yè)到一個(gè)水平的行業(yè),而且我們真的打開了新世界之門?!?nbsp;
386之后,1989年486誕生了。由于當(dāng)時(shí)數(shù)字不能作為商標(biāo),Intel從1993年開始改變了產(chǎn)品命名方法。第五代處理器被命名為Pentium而不是586。數(shù)字命名產(chǎn)品轉(zhuǎn)變?yōu)镻entium命名(比如Pentium Pro, Pentium II and Pentium D)。從那時(shí)開始,Intel在X86體系中,增加了低端的賽揚(yáng)系列和高端的雙核系列產(chǎn)品。
所有的基于X86架構(gòu)的芯片,開始于8086,一直延續(xù)到今天。當(dāng)然他們的命名發(fā)生了變化,運(yùn)算速度也有了驚人的提升。
成功的秘方
為什么X86能一直成功,擊退甚至完全打敗其他的處理器架構(gòu)?從一開始來說,X86的誕生就是在一個(gè)很恰當(dāng)?shù)臅r(shí)間點(diǎn)。1978年的時(shí)候,計(jì)算從巨大、昂貴的中型計(jì)算機(jī)轉(zhuǎn)變?yōu)樾⌒?、便宜的微型?jì)算機(jī)已經(jīng)有幾年了。臺(tái)式電腦成為變革的前沿。
更重要的是,X86證明了戈登·摩爾在1965年提出的一個(gè)定律。戈登.摩爾在后來成為Intel的主席和CEO。摩爾說,在成本不變的前提下,微處理每過2年其運(yùn)算速度會(huì)翻一番。他的預(yù)言,后來被成為摩爾定律,被證實(shí)是正確的。X86的發(fā)展道路越走越寬。X86處理器也從數(shù)據(jù)處理中心走向辦公室和千家萬戶。
并且8086以及它的后續(xù)產(chǎn)品一直與電腦行業(yè)兩個(gè)大名鼎鼎的名字緊緊聯(lián)系在一起。在1972年,比爾·蓋茨和保羅·艾倫就嘗試用性能很弱的8008開發(fā)Basic編程語言,雖然后來失敗了。但是他們最終在性能強(qiáng)勁一些的8080處理器上開發(fā)出了Basic語言,并在1975年把Basic語言應(yīng)用到Altair8800 PC。
這成為Intel和微軟親密關(guān)系的開始。微軟從那開始,創(chuàng)造了一個(gè)巨大的軟件帝國(guó),并推動(dòng)了整個(gè)行業(yè)的發(fā)展。在X86架構(gòu)成功的過程中,可能沒有比RISC 處理器的影響更巨大的了。
RISC的風(fēng)險(xiǎn)
在20世紀(jì)80年代晚期和90年代早期,X86的一個(gè)巨大威脅產(chǎn)生了——RISC(精簡(jiǎn)指令集計(jì)算機(jī))。采用RISC架構(gòu)的處理器有Sun Sparc、IBM/蘋果/摩托羅拉的PowerPC,以及MIPS處理器。RISC架構(gòu)的核心思想是:處理器的指令集如果十分簡(jiǎn)單,一個(gè)時(shí)鐘周期運(yùn)行一個(gè)指令,那么處理器的速度會(huì)十分快。RISC的核心思想有別于以X86為代表的CISC(復(fù)雜指令集計(jì)算機(jī)),CISC的核心思想是采用復(fù)雜的多時(shí)鐘周期指令。
計(jì)算機(jī)專家們和Intel的競(jìng)爭(zhēng)對(duì)手們?cè)?jīng)預(yù)言CISC會(huì)最終消亡。“那確實(shí)是一個(gè)十分艱難的時(shí)期”,Gelsinger承認(rèn)。確實(shí),Intel很快開始開發(fā)自己的RISC工作站處理器i860。但是860或者其他RISC處理器最終都沒能改變X86的地位。
根據(jù)領(lǐng)導(dǎo)了80486開發(fā)的Gelsinger的說法,原因是這樣的:在486發(fā)布以前(1989年4月10日),已經(jīng)有價(jià)值數(shù)百萬美元的軟件打算在486平臺(tái)上運(yùn)行。雖然和RISC相比,x86(CISC)架構(gòu)是有一點(diǎn)慢,但是當(dāng)你花時(shí)間開發(fā)出適合RISC的軟件的時(shí)候,我們已經(jīng)開始出更快的x86處理器。我們有巨大的經(jīng)濟(jì)優(yōu)勢(shì),因?yàn)槲覀円呀?jīng)有了一個(gè)良好的基礎(chǔ),并且我們有龐大的開發(fā)團(tuán)隊(duì)。RISC電腦不可能趕上我們。
具有諷刺意味的是,比80486和Pentium處理器性能更強(qiáng)的RISC處理器電腦由于缺少軟件,最終消亡了,包括Intel自己的i860處理器和其他的RISC處理器。打算推出RISC架構(gòu)是一個(gè)錯(cuò)誤,Intel后來承認(rèn)。
RISC發(fā)明人之一,加州大學(xué)伯克利分校的計(jì)算機(jī)教授David Patterson說:“但是RISC激發(fā)了許多創(chuàng)新”。例如,電子設(shè)備集團(tuán)的VAX架構(gòu)能夠也是隨著RISC發(fā)展起來的,雖然最后也消亡了。但是Intel能夠吸收RISC的各種優(yōu)秀想法,依靠他們雄厚的軟件基礎(chǔ),改進(jìn)舊有的架構(gòu)。同時(shí),Intel的成功的另外一個(gè)原因是它的先進(jìn)的制造技術(shù)。
浮點(diǎn)錯(cuò)誤的災(zāi)難
像RISC一樣讓人痛徹心脾的危機(jī),發(fā)生于1994年夏天的夏天,當(dāng)時(shí)Intel的測(cè)試工程師發(fā)現(xiàn)了在新Pentium處理器的浮點(diǎn)電路中存在微小的錯(cuò)誤。錯(cuò)誤發(fā)生的幾率很低,所以對(duì)于這些錯(cuò)誤的影響,Intel僅僅對(duì)芯片修正后就重新進(jìn)行生產(chǎn),并且沒有召回有瑕疵的芯片。
但是幾個(gè)月后,弗吉尼亞州林奇堡學(xué)院的一位數(shù)學(xué)教授,就發(fā)現(xiàn)了這個(gè)缺陷。他無法找到Intel的任何人聽他申訴,因?yàn)镮ntel當(dāng)時(shí)并不承認(rèn)。所以他把他的發(fā)現(xiàn)公布在互聯(lián)網(wǎng)上。沒過多久,Intel就陷入了輿論風(fēng)暴之中,并導(dǎo)致了巨大的公共關(guān)系危機(jī),最終花費(fèi)了4億7500萬美元召回這批芯片。
“這是一次痛苦的經(jīng)歷,但是我們最終學(xué)會(huì)從消費(fèi)者的角度出發(fā)”, 前Intel資深副總裁Albert Yu在他的著作《創(chuàng)造數(shù)字未來》中回憶說。
兼容并包
另外一個(gè)x86歷史上的標(biāo)志性的事件發(fā)生在1995年。卡內(nèi)基梅隆大學(xué)計(jì)算機(jī)教授、Intel問題研究專家Todd Mowry這樣說。當(dāng)時(shí)Intel推出了革命性的Pentium Pro微處理器,能夠預(yù)先考慮一串指令,并猜測(cè)那些需要不按照規(guī)則處理的指令。Pentium Pro還擁有一個(gè)全新的高速緩存,這一切保證了處理器能夠獲得大部分時(shí)間,并且在一些應(yīng)用程序中表現(xiàn)出色。
“事情完全出乎意料”,Mowry說,:“他們使用了RISC的優(yōu)點(diǎn),但并沒有改變指令集。他們把X86指令翻譯成更像RISC指令的微操作。所以你擁有的是x86電腦中的RISC電腦。并且這樣的做法彌補(bǔ)了X86原有的性能差距。
Mowry說Pentium Pro源于一個(gè)自上而下的設(shè)計(jì)處理?!八麄兿却蛩阍O(shè)計(jì)出一款高性能的電腦,再計(jì)算出怎樣使得X86滿足設(shè)計(jì)要求”,他說。
尋找非x86架構(gòu)的優(yōu)點(diǎn)和缺點(diǎn),這是x86取得進(jìn)步的方法。Gelsinger說:“Pentium是一個(gè)巨大的架構(gòu)進(jìn)步,我們從微型機(jī)和中型機(jī)中尋找優(yōu)秀的想法,并且把這些想法在實(shí)踐中做得更好,因?yàn)槲覀冇幸粋€(gè)巨大畫布讓這些美麗的想法盡情揮灑——這個(gè)畫布的名字叫做硅。”
“中型機(jī)是把要處理的不同部分在機(jī)柜中的一個(gè)很廣闊的空間內(nèi)傳遞。與中型機(jī)不同,微處理器設(shè)計(jì)者們則把所有的信息單元放在在單獨(dú)的、微小的、緊密集成的芯片上,這樣設(shè)計(jì)會(huì)更加有彈性,設(shè)計(jì)的產(chǎn)品更出色?!彼f。確實(shí),這些年來,當(dāng)由多種配件組成的電腦系統(tǒng)發(fā)展并不很快時(shí),硅芯片取得了與摩爾定律所預(yù)測(cè)完全一致的驚人發(fā)展速度。
競(jìng)爭(zhēng)愈演愈烈
Intel并沒能夠有避免競(jìng)爭(zhēng),哪怕是在自家的x86架構(gòu)領(lǐng)域。例如,1987年創(chuàng)建于硅谷的臺(tái)灣威盛公司采用了x86的技術(shù),銷售主板芯片組。威盛目前生產(chǎn)很廣的一系列產(chǎn)品,并且打算生產(chǎn)自己的x86架構(gòu)低能耗移動(dòng)處理器。
AMD公司,世界第二大芯片制造商,自從2000年以來,它已經(jīng)成為了Intel的強(qiáng)有力的競(jìng)爭(zhēng)對(duì)手。在整個(gè)20世紀(jì)80年代和90年代,AMD已經(jīng)成為一個(gè)x86芯片的模仿者,并且?guī)缀鯇?duì)Intel產(chǎn)生重大影響。(Mercury咨詢:AMD仍然有占有15%的x86兼容臺(tái)式機(jī)和移動(dòng)電腦市場(chǎng)份額)。
但是AMD出人意料的在2000年推出了64位的基于x86擴(kuò)展指令集的處理器,并取得了良好的技術(shù)聲譽(yù)和市場(chǎng)效果。作為一個(gè)擴(kuò)展集,它意味著新的x86架構(gòu)的64位處理器能夠運(yùn)行舊的32位軟件。
在那時(shí),Intel的64位產(chǎn)品是安騰,由于Intel和HP開發(fā),主要用于超標(biāo)量執(zhí)行。該處理器在一個(gè)大鐵箱中,并且它不與x86架構(gòu)的32位軟件兼容。Intel面對(duì)AMD的威脅,在2004年,推出了自己的64位x86指令擴(kuò)展集,EM64T。事實(shí)表明,AMD已經(jīng)在最重要的64位產(chǎn)品市場(chǎng)打敗了Intel。
“這是一個(gè)用x86指令集的靈活性對(duì)抗Intel的例子”,Patterson說,“所以盡管Intel統(tǒng)治著這個(gè)市場(chǎng),其他公司也能夠改變x86的發(fā)展方向?!?nbsp;
挑戰(zhàn)極限
今天,Intel的x86在計(jì)算的極限領(lǐng)域微不足道。在4月28日,Intel宣布它將與Cray電腦公司一起,發(fā)展基于x86架構(gòu)的超級(jí)計(jì)算機(jī)芯片。(Cray已經(jīng)使用了AMD的基于x86的64位皓龍?zhí)幚砥鳌?
在4月2日,上海舉行的Intel全球發(fā)展論壇上,Intel宣布基于x86架構(gòu)的Atom處理器,這是Intel目前的最小的處理器。它的能耗小于2.5瓦,而一款典型的桌面處理器的能耗為35瓦。就在這周,Intel將為小型臺(tái)式機(jī)和臺(tái)式機(jī)發(fā)布兩款新的Atom處理器。
所以,x86能夠再生存并繁榮30年么?在競(jìng)爭(zhēng)的格局中,將有許多力量從根本上改變微處理器的設(shè)計(jì),甚至就會(huì)發(fā)生就在近期發(fā)生。但是幾乎沒有人預(yù)測(cè)令人尊敬的x86架構(gòu)會(huì)消亡??▋?nèi)基梅隆大學(xué)的Mowry說道:“我們恐怕很難看到其他的指令集取代x86,因?yàn)橛刑嗟挠袃r(jià)值的軟件運(yùn)行在x86架構(gòu)上。”