基于运行时间分析/代码大小估算功耗

时间:2009-10-20 17:49:56

标签: c performance energy

我已经在我的PC上开发并测试了一个C程序,现在我想估算程序执行单次运行所需的功耗。我已经分析了应用程序的运行时间以及应用程序中的invidiual函数调用,我知道汇编行中的代码大小,还有原始C行。

如何根据性能分析和/代码大小估算功耗?我想它会随着使用CPU进行计算或使用内存访问的行数进行扩展,但我希望得到更准确的答案。

另外,我怎么说出我的电脑与微芯片设备上的功耗之间的差异?

2 个答案:

答案 0 :(得分:1)

祝你好运。您想要做的事情在桌面PC上几乎是不可能的。你可能做的最好的方法是在空闲时测量从墙上的功率消耗,并在运行程序时,尽可能少的其他程序同时运行。将结果平均超过100次运行,并且您应该具有精确度为百分之几的值(标准统计免责声明适用)。

在Microchip器件上,应该更容易计算功耗,因为它们发布了各种模式的(平均)功耗值,并且时序是确定的。不幸的是,像这样的处理器和桌面处理器(字大小,流水线,多个问题,多个进程等)之间存在很多差异,实际上没有任何有效的方法可以比较这两者。

答案 1 :(得分:0)

英特尔网站上有一篇文章给出average energy per instruction各种处理器。例如,他们为Core Duo提供每条指令11 nJ。对我来说有多大用处取决于你的代码看起来像SpecInt基准测试的程度,我想。