現(xiàn)在對(duì)系統(tǒng)設(shè)計(jì)者來說,在系統(tǒng)設(shè)計(jì)過程中除了考慮系統(tǒng)性能外,又面臨一個(gè)新的挑戰(zhàn)——降低系統(tǒng)的能量消耗。該挑戰(zhàn)來自于以下幾個(gè)因素:第一,越來越多的手持設(shè)備系統(tǒng)利用電池供電,必須通過降低功耗來延長(zhǎng)電池的壽命;第二,半導(dǎo)體工業(yè)的迅速發(fā)展在使系統(tǒng)集成度和時(shí)鐘頻率顯著提高的同時(shí)也導(dǎo)致系統(tǒng)的功耗急劇上升,不僅產(chǎn)生了熱量釋放的問題,而且也給系統(tǒng)的封裝費(fèi)用和穩(wěn)定性帶來了巨大的影響;第三,能量?jī)r(jià)格的上浮、綠色電器的深人人心以及人們對(duì)環(huán)境問題的關(guān)心程度越來越高,也進(jìn)一步說明了系統(tǒng)低功耗設(shè)計(jì)的重要性。
DPM是一種應(yīng)用非常廣泛的低功耗設(shè)計(jì)策略,其首要目的就是當(dāng)系統(tǒng)處于欠載狀態(tài)時(shí)使得功耗最低。經(jīng)過多年的研究與發(fā)展,現(xiàn)在已經(jīng)提出了許多DPM策略,諸如TimeOut技術(shù)、預(yù)測(cè)技術(shù)、隨機(jī)技術(shù)、會(huì)話聚合預(yù)測(cè)技術(shù)等。DPM策略的性能主要取決于對(duì)用戶行為的認(rèn)識(shí)程度。也就是說,越熟悉用戶行為的規(guī)律,PM(PowerMan—agement,功耗管理)的質(zhì)量就越高;反之,PM質(zhì)量就越低。然而在實(shí)際生活中,工作負(fù)載的變化是隨機(jī)的。如果在設(shè)計(jì)DPM的過程中不考慮這些因素,通常很難得到一個(gè)穩(wěn)健和高質(zhì)量的DPM。
DPM技術(shù)的應(yīng)用將在系統(tǒng)的能耗與性能之間引入一種新的平衡。或者說,任何一種動(dòng)態(tài)低功耗技術(shù)都是省電性能和系統(tǒng)性能之間的折衷。
1DPM基本原理
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)抽象圖來構(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ā)送的命令來控制,其通過對(duì)丁作負(fù)載的觀察來決定何時(shí)以及如何進(jìn)行工作模式的轉(zhuǎn)移。性能限制條件下的功耗最小化(或者功耗限制條件下的性能最大化)策略模型是一個(gè)受限的最優(yōu)化問題。
圖1顯示了DPM的基本思想。我們可以將工作負(fù)載看成是多個(gè)任務(wù)請(qǐng)求的集合體。例如對(duì)硬盤來說,任務(wù)請(qǐng)求就是讀和寫的命令;對(duì)網(wǎng)卡來說,任務(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)變過程中需要消耗一定的時(shí)間,圖1中的Tsd和Twu分別代表關(guān)閉和喚醒延時(shí)。就硬盤或顯示器而言,喚醒這些設(shè)備需要花費(fèi)幾秒鐘的時(shí)間,而且喚醒一個(gè)處于Sleep工作模式下的設(shè)備還需要消耗額外的能量。也就是說,設(shè)備工作模式的轉(zhuǎn)變會(huì)帶來不可避免的額外開銷。如果沒有這些額外的開銷(包括時(shí)間和能量),那么DPM本身就沒有任何必要了,因?yàn)槿魏卧O(shè)備只要一進(jìn)入Idle狀態(tài)就立即將其關(guān)閉。因此,一個(gè)設(shè)備只有在所節(jié)省的能量能夠抵消這些額外開銷時(shí)才應(yīng)該進(jìn)入Sleep工作模式。決定一個(gè)設(shè)備是否值得關(guān)閉的規(guī)則就叫做“策略(policy)”。功耗管理過程中,一般只考慮設(shè)備在Idle狀態(tài)下的功耗,而不考慮處于Busy狀態(tài)時(shí)的功耗。
由于設(shè)備在狀態(tài)轉(zhuǎn)換過程中會(huì)產(chǎn)生額外的時(shí)間和能量消耗,從而給DPM理論帶來了一個(gè)平衡時(shí)間的概念:TBE,S。TBE,S表示設(shè)備在S狀態(tài)下的省電平衡時(shí)間點(diǎn)(break—eventime)。在具體討論之前,首先定義如下變量(假設(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工作模式過程中的功耗;
Poff,on:設(shè)備從Skep工作模式切換到Normal工作模式過程中的功耗;
Pon:設(shè)備在Normal工作模式下的功耗;
Poff:設(shè)備在Sleep工作模式下的功耗;
Ttarde-off:設(shè)備進(jìn)入Sleep工作模式后不會(huì)帶來能量浪費(fèi)的所需最小時(shí)間。
從時(shí)域角度看,TBE,S包括兩個(gè)部分:一是狀態(tài)轉(zhuǎn)換時(shí)間,即Ton,off+Toff,on;二是最小平衡時(shí)間Ttrade-off。通過圖2能更直觀地理解TBE,S。如果設(shè)備處于Sleep工作模式下的時(shí)間小于某個(gè)極限值,則該模式之間的轉(zhuǎn)換除了帶來性能的損失外,還會(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),可表示成: