指令集與架構

 

複雜指令集與精簡指令集正則表達式

兩種主要的計算機處理器體系結構:算法

CISC(Complex Instruction Set Computer,複雜指令集計算機)數據庫

RISC(Reduced Instruction Set Computer,精簡指令集計算機)api

CISC(複雜指令集)
即 馮·諾依曼結構(普林斯頓結構),指令與數據存儲在同一存儲器中;
採用CISC結構的處理器,指令線與數據線分時複用;
程序指令存儲地址與數據存儲地址指向同一個存儲器的不一樣物理位置,則程序指令和數據的寬度相同;
取指令與取數據不能同時進行,速度受限;
Intel 805一、Motorola MC68xxx、Atmel AT89緩存

通俗理解:咱們要命令一我的吃飯,那麼咱們應該怎麼命令呢?咱們能夠直接對他下達「吃飯」的命令,也能夠命令他「先拿勺子,而後舀起一勺飯,而後張嘴,而後送到嘴裏,最後嚥下去」。從這裏能夠看到,對於命令別人作事這樣一件事情,不一樣的人有不一樣的理解,有人認爲,若是我首先給接受命令的人以足夠的訓練,讓他掌握各類複雜技能(即在硬件中實現對應的複雜功能),那麼之後就能夠用很是簡單的命令讓他去作很複雜的事情——好比只要說一句「吃飯」,他就會吃飯。安全

RISC(精簡指令集)
即 哈佛結構,指令與數據存儲於兩個不一樣的存儲空間;
程序存儲器與數據存儲器相互獨立,獨立編址,獨立訪問;
分離的程序總線與數據總線在一個機器週期中,可同時得到指令字和操做數,提升執行效率;
取指令和取數據同時進行,且通常指令線寬與數據線,可包含更多的處理信息;
Motorola/IBM PowerPC、Atmel AVR、Microchip PIC、ARM性能優化

通俗理解:有人認爲這樣吃飯整套流程會讓事情變的太複雜,畢竟接受命令的人要作的事情很複雜,若是你這時候想讓他吃菜怎麼辦?難道繼續訓練他吃菜的方法?咱們爲何不能夠把事情分爲許多很是基本的步驟,這樣只須要接受命令的人懂得不多的基本技能,就能夠完成一樣的工做,無非是下達命令的人稍微累一點——好比如今我要他吃菜,只須要把剛剛吃飯命令裏的「舀起一勺飯」改爲「舀起一勺菜」。服務器

基於CISC的體系架構:網絡

目前咱們所遇到的CPU體系架構按照名稱主要分爲兩大類:IA和x86,在這兩類下又分別劃分有32位和64位。按照這樣的分類,就出現了四種體系架構名稱:IA-32,IA-64,X86-32,X86-64。多線程

x86:x86是Intel公司首先研發的一種CPU體系架構,這種體系架構也常被稱爲80×86。該系列最先的處理器即爲16位的Intel 8086。因爲Intel早年對於這個系列的處理器都是以80開頭並以86結尾,好比Intel 808六、8018六、80286及80386等,所以用x86或者80×86表示該體系架構,其中「x」即爲英文字母x。值得注意的是,x86表明一類處理器的體系架構,並不特指Intel公司的處理器,好比AMD公司也生產遵循x86架構的處理器。另外,x86體系架構包含16位、32位和64位。

x86-32:表示32位的x86體系架構,該系列也被稱爲IA-32或i386,甚至直接使用x86來表明這種體系架構。該架構的第一款CPU爲Intel 80386,它徹底取代了16位x86架構的CPU。

x86-64:表示64位的x86體系架構。該架構由AMD公司首推,所以AMD將其稱爲AMD64。Intel隨後也推出了64位的x86架構,將其稱爲Intel64。因爲這兩個64位的架構幾乎相同,所以許多其餘廠商使用不偏袒任何廠商的稱呼x86-64來表示對這兩個架構的兼容。該架構有時也被稱爲x86_64或x64,某些廠商也用AMD64或amd64同時表示Intel64和AMD64。

IA-32:表示英特爾32位元架構,英文全稱爲Intel Architecture 32-bit.它與x86-32表示同一種體系架構,只不過Intel現現在將x86-32稱爲IA-32。

IA-64:表示Intel與惠普合做開發的一種嶄新的64位體系架構,它與x86架構不兼容。所以,IA-64與上面提到的x86-64或x64表明的含義不一樣。

基於RISC的體系架構:

ARM架構:

