詳解PowerPC、X86和ARM架構區別



在嵌入式領域,存在着三種處理器通用的架構,PowerPC、X86、ARM,本文將對這三種架構進行對比分析。

1、PowerPC的由來

1975 年, IMB 公司801 小型計算機工程在RISC機體系結構方面做了許多開創性試驗。801 計算機與貝克萊大學的RISC處理器引起了RISC機革新運動, 然而801 計算機僅僅是一個用來演示某種概念的原型機。

801 工程的成功緻使IBM 公司開發一種商業的RISC工作站產品, 這就是RT PC。RT PC 於1986 年誕生, 它採用了801 的體系結構概念, 成爲一個實際產品。RT PC未獲得商業成功, 它有許多性能相當或更好的競爭產品。1990 年IBM 公司在總結了801 和RT PC 兩產品經驗教訓的基礎上生產了第3 個產品即IBM RISC SYSTEM/6000 。它是一個類似RISC 的超標量計算機, 市場定位是高性能工作站。此產品推介後不久, IBM公司開始把這種計算機稱爲Power 結構。

1991年,IBM 公司與MOTOROLA 公司(摩托羅拉公司,6800 系列微處理器開發商)、蘋果公司(該公司將MOTOROLA 芯片裝入Macintosh 計算機)結成聯盟, 出產了一系列用PowerPC結構實現的系列計算機, 以爭抗x86 處理器所佔有的壓倒優勢的市場。這種結構源於Power 結構, 並做了改動(包括消除故障, 增加原先缺少的關鍵技術特色, 去除某些指令, 放寬技術條件), 從而實現了更高的執行效率。到1995年初,PowerPC系微機有四個產品先後問世。

601 第1 個PowerPC產品。它的目標是讓PowerPC結構儘快地佔領市場, 601 是32 位計算機。其時鐘速度可達80MHz , 每個時鐘週期可執行3 條指令。

603 設計目標是低端臺式機, 便攜機和膝上機, 它也是32 計算機, 性能與601 相當, 但價格低並且執行效率更高。它的時鐘速度爲80MHz, 每個時鐘週期執行兩條指令, 適用於低能耗要求的計算機。604設計目標是臺式計算機和低端服務器, 也是32 位計算機, 但是604 使用了更先進的超標量設計技術, 以獲取更高的性能。604 的時鐘速度爲100MHz , 每個時鐘週期可執行4 條指令。

620 設計目標是高端服務器。PowerPC 系列機中的第1 個使用全64 位結構的產品, 它包含64 位寄存器和64 位數據通路。

PowerPC是三家公司聯盟推出的系列微處理器產品。儘管PowerPC產品都具有基本一致的體系結構, 但是具體規格型號卻與製造公司有關, 由製造公司決定。一般而言, IMB 公司生產的PowerPC 芯片有PPC的簡稱, MOTOROLA 公司生產的PowerPC 芯片有MPC的簡稱。例如Motorola MPC620 時鐘速度爲125MHz , 每個時鐘週期可執行4 條指令, 它是第一個採用真正64 位地址總線的PowerPC微處理器, 性能指標大大優於同時期的Pentium芯片。

2、微處理器市場中PowerPC的地位

從最早的PowerPC601 產品誕生起, PowerPC 在市場上就一直處於激烈的競爭之中。1994 年是PowerPC和Pentium的決戰年。從技術性能指標上看,PowerPC 和Pentium各有千秋, PowerPC的性能價格比甚至比Pentuim 高出80 %。這兩個芯片的製造商都爲自己的產品投入了大量的資金進行廣告宣傳, 進行激烈的市場競爭。這場市場競爭不僅僅是Power-PC和Pentium 的競爭,也是它們所代表的當時RISC技術和CISC 技術的競爭, 以及這兩大產品生產集團WINTEL 和AIM 的競爭。

