便攜式設(shè)備動態(tài)電源管理的Linux技
發(fā)布時間:2008/8/25 0:00:00 訪問次數(shù):402
全速運(yùn)行、待機(jī)和睡眠等宏觀行為利用cpu的固有能力通過降低工作電壓或時鐘頻率來節(jié)省功耗。除了全面地改變系統(tǒng)狀態(tài)外,大多數(shù)設(shè)備用戶察覺不到的是,實(shí)際的電源管理也能夠逐漸地改變系統(tǒng)狀態(tài),這種情況在一秒之內(nèi)可以發(fā)生數(shù)百次。
任何動態(tài)電源管理策略的基礎(chǔ)都是調(diào)整便攜式設(shè)備中一個或多個處理器內(nèi)核的工作電壓和頻率,此外,在高集成度的powerpc、arm和基于x86的系統(tǒng)中經(jīng)常包含一個dsp或智能基帶處理器。的確,諸如英特爾的strongarm和xscale處理器、ti的omap處理器系列以及ibm的powerpc 405lp和transmeta crusoe等cpu都提供內(nèi)核電壓和頻率的動態(tài)調(diào)節(jié)功能。不過,現(xiàn)代的嵌入式處理器具有非常高的電源效率,以至于cpu并不總是最主要的耗能器件,其它高耗能的器件包括高性能存儲器、彩色顯示器和射頻接口等。因此,如果動態(tài)電源管理系統(tǒng)只能調(diào)節(jié)處理器內(nèi)核的電壓和頻率,那么它的用途將有限。
一個真正有用的動態(tài)電源管理方案應(yīng)該可以采用與cpu內(nèi)核運(yùn)行相協(xié)調(diào)或相獨(dú)立的方式,支持對一系列電壓和時鐘的快速調(diào)節(jié)。
dpm架構(gòu)
兩個現(xiàn)有的電源管理方案分別來自于pc和筆記本電腦領(lǐng)域:一個是傳統(tǒng)的高級電源管理(apm)方案,它目前仍然使用在許多基于linux的便攜設(shè)備中,但在基于微軟操作系統(tǒng)的筆記本電腦和手持設(shè)備中已經(jīng)被逐步淘汰;另一個是高級配置和電源接口(acpi)方案,它是英特爾、東芝和其他一些公司支持的現(xiàn)行標(biāo)準(zhǔn)。在pc、筆記本電腦、服務(wù)器、甚至刀片式通信設(shè)備等商業(yè)硬件中,類似acpi的系統(tǒng)是人們的首選,但它強(qiáng)烈依賴于流行的x86/ia-32 bios 架構(gòu)。
嵌入式系統(tǒng)通常沒有類似于pc中的bios,而且通常不具備那么高的機(jī)器抽象水平,能夠把操作系統(tǒng)與低層次的設(shè)備和電源管理活動隔離開來。與其它瞄準(zhǔn)電池供電應(yīng)用的操作系統(tǒng)類似,在嵌入式linux中,電源管理活動需要對操作系統(tǒng)內(nèi)核和設(shè)備驅(qū)動程序進(jìn)行特殊的干預(yù)。不過,需要重點(diǎn)強(qiáng)調(diào)的是,雖然低層次的動態(tài)電源管理是駐留在操作系統(tǒng)內(nèi)核中,但電源管理策略和機(jī)制是來源于中間件和用戶應(yīng)用代碼。
接口和api
理想的電源管理系統(tǒng)應(yīng)盡可能對更多軟件堆棧層達(dá)到幾乎完全透明的程度。事實(shí)上,這是transmeta公司在其crusoe架構(gòu)中所遵循的路線,而且已經(jīng)成為基于bios的現(xiàn)有電源管理方案追求的目標(biāo)。然而,具備手持設(shè)備設(shè)計經(jīng)驗(yàn)的開發(fā)人員證實(shí),系統(tǒng)內(nèi)部各部分之間需要某種程度的直接合作,具體描述如下:
內(nèi)核接口
在面向linux的dpm架構(gòu)中,內(nèi)核中的dpm子系統(tǒng)負(fù)責(zé)維持整個系統(tǒng)的電源狀態(tài),并把dpm系統(tǒng)的不同電源管理模塊聯(lián)系在一起。如果內(nèi)核的任何其它部分需要與dpm直接對話(盡管這種情況相對較少),那么最好把dpm看成是為驅(qū)動程序、中間件和應(yīng)用程序提供服務(wù)的元素。
驅(qū)動程序接口
支持dpm功能的設(shè)備驅(qū)動程序比默認(rèn)的驅(qū)動程序更了解系統(tǒng)狀態(tài):它們在外部事件的驅(qū)使下通過設(shè)定不同的狀態(tài)來反映或遵循那些操作機(jī)制,或者通過來自內(nèi)核 dpm子系統(tǒng)的調(diào)用來反映或遵循那些操作機(jī)制。為了實(shí)現(xiàn)更精確的機(jī)制決策,驅(qū)動程序api也允許驅(qū)動程序注冊與它們接口或由它們管理的那些設(shè)備的基礎(chǔ)操作特征。
應(yīng)用程序api
應(yīng)用程序可以分為三類:
*電源管理知會型(pm-aware)應(yīng)用程序
*在電源管理知會“包裹器”中的傳統(tǒng)應(yīng)用程序
*不帶有電源管理的傳統(tǒng)應(yīng)用程序
電源管理知會型應(yīng)用程序能夠利用機(jī)制管理器提供的api,建立其基本的約束條件,并強(qiáng)迫電源管理機(jī)制發(fā)生與其執(zhí)行需求相匹配的變化。不直接帶有電源管理能力的傳統(tǒng)應(yīng)用程序能夠被“包裹”在代碼或補(bǔ)丁中,以達(dá)到較高的效率,但它們也能夠根據(jù)更大范圍的默認(rèn)機(jī)制管理,按默認(rèn)的行為運(yùn)行。
在嵌入式linux dpm下的實(shí)際機(jī)制包括以下api,如dpm_set_os()(內(nèi)核)、assert_constraint()、remove_constraint ()和set_operating_state()(內(nèi)核和驅(qū)動程序)、set_policy()和set_task_state()(經(jīng)系統(tǒng)的用戶級調(diào)用)以及/proc接口。
對實(shí)時性能的影響
迄今為止,調(diào)整cpu電壓和頻率對系統(tǒng)的實(shí)時性能而言依然是一個重大挑戰(zhàn)。任何參數(shù)的改變都將
全速運(yùn)行、待機(jī)和睡眠等宏觀行為利用cpu的固有能力通過降低工作電壓或時鐘頻率來節(jié)省功耗。除了全面地改變系統(tǒng)狀態(tài)外,大多數(shù)設(shè)備用戶察覺不到的是,實(shí)際的電源管理也能夠逐漸地改變系統(tǒng)狀態(tài),這種情況在一秒之內(nèi)可以發(fā)生數(shù)百次。
任何動態(tài)電源管理策略的基礎(chǔ)都是調(diào)整便攜式設(shè)備中一個或多個處理器內(nèi)核的工作電壓和頻率,此外,在高集成度的powerpc、arm和基于x86的系統(tǒng)中經(jīng)常包含一個dsp或智能基帶處理器。的確,諸如英特爾的strongarm和xscale處理器、ti的omap處理器系列以及ibm的powerpc 405lp和transmeta crusoe等cpu都提供內(nèi)核電壓和頻率的動態(tài)調(diào)節(jié)功能。不過,現(xiàn)代的嵌入式處理器具有非常高的電源效率,以至于cpu并不總是最主要的耗能器件,其它高耗能的器件包括高性能存儲器、彩色顯示器和射頻接口等。因此,如果動態(tài)電源管理系統(tǒng)只能調(diào)節(jié)處理器內(nèi)核的電壓和頻率,那么它的用途將有限。
一個真正有用的動態(tài)電源管理方案應(yīng)該可以采用與cpu內(nèi)核運(yùn)行相協(xié)調(diào)或相獨(dú)立的方式,支持對一系列電壓和時鐘的快速調(diào)節(jié)。
dpm架構(gòu)
兩個現(xiàn)有的電源管理方案分別來自于pc和筆記本電腦領(lǐng)域:一個是傳統(tǒng)的高級電源管理(apm)方案,它目前仍然使用在許多基于linux的便攜設(shè)備中,但在基于微軟操作系統(tǒng)的筆記本電腦和手持設(shè)備中已經(jīng)被逐步淘汰;另一個是高級配置和電源接口(acpi)方案,它是英特爾、東芝和其他一些公司支持的現(xiàn)行標(biāo)準(zhǔn)。在pc、筆記本電腦、服務(wù)器、甚至刀片式通信設(shè)備等商業(yè)硬件中,類似acpi的系統(tǒng)是人們的首選,但它強(qiáng)烈依賴于流行的x86/ia-32 bios 架構(gòu)。
嵌入式系統(tǒng)通常沒有類似于pc中的bios,而且通常不具備那么高的機(jī)器抽象水平,能夠把操作系統(tǒng)與低層次的設(shè)備和電源管理活動隔離開來。與其它瞄準(zhǔn)電池供電應(yīng)用的操作系統(tǒng)類似,在嵌入式linux中,電源管理活動需要對操作系統(tǒng)內(nèi)核和設(shè)備驅(qū)動程序進(jìn)行特殊的干預(yù)。不過,需要重點(diǎn)強(qiáng)調(diào)的是,雖然低層次的動態(tài)電源管理是駐留在操作系統(tǒng)內(nèi)核中,但電源管理策略和機(jī)制是來源于中間件和用戶應(yīng)用代碼。
接口和api
理想的電源管理系統(tǒng)應(yīng)盡可能對更多軟件堆棧層達(dá)到幾乎完全透明的程度。事實(shí)上,這是transmeta公司在其crusoe架構(gòu)中所遵循的路線,而且已經(jīng)成為基于bios的現(xiàn)有電源管理方案追求的目標(biāo)。然而,具備手持設(shè)備設(shè)計經(jīng)驗(yàn)的開發(fā)人員證實(shí),系統(tǒng)內(nèi)部各部分之間需要某種程度的直接合作,具體描述如下:
內(nèi)核接口
在面向linux的dpm架構(gòu)中,內(nèi)核中的dpm子系統(tǒng)負(fù)責(zé)維持整個系統(tǒng)的電源狀態(tài),并把dpm系統(tǒng)的不同電源管理模塊聯(lián)系在一起。如果內(nèi)核的任何其它部分需要與dpm直接對話(盡管這種情況相對較少),那么最好把dpm看成是為驅(qū)動程序、中間件和應(yīng)用程序提供服務(wù)的元素。
驅(qū)動程序接口
支持dpm功能的設(shè)備驅(qū)動程序比默認(rèn)的驅(qū)動程序更了解系統(tǒng)狀態(tài):它們在外部事件的驅(qū)使下通過設(shè)定不同的狀態(tài)來反映或遵循那些操作機(jī)制,或者通過來自內(nèi)核 dpm子系統(tǒng)的調(diào)用來反映或遵循那些操作機(jī)制。為了實(shí)現(xiàn)更精確的機(jī)制決策,驅(qū)動程序api也允許驅(qū)動程序注冊與它們接口或由它們管理的那些設(shè)備的基礎(chǔ)操作特征。
應(yīng)用程序api
應(yīng)用程序可以分為三類:
*電源管理知會型(pm-aware)應(yīng)用程序
*在電源管理知會“包裹器”中的傳統(tǒng)應(yīng)用程序
*不帶有電源管理的傳統(tǒng)應(yīng)用程序
電源管理知會型應(yīng)用程序能夠利用機(jī)制管理器提供的api,建立其基本的約束條件,并強(qiáng)迫電源管理機(jī)制發(fā)生與其執(zhí)行需求相匹配的變化。不直接帶有電源管理能力的傳統(tǒng)應(yīng)用程序能夠被“包裹”在代碼或補(bǔ)丁中,以達(dá)到較高的效率,但它們也能夠根據(jù)更大范圍的默認(rèn)機(jī)制管理,按默認(rèn)的行為運(yùn)行。
在嵌入式linux dpm下的實(shí)際機(jī)制包括以下api,如dpm_set_os()(內(nèi)核)、assert_constraint()、remove_constraint ()和set_operating_state()(內(nèi)核和驅(qū)動程序)、set_policy()和set_task_state()(經(jīng)系統(tǒng)的用戶級調(diào)用)以及/proc接口。
對實(shí)時性能的影響
迄今為止,調(diào)整cpu電壓和頻率對系統(tǒng)的實(shí)時性能而言依然是一個重大挑戰(zhàn)。任何參數(shù)的改變都將
熱門點(diǎn)擊
- 基于嵌入式處理器的電力諧波多功能實(shí)時分析系統(tǒng)
- 基于ARM9處理器的智能導(dǎo)游儀設(shè)計
- ARM、DSP、FPGA的特點(diǎn)和區(qū)別
- ucos-ii在嵌入式智能視覺監(jiān)控系統(tǒng)中的應(yīng)
- 統(tǒng)一建模語言UML在嵌入式系統(tǒng)設(shè)計中的應(yīng)用
- ARM/uClinux應(yīng)用程序的開發(fā)
- 基于ARM平臺的GPRS CQT測試系統(tǒng)的設(shè)
- 基于ARM7的LCD設(shè)計與實(shí)現(xiàn)
- Linux系統(tǒng)在嵌入式DVR中的應(yīng)用
- Fujitsu(富士通)發(fā)布SPARC64
推薦技術(shù)資料
- DFRobot—玩的就是
- 如果說新車間的特點(diǎn)是“靈動”,F(xiàn)QPF12N60C那么... [詳細(xì)]
- 100V高頻半橋N-溝道功率MOSFET驅(qū)動
- 集成高端和低端 FET 和驅(qū)動
- 柵極驅(qū)動單片半橋芯片MP869
- 數(shù)字恒定導(dǎo)通時間控制模式(COT)應(yīng)用探究
- 高效率 (CSP/QFN/BG
- IC 工藝、封裝技術(shù)、單片設(shè)
- 多媒體協(xié)處理器SM501在嵌入式系統(tǒng)中的應(yīng)用
- 基于IEEE802.11b的EPA溫度變送器
- QUICCEngine新引擎推動IP網(wǎng)絡(luò)革新
- SoC面世八年后的產(chǎn)業(yè)機(jī)遇
- MPC8xx系列處理器的嵌入式系統(tǒng)電源設(shè)計
- dsPIC及其在交流變頻調(diào)速中的應(yīng)用研究