天天看點

後科技時代--處理器的思考

在距離今天不到六十年的時間裡,出現了幾個與當今電子資訊領域有着重大影響的公司和個人。最重要的公司當然是Fairchild半導體,另一些是Fairchild半導體派生出的公司。最有影響力的人選有諸多争議,有人說是Robert Noyce,也有人說是Jack Kilby,我以為隻能是William Shockley。我每閱讀着與Shockley有關的史料事迹,總有莫名的酸楚。他是矽谷的事實締造者,也是矽谷第一棄徒。整個矽谷,整個IT史冊,再無一人如Shockley般謗滿天下。

1947年12月16日,John Bardeen,Walter Brattain和William Shockley發明了人類曆史上第一顆固态放大器,之前的放大器采用的是至今或許已被遺忘的真空電子管。他們意識到這個放大器的本質是阻抗的變化,将他們的發明稱為Trans-resistor,簡稱為Transistor。多年以後,錢學森将其正式命名為半導體。正是這一天的發明,人類進步的曆史軌迹被再次更改。一個令所有人為之振奮的電子資訊時代即将到來。

1956年的諾貝爾實體獎沒有絲毫争議地賦予了這三人。在此前的一年Shockley隻身來到加州,來到Santa Clara,成立了Shockley半導體實驗室。在這片美國最晚迎來陽光的大地,因為Shockley的到來,将升起第一面迎接電子資訊時代的旗幟。

Shockley選人的眼光,與他的科技才能嚴格成正比。IT史冊記載了先後加入Shockley半導體實驗室的八位科學家,他們分别是Julius Blank,Victor Grinich,Jean Hoerni,Eugene Kleiner,Jay Last,Gordon Moore,Sheldon Roberts和Robert Noyce。這八個人即将被Shockley稱為Traitorous Eight。

後科技時代--處理器的思考

Shockley的用人方式,與他的科技才能成反比,在獲得諾貝爾實體獎後,也許他認為在科技領域已經沒有什麼值得他去挑戰,他選擇挑戰财富。他的目标是生産5美分一支的半導體,借此挑戰在加州已經聲名赫赫的Hewlett和Packard。Shockley的這個目标直到上世紀八十年代才得以實作。Shockley的想法總是令人難于琢磨。在Shockley半導體實驗室存在的歲月裡,起初懷抱着無限崇拜與幻想的,Shockley天才的門徒們始終忍受着煎熬。從加入這個到離開這裡,他們沒有創造出任何一項可以另他們為之自豪的産品。

在Shockley否決了他們準備研究內建電路的一項提議之後,他們被最後一根稻草壓垮。這八個人已經不再對Shockley存有任何幻想,集體向Shockley提出辭職。震驚的Shockley,憤怒的Shockley,狂躁的Shockley将這八個人統稱為Traitorous Eight。發明了半導體的Shockley,注定不能制造出半導體。面對着即将到來的電子資訊時代,Shockley黯然離去。他最終加入了斯坦福大學,成為一名教授。

也許是因為Shockley過于孤獨,也許是因為Shockley過于希望被人再次關注,他發表了一篇可以讓他在恥辱架上停留相當長一段時間的論文,黑人的智商低于白種人。這是Shockley的最後絕唱。1989年,Shockley在孤獨中離開這個世界,他的孩子也隻是在報紙中得知他的死訊。他啟動了一個時代,卻隻是一個匆匆過客。

離開Shockley之後的Traitorous Eight得到新生,共同建立了仙童半導體公司。這個公司書寫了一段至今仍令整個矽谷炫彩奪目的傳奇。但是仙童半導體公司并沒有看到矽谷最強盛的一刻。業已故去的Jobs,将仙童半導體公司比喻為一顆成熟的蒲公英,你一吹它,這種創業精神的種子就随風四處飄揚了。陪伴着這些種子同時離去的是人才。這些陸續離去的人才擊垮了這家偉大的公司,也創造了矽谷持續的輝煌。

從這時起,叛逆精神在矽谷生根發芽;從這時起,更多的年輕人意識到從車庫裡誕生的創意完全可以擊垮貌似不可戰勝的巨人;從這時起,在這片土地上可以誕生任何奇迹。來自全世界各個角落的資金瘋狂湧入這片長不足32公裡的大地。Intel,Apple,Oracle,Sun Microsystem,AMD,Yahoo等一系列公司先後誕生在這裡,組成了上世紀下半葉一道最為炫麗的風景線。內建電路屹立在這道風景線之上。

