浓毛老太交欧美老妇热爱乱,蜜臀性色av免费,妺妺窝人体色www看美女,久久久久久久久久久大尺度免费视频,麻豆人妻无码性色av专区

位置:51電子網(wǎng) » 技術(shù)資料 » 其它綜合

嵌入式Linux的低功耗策略研究

發(fā)布時(shí)間:2007/8/31 0:00:00 訪問次數(shù):524

作者:國防科技大學(xué) 湯順 趙龍


摘  要:功耗是嵌入式設(shè)備的一個(gè)十分重要的性能指標(biāo)。在硬件設(shè)計(jì)和選型之后,功耗水平在極大程度上取決于軟件的設(shè)計(jì)。鑒于Lioux在嵌入式設(shè)備中的應(yīng)用日益廣泛,提出在嵌入式Linux下軟件編寫的幾種策略。通過這些軟件編寫方式,能有效降低最終產(chǎn)品的功耗水平。


關(guān)鍵詞:嵌入式Linux功耗策略


引 言


由于Linux系統(tǒng)具有嵌入式操作系統(tǒng)需要的很多特色,如適應(yīng)于多種CPU和多種硬件平臺(tái)、性能穩(wěn)定、可裁剪性很好、源碼開放、開發(fā)和使用簡單等。目前,基于Linux應(yīng)用的嵌入式設(shè)備日益增多,Linux正在嵌入式領(lǐng)域發(fā)揮著越來越重要的作用。


對(duì)于嵌入式設(shè)備尤其是移動(dòng)設(shè)備來說,功耗是系統(tǒng)的重要指標(biāo),系統(tǒng)設(shè)計(jì)的重要目標(biāo)之一就是要盡可能地降低功耗。目前,對(duì)功耗的研究主要集中在硬件解決方案上,而軟件研究方面很少。實(shí)踐證明:在硬件設(shè)計(jì)和選型確定后,功耗的高低與軟件設(shè)計(jì)有很大的關(guān)聯(lián)性。軟件設(shè)計(jì)和編程質(zhì)量的好壞,極大地影響著最終產(chǎn)品的功耗水平。據(jù)此,為降低功耗,提出在嵌入式Linux下軟件編程的幾種策略。


1 問題分析


因?yàn)樽罱K耗能的是硬件,所以在考慮采用軟件方法降低功耗的時(shí)候,要充分考慮硬件的功能和性能,即在保障系統(tǒng)實(shí)現(xiàn)的基礎(chǔ)上怎樣組織硬件運(yùn)作而使功耗降低。全速執(zhí)行、待機(jī)和睡眠等行為都是利用CPU的固有能力,透過降低工作電壓或頻率來節(jié)省功耗。此外,在大多數(shù)用戶察覺不到的情況下,實(shí)際的電源管理能夠根據(jù)負(fù)載狀況逐漸改變系統(tǒng)的狀態(tài),有時(shí)這種情況在l s之內(nèi)可以產(chǎn)生數(shù)百次。


另外,在編寫程序時(shí)可能會(huì)遇到這樣的情況,如記錄狀態(tài)寄存器內(nèi)容,并等待設(shè)定標(biāo)記出現(xiàn);檢查串口的FIFO狀態(tài)標(biāo)記,看是否收到數(shù)據(jù);監(jiān)測(cè)一個(gè)雙端口存儲(chǔ)器,以確定系統(tǒng)中是否有另外CPU寫入了一個(gè)變量,以便控制共享資源。從表面上看,這樣的代碼沒有什么問題,但在每個(gè)時(shí)鐘周期里不斷記錄寄存器狀態(tài)將無法有效延長設(shè)備的電池壽命。


基于這些問題,下面提出幾種策略,以有效降低最終產(chǎn)品的功耗水平。


2 利用Linux內(nèi)核的電源管理


