如何估算程序在ARM平台上消耗的能量?

时间:2016-02-14 12:19:21

标签: arm embedded

有没有办法估算ARM CPU上程序的能耗?在嵌入式系统中,能耗是最重要的参数之一,我想知道程序员是否有可能知道运行程序需要多少能量?

例如,由于在多个周期上执行的ARM CPU分区上,我认为使用分区的代码比不使用分区的代码消耗更多的能量。但这种说法非常直观,在执行代码时,是否有更好的方法来测量CPU消耗的能量?

2 个答案:

答案 0 :(得分:1)

我不认为这里有任何特定于ARM的技巧(而且' ARM'无论如何都涵盖了不同的东西)。您通常会查看您使用的各种不同功率状态下的当前消耗(运行,睡眠等),然后估算每个状态花费的时间比例。这可以让你计算平均电流/功率。

说这个指令使用了很多权力并不是很有意义。 - 你可能反而关心的是这一系列的指令需要花费大量的时间才能运行,因此我无法快速恢复睡眠状态。

答案 1 :(得分:1)

最接近现成的工具与http://ds.arm.com/ds-5/optimize/arm-energy-probe/

类似

通常,电池运行系统具有通过sysfs条目暴露的电量计,并且可以提供经过的电流量。认为它像智能手机电池/充电指示器。这些通常不那么可靠,很难与应用程序运行的准确时间相关联,但可能会给您一个粗略的估计。