1958年,Jack Kilby與Robert Noyce先後發明內建電路,Jack Kilby是以獲得了2000年的Nobel實體獎。Robert Noyce于1990年故去,沒有等到頒獎的這一天,但是他僅憑建立了Intel這一件事情,在半導體工業界的地位就幾乎無人可敵。

在內建電路出現之後,更大規模內建電路的到來,通用處理器的橫空出世隻是時間問題。1965年Gordon Moore提出在一個內建電路上可容納的半導體數目,大約每隔24個月(1975年摩爾将24個月更改為18個月)增加一倍,性能提升一倍。摩爾定律指引并激勵着一代又一代的工程師奮勇向前。

1971年,第一個微處理器4004在Intel誕生,随後是8008,8086,80286。很快微處理器席卷了整個天下。在上世紀八十年代中後期,Motorola 68K,MIPS,x86,SUN SPARC,Zilog Z80,聯手上演了一場至今仍令人難以忘懷的微處理器大戰。

在上世紀九十年代初,x86處理器在微處理器大戰中勝出,中小型機逐漸退出曆史舞台,Intel卻迎來了一場更大的危機。DEC(Digital Equipment Corporation)的Alpha處理器,AIM(Apple IBM Motorola)的PowerPC處理器,MIPS處理器和SUN UltraSPARC處理器組成了有史以來最強大的微處理器聯盟,RISC聯盟。Intel将要迎接來自這個聯盟的挑戰。當時的Intel在面對這個聯盟時沒有任何可以與之對抗的技術優勢。事實上,RISC聯盟的任何一隻力量在處理器上的技術也領先于Intel。

面對這一切,昔日最堅定的盟友Microsoft開始動搖,公開宣稱支援這個RISC聯盟。Intel并沒有動搖,至少Andy Grove沒有動搖。對于Intel,退路隻有萬丈深淵。我喜歡那時那樣的Intel。Andy Grove時代的Intel是一個連說“老子不會”都無比自信的Intel,是“老子除了技術不行,其他都行”的Intel。那時的Intel,樂子之無知,樂子之無思,樂子之獨行。

幾乎控制了Server市場全部份額的RISC聯盟很快面對了一個幾乎無解Chicken and Egg Question。Wintel聯盟在不斷前行的曆程中,有如黑洞,瘋狂般席卷着天下的應用。在整個PC世界中,幾乎所有應用都已經基于x86這個并不完美的指令集。沒有應用,RISC聯盟無法進入PC世界去擊敗Intel,RISC聯盟無法進入PC世界也就沒有應用。面對這個難題,即便是Wintel聯盟中一支的Microsoft亦無法化解。這是一種天然的力量。

RISC聯盟隻能在Server市場中苟存,看着Intel在不斷地發展壯大,進入Server,然後戰勝整個RISC聯盟。面對這個由Chicken and Egg Question形成的天然力量,SUN沒有辦法,AIM也沒有。處理器界的一代傳奇DEC第一個倒下。當時的DEC在技術層面是如此強大。在DEC轟然倒塌後并不太長幾年的時間内,投靠AMD的工程師先後開發出了K7和K8處理器。這兩顆處理器依然可以給Intel帶來滅頂之災。

當一切成為往事,這段曆史依然回味無窮。在PC領域,究竟是先有“Chicken”,還是先有“Egg”,Intel無法回答,Microsoft也無法。幾乎所有Chicken and Egg Question都是如此簡單,都可以用寥寥數語清晰地描述。我不太擔心去解決那些需要三四天才能說清楚的問題,我總能在這些貌似複雜的過程中,找到最薄弱或者次薄弱環節,剩餘部分将迎刃而解。世上最難解決的問題恰是用幾句話就能夠說明白,有如哥德巴赫猜想,有如費馬大定律。

Chicken和Egg本是一對孿生兄弟,是在同一個時刻内降臨于天地之間。初期并沒有清晰的Chicken也沒有清晰的Egg。Chicken和Egg是在無數次生物化學反應中水乳交融,多次反複後,在某個瞬間自然分解而成。

