嵌入式系統(tǒng)動(dòng)態(tài)電源管理技術(shù)研究
掃描二維碼
隨時(shí)隨地手機(jī)看文章
現(xiàn)在對(duì)系統(tǒng)設(shè)計(jì)者來(lái)說(shuō),在系統(tǒng)設(shè)計(jì)過(guò)程中除了考慮系統(tǒng)性能外,又面臨一個(gè)新的挑戰(zhàn)——降低系統(tǒng)的能量消耗。該挑戰(zhàn)來(lái)自于以下幾個(gè)因素:第一,越來(lái)越多的手持設(shè)備系統(tǒng)利用電池供電,必須通過(guò)降低功耗來(lái)延長(zhǎng)電池的壽命;第二,半導(dǎo)體工業(yè)的迅速發(fā)展在使系統(tǒng)集成度和時(shí)鐘頻率顯著提高的同時(shí)也導(dǎo)致系統(tǒng)的功耗急劇上升,不僅產(chǎn)生了熱量釋放的問(wèn)題,而且也給系統(tǒng)的封裝費(fèi)用和穩(wěn)定性帶來(lái)了巨大的影響;第三,能量?jī)r(jià)格的上浮、綠色電器的深人人心以及人們對(duì)環(huán)境問(wèn)題的關(guān)心程度越來(lái)越高,也進(jìn)一步說(shuō)明了系統(tǒng)低功耗設(shè)計(jì)的重要性。
DPM是一種應(yīng)用非常廣泛的低功耗設(shè)計(jì)策略,其首要目的就是當(dāng)系統(tǒng)處于欠載狀態(tài)時(shí)使得功耗最低。經(jīng)過(guò)多年的研究與發(fā)展,現(xiàn)在已經(jīng)提出了許多DPM策略,諸如TimeOut技術(shù)、預(yù)測(cè)技術(shù)、隨機(jī)技術(shù)、會(huì)話聚合預(yù)測(cè)技術(shù)等。DPM策略的性能主要取決于對(duì)用戶行為的認(rèn)識(shí)程度。也就是說(shuō),越熟悉用戶行為的規(guī)律,PM(Power Man—agement,功耗管理)的質(zhì)量就越高;反之,PM質(zhì)量就越低。然而在實(shí)際生活中,工作負(fù)載的變化是隨機(jī)的。如果在設(shè)計(jì)DPM的過(guò)程中不考慮這些因素,通常很難得到一個(gè)穩(wěn)健和高質(zhì)量的DPM。
DPM技術(shù)的應(yīng)用將在系統(tǒng)的能耗與性能之間引入一種新的平衡?;蛘哒f(shuō),任何一種動(dòng)態(tài)低功耗技術(shù)都是省電性能和系統(tǒng)性能之間的折衷。
1 DPM基本原理
DPM應(yīng)用的基本前提條件是,系統(tǒng)或者系統(tǒng)單元在正常的運(yùn)行時(shí)間段內(nèi)處于非均勻的工作負(fù)載中。而工作負(fù)載的非均勻性在嵌入式系統(tǒng)和大多數(shù)交互式系統(tǒng)中是非常普遍的現(xiàn)象。
DPM技術(shù)的本質(zhì)就是,根據(jù)系統(tǒng)工作負(fù)載的變化情況,有選擇地將系統(tǒng)資源設(shè)置為低功耗模式,從而達(dá)到降低系統(tǒng)能耗的目的。系統(tǒng)資源可利用丁作狀態(tài)抽象圖來(lái)構(gòu)建對(duì)應(yīng)的模型,該模型中每個(gè)狀態(tài)都是性能和功耗之間的折衷。例如,一個(gè)系統(tǒng)資源可能包含Normal、Sleep兩種工作模式。其中S1eep狀態(tài)具有較低的功耗,但是也要花費(fèi)一些時(shí)間和能耗代價(jià)才能返回到Normal狀態(tài)。狀態(tài)之間的切換行為由功耗管理單元所發(fā)送的命令來(lái)控制,其通過(guò)對(duì)丁作負(fù)載的觀察來(lái)決定何時(shí)以及如何進(jìn)行工作模式的轉(zhuǎn)移。性能限制條件下的功耗最小化(或者功耗限制條件下的性能最大化)策略模型是一個(gè)受限的最優(yōu)化問(wèn)題。
圖1顯示了DPM的基本思想。我們可以將工作負(fù)載看成是多個(gè)任務(wù)請(qǐng)求的集合體。例如對(duì)硬盤來(lái)說(shuō),任務(wù)請(qǐng)求就是讀和寫的命令;對(duì)網(wǎng)卡來(lái)說(shuō),任務(wù)請(qǐng)求則包含數(shù)據(jù)包的收發(fā)兩個(gè)部分。當(dāng)有任務(wù)請(qǐng)求(Request)時(shí),設(shè)備處于工作(Busy)狀態(tài),否則就處于空閑狀態(tài)(Idle)。從該概念出發(fā),在圖1中的T1~T4時(shí)間段內(nèi),設(shè)備處于Idle狀態(tài),而在Idle狀態(tài)下則有可能進(jìn)入到Sleep低功耗工作模式。該設(shè)備在T2點(diǎn)被關(guān)閉,并在T4點(diǎn)接收到任務(wù)請(qǐng)求而被喚醒;在這一狀態(tài)轉(zhuǎn)變過(guò)程中需要消耗一定的時(shí)間,圖1中的Tsd和Twu分別代表關(guān)閉和喚醒延時(shí)。就硬盤或顯示器而言,喚醒這些設(shè)備需要花費(fèi)幾秒鐘的時(shí)間,而且喚醒一個(gè)處于Sleep工作模式下的設(shè)備還需要消耗額外的能量。也就是說(shuō),設(shè)備工作模式的轉(zhuǎn)變會(huì)帶來(lái)不可避免的額外開(kāi)銷。如果沒(méi)有這些額外的開(kāi)銷(包括時(shí)間和能量),那么DPM本身就沒(méi)有任何必要了,因?yàn)槿魏卧O(shè)備只要一進(jìn)入Idle狀態(tài)就立即將其關(guān)閉。因此,一個(gè)設(shè)備只有在所節(jié)省的能量能夠抵消這些額外開(kāi)銷時(shí)才應(yīng)該進(jìn)入Sleep工作模式。決定一個(gè)設(shè)備是否值得關(guān)閉的規(guī)則就叫做“策略(policy)”。功耗管理過(guò)程中,一般只考慮設(shè)備在Idle狀態(tài)下的功耗,而不考慮處于Busy狀態(tài)時(shí)的功耗。
由于設(shè)備在狀態(tài)轉(zhuǎn)換過(guò)程中會(huì)產(chǎn)生額外的時(shí)間和能量消耗,從而給DPM理論帶來(lái)了一個(gè)平衡時(shí)間的概念:TBE,S。TBE,S表示設(shè)備在S狀態(tài)下的省電平衡時(shí)間點(diǎn)(break—even time)。在具體討論之前,首先定義如下變量(假設(shè)設(shè)備具有Normal、Sleep兩種工作模式):
Ton,off:設(shè)備從Normal工作模式切換到Sleep工作模式花費(fèi)的時(shí)間;
Toff,on:設(shè)備從Sleep工作模式切換到Norreal工作模式花費(fèi)的時(shí)間;
Pon,off:設(shè)備從Normal工作模式切換到Sleep工作模式過(guò)程中的功耗;
Poff,on:設(shè)備從Skep工作模式切換到Normal工作模式過(guò)程中的功耗;
Pon:設(shè)備在Normal工作模式下的功耗;
Poff:設(shè)備在Sleep工作模式下的功耗;
Ttarde-off:設(shè)備進(jìn)入Sleep工作模式后不會(huì)帶來(lái)能量浪費(fèi)的所需最小時(shí)間。
從時(shí)域角度看,TBE,S包括兩個(gè)部分:一是狀態(tài)轉(zhuǎn)換時(shí)間,即Ton,off+Toff,on;二是最小平衡時(shí)間Ttrade-off。通過(guò)圖2能更直觀地理解TBE,S。如果設(shè)備處于Sleep工作模式下的時(shí)間小于某個(gè)極限值,則該模式之間的轉(zhuǎn)換除了帶來(lái)性能的損失外,還會(huì)產(chǎn)生能量的額外消耗。圖2中隱含了DPM策略的一個(gè)前提條件,即
式(1)成立的前提條件是在(Ton,off+Toff,on)時(shí)間段內(nèi)所消耗的能量大于Normal工作模式下的能量消耗;如果該前提條件不成立,就不會(huì)存在Ttarde-off,則TBE,S=Ton,off+Toff,on。
假設(shè)設(shè)備處于Idle狀態(tài)下的空閑時(shí)間為Tidle(Tidle>TBE,S),則進(jìn)入Sleep工作模式后所能節(jié)省的能量,記為 ES(Tidle),可表示成:
其中,F(xiàn)代表Tidle的概率分布,Tavgidle〉TBE,S表示大于TBE.S的空閑時(shí)段平均長(zhǎng)度。通過(guò)式(7)可以看出,功耗節(jié)省值Psaved,S與TBE,S一直成反比的關(guān)系:當(dāng)TBE,S=O時(shí),Psaved,s具有最大值;當(dāng)TBE,S越來(lái)越大時(shí),Psaved,S則漸近于O。
2 DPM策略模型
在DPM策略范疇內(nèi),系統(tǒng)模型由兩個(gè)部分組成:一組相互作用的功耗可管理器件(Power Manageable Com—ponent,PMC)和功耗管理(Power Management,PM)。其中,PMC的工作模式由PM來(lái)控制。對(duì)于PMC,我們并不需要關(guān)心其內(nèi)部實(shí)現(xiàn)細(xì)節(jié),而是將它們看作黑箱,這樣就可以更專注于研究PMC和周圍環(huán)境的相互關(guān)系——即為了實(shí)現(xiàn)高效的動(dòng)態(tài)低功耗管理策略,PMC與PM之間需要傳遞什么類型的信息以及信息量的大小。
2.1 PMC模型
在DPM中,PMC定義為完整系統(tǒng)中的一個(gè)原子模塊。該定義具有一般性及抽象性,設(shè)備可以簡(jiǎn)單到芯片內(nèi)部的一個(gè)功能模塊,或者復(fù)雜到一個(gè)開(kāi)發(fā)板。PMC的基本特征是具有多個(gè)工作模式,而且這些工作模式都對(duì)應(yīng)不同的功耗和性能水平。一般情況下,功耗不可管理器件的性能和功耗存系統(tǒng)設(shè)計(jì)以及應(yīng)用過(guò)程中都是不變的;相應(yīng)地,基于PMC就可以在高性能、高功耗的工作模式與低功耗、低性能的工作模式之間進(jìn)行動(dòng)態(tài)切換。
PMC的另外一個(gè)重要特點(diǎn)是,工作模式之間的切換需要付出代價(jià)。在大多數(shù)情況下,代價(jià)指延遲或者性能損失。如果工作模式切換是非瞬態(tài)的,而且設(shè)備在切換過(guò)程中不能提供任何功能,那么無(wú)論何時(shí)開(kāi)始一個(gè)模式切換都將會(huì)帶來(lái)性能的損失。工作模式之間的切換過(guò)程還可能帶來(lái)功耗代價(jià),其經(jīng)常出現(xiàn)在切換過(guò)程非瞬態(tài)的情況下。這里需要強(qiáng)調(diào)的足,在設(shè)計(jì)PMC的過(guò)程中不能忽略切換代價(jià)。
在大多數(shù)應(yīng)用實(shí)例中,可以利用功耗狀態(tài)機(jī)(Power State Machine,PSM)來(lái)對(duì)PMC建模。其中,“狀態(tài)”是指各種不同的工作模式。由PMC的特點(diǎn)可知,工作模式之間的切換過(guò)程將會(huì)產(chǎn)生功耗和延遲代價(jià)。一般來(lái)說(shuō),工作模式的功耗越低,性能將會(huì)越低,而且切換延遲也將越長(zhǎng)。這個(gè)簡(jiǎn)單的抽象模型適用于多個(gè)單芯片設(shè)備,例如處理器、存儲(chǔ)器,以及硬盤驅(qū)動(dòng)、無(wú)線網(wǎng)絡(luò)接口、顯示器等設(shè)備。
以Motorola公司的龍珠系列MC68VZ328處理器作為PMC為例,其具有三種工作模式:RUN、DOZE、SLEEP。RUN是正常工作模式,其在正常上電以及復(fù)位的情況下進(jìn)入;在該狀態(tài)下,所有的功能模塊都處于有效狀態(tài)。DOZE模式使得處理器在不使用的情況下能夠通過(guò)軟件控制來(lái)將其停止運(yùn)行,但仍然會(huì)繼續(xù)監(jiān)聽(tīng)片上或片外中斷源,即在DOZE模式下,當(dāng)產(chǎn)生某個(gè)中斷時(shí),CPU能夠快速地返回到RUN模式。SLEEP模式能夠帶來(lái)最大化的功耗節(jié)省,但同時(shí)具有最低層次的功能。從RUN到DOZE的切換,MC68VZ328依次關(guān)閉片上功能;而從SLEEP切換到其他任何一種狀態(tài),則都將會(huì)經(jīng)歷一個(gè)相當(dāng)復(fù)雜的喚醒過(guò)程。
MC68VZ328的PSM模型如圖3所示。狀態(tài)通過(guò)功耗和性能來(lái)描述,工作模式的切換時(shí)間則通過(guò)邊線表示。模式切換過(guò)程中的功耗接近于RUN模式。這里需要指出的是,雖然DOZE和SLEEP模式都不提供任何性能,但是退出SLEEP模式所需的時(shí)間(160 ms)比DOZE模式的退出時(shí)間(10μs)長(zhǎng)得多,而芯片在SLEEP模式下的功耗(O.16 mW)遠(yuǎn)遠(yuǎn)小于DOZE模式下的功耗(50 mW)。
2.2 PM模型
在DPM范疇內(nèi),系統(tǒng)是指一組相互作用的設(shè)備,其中一些設(shè)備(至少有一個(gè))是外部可控的PMC。該定義具有一般性,并沒(méi)有給系統(tǒng)帶來(lái)任何大小和復(fù)雜性方面的限制條件。在該系統(tǒng)中,設(shè)備行為由系統(tǒng)控制器來(lái)協(xié)調(diào)。對(duì)比較復(fù)雜的系統(tǒng)來(lái)說(shuō),通?;谲浖?lái)實(shí)現(xiàn)控制部分。例如在計(jì)算機(jī)系統(tǒng)中,由操作系統(tǒng)(Operating System,OS)來(lái)實(shí)現(xiàn)全局的協(xié)調(diào)工作。
PM根據(jù)系統(tǒng)設(shè)備的當(dāng)前工作狀態(tài)來(lái)進(jìn)行實(shí)時(shí)控制,因此PM的功能在本質(zhì)上是一個(gè)系統(tǒng)控制器。一個(gè)功耗可管理的系統(tǒng)必須向PM提供完全抽象的設(shè)備信息;而為了縮減設(shè)計(jì)時(shí)間,PM和系統(tǒng)之間的接口標(biāo)準(zhǔn)化也是一個(gè)重要特征。
DPM策略的選擇和實(shí)現(xiàn)需要同時(shí)對(duì)設(shè)備的功耗/性能特征,以及目標(biāo)設(shè)備上的工作負(fù)載進(jìn)行建模。其中,前者可以通過(guò)功耗狀態(tài)機(jī)很好地實(shí)現(xiàn),而工作負(fù)載模型的復(fù)雜程度則可能相差很大。對(duì)所有高級(jí)的PM方法而言,都必須獲得工作負(fù)載的信息。因此,在PM模型中需要系統(tǒng)監(jiān)控模型,能夠?qū)崟r(shí)收集工作負(fù)載的數(shù)據(jù)信息并為PM驅(qū)動(dòng)提供相關(guān)信息。系統(tǒng)層PM的抽象結(jié)構(gòu)如圖4所示,其中OBSERVER模塊負(fù)責(zé)收集系統(tǒng)中所有PMC的工作負(fù)載信息,而CONTROLLER則負(fù)責(zé)發(fā)送工作模式切換的命令。
在PM系統(tǒng)中,并不是所有的設(shè)備都必須為PMC。所有非PMC器件的功耗構(gòu)成了系統(tǒng)功耗的底線值;顯然,PM不可能降低該部分設(shè)備的功耗。另外,所有功耗能夠自身管理的設(shè)備對(duì)PM來(lái)說(shuō)也是不可控的。盡管PM的功能已經(jīng)明確定義,但是并沒(méi)有對(duì)其執(zhí)行方式作出任何限制。在一些系統(tǒng)中,PM是硬件模塊;而在其他某些系統(tǒng)中,PM則是軟件例程。另外,PM還有可能是軟硬件的混合模型。
HAPO200 PDA就是一個(gè)PM系統(tǒng)的實(shí)例,它是我們實(shí)驗(yàn)室基于Intel XScale處理器開(kāi)發(fā)的一款手持個(gè)人信息終端。該終端采用嵌入式Linux操作系統(tǒng),可以提供強(qiáng)大的網(wǎng)絡(luò)、快捷的因特網(wǎng)訪問(wèn)、完備的個(gè)人信息管理、豐富的應(yīng)用程序等功能,另外還具備CF卡和USB擴(kuò)展特性。該系統(tǒng)中主要設(shè)備的功耗都是可控的,即可以將Intel XS—cale CPU、存儲(chǔ)器、LCD以及各種數(shù)字化設(shè)備設(shè)置為低功耗工作模式。另外一些器件,例如實(shí)時(shí)時(shí)鐘,則一直處于有效狀態(tài)。HAPO200 PDA的輸入量來(lái)自于控制按鈕或者手寫筆。
HAPO200 PDA基于混合型的軟硬件機(jī)制來(lái)實(shí)現(xiàn)PM,其作為一個(gè)固件運(yùn)行在CPU上。HAPO200 PDA上的工作負(fù)載隨時(shí)間變化比較劇烈。如果用戶沒(méi)有在觸摸屏上操作,系統(tǒng)則處于空閑(Idle)狀態(tài)。但是,HAPO200PDA不能在操作停止的時(shí)候立即關(guān)閉,這是因?yàn)閺腟leep模式恢復(fù)到正常工作狀態(tài)需要幾μs的時(shí)間。如果PM將系統(tǒng)設(shè)置為Sleep模式太過(guò)頻繁,那么當(dāng)重新開(kāi)始操作時(shí)將會(huì)丟失一定量的數(shù)據(jù),從而導(dǎo)致設(shè)備質(zhì)量受到損害。PM命令會(huì)被FPGA控制電路解碼,并發(fā)送給對(duì)應(yīng)的目標(biāo)設(shè)備。CPU可通過(guò)軟件進(jìn)行關(guān)閉,而喚醒過(guò)程則由中斷來(lái)驅(qū)動(dòng)。需要提出的是,Sleep模式下的系統(tǒng)功耗不可能為零,這是因?yàn)橐恍┫到y(tǒng)單元的功耗是不可管理的。
3 結(jié) 論
以往的嵌入式系統(tǒng)設(shè)計(jì)主要涉及功能、穩(wěn)定性、設(shè)計(jì)和生產(chǎn)費(fèi)用等,系統(tǒng)功耗相對(duì)來(lái)說(shuō)是一個(gè)比較新的設(shè)計(jì)考慮因素。降低功耗主要是基于延長(zhǎng)手持設(shè)備中的電池壽命、降低芯片封裝和冷卻費(fèi)用、提高系統(tǒng)穩(wěn)定性和減小環(huán)境影響等方面的考慮,其重要性隨著手持設(shè)備的普及而越來(lái)越突出。盡管本文針對(duì)動(dòng)態(tài)低功耗降低技術(shù)進(jìn)行了研究和探討,有關(guān)文獻(xiàn)也從其他角度出發(fā)提出了相應(yīng)的設(shè)計(jì)策略,但是該領(lǐng)域還沒(méi)有達(dá)到完全成熟的地步,仍然需要作深入的研究與分析。