ARM在1990年成立,當初的名字是「Advanced RISC Machines Ltd.,」,從命名就能夠看出是基於RISC設計的架構。ARM架構過去稱做進階精簡指令集機器(Advanced RISC Machine,更早稱做:Acorn RISC Machine),是一個精簡指令集(RISC)處理器架構,其普遍地使用在許多嵌入式系統設計。因爲節能的特色,ARM處理器很是適用於移動通信領域,符合其主要設計目標爲低耗電的特性。在今日,ARM家族佔了全部32位嵌入式處理器75%的比例,使它成爲佔全世界最多數的32位架構之一。

Thumb指令集:Thumb指令能夠看作是ARM指令壓縮形式的子集,它具備16爲的代碼密度。Thumb不是一個完整的體系結構,不能期望處理程序只執行Thumb指令而不支持ARM指令集。所以,Thumb指令只須要支持通用功能,必要時,可藉助完善的ARM指令集,例如:全部異常自動進入ARM狀態。

ARM指令集:ARM指令集是指計算機ARM操做指令系統。ARM指令集是基於精簡指令集計算機(RISC)設計的,其指令集的譯碼機制相對比較簡單,ARMv7-A具備32bit的ARM指令集和16/32bit的Thumb/Thumb-2指令集,ARM指令集的優勢是執行效率高但不足之處也很明顯,就是代碼密度相對低一些。而做爲ARM指令集子集的Thumb指令集,代碼密度相對比ARM指令高,並且堅持了ARM一向的性能優但也有一個致命的缺點就是效率低;正所謂魚和熊掌不可兼得,這也是數字邏輯電路設計所謂的時間和空間的問題;而Thumb-2指令集多爲32bit的指令,對於上述的ARM指令和Thumb指令作了一個折中,代碼執行效率和密度都相對比較適中。幾乎全部的ARM指令均可以條件執行,而另外二者僅有部分才具有此功能,三種指令都可相互調用,並且指令之間狀態切換開銷很小,幾乎能夠忽略。

ARM架構與處理器:

ARM覈對應的時間表:

 ARM內核與架構通俗理解:

ARM內核:從ARM七、ARM9到Cortex-A七、A八、A九、A十二、A15再到Cortex-A5三、A57等,總之不一樣版本 ARM 有不一樣的想法。好比爲高速度設計的Cortex A八、A9都是ARMv7a 架構;Cortex M三、M4是ARMv7m架構;前者是內核,後者是指令集的架構。ARM的架構都是基於RISC指令集而架構的,而其內核只是實現這一指令集的硬件架構的基礎,Thumb-2指令集架構(ISA)的子集,包含全部基本的16位 和32位Thumb-2指令,哈佛處理器架構在加載/存儲數據的同時可以執行指令取指,帶分支預測的三級流水線等。比如你蓋房子,剛開始由於水平低流行蓋平房,這就是一種架構(V5T),而後這種平房架構你能夠設計出一款獨立衛生間的款式, 這叫ARM7內核。 而後其餘人(芯片設計公司)想蓋房子的就買你這個圖紙去蓋,接着過一段時間,有人以爲光獨立衛生間還不夠啊, 我還想有個小院子! 好吧,那ARM就知足大家的要求,出個帶小院子的款式(ARM9)。又過了好久, 這種平房的架構就隨着大夥的需求一直改啊改啊,後來通過ARM研究發現: 如今大夥蓋房子的能力duang duang直升啊(包括工藝、設計能力、時鐘主頻),只蓋這種平房施展不開啊! 好吧,ARM爲了避免讓這幫設計的人閒着,就推出一種二三層樓房的樣式, 這由於跟平房設計結構徹底不同嘛, 那就叫一種新的架構(ARMv6),一樣這種樓房樣式ARM也爲你們準備了帶游泳池的和帶車庫的款式(ARM11),好吧繼續改啊改啊, 改到後來你們已經開始有能力蓋十層以上的大樓了。 ARM一如既往地出了新的款式(ARMv7架構), 這時ARM以爲之前名字都太土鱉了, 什麼ARM五、 ARM六、 ARM7—又難聽又難記, 我要取個看起來牛逼的名字, 咱至少也算個能設計摩天大樓的主兒了, 因而後面的內核都叫Cortex。更名只是一部分, 隨着這個架構出來後, ARM發現之前用我們圖紙蓋出的樓也就作個民宅, 民宅圖個啥? 實惠嘛(功耗低)。 如今不同了,如今咱的圖紙蓋得樓不只能夠作民宅,還能夠作軍事基地、 還能夠作高檔寫字樓, 之前這些高級功能的樓房但是隻有小英(英特爾)才能設計出來的啊!爲了知足這些不一樣的需求, ARM把這個架構設計出來的款式分紅3個系列(M系列、R系列、A系列)。M系列是爲民宅設計的, 由於老百姓圖實惠嘛, 這種設計就設計個十層左右(功耗低); R系列是爲軍事基地設計的, 這種樓設計的也不高— 十層左右吧, 可是關鍵是要對特殊狀況要有快速反應的能力(中斷快); 最後A系列是給商業大佬用的, 那固然是要高端大氣上檔次, 就是要性能高,各類LED燈燈光秀啊都給我上。

