<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 電源與新能源 > 設計應用 > Linux2.6內核中的最新電源管理技術(shù)綜述

Linux2.6內核中的最新電源管理技術(shù)綜述

作者: 時(shí)間:2016-12-07 來(lái)源:網(wǎng)絡(luò ) 收藏

文在討論cpufreq 的軟件結構時(shí)已經(jīng)指出, cpufreq 從設計上將 CPU 變頻的 policy 與mechanism 分離開(kāi)來(lái)并由上層的governor 負責決定 CPU 合適的工作頻率。但是在governor根據系統負載的變化決定調整 CPU 的運行頻率時(shí),最終還是需要底層與 CPU 相關(guān)的特定驅動(dòng)程序完成設置 CPU 運行頻率的任務(wù)。這里向讀者介紹一下支持 Intel 最新的Enhanced Speedstep 技術(shù)的 CPU 驅動(dòng)程序的實(shí)現原理,關(guān)注的重點(diǎn)是如何對 CPU 進(jìn)行變頻設置。實(shí)際上支持 Intel Enhanced Speedstep 技術(shù)的處理器為用戶(hù)提供了非常簡(jiǎn)單的編程接口,對 CPU 運行頻率進(jìn)行設置是通過(guò)一個(gè)名為 IA32_PERF_CTL 的MSR 寄存器進(jìn)行的,另外還有一個(gè)名為 IA32_PERF_STATUS 的MSR 寄存器可供檢查 CPU 當前所處的運行頻率。當用戶(hù)需要對CPU 運行頻率進(jìn)行設置時(shí)只需按照 Intel 開(kāi)發(fā)手冊的說(shuō)明向IA32_PERF_CTL MSR 寄存器中寫(xiě)入規定的數值即可。

本文引用地址:http://dyxdggzs.com/article/201612/327535.htm

  總結及未來(lái)的發(fā)展方向

  本文為讀者介紹了變頻技術(shù)在 CPU 硬件上的出現以及 Linux 內核中最初的實(shí)現存在的各種問(wèn)題,并由此導致了 cpufreq 這一新的內核子系統的誕生。雖然早期的cpufreq模塊所提供的三種 governors 能夠在一定程度下滿(mǎn)足用戶(hù)的需要并且提供了一定的靈活性,但是由于受到當時(shí) CPU 硬件技術(shù)水平的限制,仍然有很多不盡如人意的地方。之后隨著(zhù) CPU 變頻硬件技術(shù)的不斷發(fā)展,尤其是 Intel Enhanced Speedstep 技術(shù)的出現,原有的技術(shù)障礙被打破,隨之而來(lái)的是 cpufreq 內核子系統有了一個(gè)全新的更加完善而高效的 ondemand governor 。

  由此不難看出,內核中的 cpufreq 子系統是由于 CPU 硬件變頻技術(shù)的出現而出現,同時(shí)也在隨著(zhù) CPU 硬件變頻技術(shù)的發(fā)展而發(fā)展。這其實(shí)也預示著(zhù)內核中 cpufreq 子系統未來(lái)的發(fā)展方向,即繼續跟隨 CPU 硬件變頻技術(shù)的發(fā)展腳步與時(shí)俱進(jìn)。在本文的最后簡(jiǎn)單為讀者介紹一下在 Intel 最新的 CPU 中針對硬件變頻支持的一項新技術(shù)。前文提到在支持 Intel 最新的Enhanced Speedstep 技術(shù)的 CPU 中提供了名字分別為IA32_MPERF 和 IA32_APERF 的兩個(gè) MSR 寄存器,以便為cpufreq 模塊所使用的 governor 動(dòng)態(tài)收集系統的負載情況提供直接的硬件支持。其中 IA32_APERF MSR 寄存器當 CPU 處在A(yíng)CPI C0 狀態(tài)下時(shí)按照 CPU 硬件當前的實(shí)際運行頻率每隔一個(gè)時(shí)鐘周期加一。 Intel 最新的處理器中進(jìn)一步考慮了CPU 在運行過(guò)程中由于訪(fǎng)問(wèn)內存或 IO 等原因可能會(huì )出現流水線(xiàn)停擺的狀況時(shí), IA32_APERF 以前這種簡(jiǎn)單的按照 CPU 當前實(shí)際運行頻率每隔一個(gè)時(shí)鐘周期加一的做法并不能完全準確的反映CPU 的負載情況。在 Intel 最新的處理器中如果出現流水線(xiàn)停擺的情況, IA32_APERF 將暫時(shí)停止累加,而是在對用戶(hù)真正“有用”的時(shí)間周期才會(huì )遞增,這樣 CPU 硬件就可以為cpufreq 模塊所使用的 governor 提供比以前更加準確的系統負載統計信息。


上一頁(yè) 1 2 3 下一頁(yè)

關(guān)鍵詞: Linux2.6內

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>