;set_operating_state()(內(nèi)核和驅(qū)動程序)、set_policy() 和 set_task_state()(經(jīng)由系統(tǒng)調(diào)用的用戶級接口),以及 /proc 接口。
借助 DPM 實現(xiàn)節(jié)能
獨特的節(jié)能機會
DPM 的定義性特征是電源管理的迅速、高頻率性質(zhì)。傳統(tǒng)的臺式機/筆記本電腦范例的運行速度是以數(shù)百毫秒或數(shù)秒計,與此不同的是,DPM 使各設備的管理速度只受限于改變供電電壓 (T芕) 或 CPU 時鐘 (T頗) 所需的時間。
在流視頻的各幀之間實現(xiàn)節(jié)能,是對 DPM 的這一性質(zhì)的最好寫照。高質(zhì)量的流視頻的運行頻率是 24 幀/秒,在各幀之間留了 41.66 毫秒的可用時間,用于渲染下一幀和進行其它活動。即使是在運行頻率為 40-60MHz 的低功率 CPU 內(nèi)核心上,41.66 毫秒也代表“很長的時間”,并為電源管理帶來了充足的機會。
當一幀視頻呈現(xiàn)給用戶之后,活動按以下方式繼續(xù)進行:
·CPU 請求/索取下一幀壓縮視頻,它來自本地存儲系統(tǒng)或流文件緩沖器——CPU 活動量很低;
·壓縮圖像(經(jīng)由 DMA 或共享內(nèi)存)被傳輸至編解碼器(DSP 或其它專用硬件),進行解壓/渲染——CPU 活動量中等,編解碼器活動量高;
·當圖像準備就緒,即解壓完畢時,CPU 調(diào)用視頻接口驅(qū)動程序——CPU 利用率高,最終的顯示器利用率高;
·在圖像處理的整個過程中,顯示器背光都要消耗能量。充分利用視覺暫留或針對圖像本身的伽瑪調(diào)節(jié),該參數(shù)也可以降低到一個更適度的消耗級別。
對視頻幀處理的各個階段期間的能量需求進行總結(jié),得圖 2 所示的波形,“線上方的”面積代表潛在的節(jié)能。
時鐘頻率調(diào)節(jié)與電壓調(diào)節(jié)的益處對比
CPU 時鐘頻率調(diào)節(jié)是嵌入式器件的一種常用省電方式。在給定電壓下,與較低的時鐘速度相比,較高的時鐘速度需要更多的電量才能把邏輯電平推到飽和(克服電容)。而且,時鐘頻率調(diào)節(jié)比較容易實現(xiàn),至少在 CPU內(nèi)核內(nèi)部是這樣。然而,電壓調(diào)節(jié)帶來的益處要大得多——能耗與時鐘頻率成正比,而幾乎是系統(tǒng)電壓的立方!
DPM 本身并不對時鐘頻率和電壓之間的關聯(lián)做假設。理論上,兩項參數(shù)均可以獨立而連續(xù)地改變。
實際上,在給定時鐘頻率下,存在最低可行電壓(最低供電電壓)——更低的電壓無法在要求的周期時間內(nèi)把邏輯電平推到飽和,而更高的電壓只會消耗更多的電。為了簡化電源管理算法,DPM 等方案也不去嘗試連續(xù)改變時鐘和電壓,而是由設計人員在時鐘/電壓連續(xù)統(tǒng)計上挑選出一系列合理的運行點,并且 DPM 逐點驅(qū)動 CPU 和其它電源得到管理的系統(tǒng)器件。
開發(fā)和部署電源管理面臨的挑戰(zhàn)
面向嵌入式 Linux 的 DPM 是一種正在發(fā)展的技術。由于全球開放源代碼領域的開發(fā)人員所做的貢獻,它的核心技術正在進步,但實際應用仍然必須清除一系列“路障”。
在所有器件子系統(tǒng)中協(xié)調(diào) DPM
CPU 時鐘和電壓引來了一套非常靈活的電源管理參數(shù),這些參數(shù)針對設備中的主要耗電器件之一。其它器件(背光、射頻等等)也帶來了電源管理機會,但有可能導致非常不同的運行點類型和數(shù)量。不過,系統(tǒng)中的各種節(jié)點完全獨立的情況非常少。CPU 連接到總線、橋路、內(nèi)存,并直接連接到其它外設,而改變一種器件的時鐘和電壓可能會限制它與鄰近器件的電連接和邏輯連接。解決此類不兼容問題的選擇方案包括:
· 把 CPU 內(nèi)核和外設編組成塊,這些塊共享運行點特性
· 選擇互為倍數(shù)的運行點時鐘速率
· 運用電壓變換器/緩沖器或開路集電極電路來縮小電壓差異
克服電壓及頻率調(diào)節(jié)等待時間
為了支持 DPM 等積極的節(jié)能范例,系統(tǒng)硬件的響應速度必須能夠至少象 DPM 策略指導的狀態(tài)變化的發(fā)生速度一樣快。也就是說,如果 DPM 系統(tǒng)需要在給定時間內(nèi)從一個運行點過渡到另一個運行點,電源電路的時鐘設定必須能夠與這些變化一同發(fā)生。
換句話說,改變電壓所花的時間必須少于運行點之間的過渡時間 ( T芕 < T芆P )。為了實現(xiàn)上述的幀間方案,T芕 必須在 5 毫秒范圍內(nèi) (200 Hz)。一些直流到直流電源內(nèi)部運行速度約為 200Hz,在有負載情況下只能交付大約 200 毫秒 (5Hz) 內(nèi)的電壓變化,結(jié)果降低了 基于 DPM 的系統(tǒng)的可用解析度和效用。
實時影響
直到最近,CPU 電壓和頻率調(diào)節(jié)仍給實時性能帶來了嚴峻挑戰(zhàn)。兩種參數(shù)中任何一種發(fā)生變化都造成了不穩(wěn)定,“重新鎖定”鎖相環(huán)路和其它動態(tài)時鐘機制需要時間,這些都造成了很長的等待時間(有時是許多毫秒),在此期間 CPU 既不能執(zhí)行計算操作,又不能響應外部事件(中斷)。
TI OMAP 和 Intel XScale 等先進嵌入式處理器能夠在等待時間以幾微秒計的情況下調(diào)節(jié)頻率,并在等待時間以數(shù)十微秒計的情況下響應變化的電壓,不會中斷系統(tǒng)運行,從而實現(xiàn)了更積極、更精細的策略。
對實時性能的一個更普遍的挑戰(zhàn)是深度睡眠方式期間對中斷的響應。大多數(shù)片上外設可以設定為在收到中斷時“喚醒”系統(tǒng),不過開發(fā)人員必須仔細規(guī)定各項策略,來啟用(選擇性的)基于器件的喚醒,并考慮整個系統(tǒng)的等待時間和存儲類別,從而確保及時執(zhí)行中斷處理程序和用戶空間對事件的響應(優(yōu)先等待時間)。
參考平臺的功能
雖然許多 CPU 核心和 SoC(單片系統(tǒng))的確能夠響應頻繁的時鐘變化和電壓變化,但它們所在的參考板通常不能做到這點。事實上,許多 CPU 參考及評估板無法足夠快地為 DPM 調(diào)節(jié)時鐘和電壓,而且很多板根本不允許對這些參數(shù)做任何實時調(diào)節(jié)!在這些情況下,開發(fā)人員必須等待對各自生產(chǎn)硬件的訪問,以便衡量各種電源管理方案的益處。
嵌入式 Linux 的采用、DPM 和差異化
理想情況下,設備用戶既不需要了解也不必關心他們購買的手持設備中的底層操作系統(tǒng)。不過,運營商供應的“售后市場”軟件正在給予設備制造商的首選操作系統(tǒng)更多的可見度,并正在一個以前不存在品牌的領域創(chuàng)造品牌。盡管品牌創(chuàng)建一直是微軟公司的一項重點,但 Windows 系列在手機市場等大批量服務交付市場的普及落在了 Symbian、Brew 的后面,并且現(xiàn)在也落后于多種基于嵌入式 Linux 的新型設計。
設備制造商轉(zhuǎn)向 Linux 的原因之一是有機會充分利用基于各種標準的電源管理,而不是目前的專有方案。正在發(fā)展的動態(tài)電源管理功能,伴隨著 ARM 公司的 IEM 等電源剖析技術,正在向手機制造商和其他智能設備 OEM 們提供威力強大的新型工具,來增強產(chǎn)品的差異化,實現(xiàn)更快的產(chǎn)品上市時間,并滿足最終用戶和運營商的技術要求。





