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

位置:51電子網(wǎng) » 技術(shù)資料 » 嵌入式系統(tǒng)

Linux 2.6 內(nèi)核中的最新電源管理技術(shù)綜述

發(fā)布時間:2008/8/19 0:00:00 訪問次數(shù):406

cpufreq 的由來

隨著 energy efficient computing 和 performance per watt 等概念的推廣以及高級配置與電源接口acpi(advanced configuration and power interface)標(biāo)準(zhǔn)的發(fā)展,目前市場上的主流 cpu 都提供了對變頻(frequency scaling)技術(shù)的支持。例如intel®處理器所支持的 enhanced speedstep® 技術(shù)和 amd® 處理器所支持的 powernow! ® 技術(shù),另外像最新的powerpc®、arm®、sparc® 和 superh® 等處理器中也提供了類似的支持。參考資料中列出了當(dāng)前 linux 2.6內(nèi)核所支持的具備變頻技術(shù)的處理器。需要注意的是,這里要討論的變頻技術(shù)與大家以前所熟知的超頻是兩個不同的概念。超頻是指通過提高核心電壓等手段讓處理器工作在非標(biāo)準(zhǔn)頻率下的行為,這往往會造成 cpu 使用壽命縮短以及系統(tǒng)穩(wěn)定性下降等嚴(yán)重后果。

而變頻技術(shù)是指cpu硬件本身支持在不同的頻率下運(yùn)行,系統(tǒng)在運(yùn)行過程中可以根據(jù)隨時可能發(fā)生變化的系統(tǒng)負(fù)載情況動態(tài)在這些不同的運(yùn)行頻率之間進(jìn)行切換,從而達(dá)到對性能和功耗做到二者兼顧的目的。

雖然多個處理器生產(chǎn)廠家都提供了對變頻技術(shù)的支持,但是其硬件實(shí)現(xiàn)和使用方法必然存在著細(xì)微甚至巨大的差別。這就使得每個處理器生產(chǎn)廠家都需要按照其特殊的硬件實(shí)現(xiàn)和使用方法向內(nèi)核中添加代碼,從而讓自己產(chǎn)品中的變頻技術(shù)在 linux 中得到支持和使用。然而,這種內(nèi)核開發(fā)模式所導(dǎo)致的后果是各個廠家的實(shí)現(xiàn)代碼散落在 linux 內(nèi)核代碼樹的各個角落里,各種不同的實(shí)現(xiàn)之間沒有任何代碼是共享的,這給內(nèi)核的維護(hù)以及將來添加對新的產(chǎn)品的支持都帶來了巨大的開銷,并直接導(dǎo)致了 cpufreq 內(nèi)核子系統(tǒng)的誕生。實(shí)際上,正如前文所說,發(fā)明變頻技術(shù)的目的是為了能夠讓系統(tǒng)在運(yùn)行過程中隨時根據(jù)系統(tǒng)負(fù)載的變化動態(tài)調(diào)整 cpu 的運(yùn)行頻率。這件事情可以分為兩個部分,一部分是“做什么”的問題,另一部分是“怎么做”的問題!白鍪裁础笔侵溉绾胃鶕(jù)系統(tǒng)負(fù)載的動態(tài)變化挑選出 cpu 合適的運(yùn)行頻率,而“怎么做”就是要按照選定的運(yùn)行頻率在選定的時間對 cpu 進(jìn)行設(shè)置,使之真正工作在這一頻率上。這也就是我們在軟件設(shè)計中經(jīng)常會遇到的機(jī)制 mechanism 與策略 policy 的問題,而設(shè)計良好的軟件會在架構(gòu)上保證二者是被清晰的隔離開的并通過規(guī)范定義的接口進(jìn)行通信。

cpufreq 的設(shè)計和使用

為了解決前文所提到的問題,一個新的內(nèi)核子系統(tǒng)—— cpufreq 應(yīng)運(yùn)而生了。cpufreq 為在linux 內(nèi)核中更好的支持不同 cpu 的變頻技術(shù)提供了一個統(tǒng)一的設(shè)計框架,其軟件結(jié)構(gòu)如圖 1 所示。


圖 1. cpufreq 的軟件結(jié)構(gòu)


如圖 1 所示,cpufreq 在設(shè)計上主要分為以下三個模塊:

cpufreq 模塊(cpufreq module)對如何在底層控制各種不同cpu 所支持的變頻技術(shù)以及如何在上層根據(jù)系統(tǒng)負(fù)載動態(tài)選擇合適的運(yùn)行頻率進(jìn)行了封裝和抽象,并在二者之間定義了清晰的接口,從而在設(shè)計上完成了前文所提到的對 mechanism 與policy 的分離。


在 cpufreq 模塊的底層,各個cpu 生產(chǎn)廠商只需根據(jù)其變頻技術(shù)的硬件實(shí)現(xiàn)和使用方法提供與其 cpu 相關(guān)的變頻驅(qū)動程序(cpu-specific drivers),例如 intel 需要提供支持enhanced speedstep 技術(shù)的 cpu 驅(qū)動程序,而 amd 則需要提供支持 powernow! 技術(shù)的 cpu 驅(qū)動程序。