在Chicken和Egg的不斷進化過程中,曆經數不清的磨合和互相間的取長補短。Chicken和Egg最終成型後,幾乎無法化解,或者說需要化解的力量要如此之大沒有人願意去化解。獲勝方将逍遙于Chicken和Egg之間,挑戰者将去面對着Chicken and Egg Dilemma。

Intel憑借來自PC領域的資金和Chicken and Egg的保護傘,學會了當年“老子不會”的所有知識,屹立于內建電路的浪潮之巅,執着捍衛着摩爾定律的正确,晶片制作工藝從65nm,45nm,32nm,22nm,14nm直到10nm。至今,天下半導體公司的合力在處理器制作技術上也無法與其抗衡。Intel更加明了制作工藝比拼的是金錢。金錢可以帶來世上的絕大多數,卻帶不來真正的創新,并不為工藝上的領先歡欣鼓舞。在戰勝RISC聯盟之後長達十年的時間裡,Intel所感受到更多的是來自浪潮之巅的寒意。曾經弱小到不能再弱小的ARM正在給Intel這個巨人制造一道或許難解的Chicken and Egg Question。

以ARM處理器為中心的半導體聯盟完全控制了移動終端。在這個比PC領域更加寬廣的舞台中,如今的Intel沒有任何份額。Intel始終在反擊。x86具有足夠的性能優勢,也有顯而易見的劣勢。事實上隻要x86處理器還繼續背着向前相容(backward-compatibility)的包袱,無論使用什麼樣的工藝,與ARM都不會在同一個起跑線上競争。

在2012年的CES,Intel展示了基于Atom SoC的Medfield手機,可以預期Intel在陸續的幾年時間内,将推出幾款功耗更低,性能更高的處理器。這并不意味着x86可以很容易地進入手持式市場。如果處理器技術可以決定一切,當年的Intel不可能戰勝RISC聯盟。在處理器領域之外,Intel一直在尋找新的盟友。Wintel聯盟已是同床異夢。Windows 8将支援ARM平台,x86也選擇了Android。或許ARM處理器進入PC領域隻是時間問題,x86處理器進入手持式領域依然有許多問題需要解決。

Android與ARM的組合漸入佳境,幾乎所有Android的應用都在某種程度上與ARM處理器有着千絲萬縷的聯系。運作在x86處理器之上的Android系統,幾乎沒有什麼可以直接使用的應用程式。使用Binary Translation将基于ARM的應用程式移植到x86也許是一個不錯的想法。這個想法并不新,RISC聯盟當年用過這個方法。另外一條路艱辛許多,Intel可以将Android上使用頻率較高的應用程式一個一個地移植到x86平台,隻是這件事情究竟該如何做,由誰去做。Intel可以投資80億美金去建設22nm工廠,卻沒有足夠的能力和足夠的财力完成這些移植。

應用匮乏将使x86-Based的手持式裝置舉步維艱;沒有更多的廠商擁護x86-Based的手持式裝置将使應用進一步匮乏。Intel在CES 2012上釋出的手持式終端僅是投石問路,沒有人可以預料最終結局。值得慶幸的是,或許Intel正在面對着的問題,并不是Chicken and Egg Question,這與RISC聯盟曾經面對過的Chicken and Egg Question并不相同。

在手持互聯領域,在這個年代或許依然存在着Chicken and Egg的故事,卻不在傳統的處理器和作業系統之中。也許與很多人估計的并不不同,Intel的實質對手并不是ARM,Intel即便戰勝了ARM也很難破解在移動終端上所需要解決問題。

以應用為王為大前提的手持互聯領域中,Intel甚至還沒有起步,幾乎占據了移動處理器全部市場佔有率的ARM也并不算是Winner。在一個ARM SoC中,處理器微架構并沒有占據統治地位。在手持式互聯領域,ARM隻能算作幕後英雄,真正的弄潮兒是Apple,Google和一些掌控着應用的公司。

ARM更似處理器的掘墓人。因為ARM的存在,處理器設計的門檻再不斷降低。以前沒有處理器設計經驗的Qualcomm和Apple之類的公司可以順利進軍這個領域。在中國的珠海,一些制作ARM SoC廠商的制作能力與設計速度令人歎為觀止,這已經使得歐美一些單純制作ARM SoC的傳統處理器廠商幾乎寸步難行。這使得Intel即便在處理器領域戰勝了ARM,也無法解決如何單純依靠內建電路去盈利這一問題。事實上幾乎所有的ARM SoC廠商也沒有解決好這一問題。

