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