在1994 年大搏鬥中,Pentium芯片佔了上風, 在隨後的幾年裏越發風光一時,到目前爲止已成爲世界微處理器市場的主導產品。現在, 在Pentium 芯片或X86 芯片的周圍, 全球有幾千家廠家爲其開發配套硬件、軟件和提供服務。相反, 儘管近幾年來PowerPC 也獲得了一定的市場份額, 大約每年佔百分之十幾, 但是圍繞PowerPC 開發硬軟件的公司只有幾百家, 市場佔有率始終沒有明顯的增長。

AIM聯盟對自己的PowerPC 產品的態度也幾經曲折, 從92 年滿懷信心到96 年失望動搖,97 年以後到現在又重建信心繼續投入研發和市場競爭。

分析近年來PowerPC 的市場表現, 我們可以得出以下幾個觀點。

1.保護用戶原先在硬件和軟件上的投資是處理器開發重中之重。衆所周知, Pentium 是向下兼容處理芯片, 用戶在8088 , 8086 , 80286 , 80386 , 80486 微處理器芯片上所做的投資都能得到保持。在這方面Pentium佔據上風, 它留住了大量的X86產品的老用戶。而PowerPC 是相對獨立的微處理器芯片, 如果用戶買了基於PowerPC 的計算機產品, 那麼這些用戶原先在計算機軟件硬件方面的投資就難於保持, 這是PowerPC參與微處理器市場競爭的薄弱環節。

2.對於一個新體系結構的微處理器, 如果沒有強有力的軟件開發力量做後盾, 就很難引起用戶的興趣, 建立起使用信心。Pentium 新芯片的每一次推出都有Microsoft 公司的軟件開發支持。而AIM 聯盟在PowerPC芯片上投入的軟件開發力量有限, 許多軟件尤其是Windows95/98 和Windows NT 環境下的軟件在PowerPC硬件環境下不能運行, 這使得Power-PC失去了相當大的市場份額。

3.從技術上講, PowerPC所代表的RISC技術還沒有取得剛出現時人們所期待的那樣大的技術優勢。1994 年PowerPC剛進入市場時, 它帶着人們對RISC技術優勢巨大期望的光環。然而, 這四五年來, Pentium芯片一次又一次地大量集成複雜指令並且獲得市場認同致使人們對RISC 技術的重要性產生了動搖。雖然Pentium 也帶有RISC 指令, 但本質上講它是CISC型處理器。Pentium 的市場成功向人們表明CISC處理器仍然具有強大的生命力。

九十年代的的計算機體系結構的一個顯著發展動向是CISC與RISC共存並且相互滲透。我們注意到在新型號PowerPC芯片中也集成了複雜指令。例如1998 年Motorola 公司爲PowerPC 開發了一種所謂的「AltiVec」新技術, 不僅增加了MMX多媒體指令集, 而且包括了聯網和電話功能。現在這一技術已得到Apple和IBM 的支持。「AltiVec」的出現標誌着在技術進步方面PowerPC 緊追Pentium 不捨,兩個處理器的技術競爭與市場角逐在更高層次上繼續展開。

3、X86架構的由來

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,只是用在服務器Itanim上。爲了和AMD展開競爭,Intel也在2004年推出了自己的64位版X86,也就是EM64T。這其實也證明,X86指令集的彈性完全可以拿來對付Intel,所以即使Intel統治了整個市場,其它公司依然可以改變X86的發展方向。

X86是一個intel通用計算機系列的標準編號縮寫,也標識一套通用的計算機指令集合,X與處理器沒有任何關係,它是一個對所有*86系統的簡單的通配符定義,例如:i386、586,奔騰。由於早期intel的CPU編號都是如8086,80286來編號,由於這整個系列的CPU都是指令兼容的,所以都用X86來標識所使用的指令集,如今的奔騰,P2、P4,賽揚系列都是支持X86指令系統的,所以都屬於X86家族。

4、X86架構展望

