新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 嵌入式系統(tǒng)中動態(tài)電源管理技術(shù)的應(yīng)用研究

嵌入式系統(tǒng)中動態(tài)電源管理技術(shù)的應(yīng)用研究

作者: 時間:2009-01-02 來源:網(wǎng)絡(luò) 收藏

引 言

現(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是一種應(yīng)用非常廣泛的低功耗設(shè)計策略,其首要目的就是當系統(tǒng)處于欠載狀態(tài)時使得功耗最低。經(jīng)過多年的研究與發(fā)展,現(xiàn)在已經(jīng)提出了許多DPM策略,諸如TimeOut技術(shù)、預測技術(shù)、隨機技術(shù)、會話聚合預測技術(shù)等。DPM策略的性能主要取決于對用戶行為的認識程度。也就是說,越熟悉用戶行為的規(guī)律,PM(Power Man—agement,功耗管理)的質(zhì)量就越高;反之,PM質(zhì)量就越低。然而在實際生活中,工作負載的變化是隨機的。如果在設(shè)計DPM的過程中不考慮這些因素,通常很難得到一個穩(wěn)健和高質(zhì)量的DPM。

DPM技術(shù)的應(yīng)用將在系統(tǒng)的能耗與性能之間引入一種新的平衡?;蛘哒f,任何一種動態(tài)低功耗技術(shù)都是省電性能和系統(tǒng)性能之間的折衷。

1 DPM基本原理

DPM應(yīng)用的基本前提條件是,系統(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)建對應(yīng)的模型,該模型中每個狀態(tài)都是性能和功耗之間的折衷。例如,一個系統(tǒng)資源可能包含Normal、Sleep兩種工作模式。其中S1eep狀態(tài)具有較低的功耗,但是也要花費一些時間和能耗代價才能返回到Normal狀態(tài)。狀態(tài)之間的切換行為由功耗管理單元所發(fā)送的命令來控制,其通過對丁作負載的觀察來決定何時以及如何進行工作模式的轉(zhuǎn)移。性能限制條件下的功耗最小化(或者功耗限制條件下的性能最大化)策略模型是一個受限的最優(yōu)化問題。

圖1顯示了DPM的基本思想。我們可以將工作負載看成是多個任務(wù)請求的集合體。例如對硬盤來說,任務(wù)請求就是讀和寫的命令;對網(wǎng)卡來說,任務(wù)請求則包含數(shù)據(jù)包的收發(fā)兩個部分。當有任務(wù)請求(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點接收到任務(wù)請求而被喚醒;在這一狀態(tài)轉(zhuǎn)變過程中需要消耗一定的時間,圖1中的Tsd和Twu分別代表關(guān)閉和喚醒延時。就硬盤或顯示器而言,喚醒這些設(shè)備需要花費幾秒鐘的時間,而且喚醒一個處于Sleep工作模式下的設(shè)備還需要消耗額外的能量。也就是說,設(shè)備工作模式的轉(zhuǎn)變會帶來不可避免的額外開銷。如果沒有這些額外的開銷(包括時間和能量),那么DPM本身就沒有任何必要了,因為任何設(shè)備只要一進入Idle狀態(tài)就立即將其關(guān)閉。因此,一個設(shè)備只有在所節(jié)省的能量能夠抵消這些額外開銷時才應(yīng)該進入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—even time)。在具體討論之前,首先定義如下變量(假設(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),可表示成:

其中,F(xiàn)代表Tidle的概率分布,Tavgidle〉TBE,S表示大于TBE.S的空閑時段平均長度。通過式(7)可以看出,功耗節(jié)省值Psaved,S與TBE,S一直成反比的關(guān)系:當TBE,S=O時,Psaved,s具有最大值;當TBE,S越來越大時,Psaved,S則漸近于O。

2 DPM策略模型

在DPM策略范疇內(nèi),系統(tǒng)模型由兩個部分組成:一組相互作用的功耗可管理器件(Power Manageable Com—ponent,PMC)和功耗管理(Power Management,PM)。其中,PMC的工作模式由PM來控制。對于PMC,我們并不需要關(guān)心其內(nèi)部實現(xiàn)細節(jié),而是將它們看作黑箱,這樣就可以更專注于研究PMC和周圍環(huán)境的相互關(guān)系——即為了實現(xiàn)高效的動態(tài)低功耗管理策略,PMC與PM之間需要傳遞什么類型的信息以及信息量的大小。

2.1 PMC模型

在DPM中,PMC定義為完整系統(tǒng)中的一個原子模塊。該定義具有一般性及抽象性,設(shè)備可以簡單到芯片內(nèi)部的一個功能模塊,或者復雜到一個開發(fā)板。PMC的基本特征是具有多個工作模式,而且這些工作模式都對應(yīng)不同的功耗和性能水平。一般情況下,功耗不可管理器件的性能和功耗存系統(tǒng)設(shè)計以及應(yīng)用過程中都是不變的;相應(yīng)地,基于PMC就可以在高性能、高功耗的工作模式與低功耗、低性能的工作模式之間進行動態(tài)切換。

PMC的另外一個重要特點是,工作模式之間的切換需要付出代價。在大多數(shù)情況下,代價指延遲或者性能損失。如果工作模式切換是非瞬態(tài)的,而且設(shè)備在切換過程中不能提供任何功能,那么無論何時開始一個模式切換都將會帶來性能的損失。工作模式之間的切換過程還可能帶來功耗代價,其經(jīng)常出現(xiàn)在切換過程非瞬態(tài)的情況下。這里需要強調(diào)的足,在設(shè)計PMC的過程中不能忽略切換代價。

在大多數(shù)應(yīng)用實例中,可以利用功耗狀態(tài)機(Power State Machine,PSM)來對PMC建模。其中,“狀態(tài)”是指各種不同的工作模式。由PMC的特點可知,工作模式之間的切換過程將會產(chǎn)生功耗和延遲代價。一般來說,工作模式的功耗越低,性能將會越低,而且切換延遲也將越長。這個簡單的抽象模型適用于多個單芯片設(shè)備,例如處理器、存儲器,以及硬盤驅(qū)動、無線網(wǎng)絡(luò)接口、顯示器等設(shè)備。

以Motorola公司的龍珠系列MC68VZ328處理器作為PMC為例,其具有三種工作模式:RUN、DOZE、SLEEP。RUN是正常工作模式,其在正常上電以及復位的情況下進入;在該狀態(tài)下,所有的功能模塊都處于有效狀態(tài)。DOZE模式使得處理器在不使用的情況下能夠通過軟件控制來將其停止運行,但仍然會繼續(xù)監(jiān)聽片上或片外中斷源,即在DOZE模式下,當產(chǎn)生某個中斷時,CPU能夠快速地返回到RUN模式。SLEEP模式能夠帶來最大化的功耗節(jié)省,但同時具有最低層次的功能。從RUN到DOZE的切換,MC68VZ328依次關(guān)閉片上功能;而從SLEEP切換到其他任何一種狀態(tài),則都將會經(jīng)歷一個相當復雜的喚醒過程。

MC68VZ328的PSM模型如圖3所示。狀態(tài)通過功耗和性能來描述,工作模式的切換時間則通過邊線表示。模式切換過程中的功耗接近于RUN模式。這里需要指出的是,雖然DOZE和SLEEP模式都不提供任何性能,但是退出SLEEP模式所需的時間(160 ms)比DOZE模式的退出時間(10μs)長得多,而芯片在SLEEP模式下的功耗(O.16 mW)遠遠小于DOZE模式下的功耗(50 mW)。

2.2 PM模型

在DPM范疇內(nèi),系統(tǒng)是指一組相互作用的設(shè)備,其中一些設(shè)備(至少有一個)是外部可控的PMC。該定義具有一般性,并沒有給系統(tǒng)帶來任何大小和復雜性方面的限制條件。在該系統(tǒng)中,設(shè)備行為由系統(tǒng)控制器來協(xié)調(diào)。對比較復雜的系統(tǒng)來說,通?;谲浖韺崿F(xiàn)控制部分。例如在計算機系統(tǒng)中,由操作系統(tǒng)(Operating System,OS)來實現(xiàn)全局的協(xié)調(diào)工作。
PM根據(jù)系統(tǒng)設(shè)備的當前工作狀態(tài)來進行實時控制,因此PM的功能在本質(zhì)上是一個系統(tǒng)控制器。一個功耗可管理的系統(tǒng)必須向PM提供完全抽象的設(shè)備信息;而為了縮減設(shè)計時間,PM和系統(tǒng)之間的接口標準化也是一個重要特征。

DPM策略的選擇和實現(xiàn)需要同時對設(shè)備的功耗/性能特征,以及目標設(shè)備上的工作負載進行建模。其中,前者可以通過功耗狀態(tài)機很好地實現(xiàn),而工作負載模型的復雜程度則可能相差很大。對所有高級的PM方法而言,都必須獲得工作負載的信息。因此,在PM模型中需要系統(tǒng)監(jiān)控模型,能夠?qū)崟r收集工作負載的數(shù)據(jù)信息并為PM驅(qū)動提供相關(guān)信息。系統(tǒng)層PM的抽象結(jié)構(gòu)如圖4所示,其中OBSERVER模塊負責收集系統(tǒng)中所有PMC的工作負載信息,而CONTROLLER則負責發(fā)送工作模式切換的命令。

在PM系統(tǒng)中,并不是所有的設(shè)備都必須為PMC。所有非PMC器件的功耗構(gòu)成了系統(tǒng)功耗的底線值;顯然,PM不可能降低該部分設(shè)備的功耗。另外,所有功耗能夠自身管理的設(shè)備對PM來說也是不可控的。盡管PM的功能已經(jīng)明確定義,但是并沒有對其執(zhí)行方式作出任何限制。在一些系統(tǒng)中,PM是硬件模塊;而在其他某些系統(tǒng)中,PM則是軟件例程。另外,PM還有可能是軟硬件的混合模型。

HAPO200 PDA就是一個PM系統(tǒng)的實例,它是我們實驗室基于Intel XScale處理器開發(fā)的一款手持個人信息終端。該終端采用Linux操作系統(tǒng),可以提供強大的網(wǎng)絡(luò)、快捷的因特網(wǎng)訪問、完備的個人信息管理、豐富的應(yīng)用程序等功能,另外還具備CF卡和USB擴展特性。該系統(tǒng)中主要設(shè)備的功耗都是可控的,即可以將Intel XS—cale CPU、存儲器、LCD以及各種數(shù)字化設(shè)備設(shè)置為低功耗工作模式。另外一些器件,例如實時時鐘,則一直處于有效狀態(tài)。HAPO200 PDA的輸入量來自于控制按鈕或者手寫筆。

HAPO200 PDA基于混合型的軟硬件機制來實現(xiàn)PM,其作為一個固件運行在CPU上。HAPO200 PDA上的工作負載隨時間變化比較劇烈。如果用戶沒有在觸摸屏上操作,系統(tǒng)則處于空閑(Idle)狀態(tài)。但是,HAPO200PDA不能在操作停止的時候立即關(guān)閉,這是因為從Sleep模式恢復到正常工作狀態(tài)需要幾μs的時間。如果PM將系統(tǒng)設(shè)置為Sleep模式太過頻繁,那么當重新開始操作時將會丟失一定量的數(shù)據(jù),從而導致設(shè)備質(zhì)量受到損害。PM命令會被FPGA控制電路解碼,并發(fā)送給對應(yīng)的目標設(shè)備。CPU可通過軟件進行關(guān)閉,而喚醒過程則由中斷來驅(qū)動。需要提出的是,Sleep模式下的系統(tǒng)功耗不可能為零,這是因為一些系統(tǒng)單元的功耗是不可管理的。

3 結(jié) 論

以往的系統(tǒng)設(shè)計主要涉及功能、穩(wěn)定性、設(shè)計和生產(chǎn)費用等,系統(tǒng)功耗相對來說是一個比較新的設(shè)計考慮因素。降低功耗主要是基于延長手持設(shè)備中的電池壽命、降低芯片封裝和冷卻費用、提高系統(tǒng)穩(wěn)定性和減小環(huán)境影響等方面的考慮,其重要性隨著手持設(shè)備的普及而越來越突出。盡管本文針對動態(tài)低功耗降低技術(shù)進行了研究和探討,有關(guān)文獻也從其他角度出發(fā)提出了相應(yīng)的設(shè)計策略,但是該領(lǐng)域還沒有達到完全成熟的地步,仍然需要作深入的研究與分析。

linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)


評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