基于Linux的智能手機(jī)省電設(shè)計(jì)
成功實(shí)現(xiàn)AVS 的關(guān)鍵是在基帶芯片中集成部分系統(tǒng)電源管理電路, 即內(nèi)置AVS 控制器(圖3)。這一關(guān)鍵模塊包含專門的電路和算法, 用來(lái)確定給定處理量下的最優(yōu)電壓。通過(guò)向電壓調(diào)整器的參考端輸入饋送誤差信號(hào), 可以生成最優(yōu)的VDD, 無(wú)需提供不必要的電壓余量, 從而減少了電能損耗。對(duì)任何閉環(huán)方法來(lái)說(shuō), 環(huán)路帶寬都是很重要的。環(huán)路快速跟蹤并穩(wěn)定的能力決定了基帶電源動(dòng)態(tài)調(diào)整以自適應(yīng)工作負(fù)載突變的能力。
內(nèi)置AVS 控制器
通過(guò)軟件方法降低設(shè)備功耗
低能耗軟件優(yōu)化對(duì)于基于處理器系統(tǒng)的應(yīng)用程序而言, 是最有發(fā)展前途的降低系統(tǒng)能耗的技術(shù)方法。這種方法對(duì)于那些計(jì)算復(fù)雜度較高的應(yīng)用程序最為有效。因?yàn)橹挥性趹?yīng)用程序執(zhí)行的時(shí)候, 才會(huì)消耗大量電源。
這項(xiàng)技術(shù)的最終目的是在執(zhí)行較為復(fù)雜的應(yīng)用程序時(shí), 盡量降低能耗。我們的程序用于降低計(jì)算的復(fù)雜度, 但不能改變程序原本的行為?,F(xiàn)在我們通過(guò)圖4(A) 中的例子, 來(lái)闡述一下一些有關(guān)軟件優(yōu)化的想法。
通過(guò)軟件方法降低設(shè)備功耗
考慮主函數(shù)中第一次調(diào)用過(guò)程test。如果檔參數(shù)a 和差數(shù)k都是0 的概率為90%, 我們可以將源代碼改寫為圖4(B) , 通過(guò)改寫, 我們減少了test 過(guò)程中的循環(huán)數(shù)。但在現(xiàn)實(shí)中, 參數(shù)a 和k 并不是總是為0。那么test 的過(guò)程調(diào)用不能被新的過(guò)程sp_test 所完全替代。我們用一個(gè)條件語(yǔ)句來(lái)限定過(guò)程的調(diào)用, 所有的過(guò)程調(diào)用依賴于cvd_test()的結(jié)果。當(dāng)過(guò)程cvd_test()檢測(cè)為一般情況( a,k同時(shí)為0) , 符合此條件的修正后的代碼被執(zhí)行。如果當(dāng)過(guò)程cvd_test()檢測(cè)為非一般情況( a,k 非同時(shí)為0) , 原有的代碼被執(zhí)行。在另一方面, 當(dāng)過(guò)程cvd_test()檢測(cè)為非一般情況, 我們提升了程序的計(jì)算復(fù)雜度, 也相應(yīng)提高了能耗。
一般而言, 對(duì)代碼優(yōu)化有各種各樣不同的方法。如果我不考慮參數(shù)k, 我們可以將源代碼轉(zhuǎn)化為圖4(C) 所示。a 為0 的概率大于a 和k 同時(shí)為0 的概率。在不同情況下, 對(duì)原有代碼所做的修改有不同的效果。
最后, 我們必須檢驗(yàn)修改過(guò)的代碼對(duì)原有代碼的影響, 是不是改變了原有代碼的行為, 在任何條件下我們都不能去擅自改變?cè)写a的行為。代碼質(zhì)量的提升也是相當(dāng)?shù)闹匾摹?duì)于C 語(yǔ)言來(lái)說(shuō), 將一些簡(jiǎn)單的函數(shù)轉(zhuǎn)換為宏定義時(shí)一種比較有效的方法。
綜上所述, 我們可以將一般情況下代碼優(yōu)化分為4 個(gè)步驟:
(1)一般案例的選擇。選擇最有效的、最長(zhǎng)被調(diào)用的案例。
(2)一般案例的提煉。為給出的一般案例建立一個(gè)過(guò)程。
(3)全局檢測(cè)。檢測(cè)改變后的調(diào)用對(duì)于全局的影響。
(4)提高代碼質(zhì)量。使用一些編程語(yǔ)言中的基本技巧, 以提高代碼質(zhì)量。
總結(jié)
在移動(dòng)終端設(shè)備設(shè)計(jì)方面, 節(jié)能成為了一個(gè)很重要的設(shè)計(jì)指標(biāo)。我們選取了更高效的CPU 以降低能耗。對(duì)于交互式應(yīng)用程序而言, 我們使用DPM策略降低處于空閑態(tài)的能耗, 這種方法主要使用于OS 層。而AVS 技術(shù)是通過(guò)電壓調(diào)整來(lái)實(shí)現(xiàn)減少能耗。在應(yīng)用程序?qū)? 我們通過(guò)對(duì)軟件的優(yōu)化來(lái)達(dá)到降低能耗的目的。在Intel? PXA27x 處理芯片環(huán)境下, 通過(guò)以上方法, 我們降低了26%的能耗, 提高了30%的系統(tǒng)性能以及增加了7%的代碼量。
評(píng)論