MIPS架構:

無內部互鎖流水級的微處理器(Microprocessor without interlocked piped stages architecture),在1981年由MIPS科技公司開發並受權,普遍被使用在許多電子產品、網絡設備、我的娛樂裝置與商業裝置上。最先的MIPS架構是32位,最新的版本已經變成64位。它的基本特色是:包含大量的寄存器、指令數和字符\可視的管道延時時隙。這些特性使MIPS架構可以提供最高的每平方毫米性能和當今SoC設計中最低的能耗。

32位架構:

MIPS32®架構刷新了32位嵌入式處理器的性能標準。它是MIPS科技公司下一代高性能MIPS-Based™處理器SoC發展藍圖的基礎,並向上兼容MIPS64®64位架構。MIPS架構擁有強大的指令集、從32位到64位的可擴展性、普遍的軟件開發工具以及衆多MIPS科技公司受權廠商的支持,是領先的嵌入式架構。MIPS32架構是之前的MIPS I™ 和 MIPS II™指令集架構(ISA)的擴展集,整合了專門用於嵌入式應用的功能強大的新指令,以及以往只在64位R4000™ 和 R5000® MIPS®處理器中能見到的已經驗證的存儲器管理和特權模式控制機制。經過整合強大的新功能、標準化特權模式指令以及支持前代ISA,MIPS32架構爲將來全部基於32位MIPS的開發提供了一個堅實的高性能基礎。

64位架構:

MIPS64®架構刷新了64位MIPS-Based™嵌入式處理器的性能標準。它表明着下一代高性能MIPS®處理器的基礎,併兼容MIPS32®32位架構。MIPS架構擁有強大的指令集、從32位到64位的可擴展性、普遍可得到的軟件開發工具以及衆多MIPS科技公司受權廠商的支持,是領先的嵌入式架構。MIPS64架構是之前的MIPS IV™ 和 MIPS V™指令集架構(ISA)的擴展集,整合了專門用於嵌入式應用的功能強大的新指令,以及以往在R4000® 和 R5000® MIPS處理器中執行的已經驗證的存儲器管理和特權模式控制機制。經過整合強大的新功能、標準化特權模式指令、支持前代ISA,以及提供從MIPS32架構升級的路徑,MIPS64架構爲將來基於MIPS處理器的開發提供了一個堅實的高性能基礎。

微型架構:

microMIPS™是一種在單個統一的指令集架構中集成了16位和32位優化指令的高性能代碼壓縮技術。它支持MIPS32® 和MIPS64® Release 2架構,整合了可變長度從新編碼MIPS指令集和新增的代碼量優化16位和32位指令,可提供高性能和高代碼密度。microMIPS是一個完整的ISA,既能單獨工做,也能與原有的MIPS32兼容指令解碼器共同工做,容許程序混合16位和32位代碼,無需模式切換。microMIPS的程序代碼量較小,所以可得到更好的緩存利用率和更小的取指帶寬(fetch bandwidth),從而有助於提高性能,下降功耗。microMIPS包含全部MIPS ASE指令,支持CorExtend™/UDI接口。並且,針對microMIPS軟件及系統開發,MIPS科技公司與第三方合做夥伴生態系統提供有一套全面完善的軟硬件工具支持。新推出的M14K™和 M14Kc™是首先執行 microMIPS的處理器內核。

MIPS架構演進圖:

PowerPC架構:

 PowerPC 是一種精簡指令集(RISC)架構的中央處理器(CPU),其基本的設計源自IBM(國際商用機器公司)的IBM PowerPC 601 微處理器POWER(Performance Optimized With Enhanced RISC;《IBM Connect 電子報》2007年8月號譯爲「加強RISC性能優化」)架構。二十世紀九十年代,IBM(國際商用機器公司)、Apple(蘋果公司)和Motorola(摩托羅拉)公司開發PowerPC芯片成功,並製造出基於PowerPC的多處理器計算機。PowerPC架構的特色是可伸縮性好、方便靈活。