電源管理策略的基礎(chǔ)是調(diào)整處理器內(nèi)核的工作電壓和頻率。不過,現(xiàn)代的嵌入式CPU具有非常高的電源效率,以至于CPU并不總是最主要的耗能組件。其他高耗能的組件包括高性能內(nèi)存、顯示屏和射頻接口等,因此,如果電源管理系統(tǒng)只能調(diào)節(jié)CPU內(nèi)核的電壓和頻率,那么它的用途將有限。一個(gè)真正有效的電源管理方案應(yīng)該可以采用與CPU內(nèi)核執(zhí)行相協(xié)調(diào)或相獨(dú)立的方式,支持對(duì)一系列電壓和頻率的快速調(diào)節(jié)。


Linux支持兩種電源管理標(biāo)準(zhǔn):APM(AdvancedPower Managememt)和ACPI(Advanced Configtlrationand P0wer Interface)。APM是傳統(tǒng)的高級(jí)電源管理方案,目前仍然使用在許多基于Linus便攜式設(shè)備中;而ACPI則提供了更為靈活的電腦和設(shè)備管理接口。這兩個(gè)標(biāo)準(zhǔn)不能同時(shí)運(yùn)行。缺省情況下,Linux運(yùn)行ACPI。APM可以使機(jī)器處于Suspend(懸掛)或Standby(待機(jī))狀態(tài),以及檢查電池容量;而ACPI還可以使外設(shè)(如顯示器、PCI)單獨(dú)斷電,在節(jié)省電能方面有更多的控制。為了讓電源管理功能生效,需要在Linux內(nèi)核打開它,并且在Linux里加載必需的應(yīng)用軟件。


電源管理活動(dòng)需要對(duì)操作系統(tǒng)內(nèi)核和設(shè)備驅(qū)動(dòng)程序進(jìn)行特殊的干預(yù)。在嵌入式Linux中,雖然低層電源管理駐留在操作系統(tǒng)內(nèi)核中,但電源管理策略和機(jī)制來源于中介軟件和用戶應(yīng)用程序代碼,如圖l所示。




Linux內(nèi)核中電源管理機(jī)制負(fù)責(zé)維持整個(gè)系統(tǒng)的電源狀態(tài)。它可以看成是為驅(qū)動(dòng)程序、中介軟件和應(yīng)用程序提供服務(wù)的元素。


通過在驅(qū)動(dòng)程序中實(shí)現(xiàn)電源管理接口,可以讓驅(qū)動(dòng)程序密切監(jiān)控系統(tǒng)狀態(tài)。它們?cè)谕獠渴录尿?qū)動(dòng)下,透過設(shè)定不同的狀態(tài)反映設(shè)備的工作情況。為了實(shí)現(xiàn)設(shè)備電源管理接口,需要實(shí)現(xiàn)以下操作:
①使用pm_register對(duì)設(shè)備的每個(gè)實(shí)例(instance)進(jìn)行注冊(cè);
②在對(duì)硬件進(jìn)行操作之前調(diào)用pm_access(這樣可保證設(shè)備已被喚醒,并處于ready狀態(tài));
③用戶自己的pnl_callback函數(shù)在系統(tǒng)進(jìn)入suspend狀態(tài),或者從suspend狀態(tài)恢復(fù)的時(shí)候會(huì)被調(diào)用;
④當(dāng)設(shè)備不使用時(shí)調(diào)用pm_dev_idle函數(shù)(這個(gè)操作是可選的,以增強(qiáng)設(shè)備idle狀態(tài)的監(jiān)測(cè)能力);
⑤當(dāng)被unIoad的時(shí)候,使用pm_unreggister取消設(shè)備的注冊(cè)。


中介程序允許用戶預(yù)先定義某些策略,然后跟蹤電源狀態(tài),執(zhí)行特定的操作。


在應(yīng)用程序中,利用中介程序提供的API,設(shè)立其基本的約束條件,強(qiáng)迫電源管理機(jī)制產(chǎn)生與其執(zhí)行需求相匹配的變化。Linix電源管理的實(shí)現(xiàn)機(jī)制包括以下API,例如dpm_set_os()(內(nèi)核)、assert_constraint()、remove_constraint()和set_operatInK—state()(內(nèi)核和驅(qū)動(dòng)程序)、set_policy()和set_ta

作者:國防科技大學(xué) 湯順 趙龍