英特爾推出X86架構已滿30年了,同486相比,Pentium向前邁進了一大步, 而P的前進步伐則沒有這麼大了,X86 CPU的發展似乎已到了盡頭。英特爾非常清楚,是X86指令集限制了CPU性能的進一步提高,因此,他們正同惠普共同努力開發下一代指令集架構(Instruction Set Architecture ,ISA) : EPIC (Explicitly Parallel InstructionComputing,顯性並行指令計算)。對英特爾而言, 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限制 這似乎不是問題,但是,在2000年前,主流PC只有4MB內存,現在絕大部分PC裝備了2G以上的內存,是以前的512倍,所以,PC內存突破16GB絕對不會令人驚訝,大型服務器已經使用了32GB以上的內存,突破64GB內存的情況已經出現。

6、芯片變大所有用於提高X86 CPU性能的方法,如寄存器重命名、巨大的緩衝器、亂序執行分支預測、X86指令轉化等等,都使CPU的芯片面積變得更大,也限制了工作頻率的進一步提高,而額外集成的這些晶體管都只是爲了解決X86指令的問題

5、ARM的由來

1978年12月5日,物理學家赫爾曼·豪澤(HermannHauser)和工程師Chris Curry,在英國劍橋創辦了CPU公司(Cambridge Processing Unit),主要業務是爲當地市場供應電子設備。1979年,CPU公司改名爲Acorn公司。

起初,Acorn公司打算使用摩托羅拉公司的16位芯片,但是發現這種芯片太慢也太貴。"一臺售價500英鎊的機器,不可能使用價格100英鎊的CPU!"他們轉而向Intel公司索要80286芯片的設計資料,但是遭到拒絕,於是被迫自行研發。

1985年,RogerWilson和Steve Furber設計了他們自己的第一代32位、6M Hz的處理器,Roger Wilson和Steve Furber 用它做出了一臺RISC指令集的計算機,簡稱ARM(Acorn RISC Machine)。這就是ARM這個名字的由來。

RISC的全稱是"精簡指令集計算機"(reduced instruction set computer),它支持的指令比較簡單,所以功耗小、價格便宜,特別適合移動設備。早期使用ARM芯片的典型設備,就是蘋果公司的牛頓PDA。

20世紀80年代後期,ARM很快開發成Acorn的臺式機產品,形成英國的計算機教育基礎。

1990年11月27日,Acorn公司正式改組爲ARM計算機公司。蘋果公司出資150萬英鎊,芯片廠商VLSI出資25萬英鎊,Acorn本身則以150萬英鎊的知識產權和12名工程師入股。公司的辦公地點非常簡陋,就是一個穀倉。

20世紀90年代,ARM 32位嵌入式RISC(Reduced lnstruction SetComputer)處理器擴展到世界範圍,佔據了低功耗、低成本和高性能的嵌入式系統應用領域的領先地位。ARM公司既不生產芯片也不銷售芯片,它只出售芯片技術授權。

6、ARM的前景

微軟公司(2011年)宣佈,下一版Windows將正式支持ARM處理器。這是計算機工業arm處理器發展歷史上的一件大事,標識着x86處理器的主導地位發生動搖。在移動設備市場,ARM處理器的市場份額超過90%;在服務器市場,2011年就會有2.5GHz的服務器上市;在桌面電腦市場,又有了微軟的支持。ARM成爲主流,恐怕指日可待。難怪有人驚呼,Intel公司將被擊敗!ARM微處理器核技術廣泛應用於便攜式通信產品、手持運算、多媒體和嵌入式解決方案等領域,已成爲RISC的標準。

與這場轟轟烈烈的變革相比,它的主角ARM公司卻沒有受到太多的關注,顯得不太起眼。這家遠離硅谷、位於劍橋大學的英國公司,到底是怎麼走到今天的,居然能將芯片巨人Intel拉下馬?

展望未來,即使Intel成功地實施了Atom戰略,將x86芯片的功耗和價格大大降低,它與ARM競爭也將非常吃力。因爲ARM的商業模式是開放的,任何廠商都可以購買授權,所以未來並不是Intel vs. ARM,而是Intel vs. 世界上所有其他半導體公司。那樣的話,Intel的勝算能有多少呢?

