結合靜態編譯器和動態調頻技術優化運行頻率的節能方法
2023-06-12 10:57:21 3
專利名稱:結合靜態編譯器和動態調頻技術優化運行頻率的節能方法
技術領域:
本發明涉及基於嵌入式系統軟體節能技術領域,特別是涉及一種結合靜態編譯器和動態調頻技術優化處理器和主存運行頻率的節能方法。
背景技術:
2005年世界半導體業的持續穩定增長將帶動全球電子信息產品市場的進一步發展,通信、消費類電子及汽車電子領域將成為先導。3G手機的視頻多媒體等各種新應用對傳統的電池壽命和電源管理技術提出了更高的要求和更嚴峻的挑戰。而且,隨著中國汽車業的迅猛發展,汽車電子中的電源技術問題同樣迫使工程師們拿出更好的解決方案。高工作頻率、高效率、高功率密度、高可靠性、小體積和低成本等是今後模塊電源和可攜式電源管理產品的發展方向。同時,業界也在期待各種高新技術,包括高頻開關技術、軟開關技術、功率因數校正技術、同步整流技術、智能化技術、表面貼裝技術的進一步突破。所以,任何設備基於其自身的特有本質以及市場對其的更高需要都已經對電源技術提出更高的要求。
隨著人們生活水平的不斷提高,可攜式設備的發展將會越來越快。可攜式消費類電子設備市場是最近幾年才成長起來的,特別是手機市場突飛猛進的發展速度,更使很多的廠商們趨之若鶩。隨著用戶需求不斷增加,智慧型手機、便攜設備中新增加的音視頻、數據輸入、無線連接等功能將對電源管理形成新的需求。可攜式產品日益豐富的功能給電源管理IC帶來越來越多的挑戰。未來電源管理將向高集成度、開關、SOC發展,電源管理IC的發展是集設計、工藝、封裝為一體的綜合發展體系,需要考慮多方面的因素。很難有一個萬全的解決方案。例如在無線可攜式產品中,就要權衡開關頻率的提升和效率的關係,也要考慮電源噪聲對射頻的幹擾。
在可攜式嵌入式設備電源管理領域,目前的困難在於既要滿足可攜式終端對電源供電的要求,又要做到佔用空間小、重量輕和供電時間更長。現在嵌入式設備的功能變得越來越強大,功能也越來越豐富。隨著嵌入式設備功能越來越多,用戶對嵌入式設備電池的能量需求也越來越高,現有的鋰離子電池已經越來越難以滿足消費者對正常使用時間的要求。對此,業界主要採取兩種方法,一是開發具備更高能量密度的新型電池技術,如燃料電池,在能夠預見的5年內,電池技術不可能有很大的突破;二是在電池的能量轉換效率和節能方面下功夫。在目前新的高能電池技術(如燃料電池)仍不成熟的情況下,下一代手持設備的電源管理只能從提高電源利用率和降低功耗這二個方面著手。如何延長電池的使用壽命,以及儘量減少電池能量的消耗已經成為嵌入式領域的一個研究熱點。
在作業系統領域,現在主要的電源管理方法是利用作業系統內核,動態的調整系統處理器和總線的頻率,降低系統的整體能耗。而且系統能夠通過動態頻率指令改變系統狀態,是系統處於低功耗狀態,以達到節能的目的。
作業系統能夠很好的管理整個系統的能耗,但是對特定的應用不了解,不能針對特定的應用採用貼切的方法節能,在特定的運行時間段內做出比較好的系統資源調度,缺少對運行系統的快速反應。
發明內容
本發明的目的在於提供一種結合靜態編譯器和動態調頻技術優化運行頻率的節能方法。
本發明解決其技術問題採用的技術方案如下1)靜態編譯器劃分代碼段靜態編譯器將代碼段劃分為三個相關代碼段,分別為運行初始化代碼段,動態調頻代碼段以及運行結束代碼段。運行初始化代碼段是為動態調頻代碼段以及運行結束代碼段的運行做準備的;在動態調頻代碼段中作業系統將根據處理器和主存的關係對處理器和主存的頻率做出優化,優化系統能耗,能夠將這個代碼段中的指令分為處理器相關指令和主存相關指令,而劃分得到這個代碼段的要求是兩種相關指令是能夠同時運行的;在運行結束代碼段中的執行指令是必須依賴動態調頻代碼段的執行結果才能運行的;2)得到最有處理器和主存運行頻率因為在動態調頻代碼段中的處理器相關指令和主存相關指令能夠同時運行,而兩種相關指令的運行時間肯定存在或多或少的差別,由於時間差的存在,作業系統能夠降低執行時間比較短的系統部件包括處理器或主存的執行頻率,也能夠將改變後的頻率稱為目的頻率,執行頻率降低的同時也伴隨著電壓的降低,同時還能考慮升高執行時間比較長的系統部件的執行頻率,達到更好的節能效果。而且處理器和主存所能提供的頻率變化有限,對應於每種頻率的能耗亦能夠推斷出來,在能夠節能的情況下,根據處理器和主存頻率的關係,改變兩者或其中一個的頻率;
3)使動態調頻代碼段運行在優化的處理器和主存頻率上在動態調頻代碼段運行之前,改變處理器和主存頻率,使其運行在目的頻率之上,在這段代碼段相關指令執行完後重新回到初始頻率。頻率改變是通過對控制處理器和主存頻率的寄存器的相關設置,不需要通過調用中間過程,這種方法更直接,更實效,在調節完頻率後便能夠馬上看到調頻結果。
本發明與背景技術相比,具有的有益的效果是本發明利用靜態編譯器對代碼段的劃分,在動態調頻代碼段運行過程中,通過動態調頻技術對處理器和主存的執行頻率進行相應的設置,綜合考慮兩者的能耗,使動態調頻代碼段運行在更有利於系統節能的目的頻率上。本發明能夠用於任何提供了處理器和主存頻率調節支持的系統上。在目前的大多出系統中,能耗最大的系統部件除了處理器便是主存,在這種情況下,有必要結合考慮處理器和主存特性,共同調節處理器和主存頻率,以達到更加良好的能耗控制結果。
(1)全面性。在目前的大多出系統中,能耗最大的系統部件除了處理器便是主存,在這種情況下,有必要結合考慮處理器和主存特性,共同調節處理器和主存頻率,以達到更加良好的能耗控制結果。本方法正是考慮到這個原因,所以同時考慮了處理器和貯存兩者的能耗。
(2)安全性。本方法通過靜態編譯器將代碼段劃分為三個相關代碼段,分別為運行初始化代碼段,動態調頻代碼段以及運行結束代碼段。在動態調頻代碼段運行前通過動態調頻方法調節處理器和主存頻率。保護其餘代碼段的順利執行,有利於代碼的安全性。
(3)即時性。頻率改變是通過對控制處理器和主存頻率的寄存器的相關設置,不需要通過調用中間過程,這種方法更直接,更實效,在調節完頻率後便能夠馬上看到調頻結果。在經過反覆的認證,這個方法能夠很好的到達動態調頻的結果,達到節能的目的。
圖1是本發明的系統流程圖;圖2是動態調頻代碼段中處理器相關指令執行時間大大長於主存相關指令的情況;圖3是動態調頻代碼段中主存相關指令執行時間大大長於處理器相關指令的情況;圖4是本發明的流程圖。
具體實施例方式
具體實施方式
是靜態編譯器將代碼段劃分為三個相關代碼段,分別為運行初始化代碼段,動態調頻代碼段以及運行結束代碼段。運行初始化代碼段是為以下的代碼運行做準備的;在動態調頻代碼段中作業系統將根據處理器和主存的關係對處理器和主存的頻率做出優化,優化系統能耗,能夠將這個代碼段中的指令分為處理器相關指令和主存相關指令,而劃分得到這個代碼段的要求是兩種相關指令是能夠同時運行的;在運行結束代碼段中的執行指令是必須依賴動態調頻代碼段的執行結果才能運行。本方法關注的是動態調頻代碼段,在此代碼段中使用動態調頻技術。如圖1所示。
動態調頻代碼段中的運行情況能夠分為兩種,主存相關指令執行時間大於處理器相關指令執行時間,如圖2所示,以及處理器相關指令執行時間大於主存相關指令執行時間,如圖3所示。在圖中,tprepare表示初始化代碼段的執行時間,tmem表示初始化代碼段中主存相關指令執行時間,tindep表示初始化代碼段處理器相關指令執行時間,tdep表示運行結束代碼段指令執行時間。tdvfs表示動態調頻時間段,t′mem表示調頻後初始化代碼段中主存相關指令執行時間,t′indep表示調頻後初始化代碼段處理器相關指令執行時間。
第二步,因為在動態調頻代碼段中的處理器相關指令和主存相關指令能夠同時運行,而兩種相關指令的運行時間肯定存在或多或少的差別,也就是tmem和tindep的不同,由於時間差的存在,作業系統能夠降低執行時間比較短的系統部件(處理器或主存)的執行頻率(也能夠將改變後的頻率稱為目的頻率),執行頻率降低的同時也伴隨著電壓的降低,同時還能夠考慮升高執行時間比較長的系統部件的執行頻率,達到更好的節能效果。而且處理器和主存所能提供的頻率變化有限,對應於每種頻率的能耗亦能夠推斷出來,在能夠節能的情況下,根據處理器和主存頻率的關係,改變兩者或其中一個的頻率。如圖2的情況中,由於主存相關指令執行時間大於處理器相關指令執行時間,即tmem>tindep,作業系統在時間段tdvfs內,能夠根據動態調頻算法,考慮提高主存頻率和降低處理器頻率,達到一個折中值,來加大對能耗的控制;而圖3中的情況恰好相反,由於處理器相關指令執行時間大於主存相關指令執行時間,即tindep>tmem,作業系統在時間段tdvfs內,能夠根據動態調頻算法,考慮降低主存頻率和提高處理器頻率,達到一個折中值,來加大對能耗的控制。整個系統的流程如圖4所示。作業系統根據能耗計算公式,計算出系統在硬體所能提供的處理器和主存頻率對的組合下所有的系統能耗,在代碼執行時間不會改變太大的前提下(方法約定系統執行時間變更不可超過15%,由於代碼執行時間跟處理器頻率成反比,由此能夠得到處理器的目的頻率範圍),得到最優的處理器頻率和主存頻率。
第三步,在動態調頻代碼段運行之前,改變處理器和主存頻率,使其運行在目的頻率之上,在這段代碼段相關指令執行完後重新回到初始頻率。頻率改變是通過對控制處理器和主存頻率的寄存器的相關設置,不需要通過調用中間過程,這種方法更直接,更實效,在調節完頻率後便能夠馬上看到調頻結果。作業系統按照如下步驟設置目的頻率,根據前面得到的目的頻率,計算出各寄存器所要修改的目的值,然後直接對作業系統內控制處理器和主存頻率的寄存器進行配置,最後使處理器和主存的目的頻率生效。作業系統是通過地址來直接修改寄存器的,所以在通過地址來對寄存器操作的時候,需要注意實地址和虛地址的轉換,根據內核版本和處理器的不同會有不同的轉換方式。
在這裡,以使用英特爾公司的PXA255處理器的開發平臺為例,上面的作業系統為Linux,內核版本為2.4.10。此開發平臺提供了對處理器和主存的調頻支持。處理器和主存的頻率控制由寄存器CCCR控制,直接對系統內控制頻率的寄存器CCCR進行配置,修改之後再配置寄存器CCLKCFG的FCS位使內核的頻率設置生效。通過內部函數ioremap來實現實地址和虛地址的轉換。如果目前平臺上有代碼程序,通過靜態編譯器劃分後,發現動態調頻代碼段中,tmem<tindep,目前處理器頻率和主存頻率都為132.7MHZ,tmem為1ms,tindep為25ms,那麼作業系統根據本方法,如圖3所示,將降低主存頻率,而升高處理器頻率,根據平臺硬體支持,處理器頻率有298.6MHZ和398.1MHZ兩種選擇,由於處理器相關指令執行時間大大大於主存時間,為主存相關指令執行時間的25倍,所以作業系統將選擇398.1MHZ為處理器頻率,由於主存頻率只有99.5MHZ可供選擇,所以作業系統將選擇99.5MHZ為主存頻率,處理器和主存的頻率改變通過將CCCR對應L,M,N三段的值改為27,2和2來達到。選擇後還是t′mem<t′indep,t′men增加到1.5ms,t′indep下降為9ms,但兩者的時間差大大縮小,而且整體執行時間也有減少,整個代碼段的能耗亦由原來的450MW減少為380MW。體現了本發明的節能效果。
權利要求
1.一種結合靜態編譯器和動態調頻技術優化運行頻率的節能方法,其特徵在於1)靜態編譯器劃分代碼段靜態編譯器將代碼段劃分為三個相關代碼段,分別為運行初始化代碼段,動態調頻代碼段以及運行結束代碼段;運行初始化代碼段是為動態調頻代碼段以及運行結束代碼段的運行做準備的;在動態調頻代碼段中作業系統將根據處理器和主存的關係對處理器和主存的頻率做出優化,優化系統能耗,能夠將這個代碼段中的指令分為處理器相關指令和主存相關指令,而劃分得到這個代碼段的要求是兩種相關指令是能同時運行的;在運行結束代碼段中的執行指令是必須依賴動態調頻代碼段的執行結果才能運行的;2)得到最有處理器和主存運行頻率因為在動態調頻代碼段中的處理器相關指令和主存相關指令能同時運行,而兩種相關指令的運行時間肯定存在或多或少的差別,由於時間差的存在,作業系統能夠降低執行時間比較短的系統部件包括處理器和主存的執行頻率,也能夠將改變後的頻率稱為目的頻率,執行頻率降低的同時也伴隨著電壓的降低,同時還能考慮升高執行時間比較長的系統部件的執行頻率,達到更好的節能效果。而且處理器和主存所能提供的頻率變化有限,對應於每種頻率的能耗亦能夠推斷出來,在能夠節能的情況下,根據處理器和主存頻率的關係,改變兩者或其中一個的頻率;3)使動態調頻代碼段運行在優化的處理器和主存頻率上在動態調頻代碼段運行之前,改變處理器和主存頻率,使其運行在目的頻率之上,在這段代碼段相關指令執行完後重新回到初始頻率。頻率改變是通過對控制處理器和主存頻率的寄存器的相關設置,不需要通過調用中間過程,這種方法更直接,更實效,在調節完頻率後便能夠馬上看到調頻結果。
全文摘要
本發明公開了一種結合靜態編譯器和動態調頻技術優化運行頻率的節能方法。本發明採用通過靜態編譯器的劃分,將代碼段分為相關的三段,分別為運行初始化段,動態調頻段和運行結束段,根據動態調頻段中處理器和主存的關係,然後通過動態頻率管理技術設置相應處理器和主存的運行頻率來進行節能。本發明提出了一種結合靜態編譯器和動態調頻技術優化處理器和主存運行頻率的方法,對原來的節能方法做出改進,使得內核對能耗控制更加全面,因為在目前的大多出系統中,能耗最大的系統部件除了處理器便是主存,在這種情況下,有必要結合考慮處理器和主存特性,因此本發明的能耗控制包括處理器能耗和主存的能耗,能夠降低系統運行時消耗的能量。
文檔編號G06F9/45GK1877490SQ20061005228
公開日2006年12月13日 申請日期2006年7月4日 優先權日2006年7月4日
發明者陳天洲, 錢傑, 黃江偉, 梁曉 申請人:浙江大學