1. 程式人生 > >逃離x86架構-----CPU體系結構CISC與RISC之爭

逃離x86架構-----CPU體系結構CISC與RISC之爭

               

轉載:http://hi.baidu.com/zaoyuan1217/blog/item/59015b11e8385d165baf534e.htmlx86架構誕生

 Intel 8086是一個由Intel於1978年所設計的16位微處理器晶片,是x86架構的鼻祖。不久,Intel 8088就推出了,擁有一個外部的8位資料匯流排,允許便宜的晶片用途。

    早在1981年,IBM公司推出了基於Intel 8088處理器的個人電腦(PC);和8086處理器相比,它是一臺低價格,低效能的處理器。儘管在當時Motorola MC69000處理器的效能也相當不錯,但是IBM這樣選擇的理由是因為8088處理器已經能夠對地址匯流排進行“複用”,並且匯流排寬度達到8位

,和以往相比,大大減少了整個系統的開銷。由於當時沒有晶片組這一概念,因此資料和指令的儲存和讀取都要依靠主機板上的特殊閘電路,這些部件也是8位的寬度。如果使用Mortola MC69000處理器的話,那麼在相同功能的情況下,主機板需要更多的此類部件,因此大大增加了主機板的製造成本。儘管有人建議,Mortola MC69000有助於系統性能的提高,但是IBM固守“簡單就是美”的原則,毅然選擇了8088處理器。    IBM的“生死抉擇”卻給軟體開發者帶來災難性的影響(當時沒有充分意識到)。由於處理器採用了808X的架構,因此資料和程式碼只能在64KB的範圍內進行訪問。如果某一個程式需要使用超過64KB的記憶體,那麼程式不得不使用16位的段地址和16位的偏移地址組合,來達到20位的資料訪問範圍
。當時的程式設計師就為16位到20位的地址轉化傷透了腦筋。在程式的編譯過程中,也引進了相應的記憶體使用模式(小型,中型,大型,巨型)。系統整合的組合語言在程式編寫時,必須指明是近程呼叫(near call)還是遠端呼叫(far call)。如果要把8088處理器的程式移植到如MC68000機時,就必須把地址擴充套件成32位,這個過程非常繁瑣。    儘管64KB的限制是IBM個人電腦的一個死穴,但是當時IBM PC的市場銷售額非常不錯。8088處理器和DOS作業系統能夠支援大部分的應用軟體,因此IBM的個人電腦推出不久就受到各界的好評;而對於64KB的限制,人們似乎沒有太多的關注。隨著PC的成功推出,IBM著手於
X86系統架構標的制定,並且希望成為全球最大的電腦製造商。Intel和Microsft都參與了此標準的定製,並且攜手進行個人電腦的開發。    第一個x86架構的“嬰兒”便是於1985年推出的32位的80386處理器(386處理器)。當時,大部分的作業系統(或者準作業系統)還是16位模式,因此程式設計師也必須進行地址的轉化,這個令人厭煩的轉化工作直到Microsoft公司釋出了第一款32位的作業系統Windows 95時,才得以解決。Windows 95是第一款使用32位地址的作業系統,它能夠對32位空間的資料進行讀寫操作,並且80386處理器的內部有7個通用暫存器(GPRS)    從19世紀80年代開始,X86架構快速的發展著。同時,RISC(精簡指令集)架構也受到人們的關注,並且有不少成功的產品,如SPARC ,PA-RISC,MIPS等。從價格上而言,X86架構的PC機最便宜;而那些基於RISC處理器的大型機價格昂貴。但是在架構上,PC機和大型機有非常多的相同點,它們都有著良好的軟體支援,並且整合組合語言。    它們之間第二個相似點就是PC和大型機的檔次通常用以整體的價效比來決定,而不是隻決定於CPU的處理能力。可靠性,可用性,和功能性是用於衡量機器效能的主要標準。PC機和大型機的定位也相當的明確,在1980年,一臺PC機的價格只要幾百美元,而大型機的架構至少要上千美元;在功能上,PC機定位於整數的運算,而大型機卻是以浮點數的運算來衡量效能的高低。    儘管PC機和RISC大型機在價格和功能上定位不同,但是在1990年初,Sun Microsystems公司推出了桌面的微型RISC系統“MicroSPARC”。為了能夠穩固自身的地位,針對Sun公司這個行為,Intel公司不久後就推出了效能和MicroSPARC相當的Pentium Pro處理器,Pentium Pro處理器是X86架構發展過程中的一個里程碑。 Pentium Pro 處理器首先在x86體系中引入了“微指令”的概念,即一條指令能夠完成原先幾條指令的操作。在256KB二級快取的協助下,微指令使得系統的整體效能有了突破性的飛躍。當時由0.35微米制成技術製造的Pentium Pro處理器可以和原先任何一款RISC處理器叫板。在當時,Pentium Pro的驚人效能在PC的製造界產生了巨大的影響,那些原先RISC的支持者不得不重新審視起x86架構來。儘管x86架構存在GPRS數量過少,序列的通訊指令過於複雜,記憶體操作不便等缺點,但是RISC的開發者們不得不承認,當時的RISC架構達不到Pentium Pro的效能。揭開X86的真像    隨著經濟的不斷髮展,x86處理器的應用範圍越來越廣,但是人們似乎漸漸忘卻x86架構的不足。在x86架構的發展過程中,它微處理器(MPU)或多或少的佔據著領先的地位。為了保持領先,個人電腦的發展似乎脫離了IBM原先“簡單就是美”的初衷。CPU的製成技術快速的發展著,整合的電晶體數量也基本按照莫爾定律增加。當CPU整合的電晶體數量超過1百萬後,“製成工藝”和“電晶體整合度”成為衡量系統性能的另一個標準。    同時,基於RISC處理器的大型機也不懈的發展著,儘管在製成技術上不及X86架構,但是它的整數和浮點數效能要高於X86架構。以下是1993年至今,x86效能和RISC的比值。圖 x86/RISC 效能比 vs製成工藝上圖分為兩個部分,上半部分是x86/RISC的效能比。可以看出,在整體上,RISC的效能要高於x86(x86/RISC<1),但是它們之間的差距正在逐漸減少。其中Pentium Pro ,P4/1.5 ,P4/3.06這幾款CPU的效能已經超過了同期RISC處理器的效能。圖的下半部分是x86和RISC製成工藝的對比。    Pentium Pro推出時,x86架構系統和RISC處理器系統的分工就相當的明確。

    RISC系統針對高階的伺服器市場,CPU和所有的部件都必須確保系統的“穩定性”,即使降低10%的效能也要儘可能的提高系統的穩定性。因此RISC 處理器必須經過詳細,嚴謹的設計,並且需要通過一系列嚴格的測試。因此大型機的CPU非常昂貴,每一代的CPU一般只推出2~3種不同頻率的產品,因為企業不可能在系統升級上不斷的投入昂貴的費用。

    相比之下x86架構系統主要針對個人使用者和小型的商用系統。和RISC相比,x86的價格要低1~2個數量級,它主要是確保系統的效能,或者儘可能的提高系統的價效比。因此針對同一代的CPU,它會推出7~8種不同頻率的產品。例如Intel Northwood Pentium 4的整個推出的過程中,一共釋出了7種不同頻率的產品。圖  產品推出力度對比上圖清楚的表明,在同一代產品中,RISC系統一般只會推出2-3種產品,而X86架構會有7-8種的產品。因此後者的粒度要比前者細的多。這也說明RISC系統的CPU一旦設計定型,就會進行製造和測試,在產品最後釋出之前,儘可能的改正設計中的錯誤,因為RISC昂貴的價格決定一旦CPU的設計存在問題,那麼這就是一款失敗的產品,在市場上就不會有立足之地。而x86的CPU價格較低,因此它不斷推出的產品能夠彌補以往設計中的不足,不同產品在於佔領不同的市場。  X86=永恆?    隨著X86架構的不斷成熟,人們逐步開始認識到其本身的限制和不足(例如32位的X86架構的定址空間只有4GB),但是巨大的商業利益和強勁的軟硬體的支援,使得x86的架構難以動搖。儘管在x86的發展歷程中,也有不少的體系設計用於代替x86架構,但是它們都因為得不到廣泛的支援,最終以失敗告終。其中,影響較大的是以下3次“x86革命”。第一次革命:MIPS/ACE 聯盟    1991年4月,Compaq, Microsoft, DEC, MIPS和一些小型的計算機公司成立了高階計算環境(ACE)小組,他們的目的在於使用基於RISC處理器的MIPS架構來取來現有的x86/IBM個人電腦。 但是由於MPU上市日期的延遲,ACE小組的內部競爭,以及利益分成的問題,使得ACE小組的發展舉步為艱,最後以失敗而告終。第二次革命:Apple/IBM/Motorola (AIM) 聯盟    同樣在1994年4月底,Apple Computer, IBM 和 Motorola組成了AIM聯盟,目的在於把RISC處理器用於個人電腦系統。Motorola 和IBM聯手對POWER架構進行重新設計,用於取代原先Macintosh系統中逐漸衰落的680X0 CISC處理器。POWER架構給Mac系統帶來了巨大的成功,它的效能要比原先的Mac大大提高。但是x86架構的發展始終要快於PowerPC ,而且PowerPC沒有任何的價效比優勢,因此不多久,Mac機就在x86架構面前敗下陣來。在Intel和Microsoft巨大的壓力下,1994年8.3%的市場佔有率也緊縮到目前的3%。第三次革命:DEC/Samsung    1996年年底, DEC的晶片製造部門(原先的Digital Semiconductor公司)釋出布了21164PC。它是原先高效能處理器21164A(EV56)的PC版,因此價格較低,並且使用了微軟的Windows NT作業系統。由於缺少相應的軟體支援,DEC開發了FX!32模擬器,它能夠把原先X86的軟體無縫的應用到21164PC平臺。儘管CPU的價格低廉,但是支援21164PC的主機板卻非常昂貴。而且在當時,人們對NT作業系統並沒有表現出多大的興趣,因此21164PC慢慢的在X86架構發展中退出了歷史舞臺。    上述例子中的MPU製造商失敗的主要原因就是跟不上Intel CPU的發展速度。Intel不斷進行著新型的CPU設計,並且以價格來爭取市場;上述的三種新型CPU架構都是被Intel強大的馬力所拖垮。其中,MIPS/ACE 聯盟主要是資金的問題,而AIM聯盟的失敗歸咎於CPU的設計跟不上Intel的發展速度。Intel的自我革命    目前的事實告訴我們,當今幾乎不可能有其他的MPU製造商使用其他的系統結構,來挑戰Intel 現下相容的X86平臺;其他的晶片製造商也沒有雄厚的資金和實力來和Intel公司進行抗衡。人們考慮:是否Intel公司自己會提出一種全新的架構;或者Intel是否會脫離IBM的x86標準來發展自身的Wintel體系架構(Wintel:Windows作業系統和Intel處理器)。近幾年,Intel致力研究的Itanium(安騰)處理器IPF Itanium Processor Family)似乎有取代x86的趨勢。Intel也宣佈,Itanium會首先使用在伺服器上,然後過渡到PC平臺,最終在移動平臺上實現    安騰處理器是構建在IA-64(Intel Architecture 64) Itanium是英特爾最初的基於64-位體系的微處理器Intel 的IPF主要針對RISC處理器原先佔有的中高階伺服器市場。Intel推出64位的處理器只是一個時間的問題,可能在目前而言,還為時過早;但是Intel的競爭對手AMD公司已經在今年推出了x86架構的擴充套件―――64的處理器和系統平臺。AMD 64位的架構並不是全新的架構,而是對原先32位的x86架構進行擴充套件,突破了4GB定址空間的限制;但是64位的計算環境卻在業界產生了巨大的影響,它成為Intel IPF技術的挑戰者。姑且不論AMD 64位架構推出時機是否合適,但是業界普遍認為64位的架構會在5年內成為主流的桌面PC架構,同時AMD的這一舉措也加快了IPF處理器的推出。   IPF技術是由Intel和惠普聯合研製,取得了一定的成績。但是目前的IPF處理器核心尺寸,電源功耗都決定了其不能使用在桌面系統上。IPF採用0.18微米的製成工藝,和Alpha EV(397mm2,125W),POWER4(415 mm2,115W)相比,Itanium 2處理器的尺寸為421 mm2,電源功耗高達130W。    在隨後的,代號為Madison/Deerfield的Intanium 2處理器中,Intel使用了0.13微米的製成工藝。1.3GHz的Itanium 2處理器的最大發熱量和2.66GHz Northwood Pentium 4相當。和2.66GHz Pentium 4相比,1.3GHz Itanium2的整數運算效能有了10%的提高,浮點數效能有了50%的提高。在高階的優化技術下,IPF的效能要比原先同等頻率的處理器高出整整一倍,而且隨著IPF技術的成熟,這種差距會愈加擴大。    儘管在硬體的技術上,AMD和Intel都已經相當成熟;但是AMD 64位的系統和Intel的IPF都不得不面臨一個相同的問題:缺少軟體的支援目前支援AMD 64位系統和IPF技術的只有Window最新的作業系統。AMD公司和Intel公司對於64位架構的研發上都或多或少面臨“雞生蛋,還是蛋生雞”的尷尬局面。64位的架構必須有軟體的支援才能發揮應有的功效,同樣軟體只有憑藉64位的架構才能進行開發。業界人員保守的估計,64位的軟體至少要3-5年才能普及起來。    對於IPF處理器而言,它和原先x86架構下的處理器有什麼本質的不同呢?如果不考慮AMD的64位擴充套件x86架構,在相同的電源功耗,相同的費用,相同的製成工藝下,IPF處理器在整數運算上的效能會高出20%-30%,浮點數和DSP的運算效能會有50%的提高。結論:革命尚未成功,同志仍需努力   “說要比做的容易。”隨著IPF技術的成熟,32位x86架構缺陷的不斷出現,IPF取代x86架構勢在必行。但是一旦真正的進行“改革”。IPF(或者其他架構)必定會受到來自各方面的壓力和阻礙。樂觀的估計,IPF取代x86成為主流的架構至少要在2005年以後。如果考慮到來自AMD 64位的x86的架構阻撓,那麼整個改革的之間會更長,甚至有失敗的可能。我們深知,每一項新技術的應用,都會伴隨著出生時的陣痛;但是對於未來卻是一片光明。Intel的IPF如此,AMD的64位架構也是如此。在PC發展歷程中,正是這些一次又一次的陣痛,不斷推動著整個IT界發展,使IT界保持旺盛的發展力。也許這些陣痛可能會帶來難產,使得嬰兒死於襁褓之中;但是每一次成功的誕生,都會給IT界帶來一個全新的世界。不管X86架構未來如何,我們都期待著會有一個嶄新的明天。 CPU體系結構CISC與RISC之爭(轉自pcpro.com.cn)    在PC發展之初,除了成熟的CISC指令架構外,IBM沒有更好的選擇,原因很簡單,更先進的RISC架構在1975年才出現,且只針對超級計算機領域,當時沒有人意識到PC會有如此之大的發展,只是將它作為計算產品的一種補充而已為圖省事,IBM乾脆就選擇了Intel作為微處理器晶片的合作伙伴,而Intel所創立的X86指令系統便屬於CISC架構。    我們有必要對指令架構、CISC、RISC之類的概念作明晰的解釋。眾所周知,微處理器的基本邏輯是執行指令的電路,計算機的任何一個程式都是由或多或少的基本指令組成,而指令本身又是由若干個微操作構成,例如對兩個二進位制數進行加減運算,或者將結果送進暫存器中等等。瞭解組合語言或機器語言的讀者對此應該比較清楚。這些基本指令被稱為微處理器的微程式碼(Microcode),指令數量越多、完成微操作所需的邏輯電路就越多,晶片的結構就越複雜。每個處理器開發商都可以自己定義出一套指令系統,但如果指令系統不相同,構成軟體的指令也不相同,這樣就無法實現軟體相容。在專用計算機時代,這種情況十分普遍,各個計算機廠商都獨立發展指令系統、微處理器、計算整機和軟體,不同廠商的軟硬體產品無法相容使用,其原因就在於微處理器的指令系統採用不同的定義。然而,儘管當時指令系統種類甚多,它們卻都歸屬於CISC架構—CISC的英文全稱是Complex Instruction Set Computer,意為“複雜指令系統計算機”。它的特點是指令數量龐大臃腫,每個指令不管執行頻度高低都處於同一個優先順序,程式設計師的程式設計工作相對容易。但它的致命弊端是執行效率低下,處理器的電晶體被大量低效的指令所佔據,資源利用率頗為低下。當IBM成功發展出RISC系統之後,CISC迅速被超級計算機所拋棄。但機緣巧合,它卻在PC上獲得新生,為了保持軟體相容,PC必須一直延續X86架構無法脫離(IBM將標準制定權讓給Intel,最終葬送了自己在PC領域的前途)。後來加入微處理器戰團的Cyrix、Rise、AMD、IDT等廠商無一不是如此,PC朝著X86道路漸行漸遠,從8位、16 位、32位一直擴充套件到現在的64位,雖然它依然有旺盛的生命力,但背後的一系列缺陷也逐漸顯現:晶片設計臃腫不堪,能源利用率低下,效能與電晶體規模相當的RISC產品根本不在一個水平線上。圖1依據80/20法則劃分的“冷程式碼”與“熱程式碼”概念——前者佔據X86指令總量的80%,後者只佔據20%。與之相應,冷程式碼執行單元佔據絕大多數硬體資源,而高度活躍的熱程式碼執行單元所佔據的硬體資源反而要少得多PARROT優化之後,熱程式碼執行單元被大大加強,冷程式碼單元則被相應縮減,在電晶體規模不變的前提下實現效能的跨越式提升。    相比之下,RISC(全稱Reduced Instruction Set Computer,精簡指令系統計算機)則是一套優化過的指令架構,它是根據著名的80/20法則所訂立。早在上個世紀60年代,電腦科學家們發現,計算機中80%的任務只是動用了大約20%的指令,而剩下20%的任務才有機會使用到其他80%的指令。如果對指令系統作相應的優化,就可以從根本上快速提高處理器的執行效率。IBM公司在1975年成功開發出第一款RISC處理器,從此RISC架構開始走進超級計算機中。由於指令高度簡約,RISC處理器的電晶體規模普遍都很小而效能強大,深受超級計算機廠商所青睞。很快,許多廠商都拿出自己的RISC指令系統,除了IBM的Power和PowerPC 外,還有DEC的AlphaSUN的SPARCHP的PA-RISCMIPS技術公司的MIPSARM公司的ARM等等。它的應用範圍也遠比 X86來得廣泛,大到各種超級計算機、工作站、高階伺服器,小到各類嵌入式裝置、家用遊戲機、消費電子產品、工業控制計算機,都可以看到RISC的身影。只不過這些領域同普通消費者較為脫離,故而少為人知。    無論在執行效率、晶片功耗還是製造成本上,選擇RISC都比沿用X86更加英明。我們不妨作一番實際的比較:目前Intel公司最快的處理器是 Prescott核心的Pentium 4 XE系列,它的電晶體總數在1億7800萬個以上,最高功耗達到130W,但它的運算能力不超過20GigaFlops(FLoating point Operations per Second,每秒浮點運算)。而目前最快的RISC處理器是IBM推出的Cell,它的電晶體總數為2.34億個,在採用90納米工藝製造時芯片面積為221平方毫米,但它的運算力高達2560GigaFlops,整整是Pentium 4 XE的128倍。Intel將在年中推出雙核心的Smithfield,效能最多能有80%的提升,而晶片規模將達到與Cell相同的水平。由此可見,二者完全不是一個層面上的對手,X86指令系統的低效性在這裡一覽無遺。與此對應,RISC產品在成本上優勢明顯—半導體晶片的製造成本同芯片面積三次方成正比。在工藝相同的情況下,芯片面積大小取決於所整合的電晶體規模。RISC處理器核心精簡、效率更高,只要很少的電晶體就能達到與X86產品媲美的效能,製造成本可大大低於現有的X86處理器而小電晶體規模亦有助於保持較低的能耗值,RISC處理器在這方面表現相當傑出,現在的嵌入式裝置幾乎都採用 RISC產品,原因就在於這類產品的功耗值超低。 過去,PC鍾情於X86的原因在於軟體相容,尤其是微軟只為X86 PC開發Windows系統,這也被認為是PC採用RISC架構的最大障礙。這個障礙最終也將被解除,Linux作業系統逐漸發展成熟,Mac OS X的綜合水準更遠在Windows之上,辦公、圖形、網路、多媒體相關的各類跨平臺應用軟體極大豐富。如果你是一個遊戲玩家,RISC平臺一定會令你大呼過癮,於2005-2006年釋出的索尼PS3任天堂Revolution微軟XBOX等新一代遊戲機產品將全面轉入RISC體系(有趣的是,三種遊戲機都採用IBM所設計的處理器,指令系統相同),短時間內許多品質一流的配套遊戲軟體將會大量湧現。只要指令系統相同,這些遊戲完全可以實現平滑移植。    單從技術角度考慮,以RISC取代X86作為PC的主力架構的確是非常英明的選擇,更高的效率、更快的速度、更低的成本以及同樣豐富的軟體支援, RISC PC將展現出勃勃生機。然而,這一切似乎不容易實現,無論Intel、AMD還是微軟,它們的輝煌成就都構建在X86的基礎之上,轉向RISC對它們來說無異於釜底抽薪。目前執著發展RISC PC的只有蘋果公司,它們的全系列PC都基於IBM的PowerPC指令架構。不幸的是,儘管蘋果公司大名鼎鼎,但它對整個市場的影響力極其有限,PC轉向RISC最大的障礙不在於技術或相容性,而是缺乏一個實質性的領導者,但有跡象表明,藍色巨人(IBM)對此有著強烈的意願,RISC能否把握住PC的下一個三十年盡皆取決於它。即便不採用RISC架構,我們仍然可以藉助它的思想對X86處理器進行結構性改良。事實上,X86處理器一直都從RISC產品中獲取靈感,包括EV6匯流排、整合記憶體控制器、超執行緒技術、雙核心等等新技術新概念都是首先在RISC產品中得到成功應用,之後才被Intel/AMD引入到X86處理器當中。實踐證明,這種做法往往對X86處理器的效能提升有著決定性的影響,而從RISC汲取營養也就成為X86業界的習慣做法。    不過,上述這些技術改良都只停留在應用層面,指令體系的根本差異成為X86與RISC之間的壁壘,若能借助RISC理念對X86處理器進行結構性改良,也許可獲取更大的效益。Intel在IDF技術峰會上提出的“PARROT”概念便充分體現了這種思想。PARROT的全稱是“Power AwaReness thRough selective dynamically Optimized Traces”,從其名稱不難得知,PARROT是一項藉助“動態優化執行路徑”來提高處理器執行效率的技術。它的理論基礎也是著名的80/20法則,但與RISC不同,X86處理器無法從指令系統層面上實現這一點。,Intel另闢蹊徑,提出了一個全新的發展思路,將20%的常用指令定義為“熱程式碼(Hot Code)”,剩餘的80%指令使用頻率沒那麼高,被定義為“冷程式碼(Cold Code)”。對應的CPU也在邏輯上被劃分為兩個部分:一是熱核(Hot Spot),只針對呼叫到熱程式碼的程式;另一部分則是冷核(Cold Spot),負責執行20%的次常用任務。由於熱核部分要執行80%的任務,設計者便可以將它設計得較為強大,佔據更多的電晶體資源。而冷核部分任務相對簡單,沒有必要在它身上花費同樣的功夫。理論上說,設計者可以將80%的電晶體資源用在熱核上面,使之高效率執行任務,剩餘的20%電晶體資源則用於僅完成20%任務的冷核。相比之下,現在的X86處理器完全沒經過結構優化,所有指令地位對等,80%的次常用指令佔據了大量的電晶體資源,又沒有創造出相應的價值,晶片內只有20%的區域處於活躍狀態,這顯然不夠科學。    “PARROT”創造了一種嶄新的雙核概念,過去我們談論的雙核心指的是在一枚晶片內整合兩個對等的CPU核心,通過並行運算獲得性能增益,我們可以將它看作是橫向維度的對等設計。而“PARROT”則是一種縱向維度的雙核理念,熱核與冷核地位並不對等,且無法獨立運作,只能說是一個CPU核心中的兩部分分立邏輯。它所起到的是提高CPU的硬體資源利用率,以高執行效率達到高效能的目的,這種做法顯然比目前業界鼓吹的“雙核心”更具革命意義。我們不妨深入分析“PARROT”的微架構(圖2所示),處理器執行管道被分為“冷管道(Cold Pipe)”和“熱管道(Hot Pipe)”兩部分,二者都擁有彼此獨立的取指和執行單元,當處理器讀取程式指令時,會預先對其作分析,以判定它是歸屬於“熱程式碼”還是“冷程式碼”。若為活躍的“熱程式碼”,則將其送入“熱管道”邏輯進行高效處理;如果屬於“冷程式碼”,那麼將其送入“冷管道”邏輯處理,所得結果最終再作彙總輸出。圖2 PARROT微架構,CPU被劃分為相對獨立的兩個執行管道。圖3所示為“PARROT”處理器的詳細執行路徑情況,我們可以看到,“冷管道”部分相對簡單,只有“指令快取(Instruction Cache)”、“冷執行單元(Cold Execution)”和“分支預測單元(Branch Prediction)”,佔據少量的電晶體即可。而“熱管道”部分則顯得相當複雜,它由“追蹤快取(Trace Cache)”、“追蹤預測單元(Trace Prediction)”、“熱執行單元(Hot Execution)”、“追蹤優化(Trace Optimizer)”以及“追蹤選擇過濾&構建(Trace Select Filter&Build)”等幾大邏輯單元共同構成,每個邏輯都被設計得儘可能強大。計算結果生成之後,再由“同步合成單元(Synchronized Commit)”組合彙總,最後才通過前端匯流排輸出給計算機記憶體,由此完成整個運算過程。圖3 基於PARROT思想的X86處理器邏輯結構—冷程式碼與熱程式碼在執行階段被彼此分離。    PARROT的新奇思路令人耳目一新,通過對執行單元的結構性優化,X86處理器可以說是獲得了重生。設計者可以對“熱核”部分進行大大強化,使之擁有更高的效能,在執行多數任務時使用者都可感覺到立竿見影的效能提升,而對於冷核的必要壓縮則大幅度節省了電晶體資源,並可達到明顯降低晶片功耗的目的。設計者可以在電晶體規模不變的前提下,讓X86處理器獲得數倍的效能提升。毫無疑問,PARROT對於深陷困境的X86架構無疑是雪中送炭,X86處理器將因此出現跨越性的技術進步。而換個角度看,PARROT完全可以說是RISC思想的偉大勝利,80/20法則再度成為魔法的關鍵,只不過,上一次 IBM基於此建立了偉大的RISC指令系統,而這次是Intel在保持X86軟體相容的前提下,成功實現了對微處理器結構的優化,兩種做法可謂是殊途同歸。據悉,PARROT技術將在2007年開始進入實用,“Merom”將成為首款基於PARROT思想的處理器核心。大家一定看過這樣的新聞:2007 年Intel的伺服器處理器、桌面處理器和移動處理器都將採用“Merom”核心,無論效能還是功耗都將有出色的表現,我們有足夠的理由對它寄以厚望。