專(zhuān)利名稱(chēng):降低便攜式設(shè)備功耗的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及電數(shù)字?jǐn)?shù)據(jù)處理,特別是涉及移動(dòng)用戶(hù)設(shè)備的節(jié)能方法。
背景技術(shù):
便攜式設(shè)備是手持式電子產(chǎn)品的概稱(chēng),通常由中央處理器(CPU)、存儲(chǔ)設(shè)備、顯示設(shè)備(液晶屏)、電源設(shè)備(電池組)、輸入設(shè)備(鍵盤(pán),遙控組件)和嵌入式處理軟件等部分組成,通過(guò)嵌入式軟件管理各硬件設(shè)備的工作,為用戶(hù)提供特定的功能。最常見(jiàn)的如移動(dòng)電話(huà)、PDA、MP3、GAME BOY、PMP等。常見(jiàn)的存儲(chǔ)設(shè)備如DRAM和SDRAM簡(jiǎn)述如下(1)DRAMDynamic Random-Access Memory,即動(dòng)態(tài)隨機(jī)存儲(chǔ)器,最為常見(jiàn)的系統(tǒng)內(nèi)存。DRAM只能將數(shù)據(jù)保持很短的時(shí)間。為了保持?jǐn)?shù)據(jù),DRAM必須隔一段時(shí)間刷新(refresh)一次。如果存儲(chǔ)單元沒(méi)有被刷新,數(shù)據(jù)就會(huì)丟失。
(2)SDRAMSynchronous Dynamic Random-Access Memory(同步動(dòng)態(tài)隨機(jī)存儲(chǔ)器),是DRAM的替代品。SDRAM將內(nèi)存存取與CPU時(shí)鐘同步,加快了數(shù)據(jù)傳輸速度。SDRAM還允許在存取某一內(nèi)存模塊時(shí)讓另一個(gè)模塊作存取準(zhǔn)備,這同樣加快了數(shù)據(jù)傳輸速度。與DRAM不同,SDRAM使用電流而非存儲(chǔ)電荷,因此無(wú)需持續(xù)刷新。
隨著電子技術(shù)的飛速發(fā)展,便攜式設(shè)備日益普及,由于便攜式設(shè)備通常采用電池供電,其功耗大小直接關(guān)系到產(chǎn)品的易用性。目前便攜式設(shè)備通常采用SDRAM作為內(nèi)存,其工作電流在100mA左右,而對(duì)于CPU來(lái)說(shuō)其工作電流通常在100mA以上,這兩部分占便攜式設(shè)備電源消耗的絕大部分。因而,降低便攜式設(shè)備功耗的方法,主要是降低CPU和內(nèi)存的功耗。對(duì)于大部分外設(shè),如硬盤(pán),LCD,音頻解碼器等設(shè)備,在其不工作的時(shí)候通??梢詫⑦@些設(shè)備的電源關(guān)閉或置為STANDBY/SLEEP(待機(jī)/睡眠)狀態(tài)以達(dá)到減小功耗的目的。但對(duì)于CPU來(lái)說(shuō),一旦關(guān)閉電源或置為STANDBY/SLEEP狀態(tài)則系統(tǒng)將無(wú)法正常運(yùn)行。對(duì)于內(nèi)存SDRAM來(lái)說(shuō),由于所有的軟件程序指令和數(shù)據(jù)都存放在SDRAM上運(yùn)行,如果將SDRAM電源關(guān)閉或置為STANDBY/SLEEP狀態(tài),則軟件將丟失所有的運(yùn)行指令和數(shù)據(jù),系統(tǒng)也無(wú)法正常運(yùn)行。
發(fā)明內(nèi)容
本發(fā)明要解決的技術(shù)問(wèn)題在于避免上述現(xiàn)有技術(shù)的不足之處而提出一種降低便攜式設(shè)備功耗的方法,采用該方法,可令便攜式設(shè)備節(jié)省用電,在同樣電池容量的條件下,便攜式設(shè)備運(yùn)行時(shí)間延長(zhǎng),方便用戶(hù)。
本發(fā)明解決所述技術(shù)問(wèn)題可以通過(guò)采用以下技術(shù)方案來(lái)實(shí)現(xiàn)提出一種降低便攜式設(shè)備功耗的方法,包括以下步驟,①分析便攜式設(shè)備中的軟件,凡須頻繁調(diào)用、且滿(mǎn)足放入CPU片內(nèi)高速緩沖存儲(chǔ)器cache運(yùn)行條件的代碼作為可放入所述高速緩沖存儲(chǔ)器空間運(yùn)行的備選代碼;②對(duì)于所述備選代碼,在函數(shù)入口處,增加將SDRAM置為自刷新?tīng)顟B(tài)的處理代碼,在函數(shù)出口處,增加將SDRAM置為正常工作狀態(tài)的處理代碼;③將需要在所述高速緩沖存儲(chǔ)器內(nèi)運(yùn)行的備選代碼存儲(chǔ)位置設(shè)為所述高速緩沖存儲(chǔ)器的存儲(chǔ)空間地址;④增加將便攜式設(shè)備系統(tǒng)的運(yùn)行代碼按照其存儲(chǔ)空間分別復(fù)制到SDRAM和所述高速緩沖存儲(chǔ)器的正確位置的處理代碼。
將一部分程序指令和數(shù)據(jù)加載到CPU片內(nèi)高速緩沖存儲(chǔ)器內(nèi)運(yùn)行,對(duì)于訪問(wèn)所述高速緩沖存儲(chǔ)器上的代碼和數(shù)據(jù),CPU的工作電流基本不變,且同時(shí)具備更短的指令/數(shù)據(jù)存取周期,其軟件運(yùn)行速度更快。與現(xiàn)有技術(shù)相比較,本發(fā)明具有以下技術(shù)效果1、降低了便攜式設(shè)備的運(yùn)行功耗;2、在降低功耗的同時(shí)提高了系統(tǒng)的運(yùn)行速度。
具體實(shí)施例方式
以下結(jié)合附圖
所示之最佳實(shí)施例作進(jìn)一步詳述。
本發(fā)明降低便攜式設(shè)備功耗的方法,包括以下步驟,①分析便攜式設(shè)備中的軟件中頻繁調(diào)用、且滿(mǎn)足放入CPU片內(nèi)高速緩沖存儲(chǔ)器內(nèi)運(yùn)行條件的代碼作為可放入所述高速緩沖存儲(chǔ)器內(nèi)運(yùn)行的備選代碼。所述放入CPU片內(nèi)高速緩沖存儲(chǔ)器內(nèi)運(yùn)行條件包括代碼長(zhǎng)度小于所述高速緩沖存儲(chǔ)器的可用空間,和在執(zhí)行該代碼的周期內(nèi)關(guān)閉系統(tǒng)中斷不會(huì)引起系統(tǒng)故障或系統(tǒng)反應(yīng)慢等情況。所述高速緩沖存儲(chǔ)器采用靜態(tài)隨機(jī)存儲(chǔ)器SRAM,Static Random-Access Memory,即靜態(tài)隨機(jī)存儲(chǔ)器,SRAM由邏輯晶體管組成,數(shù)據(jù)采用觸發(fā)的方式進(jìn)行存儲(chǔ),因此改變和讀取內(nèi)存單元格的速度非???。在眾多的內(nèi)式中,由于SRAM的訪問(wèn)速度最快,通常為SDRAM的10倍左右,與CPU的速度最為接近,因此許多CPU內(nèi)部都采用SRAM作為高速緩沖存儲(chǔ)器(CACHE)使用。
②對(duì)于將在SRAM內(nèi)運(yùn)行的所述備選代碼,在函數(shù)入口處,增加將SDRAM置為自刷新?tīng)顟B(tài)的處理代碼,在函數(shù)出口處,增加將SDRAM置為正常工作狀態(tài)的處理代碼。SDRAM刷新操作分為兩種自動(dòng)刷新(Auto Refresh,簡(jiǎn)稱(chēng)AR)與自刷新(Self Refresh,簡(jiǎn)稱(chēng)SR)。不論是何種刷新方式,都不需要外部地址信息,因?yàn)檫@是一個(gè)內(nèi)部的自動(dòng)操作。通過(guò)特殊的命令可以將SDRAM置為自刷新模式,其設(shè)置方法參考各SDRAM的操作手冊(cè)。在自刷新模式下,SDRAM的內(nèi)容不丟失。選用K4S560832H-T(U)L型號(hào)的SDRAM,在0-70℃的環(huán)境溫度條件下,其工作電流為100mA,在自刷新模式下的電流為1.5mA。
系統(tǒng)運(yùn)行時(shí),若下一條指令代碼存放于SDRAM上,這時(shí)若關(guān)閉SDRAM電源或?qū)DRAM置為STANDBY/SLEEP狀態(tài),系統(tǒng)將無(wú)法取得下一條指令,則系統(tǒng)發(fā)生異常。若下一條指令代碼存放于SRAM上,此時(shí)若關(guān)閉SDRAM電源或?qū)DRAM置為STANDBY/SLEEP狀態(tài),系統(tǒng)可以短暫正常運(yùn)行,但一旦系統(tǒng)需要再次訪問(wèn)SDRAM的數(shù)據(jù)時(shí),其數(shù)據(jù)由于斷電/STANDBY/SLEEP的過(guò)程已經(jīng)完全丟失,系統(tǒng)仍將無(wú)法正常運(yùn)行。但若下一條指令代碼存放于SRAM上,切換到SRAM執(zhí)行后若將SDRAM置為Self-refresh狀態(tài),則返回SDRAM運(yùn)行后SDRAM的數(shù)據(jù)不會(huì)丟失,系統(tǒng)可以正常運(yùn)行。
對(duì)于嵌入式設(shè)備,通常都安裝有一定的操作系統(tǒng),操作系統(tǒng)調(diào)度時(shí)中斷產(chǎn)生會(huì)引起中斷服務(wù)程序的強(qiáng)制執(zhí)行。若中斷服務(wù)程序的指令或數(shù)據(jù)存放在SDRAM中,那么切換到SRAM運(yùn)行的同時(shí)中斷到達(dá),CPU嘗試訪問(wèn)SDRAM的數(shù)據(jù),而這時(shí)SDRAM仍然處于自刷新?tīng)顟B(tài),SDRAM不接受除CKE(CLOCK ENABLE)時(shí)鐘使能信號(hào)以外的任何信號(hào),CPU將無(wú)法得到SDRAM中的數(shù)據(jù)。此時(shí),系統(tǒng)也將異常。解決方法為程序在SRAM運(yùn)行時(shí)關(guān)閉中斷以保證SRAM對(duì)CPU的獨(dú)占。因而,對(duì)于所述備選代碼,在函數(shù)入口處,同時(shí)增加關(guān)閉系統(tǒng)中斷處理代碼,在函數(shù)出口處,同時(shí)增加打開(kāi)系統(tǒng)中斷處理代碼。
③通過(guò)編譯預(yù)處理方法,將需要在所述高速緩沖存儲(chǔ)器SRAM內(nèi)運(yùn)行的備選代碼存儲(chǔ)位置設(shè)為SRAM的存儲(chǔ)空間地址。
計(jì)算機(jī)系統(tǒng)訪問(wèn)存儲(chǔ)設(shè)備的基本原理如下對(duì)于計(jì)算機(jī)系統(tǒng)來(lái)講,外圍設(shè)備尤其是存儲(chǔ)設(shè)備的訪問(wèn)都是通過(guò)總線(xiàn)及片選(CS)來(lái)訪問(wèn)的。CPU將其內(nèi)部的片選(CS)信號(hào)指定為不同的地址空間,通常若CS信號(hào)為1,則CS管腳的物理電平為高電平,若CS信號(hào)為0,則CS管腳的物理電平為低電平。同時(shí),地址總線(xiàn)的數(shù)據(jù)決定了地址總線(xiàn)的電平特性,通常若某單根地址線(xiàn)的數(shù)據(jù)為1則其地址線(xiàn)上的物理電平為高電平,若數(shù)據(jù)為0則其地址線(xiàn)上的物理電平為低電平。若存儲(chǔ)設(shè)備的使能信號(hào)與CS或地址線(xiàn)的某一根相連接,當(dāng)CS信號(hào)為1或地址線(xiàn)上的數(shù)據(jù)為1時(shí),則存儲(chǔ)設(shè)備的使能管腳為高電平,當(dāng)CS信號(hào)為0或地址線(xiàn)上的數(shù)據(jù)為0時(shí),則存儲(chǔ)設(shè)備的使能管腳為低電平。使能管腳為高電平時(shí)則存儲(chǔ)設(shè)備能正常工作,使能管腳為低電平時(shí)則存儲(chǔ)設(shè)備不能正常工作。以上描述都是針對(duì)正邏輯描述。這樣,CPU通過(guò)對(duì)CS或地址總線(xiàn)的改變則可以選通或禁止某個(gè)存儲(chǔ)設(shè)備,在軟件上則表現(xiàn)為不同的地址可以使存儲(chǔ)設(shè)備工作,其他的地址無(wú)法使存儲(chǔ)設(shè)備工作,因此對(duì)于某些特定的地址空間則成為存儲(chǔ)設(shè)備的專(zhuān)有訪問(wèn)空間,用戶(hù)只能通過(guò)訪問(wèn)這些特定的地址才能訪問(wèn)存儲(chǔ)設(shè)備。
對(duì)于便攜式設(shè)備,其編程語(yǔ)言大多數(shù)為匯編語(yǔ)言或C/C++語(yǔ)言。對(duì)于這些語(yǔ)言的編譯器都提供一些預(yù)處理方法來(lái)指定將某段代碼或數(shù)據(jù)存放到指定的地址空間,如#pargmacode_seg等編譯預(yù)處理指令。這些指令和方法對(duì)于不同的處理器和編譯器有不同的表達(dá)方式,使用時(shí)參考該處理器和編譯器的參考手冊(cè)。所以,編譯預(yù)處理能提供一種將某段代碼或數(shù)據(jù)存放到指定的地址空間的方法。
④通過(guò)修改系統(tǒng)引導(dǎo)代碼(BootLoader)程序,增加將便攜式設(shè)備系統(tǒng)的運(yùn)行代碼按照其存儲(chǔ)空間分別復(fù)制到SDRAM和SDRAM的正確位置的處理代碼。系統(tǒng)引導(dǎo)代碼BootLoader,CPU初始運(yùn)行時(shí)代碼,通常存放在FLASH或ROM上。CPU啟動(dòng)時(shí),通常會(huì)到特定的設(shè)備中開(kāi)始取指令運(yùn)行。由于FLASH和ROM的局限性,通常系統(tǒng)引導(dǎo)代碼,都將FLASH和ROM中的代碼復(fù)制到SDRAM上運(yùn)行。因此,這個(gè)步驟是將代碼分別存儲(chǔ)在不同的存儲(chǔ)設(shè)備上的必備過(guò)程。
例如對(duì)于一款MP3播放器,其CPU為100MHZ左右,工作電壓1.8V,工作電流100mA;片內(nèi)SRAM大小為96Kbytes;其SDRAM采用K4S560832H-T(U)L,工作電流按100mA計(jì)算,工作電壓3.3V;其他外設(shè)如音頻DAC芯片其工作電壓3.3V,工作電流20mA。
對(duì)于MP3的解碼程序,優(yōu)化后其代碼大小及數(shù)據(jù)存儲(chǔ)空間供56KBytes左右,根據(jù)不同的MP3文件格式,其解碼和輸出占用時(shí)間的比例約為1∶8;輸出代碼由于有其他外設(shè)需要訪問(wèn),同時(shí)必須開(kāi)啟中斷需要使用SDRAM,無(wú)法放入到SRAM中運(yùn)行。
在不利用本發(fā)明方法的情況下,其平均功耗為(1.8*100)+(100*3.3)+(3.3*20)=576mW。在使用本發(fā)明所描述的方法情況下,其平均功耗為(1.8*100)+(1.5*3.3/8)+(100*3.3*7/8)+3.3*20=535mW。將兩者對(duì)比可以發(fā)現(xiàn),功耗降低了41mW左右,約降低了7.1%.若原來(lái)的電池連續(xù)播放時(shí)間為13小時(shí),在采用本發(fā)明方法后可以延長(zhǎng)到14小時(shí)。其改進(jìn)效果顯著。
權(quán)利要求
1.一種降低便攜式設(shè)備功耗的方法,其特征在于包括以下步驟,①分析便攜式設(shè)備中的軟件,凡須頻繁調(diào)用、且滿(mǎn)足放入CPU片內(nèi)高速緩沖存儲(chǔ)器cache運(yùn)行條件的代碼作為可放入所述高速緩沖存儲(chǔ)器空間運(yùn)行的備選代碼;②對(duì)于所述備選代碼,在函數(shù)入口處,增加將SDRAM置為自刷新?tīng)顟B(tài)的處理代碼,在函數(shù)出口處,增加將SDRAM置為正常工作狀態(tài)的處理代碼;③將需要在所述高速緩沖存儲(chǔ)器內(nèi)運(yùn)行的備選代碼存儲(chǔ)位置設(shè)為所述高速緩沖存儲(chǔ)器的存儲(chǔ)空間地址;④增加將便攜式設(shè)備系統(tǒng)的運(yùn)行代碼按照其存儲(chǔ)空間分別復(fù)制到SDRAM和所述高速緩沖存儲(chǔ)器的正確位置的處理代碼。
2.如權(quán)利要求1所述的降低便攜式設(shè)備功耗的方法,其特征在于所述高速緩沖存儲(chǔ)器采用靜態(tài)隨機(jī)存儲(chǔ)器SRAM。
3.如權(quán)利要求1所述的降低便攜式設(shè)備功耗的方法,其特征在于步驟①中所述放入CPU片內(nèi)高速緩沖存儲(chǔ)器cache運(yùn)行條件,包括代碼長(zhǎng)度小于所述高速緩沖存儲(chǔ)器的可用空間,和在執(zhí)行該代碼的周期內(nèi)關(guān)閉系統(tǒng)中斷不會(huì)引起系統(tǒng)故障或系統(tǒng)反應(yīng)慢。
4.如權(quán)利要求1所述的降低便攜式設(shè)備功耗的方法,其特征在于步驟②中,還包括在函數(shù)入口處,同時(shí)增加關(guān)閉系統(tǒng)中斷處理代碼,在函數(shù)出口處,同時(shí)增加打開(kāi)系統(tǒng)中斷處理代碼。
5.如權(quán)利要求1所述的降低便攜式設(shè)備功耗的方法,其特征在于步驟③通過(guò)編譯預(yù)處理方法來(lái)實(shí)現(xiàn)。
6.如權(quán)利要求1所述的降低便攜式設(shè)備功耗的方法,其特征在于步驟④通過(guò)修改系統(tǒng)引導(dǎo)代碼程序來(lái)實(shí)現(xiàn)。
全文摘要
本發(fā)明涉及一種降低便攜式設(shè)備功耗的方法,包括以下步驟將便攜式設(shè)備中的軟件中頻繁調(diào)用、且滿(mǎn)足放入CPU片內(nèi)高速緩沖存儲(chǔ)器內(nèi)運(yùn)行條件的代碼作為可放入所述高速緩沖存儲(chǔ)器內(nèi)運(yùn)行的備選代碼;對(duì)于所述備選代碼,在函數(shù)入口處,增加將SDRAM置為自刷新?tīng)顟B(tài)的處理代碼,在函數(shù)出口處,增加將SDRAM置為正常工作狀態(tài)的處理代碼;將需要在所述高速緩沖存儲(chǔ)器內(nèi)運(yùn)行的備選代碼存儲(chǔ)位置設(shè)為所述高速緩沖存儲(chǔ)器的存儲(chǔ)空間地址;增加將便攜式設(shè)備系統(tǒng)的運(yùn)行代碼按照其存儲(chǔ)空間分別復(fù)制到SDRAM和所述高速緩沖存儲(chǔ)器的正確位置的處理代碼。本發(fā)明具有以下技術(shù)效果1.降低了便攜式設(shè)備的運(yùn)行功耗;2.在降低功耗的同時(shí)提高了系統(tǒng)的運(yùn)行速度。
文檔編號(hào)G06F1/32GK101059775SQ20061006047
公開(kāi)日2007年10月24日 申請(qǐng)日期2006年4月19日 優(yōu)先權(quán)日2006年4月19日
發(fā)明者劉一寧 申請(qǐng)人:深圳市朗科科技有限公司