設(shè)備制造商正面臨挑戰(zhàn),因?yàn)橄M(fèi)者要求其設(shè)備具有完整的功能,而移動(dòng)設(shè)備正變得越來越復(fù)雜和功能豐富。除了完整的功能外,消費(fèi)者還希望獲得持久電池壽命的便利。不幸的是,對于設(shè)備制造商來說,這兩個(gè)設(shè)計(jì)目標(biāo)只能以相互為代價(jià)來實(shí)現(xiàn)。當(dāng)開發(fā)人員被拉向這兩個(gè)不同的方向時(shí),可以做些什么來減輕他們的痛苦?
當(dāng)設(shè)計(jì)團(tuán)隊(duì)試圖將兩者都提供給要求苛刻的消費(fèi)者時(shí),性能與節(jié)能的二分法可能會(huì)令人抓狂。滿足這些要求意味著不斷突破性能的界限,同時(shí)從其構(gòu)建中擠出每一點(diǎn)電池壽命。幸運(yùn)的是,設(shè)計(jì)團(tuán)隊(duì)擁有觸手可及的資源,使他們能夠做到這一點(diǎn)。以下討論提供了有關(guān)設(shè)備制造商如何通過嵌入式 Linux 的動(dòng)態(tài)電源管理功能最大限度地節(jié)省手持設(shè)備的功耗的見解。
電源管理案例
電源管理是一個(gè)系統(tǒng)范圍的設(shè)計(jì)目標(biāo),需要硬件、內(nèi)核和用戶空間應(yīng)用程序的協(xié)調(diào)與合作。通過在 CPU 處于活動(dòng)狀態(tài)以及處于非活動(dòng)狀態(tài)時(shí)提供節(jié)能選項(xiàng),Linux 為工程師提供了多種工具,使他們能夠在設(shè)計(jì)構(gòu)建中最大限度地節(jié)能。
但為什么電源管理如此重要?首先,電源管理功能是消費(fèi)者的首要任務(wù)。無論設(shè)備的最終用途如何,無論是語音、視頻、音樂還是 Web 訪問,最終用戶都希望他們的移動(dòng)設(shè)備具有持久的電池壽命。因?yàn)殡娫垂芾韺τ谙胍谑袌錾汐@勝的制造商來說是必不可少的,所以他們必須將長電池壽命作為首要功能。工程師實(shí)現(xiàn)這些期望的能力可以在贏得市場和成為失敗者之間產(chǎn)生差異。
制定一個(gè)可靠的電源管理策略以最大限度地節(jié)省功耗是設(shè)計(jì)過程早期的關(guān)鍵步驟。這個(gè)想法是以對最終用戶透明的方式來計(jì)劃節(jié)能。鑒于節(jié)能方法總是以性能或功能換取能源,因此必須制定明確的戰(zhàn)略。一些成功的設(shè)計(jì)工程師這樣做的方法是在處理器不忙時(shí)縮減性能,或者在不使用外設(shè)時(shí)將其置于待機(jī)模式。
全球視野
在制定電源管理策略時(shí),重要的是要全面了解功耗,以節(jié)省時(shí)間并盡可能節(jié)省電能。關(guān)注系統(tǒng)中所有的耗電大戶,而不是對已經(jīng)提供足夠回報(bào)的算法進(jìn)行復(fù)雜的優(yōu)化,從而獲得更好的努力回報(bào)。
例如,想想普通移動(dòng)設(shè)備的主要功耗來源。細(xì)分表明,片上系統(tǒng) (SoC) 只是整個(gè)戰(zhàn)略的一個(gè)組成部分。完整的功率圖包括其他大量能源消耗,包括背光、DC-DC 轉(zhuǎn)換器、功率放大器等。
CPU 是嵌入式系統(tǒng)中功耗的主要來源,必須仔細(xì)調(diào)節(jié)其功耗以實(shí)現(xiàn)激進(jìn)的電源管理目標(biāo),例如延長電池壽命。CPUfreq 和 CPUidle 是 Linux 內(nèi)核中的系統(tǒng),它們通過稱為動(dòng)態(tài)電源管理(DPM) 的技術(shù)來管理 CPU 電源使用情況。
DPM 的前提是系統(tǒng)在運(yùn)行期間會(huì)遇到不均勻的工作負(fù)載。因此,DPM 包含一組技術(shù),通過選擇性地關(guān)閉系統(tǒng)組件或在它們不是完全必要或滿負(fù)荷需要時(shí)降低它們的性能來實(shí)現(xiàn)節(jié)能計(jì)算。CPUfreq 通過動(dòng)態(tài)調(diào)整 CPU 的電壓和頻率以響應(yīng)系統(tǒng)不斷變化的性能要求,為節(jié)能設(shè)計(jì)提供了框架。CPUidle 控制當(dāng) CPU 無工作時(shí)進(jìn)入哪個(gè)低功耗空閑狀態(tài)。
制定計(jì)劃:先 DPM,然后再深入
動(dòng)態(tài)電源管理可以在設(shè)計(jì)過程中的兩個(gè)關(guān)鍵點(diǎn)實(shí)現(xiàn):CPU 處于活動(dòng)狀態(tài)和 CPU 處于非活動(dòng)狀態(tài)。
· 當(dāng) CPU 處于活動(dòng)狀態(tài)時(shí):這可以使用稱為負(fù)載縮放的技術(shù)來實(shí)現(xiàn)。在執(zhí)行代碼時(shí)動(dòng)態(tài)調(diào)整處理器的電壓/頻率可以節(jié)省大量電力。使用稱為調(diào)速器的插件控制算法,可以根據(jù)包括工作負(fù)載在內(nèi)的任意數(shù)量的指標(biāo)調(diào)整電壓/頻率。
· 當(dāng) CPU 處于非活動(dòng)狀態(tài)時(shí):這可以通過另一種稱為空閑縮放的技術(shù)來完成。空閑縮放涉及在系統(tǒng)空閑時(shí)進(jìn)入處理器的低功耗狀態(tài)之一,然后在有指令執(zhí)行時(shí)返回到活動(dòng)狀態(tài)(由 CPUfreq 控制)。
為了獲得最大效果,兩種技術(shù)可以一起使用。可以想象,當(dāng)同時(shí)應(yīng)用空閑和負(fù)載擴(kuò)展策略時(shí),節(jié)能的潛力是巨大的。這兩種策略都被證明是有效的;他們是真正的主力。
更深?yuàn)W的策略會(huì)產(chǎn)生增量改進(jìn)。這些通常不值得付出努力。當(dāng)將稱為應(yīng)用程序擴(kuò)展的策略應(yīng)用于執(zhí)行 MPEG-4 播放的嵌入式系統(tǒng)時(shí),僅比負(fù)載擴(kuò)展策略額外節(jié)省 4% 的功率。
應(yīng)用程序縮放需要修改播放應(yīng)用程序以實(shí)現(xiàn)一種稱為提前工作的技術(shù)。解碼完幀后,前處理算法立即開始在較低的操作點(diǎn)解碼下一幀。它繼續(xù)向前工作,在更節(jié)能的操作點(diǎn)解碼未來的幀,直到它注意到它有錯(cuò)過最后期限的危險(xiǎn),此時(shí)它會(huì)將系統(tǒng)限制到更高的性能水平以迎頭趕上。這種復(fù)雜的優(yōu)化僅在負(fù)載縮放策略上實(shí)現(xiàn)了很小的功率節(jié)省。商業(yè) Linux 解決方案為空閑和負(fù)載縮放技術(shù)提供了開箱即用的支持,這使設(shè)計(jì)人員能夠自由地研究和降低系統(tǒng)其他部分的功耗。
提前規(guī)劃電源
對電源管理的需求不會(huì)消失。相反,它正在成為移動(dòng)設(shè)備設(shè)計(jì)中越來越重要的特征。采用強(qiáng)大的電源管理策略構(gòu)建的設(shè)計(jì)團(tuán)隊(duì)可以利用 Linux 的功能來提供消費(fèi)者所需的節(jié)能,而不必在性能方面做出不可接受的犧牲。
在設(shè)計(jì)過程的早期制定節(jié)能策略,從全局角度了解功耗,并在 CPU 處于活動(dòng)狀態(tài)和空閑狀態(tài)時(shí)利用節(jié)能效果僅僅是開始。存在關(guān)于電源管理這一重要主題的其他注意事項(xiàng)和策略,因此請務(wù)必為即將開展的項(xiàng)目進(jìn)一步研究這項(xiàng)技術(shù)。
審核編輯:郭婷
-
電源管理
+關(guān)注
關(guān)注
115文章
6193瀏覽量
144954 -
cpu
+關(guān)注
關(guān)注
68文章
10905瀏覽量
213030 -
Linux
+關(guān)注
關(guān)注
87文章
11345瀏覽量
210406
發(fā)布評(píng)論請先 登錄
相關(guān)推薦
評(píng)論