CPU降频实现原理与试验数据

CPU降频实现原理与试验数据CPU 降频实现原理与试验数据 1 CPU 降频实现原理 CPU 降频主要是通过控制 CPU 的工作模式和工作频率来达到的

大家好,欢迎来到IT知识分享网。

 

一、CPU降频实现原理


CPU降频主要是通过控制CPU的工作模式和工作频率来达到的。

1.1 CPU工作模式调整

Android的CPU工作模式是基于linux的,在androidL上支持的CPU工作模式有:ondemand、userspace、powersave、interactive和performance。

1,performance :顾名思义只注重效率,将CPU频率固定工作在其支持的最高运行频率上,而不动态调节。

2,powersave:将CPU频率设置为最低的所谓“省电”模式,CPU会固定工作在其支持的最低运行频率上。因此这两种governors 都属于静态governor,即在使用它们时CPU 的运行频率不会根据系统运行时负载的变化动态作出调整。这两种governors 对应的是两种极端的应用场景,使用performance governor 是对系统高性能的最大追求,而使用powersave governor 则是对系统低功耗的最大追求。

3,Userspace:最早的cpufreq 子系统通过userspace governor为用户提供了这种灵活性。系统将变频策略的决策权交给了用户态应用程序,并提供了相应的接口供用户态应用程序调节CPU 运行频率使用。也就是长期以来都在用的那个模式。可以通过手动编辑配置文件进行配置

4,ondemand 按需调节cpu频率,不操作手机的时候控制在最低频率,滑屏或进入应用后会迅速提升至最高频率,当空闲时迅速降低频率,性能较稳定,但因频率变化幅度过大,省电方面只有一般的水平。是一种在电池和性能之间趋向平衡的默认模式,但是对于智能手机来说,ondemand在性能表现方面略有欠缺。

5、interactive:和ondemand相似,规则是“快升慢降”,注重响应速度、性能,当有高需求时迅速跳到高频率,当低需求时逐渐降低频率,相比ondemand费电

现在我们手机使用的模式是interactive,频率会自动调整,“快升慢降”,比较符合手机操作行为,手机需要很快上升到最高频率,操作才会流畅,当你不用的时候频率会缓缓下降,也能一定程度达到省电效果。

下面我们就来看看实际是如何调整CPU的工作模式的

adb shell //得到CPU支持的工作模式,此处为ondemand userspace powersave interactive performance cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors //设置工作模式 //echo后面接你想要设置的工作模式,scaling_governor是当前的cpu工作模式 echo interactive > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

但是在user版本,该设备节点属于root用户,只有root权限才能访问,android拥有的最高权限就是system权限

-rw-r--r-- root root 4096 2015-01-01 08:00 scaling_governor
  • 1

故我们需要在init.rc中修改该设备节点的权限,改成system可以读写

//init.rc chown system system /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor chmod 0660 /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
  • 1
  • 2
  • 3

这样系统级别的应用就可以访问

1.2 cpu频率调整

首先我们必须知道CPU可以支持那些频率设置

adb shell cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies //上面指令返回cpu支持的频率设置       
  • 1
  • 2
  • 3

接着就是进入cpu的用户模式下进行设置

//这里是进入cpu的用户模式 echo userspace > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor //下面是分别设置最高最低cpu频率,还有就是当前cpu频率 echo  > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq echo  > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq echo  > /sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

二、Cpu调频实验数据


下面就是cpu调频对于实际手机使用的实验数据。

2.1 cpu调频实验数据

测试环境如下:

安装安兔兔v5.6.1

1、 开启飞行模式,将亮度调整到最低

2、 设置cpu工作模式

3、 待电流稳定后进行antutu评测

4、 记录整个antutu评测的平均电流、时间、得分

2.1.1 interactive模式

图2.1 CPU处于interactive模式
图2.1 CPU处于interactive模式

CPU处于interactive模式下平均电流 0.349 A,安兔兔得分15276,耗时6.583 min

2.1.2 performance模式

图2.2 CPU处于performance模式
图2.2 CPU处于performance模式

CPU处于performance模式下平均电流 0.345 A,安兔兔得分15959,耗时6.316 min

2.1.3 powersave模式

图2.3 CPU处于powersave模式
图2.3 CPU处于powersave模式

CPU处于powersave模式下平均电流 0.143 A,安兔兔得分5610,耗时19.166 min

2.1.4 CPU模式实验数据总结

1、CPU处于interactive模式下平均电流 0.349 A,安兔兔得分15276,耗时6.583 min

2、CPU处于performance模式下平均电流 0.345 A,安兔兔得分15959,耗时6.316 min

3、CPU处于powersave模式下平均电流 0.143 A,安兔兔得分5610,耗时19.166 min

由上面数据可以知道:

  • interactive和performance对于手机性能没有很大影响,对于手机电量损耗也几乎一致,performance运行速度会比interactive稍微快一点点(运行整个安兔兔时间少一点)。
  • powersave模式下手机电量消耗会小很多,但相应的cpu处理时间也会长很多,导致运行整个安兔兔的时间变长很多(是原来3倍左右),手机性能也大大降低

2.2 CPU频率实验数据

测试环境如下:

安装安兔兔v5.6.1

1、 开启飞行模式,将亮度调整到最低

2、 设置cpu频率

3、 待电流稳定后进行antutu CPU运算测试

4、记录antutu CPU运算测试时的工作电流

2.2.1 cpu处于 KHz

图2.4 CPU处于988000 KHz
图2.4 CPU处于 KHz

cpu处于 KHz下平均电流 0.578 A

2.2.2 cpu处于 KHz

图2.5 CPU处于923000 KHz
图2.5 CPU处于 KHz

cpu处于 KHz下平均电流 0.522 A

2.2.3 cpu处于KHz

图2.6 CPU处于858000 KHz
图2.6 CPU处于 KHz

cpu处于 KHz下平均电流 0.492 A

2.2.4 cpu处于 KHz

图2.7 CPU处于793000 KHz
图2.7 CPU处于 KHz

cpu处于 KHz下平均电流 0.460 A

2.2.5 cpu处于 KHz

图2.8 CPU处于637000 KHz
图2.8 CPU处于 KHz

cpu处于KHz下平均电流 0.411 A

2.2.6 cpu处于 KHz

图2.9 CPU处于494000 KHz
图2.9 CPU处于 KHz

cpu处于 KHz下平均电流 0.374 A

2.2.7 cpu处于 KHz

图2.10 CPU处于364000 KHz
图2.10 CPU处于 KHz

cpu处于 KHz下平均电流 0.339 A

2.2.8 cpu处于 KHz

图2.11 CPU处于221000 KHz
图2.11 CPU处于 KHz

cpu处于 KHz下平均电流 0.088 A

2.2.9 CPU频率实验数据总结

表2.1 CPU频率实验数据
表2.1 CPU频率实验数据

由上面数据可以知道:

  • 手机功耗随着CPU频率下降而下降

三、 cpu调频实现必要性


由上面实验数据得到,cpu在powersave模式下是可以降低很多功耗(是默认interactive的40%左右),但是降低频率会导致系统变慢(大概是默认interactive的3倍左右),故如不是必要,不建议采取此操作,可以将此行为内置入最高级别的省电模式中去。

本文转自:CPU降频实现原理与试验数据  略有整理

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/150259.html

(0)
上一篇 2025-03-19 20:20
下一篇 2025-03-19 20:25

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信