2012年這個世界将産出大約80億個ARM SoC,遠超過x86處理器的銷售量。隻有兩千左右員工的ARM向Intel清晰地傳達了一個事實,單純的處理器設計并不需要動用十萬員工。這并不是Intel真正需要面對的難題。Intel所需要戰勝的并不是ARM。從某種意義上說,Intel與ARM非但不是對手,而是盟友。他們有着相同的稱呼,處理器廠商。在不遠的将來,他們将共同面對即将到來的,針對處理器的挑戰。

這個挑戰首先來自作業系統。作業系統已經完成三次大的革新。最初的處理器并沒有作業系統,隻有一些簡單的批處理和任務排隊功能。在中小型機中,UNIX和VMS作業系統的出現奠定了現代作業系統大的基調。PC的興起極大促進了作業系統的發展,先後出現了CP/M和DOS以磁盤管理為中心的作業系統。這些作業系統的主要工作是管理基本的硬體資訊,并為使用者提供基礎的字元界面。這些作業系統屬于第一代作業系統。

第二代作業系統引入了圖形界面,滑鼠的發明極大降低了人機互動的難度。Apple和Microsoft的努力使得圖形界面的深入人心。這是一個屬于PC的輝煌時代。在這個時代,Intel和Microsoft在各自的領域并不是技術上的領跑者,卻和而凝結出一種令所有對手望而生畏的氣勢。峰之所至,無堅不摧。

前兩代作業系統以管理處理器硬體資源為核心。我們正在經曆着第三代作業系統。iOS和Android是第三代作業系統暫露頭角的辨別,以應用為中心的廠商依靠着這一代作業系統日益強大。這一代作業系統引入了Touch和Gesture等一系列輔助功能,但這不是這代作業系統最重要的特征。與前兩代作業系統不同,第三代作業系統的重心不再是管理處理器系統提供的基礎硬體;這一代作業系統不再是處理器微架構的衍生品;這一代作業系統是進一步服務于應用,硬體資源管理不再作為中心。

第三代作業系統也可以被稱為應用作業系統,主體是服務于應用,不再是硬體資源的管理者。運作在這一代作業系統中的應用程式也在參與着硬體資源的管理,使用者已經不需要了解過多的處理器知識,不需要了解磁盤目錄檔案這些細節。七八歲的孩童,七八十歲的老人都可以熟練地操作着這些應用。

這些應用的出現,使得作業系統與處理器之間的緊耦合已經被打破。這個年代将很難出現,Wintel聯盟因為x86與Windows水乳交融所形成的Chicken and Egg Question,也極大降低了ARM處理器進入PC領域,x86處理器進入手持互聯領域的難度。這一代作業系統的出現使得通用處理器與傳統作業系統已漸别這個時代的浪潮之巅。

處理器面臨的第二個挑戰源于自身發展的後繼乏力。通用處理器的誕生是電子資訊時代得以爆發式發展的基礎,摩爾定律的持續正确為處理器的進一步發展插上翅膀。但是摩爾定律并不是摩爾真理,總有失效的一天。至今,這一天不再是離我們很近,而是已經到來。在Intel的Tick-Tock計劃中,Tock已經越來越難引起更多人的關注,重要的是Tick。Tick的持續發展維護着摩爾定律的最後領地,卻已很難改變摩爾定律的最終結局。

在處理器微架構中,流水線的設計已成往事。我很難相信x86指令流水線的執行效率能夠明顯超越ARM或者是MIPS,反之亦然。指令流水線性能的提高隻剩下工程師在1/2,1/4個節拍中的精益求精,不存在質得飛躍。這使得本世紀初興起了一場多處理器革命,使用更多的處理器提高整個處理器系統的執行速度。這場革命尚未步入高潮,就已經遭遇瓶頸。