在 cpufreq 模塊的上層,governor 作為選擇合適的目標(biāo)運(yùn)行頻率的決策者,根據(jù)一定的標(biāo)準(zhǔn)在適當(dāng)?shù)臅r刻選擇出 cpu 適合的運(yùn)行頻率,并通過 cpufreq 模塊定義的接口操作底層與 cpu 相關(guān)的變頻驅(qū)動程序,將 cpu 設(shè)置運(yùn)行在選定的運(yùn)行頻率上。

目前最新的 linux 內(nèi)核中提供了 performance 、powersave 、userspace、conservative 和 ondemand 五種 governors 供用戶選擇使用,它們在選擇 cpu 合適的運(yùn)行頻率時使用的是各自不同的標(biāo)準(zhǔn)并分別適用于不同的應(yīng)用場景。用戶在同一時間只能選擇其中一個 governor 使用,但是可以在系統(tǒng)運(yùn)行過程中根據(jù)應(yīng)用需求的變化而切換使用另一個 governor 。


這種設(shè)計帶來的好處是使得 governor 和 cpu 相關(guān)的變頻驅(qū)動程序的開發(fā)可以相互獨(dú)立進(jìn)行,并在最大限度上實(shí)現(xiàn)代碼重用,內(nèi)核開發(fā)人員在編寫和試驗(yàn)新的 governor 時不會再陷入到某款特定 cpu 的變頻技術(shù)的硬件實(shí)現(xiàn)細(xì)節(jié)中去,而 cpu 生產(chǎn)廠商在向 linux 內(nèi)核中添加支持其特定的 cpu 變頻技術(shù)的代碼時只需提供一個相對來說簡單了很多的驅(qū)動程序,而不必考慮在各種不同的應(yīng)用場景中如何選擇合適的運(yùn)行頻率這些復(fù)雜的問題。

內(nèi)核中的 cpufreq 子系統(tǒng)通過 sysfs 文件系統(tǒng)向上層應(yīng)用提供了用戶接口,對于系統(tǒng)中的每一個 cpu 而言,其 cpufreq 的 sysfs 用戶接口位于 /sys/devices/system/cpu/cpux/cpufreq/ 目錄下,其中 x 代表 processor id ,與 /proc/cpuinfo 中的信息相對應(yīng)。以cpu0

cpufreq 的由來

隨著 energy efficient computing 和 performance per watt 等概念的推廣以及高級配置與電源接口acpi(advanced configuration and power interface)標(biāo)準(zhǔn)的發(fā)展,目前市場上的主流 cpu 都提供了對變頻(frequency scaling)技術(shù)的支持。例如intel®處理器所支持的 enhanced speedstep® 技術(shù)和 amd® 處理器所支持的 powernow! ® 技術(shù),另外像最新的powerpc®、arm®、sparc® 和 superh® 等處理器中也提供了類似的支持。參考資料中列出了當(dāng)前 linux 2.6內(nèi)核所支持的具備變頻技術(shù)的處理器。需要注意的是,這里要討論的變頻技術(shù)與大家以前所熟知的超頻是兩個不同的概念。超頻是指通過提高核心電壓等手段讓處理器工作在非標(biāo)準(zhǔn)頻率下的行為,這往往會造成 cpu 使用壽命縮短以及系統(tǒng)穩(wěn)定性下降等嚴(yán)重后果。

而變頻技術(shù)是指cpu硬件本身支持在不同的頻率下運(yùn)行,系統(tǒng)在運(yùn)行過程中可以根據(jù)隨時可能發(fā)生變化的系統(tǒng)負(fù)載情況動態(tài)在這些不同的運(yùn)行頻率之間進(jìn)行切換,從而達(dá)到對性能和功耗做到二者兼顧的目的。

雖然多個處理器生產(chǎn)廠家都提供了對變頻技術(shù)的支持,但是其硬件實(shí)現(xiàn)和使用方法必然存在著細(xì)微甚至巨大的差別。這就使得每個處理器生產(chǎn)廠家都需要按照其特殊的硬件實(shí)現(xiàn)和使用方法向內(nèi)核中添加代碼,從而讓自己產(chǎn)品中的變頻技術(shù)在 linux 中得到支持和使用。然而,這種內(nèi)核開發(fā)模式所導(dǎo)致的后果是各個廠家的實(shí)現(xiàn)代碼散落在 linux 內(nèi)核代碼樹的各個角落里,各種不同的實(shí)現(xiàn)之間沒有任何代碼是共享的,這給內(nèi)核的維護(hù)以及將來添加對新的產(chǎn)品的支持都帶來了巨大的開銷,并直接導(dǎo)致了 cpufreq 內(nèi)核子系統(tǒng)的誕生。實(shí)際上,正如前文所說,發(fā)明變頻技術(shù)的目的是為了能夠讓系統(tǒng)在運(yùn)行過程中隨時根據(jù)系統(tǒng)負(fù)載的變化動態(tài)調(diào)整 cpu 的運(yùn)行頻率。這件事情可以分為兩個部分,一部分是“做什么”的問題,另一部分是“怎么做”的問題!白鍪裁础笔侵溉绾胃鶕(jù)系統(tǒng)負(fù)載的動態(tài)變化挑選出 cpu 合適的運(yùn)行頻率,而“怎么做”就是要按照選定的運(yùn)行頻率在選定的時間對 cpu 進(jìn)行設(shè)置,使之真正工作在這一頻率上。這也就是我們在軟件設(shè)計中經(jīng)常會遇到的機(jī)制 mechanism 與策略 policy 的問題,而設(shè)計良好的軟件會在架構(gòu)上保證二者是被清晰的隔離開的并通過規(guī)范定義的接口進(jìn)行通信。