2012年10月29日AMD做出了一個震驚業界的宣佈:AMD將會設計基於64-bit ARM架構的處理器,首先從雲和數據中心服務器領域開始。AMD、ARM在服務器領域的合作已經得到了戴爾、惠普兩大服務器廠商,以及服務器系統廠商RedHat的鼎力支持,新的生態系統已具雛形,AMD能否藉此東山再起? 

AMD的首批ARM處理器於2014年問世,仍將披掛Opteron皓龍品牌。這種64位的多核心SoC會針對數據中心中份額最大的密集型高能效服務器進行優化,提供現代計算體驗,並整合收購而來的SeaMicro Freedom超級計算光纖互聯技術。

7、PowerPC架構相比於ARM的優勢

powerpc芯片憑藉其出色的性能和高度整合和技術先進特性在網絡通信應用,工業控制應用,家用數字化,網絡存儲領域,軍工領域,電力系統控制等都具有非常廣泛的應用。

由於PowerPC相對ARM器件來說價格稍貴,另外ARM開發工具盜版到處都是,所以在中國目前來說PowerPC不是很普及.但在一些歐美國家應用很廣泛的。個人覺得PowerPC相對ARM優勢有下面幾點說明:

1、整合度高以及技術先進性,現在Freescale PowerPC 處理器集成USB,PCI,DDR控制器,SATA控制器,千兆網口控制器,CAN控制器,RapidIO以及PCI_Express控制器,IEEE1588通信協議,支持各種通信協議CPM協處理器 ,DMA,SPI,I2C.UART等,客戶無須設計複雜的外圍電路,減少設計複雜程度以及物料使用,ARM這點比不上。

2、芯片可選範圍大,性能高,升級容易,從50M-1.7G都有處理器,而且POwerPC將向多核處理器發展,如已經推出集成雙e500 coreMPC8572,MIPS性能高達6897,ARM我看頻率是1G的都沒有,ARM 大概是 1.1 MIPS/MHz,Power Architecture 是大於2.0MIPS/MHz,所以PowerPC在高端嵌入式應用,佔有很大比例,ARM這點比不上 。

3、開發難度方面,其實PowerPC處理器開發難度並不是很高,只不過因爲開發的人少,所以中文資料相對較少,另外開發工具也不象ARM那麼多盜版的,所以總有些人抱怨PowerPC處理器開發難度大,如Freescale都免費給客戶提供Datasheet,設計詳細文檔給用戶,而且最底層驅動,Freesclae都已經開發好.你可以在他們論壇上提問,或者發郵件給技術支持,他們很快都能回覆的, 相信以後用的人會越來越多。  

4、價格方面,總有人抱怨說PowerPC處理器價格貴,相對ARM來說,同樣頻率的,可能會貴點,但是如果是MIPS/MHz性能比較以及整合的外圍電路來說,PowerPC還是有一定優勢的,Freescale也意識到這個問題,所以推出了向工作頻率低點的MPC8313,MPO8323等低價格處理器,另外如coldfire也推出低價格處理器,隨着Freescale後面產品繼續推出,PowerPC處理器價格會越來越便宜。

5、PowerPC 的結構尤其在功耗方面的束縛可能導致其在嵌入式領域沒有如ARM那樣大的伸縮性。

二者定位不同:ARM面向的低端消費類市場,拼的是功耗;PowerPC面向的是中高端市場,比的是性能,好像還沒看到誰的手機是PowerPC的,也沒有看到誰家企業級以上的交換機是用ARM做的。PowerPC在嵌入式領域的應用是在中高端的,不在消費領域,比如企業級以上的交換機,大機架上剷平,對功耗應該是考慮次要的,這類產品都是由單獨的AC/DC的電源,而且機箱中一般都有風扇。所以功耗應該不是問題。ARM都是面向消費電子的。

ARM在消費電子領域的優勢非常明顯,如此流行的原因我認爲有三個方面:價格便宜、配套IP完備、集成使用方便。

