隨著對移動和有線設備的能源效率需求的增長,系統開發人員會越來越多地使用功率智能型硬件解決方案,而更加節能的代碼能使之如虎添翼。
最前沿的功率智能型硬件技術就是多核 SoC,它能夠工作在各種各樣的頻率及電壓下。還有一些 CPU 和外設也支持多種功耗模式。我們已經看到硬件方面的進展,但是要真正地從這些進展中得到好處,還需要一種新型的操作系統。
在功率高效型嵌入式設計迎來曙光的今天,前輩們所使用的實時操作系統(RTOS)已經不再滿足需要。這時所需要的是節能型 RTOS,它更加注重處理 CPU 的各種模式,同時均衡系統總響應度及功耗。
硬件技術趨勢
現在,電池的體積越來越小,但提供的容量卻越來越大。而大量的電子設備開始采用比以往更大的、由觸摸屏控制的、具備高級特性的背光 LCD 顯示器,這樣提高了產品的易用性,其代價是功耗更大,并且當 LCD 技術獲得重大進展時,就會推動背光需求,這就需要更多的功率。
現代 SoC 設計采用了動態的電壓和頻率調節(DVFS)。在最簡單的情況下,降低頻率就能夠降低功耗,并且系統也能夠降低供給 CPU 的電壓,給節能帶來倍增的效果。CPU 內核提供了各式各樣的功耗狀態:運行(run)、睡眠(sleep)、打盹(doze)和小睡(snooze)。
CPU 功耗狀態的功耗越小,喚醒 CPU 所需要的時間就越長。最深的節能等級會保存硬件的寄存器狀態,并使 DRAM 進入自保持模式,但較深的節能等級也會表現為在系統剛被喚醒時反應緩慢。
今天的設計通常會加入支持 DVFS 中動態電壓部分的電源管理 IC(PMIC)。當 SoC 的頻率達到最大時,電壓也必須達到最大,以維持轉換時間,并且在較低頻率時,電壓可以降低。
如果系統沒有針對功耗進行調整,處理器將快速完成作業,比實際需要更快。頻率的降低使得降低所需電壓成為可能,這意味著能夠在滿足時間限制的同時節省功耗。
有了上述硬件技術的進步,軟件就當仁不讓地占據了控制系統總體功耗的位置。要想盡可能地節省所有嵌入式設備的功耗,就需要一套相當復雜的電源管理系統。用于電源管理的軟件可以分為被動電源管理和主動電源管理。
被動電源管理
最基本的電源管理方法是被動電源管理。被動電源管理通過將電源域置于低功耗狀態來監視設備何時被使用,檢測設備何時停止活動,并做出反應。
例如,當設備的用戶界面被激活——用戶接觸觸摸屏——設備就處于活動狀態并保持在全功耗模式。如果觸摸屏不活動,隨著定時器計時結束,電源域的狀態機將轉換到低功耗狀態。第一次超時事件可能會將背光降至 50%亮度。第二次超時事件可以將其完全關閉。
主動電源管理
主動電源管理采用的理念就是系統可以預測將來的資源使用,但這實際上是不可能的。對于系統而言,能夠做到的是分析每個任務,并引入復雜的調度技術,以便預測當系統在工作時任務需要什么,并相應地調節電壓和頻率。通過分析數據,根據實際功率使用狀況以及系統正在執行的動態測量來進行手動編程,或者通過動態測量該系統正在執行的任務來進行手動編程。
監視任務時,可以監視它們訪問哪些 API,使用哪些設備以及每次準備好接受調度所消耗的時間。接著,這些數據連同最近每項任務執行調度的歷史會被搜集并存儲起來,以便用于分析完成這項作業需要多少處理資源。
通過使用 DVFS,系統開發人員可以節省大量功耗,但這樣做是有代價的,因為在低功耗和高功耗狀態之間的切換會消耗額外的功率。低頻到高頻的切換意味著我們需要首先將電壓調節至 CPU 頻率可以承受的預定電壓水平。降低頻率的過程是瞬時的,但是電壓的調節過程受限于轉換速率,需要一定時間才能達到最佳設置。
考慮到電源管理結構,有時,與其降低 DVFS 之后再重新調高以滿足新任務的需要,還不如讓系統保持在高功耗狀態。
用于對稱多處理(SMP)系統
對稱多處理(SMP,SymmetricalMulti-Processing)技術,是指在一臺計算機上使用兩個或兩個以上處理器去進行計算處理。如果有兩個內核,兩項待運行任務,這兩項任務可同時運行。如果 DVFS 設置為相同頻率,每項任務都可以運行在任意內核上。實際上,如果我們在單獨調節的每個內核上使用不同的 DVFS 設置,情況會變得更加復雜。
隨著今天 SoC 中 SMP 復雜度的增加,遇到支持 4 個或更多個對稱內核的系統并不罕見。這就需要調度多個可能工作在不同頻率上的內核,增加了管理每個內核的 DVFS 方面以及調度每個內核上任務的復雜度。
審核編輯黃昊宇
-
功率
+關注
關注
14文章
2068瀏覽量
69936 -
功耗
+關注
關注
1文章
823瀏覽量
31978
發布評論請先 登錄
相關推薦
評論