摘  要:功耗是嵌入式設(shè)備的一個(gè)十分重要的性能指標(biāo)。在硬件設(shè)計(jì)和選型之后,功耗水平在極大程度上取決于軟件的設(shè)計(jì)。鑒于Lioux在嵌入式設(shè)備中的應(yīng)用日益廣泛,提出在嵌入式Linux下軟件編寫的幾種策略。通過這些軟件編寫方式,能有效降低最終產(chǎn)品的功耗水平。


關(guān)鍵詞:嵌入式Linux功耗策略


引 言


由于Linux系統(tǒng)具有嵌入式操作系統(tǒng)需要的很多特色,如適應(yīng)于多種CPU和多種硬件平臺(tái)、性能穩(wěn)定、可裁剪性很好、源碼開放、開發(fā)和使用簡單等。目前,基于Linux應(yīng)用的嵌入式設(shè)備日益增多,Linux正在嵌入式領(lǐng)域發(fā)揮著越來越重要的作用。


對(duì)于嵌入式設(shè)備尤其是移動(dòng)設(shè)備來說,功耗是系統(tǒng)的重要指標(biāo),系統(tǒng)設(shè)計(jì)的重要目標(biāo)之一就是要盡可能地降低功耗。目前,對(duì)功耗的研究主要集中在硬件解決方案上,而軟件研究方面很少。實(shí)踐證明:在硬件設(shè)計(jì)和選型確定后,功耗的高低與軟件設(shè)計(jì)有很大的關(guān)聯(lián)性。軟件設(shè)計(jì)和編程質(zhì)量的好壞,極大地影響著最終產(chǎn)品的功耗水平。據(jù)此,為降低功耗,提出在嵌入式Linux下軟件編程的幾種策略。


1 問題分析


因?yàn)樽罱K耗能的是硬件,所以在考慮采用軟件方法降低功耗的時(shí)候,要充分考慮硬件的功能和性能,即在保障系統(tǒng)實(shí)現(xiàn)的基礎(chǔ)上怎樣組織硬件運(yùn)作而使功耗降低。全速執(zhí)行、待機(jī)和睡眠等行為都是利用CPU的固有能力,透過降低工作電壓或頻率來節(jié)省功耗。此外,在大多數(shù)用戶察覺不到的情況下,實(shí)際的電源管理能夠根據(jù)負(fù)載狀況逐漸改變系統(tǒng)的狀態(tài),有時(shí)這種情況在l s之內(nèi)可以產(chǎn)生數(shù)百次。


另外,在編寫程序時(shí)可能會(huì)遇到這樣的情況,如記錄狀態(tài)寄存器內(nèi)容,并等待設(shè)定標(biāo)記出現(xiàn);檢查串口的FIFO狀態(tài)標(biāo)記,看是否收到數(shù)據(jù);監(jiān)測(cè)一個(gè)雙端口存儲(chǔ)器,以確定系統(tǒng)中是否有另外CPU寫入了一個(gè)變量,以便控制共享資源。從表面上看,這樣的代碼沒有什么問題,但在每個(gè)時(shí)鐘周期里不斷記錄寄存器狀態(tài)將無法有效延長設(shè)備的電池壽命。


基于這些問題,下面提出幾種策略,以有效降低最終產(chǎn)品的功耗水平。


2 利用Linux內(nèi)核的電源管理


電源管理策略的基礎(chǔ)是調(diào)整處理器內(nèi)核的工作電壓和頻率。不過,現(xiàn)代的嵌入式CPU具有非常高的電源效率,以至于CPU并不總是最主要的耗能組件。其他高耗能的組件包括高性能內(nèi)存、顯示屏和射頻接口等,因此,如果電源管理系統(tǒng)只能調(diào)節(jié)CPU內(nèi)核的電壓和頻率,那么它的用途將有限。一個(gè)真正有效的電源管理方案應(yīng)該可以采用與CPU內(nèi)核執(zhí)行相協(xié)調(diào)或相獨(dú)立的方式,支持對(duì)一系列電壓和頻率的快速調(diào)節(jié)。


