PowerPC架構與X86架構


PowerPC架構
PowerPC是一種精簡指令集(RISC)架構的中央處理器(CPU),其基本的設計源自IBM(國際商用機器公司)的POWER(Performance Optimized With Enhanced RISC;《IBM Connect電子報》2007年8月號譯為“增強RISC性能優化”)架構。POWER是1991年,Apple(蘋果電腦)、IBM、Motorola(摩托羅拉)組成的AIM聯盟所發展出的微處理器架構。PowerPC是整個AIM聯盟平台的一部分,並且是到目前為止唯一的一部分。但蘋果電腦自2005年起,將旗下電腦產品轉用Intel CPU。

PowerPC的歷史可以追溯到早在1990年隨RISC System/6000一起被介紹的IBM POWER架構。該設計是從早期的RISC架構(比如IBM 801)與MIPS架構的處理器得到靈感的。

1990年代,IBM、Apple和Motorola開發PowerPC芯片成功,並制造出基於PowerPC的多處理器計算機。PowerPC架構的特點是可伸縮性好、方便靈活。第一代PowerPC采用0.6微米的生產工藝,晶體管的集成度達到單芯片300萬個。1998年,銅芯片問世,開創了一個新的歷史紀元。2000年,IBM開始大批推出采用銅芯片的產品,如RS/6000的X80系列產品。銅技術取代了已經沿用了30年的鋁技術,使硅芯片多CPU的生產工藝達到了0.20微米的水平,單芯片集成2億個晶體管,大大提高了運算性能;而1.8V的低電壓操作(原為2.5V)大大降低了芯片的功耗,容易散熱,從而大大提高了系統的穩定性。


X86架構
30年多前的1978年6月8日,Intel發布了新款16位微處理器“8086”,也同時開創了一個新時代:x86架構誕生了。 x86指的是特定微處理器執行的一些計算機語言指令集,定義了芯片的基本使用規則,一如今天的x64、IA64等。

事實上,8086處理器發布之初並沒有獲得太多關注,開始也沒有被大范圍采用,但它在PC業界的地位怎么形容都不為過,這就是因為它帶來了x86。它不僅成就了Intel如日中天的地位,也成為了一種業界標准,即使是在當今強大的多核心處理器上也能看到x86的身影。在30年的發展史中,x86家族不斷壯大,從桌面轉戰筆記本、服務器、超級計算機、編寫設備,期間還挫敗或者限制了很多競爭對手的發展,讓不少處理器廠商及其架構技術成為歷史名字,即使有些封閉發展的也難以為繼,比如蘋果就已經放棄PowerPC了。

當然,我們不能忘了x86-64和EM64T的斗爭。2003年,AMD推出了業界首款64位處理器Athlon 64,也帶來了x86-64,即x86指令集的64位擴展超集,具備向下兼容的特點。當時Intel也在推行64位技術,但其IA64架構並不兼容x86,只是用在服務器處理器Itanium上。為了和AMD展開競爭,Intel也在2004年推出了自己的64位版x86,也就是EM64T。對此,AMD和Intel互相指責對方,但無論如何至少推廣了64位技術的發展和普及,也讓x86技術得以繼續發揚光大。加州大學伯克利分校計算機科學教授、RISC發明人之一David Patterson表示:“這證明,x86指令集的彈性完全可以拿來對付Intel,所以即使Intel統治了整個市場,其他公司依然可以改變x86的發展方向。”

x86是一個intel通用計算機系列的標准編號縮寫,也標識一套通用的計算機指令集合,X與處理器沒有任何關系,它是一個對所有*86系統的簡單的通配符定義,例如:i386, 586,奔騰(pentium)。由於早期intel的CPU編號都是如8086,80286來編號,由於這整個系列的CPU都是指令兼容的,所以都用X86來標識所使用的指令集合如今的奔騰,P2,P4,賽揚系列都是支持X86指令系統的,所以都屬於X86家族 。X86指令集是美國Intel公司為其第一塊16位CPU(i8086)專門開發的,美國IBM公司1981年推出的世界第一台PC機中的CPU--i8088(i8086簡化版)使用的也是X86指令,同時電腦中為提高浮點數據處理能力而增加的X87芯片系列數學協處理器則另外使用X87指令,以后就將X86指令集和X87指令集統稱為X86指令集。雖然隨着CPU技術的不斷發展,Intel陸續研制出更新型的i80386、i80486直到今天的Pentium 4(以下簡為P4)系列,但為了保證電腦能繼續運行以往開發的各類應用程序以保護和繼承豐富的軟件資源,所以Intel公司所生產的所有CPU仍然繼續使用X86指令集,所以它的CPU仍屬於X86系列。

 

