为什么随着 CPU 时钟频率的增加,产生的热量也会增加?

Nil*_*ils 19 cpu-architecture

整个多核辩论让我思考。

生产两个内核(在一个封装中)然后将一个内核加速两倍要容易得多。这是为什么?我用谷歌搜索了一下,但从超频板上找到的答案大多非常不准确,这些答案并没有解释底层物理。

电压似乎影响最大(二次方),但是如果我想要更快的时钟速率,我是否需要以更高的电压运行 CPU?我也想知道为什么半导体电路在以特定时钟速度运行时会产生(以及产生多少)热量。

Nat*_*man 35

每次时钟滴答作响时,您都在为一堆电容器充电或放电。给电容器充电的能量为:

E = 1/2*C*V^2
Run Code Online (Sandbox Code Playgroud)

哪里C是电容,V是它被充电到的电压。

如果您的频率为f[Hz],那么您f每秒有周期数,您的功率为:

P = f*E = 1/2*C*V^2*f
Run Code Online (Sandbox Code Playgroud)

这就是功率随频率线性上升的原因。

您可以看到它随电压呈二次方上升。因此,您总是希望以尽可能低的电压运行。但是,如果要提高频率,则还必须提高电压,因为更高的频率需要更高的工作电压,因此电压随频率线性上升。

出于这个原因,功率上升像f^3(或像V^3)。

现在,当您增加内核数量时,您基本上是在增加电容C。这与电压和频率无关,因此功率随 线性上升C。这就是为什么增加内核数量比增加频率更节能的原因。

为什么要提高电压来提高频率?那么,电容器的电压根据以下情况变化:

dV/dt = I/C
Run Code Online (Sandbox Code Playgroud)

I电流在哪里。因此,电流越高,您可以越快地将晶体管的栅极电容充电到其“导通”电压(“导通”电压不取决于工作电压),并且您可以更快地打开晶体管。电流随工作​​电压线性上升。这就是为什么你需要增加电压来增加频率。

  • 晶体管具有动态电容。为了“打开”晶体管,您需要为其栅极电容充电。 (7认同)
  • 好吧...电容与热转换没有任何关系,但它确实与能耗有关,因为您需要投入1/2CV^2来为电容器充电。该能量来自某个电源,因此每次为电容器充电时,您都会从该电源中消耗 1/2CV^2。没有什么可以阻止该源升温。*电容*本身不是罪魁祸首。电容器所处的环境是*罪魁祸首。 (3认同)

小智 7

非常基本:

  • 当您向晶体管施加更多电压时,它的开关速度会更快。
  • 现代 IC 在从一种状态切换到另一种状态时(在时钟滴答上)消耗大部分功率,但不消耗功率以保持相同状态(嗯,存在泄漏,因此并非完全没有功率),因此切换速度越快,每秒切换的次数越多,消耗的电量就越多。

一本关于处理器架构所有细节的好书:David A. Patterson、John L. Hennessy 的计算机组织和设计。


小智 5

每次晶体管切换状态时,都会消耗电流。更高的频率意味着更快的开关,更多的电流浪费。一切事物的阻抗将其转化为热量。P=I^2*R 等等。而 P 是 V^2/R。但是,在这种情况下,您确实希望能够计算出随时间变化的平均 V 和 I,并且它与电压和电流均成二次方。