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