至於性能和低功耗方面,ARM要弱於PowerPC。Power系列的芯片主要用於交換機、網絡處理器、及sony的遊戲機等應用上,這類的應用場合對處理器的性能要求非常強烈,ARM難以勝任 ARM和MIPS在消費領域存在着競爭,MIPS陣營的產品在功耗和麪積上具有優勢,但MIPS提供的開發工具不如ARM便捷。

8、Powerpc架構與X86架構的區別

power和intel x86對比,要看怎麼比了。首先,在高端服務器領域,power的大規模SMP系統性能(目前最高的power795可以配置256個4GHz處理核心)即使8路E7 v2頂配 120個核心也是難以望其項背的,當然低端入門級領域intel在同等價格的前提下性能有很大優勢也是事實(企業級市場intel產品線的價格還是很宜人的)。

其次,power系統在硬件層面的可靠性、可用性、可維護性(業界俗稱RAS)方面明顯強於x86系統,intel只提供處理器,整機需要廠商自己去設計,中小廠商基本靠intel的公版方案做白牌裝機商,只有大品牌(比如IBM HP之類)纔有自己的獨道設計,x86的雜牌軍和IBM從芯片開始設計的整機方案無法相比。第三,power機器一般運行AIX系統居多,少數linux系統;x86基本運行win和linux系統。

AIX在系統穩定性、軟件方案集成度(例如HA軟件、備份軟件、集羣文件系統等等)、廠商技術支持能力強於開放平臺。第四,商用IT系統的用戶選用什麼平臺主要看軟件需求,有些要求7*24不能宕機不能丟數據的關鍵性應用在操作系統選擇方面有很大的侷限性(例如銀行、電信等等),這些領域x86想獲得機會,需要依靠應用軟件移植和win/linux這類開放OS可靠性大幅提升纔有可能完成,無論哪一個都不是容易做到的。

power和sparc、安騰是UNIX界的三駕馬車,共同支撐起絕大部分企業的關鍵性應用平臺,xeon從低端起家,逐漸向中端蠶食,高端市場目前還無力企及。軟件層面,unix平臺的縮水和win/linux的進取是不可逆轉的趨勢。power和x86的對比,單純對比芯片本身意義不大,也和普通消費者沒有直接關係。

8.1硬件體系  

從處理能力來說,單Hz的處理能力x86已經超過了Power系列,這是毋庸置疑的。但是Power有其明顯的優點。它採用了標準的SMP結構,也就是說對於內存來說所有CPU訪問的速度都是一致的,而x86採用了NUMA結構,這就是說CPU和內存是分區的,每個CPU訪問自己的這部分內存特別快,但是如果需要訪問其它部分那就要走QPI總線(現在已經在不斷改進了),這也客觀上造成了隨着CPU數量的增多,處理能力的增長Power系列的線性程度遠好於x86(這也是爲什麼很少會用4路以上的x86服務器)。而且作爲小型機,封閉系統,其設計更加完整緊湊,綜合起來性能強於x86。

8.2.軟件體系 

硬件體系是自己的,操作系統也是自己的(AIX等),所以整合起來Power系列的整體穩定性要強於x86服務器,而且運維也方便(特別是對於一些外圍硬件,如果使用IBM更加容易用),抗壓能力也強(小型機90%的CPU佔用率,運行幾個星期可能都OK,x86幾天就估計出問題了)但是Power系列的小型機的價格太高了,而且已經趕不上技術的變化了,由於Google的崛起,雲計算的興盛,現在的分佈式系統的成熟度越來越高,系統已經越來越不依賴幾臺小型機來提供穩定可靠性,而是通過集羣來提供,性能也能夠通過分佈式的處理來解決。

所以x86的使用越來越廣泛,而最新的一些低成本但是能夠帶來高效能的新技術都在x86體系下得到應用(x86市場佔有率高,也開放),而Power系列由於其封閉的特性,反而難以得到應用,所以Power系列的小型機優勢越來越不明顯,已經在逐漸退出歷史舞臺了。