PowerPC 體系結構分爲三個級別(或者說是「book」)。經過對體系結構以這種方式進行劃分,爲實現能夠選擇價格/性能比平衡的複雜性級別留出了空間,同時還保持了實現間的代碼兼容性。

Book I. 用戶指令集體系結構定義了通用於全部 PowerPC 實現的用戶指令和寄存器的基本集合。這些是非特權指令,爲大多數程序所用。

Book II. 虛擬環境體系結構定義了常規應用軟件要求以外的附加的用戶級功能,好比高速緩存管理、原子操做和用戶級計時器支持。雖然這些操做也是非特權的,可是程序一般仍是經過操做系統調用來訪問這些函數。

Book III. 操做環境體系結構定義了操做系統級須要和使用的操做。其中包括用於內存管理、異常向量處理、特權寄存器訪問、特權計時器訪問的函數。Book III 中詳細說明了對各類系統服務和功能的直接硬件支持。

從最初的 PowerPC 體系結構的開發開始,就根據特定的市場需求而發生分支。當前,PowerPC 體系結構家族樹有兩個活躍的分支,分別是 PowerPC AS體系結構和 PowerPC Book E體系結構。

PowerPC AS 體系結構是 IBM 爲了知足它的 eServer pSeries UNIX 和 Linux 服務器產品家族及它的 eServer iSeries 企業服務器產品家族的具體須要而定義的。

PowerPC Book E 體系結構,也被稱爲 Book E,是 IBM 和 Motorola 爲知足嵌入式市場的特定需求而合做推出的。PowerPC AS 所採用的原始 PowerPC 體系結構與 Book E 所採用的擴展之間的主要區別大部分集中於 Book III 區域中。

PowerPC家族譜系詳解:

目前,主流的PowerPC處理器製造商有IBM、Freescale™ Semiconductor(原摩托羅拉半導體部)、AMCC、LSI等。其中以IBM和Freescale的PowerPC處理器最爲流行。本文就以這兩家公司的PowerPC處理器爲基礎,展開講述PowerPC家族。

IBM的PowerPC家族:IBM目前共有3個主要的PowerPC處理系列:Power、Power PC和CELL。POWER,POWER PC中間,還有一個Star系列。

