<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 多核嵌入式系統的節能研究

多核嵌入式系統的節能研究

作者: 時(shí)間:2016-10-22 來(lái)源:網(wǎng)絡(luò ) 收藏

本文列舉了系統存在的一些主要局限,并對解決這些局限的可行方案進(jìn)行了探討。將以一些嵌入式系統為例,指出利用現有架構改進(jìn)系統效果的機遇。多核處理器與新興的嵌入式平臺的結合能夠滿(mǎn)足現代嵌入式應用所需的高計算能力。但是,此類(lèi)嵌入式應用需要進(jìn)行高頻切換,這將導致功耗較大、芯片溫度過(guò)高,以及電源接地噪聲。開(kāi)發(fā)人員可以通過(guò)本文找出改進(jìn)現代嵌入式系統效果的機會(huì ),并了解實(shí)現電源效率最大化的可行方案。

本文引用地址:http://dyxdggzs.com/article/201610/309235.htm

多核處理器的自主

本文以甲骨文(Oracle)/SunMicrosystem公司的UltraSPARC T1處理器為例展開(kāi)論述。圖1所示為一款UltraSPARC T1處理器中的一個(gè)硬件線(xiàn)程的流水線(xiàn)微架構。選擇UltraSPARC T1的原因是,其設計源代碼、仿真工具及設計驗證套件均為開(kāi)源,而且可以從Oracle公司網(wǎng)站上下載。本文將利用此案例討論從哪方面以及通過(guò)何種方式實(shí)現節能。

圖1:Ultra-SPARC T1嵌入式處理器的流水線(xiàn)微架構。

圖1:Ultra-SPARC T1嵌入式處理器的流水線(xiàn)微架構。

圖2顯示了與處理器每個(gè)內核相關(guān)的陷阱邏輯單元。陷阱實(shí)現了軟件從低級到高級特權模式(例如從用戶(hù)模式到管理或監督模式)的控制矢量傳遞。就UltraSPARC T1處理器而言,Tcc指令以及因指令引起的異常、復位、異步錯誤或中斷請求均會(huì )導致陷阱的發(fā)生。

圖2:陷阱邏輯單元。

圖2:陷阱邏輯單元。

通常,陷阱會(huì )導致SPARC流水線(xiàn)被沖刷(Flush)。處理器狀態(tài)將被存儲在陷阱寄存器堆棧中,而陷阱處理程序代碼則將被執行??刂频膶?shí)際傳遞是通過(guò)含有每個(gè)陷阱處理程序前八個(gè)指令的陷阱表來(lái)實(shí)現的。用于將陷阱傳遞到特權模式中的表格的虛擬基址在陷阱基址(TBA)寄存器中被指定。表格中的位移則取決于陷阱的類(lèi)型和當前的陷阱級別。當遇到DONE(完成)或RETRY(重試)指令時(shí),陷阱處理程序代碼執行完畢。陷阱可能與SPARC內核流水線(xiàn)同步或異步。圖2顯示了與SPARC內核其他硬件模塊相關(guān)的TLU中的陷阱控制和數據流。從IFU、EXU、LSU及TLU傳入的陷阱的優(yōu)先級最先被解析,解析的陷阱類(lèi)型被確定。根據陷阱類(lèi)型,以及在隊列中沒(méi)有其他更高優(yōu)先級的中斷或異步陷阱待處理的情況下,系統將向LSU發(fā)送沖刷信號,以提交之前未完成的所有命令。此外,陷阱類(lèi)型也決定了什么樣的處理器狀態(tài)寄存器需要被存儲到陷阱寄存器堆棧中。之后,將選擇陷阱基址并將其發(fā)往流水線(xiàn)做進(jìn)一步執行。

圖3:芯片框圖。

圖3:芯片框圖。

圖3顯示了處理器的芯片布局。該處理器有可變數量的內核、L2緩存體(bank)、內核外浮點(diǎn)單元(FPU)及輸入輸出邏輯,而且它們通過(guò)芯片上的網(wǎng)絡(luò )互連。在CASPER仿真環(huán)境中,設計師可以對各種架構參數進(jìn)行修改。

節能機遇

對于上述多核嵌入式處理器,已確定了以下內核級和芯片級節能候選元素(PSC):

