星期日, 11月 04, 2007

延期的電腦王十一月「達人之路」造成棘手麻煩的內容

嗯,這兩三天被「關切」的很厲害。沒辦法,因為當初異想天開,想要東施效顰全防187期「ATFski-俄羅斯的折翼戰機 I-1.44/3-37」的論述結構(這篇則是模仿全防某期FLAK介紹美國極光極音速偵察機的方式),結果還真的造成難以像像的麻煩,寫起來綁手綁腳。

下面的內容不見得會沿用在十二月出刊的電腦王,所以姑且就貼出來 吧。

「P6計畫有幸於整個設計團隊在這之前,都毫無設計任何x86處理器或在Intel工作的經驗。(The P6 project was blessed with a team whose members either had never worked on Intel’s x86 chips or had never worked at Intel.)」P6處理器總架構設計師Robert Colwell在回憶錄「The Pentium Chronicles」第一章序言的結尾,表示P6的設計並不陷入英特爾既有的思考巢臼,自縛手腳,經驗固然重要,但資源與包袱往往是一體的兩面,當你面對的是全新的環境與挑戰,放下固有的思維與遺產,反而會有意想不到的收穫。

繼上期廢話連篇…呃,要言不煩、洨以大液…不對,長篇大論的解釋Pentium Pro的誕生背景、市場考量,與一個成功處理器微架構應具備的條件,本期就進入正題:相較於1990年代初期的競爭對手,P6的設計究竟有何過人之處,可以讓Intel維持長達數年的市場優勢?

相同製程的兩倍P5效能:回顧P6的原始計畫需求

在P6專案啟動之初,Intel高層就設定了頗具野心的目標:使用相同製程技術時,P6的效能可以達到P5的兩倍。換言之,如不採取截然不同的設計路線,難以實現這在當時簡直豪洨到讓人精盡人亡的遠大理想。更何況,那時候也沒人知道P5究竟還有多少發展潛力與潛在瓶頸。

回顧P6的原始計畫需求,Intel對P6的期望是三個S:「超管線(Superpipeline)」、「超純量(Superscalar)」與「延展性(Scalability)」。

首先,階段更多、深度更深的「超管線(Superpipeline)」,可提高運作時脈與未來的成長空間,這個能力除了產品推出之際就能取得效能優勢外,也可以強化未經最佳化應用程式的表現,擴大應用範圍。

在長期市場競爭中,這種能力更能徹底改變處理器廠商的勢力版圖和研發進程:高效能x86處理器的開發時間動輒三四年(Pentium Pro是「四百壯士」奮鬥四年半的血淚結晶),投入經費動輒上億美元,假若產品壽命僅一兩年,不但需迅速進行新產品的開發,難以採取前瞻性的設計與電路製程最佳化,而且先前產品的投資是來不及回收的,最後就會陷入惡性循環,持續以卵擊石,逐步消耗殆盡。

我們回頭檢視從1995年Pentium Pro誕生到2000年Pentium 4問世的六年間,Intel的諸多競爭對手,AMD陸續推出K5/K6/K7,Cyrix發表M1/M2/III(得加上被腰斬的M3「Jalapeno」),IDT/Centaur更在三年內就催生C6/C2/C5,外加「插花」的Rise mP6與Transmeta Crusoe,除了AMD K7曾率先出衝破1GHz大觀、短暫威脅Intel外,沒半個具備挑戰P6的本錢,但P6的勢力版圖早已迅速擴展到各個領域,無人能擋。

其次,「超純量(Superscalar)」則是在無須重新編譯程式碼的前提上,單一時脈週期內至少擷取、解碼、執行、寫回超過一個指令的能力,處理器需具備複數的指令解碼器(擁有Trace Cache的NetBurst是極罕見的例外)與執行單元。即使處理器設計傾向於透過拉高時脈來支撐效能,但礙於記憶體系統的瓶頸與應用程式的特性,真正的實際效能表現與時脈成長幅度相去甚遠,難以避免加寬指令執行寬度。在Pentium Pro之前,Pentium已是x86世界第一個採用超純量架構的處理器,只是有著執行單元使用率不彰的問題。

值得注意的是,超管線結合超純量後,為了更加有效利用龐大的內部執行單元,降低暫存器相依的影響,就衍生出非循序指令執行能力(OOOE,Out-Of-Order Execution)的需求。講的更遠一點,OOOE整合動態分支預測,指令預測執行能力(Speculative Execution)就呼之欲出了。

不過,越複雜、寬度越寬的超純量設計往往越不利於高時脈,兩者之間需取得平衡點,近期IBM Power6就是最好的例證:時脈4.7GHz的Power6,相較於時脈僅有一半的Power5 2.4GHz,其效能領先幅度只有40%,因為IBM為了提高時脈,大幅簡化非循序執行核心到幾乎「殘廢」的地步。在後面,我們將看到Intel在這部份的取捨與折衷。

至於「延展性(Scalability)」著眼在原生支援多處理器環境,尤其是不需要特殊的系統連接晶片組(Glue Logic),就可構建多處理器伺服器及工作站的擴充能力,這在當時,都是高階RISC處理器與CISC大型主機的專利。

值得注意的是,對那時候的Intel而言,IBM/Sun/SGI/HP等Unix廠商的多處理器系統架構實在太花錢,對進攻該市場仍成敗未卜的P6來說,成本控制也會有不好的影響,因此依然以簡單的FSB(Front-side Bus,前端系統匯流排,相對於連接L2快取的Back-side Bus)為基礎,在強化快取資料一致性協定(Cache Coherence Protocol)與新增分割交易傳輸(Split-Transaction)之外,作最小限度的考慮。

事後證明,P6多處理器系統的低成本與低價格,讓x86在短短的數年內,就幾乎吃光四處理器以下的伺服器/工作站市場。反過來說,FSB多處理器架構因太過成功,反而變成日後Intel的包袱,與平白送給AMD的機會,而這又是另一個完全不同的故事了。(以下省略一萬字)

3 則留言:

Netsphere 提到...

恩 蠻有趣的歷史故事 ^^

匿名 提到...

人家臺灣或中國的大老闆一看到你開發要幾十億美金, 早就給你計劃劃掉部門裁掉了, 還給你開發....

匿名 提到...

買了十月份電腦王的『洨費者』,還真是痛苦...

文章看到一半沒了,就好像只能『半洨』一般啊~~~~~~~~ XD