版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
linux系統(tǒng)的電源管理
目前,隨著手機(jī)、pda等嵌入式產(chǎn)品的發(fā)展,頻率、視頻、數(shù)據(jù)處理等功能的多樣化對電池的使用時(shí)間有了更高的要求。在此類產(chǎn)品設(shè)計(jì)中,不論硬件還是軟件,電源管理的作用越來越重要。本文在基于Monahans處理器的硬件平臺和Linux操作系統(tǒng)下實(shí)現(xiàn)電源管理功能。1單元結(jié)構(gòu)sqpMonahans處理器內(nèi)部集成了電源管理的主控制單元、從控制單元來完成頻率電壓及電源狀態(tài)的切換。其中,主控制單元分為主電源管理單元(ServicePowerManagementUnit,SPMU)和主時(shí)鐘控制單元(ServicesClockControlUnit,SCCU);從控制單元分為從電源管理單元(SlavePowerManagementUnit,BPMU)和從時(shí)鐘控制單元(SlaveClockControlUnit,BCCU),上述單元協(xié)同工作從而減少電量消耗。1.1主控制單元1.1.1供應(yīng)穩(wěn)壓器的選擇接口設(shè)計(jì)SPMU控制主單元和從單元中電源狀態(tài)的轉(zhuǎn)換和各模塊的重置操作,并且通過I/C接口連接到外部的供應(yīng)穩(wěn)壓器。通常把由SPMU所控制的電源狀態(tài)稱為S狀態(tài)。1.1.2系統(tǒng)時(shí)鐘使用SCCU包含處理器所用時(shí)鐘的分頻、選通和選擇等功能。它提供5種時(shí)鐘供BCCU使用,包括處理振蕩器、報(bào)時(shí)振蕩器、核心鎖相環(huán)(Phase-LockedLoop,PLL)、系統(tǒng)PLL和環(huán)形振蕩器。此類時(shí)鐘的具體介紹參考文獻(xiàn)。1.2從控制單元開始1.2.1電源管理功能BPMU控制的應(yīng)用子系統(tǒng)包括XScale核及其內(nèi)部SRAM的電源管理功能。由BPMU控制的電源狀態(tài)稱為D狀態(tài),而XScale核自身的電源狀態(tài)稱為C狀態(tài)。1.2.2統(tǒng)的時(shí)鐘源BCCU使用SCCU所提供的時(shí)鐘來生成并控制應(yīng)用子系統(tǒng)的時(shí)鐘源。Monahans處理器支持一系列操作點(diǎn)(OperatingPoint,OP)。每個操作點(diǎn)對應(yīng)特定的CPU核及外設(shè)頻率,此類操作點(diǎn)信息如表1所示。1.3系統(tǒng)的組合形成處理器的電源狀態(tài)由主單元和應(yīng)用子系統(tǒng)的各電源狀態(tài)組合形成。在每種狀態(tài)下,系統(tǒng)的消耗也不相同。其模式包括S0/D0/C0,S0/D0CS/C0,S0/D0/C1,S0/D1/C2和S3/D4/C4。2monahms電源管理驅(qū)動程序?qū)覯onahans電源管理的軟件實(shí)現(xiàn)由3個部分組成:硬件底層驅(qū)動,底層操作和硬件資源分配操作的封裝,應(yīng)用層的電源管理策略。2.1改變電壓頻率當(dāng)處理器的CPU核處于工作狀態(tài)時(shí),根據(jù)應(yīng)用程序的需求,CPU核的工作頻率作出相應(yīng)調(diào)整。動態(tài)電壓頻率管理為上層應(yīng)用提供改變電壓和頻率的接口函數(shù),且在驅(qū)動層與各設(shè)備驅(qū)動協(xié)同工作。當(dāng)改變電壓頻率時(shí),該驅(qū)動要完成以下步驟:(1)通知所有設(shè)備即將進(jìn)行改變電壓頻率的操作,查詢是否所有的設(shè)備都同意改變頻率電壓。(2)若沒有設(shè)備對此次操作有異議,則通知所有設(shè)備為頻率電壓的改變做準(zhǔn)備。(3)檢測哪些頻率要改變。(4)頻率電壓改變結(jié)束后,通知所有設(shè)備使它們根據(jù)改變后的頻率做相應(yīng)操作。2.2省電模式的切換當(dāng)CPU處于空閑狀態(tài)時(shí),軟件可以使其逐步進(jìn)入相應(yīng)的省電模式。此類省電模式包括S0/D1/C2,S0/D2/C2,S2/D3/C4和S3/D4/C4。Monahans的CPU核中,協(xié)處理器14的寄存器C7被設(shè)計(jì)用來控制相關(guān)電源狀態(tài)的切換,指令形式為其中,r5代表要進(jìn)入的省電狀態(tài)。在進(jìn)入省電模式時(shí),進(jìn)行程序現(xiàn)場的保護(hù)工作,并在退出省電模式時(shí),對某些器件進(jìn)行必要設(shè)置,使程序能繼續(xù)正常運(yùn)行。省電模式的切換過程分為以下3步:(1)設(shè)置與省電模式對應(yīng)的喚醒源;(2)根據(jù)即將進(jìn)入的省電模式保存當(dāng)前工作狀態(tài);(3)設(shè)置協(xié)處理器寄存器,進(jìn)入省電模式。2.2.1s0/c3/c2模式在這2種狀態(tài)下,CPU核的時(shí)鐘源已經(jīng)停止但是供電依然存在,因此,用戶模式以及各異常模式下寄存器的內(nèi)容都不會丟失,相關(guān)轉(zhuǎn)換程序僅需保存要用到的通用寄存器。在執(zhí)行完協(xié)處理器指令后加入多條OP指令以S0/D2/C2模式進(jìn)入。例如在進(jìn)入S0/D2/C2時(shí)會執(zhí)行以下代碼:(1)進(jìn)入S0/D2/C2模式(2)等待進(jìn)入S2/D3/C4,執(zhí)行若干條NOP指令在從S0/D1/C2或者S0/D2/C2狀態(tài)中喚醒時(shí),PC會指向以上NOP指令中的某一條繼續(xù)執(zhí)行。在這種模式下,CPU核已經(jīng)完全斷電,因此,在進(jìn)入該模式時(shí),將CPU核各模式下所有的寄存器值都保存到DDRSDRAM上。在從睡眠模式中喚醒時(shí),控制權(quán)已經(jīng)交給了Monahans的內(nèi)部BootRom,整個系統(tǒng)會執(zhí)行一次重置過程。此外,在進(jìn)入S2/D3/C4時(shí),還需要保存MMU控制寄存器的設(shè)置,并且把在內(nèi)部SRAM上的啟動地址拷貝到特定寄存器中供BootRom使用。2.2.3sdram的重新校正在進(jìn)入省電模式(除了S3/D4/C4)后,DDRSDRAM進(jìn)入狀態(tài)保持階段,其上保存的內(nèi)容不會丟失,但不能對其進(jìn)行讀寫操作。從此類模式退出時(shí),PC不能指向DDRSDRAM所占的地址空間,否則會導(dǎo)致錯誤的操作結(jié)果。在對SDRAM操作之前,先對SDRAM進(jìn)行重新校正。執(zhí)行S0/D1/C2或S0/D2/C2模式的切換代碼必須被拷貝到內(nèi)部SRAM上,同時(shí)這部分代碼的結(jié)尾完成對SDRAM的重新校正。在執(zhí)行S2/D3/C4的模式切換操作時(shí)無需將相關(guān)代碼拷貝到內(nèi)部SRAM上,因?yàn)閺腟2/D3/C4喚醒時(shí)所有狀態(tài)均為重置狀態(tài),重置后SDRAM會被重新校正,程序只要把S2/D3/C4之前的模式保存在SDRAM上即可。2.3監(jiān)控系統(tǒng)運(yùn)行狀態(tài)性能監(jiān)測單元(PMU)負(fù)責(zé)對處理器級別和Xscale核級別的各種事件進(jìn)行監(jiān)控,從而統(tǒng)計(jì)系統(tǒng)的運(yùn)行狀態(tài)。PMU可同時(shí)監(jiān)測4個事件,如使用計(jì)數(shù)器PMN0來周期性地計(jì)算外部存儲控制器占用總線的總時(shí)鐘數(shù),根據(jù)所得數(shù)據(jù)對CPU的操作頻率進(jìn)行調(diào)整。2.4管理者通知Linux內(nèi)核中自帶電源管理代碼。在接收到管理者通知時(shí),內(nèi)核會通知設(shè)備驅(qū)動程序、控制臺等進(jìn)入省電模式,并提供一些接口供平臺相關(guān)的電源管理驅(qū)動調(diào)用。2.4.1idle任務(wù)所運(yùn)行的總時(shí)間長度為了隨時(shí)了解CPU的負(fù)載情況,可以在idle任務(wù)中利用OSTimer來記錄該任務(wù)的運(yùn)行時(shí)間。調(diào)用idle任務(wù)的內(nèi)核線程被周期性喚醒,然后統(tǒng)計(jì)idle任務(wù)所運(yùn)行的總時(shí)間長度,從而獲得CPU的使用率busy_ratio并通知給上層決策者。若運(yùn)行時(shí)CPU的使用率越高,則對操作點(diǎn)的要求也越高。管理者為每一個操作點(diǎn)定義一個該操作點(diǎn)所能滿足的CPU使用率區(qū)間,比如OP2對應(yīng)的區(qū)間為。當(dāng)電源管理者得到的busy_ratio位于時(shí),會把頻率設(shè)置為OP2。若當(dāng)前OP為OP2,而busy_ratio落在該區(qū)間之外,則管理者會增大或減小OP。2.4.2pmops控制pm_ops結(jié)構(gòu)體的定義如下:其中,prepare函數(shù)使平臺為進(jìn)入某一省電模式做準(zhǔn)備;enter函數(shù)完成進(jìn)入某省電模式的過程;finish函數(shù)在平臺離開某省電模式時(shí)被調(diào)用。Linux內(nèi)核提供一個該結(jié)構(gòu)體類型的全局指針pm_ops,平臺相關(guān)的函數(shù)則被賦給該結(jié)構(gòu)體內(nèi)部的各函數(shù)指針。此外內(nèi)核還導(dǎo)出一個函數(shù)pm_suspend()供上層決策者調(diào)用以進(jìn)入省電模式,該函數(shù)依次調(diào)用全局變量pm_ops內(nèi)部的相應(yīng)函數(shù)以進(jìn)入省電模式。在本系統(tǒng)的電源管理實(shí)現(xiàn)中,接口設(shè)備提供給決策者的命令會調(diào)用pm_suspend()接口函數(shù)。而電源狀態(tài)的轉(zhuǎn)換操作驅(qū)動會用平臺相關(guān)的函數(shù)填充pm_ops結(jié)構(gòu)體。如在進(jìn)入S0/D2/C2模式時(shí),決策者通過如下代碼發(fā)送命令來完成:ioctl(fd,CPU_M(jìn)ODE_SET,STANDBY);其中,fd為指向接口設(shè)備的指針;CPU_M(jìn)ODE_SET為使系統(tǒng)進(jìn)入省電模式的命令;STANDBY為該命令的參數(shù),即讓系統(tǒng)進(jìn)入S0/D2/C2模式。3系統(tǒng)總體架構(gòu)Monahans處理器電源管理相關(guān)驅(qū)動提供調(diào)整頻率電壓以及在各電源模式之間切換的功能,并且定期報(bào)告當(dāng)前系統(tǒng)的資源使用狀況。但此類功能在什么時(shí)候使用,例如在什么情況下CPU的頻率應(yīng)該降低,什么情況下應(yīng)該進(jìn)入省電模式,由上層軟件決定。采用什么樣的管理策略也很重要,比如等待時(shí)間的長短,為不同的應(yīng)用程序選擇合適的操作頻率和電壓都會對電池的使用時(shí)間造成很大影響。本文所采用的整個電源管理架構(gòu)如圖1所示。在圖1中,電源管理決策者會實(shí)時(shí)監(jiān)控整個系統(tǒng)的運(yùn)行狀態(tài),包括應(yīng)用程序、所有設(shè)備的需求、PMU的監(jiān)測結(jié)果,然后將此類資源整合起來并根據(jù)當(dāng)前的運(yùn)行狀態(tài)決定系統(tǒng)要切換到的下1個狀態(tài)。Monahans電源管理狀態(tài)轉(zhuǎn)換如圖2所示。3.1頻率電壓設(shè)定當(dāng)系統(tǒng)處于運(yùn)行狀態(tài)時(shí),電源管理者會實(shí)時(shí)獲得應(yīng)用程序針對CPU資源的各種需求信息,計(jì)算所有運(yùn)行程序所需的最大頻率電壓值,然后把系統(tǒng)的頻率電壓設(shè)置到對應(yīng)操作點(diǎn)。當(dāng)某一設(shè)備需要開始運(yùn)行時(shí),它會以事件的形式將所需要的頻率電壓信息通知給電源管理者,電源管理者將該值與當(dāng)前頻率電壓信息進(jìn)行比較,再做出相應(yīng)調(diào)整。3.2系統(tǒng)進(jìn)入省電模式當(dāng)僅有idle任務(wù)在運(yùn)行并且所有的設(shè)備都處于空閑狀態(tài)時(shí),電源管理者停掉CPU核和外設(shè)的時(shí)鐘或者關(guān)閉它們的供電,使系統(tǒng)進(jìn)入某一省電模式。當(dāng)CPU在某一規(guī)定的時(shí)間區(qū)間內(nèi)一直處于空閑狀態(tài)時(shí),電源管理者設(shè)置喚醒源并使其進(jìn)入輕量級的省電模式S0/D1/C2或者S0/D2/C2。若CPU在一段時(shí)間內(nèi)一直處于上述省電模式,則被喚醒然后立即再次進(jìn)入。該步驟重復(fù)多次后,電源管理者使系統(tǒng)進(jìn)入更為省電的狀態(tài)S2/D3/C4。4省電模式本文研究的電源管理方法在一個基于Monahans處理器的智能導(dǎo)航平臺上應(yīng)用。為了專注于電源管理的效果,通過向電源管理者發(fā)送不同的消息來模擬應(yīng)用程序的各種信息。電源管理相關(guān)參數(shù)設(shè)置如表2所示。其中,默認(rèn)頻率為CPU重置之后的運(yùn)行頻率;系統(tǒng)每隔一個采樣周期就對PMU統(tǒng)計(jì)數(shù)據(jù)進(jìn)行分析;S0/D2/C2時(shí)間為系統(tǒng)進(jìn)入S0/D2/C2模式后被喚醒的間隔時(shí)間,其用途見3.2節(jié);CPU在經(jīng)過最多空閑次數(shù)后,進(jìn)入省電模式。應(yīng)用程序與OP對應(yīng)關(guān)系如表3所示。在表3中,各應(yīng)用程序依次開始運(yùn)行并結(jié)束,每個應(yīng)用的運(yùn)行時(shí)間為1s,應(yīng)用之間的間隔時(shí)間為0.5s。程序運(yùn)行順序?yàn)橐曨l、MP3、文檔編輯、游戲以及默認(rèn)。在關(guān)閉和開啟電源管理功能的2種情況下系統(tǒng)運(yùn)行頻率信息對比如圖3所示,核心電壓信息對比如圖4所示。從圖3、4可知,在加入了電源管理功能后,頻率和電壓明顯減小,除了視頻等要求CPU以最高OP運(yùn)行的情況。在進(jìn)入省電模式后,CPU的頻率降為0或者電源被關(guān)掉,進(jìn)一步減少了電量消耗。表4描述了在沒有應(yīng)用程序占用CPU時(shí),各模式下對時(shí)間和能量消耗的對比信息。由表4可知,因?yàn)閕dle時(shí)的功耗遠(yuǎn)大于S0/D2/C2和S2/D3/C4時(shí),所以應(yīng)盡量減少CPU處于idle狀態(tài)的時(shí)間;從S2/D3/C4狀態(tài)喚醒所用時(shí)間遠(yuǎn)大于從S0/D2/C2喚醒所用時(shí)間。在進(jìn)入S0/D2/C2狀態(tài)后不會立即進(jìn)入S2/D3/C4狀態(tài),而會反復(fù)幾次退出到idle狀態(tài)后再進(jìn)入S0/D2/C2。若期間無應(yīng)用需求,則會進(jìn)入S2/D3/C4狀態(tài)。這樣同時(shí)兼顧對應(yīng)用的響應(yīng)時(shí)間和能量消耗,但不一定能夠達(dá)到最好效果。在實(shí)際應(yīng)用系統(tǒng)中,若電池能量要求較高,則應(yīng)盡快進(jìn)入S2/D3/C4狀態(tài);若對響應(yīng)的要求較高,則可以適
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年區(qū)第三期機(jī)關(guān)、事業(yè)單位公開選調(diào)工作人員考試題及答案
- 【+高+中語文】長征勝利萬歲++課件++統(tǒng)編版語文高二選擇性必修上冊
- 獲獎?wù)n件教學(xué)課件
- 與銀行簽訂合同模板
- 咸寧合同模板家好
- 銀行貿(mào)易合同模板中文
- 煤矸石合作合同模板
- 供銷欠款合同模板
- 窗戶護(hù)欄安裝合同模板
- 合作石材合同模板
- 標(biāo)準(zhǔn)太陽能光譜數(shù)據(jù)
- GB/T 42019-2022基于時(shí)間敏感技術(shù)的寬帶工業(yè)總線AUTBUS系統(tǒng)架構(gòu)與通信規(guī)范
- WS/T 83-1996肉毒梭菌食物中毒診斷標(biāo)準(zhǔn)及處理原則
- GB/T 24346-2009紡織品防霉性能的評價(jià)
- 必修二第七章第四節(jié)基本營養(yǎng)物質(zhì)-糖類(說課)
- 新概念英語入門級AUnit3課件
- 報(bào)告廳會議室裝飾工程施工方案
- 初一年級建隊(duì)儀式校領(lǐng)導(dǎo)講話稿
- 六年級上冊數(shù)學(xué)課件-3 樹葉中的比丨蘇教版 (共17張PPT)
- 三年級中華優(yōu)秀傳統(tǒng)文化教案
- 《節(jié)約用水,珍惜水資源》綜合實(shí)踐活動案例
評論
0/150
提交評論