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

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



