我已经在我的PC上开发并测试了一个C程序,现在我想给出一个程序运行一次所需的功耗估计。我已经分析了应用程序的运行时间和应用程序内部的间接函数调用,我知道装配线上的代码大小,也知道原始C行的代码大小。
如何根据性能分析和/或代码大小估计功耗?我认为它随着使用CPU进行计算或进行内存访问的行数而扩展,但我希望得到一个更准确的答案。
此外,我如何区分功耗之间的区别,比方说,我的PC与微芯片设备相比?
发布于 2009-10-21 10:38:46
在英特尔的网站上有一篇文章,给出了各种处理器的average energy per instruction。例如,对于Core Duo,他们为每个指令提供11 nJ。我想,这对您有多大帮助取决于您的代码看起来有多像SpecInt基准测试。
发布于 2009-10-21 02:01:02
祝好运。你想要做的事情在台式PC上几乎是不可能的。你可以做的最好的事情就是在空闲的时候测量从墙上的功耗,并且在运行你的程序时,同时运行尽可能少的其他程序。平均运行超过100次的结果,您应该有一个精确度为几个百分点的值(适用标准统计免责声明)。
在Microchip设备上,应该更容易计算功耗,因为它们公布了各种模式的(平均)耗电量,并且时序是确定的。不幸的是,这样的处理器和你的桌面处理器有太多的不同之处(字长、流水线、多问题、多进程等),以至于没有任何有效的方法来比较两者。
https://stackoverflow.com/questions/1596252
复制相似问题