動態電壓縮放

動態電壓縮放(dynamic voltage scaling,DVS)是一種有效的低能耗技術,它能夠在程式運行時動態地改變處理器的電壓和頻率,在不影響處理器峰值性能的情況下有效的減少處理器的能耗。

基本介紹

  • 中文名:動態電壓縮放
  • 外文名:dynamic voltage scaling
  • 目的:降低功耗
  • 作用層面:系統層面
  • 本質:調節工作電壓和頻率
  • 作用位置:處理器
研究背景,動態電壓縮放作用層級,動態電壓縮放算法,基於間隔方法算法,基於任務方法算法,任務內動態電壓縮放方法算法,

研究背景

隨著手提電腦、PDA以及其它的移動設備的功能越來越強大,計算量及通訊量也越來越大,這都需要更多能量來完成’。而且有些嵌入式設備要在一些無法更換電池的情況下使用,因此,如何延長電池的使用壽命,減少能耗成為嵌入式設備設計的一個重要問題。
同時無線感測器網路是一門新興技術,被認為是21世紀最重要的技術之一,將會對人類未來的生活方式產生深遠的影響。近年來,隨著無線通信微處理器MEMS等技術的發展,使得無線感測器網路的理想藍圖能夠得以實現,其套用前景也越來越廣。無線感測器網路是一種獨立出現的計算機網路,它是由大量體積小、成本低,且具有感測、數據處理和無線通信能力的感測器節點通過自組織方式組成的。它獨立於基站或移動路由器等基礎通信設施,通過分散式協定自組成網路。在不同的套用中,感測器節點的組成也不盡相同,但是,它們的基本結構是一樣的,主要包括數據採集單元、數據處理單元、數據傳輸單元和電池四大部分組成。在無線感測器網路技術中,如何降低能耗也是一個非常值得研究的問題。

動態電壓縮放作用層級

一般降低系統能耗設計主要分為三個層面:邏輯級,物理層級和系統級。
  
邏輯級主要是指門級的設計
物理級指的是對電路的設計。
系統級包括系統軟體層和系統硬體層。在這一級中可以通過下列幾個方面減少功耗:選擇合適的算法和編譯器;針對軟體,可將變數映射到合適的暫存器;因為現在的處理器是多電壓,所以可以調節處理器的電壓等。其中,動態電壓縮放被認為是目前很有效的方法。為了滿足最大計算工作負載,處理器以正常電壓和頻率(也是其最大頻率)運行,當工作負載降低時,通過動態電壓縮放,減少運轉頻率,以適應計算需求。
動態電壓縮放可以在系統不同層次上實現:
硬體上,是針對處理器的設計;
作業系統中,是在調度模組實現縮放電壓的算法;
編譯器中實現;
以及針對應用程式等。

動態電壓縮放算法

作業系統級的動態電壓縮放算法的基本原理是作業系統的調度模組根據工作負載的需求來給每個任務分配不同的電壓值,同時調節處理器的電壓和頻率,以達到降低能耗的目的。針對作業系統的動態電壓縮放算法可分為 兩大類:一類是基於間隔方法(Interval-Based approach)的算法,另一類是基於任務方法(Task-based approach)的算法。

基於間隔方法算法

這種方法的原理是系統將時間分割成固定長度的間隔,根據以前間隔中CPU的使用率對每個間隔的時鐘速度進行調節。這類算法可分為兩大流程,第一步是根據系統過去的行為來預測系統以後的工作負載;第二步就是根據預測的系統負載來縮放電壓和時鐘頻率。這兩步通常被稱作預測和設定時鐘速度。
比較經典的基於間隔的動態電壓縮放算法主要有:FLAT,PEAK,PAST,AVGn。

基於任務方法算法

這種方法是考慮系統的工作由具有CPU需求和時限的任務組成,系統儘快地運行CPU以合理的機率來滿足時限要求。它的基本原理就是以調度策略為基礎,比如最早時限優先(EDF)或速率單調(RM)調度策略,根據每個任務的具體情況來決定供應電壓。
比較有代表性的基於任務算法有:針對間發任務的動態電壓縮放算法:間發任務調度STS算法和針對非周期任務的動態電壓縮放算法。

任務內動態電壓縮放方法算法

因為基於任務的動態電壓縮放方法存在浪費鬆弛時間的問題,因此最近提出了針對編譯級的任務內動態電壓縮放方法。這種方法的基本原理是在編譯時作出電壓縮放的決定,確定縮放電壓的代碼插入哪個位置,這樣就將一個任務劃分成一個一個的時間片,在執行任務時電壓就可以動態地在每個時間片中變化。
它可以分為兩類:基於路徑的任務內算法和隨機任務內算法,這兩者的差別在於怎樣估計鬆弛時間和調節速度。

相關詞條

熱門詞條

聯絡我們