嵌入式系統(tǒng)降低功耗的方法研究
更新事件列表算法代碼如下:
顯式資源需要對驅(qū)動程序作一些修改,即在驅(qū)動程序發(fā)送執(zhí)行命令前和硬件完成服務(wù)并通過驅(qū)動程序告訴內(nèi)核設(shè)備就緒后這兩個時間點,插入一個NotifyEvent()函數(shù)調(diào)用。具體的代碼插入點根據(jù)不同類型的設(shè)備和對服務(wù)開始與結(jié)束的不同定義而不同。
根據(jù)觀測器得到的系統(tǒng)資源訪問歷史記錄計算出優(yōu)化策略之后,控制模塊將在通過電源管理機發(fā)出控制命令給相應(yīng)的硬件完成服務(wù),并通過驅(qū)動程序告訴內(nèi)核設(shè)備就緒后這兩個時間點插入一個NotifyEvent()函數(shù)調(diào)用。
(2)DVS策略
目前,嵌入式系統(tǒng)降低功耗多采用動態(tài)電壓縮放技術(shù)Ⅲ,即系統(tǒng)運行時可以通過設(shè)置可編頻率寄存器控制處理器的工作頻率。實驗觀察發(fā)現(xiàn),系統(tǒng)的運行負荷具有明顯的非平穩(wěn)特性,短時間內(nèi)可能具有很高的執(zhí)行負荷,但絕大部分時間維持輕負荷狀態(tài)。DVS技術(shù)根據(jù)嵌入式系統(tǒng)這一特點,在系統(tǒng)負荷較重時將處理器設(shè)置為最高執(zhí)行速度,以保證系統(tǒng)的計算能力;而在系統(tǒng)負荷較輕時動態(tài)降低處理器的工作頻率,以降低處理器的執(zhí)行功耗,從而實現(xiàn)系統(tǒng)計算性能與功耗的優(yōu)化控制,如圖 6所示。DVS的預測通過采用了基于時間間隔AVGn算法的cpu_dvs函數(shù)實現(xiàn)。該函數(shù)讀取CPU使用信息,按照AVGn算法來估算系統(tǒng)的運行負荷,并根據(jù)返回給cpu_scan函數(shù)的結(jié)果實現(xiàn)具體的動態(tài)電壓縮放。
AVGn算法分析了多種簡單或復雜的估計算法和平滑技術(shù)。其基本思想是采用指數(shù)平滑平均值方法,即預測即將到來的間隔的n個運行百分比的加權(quán)平均值。但AVGn算法存在一個問題就是,逐檔改變頻率導致系統(tǒng)不能及時地響應(yīng)負載變化,還需要大量深入細致的研究。
2.3 應(yīng)用程序?qū)?br /> 在基于微處理器、微控制器的系統(tǒng)中,軟件起到了引導硬件活動的主導作用。也就是說,軟件對系統(tǒng)的能量消耗有很大的影響。直到目前,還沒有有效且精確的方法可用來評估軟件設(shè)計對能量消耗所起的效應(yīng)。沒有能量評估,就無法對軟件進行優(yōu)化進而減少電能消耗。引起CPU電能消耗的眾多因素中,至少有2個受軟件的影響極大――存儲系統(tǒng)與系統(tǒng)總線。在嵌入式系統(tǒng)的低功耗軟件設(shè)計中,主要考慮這2個因素。
3 總 結(jié)
功耗已經(jīng)成為嵌入式系統(tǒng)設(shè)計中優(yōu)先要考慮的問題,隨著處理器速度越來越快,如何降低功耗已經(jīng)成為衡量嵌入式系統(tǒng)性能優(yōu)良的一個重要方面。因此,在低功耗嵌入式系統(tǒng)設(shè)計過程中要考慮各部分具體的低功耗設(shè)計方法,同時也要充分發(fā)揮各抽象層的低功耗技術(shù)優(yōu)勢。
本文介紹的低功耗嵌入式系統(tǒng)中仍有很多不足,有待進一步探索:①DPM隨機決策模型和求解算法,并沒有解答最優(yōu)策略是否存在、若存在最優(yōu)策略具有什么特性等基本問題,也沒能從理論上解釋“實踐中超時策略可以取得優(yōu)良節(jié)能效果”的原因。②本文的DVS策略采用與AVGn算法類似的假設(shè)條件,在實際應(yīng)用中這些條件過于苛刻。如何將本文DVS策略的思想應(yīng)用到特定的非理想情況的嵌入式系統(tǒng)中,尚需進一步研究。
評論