Linux支持兩種電源管理標(biāo)準(zhǔn):APM(AdvancedPower Managememt)和ACPI(Advanced Configtlrationand P0wer Interface)。APM是傳統(tǒng)的高級(jí)電源管理方案,目前仍然使用在許多基于Linus便攜式設(shè)備中;而ACPI則提供了更為靈活的電腦和設(shè)備管理接口。這兩個(gè)標(biāo)準(zhǔn)不能同時(shí)運(yùn)行。缺省情況下,Linux運(yùn)行ACPI。APM可以使機(jī)器處于Suspend(懸掛)或Standby(待機(jī))狀態(tài),以及檢查電池容量;而ACPI還可以使外設(shè)(如顯示器、PCI)單獨(dú)斷電,在節(jié)省電能方面有更多的控制。為了讓電源管理功能生效,需要在Linux內(nèi)核打開它,并且在Linux里加載必需的應(yīng)用軟件。


電源管理活動(dòng)需要對(duì)操作系統(tǒng)內(nèi)核和設(shè)備驅(qū)動(dòng)程序進(jìn)行特殊的干預(yù)。在嵌入式Linux中,雖然低層電源管理駐留在操作系統(tǒng)內(nèi)核中,但電源管理策略和機(jī)制來源于中介軟件和用戶應(yīng)用程序代碼,如圖l所示。




Linux內(nèi)核中電源管理機(jī)制負(fù)責(zé)維持整個(gè)系統(tǒng)的電源狀態(tài)。它可以看成是為驅(qū)動(dòng)程序、中介軟件和應(yīng)用程序提供服務(wù)的元素。


通過在驅(qū)動(dòng)程序中實(shí)現(xiàn)電源管理接口,可以讓驅(qū)動(dòng)程序密切監(jiān)控系統(tǒng)狀態(tài)。它們?cè)谕獠渴录尿?qū)動(dòng)下,透過設(shè)定不同的狀態(tài)反映設(shè)備的工作情況。為了實(shí)現(xiàn)設(shè)備電源管理接口,需要實(shí)現(xiàn)以下操作:
①使用pm_register對(duì)設(shè)備的每個(gè)實(shí)例(instance)進(jìn)行注冊(cè);
②在對(duì)硬件進(jìn)行操作之前調(diào)用pm_access(這樣可保證設(shè)備已被喚醒,并處于ready狀態(tài));
③用戶自己的pnl_callback函數(shù)在系統(tǒng)進(jìn)入suspend狀態(tài),或者從suspend狀態(tài)恢復(fù)的時(shí)候會(huì)被調(diào)用;
④當(dāng)設(shè)備不使用時(shí)調(diào)用pm_dev_idle函數(shù)(這個(gè)操作是可選的,以增強(qiáng)設(shè)備idle狀態(tài)的監(jiān)測(cè)能力);
⑤當(dāng)被unIoad的時(shí)候,使用pm_unreggister取消設(shè)備的注冊(cè)。


中介程序允許用戶預(yù)先定義某些策略,然后跟蹤電源狀態(tài),執(zhí)行特定的操作。


在應(yīng)用程序中,利用中介程序提供的API,設(shè)立其基本的約束條件,強(qiáng)迫電源管理機(jī)制產(chǎn)生與其執(zhí)行需求相匹配的變化。Linix電源管理的實(shí)現(xiàn)機(jī)制包括以下API,例如dpm_set_os()(內(nèi)核)、assert_constraint()、remove_constraint()和set_operatInK—state()(內(nèi)核和驅(qū)動(dòng)程序)、set_policy()和set_ta

相關(guān)IC型號(hào)

熱門點(diǎn)擊

 

推薦技術(shù)資料

羅盤誤差及補(bǔ)償
    造成羅盤誤差的主要因素有傳感器誤差、其他磁材料干擾等。... [詳細(xì)]
版權(quán)所有:51dzw.COM
深圳服務(wù)熱線:13751165337  13692101218
粵ICP備09112631號(hào)-6(miitbeian.gov.cn)
公網(wǎng)安備44030402000607
深圳市碧威特網(wǎng)絡(luò)技術(shù)有限公司
付款方式


 復(fù)制成功!