嵌入式系统电源管理全解析
1. 利用PowerTOP监测CPU频率状态
借助PowerTOP工具,我们能够清晰地了解CPU在各个运行性能点(OPP)上所花费的时间占比。例如,当BeagleBone Black运行轻负载任务并采用ondemand governor时,通过PowerTOP的频率统计界面,我们可以直观地看到相关数据。
在大多数情况下,ondemand governor是较为理想的选择。若要选定特定的governor,有两种可行的方法:
- 配置内核,设置默认的governor,如CPU_FREQ_DEFAULT_GOV_ONDEMAND。
- 使用启动脚本,在系统启动时更改governor。可参考从Debian获取的示例System V init脚本,路径为MELP/Chapter15/cpufrequtils 。
若想深入了解CPUFreq驱动,可查看Linux内核源代码树中Documentation/cpu-freq目录下的文件。
2. 选择最佳空闲状态
当处理器没有任务时,会执行暂停指令并进入空闲状态,此时CPU的功耗会降低。当诸如硬件中断等事件发生时,CPU会退出空闲状态。多数CPU具备多个空闲状态,不同状态的功耗各异。通常,功耗与退出该状态所需的延迟(即时间)之间存在权衡关系,在ACPI规范中,这些空闲状态被称为C - 状态。
在较深的C - 状态下,更多的电路会被关闭,但可能会丢失部分状态信息,因此恢复到正常运行状态所需的时间会更长。例如,在某些C - 状态下,CPU缓存可能会被断电,再次运行时可能需要从主内存重新加载信息,这会消耗较多资源。所以,只有在CPU可能长时间处于
超级会员免费看
订阅专栏 解锁全文
1752

被折叠的 条评论
为什么被折叠?



