多內(nèi)核處理器架構(gòu)改善嵌入式系統(tǒng)性能
處理器的設(shè)計(jì)正在從提高頻率向降低功耗的方向轉(zhuǎn)變,為滿足更高性能的要求并使功耗不超過許多應(yīng)用所能承受的范圍,微處理器的一個(gè)明顯變化是從頻率越來越高向多內(nèi)核架構(gòu)轉(zhuǎn)變。本文分析這種轉(zhuǎn)變對(duì)嵌入式系統(tǒng)設(shè)計(jì)的性能帶來哪些改善。
雙內(nèi)核微處理器是當(dāng)前計(jì)算設(shè)計(jì)關(guān)注的焦點(diǎn),為滿足更高性能要求并使功耗不超過許多應(yīng)用所能承受的范圍,微處理器正在從頻率越來越高的發(fā)展趨勢向多內(nèi)核架構(gòu)轉(zhuǎn)變。
其它的一些重要進(jìn)展也專注于提供更高的單位功耗上完成的指令數(shù)量的指標(biāo)上,例如片上存儲(chǔ)器控制器、更先進(jìn)的動(dòng)態(tài)功率管理(DFM)以及單指令多數(shù)據(jù)(SIMD)引擎。
在過去幾年,改善工藝和晶體管技術(shù)是提高處理器性能的主要方法,而更高頻率則是獲得更高性能的驅(qū)動(dòng)力。然而,最近關(guān)注焦點(diǎn)從頻率轉(zhuǎn)移到功耗上。
是什么促使關(guān)注焦點(diǎn)發(fā)生變化?一直以來,設(shè)計(jì)工程師主要考慮的功率問題是由門電路充放電引起的AC分量。半導(dǎo)體技術(shù)向90nm和更小工藝尺寸的轉(zhuǎn)移,引入了重要的DC功率分量(又稱漏功率或者靜態(tài)功率)。實(shí)際上,相同電壓下90nm設(shè)計(jì)的典型漏電流大約為130nm設(shè)計(jì)的2到3倍,漏電流引起的功耗可能占到某些90nm器件總功耗的一半以上。
更低功率的產(chǎn)品采用低功率工藝制造,例如絕緣硅(SOI)技術(shù)。SOI能減少寄生電容,使開關(guān)頻率提高25%或者使功耗降低20%。將功率更低、介電常數(shù)k值更高的介質(zhì)材料用作柵極絕緣體(gate insulator)的相關(guān)工作也在進(jìn)行中,這將獲得比目前使用的二氧化硅層更易于制造且更厚的層。
更高頻率的器件需要更高的電源電壓,因而其功耗也呈指數(shù)增長。更高頻率的處理器還會(huì)增加中斷等待時(shí)間,這對(duì)實(shí)時(shí)應(yīng)用來說非常關(guān)鍵,并需要給內(nèi)核提供更深的管線。當(dāng)處理器執(zhí)行一條未曾預(yù)設(shè)的指令時(shí),管線將會(huì)擁塞造成執(zhí)行停止,這會(huì)對(duì)性能造成嚴(yán)重影響。
還有其它因素迫使芯片設(shè)計(jì)工程師通過新方法提高性能。更高的頻率需要額外的時(shí)鐘開銷,處理器需要在時(shí)鐘邊沿附近建立一定的安全裕量以確保正確運(yùn)行。因?yàn)榘踩A拷票3植蛔儯噪S著頻率的增加,在一個(gè)時(shí)鐘周期內(nèi)可用的時(shí)間實(shí)際上會(huì)更少。因此,增加頻率并沒有使性能得到相應(yīng)提高。
這樣以來,系統(tǒng)設(shè)計(jì)工程師轉(zhuǎn)向多內(nèi)核處理器架構(gòu)而不是更高頻率的器件來實(shí)現(xiàn)系統(tǒng)性能的提高,并使功耗的增加最小。雙內(nèi)核微處理器最初設(shè)計(jì)用于服務(wù)器等計(jì)算密集型應(yīng)用,現(xiàn)在則用于廣泛的嵌入式應(yīng)用中。
存儲(chǔ)器控制器和橋接芯片也與多個(gè)內(nèi)核一起集成在單個(gè)硅片上。存儲(chǔ)器子系統(tǒng)一直以來就是高性能處理系統(tǒng)的一個(gè)瓶頸,存儲(chǔ)器技術(shù)的最新發(fā)展,包括引入第2代雙倍數(shù)據(jù)速率(DDR2)接口,已使性能有了顯著提高。相比單倍數(shù)據(jù)速率(SDR)技術(shù)133MHz的傳輸速率,DDR2的傳輸速率高達(dá)667MHz。但是,因?yàn)樘幚砥鲿r(shí)鐘速率增加得更快,所以人們已開始更多地關(guān)注存儲(chǔ)器的響應(yīng)時(shí)間。
直到最近,包括存儲(chǔ)器控制器在內(nèi)的許多系統(tǒng)邏輯都以北橋和南橋芯片的形式存在于處理器外部。將存儲(chǔ)器控制器和橋接芯片集成到同一個(gè)硅片內(nèi)作為微處理器內(nèi)核,可減少帶寬和響應(yīng)時(shí)間的瓶頸。例如,片上存儲(chǔ)器控制器將使處理器到存儲(chǔ)器的等待時(shí)間減少2/3到3/4。
某些時(shí)候更重要的是,這樣的集成可節(jié)省電路板空間。更高的集成對(duì)在像高級(jí)夾層卡(Advanced Mezzanine Cards, AMC)這樣小的尺寸內(nèi)提供更強(qiáng)處理能力來說尤其重要。更好的存儲(chǔ)器控制可節(jié)省功率。當(dāng)沒有數(shù)據(jù)要處理以及不需要進(jìn)行刷新時(shí),更智能的存儲(chǔ)器控制器可以使時(shí)鐘使能信號(hào)無效,這樣避免產(chǎn)生不必要存儲(chǔ)器時(shí)鐘,一般可以降低高達(dá)20%的存儲(chǔ)器功耗。
另外一個(gè)可用來減少存儲(chǔ)器芯片及其終結(jié)電阻功耗的系統(tǒng)設(shè)計(jì)技術(shù)是,當(dāng)它們以集束形式(clustered arrangement)連接在一起時(shí),利用處理器進(jìn)行遠(yuǎn)端引導(dǎo)和控制。高速互連/網(wǎng)絡(luò)方案,比如RapidIO技術(shù),能通過處理器節(jié)點(diǎn)到架構(gòu)的連接,完全控制處理器節(jié)點(diǎn)。這樣可消除用于引導(dǎo)程序的閃存,以及用來驅(qū)動(dòng)復(fù)位和中斷的各種可編程邏輯器件,從而節(jié)省功率和電路板面積。
像以太網(wǎng)控制器這樣的傳統(tǒng)裝置現(xiàn)在似乎具有這樣的基本功能,即在沒有額外閃存的情況下啟動(dòng)基于FTP的引導(dǎo)程序。在數(shù)字用戶線接入復(fù)用器(DSLAM)應(yīng)用中,消除每個(gè)線卡上的閃存對(duì)32線的DSLAM來說可節(jié)省大約3W的功率。
處理器的數(shù)據(jù)輸入和輸出是提高系統(tǒng)性能的另外一個(gè)關(guān)注焦點(diǎn)。先進(jìn)通信計(jì)算架構(gòu)(AdvancedTCA)等新規(guī)范也推動(dòng)著片上高帶寬管線的發(fā)展,支持通過背板上幾個(gè)高性能互連的能力是AdvancedTCA的關(guān)鍵優(yōu)勢。到目前為止,每個(gè)這樣的互連都需要外部芯片。
現(xiàn)在設(shè)計(jì)用于AdvancedTCA的處理器具有片上高帶寬管線,無需外部器件就可實(shí)現(xiàn)從背板到處理器的千兆位以太網(wǎng)、串行RapidIO和PCI-Express的直接連接,這在功率、電路板面積、開發(fā)時(shí)間和系統(tǒng)成本方面提供了最佳解決方案。
在芯片上集成這樣的接口還允許優(yōu)化內(nèi)核和接口之間的處理。例如在千兆以太網(wǎng)模塊中,接口硬件可以以線速執(zhí)行一些早期的分析和分類,將不同類型的幀送到不同的緩沖池,并將頭幀傳輸?shù)?級(jí)緩存以便更快地被微處理器內(nèi)核處理。這種方法通過在接口和內(nèi)核之間建立一個(gè)處理管線,大大減輕了內(nèi)核的負(fù)擔(dān)。
嵌入式設(shè)計(jì)工程師可利用各種節(jié)省處理器功率的機(jī)會(huì)。例如,動(dòng)態(tài)頻率切換(DFS)允許軟件在一個(gè)時(shí)鐘周期內(nèi)顯著地改變處理器運(yùn)行時(shí)的內(nèi)核頻率,它無需插入空周期或者對(duì)器件進(jìn)行復(fù)位,且處理器仍保持完整功能。這樣一般可節(jié)省45%的功率。
嵌入式應(yīng)用推動(dòng)了另外一些減少發(fā)熱特性的產(chǎn)生。一些新型處理器具有集成的DPM功能,當(dāng)執(zhí)行單元沒有使用的時(shí)候,該功能可以自動(dòng)停止向它們提供功率。另外一個(gè)實(shí)例是指令緩存節(jié)流,這種技術(shù)通過降低最高的指令執(zhí)行速率,使DPM的影響最大化。
低功率模式經(jīng)常被忽視而沒有得到利用。有了現(xiàn)在的高性能嵌入式處理器,“開”或“關(guān)”不再是一個(gè)問題。新的處理器可有多個(gè)狀態(tài),如運(yùn)行、打盹、小睡、睡眠以及深度睡眠模式等,每種狀態(tài)下對(duì)處理器時(shí)鐘、PLL以及是否響應(yīng)監(jiān)聽和中斷都有相關(guān)設(shè)置。例如,在睡眠模式下,通常PLL處于開通狀態(tài),而內(nèi)部時(shí)鐘則完全關(guān)閉。盡管中斷能使處理器轉(zhuǎn)換到完全開通的狀態(tài),但處理器經(jīng)常對(duì)監(jiān)聽不響應(yīng)。這些模式可使處理器處于對(duì)外部時(shí)間反應(yīng)的不同靈敏度和功耗級(jí)別,通過正確應(yīng)用這些模式可實(shí)現(xiàn)主要的功率節(jié)省。充分利用這些可用特性的經(jīng)過優(yōu)化的軟件設(shè)計(jì),將會(huì)實(shí)現(xiàn)額外的功率節(jié)省。
嵌入式微處理器基準(zhǔn)協(xié)會(huì)(EEMBC)自1997年建立以來,已成功地重新定義了嵌入式處理器的基準(zhǔn),EEMBC認(rèn)為功率是嵌入式系統(tǒng)設(shè)計(jì)的首要關(guān)注點(diǎn),并正在考慮定義評(píng)價(jià)能耗的基準(zhǔn)。
直到現(xiàn)在,設(shè)計(jì)工程師還不得不依賴處理器提供商,以及他們自己在各種狀態(tài)下測試“典型功率”的技術(shù),一種可靠、一致、可理解的功耗基準(zhǔn)將對(duì)設(shè)計(jì)工程師非常有好處。EEMBC期望在運(yùn)行現(xiàn)有的基準(zhǔn)套件同時(shí)測量能耗,然后將結(jié)果以焦耳值的形式給出,或者用一個(gè)累計(jì)的"PowerMark"分?jǐn)?shù)來概括。
SIMD引擎能實(shí)現(xiàn)高度并行的運(yùn)算,允許依靠指令級(jí)執(zhí)行單元在單個(gè)時(shí)鐘周期里同時(shí)執(zhí)行多個(gè)運(yùn)算,這些指令級(jí)執(zhí)行單元可并行運(yùn)行現(xiàn)有的整數(shù)和浮點(diǎn)單元。EEMBC認(rèn)證結(jié)果表明,其運(yùn)算速度比電信基準(zhǔn)的標(biāo)量處理(scalar processing)速度高12倍。這些包括用在無線基站基帶處理中的維特比解碼算法和卷積編碼等算法。這些結(jié)果是通過用C語言編碼獲得的,盡量減少了對(duì)手工代碼匯編的需求。設(shè)計(jì)工程師在任何可能的情況下都避免匯編,而是通過他們自己的C編碼和處理器供應(yīng)商提供的匯編優(yōu)化庫來獲得性能。重要的是,獲得這些SIMD引擎性能增量僅只需增加5-10%的處理器功率。
SIMD引擎也可給軟件投資帶來可觀回報(bào),在對(duì)功率影響最小的情況下獲得重大的性能提升。
低功率嵌入式系統(tǒng)在其它方面帶來系統(tǒng)設(shè)計(jì)新的挑戰(zhàn),例如電源管理。不斷縮小的處理器尺寸增加了電流并降低了電壓。容量更大、速度更快的存儲(chǔ)器其瞬變過程也更快,這需要電源具有更好的吸收和輸出電流的能力。傳統(tǒng)用于限制大電流和瞬態(tài)電流的PCB上的電阻和電容器件可能導(dǎo)致負(fù)載調(diào)節(jié)能力欠佳,使電路板上的電壓發(fā)生波動(dòng)。此外,電路板上不同電壓的數(shù)量也在增加,增加了電源布線的復(fù)雜程度。
一種稱為負(fù)載點(diǎn)(PoL)的新興架構(gòu)標(biāo)準(zhǔn)通過提供更高的電壓精度、更少的紋波和更快的瞬態(tài)響應(yīng),可解決很多這些挑戰(zhàn)。它還能提供更多的設(shè)計(jì)靈活性,因?yàn)閬碜远鄠€(gè)供應(yīng)商的產(chǎn)品的互操作性可得到保障。
系統(tǒng)架構(gòu)師現(xiàn)在采用新的方法來處理嵌入式應(yīng)用中的發(fā)熱和功率問題。一種方法是構(gòu)建能承受和發(fā)散更多熱量的物理尺寸更大的系統(tǒng),用于電信基礎(chǔ)設(shè)施的AdvancedTCA規(guī)范就是這樣的例子。作為一個(gè)概念驗(yàn)證平臺(tái),AdvancedTCA規(guī)范受到運(yùn)營商、設(shè)備制造商和器件供應(yīng)商的歡迎。多個(gè)供應(yīng)商和產(chǎn)品都可使用的通用外形尺寸的問世,顯著減少了原型開發(fā)時(shí)間和成本。
然而,AdvancedTCA在制造基礎(chǔ)設(shè)施上應(yīng)用的廣泛程度仍然是個(gè)未知數(shù),功率、體積和成本是主要考慮因素。設(shè)計(jì)工程師采納的替代方法利用了集成的雙內(nèi)核微處理器中的最新技術(shù),使它們每毫瓦的處理能力最大。與其被迫采用一種基礎(chǔ)設(shè)施系統(tǒng)來處理產(chǎn)生的熱量,設(shè)計(jì)工程師更愿意在第一階段中避免產(chǎn)生熱量。
對(duì)稱多處理器(SMP)雙處理器應(yīng)用是雙內(nèi)核器件明顯的應(yīng)用目標(biāo)。在這些應(yīng)用中,處理器共享相同的操作系統(tǒng)(OS)和存儲(chǔ)器。兩個(gè)分離的處理器和它們的系統(tǒng)邏輯可以全部集成在一個(gè)器件里。
一個(gè)常見的誤解是認(rèn)為雙內(nèi)核器件僅限于SMP應(yīng)用。采用智能設(shè)計(jì),設(shè)計(jì)工程師可增加必要的hook函數(shù)和功能性,以允許不僅支持在每個(gè)內(nèi)核上具有相同操作系統(tǒng)的非SMP處理器,還支持每個(gè)內(nèi)核不同的操作系統(tǒng)。設(shè)計(jì)工程師利用這種靈活性銜接現(xiàn)有操作系統(tǒng)(通常是專用的)與新興操作系統(tǒng),如Linux。操作系統(tǒng)供應(yīng)商通過定義標(biāo)準(zhǔn)化的通信方法進(jìn)行合作,以實(shí)現(xiàn)雙內(nèi)核器件中操作系統(tǒng)之間的這種“協(xié)同不對(duì)稱多處理”功能。
靈活利用集成的多內(nèi)核處理器特性和技術(shù),可為許多嵌入式應(yīng)用實(shí)現(xiàn)外形尺寸小、成本低、性能可靠的系統(tǒng)。很明顯,集成的雙內(nèi)核微處理器正在改變架構(gòu)現(xiàn)狀。專門為嵌入式應(yīng)用而設(shè)計(jì)的新型處理器,可實(shí)現(xiàn)在特定功率預(yù)算內(nèi)大大提高計(jì)算密度的高性能系統(tǒng)設(shè)計(jì)。