有没有办法估算ARM CPU上程序的能耗?在嵌入式系统中,能耗是最重要的参数之一,我想知道程序员是否有可能知道运行程序需要多少能量?
例如,由于在多个周期上执行的ARM CPU分区上,我认为使用分区的代码比不使用分区的代码消耗更多的能量。但这种说法非常直观,在执行代码时,是否有更好的方法来测量CPU消耗的能量?
答案 0 :(得分:1)
我不认为这里有任何特定于ARM的技巧(而且' ARM'无论如何都涵盖了不同的东西)。您通常会查看您使用的各种不同功率状态下的当前消耗(运行,睡眠等),然后估算每个状态花费的时间比例。这可以让你计算平均电流/功率。
说这个指令使用了很多权力并不是很有意义。 - 你可能反而关心的是这一系列的指令需要花费大量的时间才能运行,因此我无法快速恢复睡眠状态。
答案 1 :(得分:1)
最接近现成的工具与http://ds.arm.com/ds-5/optimize/arm-energy-probe/
类似通常,电池运行系统具有通过sysfs条目暴露的电量计,并且可以提供经过的电流量。认为它像智能手机电池/充电指示器。这些通常不那么可靠,很难与应用程序运行的准确时间相关联,但可能会给您一个粗略的估计。