iTOP-iMX6UL開發(fā)板-動(dòng)態(tài)調(diào)頻技術(shù)文檔分享
本文檔以 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)系工作人員刪除。