8.3 面臨的共同問題

性能瓶頸——報酬遞減法則儘管CPU 時鐘頻率不斷提高,但其實際處理能力卻並沒有成比例提高,例如一個2GHz CPU的處理能力並不是一個1GHz CPU 的兩倍,目前還很難解釋產生這種現象的原因。

另外因爲內存的處理能力(performance)與CPU 的處理能力(performance)不匹配,CPU大部分時間在等待,不做任何事情(HP 估計服務器的CPU 這種不做任何事情的時間佔70%)。

這種內存的延遲是不可能消除,因此當程序需要CPU 訪問大量內存時,這種內存延遲將極大地影響程序的運行,此時CPU 處理能力不能接近其真實的處理能力。當然CPU cache 能夠減少這種延遲的影響,提高處理能力,但是cache 的提升效果極大的依賴於cache 的類型和軟件使用的算法。

目前在x86 系列CPU 中,一些新技術的應用,對CPU 的處理能力只有些許的提高,這些新技術所以被應用,多源於Intel AMD 競爭的結果。現在CPU 的時鐘已經變得非常高了,處理能力不等比例增長問題也變得更加嚴重,這意味着提高時鐘頻率對提高整體的處理能力收效甚微。SPEC Benchmark 測試表明:在DELL 工作站上面當增加50%CPU 時鐘頻率,同時輔助以hyper-threading 技術時,CPU 處理能力只有26%的增加,而在Itanium 2 CPU 系統上面,時鐘頻率只提高11%,但是cache 增加一倍,CPU 處理能力提高50%。但是cache 增加到一定程度以後,對性能的影響又會減弱。

當然,CPU 的處理能力與很多因素相關,比如cache 的大小、cache 的設計、內存接口、編譯器及其設置、程序語言和程序編寫員等因素。有些時候,換一種編寫語言都比換CPU 更好,有時候換個編程人員就能獲得很大提高。

總之,無論是x86 還是PowerPC 處理器,由於時鐘頻率和cache 等因素的非線性影響,處理器性能的提高遇到嚴重挑戰,兩者遇到的瓶頸與挑戰是相同的。

8.4 處理能力(Performance)比較

90 年代末期,AMD 成爲Intel 公司的強有力競爭者,兩個公司都致力於開發新型的更快速的x86CPU。這種激烈的競爭,導致x86 處理器的處理能力飛速的提高,一度極大的超過了RISC 處理器(如果你相信benchmark 的話)。然而RISC 處理器廠商也意識到這個問題,開始設計生產更快的RISC 處理器。但是具有諷刺意味的是,當把這些CPU 按照相同的幾何學構造以後,運行最快的Alpha 21364 使用的卻是年前的核設計的。

儘管PowerPC 處理器最初設計目標是桌面系統,但是它最大的應用卻是更關心功耗的嵌入式應用。PowerPC G4 處理器使用低速的單數據速率(single datarate)總線,而不象x86 處理器使用的是雙數據速率甚至四數據速率(double or quad data rate)總線,這個方面PowerPC沒法與x86 競爭。目前PowerPC 的處理器在主頻上沒法和x86 處理器相比,但是根據報酬遞減法則這種高主頻並不能反映處理器的真實處理能力。X86 處理器的確非常快速,但是並沒有你想象的那麼快。

8.5 矢量處理比較

矢量處理也叫做SIMDSingleInstruction Multiple Data),用來進行一些專門的處理,使用它可以使這些處理性能成倍的提高。

X86 PowerPC 都有這樣的矢量單元,以支持矢量指令,x86 處理器上是MMXMMX2SSESSE2。這些矢量單元有128 位寄存器,但是這些寄存器不能同時執行浮點指令。X86 處理器的浮點單元功能一直非常弱,現在x86 處理器都使用SSE 進行浮點運算,甚至於Intel 公司投資開發編譯器使處理器自動使用SSE 單元進行浮點運算,而不管編程人員是否願意這樣。