POWER系列處理器:POWER系列CPU從1990開始生產、裝備到RS/6000(即RISC System/6000)UNIX工做站和服務器上,如今被稱爲eServer™ pSeries®服務器(最新的名稱是POWER System p系列),主要的型號有POWER 1,POWER 2™,POWER 3™,POWER 4™,POWER 4+,以及目前的POWER 5,POWER 5+和剛剛推出的POWER 6處理器。
最先的801是POWER系列處理器的前身,它的設計很是簡單,爲了實現全部的指令都能在一個時鐘週期內完成,所以缺少浮點運算和並行處理能力,POWER架構爲了解決這個問題,或者說超越801的限制,增長到了100多條指令,成爲一種很「複雜」的精簡指令集CPU。
1.POWER 1 
發佈於1990年,每一個芯片大約封裝了80萬個晶體管。
與當時其餘的處理器不一樣,POWER 1進行了功能分區,這種設計方案使POWER 1具備很是好的擴展能力,它有單獨的浮點寄存器,能夠適用於從低端UNIX工做站到高端UNIX服務器各類環境。最先的POWER 1是安裝在同一母板上的幾個芯片的組合,不過很快就集成到一個芯片中,成爲單芯片設計,總計擁有超過一百萬個晶體管的RISC處理器(RSC,RISC Single Chip,即單芯片的RISC處理器)。POWER 1最成功的應用是被用於火星探路者宇宙飛船上。
2.POWER 2 
發佈於1993年,每一個芯片封裝了一千五百萬個晶體管。
POWER 2增長了第二個浮點單元處理(floating-point unit,FPU)和更多的緩存。被稱爲P2SC(Power 2 Scalable Chip)的超級芯片使用CMOS-6S技術,用一個芯片實現了POWER2 8個內核的架構(從這裏你能夠看到其實在1993年IBM就已經開始了多核芯片的設計,其實若是囊括大型機,在20世紀80年代,就有了多核的概念),就是使用這種處理器的32個節點的DEEP BLUE(深藍)超級計算機,在1997年打敗了國際象棋冠軍卡斯帕羅夫。
3.POWER 3
發佈於1998年,每一個芯片封裝了一千五百萬個晶體管。
這是IBM第一款64位對稱多處理器結構(SMP),與原有的POWER指令集徹底兼容,也兼容Power PC指令集,主要用於科學計算,從航空設計、生物製藥數據分析到天氣預測。它具備一個數據預取引擎,非阻塞的內置數據緩存和雙浮點處理單元。POWER 3-II採用與POWER 3相同的設計,在製造芯片時使用了銅導線技術,在幾乎相同的價格制形成本下,提升了一倍的性能。
4.POWER 4
發佈於2001年,每一個芯片封裝了一億七千四百萬個晶體管。
這是一款達到GHz主頻的處理器,0.18微米銅導線,硅絕緣技術。它具備POWER 3的所有特性,包括與Power PC指令集兼容,但它又是全新的設計,每一個處理器包含兩個64位1GHz+ Power PC內核,這是業界第一款批量生產的單芯片雙核設計,又被稱爲單芯片對稱多處理設計(multicore design on a single die,SMP on a chip,或者system on a chip),每一個處理器能夠同時執行200條指令。POWER 4架構能夠製造IBM Regatta(即p690)大型服務器,也被用來設計Power PC 970處理器(在蘋果公司被稱爲Apple G5)。POWER 4+™(又被稱爲POWER 4-II)是POWER 4主頻升級的提升版。POWER 4 CPU支持了分區技術,能夠將芯片切分紅多個單元,運行不一樣的操做系統。
5.POWER 5 ™
2004年發佈,與POWER 3和POWER 4相似,POWER 5同時使用了POWER和Power PC架構,利用了更快的片內通訊技術、芯片多處理技術、同時多線程技術(simultaneous multithreading,SMT,一個物理CPU內核能夠模擬兩個邏輯CPU,若是兩個線程的工做內容相差較大,則使用SMT技術性能最高能夠達到單個CPU方式執行的1.5~1.7倍),比POWER 4性能提升了4倍。POWER 5的高端服務器代號爲「騎兵隊」(「Squadrons」,IBM但願此CPU能如同騎士馬隊衝鋒同樣橫掃UNIX服務器市場,結果彷佛應驗了設計者的指望)。在POWER 5上支持了微分區(Advanced Virtualization)的功能,能夠將一個處理器內核虛擬切分紅多個處理器,供操做系統使用,最小的分配粒度爲0.1個CPU,共享使用粒度是1/100個CPU。在2006年,IBM推出了主頻提升,封裝變化的POWER 5,被稱爲POWER 5+,最高主頻爲2.2GHz。
6.POWER 6 ™
在2007年5月發佈,目前最高主頻4.7GHz,最高明年將有超過5GHz主頻的版本。片內集成度約爲7億5千萬個晶體管。POWER 6將一些總線控制和CPU內核之間的數據通道集成進單一芯片,與POWER 5相比,增長了更多的CPU內核間通訊機制和Cache。POWER 6比較有特色的技術是能夠直接支持10進制數字處理,這是計算機史上的一次迴歸,咱們從十進制轉到二進制以便於計算機處理,而現在,計算機芯片設計已經足夠先進,讓咱們能夠再也不去適應機器,而是讓機器適應咱們的需求。
POWER 6其餘的技術包括雙核,128KB的L1 Cache(數據、指令各64KB),8條兩階流水線支持在一個時鐘週期完成兩組32位讀或一組64位寫操做;兩個內核各有4MB「半共享」的L2 Cache,雖然它被一個內核佔據,但另外一個內核也能夠快速訪問它;另外32MB的L3 Cache可被兩個內核經過80GB/s的帶寬訪問;POWER 6還經過ViVA-2(VirtualVector Architecture)技術提升了向量處理性能;支持最多1024個虛擬分區也是POWER 6的新特色(POWER 5最多支持256個分區)。POWER 6特有的10進制運算寄存器、指令可使它在計算時不會產生2-10進制轉換偏差,同時也提升了運算速度。POWER 6包括一些額外的電路去支持Mainframe的指令,開始了整合z系列的實踐,而POWER 6L則是「簡化」版的芯片,下降了主頻,能夠用於刀片服務器。
在生產POWER 6的同時,POWER 7也處於緊張開發階段,預計2012年面世。

Star系列處理器:是Power PC架構的另外一種技術實現,與POWER系列很是相似。因爲此係列的各類CPU代號都有Star或者用某一顆星的名字來命名,所以被稱爲Star系列。

