【轉(zhuǎn)】后科技時代--處理器的思考
后科技時代--處理器的思考

Sailing_W

于?2017-02-12 19:48:44?發(fā)布

606

?收藏?1分類專欄:?未分類散文版權(quán)

未分類散文專欄收錄該內(nèi)容3 篇文章0 訂閱訂閱專欄
在距離今天不到六十年的時間里,出現(xiàn)了幾個與當(dāng)今電子信息領(lǐng)域有著重大影響的公司和個人。最重要的公司當(dāng)然是Fairchild半導(dǎo)體,另一些是Fairchild半導(dǎo)體派生出的公司。最有影響力的人選有諸多爭議,有人說是Robert Noyce,也有人說是Jack Kilby,我以為只能是William Shockley。我每閱讀著與Shockley有關(guān)的史料事跡,總有莫名的酸楚。他是硅谷的事實締造者,也是硅谷第一棄徒。整個硅谷,整個IT史冊,再無一人如Shockley般謗滿天下。
1947年12月16日,John Bardeen,Walter Brattain和William Shockley發(fā)明了人類歷史上第一顆固態(tài)放大器,之前的放大器采用的是至今或許已被遺忘的真空電子管。他們意識到這個放大器的本質(zhì)是阻抗的變化,將他們的發(fā)明稱為Trans-resistor,簡稱為Transistor。多年以后,錢學(xué)森將其正式命名為晶體管。正是這一天的發(fā)明,人類進步的歷史軌跡被再次更改。一個令所有人為之振奮的電子信息時代即將到來。
1956年的諾貝爾物理獎沒有絲毫爭議地賦予了這三人。在此前的一年Shockley只身來到加州,來到Santa Clara,成立了Shockley半導(dǎo)體實驗室。在這片美國最晚迎來陽光的大地,因為Shockley的到來,將升起第一面迎接電子信息時代的旗幟。
Shockley選人的眼光,與他的科技才能嚴格成正比。IT史冊記載了先后加入Shockley半導(dǎo)體實驗室的八位科學(xué)家,他們分別是Julius Blank,Victor Grinich,Jean Hoerni,Eugene Kleiner,Jay Last,Gordon Moore,Sheldon Roberts和Robert Noyce。這八個人即將被Shockley稱為Traitorous Eight。

