如何最大化CPU的功耗?

时间:2016-11-03 23:44:51

标签: performance cpu-usage

作为一个思想实验,我想最大化CPU的功耗。 (即CPU使用效率最低。)显然它是特定于处理器的,但我希望有一些适用于所有处理器的指南。

简单的解决方案可能是生成一堆运行简单循环的线程:

<html>

<head>
  <link href="test.css" rel="stylesheet" type="text/css">
</head>

<body>
  <div class="parent">
    <img src="" />
    <img src="" />
    <img src="" />
    <img src="" />
    <img src="" />
    <img src="" />
    <img src="" />
    <img src="" />
  </div>
</body>

</html>

但是这些不一定是使用最耗电的指令,访问内存,或许多寄存器,或者点击缓存,它只会在每个周期执行一些事情。

思想?

1 个答案:

答案 0 :(得分:0)

  1. 权力的主要消费者是处理器本身。处理器的省电功能基于处理器关闭其自身部分的能力。因此,您希望始终保持所有处理器忙碌状态。您的繁忙循环很好,但是您希望将其缩放到可用核心数量减少1.(操作系统通常在那个上运行,并且您希望避免任务交换,因为这会导致处理器速度变慢并等待内存操作)。
  2. 在循环中,执行注册以注册向量操作。内存操作需要时间,并且使用的功耗低于处理器。
  3. 如果您可以正确使用超线程,即每个核心有多个硬件线程,则可以提高处理器的利用率。
  4. 忘掉外围设备和内存。与处理器相比,它们的功耗很小。它们的使用很慢,这意味着处理器在等待时可能会进入静止状态(较低功率)。

    最大化处理器消耗的功率与优化CPU绑定应用程序的执行基本相同。看看那些想要让自己的处理器看起来像切片面包以来最好的公司设计的基准。 (我需要提一下我说的是谁吗?)