![linux系統(tǒng)的電源管理_第1頁](http://file4.renrendoc.com/view/1d42559fba7002468c8fdbac290f4cd7/1d42559fba7002468c8fdbac290f4cd71.gif)
![linux系統(tǒng)的電源管理_第3頁](http://file4.renrendoc.com/view/1d42559fba7002468c8fdbac290f4cd7/1d42559fba7002468c8fdbac290f4cd73.gif)
![linux系統(tǒng)的電源管理_第4頁](http://file4.renrendoc.com/view/1d42559fba7002468c8fdbac290f4cd7/1d42559fba7002468c8fdbac290f4cd74.gif)
![linux系統(tǒng)的電源管理_第5頁](http://file4.renrendoc.com/view/1d42559fba7002468c8fdbac290f4cd7/1d42559fba7002468c8fdbac290f4cd75.gif)
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
linux系統(tǒng)的電源管理
目前,隨著手機、pda等嵌入式產品的發(fā)展,頻率、視頻、數據處理等功能的多樣化對電池的使用時間有了更高的要求。在此類產品設計中,不論硬件還是軟件,電源管理的作用越來越重要。本文在基于Monahans處理器的硬件平臺和Linux操作系統(tǒng)下實現電源管理功能。1單元結構sqpMonahans處理器內部集成了電源管理的主控制單元、從控制單元來完成頻率電壓及電源狀態(tài)的切換。其中,主控制單元分為主電源管理單元(ServicePowerManagementUnit,SPMU)和主時鐘控制單元(ServicesClockControlUnit,SCCU);從控制單元分為從電源管理單元(SlavePowerManagementUnit,BPMU)和從時鐘控制單元(SlaveClockControlUnit,BCCU),上述單元協(xié)同工作從而減少電量消耗。1.1主控制單元1.1.1供應穩(wěn)壓器的選擇接口設計SPMU控制主單元和從單元中電源狀態(tài)的轉換和各模塊的重置操作,并且通過I/C接口連接到外部的供應穩(wěn)壓器。通常把由SPMU所控制的電源狀態(tài)稱為S狀態(tài)。1.1.2系統(tǒng)時鐘使用SCCU包含處理器所用時鐘的分頻、選通和選擇等功能。它提供5種時鐘供BCCU使用,包括處理振蕩器、報時振蕩器、核心鎖相環(huán)(Phase-LockedLoop,PLL)、系統(tǒng)PLL和環(huán)形振蕩器。此類時鐘的具體介紹參考文獻。1.2從控制單元開始1.2.1電源管理功能BPMU控制的應用子系統(tǒng)包括XScale核及其內部SRAM的電源管理功能。由BPMU控制的電源狀態(tài)稱為D狀態(tài),而XScale核自身的電源狀態(tài)稱為C狀態(tài)。1.2.2統(tǒng)的時鐘源BCCU使用SCCU所提供的時鐘來生成并控制應用子系統(tǒng)的時鐘源。Monahans處理器支持一系列操作點(OperatingPoint,OP)。每個操作點對應特定的CPU核及外設頻率,此類操作點信息如表1所示。1.3系統(tǒng)的組合形成處理器的電源狀態(tài)由主單元和應用子系統(tǒng)的各電源狀態(tài)組合形成。在每種狀態(tài)下,系統(tǒng)的消耗也不相同。其模式包括S0/D0/C0,S0/D0CS/C0,S0/D0/C1,S0/D1/C2和S3/D4/C4。2monahms電源管理驅動程序層Monahans電源管理的軟件實現由3個部分組成:硬件底層驅動,底層操作和硬件資源分配操作的封裝,應用層的電源管理策略。2.1改變電壓頻率當處理器的CPU核處于工作狀態(tài)時,根據應用程序的需求,CPU核的工作頻率作出相應調整。動態(tài)電壓頻率管理為上層應用提供改變電壓和頻率的接口函數,且在驅動層與各設備驅動協(xié)同工作。當改變電壓頻率時,該驅動要完成以下步驟:(1)通知所有設備即將進行改變電壓頻率的操作,查詢是否所有的設備都同意改變頻率電壓。(2)若沒有設備對此次操作有異議,則通知所有設備為頻率電壓的改變做準備。(3)檢測哪些頻率要改變。(4)頻率電壓改變結束后,通知所有設備使它們根據改變后的頻率做相應操作。2.2省電模式的切換當CPU處于空閑狀態(tài)時,軟件可以使其逐步進入相應的省電模式。此類省電模式包括S0/D1/C2,S0/D2/C2,S2/D3/C4和S3/D4/C4。Monahans的CPU核中,協(xié)處理器14的寄存器C7被設計用來控制相關電源狀態(tài)的切換,指令形式為其中,r5代表要進入的省電狀態(tài)。在進入省電模式時,進行程序現場的保護工作,并在退出省電模式時,對某些器件進行必要設置,使程序能繼續(xù)正常運行。省電模式的切換過程分為以下3步:(1)設置與省電模式對應的喚醒源;(2)根據即將進入的省電模式保存當前工作狀態(tài);(3)設置協(xié)處理器寄存器,進入省電模式。2.2.1s0/c3/c2模式在這2種狀態(tài)下,CPU核的時鐘源已經停止但是供電依然存在,因此,用戶模式以及各異常模式下寄存器的內容都不會丟失,相關轉換程序僅需保存要用到的通用寄存器。在執(zhí)行完協(xié)處理器指令后加入多條OP指令以S0/D2/C2模式進入。例如在進入S0/D2/C2時會執(zhí)行以下代碼:(1)進入S0/D2/C2模式(2)等待進入S2/D3/C4,執(zhí)行若干條NOP指令在從S0/D1/C2或者S0/D2/C2狀態(tài)中喚醒時,PC會指向以上NOP指令中的某一條繼續(xù)執(zhí)行。在這種模式下,CPU核已經完全斷電,因此,在進入該模式時,將CPU核各模式下所有的寄存器值都保存到DDRSDRAM上。在從睡眠模式中喚醒時,控制權已經交給了Monahans的內部BootRom,整個系統(tǒng)會執(zhí)行一次重置過程。此外,在進入S2/D3/C4時,還需要保存MMU控制寄存器的設置,并且把在內部SRAM上的啟動地址拷貝到特定寄存器中供BootRom使用。2.2.3sdram的重新校正在進入省電模式(除了S3/D4/C4)后,DDRSDRAM進入狀態(tài)保持階段,其上保存的內容不會丟失,但不能對其進行讀寫操作。從此類模式退出時,PC不能指向DDRSDRAM所占的地址空間,否則會導致錯誤的操作結果。在對SDRAM操作之前,先對SDRAM進行重新校正。執(zhí)行S0/D1/C2或S0/D2/C2模式的切換代碼必須被拷貝到內部SRAM上,同時這部分代碼的結尾完成對SDRAM的重新校正。在執(zhí)行S2/D3/C4的模式切換操作時無需將相關代碼拷貝到內部SRAM上,因為從S2/D3/C4喚醒時所有狀態(tài)均為重置狀態(tài),重置后SDRAM會被重新校正,程序只要把S2/D3/C4之前的模式保存在SDRAM上即可。2.3監(jiān)控系統(tǒng)運行狀態(tài)性能監(jiān)測單元(PMU)負責對處理器級別和Xscale核級別的各種事件進行監(jiān)控,從而統(tǒng)計系統(tǒng)的運行狀態(tài)。PMU可同時監(jiān)測4個事件,如使用計數器PMN0來周期性地計算外部存儲控制器占用總線的總時鐘數,根據所得數據對CPU的操作頻率進行調整。2.4管理者通知Linux內核中自帶電源管理代碼。在接收到管理者通知時,內核會通知設備驅動程序、控制臺等進入省電模式,并提供一些接口供平臺相關的電源管理驅動調用。2.4.1idle任務所運行的總時間長度為了隨時了解CPU的負載情況,可以在idle任務中利用OSTimer來記錄該任務的運行時間。調用idle任務的內核線程被周期性喚醒,然后統(tǒng)計idle任務所運行的總時間長度,從而獲得CPU的使用率busy_ratio并通知給上層決策者。若運行時CPU的使用率越高,則對操作點的要求也越高。管理者為每一個操作點定義一個該操作點所能滿足的CPU使用率區(qū)間,比如OP2對應的區(qū)間為。當電源管理者得到的busy_ratio位于時,會把頻率設置為OP2。若當前OP為OP2,而busy_ratio落在該區(qū)間之外,則管理者會增大或減小OP。2.4.2pmops控制pm_ops結構體的定義如下:其中,prepare函數使平臺為進入某一省電模式做準備;enter函數完成進入某省電模式的過程;finish函數在平臺離開某省電模式時被調用。Linux內核提供一個該結構體類型的全局指針pm_ops,平臺相關的函數則被賦給該結構體內部的各函數指針。此外內核還導出一個函數pm_suspend()供上層決策者調用以進入省電模式,該函數依次調用全局變量pm_ops內部的相應函數以進入省電模式。在本系統(tǒng)的電源管理實現中,接口設備提供給決策者的命令會調用pm_suspend()接口函數。而電源狀態(tài)的轉換操作驅動會用平臺相關的函數填充pm_ops結構體。如在進入S0/D2/C2模式時,決策者通過如下代碼發(fā)送命令來完成:ioctl(fd,CPU_MODE_SET,STANDBY);其中,fd為指向接口設備的指針;CPU_MODE_SET為使系統(tǒng)進入省電模式的命令;STANDBY為該命令的參數,即讓系統(tǒng)進入S0/D2/C2模式。3系統(tǒng)總體架構Monahans處理器電源管理相關驅動提供調整頻率電壓以及在各電源模式之間切換的功能,并且定期報告當前系統(tǒng)的資源使用狀況。但此類功能在什么時候使用,例如在什么情況下CPU的頻率應該降低,什么情況下應該進入省電模式,由上層軟件決定。采用什么樣的管理策略也很重要,比如等待時間的長短,為不同的應用程序選擇合適的操作頻率和電壓都會對電池的使用時間造成很大影響。本文所采用的整個電源管理架構如圖1所示。在圖1中,電源管理決策者會實時監(jiān)控整個系統(tǒng)的運行狀態(tài),包括應用程序、所有設備的需求、PMU的監(jiān)測結果,然后將此類資源整合起來并根據當前的運行狀態(tài)決定系統(tǒng)要切換到的下1個狀態(tài)。Monahans電源管理狀態(tài)轉換如圖2所示。3.1頻率電壓設定當系統(tǒng)處于運行狀態(tài)時,電源管理者會實時獲得應用程序針對CPU資源的各種需求信息,計算所有運行程序所需的最大頻率電壓值,然后把系統(tǒng)的頻率電壓設置到對應操作點。當某一設備需要開始運行時,它會以事件的形式將所需要的頻率電壓信息通知給電源管理者,電源管理者將該值與當前頻率電壓信息進行比較,再做出相應調整。3.2系統(tǒng)進入省電模式當僅有idle任務在運行并且所有的設備都處于空閑狀態(tài)時,電源管理者停掉CPU核和外設的時鐘或者關閉它們的供電,使系統(tǒng)進入某一省電模式。當CPU在某一規(guī)定的時間區(qū)間內一直處于空閑狀態(tài)時,電源管理者設置喚醒源并使其進入輕量級的省電模式S0/D1/C2或者S0/D2/C2。若CPU在一段時間內一直處于上述省電模式,則被喚醒然后立即再次進入。該步驟重復多次后,電源管理者使系統(tǒng)進入更為省電的狀態(tài)S2/D3/C4。4省電模式本文研究的電源管理方法在一個基于Monahans處理器的智能導航平臺上應用。為了專注于電源管理的效果,通過向電源管理者發(fā)送不同的消息來模擬應用程序的各種信息。電源管理相關參數設置如表2所示。其中,默認頻率為CPU重置之后的運行頻率;系統(tǒng)每隔一個采樣周期就對PMU統(tǒng)計數據進行分析;S0/D2/C2時間為系統(tǒng)進入S0/D2/C2模式后被喚醒的間隔時間,其用途見3.2節(jié);CPU在經過最多空閑次數后,進入省電模式。應用程序與OP對應關系如表3所示。在表3中,各應用程序依次開始運行并結束,每個應用的運行時間為1s,應用之間的間隔時間為0.5s。程序運行順序為視頻、MP3、文檔編輯、游戲以及默認。在關閉和開啟電源管理功能的2種情況下系統(tǒng)運行頻率信息對比如圖3所示,核心電壓信息對比如圖4所示。從圖3、4可知,在加入了電源管理功能后,頻率和電壓明顯減小,除了視頻等要求CPU以最高OP運行的情況。在進入省電模式后,CPU的頻率降為0或者電源被關掉,進一步減少了電量消耗。表4描述了在沒有應用程序占用CPU時,各模式下對時間和能量消耗的對比信息。由表4可知,因為idle時的功耗遠大于S0/D2/C2和S2/D3/C4時,所以應盡量減少CPU處于idle狀態(tài)的時間;從S2/D3/C4狀態(tài)喚醒所用時間遠大于從S0/D2/C2喚醒所用時間。在進入S0/D2/C2狀態(tài)后不會立即進入S2/D3/C4狀態(tài),而會反復幾次退出到idle狀態(tài)后再進入S0/D2/C2。若期間無應用需求,則會進入S2/D3/C4狀態(tài)。這樣同時兼顧對應用的響應時間和能量消耗,但不一定能夠達到最好效果。在實際應用系統(tǒng)中,若電池能量要求較高,則應盡快進入S2/D3/C4狀態(tài);若對響應的要求較高,則可以適
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 生態(tài)經濟在農業(yè)現代化的作用
- 現代文閱讀教學策略研究進展匯報-探索教育新紀元
- 生產現場的人性化管理與實踐
- 現代辦公環(huán)境下的金融服務優(yōu)化
- 公路交通安全設施施工方案
- 2023三年級數學下冊 六 認識分數第4課時 分一分(二)(2)說課稿 北師大版
- 2024年九年級語文下冊 第三單元 第11課 送東陽馬生序說課稿 新人教版001
- 2023四年級數學上冊 一 認識更大的數第4課時 國土面積說課稿 北師大版001
- Unit 2 Lesson 4 Againplease(說課稿)-2024-2025學年魯科版(五四學制)(三起)英語五年級上冊001
- 《2 叢林之美-電子相冊制作》說課稿-2023-2024學年清華版(2012)信息技術六年級上冊
- 骨科醫(yī)院感染控制操作流程
- 食材配送技術方案
- 中藥的臨床合理應用
- 鑄鋁焊接工藝
- (正式版)HGT 6313-2024 化工園區(qū)智慧化評價導則
- 《社區(qū)康復》課件-第六章 骨關節(jié)疾病、損傷患者的社區(qū)康復實踐
- 南通市2024屆高三第二次調研測試(二模)地理試卷(含官方答案)
- 高標準農田建設項目監(jiān)理計劃
- 2024年湖南省公務員考試行政職業(yè)能力測驗真題
- 攀巖運動之繩結技巧課程
- 防打架毆斗安全教育課件
評論
0/150
提交評論