cpufreq 的設(shè)計和使用

為了解決前文所提到的問題,一個新的內(nèi)核子系統(tǒng)—— cpufreq 應(yīng)運(yùn)而生了。cpufreq 為在linux 內(nèi)核中更好的支持不同 cpu 的變頻技術(shù)提供了一個統(tǒng)一的設(shè)計框架,其軟件結(jié)構(gòu)如圖 1 所示。


圖 1. cpufreq 的軟件結(jié)構(gòu)


如圖 1 所示,cpufreq 在設(shè)計上主要分為以下三個模塊:

cpufreq 模塊(cpufreq module)對如何在底層控制各種不同cpu 所支持的變頻技術(shù)以及如何在上層根據(jù)系統(tǒng)負(fù)載動態(tài)選擇合適的運(yùn)行頻率進(jìn)行了封裝和抽象,并在二者之間定義了清晰的接口,從而在設(shè)計上完成了前文所提到的對 mechanism 與policy 的分離。


在 cpufreq 模塊的底層,各個cpu 生產(chǎn)廠商只需根據(jù)其變頻技術(shù)的硬件實(shí)現(xiàn)和使用方法提供與其 cpu 相關(guān)的變頻驅(qū)動程序(cpu-specific drivers),例如 intel 需要提供支持enhanced speedstep 技術(shù)的 cpu 驅(qū)動程序,而 amd 則需要提供支持 powernow! 技術(shù)的 cpu 驅(qū)動程序。

在 cpufreq 模塊的上層,governor 作為選擇合適的目標(biāo)運(yùn)行頻率的決策者,根據(jù)一定的標(biāo)準(zhǔn)在適當(dāng)?shù)臅r刻選擇出 cpu 適合的運(yùn)行頻率,并通過 cpufreq 模塊定義的接口操作底層與 cpu 相關(guān)的變頻驅(qū)動程序,將 cpu 設(shè)置運(yùn)行在選定的運(yùn)行頻率上。

目前最新的 linux 內(nèi)核中提供了 performance 、powersave 、userspace、conservative 和 ondemand 五種 governors 供用戶選擇使用,它們在選擇 cpu 合適的運(yùn)行頻率時使用的是各自不同的標(biāo)準(zhǔn)并分別適用于不同的應(yīng)用場景。用戶在同一時間只能選擇其中一個 governor 使用,但是可以在系統(tǒng)運(yùn)行過程中根據(jù)應(yīng)用需求的變化而切換使用另一個 governor 。


這種設(shè)計帶來的好處是使得 governor 和 cpu 相關(guān)的變頻驅(qū)動程序的開發(fā)可以相互獨(dú)立進(jìn)行,并在最大限度上實(shí)現(xiàn)代碼重用,內(nèi)核開發(fā)人員在編寫和試驗(yàn)新的 governor 時不會再陷入到某款特定 cpu 的變頻技術(shù)的硬件實(shí)現(xiàn)細(xì)節(jié)中去,而 cpu 生產(chǎn)廠商在向 linux 內(nèi)核中添加支持其特定的 cpu 變頻技術(shù)的代碼時只需提供一個相對來說簡單了很多的驅(qū)動程序,而不必考慮在各種不同的應(yīng)用場景中如何選擇合適的運(yùn)行頻率這些復(fù)雜的問題。

內(nèi)核中的 cpufreq 子系統(tǒng)通過 sysfs 文件系統(tǒng)向上層應(yīng)用提供了用戶接口,對于系統(tǒng)中的每一個 cpu 而言,其 cpufreq 的 sysfs 用戶接口位于 /sys/devices/system/cpu/cpux/cpufreq/ 目錄下,其中 x 代表 processor id ,與 /proc/cpuinfo 中的信息相對應(yīng)。以cpu0

相關(guān)IC型號

熱門點(diǎn)擊

 

推薦技術(shù)資料

DFRobot—玩的就是
    如果說新車間的特點(diǎn)是“靈動”,F(xiàn)QPF12N60C那么... [詳細(xì)]
版權(quán)所有:51dzw.COM
深圳服務(wù)熱線:13751165337  13692101218
粵ICP備09112631號-6(miitbeian.gov.cn)
公網(wǎng)安備44030402000607
深圳市碧威特網(wǎng)絡(luò)技術(shù)有限公司
付款方式


 復(fù)制成功!