CPU 温度はクロック周波数やプロセッサ使用率とどのような関係がありますか?

CPU 温度はクロック周波数やプロセッサ使用率とどのような関係がありますか?

読んでいる間デニスの返事、CPU 温度を決定するものは何なのか考えさせられます。以下は私の理解です。

CPU 温度は、単位時間あたりの CPU 使用率によってのみ決まります。

単位時間あたりの CPU 使用率は、CPU 使用率のパーセンテージと CPU 周波数の積に等しくなります。

したがって、CPU 使用率または CPU 周波数が低下すると、単位時間あたりの CPU 使用率が低下し、CPU 温度も低下します。

以下は一部引用ですデニスの返事これは私の上記の理解とは一致しません。

使用量が多いほど温度が高くなります。使用量が少ないほど温度は低くなります。

cpufreq を使用して CPU 周波数をアンダークロックすると、温度は下がらず、CPU 使用率のパーセンテージにのみ影響します。

パーセンテージはまったく意味のない値です。まったく同じワークロードでも、CPU をアンダークロックまたはオーバークロックすると、パーセンテージが上がったり下がったりする可能性があります。しかし、それでもワークロードは同じなので、使用によって生じる潜在的な損害 (あるかどうかはわかりませんが) はまったく同じです。

同様に、cpulimit は CPU の使用率を制限し、割合と温度を低く保ちます。

デニスと私、どちらが正しいのか教えていただけますか? なぜですか?

ありがとう!

答え1

CPU 温度は、単位時間あたりの CPU 使用率によってのみ決まります。[...] したがって、CPU 使用率または CPU 周波数が低下すると、単位時間あたりの CPU 使用率が低下し、CPU 温度も低下します。

消費電力(つまり発生する熱)は専らCPU使用率によって決まりますが、これはCPUが実行している命令にも依存します。デジタル同期CMOS回路(プロセッサなど)では、消費電力は次のように計算できる。:

P = C x V^2 x f

Cデジタル回路の静電容量(実行中の命令に応じて変化)、VはCPUの電圧、fはクロック周波数です。命令によっては他よりも力があるなので、ここでは修正されていると仮定します(つまり、いくつかのアイドル時以外には目立った作業は行われない。この副作用として、CPU温度が上昇する。意思NOP同じクロック周波数でもアイドル時には減少します (わずかs)。

ただし、CPUの消費電力は周波数と電圧に直接関係していることに注意してください。周波数を半分にすると消費電力は50%に低下し、電圧を半分にすると消費電力は元の値の25%に低下します。これには巨大な同じ量の仕事を実行する場合でも、熱発生には影響しません (電力は単位時間あたりの仕事であることを思い出してください。以下を参照)。

使用量が多いほど温度が高くなります。使用量が少ないほど温度は低くなります。

ええそれはそうですコンピュータがアイドル状態のときは、多くの場合「何も」していません(つまり、NOP命令、低電力状態、または単に電力を大量に消費する命令を実行していません)。グラフィックスのレンダリングなどの何かを実行しているときは、より多くの電力を消費します。CPUのコンポーネント(ALU、FPU、MIU など)、より多くの熱が発生します。

cpufreq を使用して CPU 周波数をアンダークロックすると、温度は下がらず、CPU 使用率のパーセンテージにのみ影響します。

いいえ、それは間違いです上記の式を参照してください。アンダークロックによりプログラムの実行時間は長くなりますが、回路の消費電力は意思減少します。CMOS の消費電力は、単位時間あたりのロジック スイッチの数に直接関係します。


これは、定義を考えると非常に直感的です。、これは単純に単位時間当たりの作業、つまり、作業や計算を実行する速度です。同じプログラムを特定の頻度で完了まで実行しf、次に頻度で実行した場合を比較するf/2と、後者の場合、2倍の長さプログラムを実行するために、同じ量の仕事- したがって、この間にCPUが消費する電力は半分

そのため、CPU は、同じ量の作業を実行するのに時間がかかりますが、CPU 内の熱を放散する時間が長くなるため、より低い温度で動作します。また、アンダークロックにより、CPU をより低い電圧 (アンダーボルティング) で動作させることができ、作業に影響を与えることなく消費電力をさらに削減できます。

答え2

プロセッサによって異なりますが、CPU の最大値を制限すると、発生する熱量を確実に減らすことができます。まず、熱は周波数ではなく Vcor​​e 電圧によって決まることに注意してください。したがって、プロセッサを低い P 状態に制限できれば、vcore 電圧も制限されます。これは新しい Intel プロセッサにのみ当てはまることに注意してください (AMD も同様だと思います)。混乱の原因はここにあると思います。私は自分の理論を証明するためにいくつかのテストを行いました。

  1. まず、I7 3930k @ 4.2Ghz で linpack を実行し、vcore と温度のスクリーンショットを撮りました。

ここに画像の説明を入力してください

ご覧のとおり、linpackを1回実行した後、CPUパッケージは55℃です。

ここで、75% に制限して、linpack をもう一度実行しました。 ここに画像の説明を入力してください

4.2 Ghz と 2.4 Ghz の vcore の違いに注目してください。1.280 と 0.984 です。Vcore に関しては、これは非常に大きな違いです。発生する熱がこれを反映していることに注目してください: 55C と 40C。

したがって、周波数を制限して発生する熱を下げることには、ある程度の真実があります。ただし、1.28 Vcor​​e で 3.8 GHz の CPU と 1.28 Vcor​​e で 4.2 GHz の CPU は同じ量の熱を発生させるため、これは電圧を下げてクロックを下げる CPU にのみ関係します。

答え3

dennis が言ったのは、cpufreq を使用して CPU 周波数をアンダークロックすると、パーセンテージのみに影響するということです。つまり、ワークロードは同じですが、パーセンテージは低く表示されます (実際には高くなります)。ワークロードが高くなると、CPU 温度が高くなります。

関連情報