很多人意識到同構多處理器系統很難提高并行度,進而轉向異構多處理器系統,也進一步加大了處理器間總線互聯的壓力。在這樣的系統中,互聯總線的效率也決定了應用程式的執行效率。在多處理器系統中,需要首先解決的問題依然是進一步提高存儲系統的帶寬,并盡可能降低存儲系統的延時。返璞歸真,我們需要解決的問題依然在存儲器子系統中。

在Intel每一次的Tock中,重大的技術革新集中于存儲器子系統,引入了結構更加複雜,容量更加龐大的Cache Memory。Cache Memory系統不能提高運算類指令的執行效率,隻是在以存儲器為中心的處理器體系結構中,Cache Memory的效率決定了一個程式最終的執行效率。從體系結構層面上看,Cache Memory的設計方法已經趨于穩定,在整個科技界,即便在理論界,我也看不到哪怕是所謂的革新。

Intel在Cache Memory的領先源于工藝。制作工藝的領先使Intel可以在Cache Memory系統上投入更多資源。隻要Intel的競争對手沒有在制作工藝上迎頭趕上,就沒有可能在Cache Memory子系統領域中更勝一籌,就沒有可能在存儲器子系統的設計中超過Intel。依靠着在Cache Memory中的優勢,Intel屹立處理器領域之巅,所有競争對手望塵莫及。在存儲器子系統中大獲全勝的Intel,赢得了Server,并沒有赢得天下。

在比Server領域更加寬廣的手持式領域中,所比拼的并不是存儲器子系統,芸芸衆生使用電子裝置的主要目的不是用來算題或是為他人提供服務。即便僅考慮Server領域,Intel也正在面臨着更多的挑戰。存儲器的瓶頸與功耗嚴重阻礙了處理器系統的進一步發展。存儲器瓶頸的愈發嚴重,使得Server處理器需要更加龐大,更加複雜的Cache Memory系統與之比對。使用這樣的Cache Memory将使處理器系統的功耗持續上升。

存儲器瓶頸與功耗已經成為Server處理器進一步發展的障礙。因為存儲器瓶頸而增強存儲器子系統,因為存儲器子系統的增強,而進一步提高了功耗。從這種因果關系可以發現,似乎隻要解決了存儲器瓶頸問題其餘問題便迎刃而解。

這個問題卻很難解決,甚至可以說在以存儲器為中心的馮諾依曼體系(Von Neumann Architecture)中,這個問題幾乎無解。我們在試圖解決這個問題,并在試圖取得在某種意義上突破性的進展之前,需要重新讨論這個問題源自何方。

1945年6月30日,John von Neumann正式發表“First Draft of a Report on the EDVAC”這篇論文,簡稱為First Draft,這個設計草稿令整個科學界歡欣鼓舞,第二年John von Neumann,Arthur Walter Burks與Herman Heine Goldstine一道進一步完善了First Draft,發表了另一篇題為“Preliminary discussion of the logical design of an electronic computing instrument”的論文。這兩篇文章所闡述的内容被後人稱為馮諾依曼體系。

在此之前,世上并沒有處理器,隻有一些可以執行固定任務的電腦,有進行簡單加減乘除的電腦,求解微積分的電腦,求解倒數的電腦。在這個前馮諾依曼體系年代,科學家們為了進行新的科學計算,需要設計一款新型的定制電腦,需要重新搭建電子裝置。馮諾依曼體系改變了這一切,建立了計算機體系結構中最重要的組成原理,影響至今。馮諾依曼體系第一次引入了Store-Program計算理論,确定了一個計算機的五大組成部分,包括Arithmetic Logic Unit,Processor Registers,Control Unit(包括IR和PC),用于存儲指令和資料的Memory和輸入輸出裝置。

在這種體系中,計算機将按照程式規定的順序,将指令從存儲器中取出并逐條執行。在程式和資料中使用二進制表示方法,當一個計算課題發生變化後,隻需要更改Memory中的程式,而不需要重新設計一款新的電腦。

馮諾依曼體系極大化解了此前在電腦設計中的備援,可以将世上的絕大多數應用規約于一個統一模型,奠定了現代計算機體系結構的基礎。計算機的曆史是以揭開了新的一頁。這套體系誕生至今,在計算機體系結構中始終占據着主導地位。在計算機體系結構持續發展的幾十年時間以來,沒有任何理論能将其颠覆,更多的隻是在馮諾依曼體系之上的修修補補。

