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