zoukankan      html  css  js  c++  java
  • iTOP-iMX6UL开发板【全能版】-动态调频技术简介

    本文档以 iMX6UL 为例,简单介绍 cpufreq 的 5 种模式。

    在 imx6ul 的 menuconfig 中,进入

    CPU Power Management --->

    CPU Frequency scaling --->

    Default CPUFreq governor (ondemand) --->

    中,如下图所示,可以看到有 5 个选项。 这 5 个选项,可以将 cpu 的频率设置为不同的

    管理模式,默认设置的是 ondemand 模式。

     

    cpufreq 是一个动态调整 cpu 频率的模块,系统启动时会生成

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

    cpufreq 文件夹。

     

    以上参数可以通过 cat 命令,例如:

    “cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor”可以获取当前

    CPU 频率的模式。作者机器当前模式是“ondemand”,也就是动态调频模式。

     

    其它参数:

    cpuinfo_cur_freq 为当前频率;

    cpuinfo_max_freq 为最大频率;

    scaling_min_freq 为最小频率;

    scalin_governor 为当前模式。

    在动态调频模式下,state 下的 time_in_state 可以查询 cpu 整个运行周期中,在不同频

    率下运行时间的比例。

    以下简单介绍各种模式,用户可以根据需求,在不同模式下运行。

    performance 模式:将 CPU 频率固定工作在其支持的最高运行频率上,而不动态调节。

    powersave 模式:将 CPU 频率固定在“省电”模式,也就是最低频率。

    以上两种,一种是极端效率,一种是极端低功耗。

    Userspace 模式:用户可以在用户态调整频率,用户在应用或者在系统启动阶段,可以进

    入这种模式,来设置频率。

    ondemand 模式:这种模式会依据需求来调整频率,例如 ul 有三种频率:198000、

    396000 和 528000,在有大量计算量的情况下,会立即达到最高频率,在运算完成就会立即

    回到最低频率。

    conservative 模式:和 ondemand 对比,这种模式下,系统会平滑地调整 CPU 频率,

    频率的升降是渐变式的,而不是在大量计算到来就立即进入最高频率。

    接着可以尝试配置这几种模式,验证一下。

    测试 Userspace 模式,使用“echo userspace >

    /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor”命令可以进入 Userspace 模

    式,这样就可以在用户态调整频率,使用命令“echo 528000 >

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

    所示。

     

    测试 powersave 模式,使用命令“echo powersave >

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

    就能发现频率降低到最低。

     

    测试 performance 模式,使用命令“echo performance >

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

    频率模式,理所当然频率九尾最高 528000 了。

     

    测试下 ondemand 动态调频模式,如下图所示,可以使用命令“cat

    /sys/devices/system/cpu/cpu0/cpufreq/stats/time_in_state”查看各种频率运行占用的时

    间长度。作者因为调整过多次频率,528000 看起来比例较高,实际上默认这种系统,不运行

    程序,大部分时间都是 198000 频率。

     
     
  • 相关阅读:
    Leetcode 1489找到最小生成树李关键边和伪关键边
    Leetcode 113 路径总和 II
    hdu 1223 还是畅通工程
    hdu 1087 Super Jumping! Jumping! Jumping!
    hdu 1008 Elevator
    hdu 1037 Keep on Truckin'
    湖工oj 1241 畅通工程
    湖工oj 1162 大武汉局域网
    hdu 2057 A + B Again
    poj 2236 Wireless Network
  • 原文地址:https://www.cnblogs.com/wenyihu/p/10694833.html
Copyright © 2011-2022 走看看