大規模內建電路的出現為馮諾依曼體系插上翅膀。基于這個體系的通用處理器最終成為可能。Intel與其他處理器廠商一道上演了通用處理器的傳奇。摩爾定律的持續正确使得處理器迅猛發展,處理器變得愈發強大,愈發廉價。通用處理器席卷了天下應用。通用處理器的大規模推廣與普及也奠定了當今電子資訊領域的基礎。

Von Neumann Architecture并不完美,在這種以存儲器為中心的體系結構中,存儲器必然成為瓶頸,這一瓶頸也被稱為Von Neumann瓶頸。這一瓶頸伴随着馮諾依曼體系的出現而出現,目前尚無有效的方法消除。Cache Memory的出現極大緩解了Von Neumann瓶頸,随後出現的Modified Harvard Architecture,Branch Predictor和NUMA體系結構進一步緩解了這個瓶頸。但是這種量的積累并沒有引發質變。馮諾依曼體系并沒有是以升華,直到今日存儲器瓶頸依然存在,而且愈演愈烈。

在今天的Server領域,幾乎所有應用都有一個相同的運作軌迹。I/O裝置首先将資料發送到存儲器子系統,處理器對資料進行處理後再交還于存儲器子系統,I/O裝置再從存儲器子系統中擷取資料,之後再做進一步的處理。在這種模型中,每進行一次運算,需要多次通路存儲器子系統。存儲器子系統必然成為瓶頸,使用再多的處理器也不能解決這些問題。

首先是作為數學家與實體學家的John von Neumann,從事計算機科學的出發點,是進行科學計算,他沒有預料到二十一世紀的今天,有這樣不學無術的一群人在這樣地使用計算機。在我們所處的這個時代,通用處理器的主要功能早已不是在進行風花雪月的數學計算。

通用處理器在一路前行的道路上,席卷天下,應用邊界在不斷的擴張。我們可以使用處理器進行文字資料,資料挖掘,上網聊天,打遊戲。在今天使用處理器的人群中,用其進行科學運算的屈指可數。為了專門算題買台PC或者Server的人,我一個也沒有見過。

今天的處理器如此科技,如此廉價,已被視作電子資訊領域高科技的象征。這導緻天下人對通用處理器的盲從,導緻了通用處理器能夠更加順利地席卷着天下應用。衆多應用的疊加,使得處理器遭遇了前所未有的存儲器瓶頸問題。可以預見,隻要通用處理器繼續吸納着更多的應用,存儲器瓶頸隻能更加嚴重,功耗将持續上升。

問題是我們為什麼要用通用處理器解決所有問題。通用處理器可以解決很多問題,但在這個世界上,許多問題的解決根本不需要使用通用處理器。馮諾依曼體系的提出是針對當時電子裝置高度定制化所産生的浪費,至今已時過境遷。在馮諾依曼體系之下,即便是即便是驗證i加j确實等于2的問題,也需要将程式與資料輸入到處理器,需要各種算術邏輯,資料傳送單元的共同參與,經過了諸多操作後,獲得最終結果。

如果僅是為了驗證i加j确實等于2的問題,倘若使用定制邏輯,隻需要使用一個加法器和一個比較器,并不需要通用處理器。但是在摩爾定律持續正确的年代,處理器持續着廉價。在多數應用場景中,使用通用處理器依然最為有效。即便是一些扭曲身形去迎合通用處理器的應用,也因為通用處理器的飛速進展,獲得了事實上的最優。在摩爾定律持續正确的年代,絕大多數采用定制邏輯而違背馮諾依曼體系的處理機制沒有獲得成功。

順勢而為是取得一定程度的成功的保障。在許多情況之下,即便你明知99%以上的人選擇了一條彎路,依然需要這種順勢而為。因為這99%的合力就算是在走一條事實上的彎路,也遠快過獨自一人走真正的捷徑,也更容易到達終點。

時過境遷,種種迹象表明摩爾定律不再正确。這意味着在面積大小一定的Die中将無法容納更多的半導體。使用通用處理器,無論是同構或者異構模型,在解決某類應用時,已經不再是最優方案,甚至不是次優方案。

