对于单周期CPU,执行ADD命令需要多少能量

时间:2015-05-12 09:22:09

标签: computer-architecture cpu-architecture energy

问题很明显,如标题中所指定。我不知道这个。任何专家都可以帮忙吗?

1 个答案:

答案 0 :(得分:2)

好的,这将是一个很长的答案,所以我可以写一篇关于它的文章。奇怪的是,我一直致力于与您的问题密切相关的实验 - 确定现代处理器的每瓦性能。正如Paul和Sneftel指出的那样,今天任何真正的建筑都不可能实现。如果你只是通过计算栅极泄漏和开关电流,电压等给定某种硅技术和某种ALU设计来查看该指令的执行,你可以计算出这个。但这不是有用的值,因为它有在任何比8086更新的处理器中,总是会发生一些事情(从硬件角度来看),并且自从管道首次出现以来,指令并没有孤立地执行。

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

SORT-OF-AN-解答:

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

  • 统计测量一次又一次地运行给定的添加。请记住,有许多不同类型的添加,例如整数添加,浮点,双精度,带有进位的添加,甚至同时添加(SIMD)等等。限制:操作系统和其他应用程序总是在那里,但如果你知道如何,你可能可以在裸机上运行;因硬件,硅技术,架构等不同而异;可能没有用,因为它远离现实,意味着很少;测量设备的限制(使用处理器间PMU,墙壁仪表,插入器插座等);记忆层次;等等。
  • 统计测量整数/浮点/双工作负载内核。这开始有一些意义,因为它对社区意味着什么。限制:仍然不真实;仍然因架构,硅技术,硬件等而异;测量设备限值;等
  • 统计测量实际应用。限制:与上述相同,但至少对社区意味着什么;电力状态在闲置期间发挥作用;潜在的集群问题发挥作用。

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

摘要:可以为一个添加提供一个值,但它不再具有任何意义。一个值意味着任何事情都变得更复杂但是很有用,需要大量工作才能找到。

顺便说一下,我确实认为这是一个很好而又重要的问题 - 部分是因为它看起来很简单。