0

这个问题很明显,就像标题中指定的那样。我想知道这一点。有高手可以帮忙吗?

4

1 回答 1

2

好的,这将是一个很长的答案,以至于我可以写一篇关于它的文章。奇怪的是,我一直在进行与您的问题密切相关的实验——确定现代处理器的每瓦性能。正如 Paul 和 Sneftel 所指出的,今天任何真正的架构都无法实现。如果您仅通过计算栅极泄漏和开关电流、电压等来查看给定特定硅技术和特定 ALU 设计的指令的执行,您可能可以计算出这个值。但这不是一个有用的值,因为有一些东西总是在任何比 8086 更新的处理器中进行(从硬件的角度来看),并且自从管道首次出现以来,指令就没有被单独执行。

今天,我们有多功能 ALU、乱序执行、多管道、超线程、分支预测、内存层次结构等,这与执行一个 ADD 命令有什么关系?执行一个 ADD 命令与执行多个 ADD 命令所消耗的能量是不同的。如果你围绕它包装一个程序,那么它会变得非常复杂。

答案排序:

所以让我们看看你能做什么。

  • 统计测量一遍又一遍地运行给定的添加。请记住,有许多不同类型的加法,例如整数加法、浮点加法、双精度加法、带进位加法,甚至同时加法 (SIMD) 等等。限制:操作系统和其他应用程序始终存在,但如果您知道如何操作,您可以在裸机上运行;因硬件、硅技术、架构等而异;可能没有用,因为它离现实太远了,意义不大;测量设备的限制(使用处理器间 PMU,来自墙壁仪表、插入器插座等);内存层次结构;和更多
  • 统计测量基于整数/浮点/双精度的工作负载内核。这开始有了一些意义,因为它对社区有意义。限制:仍然不真实;仍然随架构、硅技术、硬件等而变化;测量设备限制;ETC
  • 统计测量实际应用程序。限制:同上,但至少对社区有意义;电源状态在空闲期间发挥作用;潜在的集群问题开始发挥作用。

当我说“限制”时,这只是意味着您需要很好地定义答案/实验的约束,而不是它没有用。

总结:可以为一个添加提出一个值,但它不再具有任何意义。一个意味着任何东西的值要复杂得多,但很有用,需要大量工作才能找到。

顺便说一句,我确实认为这是一个很好且重要的问题——部分原因是它看似简单。

于 2015-05-12T15:51:13.207 回答