PowerPC 從一開始就有更好的矢量處理能力,當AppleIBM Motorola 修訂PowerPC 指令集時就考慮矢量處理能力,並增加了Altivec 單元。Altivec 單元具有32 128 位寄存器,PowerPC G4 開始就集成Altivec 單元,並在以後的版本繼續集成AltiVec 單元,同樣的在970中也集成AltiVec 單元。

因爲Altivec 對內存需要更苛刻,G4的總線接口降低了Altivec 性能,但是Altivec SSE具有更多的寄存器,因此Altivec 不需要頻繁的訪問內存,而SSE 恰恰通過頻繁的訪問內存來提高處理能力。Altivec 單元能獨立操作並同時進行浮點運算。

8.6 功耗比較

X86 PowerPC 最大的不同在於功耗,由於PowerPC 是爲嵌入式應用設計,並且主要用於嵌入式系統,因此具有很低的功耗。X86 處理器恰恰相反,由於採用古老的效率低下的體系結構,具有很高的功耗,在x86 處理器中,一切新技術的目的都是爲了增加處理能力和時鐘主頻,這進一步增加了處理器功耗。3GHz Pentium 4 處理器與1GHz PowerPC G4 (7447)處理器比較,在功耗上相差10 多倍。

G4 的最大功耗是10wIntel 不公佈功耗的圖表,只給出了熱能消耗等級,這個數字大約爲30w,低於最大功耗數值,按照這個熱能等級圖表,P4 3GHz 處理器的設計功率額度爲81.9w 但是實際的最大功率應該達到並可能超過100w。單個P4 3GHz 處理器的功耗是一個Pegasos 主板的倍,而這種主板上面還包括一個1G G4 處理器。

9、爲何蘋果放棄Powerpc採用X86架構

除了能耗太高之外,並導致筆記電腦使用時間無法延長也是個阻礙發展的原因之一。

PowerPC的使用範圍除了蘋果電腦之外,其他廠商使用的比例極低,導致研發成本與實際銷售獲利彼此的拉扯,反觀Intel持續以高效能、極短的開發週期,不斷推出新的內核,更換Intel以商業角度其實頗爲合理最重要還有軟體上的考量,蘋果的作業系統本身,到了OS 9的時候已經面臨難以大幅提升效能、無法輕易相容與其他Wintel電腦的刻板印象,這時候Steve Job回來蘋果,並帶回了離開蘋果時所經營的NeXT系統(一個源自於Unix分支的系統)這也是爲什麼蘋果系統叫OS X而不叫OS10的原因,而Unix系統是可以經由調整相容於Intel 或PowerPC(早期的Linux 都會有intel版本或PPC-PowerPC版本)

相信蘋果從一開始開發Mac OS X就已經在鋪陳更換Intel內核所需的研究。

很多使用者對於使用蘋果電腦會無法使用原本在Windows下的軟體功能感到憂心,一旦使用Intel內核,除了調整作業系統以適用於Intel,另外好處是,在Mac環境下使用Windows也就不是難事了。

現在蘋果使用者大幅提升,有非常多正是因爲蘋果電腦除了自身系統外,卻也能兼顧原本Windows環境,而勇於轉換平臺的使用者,不是嗎。

就現在來說當初老喬全面轉向intel平臺降低了多方面的門檻:

1. 價格:PPC是當年apple價格高企的原因之一,就總體價格而言intel平臺成本比PowerPC低的多,配置上也更容易多樣化,且intel迭代速度快容易刺激銷售增長。

2. 軟件:編程語言方面我沒有發言權,但相信intel架構的普及率降低了軟件的開發門檻,而且現在的app比PPC時代多的多。

3. 市場:對市場受衆而言intel平臺的apple更具有親和力,兼容性好、用不慣OS X分分鐘就能裝Windows,消費者可以很放心地入手,市場佔有率也由此大幅度提升。

關於「龍寶庫」微信公衆號:

有趣的雲計算故事。

- END -

- 責任編輯:陳緒 -