1.寄存器文件,即線(xiàn)程專(zhuān)用單元。每個(gè)線(xiàn)程都有一個(gè)160雙字(64位)的寄存器文件,而且當線(xiàn)程的某個(gè)任務(wù)被阻塞或空轉時(shí)可以節省大量功耗。

2.數據緩存未命中時(shí),用以排列數據的加載未命中隊列(LMQ)。線(xiàn)程之間可以共享加載未命中隊列,但通過(guò)這種方法節省的功耗較少。

3.分支預測器。分支歷史表可以是線(xiàn)程專(zhuān)用的,因此可以節省大量功耗。

4.當內核中所有線(xiàn)程的所有任務(wù)發(fā)生阻塞或空閑時(shí),或沒(méi)有任務(wù)被調度到內核中的任何線(xiàn)程時(shí),整個(gè)內核可以節省大量功耗。

5.內核中用于硬件和軟件中斷的陷阱單元。研究結果顯示,在UltraSPARC T1處理器中,用于典型SPECJBB網(wǎng)絡(luò )處理應用的陷阱指令在所有指令中所占的百分比還不到1%。這表明,陷阱單元是非常好的潛在節能元素。請注意,雖然在大部分時(shí)間內其余的陷阱邏輯可能處在節能模式下,接收陷阱的輸入接收隊列需一直保持在活躍狀態(tài),但隊列的功耗可以忽略不計。

6.在緩存體和輸入輸出緩沖器之間控制數據流的用于L2緩存的DMA控制器。

7.內核和L2緩存體之間的命令和數據隊列。

8.當需要訪(fǎng)問(wèn)片外緩存或主存儲器時(shí),只有在片上L2緩存有緩存未命中時(shí)才會(huì )被激活的緩存未命中路徑邏輯。

節能策略

基于上述PSC制定出的自主硬件節能方案包括電源門(mén)控(數據不被保留)、時(shí)鐘門(mén)控(數據在正常操作時(shí)被保留)和DVFS(同步電壓及頻率調整)。DVFS僅用于整個(gè)內核,或類(lèi)似于DMS控制器、互連網(wǎng)絡(luò )、緩存體、輸入輸出緩沖器或FPU的片上計算單元這樣的一個(gè)芯片級組件(圖3)。但是,對于內核中的組件和芯片級組件而言,電源和時(shí)鐘門(mén)控均適用。圖4顯示了推薦的核內(局部電源管理)級和全局芯片級分層節能架構。在圖4中的虛線(xiàn)上方,局部電源管理單元在內核中運行,對電源狀態(tài)寄存器(PSR,與不同的PSC相關(guān))中的內容進(jìn)行監控,執行節能算法,以及對相應電源控制寄存器(PCR)當中的數值進(jìn)行修改以激活或關(guān)閉節能模式。片上模擬電壓調節器和時(shí)鐘調節器將讀取PCR中的內容,并通過(guò)讀取的數據對PSC上的DVFS、電源門(mén)控、時(shí)鐘門(mén)控進(jìn)行控制。請注意,LPMU并不直接控制整個(gè)內核中的節能單元(如DVFS)。反之,LPMU將通過(guò)內核控制狀態(tài)寄存器(CSR)向全局電源管理單元(GPMU)發(fā)送信號,CSR轉而通過(guò)內核控制寄存器(CCR)實(shí)現內核級節能。內核中的電源狀態(tài)寄存器通過(guò)陷阱邏輯和解碼器進(jìn)行更新,當需要進(jìn)行特定中斷服務(wù)或要對特定指令進(jìn)行解碼時(shí),陷阱邏輯和解碼器將會(huì )發(fā)出PSC即將激活的信號。同樣,PSC也可以對自身的PSR進(jìn)行更新,從而在系統長(cháng)時(shí)間不工作(空閑或阻塞狀態(tài),最好在內核中對其進(jìn)行局部監控)時(shí)發(fā)出即將節能的信號。

圖4:自主硬件節能邏輯的架構。

圖4:自主硬件節能邏輯的架構。

圖5:全局電源管理單元。

圖5:全局電源管理單元。

