目前,可用的電源管理技術很多,人們也在積極研究許多新技術。遺憾的是最有效的技術常常與操作系統及應用框架發生沖突。新技術往往相當復雜,并針對特定的專門應用進行優化,在多用途計算平臺上的適用性也時常受限制。本文首先總結了普通的節電技術,然后介紹一些效果更好 (higher-payoff) 的技術(CPU 時鐘閑置以及電壓與頻率縮放),并將介紹這些支持技術如何集成為輔助電源管理器模塊,從而成為數字信號處理器 (DSP) 的實時操作系統。在此提供了一個音頻應用實例,說明如何利用該架構大幅提高功效。本文是專門介紹低功率設計的上下兩部分系列文章中的第一篇。第二篇文章將集中討論外設及 I/O 電源管理技術,將節電擴展到 CPU 內核范疇之外。 節電技術 CMOS 電路的總功耗是活動功耗與靜態功耗之和。電路工作或從一種邏輯狀態轉換到另一種邏輯狀態時會產生活動功耗;電路未發生轉換時會發生靜態功耗,主要是由于晶體管漏電流造成的;顒庸慕浦档挠嬎惴匠淌饺缦拢 Pactive ~ Cpd x F x Vcc2 x Nsw 這里的 Cpd 為動態電容,F 為開關頻率,Vcc 為電源電壓,而 Nsw 為轉換的比特數。從上述方程式中看到,最簡單的節約活動功耗的方法就是停止電路計時,即設 F為零,讓 Pactive 為零。許多 CPU 都有“閑置”或“停止”指令以實現此目的,在 CPU 等待中斷時通過門控使內部 CPU 時鐘關閉。此外,一些處理器還包括分立控件,可通過門控關閉非 CPU 時鐘域,如高速緩存、DMA、外設、時鐘脈沖發生器等。 回過頭再來看上面的方程式,如果應用在降低 CPU 時鐘速率時仍可滿足處理要求,則就能相應成比例地節約活動功耗。如果 CPU 頻率可安全降低,而且該頻率與 CPU 可用的較低工作電壓兼容,那么由于 Vcc 的二次關系,通過降低電壓就可能額外大大降低功耗。不過,降低 CPU 時鐘速率也會成比例延長執行任務的時間,這就要求認真分析應用,看看其能否仍能滿足實時要求。 為 OS 添加電源管理支持 時鐘閑置以及動態頻率與電壓的縮放對總體應用和操作系統本身都會產生巨大影響,這常常是實現上述技術的一個障礙,例如,如果 CPU 頻率的縮放是動態的,就可能影響 OS時間基,而且會導致時鐘與 CPU 時鐘相關聯的外設驅動程序的故障。同樣,如果某項任務在等待 I/O 完成時任意使 CPU 閑置,那就很容易導致應用死鎖。因此,為了積極采用上述技術,OS 功耗必須低 (power aware),某些操作責任(如 CPU 時鐘閑置)必須由 OS 來承擔。 德州儀器(TI)的 DSP/BIOS操作系統增加了電源管理器模塊(PWRM)作為輔助模塊,如圖1所示。電源管理器與 OS 內核聯系松散,位于該內核的旁邊;它不是作為系統中的另一項任務,而是作為一組 API 存在,在應用控制線程與器件驅動器環境下執行。 圖1 電源管理器分區 通過上述 API,電源管理器可支持電壓及頻率 (V/F) 縮放、僅頻率縮放、時鐘域閑置、OS 閑置時間內配置時鐘的自動閑置,而最重要的則是整個應用中的用電事件之間得處理協調(如應用代碼、驅動程序以及 OS 本身),從而通知注冊的客戶端 (client) 特定用電事件何時發生。用電事件的實例為:將要縮放頻率,縮放頻率完成,進入深度睡眠狀態,從深度睡眠狀態蘇醒,電力不足等。電源管理活動是觸發式應用;更改 DSP 操作模式或功能的主要決定由應用做出,并通過調用電源管理器提供幫助。 通過寫入時鐘閑置配置寄存器,以及控制著 CPU 時鐘速率與穩壓電路的平臺專用功耗調整程序庫 (PSL),PWRM 直接與 DSP 硬件相連。PSL 將 PWRM 及應用的其它部分與頻率及電壓控制硬件的低電平 (low-level) 實施細節相隔離,確保在所支持的電壓與頻率組合(設定點)間實現安全過渡。 音頻實例 以簡單的音頻應用作測試工具 (vehicle)并作為測試電源管理器特性效率的基準。該應用經過修改可測量激活不同節電特性時的效果。電流感測電阻器主板電源以及 DSP 內核電源串聯,并用伏特計測量電阻器上的壓降以確定主板及 DSP 內核的電流。 結 語 采取分階段的方法來實施電源管理可大大降低功耗。不必等目前正在進行的新技術研究取得成果;在某些情況下,將基本而實用的一些關鍵支持技術結合到操作系統或應用框架中就可實現 CPU 節電達 95% 以上。電源管理支持的設計方式可做到:方便易用,允許開發人員選取滿足具體應用要求的特定技術,而且非常便于攜帶。該框架可作為跳板,為添加新出現的更先進的 (aggressive) 專用技術以及未來的電源管理技術作好準備 |