?
Shockley的用人方式,與他的科技才能成反比,在獲得諾貝爾物理獎后,也許他認為在科技領(lǐng)域已經(jīng)沒有什么值得他去挑戰(zhàn),他選擇挑戰(zhàn)財富。他的目標是生產(chǎn)5美分一支的晶體管,借此挑戰(zhàn)在加州已經(jīng)聲名赫赫的Hewlett和Packard。Shockley的這個目標直到上世紀八十年代才得以實現(xiàn)。Shockley的想法總是令人難于琢磨。在Shockley半導(dǎo)體實驗室存在的歲月里,起初懷抱著無限崇拜與幻想的,Shockley天才的門徒們始終忍受著煎熬。從加入這個到離開這里,他們沒有創(chuàng)造出任何一項可以另他們?yōu)橹院赖漠a(chǎn)品。
在Shockley否決了他們準備研究集成電路的一項提議之后,他們被最后一根稻草壓垮。這八個人已經(jīng)不再對Shockley存有任何幻想,集體向Shockley提出辭職。震驚的Shockley,憤怒的Shockley,狂躁的Shockley將這八個人統(tǒng)稱為Traitorous Eight。發(fā)明了晶體管的Shockley,注定不能制造出晶體管。面對著即將到來的電子信息時代,Shockley黯然離去。他最終加入了斯坦福大學(xué),成為一名教授。
也許是因為Shockley過于孤獨,也許是因為Shockley過于希望被人再次關(guān)注,他發(fā)表了一篇可以讓他在恥辱架上停留相當(dāng)長一段時間的論文,黑人的智商低于白種人。這是Shockley的最后絕唱。1989年,Shockley在孤獨中離開這個世界,他的孩子也只是在報紙中得知他的死訊。他啟動了一個時代,卻只是一個匆匆過客。
離開Shockley之后的Traitorous Eight得到新生,共同創(chuàng)建了仙童半導(dǎo)體公司。這個公司書寫了一段至今仍令整個硅谷炫彩奪目的傳奇。但是仙童半導(dǎo)體公司并沒有看到硅谷最強盛的一刻。業(yè)已故去的Jobs,將仙童半導(dǎo)體公司比喻為一顆成熟的蒲公英,你一吹它,這種創(chuàng)業(yè)精神的種子就隨風(fēng)四處飄揚了。陪伴著這些種子同時離去的是人才。這些陸續(xù)離去的人才擊垮了這家偉大的公司,也創(chuàng)造了硅谷持續(xù)的輝煌。
從這時起,叛逆精神在硅谷生根發(fā)芽;從這時起,更多的年輕人意識到從車庫里誕生的創(chuàng)意完全可以擊垮貌似不可戰(zhàn)勝的巨人;從這時起,在這片土地上可以誕生任何奇跡。來自全世界各個角落的資金瘋狂涌入這片長不足32公里的大地。Intel,Apple,Oracle,Sun Microsystem,AMD,Yahoo等一系列公司先后誕生在這里,組成了上世紀下半葉一道最為炫麗的風(fēng)景線。集成電路屹立在這道風(fēng)景線之上。
1958年,Jack Kilby與Robert Noyce先后發(fā)明集成電路,Jack Kilby因此獲得了2000年的Nobel物理獎。Robert Noyce于1990年故去,沒有等到頒獎的這一天,但是他僅憑創(chuàng)建了Intel這一件事情,在半導(dǎo)體工業(yè)界的地位就幾乎無人可敵。
在集成電路出現(xiàn)之后,更大規(guī)模集成電路的到來,通用處理器的橫空出世只是時間問題。1965年Gordon Moore提出在一個集成電路上可容納的晶體管數(shù)目,大約每隔24個月(1975年摩爾將24個月更改為18個月)增加一倍,性能提升一倍。摩爾定律指引并激勵著一代又一代的工程師奮勇向前。
1971年,第一個微處理器4004在Intel誕生,隨后是8008,8086,80286。很快微處理器席卷了整個天下。在上世紀八十年代中后期,Motorola 68K,MIPS,x86,SUN SPARC,Zilog Z80,聯(lián)手上演了一場至今仍令人難以忘懷的微處理器大戰(zhàn)。
在上世紀九十年代初,x86處理器在微處理器大戰(zhàn)中勝出,中小型機逐步退出歷史舞臺,Intel卻迎來了一場更大的危機。DEC(Digital Equipment Corporation)的Alpha處理器,AIM(Apple IBM Motorola)的PowerPC處理器,MIPS處理器和SUN UltraSPARC處理器組成了有史以來最強大的微處理器聯(lián)盟,RISC聯(lián)盟。Intel將要迎接來自這個聯(lián)盟的挑戰(zhàn)。當(dāng)時的Intel在面對這個聯(lián)盟時沒有任何可以與之對抗的技術(shù)優(yōu)勢。事實上,RISC聯(lián)盟的任何一只力量在處理器上的技術(shù)也領(lǐng)先于Intel。
面對這一切,昔日最堅定的盟友Microsoft開始動搖,公開宣稱支持這個RISC聯(lián)盟。Intel并沒有動搖,至少Andy Grove沒有動搖。對于Intel,退路只有萬丈深淵。我喜歡那時那樣的Intel。Andy Grove時代的Intel是一個連說“老子不會”都無比自信的Intel,是“老子除了技術(shù)不行,其他都行”的Intel。那時的Intel,樂子之無知,樂子之無思,樂子之獨行。
幾乎控制了Server市場全部份額的RISC聯(lián)盟很快面對了一個幾乎無解Chicken and Egg Question。Wintel聯(lián)盟在不斷前行的歷程中,有如黑洞,瘋狂般席卷著天下的應(yīng)用。在整個PC世界中,幾乎所有應(yīng)用都已經(jīng)基于x86這個并不完美的指令集。沒有應(yīng)用,RISC聯(lián)盟無法進入PC世界去擊敗Intel,RISC聯(lián)盟無法進入PC世界也就沒有應(yīng)用。面對這個難題,即便是Wintel聯(lián)盟中一支的Microsoft亦無法化解。這是一種天然的力量。
RISC聯(lián)盟只能在Server市場中茍存,看著Intel在不斷地發(fā)展壯大,進入Server,然后戰(zhàn)勝整個RISC聯(lián)盟。面對這個由Chicken and Egg Question形成的天然力量,SUN沒有辦法,AIM也沒有。處理器界的一代傳奇DEC第一個倒下。當(dāng)時的DEC在技術(shù)層面是如此強大。在DEC轟然倒塌后并不太長幾年的時間內(nèi),投靠AMD的工程師先后開發(fā)出了K7和K8處理器。這兩顆處理器依然可以給Intel帶來滅頂之災(zāi)。
當(dāng)一切成為往事,這段歷史依然回味無窮。在PC領(lǐng)域,究竟是先有“Chicken”,還是先有“Egg”,Intel無法回答,Microsoft也無法。幾乎所有Chicken and Egg Question都是如此簡單,都可以用寥寥數(shù)語清晰地描述。我不太擔(dān)心去解決那些需要三四天才能說清楚的問題,我總能在這些貌似復(fù)雜的過程中,找到最薄弱或者次薄弱環(huán)節(jié),剩余部分將迎刃而解。世上最難解決的問題恰是用幾句話就能夠說明白,有如哥德巴赫猜想,有如費馬大定律。
Chicken和Egg本是一對孿生兄弟,是在同一個時刻內(nèi)降臨于天地之間。初期并沒有清晰的Chicken也沒有清晰的Egg。Chicken和Egg是在無數(shù)次生物化學(xué)反應(yīng)中水乳交融,多次反復(fù)后,在某個瞬間自然分解而成。
在Chicken和Egg的不斷進化過程中,歷經(jīng)數(shù)不清的磨合和相互間的取長補短。Chicken和Egg最終成型后,幾乎無法化解,或者說需要化解的力量要如此之大沒有人愿意去化解。獲勝方將逍遙于Chicken和Egg之間,挑戰(zhàn)者將去面對著Chicken and Egg Dilemma。
Intel憑借來自PC領(lǐng)域的資金和Chicken and Egg的保護傘,學(xué)會了當(dāng)年“老子不會”的所有知識,屹立于集成電路的浪潮之巔,執(zhí)著捍衛(wèi)著摩爾定律的正確,芯片制作工藝從65nm,45nm,32nm,22nm,14nm直到10nm。至今,天下半導(dǎo)體公司的合力在處理器制作技術(shù)上也無法與其抗衡。Intel更加明了制作工藝比拼的是金錢。金錢可以帶來世上的絕大多數(shù),卻帶不來真正的創(chuàng)新,并不為工藝上的領(lǐng)先歡欣鼓舞。在戰(zhàn)勝RISC聯(lián)盟之后長達十年的時間里,Intel所感受到更多的是來自浪潮之巔的寒意。曾經(jīng)弱小到不能再弱小的ARM正在給Intel這個巨人制造一道或許難解的Chicken and Egg Question。
以ARM處理器為中心的半導(dǎo)體聯(lián)盟完全控制了移動終端。在這個比PC領(lǐng)域更加寬廣的舞臺中,如今的Intel沒有任何份額。Intel始終在反擊。x86具有足夠的性能優(yōu)勢,也有顯而易見的劣勢。事實上只要x86處理器還繼續(xù)背著向前兼容(backward-compatibility)的包袱,無論使用什么樣的工藝,與ARM都不會在同一個起跑線上競爭。
在2012年的CES,Intel展示了基于Atom SoC的Medfield手機,可以預(yù)期Intel在陸續(xù)的幾年時間內(nèi),將推出幾款功耗更低,性能更高的處理器。這并不意味著x86可以很容易地進入手持式市場。如果處理器技術(shù)可以決定一切,當(dāng)年的Intel不可能戰(zhàn)勝RISC聯(lián)盟。在處理器領(lǐng)域之外,Intel一直在尋找新的盟友。Wintel聯(lián)盟已是同床異夢。Windows 8將支持ARM平臺,x86也選擇了Android?;蛟SARM處理器進入PC領(lǐng)域只是時間問題,x86處理器進入手持式領(lǐng)域依然有許多問題需要解決。
Android與ARM的組合漸入佳境,幾乎所有Android的應(yīng)用都在某種程度上與ARM處理器有著千絲萬縷的聯(lián)系。運行在x86處理器之上的Android系統(tǒng),幾乎沒有什么可以直接使用的應(yīng)用程序。使用Binary Translation將基于ARM的應(yīng)用程序移植到x86也許是一個不錯的想法。這個想法并不新,RISC聯(lián)盟當(dāng)年用過這個方法。另外一條路艱辛許多,Intel可以將Android上使用頻率較高的應(yīng)用程序一個一個地移植到x86平臺,只是這件事情究竟該如何做,由誰去做。Intel可以投資80億美金去建設(shè)22nm工廠,卻沒有足夠的能力和足夠的財力完成這些移植。
應(yīng)用匱乏將使x86-Based的手持式設(shè)備舉步維艱;沒有更多的廠商擁護x86-Based的手持式設(shè)備將使應(yīng)用進一步匱乏。Intel在CES 2012上發(fā)布的手持式終端僅是投石問路,沒有人可以預(yù)料最終結(jié)局。值得慶幸的是,或許Intel正在面對著的問題,并不是Chicken and Egg Question,這與RISC聯(lián)盟曾經(jīng)面對過的Chicken and Egg Question并不相同。
在手持互聯(lián)領(lǐng)域,在這個年代或許依然存在著Chicken and Egg的故事,卻不在傳統(tǒng)的處理器和操作系統(tǒng)之中。也許與很多人估計的并不不同,Intel的實質(zhì)對手并不是ARM,Intel即便戰(zhàn)勝了ARM也很難破解在移動終端上所需要解決問題。
以應(yīng)用為王為大前提的手持互聯(lián)領(lǐng)域中,Intel甚至還沒有起步,幾乎占據(jù)了移動處理器全部市場份額的ARM也并不算是Winner。在一個ARM SoC中,處理器微架構(gòu)并沒有占據(jù)統(tǒng)治地位。在手持式互聯(lián)領(lǐng)域,ARM只能算作幕后英雄,真正的弄潮兒是Apple,Google和一些掌控著應(yīng)用的公司。
ARM更似處理器的掘墓人。因為ARM的存在,處理器設(shè)計的門檻再不斷降低。以前沒有處理器設(shè)計經(jīng)驗的Qualcomm和Apple之類的公司可以順利進軍這個領(lǐng)域。在中國的珠海,一些制作ARM SoC廠商的制作能力與設(shè)計速度令人嘆為觀止,這已經(jīng)使得歐美一些單純制作ARM SoC的傳統(tǒng)處理器廠商幾乎寸步難行。這使得Intel即便在處理器領(lǐng)域戰(zhàn)勝了ARM,也無法解決如何單純依靠集成電路去盈利這一問題。事實上幾乎所有的ARM SoC廠商也沒有解決好這一問題。
2012年這個世界將產(chǎn)出大約80億個ARM SoC,遠超過x86處理器的銷售量。只有兩千左右員工的ARM向Intel清晰地傳達了一個事實,單純的處理器設(shè)計并不需要動用十萬員工。這并不是Intel真正需要面對的難題。Intel所需要戰(zhàn)勝的并不是ARM。從某種意義上說,Intel與ARM非但不是對手,而是盟友。他們有著相同的稱呼,處理器廠商。在不遠的將來,他們將共同面對即將到來的,針對處理器的挑戰(zhàn)。
這個挑戰(zhàn)首先來自操作系統(tǒng)。操作系統(tǒng)已經(jīng)完成三次大的革新。最初的處理器并沒有操作系統(tǒng),只有一些簡單的批處理和任務(wù)排隊功能。在中小型機中,UNIX和VMS操作系統(tǒng)的出現(xiàn)奠定了現(xiàn)代操作系統(tǒng)大的基調(diào)。PC的興起極大促進了操作系統(tǒng)的發(fā)展,先后出現(xiàn)了CP/M和DOS以磁盤管理為中心的操作系統(tǒng)。這些操作系統(tǒng)的主要工作是管理基本的硬件信息,并為用戶提供基礎(chǔ)的字符界面。這些操作系統(tǒng)屬于第一代操作系統(tǒng)。
第二代操作系統(tǒng)引入了圖形界面,鼠標的發(fā)明極大降低了人機交互的難度。Apple和Microsoft的努力使得圖形界面的深入人心。這是一個屬于PC的輝煌時代。在這個時代,Intel和Microsoft在各自的領(lǐng)域并不是技術(shù)上的領(lǐng)跑者,卻和而凝結(jié)出一種令所有對手望而生畏的氣勢。峰之所至,無堅不摧。
前兩代操作系統(tǒng)以管理處理器硬件資源為核心。我們正在經(jīng)歷著第三代操作系統(tǒng)。iOS和Android是第三代操作系統(tǒng)暫露頭角的標識,以應(yīng)用為中心的廠商依靠著這一代操作系統(tǒng)日益強大。這一代操作系統(tǒng)引入了Touch和Gesture等一系列輔助功能,但這不是這代操作系統(tǒng)最重要的特征。與前兩代操作系統(tǒng)不同,第三代操作系統(tǒng)的重心不再是管理處理器系統(tǒng)提供的基礎(chǔ)硬件;這一代操作系統(tǒng)不再是處理器微架構(gòu)的衍生品;這一代操作系統(tǒng)是進一步服務(wù)于應(yīng)用,硬件資源管理不再作為中心。
第三代操作系統(tǒng)也可以被稱為應(yīng)用操作系統(tǒng),主體是服務(wù)于應(yīng)用,不再是硬件資源的管理者。運行在這一代操作系統(tǒng)中的應(yīng)用程序也在參與著硬件資源的管理,使用者已經(jīng)不需要了解過多的處理器知識,不需要了解磁盤目錄文件這些細節(jié)。七八歲的孩童,七八十歲的老人都可以熟練地操作著這些應(yīng)用。
這些應(yīng)用的出現(xiàn),使得操作系統(tǒng)與處理器之間的緊耦合已經(jīng)被打破。這個年代將很難出現(xiàn),Wintel聯(lián)盟因為x86與Windows水乳交融所形成的Chicken and Egg Question,也極大降低了ARM處理器進入PC領(lǐng)域,x86處理器進入手持互聯(lián)領(lǐng)域的難度。這一代操作系統(tǒng)的出現(xiàn)使得通用處理器與傳統(tǒng)操作系統(tǒng)已漸別這個時代的浪潮之巔。
處理器面臨的第二個挑戰(zhàn)源于自身發(fā)展的后繼乏力。通用處理器的誕生是電子信息時代得以爆發(fā)式發(fā)展的基礎(chǔ),摩爾定律的持續(xù)正確為處理器的進一步發(fā)展插上翅膀。但是摩爾定律并不是摩爾真理,總有失效的一天。至今,這一天不再是離我們很近,而是已經(jīng)到來。在Intel的Tick-Tock計劃中,Tock已經(jīng)越來越難引起更多人的關(guān)注,重要的是Tick。Tick的持續(xù)發(fā)展維護著摩爾定律的最后領(lǐng)地,卻已很難改變摩爾定律的最終結(jié)局。
在處理器微架構(gòu)中,流水線的設(shè)計已成往事。我很難相信x86指令流水線的執(zhí)行效率能夠明顯超越ARM或者是MIPS,反之亦然。指令流水線性能的提高只剩下工程師在1/2,1/4個節(jié)拍中的精益求精,不存在質(zhì)得飛躍。這使得本世紀初興起了一場多處理器革命,使用更多的處理器提高整個處理器系統(tǒng)的執(zhí)行速度。這場革命尚未步入高潮,就已經(jīng)遭遇瓶頸。
很多人意識到同構(gòu)多處理器系統(tǒng)很難提高并行度,從而轉(zhuǎn)向異構(gòu)多處理器系統(tǒng),也進一步加大了處理器間總線互聯(lián)的壓力。在這樣的系統(tǒng)中,互聯(lián)總線的效率也決定了應(yīng)用程序的執(zhí)行效率。在多處理器系統(tǒng)中,需要首先解決的問題依然是進一步提高存儲系統(tǒng)的帶寬,并盡可能降低存儲系統(tǒng)的延時。返璞歸真,我們需要解決的問題依然在存儲器子系統(tǒng)中。
在Intel每一次的Tock中,重大的技術(shù)革新集中于存儲器子系統(tǒng),引入了結(jié)構(gòu)更加復(fù)雜,容量更加龐大的Cache Memory。Cache Memory系統(tǒng)不能提高運算類指令的執(zhí)行效率,只是在以存儲器為中心的處理器體系結(jié)構(gòu)中,Cache Memory的效率決定了一個程序最終的執(zhí)行效率。從體系結(jié)構(gòu)層面上看,Cache Memory的設(shè)計方法已經(jīng)趨于穩(wěn)定,在整個科技界,即便在理論界,我也看不到哪怕是所謂的革新。
Intel在Cache Memory的領(lǐng)先源于工藝。制作工藝的領(lǐng)先使Intel可以在Cache Memory系統(tǒng)上投入更多資源。只要Intel的競爭對手沒有在制作工藝上迎頭趕上,就沒有可能在Cache Memory子系統(tǒng)領(lǐng)域中更勝一籌,就沒有可能在存儲器子系統(tǒng)的設(shè)計中超過Intel。依靠著在Cache Memory中的優(yōu)勢,Intel屹立處理器領(lǐng)域之巔,所有競爭對手望塵莫及。在存儲器子系統(tǒng)中大獲全勝的Intel,贏得了Server,并沒有贏得天下。
在比Server領(lǐng)域更加寬廣的手持式領(lǐng)域中,所比拼的并不是存儲器子系統(tǒng),蕓蕓眾生使用電子設(shè)備的主要目的不是用來算題或是為他人提供服務(wù)。即便僅考慮Server領(lǐng)域,Intel也正在面臨著更多的挑戰(zhàn)。存儲器的瓶頸與功耗嚴重阻礙了處理器系統(tǒng)的進一步發(fā)展。存儲器瓶頸的愈發(fā)嚴重,使得Server處理器需要更加龐大,更加復(fù)雜的Cache Memory系統(tǒng)與之匹配。使用這樣的Cache Memory將使處理器系統(tǒng)的功耗持續(xù)上升。
存儲器瓶頸與功耗已經(jīng)成為Server處理器進一步發(fā)展的障礙。因為存儲器瓶頸而增強存儲器子系統(tǒng),因為存儲器子系統(tǒng)的增強,而進一步提高了功耗。從這種因果關(guān)系可以發(fā)現(xiàn),似乎只要解決了存儲器瓶頸問題其余問題便迎刃而解。
這個問題卻很難解決,甚至可以說在以存儲器為中心的馮諾依曼體系(Von Neumann Architecture)中,這個問題幾乎無解。我們在試圖解決這個問題,并在試圖取得在某種意義上突破性的進展之前,需要重新討論這個問題源自何方。
1945年6月30日,John von Neumann正式發(fā)表“First Draft of a Report on the EDVAC”這篇論文,簡稱為First Draft,這個設(shè)計草稿令整個科學(xué)界歡欣鼓舞,第二年John von Neumann,Arthur Walter Burks與Herman Heine Goldstine一道進一步完善了First Draft,發(fā)表了另一篇題為“Preliminary discussion of the logical design of an electronic computing instrument”的論文。這兩篇文章所闡述的內(nèi)容被后人稱為馮諾依曼體系。
在此之前,世上并沒有處理器,只有一些可以執(zhí)行固定任務(wù)的計算器,有進行簡單加減乘除的計算器,求解微積分的計算器,求解倒數(shù)的計算器。在這個前馮諾依曼體系年代,科學(xué)家們?yōu)榱诉M行新的科學(xué)計算,需要設(shè)計一款新型的定制計算器,需要重新搭建電子設(shè)備。馮諾依曼體系改變了這一切,建立了計算機體系結(jié)構(gòu)中最重要的組成原理,影響至今。馮諾依曼體系第一次引入了Store-Program計算理論,確定了一個計算機的五大組成部分,包括Arithmetic Logic Unit,Processor Registers,Control Unit(包括IR和PC),用于存儲指令和數(shù)據(jù)的Memory和輸入輸出設(shè)備。
在這種體系中,計算機將按照程序規(guī)定的順序,將指令從存儲器中取出并逐條執(zhí)行。在程序和數(shù)據(jù)中使用二進制表示方法,當(dāng)一個計算課題發(fā)生變化后,只需要更改Memory中的程序,而不需要重新設(shè)計一款新的計算器。
馮諾依曼體系極大化解了此前在計算器設(shè)計中的冗余,可以將世上的絕大多數(shù)應(yīng)用規(guī)約于一個統(tǒng)一模型,奠定了現(xiàn)代計算機體系結(jié)構(gòu)的基礎(chǔ)。計算機的歷史因此揭開了新的一頁。這套體系誕生至今,在計算機體系結(jié)構(gòu)中始終占據(jù)著主導(dǎo)地位。在計算機體系結(jié)構(gòu)持續(xù)發(fā)展的幾十年時間以來,沒有任何理論能將其顛覆,更多的只是在馮諾依曼體系之上的修修補補。
大規(guī)模集成電路的出現(xiàn)為馮諾依曼體系插上翅膀?;谶@個體系的通用處理器最終成為可能。Intel與其他處理器廠商一道上演了通用處理器的傳奇。摩爾定律的持續(xù)正確使得處理器迅猛發(fā)展,處理器變得愈發(fā)強大,愈發(fā)廉價。通用處理器席卷了天下應(yīng)用。通用處理器的大規(guī)模推廣與普及也奠定了當(dāng)今電子信息領(lǐng)域的基礎(chǔ)。
Von Neumann Architecture并不完美,在這種以存儲器為中心的體系結(jié)構(gòu)中,存儲器必然成為瓶頸,這一瓶頸也被稱為Von Neumann瓶頸。這一瓶頸伴隨著馮諾依曼體系的出現(xiàn)而出現(xiàn),目前尚無有效的方法消除。Cache Memory的出現(xiàn)極大緩解了Von Neumann瓶頸,隨后出現(xiàn)的Modified Harvard Architecture,Branch Predictor和NUMA體系結(jié)構(gòu)進一步緩解了這個瓶頸。但是這種量的積累并沒有引發(fā)質(zhì)變。馮諾依曼體系并沒有因此升華,直到今日存儲器瓶頸依然存在,而且愈演愈烈。
在今天的Server領(lǐng)域,幾乎所有應(yīng)用都有一個相同的運行軌跡。I/O設(shè)備首先將數(shù)據(jù)發(fā)送到存儲器子系統(tǒng),處理器對數(shù)據(jù)進行處理后再交還于存儲器子系統(tǒng),I/O設(shè)備再從存儲器子系統(tǒng)中獲取數(shù)據(jù),之后再做進一步的處理。在這種模型中,每進行一次運算,需要多次訪問存儲器子系統(tǒng)。存儲器子系統(tǒng)必然成為瓶頸,使用再多的處理器也不能解決這些問題。
首先是作為數(shù)學(xué)家與物理學(xué)家的John von Neumann,從事計算機科學(xué)的出發(fā)點,是進行科學(xué)計算,他沒有預(yù)料到二十一世紀的今天,有這樣不學(xué)無術(shù)的一群人在這樣地使用計算機。在我們所處的這個時代,通用處理器的主要功能早已不是在進行風(fēng)花雪月的數(shù)學(xué)計算。
通用處理器在一路前行的道路上,席卷天下,應(yīng)用邊界在不斷的擴張。我們可以使用處理器進行文字數(shù)據(jù),數(shù)據(jù)挖掘,上網(wǎng)聊天,打游戲。在今天使用處理器的人群中,用其進行科學(xué)運算的屈指可數(shù)。為了專門算題買臺PC或者Server的人,我一個也沒有見過。
今天的處理器如此科技,如此廉價,已被視作電子信息領(lǐng)域高科技的象征。這導(dǎo)致天下人對通用處理器的盲從,導(dǎo)致了通用處理器能夠更加順利地席卷著天下應(yīng)用。眾多應(yīng)用的疊加,使得處理器遭遇了前所未有的存儲器瓶頸問題??梢灶A(yù)見,只要通用處理器繼續(xù)吸納著更多的應(yīng)用,存儲器瓶頸只能更加嚴重,功耗將持續(xù)上升。
問題是我們?yōu)槭裁匆猛ㄓ锰幚砥鹘鉀Q所有問題。通用處理器可以解決很多問題,但在這個世界上,許多問題的解決根本不需要使用通用處理器。馮諾依曼體系的提出是針對當(dāng)時電子設(shè)備高度定制化所產(chǎn)生的浪費,至今已時過境遷。在馮諾依曼體系之下,即便是即便是驗證i加j確實等于2的問題,也需要將程序與數(shù)據(jù)輸入到處理器,需要各種算術(shù)邏輯,數(shù)據(jù)傳送單元的共同參與,經(jīng)過了諸多操作后,獲得最終結(jié)果。
如果僅是為了驗證i加j確實等于2的問題,倘若使用定制邏輯,只需要使用一個加法器和一個比較器,并不需要通用處理器。但是在摩爾定律持續(xù)正確的年代,處理器持續(xù)著廉價。在多數(shù)應(yīng)用場景中,使用通用處理器依然最為有效。即便是一些扭曲身形去迎合通用處理器的應(yīng)用,也因為通用處理器的飛速進展,獲得了事實上的最優(yōu)。在摩爾定律持續(xù)正確的年代,絕大多數(shù)采用定制邏輯而違背馮諾依曼體系的處理機制沒有獲得成功。
順勢而為是取得一定程度的成功的保障。在許多情況之下,即便你明知99%以上的人選擇了一條彎路,依然需要這種順勢而為。因為這99%的合力就算是在走一條事實上的彎路,也遠快過獨自一人走真正的捷徑,也更容易到達終點。
時過境遷,種種跡象表明摩爾定律不再正確。這意味著在面積大小一定的Die中將無法容納更多的晶體管。使用通用處理器,無論是同構(gòu)或者異構(gòu)模型,在解決某類應(yīng)用時,已經(jīng)不再是最優(yōu)方案,甚至不是次優(yōu)方案。
通用處理器一路前行的道路,是與存儲器瓶頸不斷斗爭的歷史。從馮諾依曼體系誕生至今,通用處理器所面臨的主要問題依然是存儲器的延時與帶寬。在一個通用處理器中,存儲器子系統(tǒng)使用了絕大多數(shù)資源。在一個通用處理器中,如果去除L1,L2等諸多層次的Cache子系統(tǒng),去除指令流水線中為了減輕存儲器瓶頸的各種預(yù)測機制和MMU后,所剩無幾。如今的通用處理器更是將主要的資源放在道路建設(shè)上,并沒有專注于應(yīng)用問題的解決。
這種并不專注同時也意味著巨大的浪費,與John von Neumann的初衷不再吻合。John von Neumann所設(shè)計的體系是基于當(dāng)時的認知,為了避免定制邏輯所造成的浪費。至今通用處理器本身已經(jīng)成為最大的定制邏輯,在這個定制邏輯中,所關(guān)注的主要問題是如何修路,很多情況下是為了修路而修路,以容納更多的應(yīng)用,即便有很多應(yīng)用根本不需要這條路,也不需要依照馮諾依曼體系的要求去執(zhí)行。
在這種趨勢下,存儲器瓶頸將持續(xù)存在,持續(xù)惡化。我們正在經(jīng)歷著一個以應(yīng)用為中心的時代。不同的應(yīng)用對處理器系統(tǒng)有著不同的需求。這使得定制化與差異化重回議程。在一個通用處理器中,正在容納更多的定制邏輯,正在容納更多的加速模塊。這些變化使得所謂的通用處理器并不再是絕對意義上的通用。
ARM這個比Intel弱小得多的企業(yè),依靠著并不領(lǐng)先的技術(shù)取得如今的成就,我認為最主要的原因是ARM為其他廠商的差異化與定制化提供了便利條件。電子信息領(lǐng)域經(jīng)歷了Mainframe Era,PC Era,Internet Era,而至Mobile Era時代。在這個名為Mobile的Era中,?ARM身后隱藏的定制化與差異化已經(jīng)成為Mobile的時代主題。
作為公司的ARM距離Intel還有相當(dāng)長的一段距離,但是作為一個行業(yè)的ARM已經(jīng)取得事實上的領(lǐng)先。從這個角度上說,不是ARM在手持互聯(lián)領(lǐng)域中暫時領(lǐng)先與Intel,而是在Mobile Era的時代,定制化與差異化在與通用化的較量中獲得了先機。
對定制化與差異化的最大挑戰(zhàn)是IC設(shè)計領(lǐng)域中客觀需要的規(guī)模效應(yīng)。定制化與差異化的思路與此背道而馳。Intel使用單一產(chǎn)品覆蓋絕大多數(shù)的應(yīng)用,產(chǎn)生了規(guī)模效應(yīng),實現(xiàn)了利潤最大化,Gross Margin超過60%。采用ARM的定制化與差異化方案的任何公司都無法獲得這樣的Gross Margin。在Mobile Era中,手持處理器廠商呈百花齊放格局;在Mobile Era中,各式應(yīng)用的不同要求使得相關(guān)的處理器進一步差異化。
單個廠商獲得60%以上的Gross Margin正在成為過去。目前Intel維持高額的Gross Margin主要依靠的是Mobile Era的Server領(lǐng)域。Intel的Main Stream處理器首先是針對Server的一種定制化,之后將這種設(shè)計簡化到PC領(lǐng)域,以獲得最大的規(guī)?;?yīng)。Intel從Nehalem開始的Tock過程,事實上是一個針對Server的定制過程。今天的Intel已經(jīng)不是憑借著PC的占有率去攻占Server,而是憑借著Mobile Era對Server的需求,維護著在PC領(lǐng)域中的地位。
在手持式領(lǐng)域,Intel的Medfield僅是一次嘗試,并不會給ARM的Cortex系列處理器帶來質(zhì)的挑戰(zhàn)。整個業(yè)界窒息般等待著的是Intel在Atom處理器中的Tock-Tick,Silvermont和Airmont。Tick-Tock計劃在Atom處理器中的引入轉(zhuǎn)達著Intel對在手持式領(lǐng)域中,所遭受的一個接著一個失敗的憤怒。認真起來的Intel在處理器領(lǐng)域依然無敵,從純技術(shù)的角度上看,如果Intel的競爭對手在芯片的制作工藝上沒有出現(xiàn)大的突破,那么Intel出現(xiàn)功耗性能比超越世上任何一個ARM SoC處理器只是時間問題。ARM陣營將對此沒有任何辦法。
只是決定一個手持式處理器最終成敗的并非是處理器微架構(gòu)的性能功耗比,購買手持式產(chǎn)品的最終用戶有幾人能夠理解處理器微架構(gòu)。處理器微架構(gòu)之外的音視頻效果,互聯(lián)網(wǎng)體驗,設(shè)備提供商是否足夠的Fashionable更能夠吸引他們的眼球。
在手持互聯(lián)領(lǐng)域中,處理器進一步的定制化已經(jīng)成為事實。在手持式處理器中,已經(jīng)含有各類音視頻加速引擎。在一些基于Web的應(yīng)用中,正在使用一些專用加速引擎去解析HTML,去解析Javascript。在這個領(lǐng)域中,通用處理器正在為定制化預(yù)留空間,在未來的幾年內(nèi),將會出現(xiàn)更多的加速引擎,進一步減輕處理器的負擔(dān)。
如果Intel將芯片制作工藝上的優(yōu)勢僅僅轉(zhuǎn)化為處理器的性能功耗比,依然以處理器微架構(gòu)為中心,所取得的成就將十分有限。我更期待在未來的幾年內(nèi),Intel能夠?qū)⒐に囶I(lǐng)先而獲得的額外資源用于定制與差異化邏輯,淡化處理器微架構(gòu)在系統(tǒng)中的位置,進而為定制化和差異化提供空間。若僅在技術(shù)層面考慮,這將是其他處理器廠商的噩夢。
問題是如何為手持式領(lǐng)域進行定制化與差異化。在手持互聯(lián)領(lǐng)域中存在兩類公司,一類是Apple與Samsung,另一類是山寨。我不得不承認,這些生產(chǎn)手持設(shè)備的廠商合在一起也不如Intel更懂硅芯片的制造,但是幾乎任何一家都比Intel更加理解蕓蕓眾生為什么要買一個手持產(chǎn)品,也更加理解如何針對這些產(chǎn)品進行深度的定制化與差異化。
定制化與差異化也同時決定著,即便Intel能夠在技術(shù)層面上完全領(lǐng)先也無法取得其在PC領(lǐng)域中的地位,也因此無法獲得足夠高的Gross Margin。這些事實將會使Intel這個具有十萬員工的公司,在沒有一個Andy Grove般強勢有力的領(lǐng)袖時,很難在內(nèi)部形成有效的合力。Intel在手持互聯(lián)處理器中的艱難在很大程度上是顓臾之憂。
在技術(shù)層面之外,第一類手持設(shè)備廠商Apple與Samsung在為最終用戶提供各類產(chǎn)品的同時,還生產(chǎn)用于手持式設(shè)備的處理器。在手持處理器這個領(lǐng)域,Intel要與這些既是運動員又是裁判員的第一類廠商競爭,并不公平。這些內(nèi)外之?dāng)_,決定了Intel即便在三年后制作出在技術(shù)層面超過Qualcomm的處理器,也沒有絲毫辦法主導(dǎo)這個市場。
在手持式領(lǐng)域中,也許依然存在著Chicken或者Egg,但是單純的處理器或者操作系統(tǒng)將不再是Chicken也不再是Egg。在Server,或者是其他Embedded領(lǐng)域,大量出現(xiàn)的定制與差異化邏輯已經(jīng)使得處理器微架構(gòu)在一個系統(tǒng)中逐步偏離設(shè)計中心。
這些定制化與差異化的大規(guī)模出現(xiàn),是因為許多人已經(jīng)意識到有些應(yīng)用并不適合處理器去解決,摩爾定律的事實結(jié)束使得通用處理器的效率無法繼續(xù)獲得線性加速比。很多人意識到我們似乎重新回到前馮諾依曼體系時代,那個只有差異與定制的時代。
這些變化并不意味著處理器會消亡,只是處理器不會在繼續(xù)通用化的道路上順利向前,并不會繼續(xù)作為絕對的中心。將有更多的應(yīng)用將按照自己的特點使用定制邏輯,不再是交由處理器。這將進一步化解存儲器的瓶頸,進一步的降低功耗。這些變化將使我們迎來一個新的時代,一個屬于定制化與差異化的時代。
從技術(shù)的角度上看,定制化與差異化是消減存儲器瓶頸的有效手段。在Server或者是其他領(lǐng)域,如果一個應(yīng)用的90%以上工作可以交予定制邏輯,剩余的10%再交予處理器,以目前的半導(dǎo)體技術(shù),存儲器將不再是瓶頸,處理器系統(tǒng)的功耗也將隨之降低。
但我認為這并不是定制化的主要方向,定制化邏輯并不一定要隸屬于處理器。在未來,定制邏輯之間,帶有智能功能的外部設(shè)備間可以直接交互信息而不必通過處理器。在這些智能設(shè)備中可以含有馮諾依曼體系的處理器,也可以沒有。
在數(shù)據(jù)中心的應(yīng)用中,如果智能網(wǎng)卡可以通過與智能盤卡之間的直接交互,而不是全部通過通用處理器,我們將可以不再使用機器人去維護這樣的系統(tǒng),也不需要使用專門的電力通路。這種設(shè)備的運行有如人體,肢體器官間存在著更多的下意識行為和更加自然的操作,不必全部由大腦指揮。
我沒有理論與數(shù)據(jù)驗證這一結(jié)論,只是自覺告訴我這種智能設(shè)備將很快出現(xiàn),將有更多的應(yīng)用遠離通用處理器系統(tǒng)。在可以預(yù)見的將來,各類定制化與差異化應(yīng)用將繼續(xù)著劈波斬浪。這是一個年輕人可以持續(xù)著向廣袤神秘的未知領(lǐng)域挑戰(zhàn),是一個可以持續(xù)著帶來新希望的大應(yīng)用時代。在摩爾定律即將且正在結(jié)束的時代,定制化與差異化的時代窗口將再次開啟。只是這一次,我們不知道何時還能再有馮諾依曼。