飛思卡爾公司的多核戰(zhàn)略
目前,芯片級(jí)的多核處理技術(shù)是人們可以預(yù)見到的、能顯著提升性能的唯一策略,每一家引領(lǐng)潮流的處理器公司都制定了一項(xiàng)多核戰(zhàn)略。Freescale Semiconductor公司最近也完成了多核戰(zhàn)略的修訂。
公司自從上世紀(jì)90年代中期以來,就一直在出售某種類型的多核芯片。Freescale的被廣泛采用的PowerQUICC通信芯片是一種非對(duì)稱式的多核處理器,它集成了一個(gè)通用型Power架構(gòu)的內(nèi)核,該內(nèi)核內(nèi)置一個(gè)專用的網(wǎng)絡(luò)連接加速引擎。這些加速引擎最早于1995年以PowerQUICC通信處理器模塊(CPM)的名字出現(xiàn),其基礎(chǔ)是一個(gè)專有的RISC架構(gòu)。2005年,F(xiàn)reescale用QUICC引擎取代了CPM,該引擎本身包含有多個(gè)RISC內(nèi)核,與CPM實(shí)現(xiàn)了后向兼容。
但是,用戶并不能對(duì)CPM進(jìn)行完全的編程。用戶對(duì)其進(jìn)行編程時(shí),只能通過Freescale的應(yīng)用編程接口(API)來調(diào)用數(shù)量有限的、預(yù)先編寫好的函數(shù)。更新的QUICC引擎采用了開放式的編程模式。因此,由于定義的嚴(yán)格程度不同,2005前的PowerQUICC芯片要么是異質(zhì)化的多核設(shè)計(jì)(Power內(nèi)核加CPM),要么是依靠專用加速器來加強(qiáng)的、傳統(tǒng)的單核設(shè)計(jì)。不過,PowerQUICC芯片架構(gòu)的本質(zhì)特點(diǎn)—在多個(gè)異質(zhì)化的處理單元上運(yùn)行的分布化的處理—迫使Freescale在很長時(shí)間以前,就必須面對(duì)非對(duì)稱的多處理器以及復(fù)雜的片上互連所帶來的挑戰(zhàn)。Freescale也是在多核DSP上實(shí)現(xiàn)對(duì)稱化處理的先行者之一,在2001年引入了4核MSC8102。MSC8102及其后繼產(chǎn)品都是基于StarCore DSP架構(gòu),而非通用的Power架構(gòu)。
2004年10月,F(xiàn)reescale發(fā)布了MPC8641D,一種基于Power的主控制器,帶有雙32 bit Power e600內(nèi)核。在那時(shí),原計(jì)劃將在05年下半年開始提供MPC8641D的樣品,可惜的是,MPC8641D的開發(fā)被延遲了一年以上,直到07年4季度推出其改版之前,均無望進(jìn)入批量生產(chǎn)。
在設(shè)計(jì)下一款多核處理器時(shí),F(xiàn)reescale從這一艱難的經(jīng)驗(yàn)中汲取了教訓(xùn)。在2006年6月,F(xiàn)reescale發(fā)布了PowerQUICC III MPC8572E,一種集成了雙重Power e500內(nèi)核的高度集成化的通信處理器。這種同質(zhì)化的多核設(shè)計(jì)支持對(duì)稱或者不對(duì)稱的處理,集成了硬件加速器和I/O控制器。MPC8572E在去年6月按時(shí)交付了樣品,確定于08年2季度投入批量制造。
盡管在設(shè)計(jì)高性能、高度集成化的處理器方面擁有長期的經(jīng)驗(yàn),F(xiàn)reescale在向市場推出雙核的Power芯片(MPC8641D)時(shí)仍然遇到了困難。這些困難對(duì)未來集成4個(gè)或更多Power內(nèi)核的PowerQUICC設(shè)計(jì)是有用的經(jīng)驗(yàn)。現(xiàn)在正是Freescale通過推出新的多核平臺(tái),思考未來的處理能力需求,實(shí)施長期多核戰(zhàn)略技術(shù)的機(jī)遇。
多核平臺(tái)的多個(gè)部件
Freescale的戰(zhàn)略圍繞著面向通信的技術(shù)平臺(tái)展開,它包含了未來多核芯片設(shè)計(jì)所需要的全部部件。主要的部件是一個(gè)32bit的通用處理器內(nèi)核、專用的加速引擎、具有多核處理能力的混合式仿真環(huán)境、多核軟件開發(fā)工具,以及將各個(gè)核、I/O控制器、加速引擎和其他的資源連接起來的、新的片上互聯(lián)交互架構(gòu)。該平臺(tái)的唯一一個(gè)全新的部件是CoreNet,即片上交換架構(gòu)。其他的部件都是現(xiàn)有產(chǎn)品的改進(jìn)版本。
舉例來說,基本的處理器內(nèi)核是現(xiàn)有的Power e500內(nèi)核的增強(qiáng)版本,該經(jīng)過增強(qiáng)的內(nèi)核被稱為Power e500-mc,目前,其自有的L2高速緩沖被放置在一條后端總線上,與其他的e500-mc內(nèi)核對(duì)一個(gè)L3緩存進(jìn)行一致性的分享。除此之外,e500-mc實(shí)際上與2001年推出的e500內(nèi)核并無區(qū)別。自有的L2高速緩存有助于減少內(nèi)核間在總線上進(jìn)行的數(shù)據(jù)傳輸,這與共享L2高速緩存的情形截然不同。Freescale正試圖通過在這樣的分層結(jié)構(gòu)中引入一個(gè)共用的L3高速緩存,將自用和共用的高速緩存各自的優(yōu)勢(shì)結(jié)合起來。L3高速緩存的規(guī)模為數(shù)Mbyte。
圖1是Freescale的多核平臺(tái)方框圖。代表CoreNet模塊的方框表示一個(gè)公共的交叉總線,它實(shí)際上是一種“帶有多個(gè)地址仲裁器的可擴(kuò)展的交叉架構(gòu)”,更多的像一個(gè)網(wǎng)格架構(gòu)那樣運(yùn)行,但連線密度要低于具有全局點(diǎn)到點(diǎn)連接能力的真正的網(wǎng)格。
圖1 Freescale的多核平臺(tái)方框圖
{{分頁}}
值得注意的是,Power e500-mc的功能要比某些其他公司的嵌入式多核設(shè)計(jì)所用的處理器內(nèi)核強(qiáng)大得多。Power e500-mc是一種雙向的超標(biāo)量32bit處理器,F(xiàn)reescale的目標(biāo)是1.8~2.0GHz范圍的主頻,以及基于絕緣體上硅(SOI)的45nm CMOS工藝。這樣高的時(shí)鐘速度能讓e500-mc與Cavium Network 公司采用了4路超標(biāo)量的、與MIPS公司兼容的64bit通信處理器中的內(nèi)核展開競爭,后者目前達(dá)到了1.0GHz的峰值速度。
Freescale對(duì)Power 500-mc的選用,反映了所有多核設(shè)計(jì)者都必須作出的一個(gè)折中選擇:使用數(shù)量較少、功能更強(qiáng)的內(nèi)核,還是使用數(shù)量較多而功能較弱的內(nèi)核。Freescale作出選擇時(shí)所考慮的一個(gè)主要因素,就是能否與現(xiàn)有的PowerQUICC芯片實(shí)現(xiàn)后向兼容。為了維持軟件的兼容性,必須采用一個(gè)Power內(nèi)核,而Power架構(gòu)目前尚沒有4、8或16bit的實(shí)現(xiàn)方案。Freescale可以選擇一個(gè)更簡單的Power核,例如e200,不過e500擁有高性能網(wǎng)絡(luò)連接和通信所額外需要的實(shí)力。Freescale的多核平臺(tái)也并未排除使用e500-mc之外的其他Power內(nèi)核,包括功能較弱的e200等內(nèi)核,或者一起使用的可能性。
CoreNet互連能夠?qū)?2個(gè)以上的Power e500-mc連接起來,構(gòu)成完全一致的片上網(wǎng)絡(luò)。如此大量的內(nèi)核確實(shí)超越了“多核”的范疇,進(jìn)入了定義尚不嚴(yán)格、最近被稱為“Manycore(很多核)”的層次—雖然它還達(dá)不到級(jí)別最高的“大規(guī)模并行處理”層次。Freescale的計(jì)劃對(duì)于一家正在竭力交付其首款同質(zhì)雙核Power芯片的公司來說,似乎顯得過于野心勃勃。然而,Manycore設(shè)計(jì)必須在未來的網(wǎng)絡(luò)和通信應(yīng)用中進(jìn)行競爭。Freescale的戰(zhàn)略反映了在開發(fā)遲遲未能露面的MPC8641D時(shí)所獲得的(正反兩方面的)經(jīng)驗(yàn)。
未來的Freescale芯片將對(duì)Power e 500-mc內(nèi)核進(jìn)行補(bǔ)充,增添多個(gè)硬件加速器,例如QUICC引擎、壓縮/解壓縮引擎、模式匹配引擎和加密引擎。Freescale正在超前地針對(duì)32nm以及更高的技術(shù)進(jìn)行規(guī)劃。我們預(yù)計(jì),F(xiàn)reescale即將保守地從同質(zhì)的雙核設(shè)計(jì)開始,向前發(fā)展。雙核設(shè)計(jì)可能已經(jīng)為在4核處理器中將雙芯片耦合在一起的架構(gòu)做好了準(zhǔn)備,而該架構(gòu)的功耗約為30W。
片上網(wǎng)絡(luò)必須具備擴(kuò)展性
CoreNet對(duì)于Freescale的多核平臺(tái)及其未來的成功而言,是最為關(guān)鍵的部件。隨著內(nèi)核的數(shù)量的增加,傳統(tǒng)多分支總線上的核間總線數(shù)據(jù)傳輸量將很快達(dá)到飽和。如果CoreNet獲得成功,則它將幫助Freescale的多核芯片具有與眾不同的鮮明特色。如果CoreNet成為瓶頸,則它將危及Freescale的整個(gè)多核戰(zhàn)略。
圖1是未來基于CoreNet的多核通信芯片的一個(gè)高度抽象的方框圖。目前Freescale并未公開透露詳細(xì)的技術(shù)指標(biāo)。CoreNet有若干重要的特性:首先,它支持同質(zhì)的和異質(zhì)的多核設(shè)計(jì)—對(duì)于PowerQUICC類型的通信芯片來說非常重要。其次,它是一種大帶寬的互連,可以支持交換架構(gòu)上的多種同時(shí)出現(xiàn)的對(duì)話。第三,它能在每個(gè)處理器內(nèi)核的L2緩存之間保持一致性,并且也與共享的L3高速緩存保持一致性。第四,它允許多個(gè)外部存儲(chǔ)控制器同時(shí)訪問交換架構(gòu),而不至于相互間造成阻塞。第五,CoreNet有多個(gè)地址仲裁器和自動(dòng)緩沖區(qū)。Freescale將CoreNet描述為“自路由器”。這一描述暗示它是一個(gè)基于包的片上網(wǎng)絡(luò),在這個(gè)網(wǎng)絡(luò)上,處理器核、加速器和其他片上資源都擁有一個(gè)內(nèi)部的網(wǎng)絡(luò)地址。
專門的網(wǎng)絡(luò)傳輸管理是一個(gè)重要的功能。與某些其他的多核芯片不同,F(xiàn)reescale的器件將不會(huì)被迫留出一個(gè)通用存儲(chǔ)器核作為數(shù)據(jù)傳輸?shù)谋O(jiān)管者。所有的Power e500-mc內(nèi)核都可用于應(yīng)用處理。數(shù)據(jù)往來的控制將由一個(gè)單獨(dú)的數(shù)據(jù)路徑資源管理器來負(fù)責(zé)。Freescale表示,該數(shù)據(jù)路徑管理器具有足夠的靈活性,可以針對(duì)不同的應(yīng)用進(jìn)行調(diào)整。
網(wǎng)絡(luò)業(yè)正在鼓吹虛擬化技術(shù),該技術(shù)可以通過在單個(gè)系統(tǒng)上運(yùn)行多重調(diào)用的操作系統(tǒng),極大地削減成本和功耗。Freescale宣稱,它的多核平臺(tái)將具有可配置的內(nèi)存區(qū)域,因此多個(gè)應(yīng)用程序和操作系統(tǒng)可以同時(shí)運(yùn)行而不會(huì)發(fā)生碰撞。
{{分頁}}
軟件開發(fā)的混合仿真
顯而易見,F(xiàn)reescale的新多核通信平臺(tái)是一項(xiàng)復(fù)雜的工作。Freescale的未來的多核PowerQUICC芯片將在某種程度上與PowerQUICC芯片實(shí)現(xiàn)后向兼容。但是,為了讓開發(fā)者能夠充分利用將來更高的集成規(guī)模,F(xiàn)reescale的多核平臺(tái)也將更好的開發(fā)工具作為一個(gè)關(guān)鍵性組成部分。最重要的軟件開發(fā)工具之一,就是Simics,一種由第三方公司Virtutech公司所提供的仿真環(huán)境。Simics也可以讓開發(fā)者運(yùn)行整個(gè)多內(nèi)核設(shè)計(jì)的精確的全系統(tǒng)模型,其中包括所有的Power內(nèi)核、硬件加速器和I/O接口。
在傳統(tǒng)上,軟件開發(fā)者在硬件設(shè)計(jì)完成前就可以利用仿真器開始編寫其程序。不過,F(xiàn)reescale希望編程者能不僅將Simic用于早期的開發(fā),而且也可以用于整個(gè)開發(fā)過程。Simics提供了描述全系統(tǒng)功能的模型,以及對(duì)芯片的詳細(xì)的描述。它具有先進(jìn)的調(diào)試功能,例如檢查點(diǎn)設(shè)定、反向執(zhí)行以及充分的確定性,它還可以在同一時(shí)刻阻止所有的處理器內(nèi)核的執(zhí)行。當(dāng)然,任何軟件仿真器的缺點(diǎn)都是執(zhí)行緩慢。即使在一個(gè)快速的工作站上,Simics的速度也比所仿真的硬件慢約50倍—約等于40MIPS的運(yùn)算速度。
在Freescale的混合仿真環(huán)境中,Simics的功能模型將是首選,除非開發(fā)者需要精確到周期。在那種情況下,開發(fā)者也可以切換到Freescale模型中,集中關(guān)注需要精確到周期的那部分代碼—而不必離開Simics。兩種仿真模型都可以得到高級(jí)的片上調(diào)試單元和計(jì)量模塊的幫助。Simics已經(jīng)可供Freescale的MPC8641D和MPC8572E之用,提供描述2~8個(gè)核的模型。
在任何情況下,在PowerQUICC型的芯片上進(jìn)行多核的編程,都要比針對(duì)臺(tái)式PC多核處理器的編程工作簡單。Cavium和PicoChip等公司已經(jīng)可以提供擁有12個(gè)或更多內(nèi)核的網(wǎng)絡(luò)與通信處理器,而主流的PC市場才剛剛得到它的第一款4核微處理器。
為未來的Manycore時(shí)代做準(zhǔn)備
Freescale的新多核通信平臺(tái)擁有全部的成功元素,而這一戰(zhàn)略的執(zhí)行本身就是挑戰(zhàn)。為了保持在高性能網(wǎng)絡(luò)和通信市場上的競爭力,F(xiàn)reescale必須讓其戰(zhàn)略真正得以實(shí)施。正如AMD和Intel在其PC處理器業(yè)務(wù)方面所發(fā)現(xiàn)的,提高單核時(shí)鐘頻率是一個(gè)死胡同。多核設(shè)計(jì)是未來的選擇,而manycore已經(jīng)正式向嵌入式市場進(jìn)軍。
在過去的兩年中,Cavium已經(jīng)推出了具有與MIPS兼容性的、豐富的網(wǎng)絡(luò)處理器產(chǎn)品線,每個(gè)芯片上可容納多達(dá)16個(gè)64bit的內(nèi)核,而且得到了數(shù)不清的硬件加速器和高速I/O接口的增強(qiáng)。PicoChip數(shù)年來一直在交付其大規(guī)模并行處理器。AMCC最近發(fā)布了一個(gè)新的32bit Power 架構(gòu)內(nèi)核。ARC International、ARM、MIPS以及Tensilica都在向研發(fā)網(wǎng)絡(luò)和通信用芯片的客戶發(fā)放其32bit處理器內(nèi)核。為了跟上形勢(shì),F(xiàn)reescale必須加快PowerQUICC的發(fā)展。
但是,僅僅在一個(gè)芯片上集成大量的處理器內(nèi)核是不夠的。沒有高效率的片上網(wǎng)絡(luò),相應(yīng)的瓶頸仍將阻礙處理器、加速引擎、高速緩存、以及其他重要資源的運(yùn)行。隨著處理器內(nèi)核的數(shù)量的增長,存儲(chǔ)的一致性也成為一個(gè)讓人頭痛的問題。提供足夠高的I/O帶寬,讓芯片能吃飽同樣是一個(gè)挑戰(zhàn)。多核軟件開發(fā)的陰影也籠罩在所有的復(fù)雜硬件之上,它需要新的編程工具和技術(shù)?,F(xiàn)在需要的是遠(yuǎn)大的洞察力,而不是針對(duì)點(diǎn)源問題的、零碎的解決方案。
我們相信Freescale已開發(fā)出一個(gè)堅(jiān)實(shí)的多核平臺(tái)。Freescale的戰(zhàn)略包含了一個(gè)關(guān)鍵部件—CoreNet的片上交換架構(gòu)—該部件可以促成或者突破這一戰(zhàn)略。最終的檢驗(yàn)將是能否及時(shí)交付與其承諾相一致的集成電路。(本文譯自《微處理器報(bào)告》)
參考文獻(xiàn):
1. Freescale的關(guān)于多核通信的白皮書, www.freescale.com/files/32bit/doc/white_paper/ MULTICOREFTFWP.pdf
2. www.freescale.com/webapp/sps/site/overview.jsp?nodeId=0162468rH3bTdG25E4.
評(píng)論