1.RS64 
1997年發佈,代號爲「Apache」。
這一系列使用Power PC處理器設計,繼承了大量POWER架構的特色,但爲了商業運算進行了特別優化,與POWER 3相比,其中包括指令分支預測、浮點意外處理、硬件預取等功能被取消,而取而代之的是整形計算意外處理、複雜的片內/片外緩存算法、更大的緩存容量。 RS64的設計能夠支持64位處理,在2000年發佈的RS64 IV中採用了硬件多線程技術,單臺服務器最多能夠擴展到24顆CPU,消耗的功耗也很是少,每一個處理器只有15瓦。此款CPU開始用於AS/400(即後來的iSeries),從RS 64 II起,才用於RS/6000(pSeries)。
這種設計使得RS64芯片比較適用於在線交易(On-Line Transaction Processing,OLTP)、企業資源計劃系統(Enterprise Resource Planning,ERP),以及其餘大型、混合的多功能、數據庫訪問、多用戶、多進程的業務。不過在實際使用的過程當中,發現其計算速度稍有欠缺,多是 RS64 CPU的主頻都很低,典型的幾款服務器主頻只有100MHz左右,對於商業智能(Business Intelligence,BI)和科學計算一類的應用,性能不佳。
2.RS64 II
1998年發佈,代號爲:「Northstar」(北方之星)。
該CPU擁有8MB L2 Cache,256位的數據總線,262MHz主頻。裝配此款CPU的服務器能夠支持最多三個CPU板,每一個CPU板裝載4路CPU,這樣可使RS/6000服務器具備4路、8路、12路的SMP結構。
3.RS64 III
1999年發佈,代號爲:「Pulsar」(脈衝星)。
第一款使用硅絕緣的RS64芯片,經過6個CPU 卡能夠實現24路SMP結構。因爲此款CPU主頻提升到450MHz,使用優化的指令分支預取技術避免了跳轉懲罰(或只須要額外1個時鐘週期),5級流水線等技術,CPU處理性能大幅度提升。IBM用此款服務器裝配了RS/6000的80系列(H80,M80,S80服務器)。
4.RS64 IV
2001發佈,代號爲:Istar,SStar
第一款支持硬件多線程的商用處理器,比之前同系列的CPU更快,更小。600-750MHz的主頻,硬件多線程技術(HMT)使得此CPU具備不錯的市場表現。另外每一個CPU僅消耗15W的功率也使得用此CPU裝配的服務器無需特別的電源、散熱系統。

因爲市場對於商業和計算環境的混合需求,使得IBM從新整合了POWER系列和Power PC系列處理器,最終設計了POWER 4處理器。Star系列也最後完成了歷史使命。

Power PC系列:是從POWER架構發展出來的一個分支,最先在1993年發佈,用於從單板機、電池電源管理到超級計算機和Mainframe主機。Power PC最先登上主角的地位是從做爲Power Macintosh 6100的CPU開始的。

衆所周知,Power PC開始與蘋果、摩托羅拉和IBM聯盟(被稱爲AIM聯盟),是源自於POWER架構的設計,但進行了大量的改動。例如,Power PC是open-endian設計,即同時支持大尾段(big-endian)和小尾段(little-endian)內存模式,而POWER 是大尾段設計;Power PC但願提供更強的浮點處理能力和多線程處理能力。因此這兩種類型的CPU並無太大的差異,Power PC保留了絕大部分POWER指令,許多應用只要從新編譯,就能夠分別在兩個平臺上運行。
當IBM和摩托羅拉分別本身設計芯片的時候,依然遵循統一的標準。在2000年,你們使用的是Book E spec,這個設計實現使Power PC能更專一於嵌入式處理系統,例如網絡、存儲和家用設施的處理器。
除了兼容以外,Power PC的架構的另外一個亮點是開放,它公開了指令集,容許任何廠商設計Power PC的兼容處理器、Power PC的一些軟件的源代碼也能夠下載到,Power PC的內核也很是小,能夠在同一芯片上安置許多其餘的輔助電路,例如緩存、協處理器,大大增長了芯片的靈活性。
IBM四條服務器產品線中有兩條都與Power PC架構有關,另外蘋果公司的臺式機和服務器、任天堂的GameCube,IBM本身的藍色基因超級計算機都使用了PowerPC芯片。
今天,Power PC家族有三條產品線,分別是嵌入式的Power PC 400系列,Power PC 700和Power PC 900系列。從歷史上看,還有一款Power PC 600系列最值得關注,由於它具備很是好的性能。

1.Power PC 600系列
Power PC 601是Power PC 600系列中的第一款,它綜合了POWER和Power PC架構的特色,而且儘可能保持與POWER 1和隨後的其餘Power PC芯片的兼容性(即便是同一系列的芯片,也存在兼容性問題),甚至與摩托羅拉的88110兼容。蘋果公司用Power PC 601在1994年製造了Power Mac 6100,66 MHz CPU主頻。此係列下一個芯片是603,低端、低功耗的處理器,大量使用在汽車上。與Power PC 603®同日登場的還有PowerPC 604®,是更強大的處理器,隨之的是「增強版」的603e和604e。在此以後,第一款64位Power PC——Power PC 620®在1995年被髮布。
2.Power PC 700系列
在1998年,出現了Power PC 740和Power PC 750,與604e很是相像,甚至一些人說600/700兩個系列根本就是一回事。Power PC 750是第一款銅導線處理器,蘋果公司用它生產了G3,但很快就被G4所取代,使用的是摩托羅拉7400。在2002年發佈的32位的Power PC 750FX曾經震驚業界,由於它是第一款達到1GHz主頻的處理器,IBM在2003年緊跟着推出了750GX,集成了1MB片上二級緩存,也是1GHz 主頻,大約7瓦功耗。
3.Power PC 900系列
64位的Power PC 970,其實是單處理器內核的POWER 4,能夠同時執行200條指令,最高達到2 GHz以上的主頻,而僅僅消耗十數瓦的電力。低功耗使它被大量用於筆記本電腦和手持設備上,還有一些高密度的存儲、服務器(例如刀片中心)也在使用它。 64位處理能力,單指令多數據流設計使它更適合於多媒體、圖形處理。蘋果公司的臺式機、Xserve服務器,以及其餘一些圖形、網絡設備,都在使用這款處理器。例如蘋果Xserve G5就使用了Power PC 970FX,也是第一款同時使用了應變硅、硅絕緣兩項技術的芯片。
4.Power PC 400 系列
這一款芯片主要用於嵌入式系統,但Power PC靈活的架構使它能夠被用於從機頂盒這樣的小設備到藍色基因超級計算機。在產品線的一端,Power PC 405EP在200MHz主頻僅消耗1瓦的電力,而銅導線的Power PC 440在800 MHz主頻能夠提供同類型嵌入式芯片中最高的性能。這款芯片也有許多旁支,例如利用Power PC 440GX的雙Gigabit Ethernet和TCP/IP加速功能能夠下降網絡應用程序50%以上的負載。圍繞Power PC 400內核,有許多具體實現,用於建造藍色基因超級計算機的處理芯片就是包含了兩個Power PC 440處理器內核和兩個浮點處理內核。
Power PC 400系列被IBM轉讓給AMCC,發展成爲PowerPC 405 Family、PowerPC 440 Family、PowerPC 460 Family 3大系列。

Freescale PowerPC系列

Freescale公司提供了數量衆多的含集成化外設的PowerPC處理器,目前在網絡設備市場取得了很是可觀的成功。目前Freescale公司已經調整其PowerPC產品策略,將其劃分紅3個主要市場:網絡設備、汽車電子(MPC5xx系列)和工業控制。

Freescale PowerPC在通信領域的成功,極可能要歸功於PowerQUICC,這也是IBM的PowerPC和Freescale 的PowerPC的最重要的區別。1993年,摩托羅拉半導體事業部(飛思卡爾半導體前身)在充分理解通訊系統應用的基礎上,生產了第一顆包含QUICC(Quad Integrated Communications Controller)的芯片--MC68360。此時,QUICC其實是一顆獨立的處理器。1994年,摩托羅拉半導體事業部的工程師開始把MC68360的QUICC和PowerPC內核結合,將集成了QUICC的PowerPC處理器稱爲PowerQUICC,並將其中的QUICC處理模塊稱爲CPM。

1995年,MPC860芯片面市,標誌着一個通訊處理器時代的開始。這顆芯片實現了做爲控制中心的PowerPC處理器和做爲數據處理中心的CPM的分離,採用了數據通路和控制通路分開的思想。

此後PowerQUICC系列芯片也一路升級,從PowerQUICC I到PowerQUICC II,再到PowerQUICC III和PowerQUICC II pro。目前,Freescale 將CPM升級爲QE(QUICC Engine)。

伴隨PowerQUICC的升級,Freescale  PowerPC內核也在升級。

603內核系列:MPC850、MPC860、MPC87五、MPC885等,目前是最低端的Freescale PowerPC處理器。這類PowerPC處理器沒有包含SDRAM接口,用戶必須使用MPC860提供的UPM(USER Programmable Machines)配置成SDRAM接口。603內核配合PowerQUICC I。

603E內核系列:MPC8250、MPC8260、MPC8272等。從PowerPC內核的角度看,603到603E的升級不大,主要是MMU上,此外包含了SDRAM控制器。603E內核配合PowerQUICC II。