通用處理器一路前行的道路,是與存儲器瓶頸不斷鬥争的曆史。從馮諾依曼體系誕生至今,通用處理器所面臨的主要問題依然是存儲器的延時與帶寬。在一個通用處理器中,存儲器子系統使用了絕大多數資源。在一個通用處理器中,如果去除L1,L2等諸多層次的Cache子系統,去除指令流水線中為了減輕存儲器瓶頸的各種預測機制和MMU後,所剩無幾。如今的通用處理器更是将主要的資源放在道路建設上,并沒有專注于應用問題的解決。

這種并不專注同時也意味着巨大的浪費,與John von Neumann的初衷不再吻合。John von Neumann所設計的體系是基于當時的認知,為了避免定制邏輯所造成的浪費。至今通用處理器本身已經成為最大的定制邏輯,在這個定制邏輯中,所關注的主要問題是如何修路,很多情況下是為了修路而修路,以容納更多的應用,即便有很多應用根本不需要這條路,也不需要依照馮諾依曼體系的要求去執行。

在這種趨勢下,存儲器瓶頸将持續存在,持續惡化。我們正在經曆着一個以應用為中心的時代。不同的應用對處理器系統有着不同的需求。這使得定制化與差異化重回議程。在一個通用處理器中,正在容納更多的定制邏輯,正在容納更多的加速子產品。這些變化使得所謂的通用處理器并不再是絕對意義上的通用。

ARM這個比Intel弱小得多的企業,依靠着并不領先的技術取得如今的成就,我認為最主要的原因是ARM為其他廠商的差異化與定制化提供了便利條件。電子資訊領域經曆了Mainframe Era,PC Era,Internet Era,而至Mobile Era時代。在這個名為Mobile的Era中, ARM身後隐藏的定制化與差異化已經成為Mobile的時代主題。

作為公司的ARM距離Intel還有相當長的一段距離,但是作為一個行業的ARM已經取得事實上的領先。從這個角度上說,不是ARM在手持互聯領域中暫時領先與Intel,而是在Mobile Era的時代,定制化與差異化在與通用化的較量中獲得了先機。

對定制化與差異化的最大挑戰是IC設計領域中客觀需要的規模效應。定制化與差異化的思路與此背道而馳。Intel使用單一産品覆寫絕大多數的應用,産生了規模效應,實作了利潤最大化,Gross Margin超過60%。采用ARM的定制化與差異化方案的任何公司都無法獲得這樣的Gross Margin。在Mobile Era中,手持處理器廠商呈百花齊放格局;在Mobile Era中,各式應用的不同要求使得相關的處理器進一步差異化。

單個廠商獲得60%以上的Gross Margin正在成為過去。目前Intel維持高額的Gross Margin主要依靠的是Mobile Era的Server領域。Intel的Main Stream處理器首先是針對Server的一種定制化,之後将這種設計簡化到PC領域,以獲得最大的規模化效應。Intel從Nehalem開始的Tock過程,事實上是一個針對Server的定制過程。今天的Intel已經不是憑借着PC的占有率去攻占Server,而是憑借着Mobile Era對Server的需求,維護着在PC領域中的地位。

在手持式領域,Intel的Medfield僅是一次嘗試,并不會給ARM的Cortex系列處理器帶來質的挑戰。整個業界窒息般等待着的是Intel在Atom處理器中的Tock-Tick,Silvermont和Airmont。Tick-Tock計劃在Atom處理器中的引入轉達着Intel對在手持式領域中,所遭受的一個接着一個失敗的憤怒。認真起來的Intel在處理器領域依然無敵,從純技術的角度上看,如果Intel的競争對手在晶片的制作工藝上沒有出現大的突破,那麼Intel出現功耗性能比超越世上任何一個ARM SoC處理器隻是時間問題。ARM陣營将對此沒有任何辦法。

隻是決定一個手持式處理器最終成敗的并非是處理器微架構的性能功耗比,購買手持式産品的最終使用者有幾人能夠了解處理器微架構。處理器微架構之外的音視訊效果,網際網路體驗,裝置提供商是否足夠的Fashionable更能夠吸引他們的眼球。

在手持互聯領域中,處理器進一步的定制化已經成為事實。在手持式處理器中,已經含有各類音視訊加速引擎。在一些基于Web的應用中,正在使用一些專用加速引擎去解析HTML,去解析Javascript。在這個領域中,通用處理器正在為定制化預留白間,在未來的幾年内,将會出現更多的加速引擎,進一步減輕處理器的負擔。

