web-dev-qa-db-ja.com

CPU温度は、クロック周波数とプロセッサ使用率にどのように関連していますか?

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

CPU温度は、単位時間のCPU使用率によってのみ決定されます。

単位時間でのCPU使用率は、CPU使用率にCPU頻度を掛けたものに等しくなります。

したがって、CPU使用率またはCPU頻度が減少すると、単位時間でのCPU使用率が減少し、CPU温度が低下します。

以下は デニスの返信 の一部の引用ですが、私の上記の理解は同意しません:

使用量が多いほど、温度が高くなります。使用量が少ないということは、温度が低いことを意味します。

Cpufreqを使用してCPU周波数をアンダークロックすると、温度を下げることなくCPU使用率にのみ影響します。

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

同様に、cpulimitはCPU使用率を制限するため、パーセンテージと温度を低く保ちます。

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

ありがとう!

5
Tim

CPU温度は、単位時間のCPU使用率によってのみ決定されます。 [...]したがって、CPU使用率またはCPU頻度が減少すると、単位時間でのCPU使用率が減少し、CPU温度が低下します。

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

P = C x V^2 x f

ここで、Cはデジタル回路の静電容量(実行されている命令に基づいて変化します)、VはCPUの電圧、fはクロック周波数です。一部の命令は 他よりも強力 であるため、ここで修正されていると想定します(つまり、 some アイドリング以外のかなりの作業を実行する同じプログラムを実行します)。これの副作用として、CPU温度はアイドル時に低下します(ちょうどNOPs)同じクロック周波数でも。

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

使用量が多いほど、温度が高くなります。使用量が少ないということは、温度が低いことを意味します。

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

Cpufreqを使用してCPU周波数をアンダークロックすると、温度を下げることなくCPU使用率にのみ影響します。

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


powerの定義を考えると、これは非常に直感的です。これは、単に単位時間あたりの作業、または作業/計算を実行する速度です。同じプログラムを指定された頻度fで最後まで実行し、次に頻度f/2で実行することを比較すると、後者の場合、を2回実行しましたががプログラムを実行する限り、同じ量のwork-を実行しました。したがって、CPUが消費する電力は今回は half になります。

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

6
Breakthrough

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

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

enter image description here

ご覧のとおり、linpackを1回パスすると、CPUパッケージは55Cになります。

今、私は75%に制限し、linpackの別のパスを実行しました。 enter image description here

4.2Ghzと2.4Ghz、1.280および.984でのvcoreの違いに注意してください。 Vcoreに関しては、これは大きな違いです。発生した熱がこれをどのように反映しているかに注目してください:55C対40C。

したがって、発生する熱を下げる周波数を制限することにはいくつかの真実があります。 1.28Vcoreで3.8GHZのCPUと1.28Vcoreで4.2GhzのCPUは同じ量の熱を生成するため、これはダウンクロックだけでなくアンダーボルトのCPUにものみ関係します。

1
Supercereal

デニスが言ったことは、cpufreqでCPU周波数をアンダークロックすると、パーセンテージにのみ影響するということです。これは、ワークロードは同じですが、パーセンテージが低く表示されることを意味します(実際には高いです)。作業負荷が高くなると、CPU温度も高くなります。

0
tiki