專利名稱:手持設(shè)備功耗管理方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通訊領(lǐng)域,尤其涉及一種手持設(shè)備功耗管理方法。
背景技術(shù):
目前,手持設(shè)備的市場(chǎng)競(jìng)爭(zhēng)異常激烈。手持設(shè)備的生產(chǎn)廠商,除了依賴價(jià)格戰(zhàn),更 多地還依靠產(chǎn)品完備的功能與優(yōu)良的性能。而手持設(shè)備的性能,很大一部分體現(xiàn)在功耗上。通常,對(duì)手持設(shè)備的功耗管理研究,集中在硬件功耗設(shè)計(jì)上。比如進(jìn)行電源分區(qū)的 設(shè)計(jì),電壓的區(qū)別設(shè)計(jì),以及睡眠和深睡眠模式設(shè)計(jì)。硬件功耗設(shè)計(jì)帶來的效果明顯,比如 電源分區(qū)的設(shè)計(jì),在投片完成后,將每一個(gè)分區(qū)打開或者關(guān)閉,測(cè)試一下電流,計(jì)算得出每 一分區(qū)的功耗。當(dāng)應(yīng)用的時(shí)候,不使用的分區(qū),把電源關(guān)掉,使用的分區(qū),把電源打開,達(dá)到 節(jié)省功耗的目的。再如睡眠和深睡眠模式設(shè)計(jì),如果整個(gè)手持設(shè)備不需要使用內(nèi)核(Core), 但需要使用外設(shè)時(shí),就進(jìn)入睡眠模式;如果手持設(shè)備既不需要使用Core,也不需要使用外 設(shè),就進(jìn)入深睡眠模式,這樣的設(shè)計(jì)也達(dá)到節(jié)省功耗的目的。不過,上述功耗管理主要集中在手持設(shè)備的工作與停止工作之間的狀態(tài)切換,沒 有單獨(dú)地考慮在工作的狀態(tài)下,手持設(shè)備的芯片不同工作頻率時(shí)功耗的不同的特點(diǎn)。手持設(shè)備的芯片功耗計(jì)算公式為Pt = Fre · Pw其中,Pt為芯片總功率,單位為mw,F(xiàn)re為芯片工作頻率,單位為MHz,Pw為芯片功 耗指標(biāo),單位為mw/MHz。芯片投片之前,一般通過硬件的功耗管理策略,數(shù)字邏輯的簡(jiǎn)化設(shè)計(jì),以及工藝的 選擇,確定一個(gè)較低的Pw值。芯片投片之后,在使用芯片時(shí),主要通過對(duì)Fre的控制,完成功耗的管理,即希望 設(shè)定一個(gè)Fre,使得手持設(shè)備處于正常工作的狀態(tài),且運(yùn)行在該Fre時(shí),手持設(shè)備的功耗較 低。然而,現(xiàn)有的手持設(shè)備中,都是將手持設(shè)備的各種功能都運(yùn)行起來后的頻率,設(shè)為正常 的工作頻率。即便手持設(shè)備只使用一個(gè)簡(jiǎn)單的功能,如查看時(shí)間,玩一個(gè)簡(jiǎn)單的貪食蛇游 戲,或閱讀短信等,手持設(shè)備都會(huì)運(yùn)行在設(shè)定好的工作頻率水平。而且在運(yùn)行的功能結(jié)束后 的其他時(shí)間內(nèi),系統(tǒng)依舊運(yùn)行在工作頻率的空閑(idle)態(tài)。這就造成,手持設(shè)備的功能使 用得越少,idle態(tài)占用的時(shí)間比例越大,能量浪費(fèi)得越多。
發(fā)明內(nèi)容
為解決手持設(shè)備運(yùn)行的功能較少時(shí),芯片工作頻率較高,造成功耗較大的問題,有 必要提供一種解決該問題的手持設(shè)備功耗管理方法。本發(fā)明手持設(shè)備功耗管理方法,包括以下步驟計(jì)算手持設(shè)備運(yùn)行當(dāng)前的功能所需的工作頻率;根據(jù)所述工作頻率,設(shè)定所述手持設(shè)備的系統(tǒng)時(shí)鐘。在上述方法中,所述計(jì)算手持設(shè)備運(yùn)行當(dāng)前的功能所需的工作頻率,包括根據(jù)處理器運(yùn)行當(dāng)前功能所有調(diào)用的各個(gè)任務(wù)或函數(shù)所花時(shí)鐘的數(shù)量cycle數(shù),計(jì)算所需的工作頻率。在上述方法中,所述計(jì)算所需的工作頻率包括將運(yùn)行當(dāng)前功能所有調(diào)用的各個(gè) 任務(wù)的cycle數(shù)總和除以所述功能的周期,得到的值為所述功能的工作頻率。在上述方法中,還包括所述cycle數(shù)為模擬環(huán)境統(tǒng)計(jì)的靜態(tài)cycle數(shù)或用戶多次 運(yùn)行任務(wù)或函數(shù)獲得的動(dòng)態(tài)cycle數(shù)。在上述方法中,所述設(shè)定所述手持設(shè)備的系統(tǒng)時(shí)鐘,指所設(shè)定系統(tǒng)時(shí)鐘的輸出頻 率大于或等于所述工作頻率。在上述方法中,所述根據(jù)所述工作頻率,設(shè)定所述手持設(shè)備的系統(tǒng)時(shí)鐘,包括
NF Fout · No步驟一、根據(jù) =,選擇一個(gè)NO值,其中NR為輸入分頻參數(shù)、NF為反饋
NR Fin
參數(shù),NO為輸出分頻參數(shù),F(xiàn)in為輸入頻率,F(xiàn)out為系統(tǒng)時(shí)鐘的輸出頻率;步驟二、估計(jì)NF/NR的比值;步驟三、判斷計(jì)算得到的所述輸出頻率是否等于所述工作頻率,若是,將所述輸出 頻率對(duì)應(yīng)的No、NF和NR值來配置所述手持設(shè)備;否則,執(zhí)行步驟一,直至NO值被選擇完, 在NO值被選擇完時(shí),找出與所述工作頻率最接近的所述輸出頻率,并將所述最接近的所述 輸出頻率對(duì)應(yīng)的NO、NF和NR值來配置所述手持設(shè)備。在上述方法中,所述步驟二,包括對(duì)所述Fout · NO和Fin分別減少相同的位數(shù),再取整,使得所述Fout · NO和Fin 的位數(shù)符合所述手持設(shè)備的頻率表示位的位數(shù)。在上述方法中,所述步驟二,包括計(jì)算所述Fout · NO和Fin的最大公因子,所述Fout · NO和Fin分別都除以所述 最大公因子;在所述Fout ·Ν0和Fin分別都除以所述最大公因子后,得到的兩個(gè)商值的位數(shù)不 符合所述手持設(shè)備的頻率表示位的位數(shù)時(shí),對(duì)所述兩個(gè)商值分別減少相同的位數(shù),再取整, 直至符合所述手持設(shè)備的頻率表示位的位數(shù),所述兩個(gè)商值的比值,定義為第一分?jǐn)?shù)。在上述方法中,所述對(duì)所述兩個(gè)商值分別減少相同的位數(shù),直至符合所述手持設(shè) 備的頻率表示位的位數(shù)之后,還包括步驟a、判斷所述第一分?jǐn)?shù)是否小于所述Fout · NO和Fin的比值,若是,執(zhí)行步驟 b,否則,執(zhí)行步驟C;步驟b、對(duì)所述第一分?jǐn)?shù)的分子和分母分別加一或減一,得到大于所述第一分?jǐn)?shù)的 三個(gè)分?jǐn)?shù),從中選擇最接近所述Fout -NO和Fin的比值的分?jǐn)?shù),定義為第二分?jǐn)?shù),并將所述 第一分?jǐn)?shù)用所述第二分?jǐn)?shù)替換,判斷是否執(zhí)行過步驟c,若是,執(zhí)行步驟d,否則,執(zhí)行步驟 a ;步驟C、對(duì)所述第一分?jǐn)?shù)的分子和分母分別加一或減一,得到小于所述第一分?jǐn)?shù)的 三個(gè)分?jǐn)?shù),從中選擇最接近所述Fout -NO和Fin的比值的分?jǐn)?shù),定義為第三分?jǐn)?shù),并將所述 第一分?jǐn)?shù)用所述第三分?jǐn)?shù)替換,判斷是否執(zhí)行過步驟b,若是,執(zhí)行步驟d,否則,執(zhí)行步驟 a ; 步驟d、從所述第二分?jǐn)?shù)和第三分?jǐn)?shù)中,選擇最接近所述Fout ·Ν0和Fin的比值的分?jǐn)?shù),定義為第四分?jǐn)?shù),計(jì)算所第四分?jǐn)?shù)的分子和分母的最大公因子,所述第四分?jǐn)?shù)的分子 和分母分別都除以所述最大公因子,得到所述NF/NR的比值。與現(xiàn)有技術(shù)相比較,本發(fā)明手持設(shè)備功耗管理方法動(dòng)態(tài)地設(shè)定工作頻率,合理地 調(diào)整手持設(shè)備在執(zhí)行較多功能和較少功能時(shí)的工作頻率,使得手持設(shè)備執(zhí)行較少功能時(shí)功 耗較少。在結(jié)合附圖閱讀本發(fā)明實(shí)施方式的詳細(xì)描述后,本發(fā)明的特點(diǎn)和優(yōu)點(diǎn)將變得更加清楚。
圖1是本發(fā)明手持設(shè)備功耗管理方法流程示意圖;圖2是本發(fā)明手持設(shè)備功耗管理方法使用的PLL電路示意圖;圖3是本發(fā)明手持設(shè)備功耗管理方法使用的求最接近分?jǐn)?shù)逼近算法流程圖示意圖;圖4是本發(fā)明三種逼近方法結(jié)果對(duì)比圖。
具體實(shí)施例方式下面結(jié)合附圖對(duì)本發(fā)明手持設(shè)備功耗管理方法進(jìn)行說明。請(qǐng)參閱圖1,其是本發(fā)明手持設(shè)備功耗管理方法流程示意圖。本發(fā)明手持設(shè)備功耗管理方法,包括以下步驟步驟Si、計(jì)算手持設(shè)備運(yùn)行當(dāng)前的功能所需的工作頻率;在上述步驟Sl中,首先需要統(tǒng)計(jì)功能的各任務(wù)的cycle數(shù)。cycle數(shù)為模擬環(huán)境 統(tǒng)計(jì)的靜態(tài)cycle數(shù)或用戶多次運(yùn)行任務(wù)或函數(shù)獲得的動(dòng)態(tài)cycle數(shù)。然后,制定一個(gè)任 務(wù)與cycle數(shù)對(duì)應(yīng)的關(guān)系表。根據(jù)該關(guān)系表,計(jì)算當(dāng)前功能運(yùn)行所需的工作頻率。關(guān)系表 的確定有兩種實(shí)現(xiàn)方案,包括靜態(tài)方案和動(dòng)態(tài)方案,如下所述1、靜態(tài)方案在手持設(shè)備的嵌入式開發(fā)環(huán)境中,都會(huì)有模擬環(huán)境,用來統(tǒng)計(jì)任務(wù)或函數(shù)的cycle 數(shù)。在相同的初始條件下,每一個(gè)任務(wù)或者函數(shù)運(yùn)行的cycle數(shù),都是確定的。不同的初始 條件,cycle數(shù)會(huì)有所不同。設(shè)定幾種不同的初始條件,統(tǒng)計(jì)在不同的初始條件下,任務(wù)的 cycle數(shù),再根據(jù)預(yù)先設(shè)定的原則,比如選擇每個(gè)任務(wù)或函數(shù)最大的cycle數(shù),確定為該任 務(wù)或函數(shù)的cycle數(shù)。也可以選擇每個(gè)任務(wù)或函數(shù)平均的cycle數(shù),確定為該任務(wù)或函數(shù) 的cycle數(shù)。然后,制定任務(wù)與cycle數(shù)對(duì)應(yīng)的關(guān)系表,將確定的任務(wù)的cycle數(shù)與該任務(wù) 對(duì)應(yīng)起來,如下所示關(guān)系表 2、動(dòng)態(tài)方案
運(yùn)行一任務(wù)或函數(shù),啟動(dòng)預(yù)先在手持設(shè)備中增加的動(dòng)態(tài)統(tǒng)計(jì)模塊,計(jì)算運(yùn)行該任 務(wù)或函數(shù)的時(shí)間、系統(tǒng)idle時(shí)間,以及該任務(wù)或函數(shù)使用的cycle數(shù)。并且,經(jīng)過一段時(shí)間, 通過該任務(wù)或函數(shù)的多次運(yùn)行,分別統(tǒng)計(jì)各次運(yùn)行時(shí)該任務(wù)或函數(shù)的cycle數(shù),根據(jù)預(yù)先 設(shè)定的原則,比如選擇每個(gè)任務(wù)或函數(shù)最大的cycle數(shù),確定為該任務(wù)或函數(shù)的cycle數(shù)。 也可以選擇每個(gè)任務(wù)或函數(shù)平均的cycle數(shù),確定為該任務(wù)或函數(shù)的cycle數(shù)。再用該確定 的任務(wù)或函數(shù)的cycle數(shù),修訂靜態(tài)方案制定的關(guān)系表,使正常運(yùn)行該任務(wù)或函數(shù)的時(shí)候, 利用動(dòng)態(tài)方案修訂后的關(guān)系表。手持設(shè)備提供的功能比較多,但在使用手持設(shè)備的同一時(shí)間,通常很少使用全部 功,一般只會(huì)使用某種功能,或者某幾種功能的組合。而每個(gè)功能又是由系統(tǒng)中的一些任務(wù) 組合完成。例如,要完成功能F,需要調(diào)用T1,T2,......Tm等任務(wù),則 其中,F(xiàn)cycle表示功能F運(yùn)行所有調(diào)用的任務(wù)的cycle數(shù)總和。然后,根據(jù)完成功能F需要的時(shí)間周期T,計(jì)算出當(dāng)前運(yùn)行的功能的頻率。并將該 當(dāng)前運(yùn)行的功能的頻率設(shè)定為工作頻率。通過公式表示如下Freq = Fcycle/T其中,該時(shí)間周期T對(duì)應(yīng)功能F,比如手機(jī)的無線幀周期T對(duì)應(yīng)手機(jī)收發(fā)信號(hào)的功 能,視頻幀周期T對(duì)應(yīng)視頻播放的功能,通話的語音周期T對(duì)應(yīng)手機(jī)通話功能。另外,當(dāng)手持設(shè)備完成的功能不止一個(gè)時(shí),將運(yùn)行的功能頻率相加,即得到系統(tǒng)需 要運(yùn)行的工作頻率。步驟S2、通過設(shè)定手持設(shè)備的系統(tǒng)時(shí)鐘,得到所需的工作頻率。系統(tǒng)時(shí)鐘的輸出頻 率只要大于等于所需工作頻率即可。在上述步驟S2中,時(shí)鐘系統(tǒng)的設(shè)計(jì),使用PLL,用于頻率的鎖定和設(shè)置。一個(gè)或多 個(gè)PLL加上分頻器和時(shí)鐘選擇器,構(gòu)成時(shí)鐘系統(tǒng)。其中,PLL是時(shí)鐘的源頭,系統(tǒng)的時(shí)鐘配 置和選擇,關(guān)鍵在于PLL的配置。請(qǐng)參閱圖2,其是本發(fā)明手持設(shè)備功耗管理方法使用的PLL電路示意圖。附圖所 示PLL電路只是一個(gè)例子,當(dāng)然所需工作頻率Fout的計(jì)算并不依賴于電路的構(gòu)成,如果變 換PLL電路,其中的計(jì)算公式不會(huì)發(fā)生變化。只是每個(gè)電路的位寬即NF,NR會(huì)有所不同。在該P(yáng)LL 中,F(xiàn)ref = Fin/NR, Fvco = Fref · NF, Fout = Fvco/ΝΟ,整理可得 其中,NR= R[4:0]+l, NF = F[5:0]+l, NO = 2od[1:0], OD[1:0]表示輸出時(shí)鐘分頻 指數(shù),R[4:0]表示參考時(shí)鐘輸入分頻系數(shù),F(xiàn)[5:0]表示反饋時(shí)鐘分頻系數(shù),F(xiàn)in為定值。為了使得Fout = Freq,需要確定參數(shù)輸入分頻參數(shù)NR、反饋參數(shù)NF和輸出分頻 參數(shù)N0,有如下兩種方案第一種方案預(yù)先設(shè)置一查找表,在所述查找表中配置系統(tǒng)時(shí)鐘各個(gè)參數(shù)及其對(duì)應(yīng)的系統(tǒng)工作 頻率,即參數(shù)NR、NF和NO與Fout的對(duì)應(yīng)關(guān)系。在查找表中,查找Fout = Freq對(duì)應(yīng)的參數(shù)NR、NF和N0,或者查找與Freq最接近的Fout對(duì)應(yīng)的參數(shù)NR、NF和N0,用查找到的參數(shù) NR、NF和NO來配置所述手持設(shè)備。此時(shí),手持設(shè)備的系統(tǒng)工作時(shí),其工作頻率為Freq或者 接近Freq0
第二種方案根據(jù)NO = 2°dU:°」,可知NO有四個(gè)值。通過下列步驟,確定參數(shù)NR、NF和NO 步驟1、選擇一個(gè)NO值;步驟2、近似算出NF/NR的比值;
NF步驟3、根據(jù)Fout 二Fin· m、…,計(jì)算得到 Fout (NO),F(xiàn)out (NO)表示 Fout 為步
NR*NO
驟1選擇一個(gè)NO值時(shí)的取值,并判斷Fout (NO)與Freq是否相等,若是,則結(jié)束計(jì)算,將該 Fout (NO)對(duì)應(yīng)的No、NF和NR值來配置所述手持設(shè)備;否則,執(zhí)行步驟4 ;步驟4、判斷是否有未選擇的NO值,若是,執(zhí)行步驟1 ;否則,執(zhí)行步驟5 ;步驟5、在所有計(jì)算得到的Fout (NO)中,找出與Freq最接近的值,并將該最接近 Freq的值對(duì)應(yīng)的No、NF和NR值來配置所述手持設(shè)備。
NF在上述步驟2中,根據(jù)Fout = Fin·,整理得到
NR*NO
NF Fout · No
NR Fin可以令NF = Fout · NO, NR = Fin, Fout = Freq0 但 Fout 和 Fin 都是數(shù)十兆數(shù)量 級(jí),在位數(shù)存儲(chǔ)方面,需要30位的頻率表示位才能完全表示。但是上述PLL能夠給出的頻 率表示位NF有7位,所能表示的范圍是O 28-1,NR有5位,所能表示的范圍是O 26_1, 不能滿足頻率表示要求。因此,給出以下三種逼近方法來解決該問題,如下所述第一種方法直接截位處理,截位到可以表達(dá)的位數(shù)。即對(duì)NF/NR的分子和分母都除以2的η 次方,再取整得到在限定的范圍的NF'和NR'。其中,η的取值在于使得NF'和NR'在限 定的范圍內(nèi)即可。截位的舉例對(duì)于十進(jìn)制數(shù)據(jù)27,用二進(jìn)制表示,需要5位表示,S卩11011 ;截位為4位表示,為1101 ;再轉(zhuǎn)換回十進(jìn)制,為13;由于已知截位數(shù)為1,在處理 時(shí),會(huì)被當(dāng)成是數(shù)量13*2,即26 ;產(chǎn)生的誤差為1 ;這就是截位誤差;截位為3位表示,為110 ;換回十進(jìn)制,為6 ;已知截位2位,原數(shù)據(jù)會(huì)被當(dāng)成是6*4, 即24,截位誤差為3;截位為2位表示,為11 ;換回十進(jìn)制,為2 ;已知截位3位,原數(shù)據(jù)會(huì)被當(dāng)成是3*8, 即24;截位誤差為3??梢?,截位可能產(chǎn)生誤差,也可能不產(chǎn)生誤差;其實(shí)質(zhì)是被處理數(shù)據(jù)除以2的η次 方,然后取整。第二種方法對(duì):=^^等號(hào)右側(cè)的FOfNO進(jìn)行化簡(jiǎn)。用歐幾里德算法方法求分子
NR FinFin
8Fout ·Νο和分母Fin的最大公因子,分子和分母分別都除以最大公因子,來化簡(jiǎn)分?jǐn)?shù)。判斷 化簡(jiǎn)結(jié)果是否在限定的范圍內(nèi),若是,則已算出NF、NR值,否則,再進(jìn)行截位處理,如上述第 一種方法所述。舉例如果我們?cè)试S的取值范圍為3bit ;
Fout · No假如^為320/240,最大公因子為80,分子分母同除以最大公因子80,分?jǐn)?shù)
Fin
化簡(jiǎn)為4/3,在3bit可表示的范圍內(nèi),則取NF = 4,NR = 3 ;處理結(jié)束。 Fout · No假如"為320/230,最大公因子為10,分子分母同除以最大公因子10,分?jǐn)?shù)
Fin
化簡(jiǎn)為32/23,不在3bit可表示的范圍內(nèi),進(jìn)行截位處理;見上述第一種方法,最終會(huì)得到 NF = 2,NR = 1。第三種方法不管是第一種方法,還是第二種方法,其誤差的來源都是緣于量化誤差。在我們的 常識(shí)中,量化誤差是不能消除的。但是基于分?jǐn)?shù)的特點(diǎn),量化誤差雖然不能消除,但是可以 減小。例如,一個(gè)數(shù)字比7/8小,但是比6/8大,在限定分子分母位寬不超過4bit的情況 下,是不是只能在這兩個(gè)數(shù)之間選擇呢,顯然不是,還有6/7,5/6,4/5在這兩個(gè)數(shù)之間可作 選擇;而這三個(gè)數(shù)中可能有一個(gè)離真正需要表示的數(shù)更接近?;谶@樣的原理,在上述第二 種方法的分?jǐn)?shù)化簡(jiǎn)得過程中,完全按照嚴(yán)格的數(shù)學(xué)方法,不會(huì)產(chǎn)生誤差,誤差是從截位產(chǎn)生 的,因此我們對(duì)截位進(jìn)行一下改進(jìn)。假設(shè)有一確定的分?jǐn)?shù)a/b,需要在限定的位寬之內(nèi)找到 最接近的c/d。首先對(duì)a、b進(jìn)行求最大公因子,分別除以最大公因子。若仍然不能在限定的 范圍內(nèi)表示,則對(duì)a、b進(jìn)行截位處理,相對(duì)應(yīng)地得到在限定的范圍的c、d。對(duì)c/d分子和分 母進(jìn)行或加1或減1的偏移,與a/b比較,經(jīng)過幾輪的計(jì)算,得到兩個(gè)分?jǐn)?shù),使得理論值a/b 在這兩個(gè)分?jǐn)?shù)之間,其中,這兩個(gè)分?jǐn)?shù)為c/d、(c+l)/(d+l)、c/(d+l)、(c+l)/d、(c-l)/d、c/ (d-1)、(c-1)/(d-1)中兩個(gè)。我們需要找的最接近的參數(shù),必然是這兩組參數(shù)之一。兩組 參數(shù)中,離理論值a/b更近的一組,作為配置參數(shù)NF、NR。請(qǐng)參閱圖3,其是本發(fā)明手持設(shè)備功耗管理方法使用的求最接近分?jǐn)?shù)逼近算法流 程圖示意圖。
NF Fout · No根據(jù)Gf= —~-——,令 a = NF = Fout · NO,b = NR = Fin。對(duì)于 a/b 需要在限 NR Fm
定的位寬之內(nèi)找到最接近的c/d。首先,對(duì)a、b采用求歐幾里算法進(jìn)行求最大公因子,分別除以最大公因子。若仍然 不能在限定的范圍內(nèi)表示,則對(duì)a、b進(jìn)行截位處理,相對(duì)應(yīng)地得到在限定的范圍的c、d。其次,判斷a/b與c/d的大小。如果a/b大于c/d,執(zhí)行右支路,對(duì)c/d分子和分 母進(jìn)行或加1或減1的偏移,得到(c+l)/d,c/(d-l)、(c+l)/(d+l)。根據(jù)c、d的值,判定 (c+1) /d, c/ (d-1)、(c+1) / (d+1)哪個(gè)值離a/b最近,從這三個(gè)分?jǐn)?shù)中,選擇最接近a/b的分 數(shù),并用于修正c/d,且將修正后的c、d保存,并記錄為Cr、dr。再判斷是否已經(jīng)從左支路運(yùn) 行過,若沒有,再執(zhí)行判斷a/b與c/d的大小,此時(shí)c/d為修正后的值。同理,如果a/b不大于c/d,執(zhí)行左支路,處理流程與上述a/b大于c/d,執(zhí)行右支 路的處理流程類似。
接著,在執(zhí)行完左支路和右支路后,選擇cl/dl與cr/dr中,離a/b值最近的值,并 用該值賦值c/d且代替a/b。然后,仍采用求歐幾里算法求得最大公因子的方式對(duì)c/d進(jìn)行 化簡(jiǎn)?;?jiǎn)之后的結(jié)果即為上述第二種方案中步驟2所需的結(jié)果。請(qǐng)參閱圖4,其本發(fā)明三種逼近方法結(jié)果對(duì)比圖。在上述圖4中,第一種方法對(duì)應(yīng)直接截位頻率配置頻率值,第二方法對(duì)應(yīng)先公約 再截位處理頻率值,第三種方法對(duì)應(yīng)改進(jìn)算法后的頻率配置,縱坐標(biāo)表示頻率值。由圖可 知,這三種方法,都實(shí)現(xiàn)了接近理論值的效果,并且,第三種方法分別優(yōu)于第一種方法和第 二種方法。與現(xiàn)有技術(shù)相比較,本發(fā)明手持設(shè)備功耗管理方法將當(dāng)前運(yùn)行的功能的頻率設(shè)定 為工作頻率,再根據(jù)該工作頻率,設(shè)定手持設(shè)備的系統(tǒng)時(shí)鐘,動(dòng)態(tài)地設(shè)定工作頻率,合理地 調(diào)整手持設(shè)備在執(zhí)行較多功能和較少功能時(shí)的工作頻率,使得手持設(shè)備執(zhí)行較少功能時(shí)功 耗較少。以上僅為本發(fā)明的優(yōu)選實(shí)施案例而已,并不用于限制本發(fā)明,對(duì)于本領(lǐng)域的技術(shù) 人員來說,本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修 改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
10
權(quán)利要求
一種手持設(shè)備功耗管理方法,其特征在于,包括以下步驟計(jì)算手持設(shè)備運(yùn)行當(dāng)前的功能所需的工作頻率;根據(jù)所述工作頻率,設(shè)定所述手持設(shè)備的系統(tǒng)時(shí)鐘。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述計(jì)算手持設(shè)備運(yùn)行當(dāng)前的功能所需 的工作頻率,包括根據(jù)處理器運(yùn)行當(dāng)前功能所有調(diào)用的各個(gè)任務(wù)或函數(shù)所花時(shí)鐘的數(shù)量 cycle數(shù),計(jì)算所需的工作頻率。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述計(jì)算所需的工作頻率包括將運(yùn)行當(dāng) 前功能所有調(diào)用的各個(gè)任務(wù)的cycle數(shù)總和除以所述功能的周期,得到的值為所述功能的 工作頻率。
4.根據(jù)權(quán)利要求2或3所述的方法,其特征在于,還包括所述cycle數(shù)為模擬環(huán)境統(tǒng) 計(jì)的靜態(tài)cycle數(shù)或用戶多次運(yùn)行任務(wù)或函數(shù)獲得的動(dòng)態(tài)cycle數(shù)。
5.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述設(shè)定所述手持設(shè)備的系統(tǒng)時(shí)鐘,指 所設(shè)定系統(tǒng)時(shí)鐘的輸出頻率大于或等于所述工作頻率。
6.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述根據(jù)所述工作頻率,設(shè)定所述手持設(shè) 備的系統(tǒng)時(shí)鐘,包括 步驟一、根據(jù);=^,選擇一個(gè)NO值,其中NR為輸入分頻參數(shù)、NF為反饋參 NR Fin數(shù),NO為輸出分頻參數(shù),F(xiàn)in為輸入頻率,F(xiàn)out為系統(tǒng)時(shí)鐘的輸出頻率;步驟二、估計(jì)NF/NR的比值;步驟三、判斷計(jì)算得到的所述輸出頻率是否等于所述工作頻率,若是,將所述輸出頻率 對(duì)應(yīng)的No、NF和NR值來配置所述手持設(shè)備;否則,執(zhí)行步驟一,直至NO值被選擇完,在NO 值被選擇完時(shí),找出與所述工作頻率最接近的所述輸出頻率,并將所述最接近的所述輸出 頻率對(duì)應(yīng)的NO、NF和NR值來配置所述手持設(shè)備。
7.根據(jù)權(quán)利要求6所述的方法,其特征在于,所述步驟二,包括對(duì)所述Fout NO和Fin分別減少相同的位數(shù),再取整,使得所述Fout NO和Fin的位 數(shù)符合所述手持設(shè)備的頻率表示位的位數(shù)。
8.根據(jù)權(quán)利要求6所述的方法,其特征在于,所述步驟二,包括計(jì)算所述Fout NO和Fin的最大公因子,所述Fout NO和Fin分別都除以所述最大 公因子;在所述Fout -NO和Fin分別都除以所述最大公因子后,得到的兩個(gè)商值的位數(shù)不符合 所述手持設(shè)備的頻率表示位的位數(shù)時(shí),對(duì)所述兩個(gè)商值分別減少相同的位數(shù),再取整,直至 符合所述手持設(shè)備的頻率表示位的位數(shù),所述兩個(gè)商值的比值,定義為第一分?jǐn)?shù)。
9.根據(jù)權(quán)利要求8所述的方法,其特征在于,所述對(duì)所述兩個(gè)商值分別減少相同的位 數(shù),直至符合所述手持設(shè)備的頻率表示位的位數(shù)之后,還包括步驟a、判斷所述第一分?jǐn)?shù)是否小于所述Fout -NO和Fin的比值,若是,執(zhí)行步驟b,否 則,執(zhí)行步驟c;步驟b、對(duì)所述第一分?jǐn)?shù)的分子和分母分別加一或減一,得到大于所述第一分?jǐn)?shù)的三個(gè) 分?jǐn)?shù),從中選擇最接近所述Fout -NO和Fin的比值的分?jǐn)?shù),定義為第二分?jǐn)?shù),并將所述第一 分?jǐn)?shù)用所述第二分?jǐn)?shù)替換,判斷是否執(zhí)行過步驟c,若是,執(zhí)行步驟d,否則,執(zhí)行步驟a ;步驟c、對(duì)所述第一分?jǐn)?shù)的分子和分母分別加一或減一,得到小于所述第一分?jǐn)?shù)的三個(gè) 分?jǐn)?shù),從中選擇最接近所述Fout -NO和Fin的比值的分?jǐn)?shù),定義為第三分?jǐn)?shù),并將所述第一 分?jǐn)?shù)用所述第三分?jǐn)?shù)替換,判斷是否執(zhí)行過步驟b,若是,執(zhí)行步驟d,否則,執(zhí)行步驟a ;步驟d、從所述第二分?jǐn)?shù)和第三分?jǐn)?shù)中,選擇最接近所述Fout NO和Fin的比值的分 數(shù),定義為第四分?jǐn)?shù),計(jì)算所第四分?jǐn)?shù)的分子和分母的最大公因子,所述第四分?jǐn)?shù)的分子和 分母分別都除以所述最大公因子,得到所述NF/NR的比值。
全文摘要
一種手持設(shè)備功耗管理方法,計(jì)算手持設(shè)備運(yùn)行當(dāng)前的功能所需的工作頻率;根據(jù)所述工作頻率,設(shè)定所述手持設(shè)備的系統(tǒng)時(shí)鐘。本發(fā)明手持設(shè)備功耗管理方法動(dòng)態(tài)地設(shè)定工作頻率,合理地調(diào)整手持設(shè)備在執(zhí)行較多功能和較少功能時(shí)的工作頻率,使得手持設(shè)備執(zhí)行較少功能時(shí)功耗較少。
文檔編號(hào)G06F1/32GK101893927SQ200910107519
公開日2010年11月24日 申請(qǐng)日期2009年5月22日 優(yōu)先權(quán)日2009年5月22日
發(fā)明者龔尤崗 申請(qǐng)人:中興通訊股份有限公司