在圖4中的虛線(xiàn)下方及內核外部是芯片級GPMU,它將會(huì )讀取片上傳感器上熱點(diǎn)和電源接地噪聲(它們是全局可觀(guān)測現象)的數據,并為內核及其他芯片級組件做出相應的智能節能決定。GPMU通過(guò)內核狀態(tài)寄存器(CSR)和內核控制寄存器(CCR)與內核及其他組件進(jìn)行交互。整個(gè)內核的電源門(mén)控、時(shí)鐘門(mén)控以及DVFS通過(guò)GPMU進(jìn)行控制。圖5展示了GPMU的交互(CR和SR分別表示控制寄存器和狀態(tài)寄存器)。請注意,本文在邏輯上將所有芯片級組件都視為內核。

案例研究:英特爾迅馳中的節能

英特爾迅馳雙核處理器(Core Duo)局部采用了自主電源管理方案,它是英特爾公司針對移動(dòng)市場(chǎng)開(kāi)發(fā)的首款通用芯片多處理(CMP)商用嵌入式處理器。這種內核可實(shí)現兩個(gè)主要目標:首先,在平臺所能承受的最高溫度下實(shí)現性能的最大化;其次,電池的續航能力比前幾代處理器更強。

操作系統將英特爾雙核處理器視為兩個(gè)獨立的執行單元,但在與電源管理相關(guān)的所有操作中,平臺則將整個(gè)處理器視為單一實(shí)體。英特爾選擇將內核電源管理與整個(gè)CPU和平臺的電源管理分開(kāi)。為了實(shí)現這個(gè)目標,必須讓電源及溫度控制單元成為內核邏輯單元的一部分,而不是像以往那樣作為芯片組的一部分。將電源及溫度管理數據流遷移至處理器后,就可以采用一種允許所有內核根據自身需求請求節能狀態(tài)的硬件協(xié)調機制,從而最大化單個(gè)內核的節能效果。CPU將按照兩個(gè)內核請求中的最低標準確定并進(jìn)入相應的節能狀態(tài),例如芯片組電源管理硬件和數據流的單一CPU實(shí)體。由此,軟件可以按照ACPI協(xié)議對每個(gè)內核單獨進(jìn)行管理,而實(shí)際的電源管理則遵守平臺和CPU的共享資源限制條件。多核處理器內核之間的相關(guān)性較復雜,內核對系統級參數的作用還不確定,而且ACPI電源管理協(xié)議也不是針對如此復雜的多核處理器而開(kāi)發(fā)的。因此,需要開(kāi)發(fā)一種新型的電源管理方案,這樣的方案必須能在新興的多核嵌入式處理器中將硬件節能邏輯和由操作系統控制的調度更好地整合到一起。

英特爾推出的雙核處理器被分割成三個(gè)域。內核、各內核的一級緩存以及局部溫度管理邏輯單元作為電源管理域獨立運行。此外,包括二級緩存、總線(xiàn)接口及中斷控制器在內的共享資源形成另一個(gè)電源管理域。所有域將共享同一個(gè)電源平面和同一個(gè)單核PLL,因此均在相同的頻率和電平下運行。與細粒度節能方案相比,這是一個(gè)基本限制。但是,每個(gè)域都有獨立的時(shí)鐘分配(主干(spine))。內核的時(shí)鐘分布主線(xiàn)單獨進(jìn)行門(mén)控,從而實(shí)現最基本的內核級節能方案。只有在兩個(gè)內核都處在空閑狀態(tài)且沒(méi)有共享操作(總線(xiàn)操作和緩存訪(fǎng)問(wèn))的情況下,才能對資源共享主干進(jìn)行門(mén)控。若需要,即使在兩個(gè)內核的時(shí)鐘都停止的情況下,也可以將資源共享時(shí)鐘保持在活躍狀態(tài),以便進(jìn)行L2偵聽(tīng)和中斷控制器信息分析。英特爾Core Duo技術(shù)還引入了包括L2動(dòng)態(tài)調整在內的增強型電源管理特性。為了實(shí)現節能,系統必須進(jìn)入更低電壓的空閑狀態(tài),而為了達到這一目的,必須動(dòng)態(tài)地調整/關(guān)閉L2緩存,從而為DeepC4狀態(tài)做準備。



關(guān)鍵詞: 多核嵌入式 節能

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>