博客專欄

EEPW首頁(yè) > 博客 > iTOP-iMX6UL開發(fā)板-動(dòng)態(tài)調(diào)頻技術(shù)文檔分享

iTOP-iMX6UL開發(fā)板-動(dòng)態(tài)調(diào)頻技術(shù)文檔分享

發(fā)布人:魔法城堡 時(shí)間:2019-05-06 來(lái)源:工程師 發(fā)布文章

O1CN0125XXDw9zSqSBUlY_!!684017536.jpg本文檔以 iMX6UL為例,簡(jiǎn)單介紹 cpufreq 的 5 種模式。

在 imx6ul 的 menuconfig 中,進(jìn)入

CPU Power Management --->

CPU Frequency scaling --->

Default CPUFreq governor (ondemand) --->

中,如下圖所示,可以看到有 5 個(gè)選項(xiàng)。 這 5 個(gè)選項(xiàng),可以將 cpu 的頻率設(shè)置為不同的

管理模式,默認(rèn)設(shè)置的是 ondemand 模式。

cpufreq 是一個(gè)動(dòng)態(tài)調(diào)整 cpu 頻率的模塊,系統(tǒng)啟動(dòng)時(shí)會(huì)生成

“/sys/devices/system/cpu/cpu0/cpufreq/ ”,如下圖所示,是 imx6ul 文件上的

cpufreq 文件夾。

以上參數(shù)可以通過(guò) cat 命令,例如:

“cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor”可以獲取當(dāng)前

CPU 頻率的模式。作者機(jī)器當(dāng)前模式是“ondemand”,也就是動(dòng)態(tài)調(diào)頻模式。

其它參數(shù):

cpuinfo_cur_freq 為當(dāng)前頻率;

cpuinfo_max_freq 為最大頻率;

scaling_min_freq 為最小頻率;

scalin_governor 為當(dāng)前模式。

在動(dòng)態(tài)調(diào)頻模式下,state 下的 time_in_state 可以查詢 cpu 整個(gè)運(yùn)行周期中,在不同頻

率下運(yùn)行時(shí)間的比例。

以下簡(jiǎn)單介紹各種模式,用戶可以根據(jù)需求,在不同模式下運(yùn)行。

performance 模式:將 CPU 頻率固定工作在其支持的最高運(yùn)行頻率上,而不動(dòng)態(tài)調(diào)節(jié)。

powersave 模式:將 CPU 頻率固定在“省電”模式,也就是最低頻率。

以上兩種,一種是極端效率,一種是極端低功耗。

Userspace 模式:用戶可以在用戶態(tài)調(diào)整頻率,用戶在應(yīng)用或者在系統(tǒng)啟動(dòng)階段,可以進(jìn)

入這種模式,來(lái)設(shè)置頻率。

ondemand 模式:這種模式會(huì)依據(jù)需求來(lái)調(diào)整頻率,例如 ul 有三種頻率:198000、

396000 和 528000,在有大量計(jì)算量的情況下,會(huì)立即達(dá)到最高頻率,在運(yùn)算完成就會(huì)立即

回到最低頻率。

conservative 模式:和 ondemand 對(duì)比,這種模式下,系統(tǒng)會(huì)平滑地調(diào)整 CPU 頻率,

頻率的升降是漸變式的,而不是在大量計(jì)算到來(lái)就立即進(jìn)入最高頻率。

接著可以嘗試配置這幾種模式,驗(yàn)證一下。

測(cè)試 Userspace 模式,使用“echo userspace >

/sys/devices/system/cpu/cpu0/cpufreq/scaling_governor”命令可以進(jìn)入 Userspace 模

式,這樣就可以在用戶態(tài)調(diào)整頻率,使用命令“echo 528000 >

/sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed”可以配置為 528000,如下圖

所示。

測(cè)試 powersave 模式,使用命令“echo powersave >

/sys/devices/system/cpu/cpu0/cpufreq/scaling_governor”配置為最低功耗模式。然后

就能發(fā)現(xiàn)頻率降低到最低。

測(cè)試 performance 模式,使用命令“echo performance >

/sys/devices/system/cpu/cpu0/cpufreq/scaling_governor”,如下圖所示。配置為最高

頻率模式,理所當(dāng)然頻率九尾最高 528000 了。

測(cè)試下 ondemand 動(dòng)態(tài)調(diào)頻模式,如下圖所示,可以使用命令“cat

/sys/devices/system/cpu/cpu0/cpufreq/stats/time_in_state”查看各種頻率運(yùn)行占用的時(shí)

間長(zhǎng)度。作者因?yàn)檎{(diào)整過(guò)多次頻率,528000 看起來(lái)比例較高,實(shí)際上默認(rèn)這種系統(tǒng),不運(yùn)行

程序,大部分時(shí)間都是 198000 頻率。


*博客內(nèi)容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀點(diǎn),如有侵權(quán)請(qǐng)聯(lián)系工作人員刪除。



關(guān)鍵詞:

相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