另外除Intel公司之外,AMD和Cyrix等廠家也相繼生產出能使用X86指令集的CPU,由於這些CPU能運行所有的為Intel CPU所開發的各種軟件,所以電腦業內人士就將這些CPU列為Intel的CPU兼容產品。由於Intel X86系列及其兼容CPU都使用X86指令集,所以就形成了今天龐大的X86系列及兼容CPU陣容。當然在目前的台式(便攜式)電腦中並不都是使用X86系列CPU,部分服務器和蘋果(Macintosh)機中還使用美國DIGITAL(數字)公司的Alpha 61164和PowerPC 604e系列CPU。

Intel從8086開始,286、386、486、586、P1、P2、P3、P4都用的同一種CPU架構,統稱X86。英特爾推出X86架構已滿30年了,同486相比,Pentium向前邁進了一大步, 而PⅡ的前進步伐則沒有這么大了,X86 CPU的發展似乎已到了盡頭。 英特爾非常清楚,是X86指令集限制了CPU性能的進一步提高,因此,他們正同惠普共同努力開發下一代指令集架構(Instruction Set Architecture ,ISA): EPIC(Explicitly Parallel Instruction Computing,顯性並行指令計算)。對英特爾而言, IA-64(英特爾的64位架構)是下一個10到15年的架構。新的ISA將使英特爾擺脫X86架構的限制,從而設計出超越所有現有RISC CPU和X86 CPU的新型處理器。那么EPIC的先進之處在什么地方呢?為什么英特爾會放棄使它成為芯片巨人的X86架構呢? 一、IA-32的問題 我們知道,工程師可以通過提高每個時鍾的指令執行數來提高性能,英特爾新的指令集的首要目的在於,讓指令更容易解碼,更容易並行執行。這樣就可以不受限制地開發新型處理器。 但是,對工程師而言,兼容8086的X86指令集一直是必須完成的任務。畢竟,兼容前代產品是使英特爾成長壯大起來的關鍵因素,而且還可以保護用戶原先的投資和使用數以百萬計應用軟件。

既然如此,為什么又要放棄整個X86指令集重新開始呢?X86的不足在什么地方?
 (1)可變的指令長度 X86指令的長度是不定的,而且有幾種不同的格式,結果造成X86 CPU的解碼工作非常復雜,為了提高CPU的工作頻率,不得不延長CPU中的流水線,而過長的流水線在分支預測出錯的情況下,又會帶來CPU工作停滯時間較長的弊端。
(2)寄存器的貧乏 X86指令集架構只有8個通用寄存器,而且實際只能使用6個。這種情況同現代的超標量CPU極不適應,雖然工程師們采用寄存器重命名的技術來彌補這個缺陷,但造成了CPU過於復雜,流水線過長的局面。
 (3)內存訪問 X86指令可訪問內存地址,而現代RISC CPU則使用LOAD/STORE模式,只有LOAD和STORE指令才能從內存中讀取數據到寄存器,所有其他指令只對寄存器中的操作數計算。在目前CPU的速度是內存速度的5倍或5倍以上的情況下,后一種工作模式才是正途。
 (4)浮點堆棧 X87 FPU是目前最慢的FPU,主要的原因之一就在於X87指令使用一個操作數堆棧。如果沒有足夠多的寄存器進行計算,你就不得不使用堆棧來存放數據,這會浪費大量的時間來使用FXCH指令(即把正確的數據放到堆棧的頂部)。
 (5)4GB限制 這似乎不是問題,但是,在6年前,主流PC只有4MB內存,而目前的絕大部分PC裝備了64MB以上的內存,是以前的16倍,所以,在下一個十年,PC內存突破1GB絕對不會令人驚訝,而且目前的大型服務器已經使用了1GB以上的內存,突破4GB內存的情況很快就會出現。
(6)芯片變大 所有用於提高X86 CPU性能的方法,如寄存器重命名、巨大的緩沖器、亂序執行、分支預測、X86指令轉化等等,都使CPU的芯片面積變得更大,也限制了工作頻率的進一步提高,而額外集成的這些晶體管都只是為了解決X86指令的問題。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM