前言:由於Power Architecture的微處理器架構包含了各項應用,因此其處理器家族也顯得相當龐大,是指由IBM所生產的PowerPC、POWER4、POWER5、CELL以及明年將會出現的最高階POWER6處理器,皆是屬於這個範疇。
Power Architecture家族處理器的指令集體系已經統一,所以不論是應用到高階工作站、伺服器,或者是低階嵌入式應用,如工控裝置、手機、遊樂器等,只需透過同一套程式開發流程,即可達到全面通用的目的,可解決不同架構之間的應用程式互換問題,省去為了不同平台而必須重新編譯程式的麻煩。
而推動此處理器架構授權與開放業務的組織,則是由IBM在2004年底所主導成立的Power.org,在負責工作方面,主要是推行POWER家族微處理器架構IP應用的上下游環節,此一生態鍊包括了外圍架構IP、作業系統、編譯器、模擬器以及設計服務等環節,擁有了超過50家公司的加盟。
在針對嵌入式應用方面,除了最大宗的遊樂器方面(包含XBOX 360、PS3以及Wii等三大次世代遊樂器都採用Power架構處理器做為核心,雖然嚴格上來說,XBOX360與PS3所採用的Power架構處理器在效能與耗電量上都已經超出了一般嵌入式應用的範疇了),較為出名的應用應該就屬合作廠商飛思卡爾所推出的汽車電子MCU元件,雖然一般消費性產品或手持式裝置仍以ARM以及MIPS為大宗,但是在Power.org積極的經營之下,面對各種一般嵌入式應用也將會有更大的發展。
終歸一統的指令集架構-Power ISA 2.03
Power ISA前面的Power指的是Power處理器,而ISA則是Instruction Set Architecture的縮寫,目前已經發展到2.03版,做為未來所發展的各種不同規模Power處理器的共通指令集標準。
Power ISA包含了五大類的BOOK體系,我們分別介紹如下:
1. BOOK I:Power ISA的使用者指令集架構,在這個階段所包含的是基礎指令及以及應用程式開發者可取用的相關能力,在這階段包含了5個關於APU功能的章節,詳細定義向量延伸(Vector Extension)的相關設計。
2. BOOK II:Power ISA的虛擬環境架構(Virtual Environment Architecture),定義了儲存模型方面的架構。
3. BOOK III-S:Power ISA的操作環境架構(Operating Enviroment Architecture),在這個階段定義了管理指令、記憶體搬移以及相關的通用性功能。這個部分是構成PowerPC 2.02版的BOOK III的主要成分,相較過去的版本,還增加了大分頁以及大區段的支援。
4. BOOK III-E:同樣也是Power ISA的操作環境架構(Operating Enviroment Architecture),不過這個階段是定義了關於嵌入式應用的相關架構,主要是從BOOK E延伸而來,並且包含了APU的相關處理功能(如向量延伸等功能)。
5. BOOK VLE:Power ISA的可變長度編碼指令集架構(Variable Length Encodes Instructions Architecture)這部分定義了可選擇的指令集編碼,並且也定義了低階指令集的實作,以及增加指令集本身的密度。這部分是由飛思卡爾的半導體部門所協助定義,主要也是關於嵌入式應用方面。
基本上,Power ISA的定義有一大部分是得力於飛思卡爾的半導體部門,也因此在Power架構產品線上,飛思卡爾一直是站在最前線的系統單晶片產品供應者,在Power.org組織中,對如嵌入式應用的部分定義佔有相當重要的地位。
Power Architecture的嵌入式處理器家族
目前Power架構中有兩大家族是專為嵌入式應用而設計,這兩大家族包含了Power 7xx系列,以及Power 4xx系列。在電力消耗以及架構規模上都各有不同。
Power 7xx系列
 圖說:PowerPC 7xx的系統設計架構。(資料來源:IBM)
這一系列的架構主要訴求為高效能,並且兼顧低耗電需求,這一系列處理器都是32位元架構,主要應用範圍在於嵌入式控制、影像處理以及一些具有密集運算需求的具有密集運算需求的服務。在共同設計上,都是基於2組整數運算單元、1組載入儲存單元以及1組浮點運算單元的架構。
以下為7XX架構的介紹:
1.PowerPC 750FX以及PowerPC 750FL
這系列處理器在核心部分包含了32KB的指令快取以及32KB的資料快取,並且內建了512KB的二階快取記憶體,系統匯流排的時脈速度支援到200MHz。750FX是為了高可靠性運算需求所設計,最高時脈為800MHz。而750FL則是著重於低功耗導向的應用,在可靠度方面就不若750FX有那麼高的要求。750FL所提供的速度有600、700以及733MHz,這兩款處理器的封裝都是採用21mm的CBGA方式,製程是採用IBM的130nm的銅導線SOI技術。
2.PowerPC 750CXr
這款處理器主打低成本設計,內建的256KB的二階快取記憶體,以及合併的32KB指令及資料快取記憶體,在封裝方面則是採用塑膠封裝,提供的時脈型號則是從300MHz到533MHz之間。
3.PowerPC 750GL/GX
這是一款基於32位元架構的嵌入式處理器,內建了32KB的資料與指令快取,以及高達1MB的二階快取記憶體,在接腳與封裝上與750FX/FL相容,而750GX可以提供最高達1GHz的時脈表現,兩款處理器共有的時脈型號則是包含了800MHz以及933MHz。
4.PowerPC 750CL
 圖說:IBM家族中最新的PowerPC 705CL,被應用於次世代主機Wii中。(資料來源:IBM)
這款是IBM在750家族中最新的一款晶片,主打的是具有高度彈性的架構,除了時脈的可設定範圍從400MHz 到1GHz,也可由使用者指定二階快取記憶體的大小,並且也內建了專為繪圖處理最佳化的部分指令。在功耗方面,比同家族的其他750系列具有更佳的表現,基本上,這一款晶片正是被任天堂採用為Wii中央處理器使用。這款晶片採用的是90nm的銅導線SOI製程,並且使用FC-BGA封裝,比較特殊的是,此款晶片的接腳定義與PowerPC 970相容,而定價上則是向750CXr看齊。
5.PowerPC 7xx系列的支援晶片組
在北橋晶片組這方面,IBM本身並不提供,而是交由合作廠商所設計,基本上在這方面有2大供應廠商,分別是Marvell以及Tundra這2家公司,提供了包含基本記憶體控制器、中斷控制、DMA控制等功能,以及進階的PCI Express、PCI-X匯流排介面,以及包含乙太網路以及光纖等網路介面等等。
Power 4xx系列
4xx家族方面都是基於32位元架構的嵌入式處理器產品,除了提供了可縮放的規模設計以外,也支援了單一或者是多重處理器組態的設定,當然單晶片SoC的設計也在其應用範疇之內。除了可應用於主要計算,也可以肩負起I/O處理以及網路及儲存封包處理等多種應用。4xx系列處理器可以利用IBM獨家的CoreConnect匯流排架構來進行平行運算或應用導向的巨集架構。這些處理核心基本上都是經過晶片面積最佳化以及高度整合後的設計,目前也被IBM作為IP授權的主打產品,可供不同廠商嵌入到自行設計的半導體產品中。
而在指令集方面的相容性,拜完全支援Power Architecture所賜,所有針對Power處理器指令集開發的軟體皆可以順利執行,而無須另行改版或重新編譯。因此過去在軟體所投資的成本也不會因為架構的轉換而付諸流水。但是由於不同軟體對於效能的需求不同,因此雖然在指令集階段可以完全相容,但是針對應用方面,還是要選擇比較適合的架構,才不會有殺雞用牛刀或是相反的情況發生。而由於指令集的完全相容,開發商過去所累積的程式碼資源或手上的開發工具也可以繼續沿用,除了可以節省開發成本,也可以加速產品上市時程。
以下為4XX架構的介紹:
1.PowerPC 405核心
 圖說:PowerPC 405的區塊圖。(資料來源:IBM)
PowerPC 405是一款可達到400MHz時脈速度的處理器,在效能上約可達到608DMIPS的程度,在製造上,是採用90nm銅導線技術,除了規模可縮放設計之外,也完全支援了Power ISA 2.03的規範,並且為嵌入式應用最佳化。這款可授權的嵌入式核心具有超純量設計,以及5階管線架構,以及分離式的指令、資料快取,具有1個JTAG端紫、追跡式先進先出(Trace FIFO),多重時序,以及內建記憶體管理機制(Memory Management Unit,MMU)。
這款嵌入式處理器被廣泛應用在儲存、消費性產品以及有線/無線網路裝置中,作為資料的加速處理輔助之用。
2.PowerPC 440核心
 圖說:PowerPC 440的區塊圖。(資料來源:IBM)
這款核心則是提供了最高667MHz的速度,在效能指標上的表現,約可達到1334DMIPS,與PowerPC405相同的是,這款處理也是採用90nm銅導線半導體製程,同樣也對Power ISA 2.03規範具有完整的支援。PowerPC 440除了內建有256KB的二階快取記憶體以外,分離式的資料及指令快取可各為16KB或者是32KB,較特殊的是,2個整數單元的設計並不是完全一樣的,而是非為精簡型以及複雜型整數運算單元,分別負責不同的計算需求。此外,PowerPC 440也提供了附加的晶片內嵌記憶體支援能力,在市場定位上,PowerPC 440是一款可以視應用而可分別針對效能取向設計或者迎合省電需求的規模縮減設計,在架構上可以說相當靈活。
 圖說:PowerPC 440的FPU模組區塊圖。(資料來源:IBM)
PowerPC 440還有獨立的浮點運算模組,透過APU介面連接,藉以達到對於浮點運算處理加速的需求。PowerPC 440模組是個雙緒、超純量的管線架構浮點運算單元,硬體上整合了一組4態、4階管線設計、具有載入與儲存功能的算數處理管線。當然,這個FPU單元也是可以直接整合在PowerPC 440核心當中,端視半導體廠商的設計與需求。
3.PowerPC 460核心
 圖說:PowerPC 460的區塊圖(。資料來源:IBM)
作為IBM旗下最高階的嵌入式處理器,PowerPC 460以32位元的運算架構,提供了將近2000DMIPS的運算能量,雖然在機本架構上與其他4xx系列核心相同,但是PowerPC 460核心還額外支援了24道DSP指令、可擴充多處理器的PLB匯流排,以及獨立的二階快取記憶體介面,當然,就如同PowerPC 440的設計概念一樣,460也是可以針對需求來調整核心的規模,讓半導體廠商可以針對效能導向或者是省電導向的應用來開發產品。
CoreConnect架構
CoreConnect是IBM PowerPC處理器的匯流排架構,在過去10之間已經授權給超過1500家IP發展公司作為特定處理器的匯流排架構使用,現在IBM在進入處理器IP授權領域之後,轉而把這項廣為授權使用的技術拿來當作自家的獨門武器,並且特別為之設計了橋接方案,可用來連接諸如ARM處理器等IP授權處理器架構,並將之納入成為Power Architecture的基礎設計。不過這樣的設計通常都是作為過渡使用,一般要應用於實際產品並推出到市場上,其實並不是那麼容易。
CoreConnect的周邊選項方面,包含了記憶體控制器、DMS控制器以及PCI介面橋接及中斷控制,作為系統層級的完整設計方案。
CoreConnect架構中的PLB(Process local bus)是個具有高效率表現的處理器匯流排設計除了作為標準處理器的匯流排連接設計以外,也可以作為處理器與整合型的匯流排控制器的標準溝通介面,因此PLB架構的設計可以應用於Core加上ASIC的架構,或者是標準的SoC架構之中。
針對具有多重處理器核心架構的SoC設計,可以選用PLB5匯流排技術,PLB5是個128-bit寬度、8個主端的4路crossbar交換器,主要是針對高性能運算環境的架設需求,PLB5能夠承擔起高時脈處理器的高功耗需求。除了多重處理器以外,單晶片多核心處理器也可以應用PLB5匯流排,並從中得到好處。
結論
 圖說:PowerPC 架構處理器的設計廠商以及家族的年代表。(資料來源:Power.org)
作為開放IP授權的新手,IBM在和伙伴廠商攜手合作之下所推出的種種方案,基本上都可以有效的滿足各種不同的運算需求,但是依照目前的情況看來,力道似乎還顯不足,過去已經習慣於ARM或MIPS架構的半導體廠商,要其改弦易轍,轉投向Power Architecture的懷抱,也不是件容易的事。
畢竟Power微架構產品在嵌入式應用方面,與目前的競爭廠商產品比較起來,不論在效能或省電性方面,並不見得能佔有多大優勢,目前較大的優勢,其一就是IBM本身驚人的技術力是世界公認的,而合作廠商可以針對未來的嵌入式Power架構核心做出架構上的建議,進而設計出更為符合特定用途的產品,也對於某些半導體廠商有相當大的吸引力,這兩點算是IBM/Power.org在推行IP授權業務與新核心的開發與推展上,最能讓人信服的地方。
|