嵌入式系統動態電壓調節設計技術
嵌入式系統的重要特點之一就是工作負載的不均勻性以及動態變化性,可以通過動態關閉設備或者動態調節處理器的工作電壓來取得系統性能和功耗之間的平衡。目前已經在系統的多個層次提出了動態電源管理和動態電壓調節技術,而且這兩種技術已經成為動態低功耗設計過程中的主流技術。本論文則重點闡述動態電壓調節設計技術的基本原理和策略模型。
關鍵詞? 嵌入式系統? 低功耗設計? 動態電源管理? 動態電壓調節
1? 低功耗設計研究的必要性和可能性
嵌入式系統是多個設備或對象的組合,其在一定限制條件下相互作用可產生特定的功能。現在已經出現了許多測試標準來對嵌入式系統的整體設計質量進行評估,如系統性能、穩定性、能耗、設計和生產費用等,其中系統的能耗問題在最近幾年已經逐漸成為一個重要的設計考慮因素。能量的高效使用除了能夠降低系統操作代價(例如電能消耗)和減小環境影響(例如輻射干擾、噪聲)外,對延長手持設備的電池壽命來說也非常有必要。為了在系統性能得到維護的同時降低系統能耗,需要同時對硬件和軟件進行設計上的優化,而嵌入式系統的組成特點和應用特性也為能耗降低帶來了可能性。
1.1? 必要性
系統能耗已經逐漸成為嵌入式系統設計過程中的一個重要研究點,其重要性隨著手持設備的普及而越來越突出。嵌入式系統設計者在以往設計過程中,將系統的穩定性、實時性、安全性等作為設計和考慮的重點。但是對系統設計者來說,現在又產生了一個新的挑戰——降低系統的能量消耗,其必要性體現在以下6個方面:
① 現在越來越多的手持設備系統利用電池供電,而電池容量相對有限,因此有必要通過降低功耗來延長系統的可持續使用時間。
② 半導體工業的迅速發展使得系統集成度和時鐘頻率得到了顯著提高,但IC器件運算能力爆發性增長的同時也導致系統的功耗急劇上升,這將帶來熱量釋放的問題,而且也給設備的封裝費用帶來影響。可以通過系統功耗的降低來減小整個系統的設計和生產成本。
③ 電池技術的發展速度嚴重滯后于系統能耗需求的增長速度:在最近30年里電池容量只增長了4~8倍,但在相同的時間范圍內數字IC運算能力的增長卻超過了4個數量級。采用系統功耗降低技術可以彌補電池技術發展的不足。
④ 綠色電器理念越來越深入人心,低能耗高性能的嵌入式設備更容易得到用戶的認可。
⑤ 人們對環境問題的關心程度越來越高。顯然,系統功耗越大,外圍環境所受到的輻射或者電磁干擾越嚴重。
⑥ 能量價格上浮等因素也從另外一個方面體現了降低系統功耗的必要性。
綜合以上因素可以看出,嵌入式設備或者系統能耗的大小將會從多個方面影響系統的整體性能。因此,電子設計者在進行系統設計,尤其是針對手持設備類的嵌入式系統設計過程中,系統能耗將是一個越來越重要的設計因素。
1.2? 可能性
現在的嵌入式系統設計是軟硬件協同設計的過程,其系統組成和應用特性為動態的低功耗策略設計與應用提供了可能,這些可能性包括設備功耗模型、工作負載、系統嵌入三方面:
(1) 設備功耗模型
在嵌入式系統中,越來越多的設備除了正常功耗模式外,還支持一種或多種低功耗工作模式,這為動態的功耗管理提供了可能,即系統可以根據工作負載變化情況合理設置目標設備的工作模式。這就是動態電源管理(DPM)技術的應用。另外,商用CMOS芯片電源供給技術的發展,使得處理器內核的工作電壓在運行期間根據應用任務的時間限制發生實時變化成為可能,即動態電壓調節(DVS)技術應用;而高效DC—DC電壓轉換器的出現也為處理器工作電壓的動態調節提供了硬件設計條件。
(2) 工作負載
嵌入式系統是多種本質上具有不同特征器件的集合。例如,某個便攜式系統具有處理器單元、模擬單元(無線卡)、機械部分(硬盤驅動)以及光學器件(顯示器)。顯然,這4個單元在系統運行過程中實現的功能各不相同。系統通常是在作最壞打算的工作負載情況下為達到峰值性能而進行設計,但是系統通常處于欠負載工作狀態,而且工作負載具有不均勻性。工作負載的變化性(或者不均勻性)為能耗的自適應降低提供了可能性。如果沒有任務對某個目標設備產生服務請求,則該設備處于空閑狀態,從而可以將其關閉,使之進入低功耗、低性能的睡眠模式;當某個運行的任務需要使用該設備時,則將其喚醒,使之進入高功耗、高性能的工作狀態。
(3) 系統嵌入
當設計出節能效果顯著的動態低功耗策略后,還必須將其嵌入到系統程序中才能得到實際應用。動態低功耗設計技術的重要性越來越突出,這除了從文獻中的研究成果可以看出之外,還可以通過系統動態功耗管理工業標準的建立明顯地看出。現在主流的操作系統,如Microsoft Windows、Linux都支持高級電源管理(Advanced Power Management,APM)、高級配置和電源接口(Advanced Configuration and Power Interface,ACPI)等模塊。其中ACPI于1997年提出,被Intel、Microsoft、Toshiba等公司推薦為系統功耗管理中的標準軟硬件接口。ACPI允許設備廠家、操作系統設計者、設備驅動編程人員使用同一個標準接口,而與ACPI兼容的設備也應該能夠正確響應ACPI的調用,如參數設置、工作狀態的查詢等。通過對APM、ACPI機制的引用或改進,可以很容易地將低功耗設計策略嵌入到系統內核中,從而減輕了低功耗策略系統嵌入的工作量。
2? 靜態與動態低功耗設計
在系統級,有4種主要的能量消耗源: 處理單元、存儲單元、顯示單元、內部連接和通信單元。能量高效的系統層設計在保證各個單元交互效應達到平衡的同時,還必須使這4種類型單元的能耗最小化。
從總體上講,功耗降低技術在嵌入式系統范疇內可以分為兩大類:靜態技術和動態技術。靜態技術主要在系統初始設計過程中使用,其假設系統的功能定義和工作模式已知,而且將來也不會改變。在嵌入式系統軟硬件設計的初期階段,已經使用到了一些靜態低功耗降低技術。例如,通過軟件優化編譯技術來優化所使用的指令代碼,從而影響到運行程序的能耗;代碼存儲器和內存中的數據存取方式將影響到處理器和存儲單元之間的能量平衡;數據表達方式也將影響到通信資源的功耗。另外,在參考文獻[13]中也已經提出了一些靜態功耗管理策略。在參考文獻[1]中,針對采用EDF調度方法的實時系統提出了一種尋找最優電壓調度的靜態方法;在參考文獻[2]中,作者研究了一個更為通用的處理器模型,該靜態方法使得在某些非常特殊的情況下能夠達到能耗的最優化;在參考文獻[3]中,低能耗非搶占式調度問題被建模成一個整數線性問題,該系統包含一組具有相同到達時間和任務執行期限,但是上下文切換代價不同的任務。
與靜態技術相對應,動態技術則是系統在運行階段充分利用工作負載的變化性來動態改變設備工作模式,從而達到降低系統功耗的目的。動態技術本質上是一個系統級的設計方法,其最關鍵之處在于功耗管理(Power Management,PM)單元:PM單元監控整個系統的工作狀態,當發現系統處于欠負載或者無負載狀態時,就發送命令來控制目標設備的工作模式。而嵌入式系統的組成和應用特性也為動態的低功耗策略設計與應用提供了可能。
很明顯,靜態功耗降低技術只需在設計階段使用一次,在運行過程中不能根據工作負載的變化而靈活處理;動態低功耗技術在運行過程中則能夠很好地自適應于工作負載變化情況,更易于執行和應用。另外,隨著系統功能增強和集成度的提高,靜態技術已經不能完全滿足系統對功耗的要求。盡管靜態技術在一定程度上能夠帶來能量節省,但是最近的研究都著重于動態領域的低功耗設計技術,后者通常利用底層的硬件特性來獲取有效的能量節省,現已成為嵌入式系統領域中降低功耗的重要手段。
3? DVS設計技術研究
3.1? DVS基本原理
隨著商用CMOS芯片電源供給技術的發展,處理器內核的工作電壓在運行期間進行實時調節成為可能;而高效DC—DC電壓轉換器的出現也為處理器內核工作電壓的動態調節提供了條件。另外在軟實時系統中,任務只需在規定的截止時間之前執行完畢就能達到系統的性能要求,不要求立即得到系統的響應。DVS技術就是根據任務的緊迫程度來動態調節處理器運行電壓,以達到任務響應時間和系統低能耗之間的平衡。
DPM技術對非實時系統而言,能夠顯著節省能量。但是由于DPM內在的概率特性以及非確定性,不適用于實時系統。DVS技術卻能夠很好地解決嵌入式實時系統中的性能與功耗要求,根據當前運行任務的性能需求來實時調節處理器工作電壓。DVS技術主要基于這樣一個事實,即處理器的能量消耗與工作電壓的平方成正比關系。如果只對處理器的頻率進行調節,則所能節省的能量將很有限,這是因為功耗與周期時間成反比,而能耗又與執行時間和功耗成正比。早期DVS原理基于處理器的利用率來設置其速度,并沒有考慮到運行任務的不同需求。現在已經針對實時系統提出了一些電壓調節策略。例如,參考文獻[4]針對電壓可連續變化以及離散變化的處理器進行了討論:為了降低電壓可連續變化處理器的功耗,需要為每個任務找到一個具體的電壓,從而將整個執行時間延長到對應的截止期限(deadline);對電壓離散變化的處理器來說,則至少需要為每個任務找到兩個執行電壓。參考文獻[5]則考慮了將周期性和非周期性任務進行聯合在線調度的問題。該原理能夠保證滿足所有周期性任務的截止期限,并使得所接受的非周期性任務數目最大化。另外,在參考文獻[6]中還針對分布式系統進行了討論。
3.2? DVS策略模型
本文通過對一組任務的調度過程來闡述DVS策略模型。假設某個嵌入式處理器的工作電壓能夠在一定范圍內連續調節,且內核程序需要處理5個相互獨立的任務Ta、Tb、Tc、Td、Te,其中Ta、Tb是周期性的任務,另外3個任務則是間發性的,如表1所列,其中的時間均為相對時間。Ta、Tb的截止期限與它們的周期有關。每個任務在到達之后可以立即被執行或者延遲執行,但是都必須在各自的截止期限到來之前執行完畢。
假設系統最大的可供電壓為3.3 V,在該電壓下的功耗被標準化為1 W。由CMOS器件特性可知,供給電壓的降低將會導致電路延遲的增加。電路延遲更精確的表達式為:
式中k是常數,Vdd為工作電壓,Vt為門檻電壓。
假設Vt的典型值為0.8 V。顯然,當沒有應用任何功耗降低技術時,系統的功耗為1 W。在對DVS調度技術進行說明的過程中,將其與DPM策略中的預測關閉技術進行了比較。當使用預測關閉技術時,假設系統完全預知工作負載的空閑時段,即處理器一旦進入空閑狀態就立即將其關閉,從而使得該技術能夠對系統功耗達到最大程度的優化。DVS策略應用的最終目的在于滿足各個任務截止期限的同時使得系統功耗最小化。任務調度過程采用了EDF(Earliest Deadline First)調度機制。
圖1顯示了預測關閉技術和DVS方法的調度結果。
如圖1(a)所示,在系統預測關閉技術下,系統的工作電壓一直為3.3 V。所有任務在[0,4]、[5,13]時間段內執行完畢,而處理器在[4,5]、[13,20]時間段內將被關閉,然后再為下一個周期性任務提供服務。處理器占空比是60%,因此平均功耗為0.6 W。而在DVS應用過程中,如圖1(b)所示,系統的平均功耗為0.38 W,該值比預測關閉技術又降低了(0.6-0.38)/0.6 =37%。
0.38 W只是在不知道間發性任務(即Tc、Td、Te)到達時間的情況下所能達到的最小功耗值。如果能夠完全知道間發性任務的到達時間,則DVS最優策略就能夠使處理器在所有時間內都維持在一個最低的電壓水平,同時保證所有任務都滿足截止期限的要求。在圖1(b)中,如果系統能夠預知Tc、Td、Te的到達時間,則[0,20]時間段內的最優電壓為2.48 V,該電壓值所對應的處理器速度為最大速度的60%(即[3.3/(3.3-0.8)2]/[ 2.48/(2.48-0.8)2]),該運行速度也導致系統的平均功耗降為0.34? W。顯然,這個功耗平均值也對應著在不知道間發性任務到達時間的情況下系統功耗所能達到的最小邊界值。
3.3? DVS與DPM的比較
通過對DVS、DPM的基本原理以及策略模型的闡述可以看出, DVS與DPM原理之間有著明顯的區別,但同時也存在著一致性。
DVS與DPM的區別在于:
① DVS在運行過程中根據工作負載的應用需求(即任務完成時間)來動態調節設備(以處理器為主)的工作電壓,而DPM原理則是根據工作負載的有無來設置設備工作模式。
② 在DVS中,設備的工作電壓是可變的,因此需要穩定的DCDC電壓轉換電路;而在DPM中,設備的工作電壓處于恒定狀態。
③ DVS一般應用于對任務執行時間要求比較嚴格的實時應用系統中,它能夠很好地解決嵌入式實時系統中性能與功耗的要求。而DPM由于內在的概率特性以及非確定性,不適用于實時系統,一般應用于非實時系統。
DVS與DPM之間的一致性體現在:如果將設備工作電壓的連續變化(或者離散變化)也看成是工作模式的變換,那么就可以將DVS包含在DPM的范疇之內。從該意義上來說,DVS延伸了有效工作狀態的定義,即包括多個連續或者分散電壓值,這樣在運行期間就出現了若干個能夠在性能和功耗之間取得平衡的工作狀態。通過這種方法,PM在系統有負載時就可以使用DVS,而系統處于空閑時則將器件轉移到低功耗狀態(DPM應用),這樣就能同時控制性能和功耗水平,從而得到更大的功耗節省。
通過上述比較分析可以看出,DPM與DVS兩者之間既存在著差異性,同時也保持著一致性,應該根據系統特點來合理選擇應用DPM與DVS。但是,當DPM和DVS對某個系統都適用時,應優先考慮DVS,因為其能夠帶來更多的能耗節省。
結語
以往的嵌入式系統設計主要涉及功能、穩定性、設計和生產費用等,系統功耗相對來說是一個比較新的設計考慮因素。降低功耗主要是基于延長手持設備中電池的壽命、降低芯片封裝和冷卻費用、提高系統穩定性和減小環境影響等方面的考慮,其重要性隨著手持設備的普及而越來越突出。
盡管DPM和DVS技術在過去十幾年里都取得了很大的進步,但在系統低功耗設計領域中有關最優化設計和分析的研究空間仍然很大。例如,與電池相關的DVS策略還需要進一步的研究。眾所周知,在電池供電系統中如果降低系統的工作電流或者工作電壓,將會導致電池容量的增加,這種現象在電壓調節的過程中應該加以利用。
評論