如果Intel将晶片制作工藝上的優勢僅僅轉化為處理器的性能功耗比,依然以處理器微架構為中心,所取得的成就将十分有限。我更期待在未來的幾年内,Intel能夠将工藝領先而獲得的額外資源用于定制與差異化邏輯,淡化處理器微架構在系統中的位置,進而為定制化和差異化提供空間。若僅在技術層面考慮,這将是其他處理器廠商的噩夢。

問題是如何為手持式領域進行定制化與差異化。在手持互聯領域中存在兩類公司,一類是Apple與Samsung,另一類是山寨。我不得不承認,這些生産手持裝置的廠商合在一起也不如Intel更懂矽晶片的制造,但是幾乎任何一家都比Intel更加了解芸芸衆生為什麼要買一個手持産品,也更加了解如何針對這些産品進行深度的定制化與差異化。

定制化與差異化也同時決定着,即便Intel能夠在技術層面上完全領先也無法取得其在PC領域中的地位,也是以無法獲得足夠高的Gross Margin。這些事實将會使Intel這個具有十萬員工的公司,在沒有一個Andy Grove般強勢有力的領袖時,很難在内部形成有效的合力。Intel在手持互聯處理器中的艱難在很大程度上是颛臾之憂。

在技術層面之外,第一類手持裝置廠商Apple與Samsung在為最終使用者提供各類産品的同時,還生産用于手持式裝置的處理器。在手持處理器這個領域,Intel要與這些既是運動員又是裁判員的第一類廠商競争,并不公平。這些内外之擾,決定了Intel即便在三年後制作出在技術層面超過Qualcomm的處理器,也沒有絲毫辦法主導這個市場。

在手持式領域中,也許依然存在着Chicken或者Egg,但是單純的處理器或者作業系統将不再是Chicken也不再是Egg。在Server,或者是其他Embedded領域,大量出現的定制與差異化邏輯已經使得處理器微架構在一個系統中逐漸偏離設計中心。

這些定制化與差異化的大規模出現,是因為許多人已經意識到有些應用并不适合處理器去解決,摩爾定律的事實結束使得通用處理器的效率無法繼續獲得線性加速比。很多人意識到我們似乎重新回到前馮諾依曼體系時代,那個隻有差異與定制的時代。

這些變化并不意味着處理器會消亡,隻是處理器不會在繼續通用化的道路上順利向前,并不會繼續作為絕對的中心。将有更多的應用将按照自己的特點使用定制邏輯,不再是交由處理器。這将進一步化解存儲器的瓶頸,進一步的降低功耗。這些變化将使我們迎來一個新的時代,一個屬于定制化與差異化的時代。

從技術的角度上看,定制化與差異化是消減存儲器瓶頸的有效手段。在Server或者是其他領域,如果一個應用的90%以上工作可以交予定制邏輯,剩餘的10%再交予處理器,以目前的半導體技術,存儲器将不再是瓶頸,處理器系統的功耗也将随之降低。

但我認為這并不是定制化的主要方向,定制化邏輯并不一定要隸屬于處理器。在未來,定制邏輯之間,帶有智能功能的外部裝置間可以直接互動資訊而不必通過處理器。在這些智能裝置中可以含有馮諾依曼體系的處理器,也可以沒有。

在資料中心的應用中,如果智能網卡可以通過與智能盤卡之間的直接互動,而不是全部通過通用處理器,我們将可以不再使用機器人去維護這樣的系統,也不需要使用專門的電力通路。這種裝置的運作有如人體,肢體器官間存在着更多的下意識行為和更加自然的操作,不必全部由大腦指揮。

我沒有理論與資料驗證這一結論,隻是自覺告訴我這種智能裝置将很快出現,将有更多的應用遠離通用處理器系統。在可以預見的将來,各類定制化與差異化應用将繼續着劈波斬浪。這是一個年輕人可以持續着向廣袤神秘的未知領域挑戰,是一個可以持續着帶來新希望的大應用時代。在摩爾定律即将且正在結束的時代,定制化與差異化的時代視窗将再次開啟。隻是這一次,我們不知道何時還能再有馮諾依曼。