E300內核系列:MPC834九、MPC834七、MPC8360等。E300系列與603E系列結構基本一致,在處理器內核上的修改很少。QE最早在MPC8360上實現,此外支持DDR SDRAM接口。E300內核配合PowerQUICC II pro。

E500內核系列:包括MPC8540、MPC8560、MPC8548等。E500內核共有V1 、V2兩個版本。V1版本和V2版本的最大區別在於MMU。基於E500內核的PowerPC處理器是Freescale高端處理器的發展方向。E500內核和603E有很大的不一樣,只有指令系統是兼容的,其餘內核組件都不相同。E500內核支持DDR SDRAM,RapidIO和千兆以太網接口。E500內核配合PowerQUICC III。

E600內核系列:也稱爲G4,包括MPC7410,MPC7447,MPC7448,MPC8641等。與IBM的Power 700系列的最大不一樣在於G4系列支持AltiVec結構。這類處理器也是Apple用於MAC機的芯片。

E700內核系列:支持64位的PowerPC結構,開發中(最新消息不明,懷疑被放棄).

飛思卡爾 QorIQ通訊平臺是飛思卡爾的 PowerQUICC通訊處理器的下一代演進產品,包含一個或者更多個核,一共有5個不一樣的產品平臺。按照功能和性能,分爲 P1, P2, P3, P4 和P5,同老的PowerPC產品保持軟件兼容,例如PowerQUICC平臺。

QorIQ 商標和P一、P二、P4產品家族在2008年6月被公佈,P3和P5平臺的細節還沒有公開。全部的QorIQ處理器基於 e500 or e5500 核心。P10xx 和 P20xx 系列基於e500v2 核心,P340xx 和P40xx 系列基於 e500mc 核心,P50xx 則基於e5500 核心。

P1系列:被設計用於網關、以太網交換機、無線局域網接入點和通用控制目的。P1系列屬於入門級,運行在400到800MHz,用於替代PowerQUICC II Pro 和PowerQUICC III平臺。P1系列封裝成689個引腳,同P2系列兼容。P1011 -包含一個800MHze500核心,256 kB L2 cache,4個SerDes lanes,3個吉比特以太網控制器,以及一個用於老實電話的時分複用引擎(TDM engine) 。P1020 –包含2個800 MHz e500 核心,256 kB shared L2 cache, 4個SerDes lanes,3個吉比特以太網控制器,一個 TDM engine.

P2系列:設計用於網絡、電信、軍工的普遍應用。能運行在-40 到 125 °C,特別適合苛刻條件下的應用。P2系列屬於中端產品,運行在800Mhz到1.2GHz,用於替代PowerQUICC II Pro 和PowerQUICC III平臺。P2010 – 包含1個 1.2 GHz 核心,P2020 – 包含2個 1.2 GHz 核心, shared L2 cache

P3系列:設計屬於中端產品,用於交換機和路由器。P3系列提供了一個多核平臺,支持4個e500mc核心,每一個核心頻率能達到1.5 GHz。P3系列擁有1.3 GHz 64-bit DDR3內存控制器,18個SerDes lanes,以及用於數據包操做和調度、正則表達式、RAID、安全、加密和RapidIO的硬件加速器。P3系列的多個核心可以運行在對稱模式和非對稱模式,意味着多個核心能夠一塊兒或者非別引導運行操做系統。
P3041 - 4個1.5 GHz 核心,每一個核心128 kB L2 cache ,1個1.3 GHz 64-bit DDR3 內存控制器,45納米技術和僅有12w的功率。

P4系列:屬於高端產品,用於核心網或者企業級交換機、路由器。提供極限多核平臺,支持8個e500mc核心 ,每個核達到1.5 GHz。P4080 –包含8個e500mc核心,每一個核心有32/32kB instruction/data L1 caches以及1個a 128 kB L2 cache。包含2個1 MB L3 caches,每個鏈接到64-bit DDR2/DDR3 內存控制器。

P5系列:P5系列基於高性能64-bit e5500 核心,頻率提升到2.5 GHz 。2010年6月介紹,可能2010年末可有樣片,2011年可批量生產。P5010 - 一個e5500 2.2 GHz核心, 1 MB L3 cache, 1個DDR3 controller,45 nm 工藝,功率30W.P5020 - 兩個e5500 2.2 GHz核心, 2個1 MB L3 caches, 2個DDR3 controllers, 45 nm 工藝,功率30W.

PowerPC部分轉載自:https://blog.csdn.net/gao5528/article/details/6664599

相關文章
相關標籤/搜索