以前にCPUの電圧とクロック周波数が消費電力とどのような関係にあるかを実験で確かめたが,サンプル数が少なかった.今回は、サンプル数176点で再び検証を行った.
前回の検証では,一つのグラフでのサンプル数は最大でも20点程度だった.今回は最大176点で検証した.また,別アーキテクチャであるi7 11700K(Rocket Lake)についても別記事で同様の検証を行った(リンクはこちら)
1.CPUの電圧・周波数と消費電力
CPUの消費電力は、おおざっぱに以下のように表すことができる.
I:CPUを流れる電流,V:CPUの電圧
Z:CPU内の回路のインピーダンス
f:CPUの周波数,C:回路の浮遊容量
上の式から,CPUの消費電力Pについて以下がわかる.
1)Pは電圧Vの2乗に比例する.
2)Pは周波数fに比例する.
なお,実際はリーク電流などほかの要素もあるため,消費電力の計算は上よりも複雑になる.
参考URL
5)集積回路工学
2.実際のCPUを用いた検証
今回,CPU電圧(Vcore)を0.9~1.73V,周波数を1GHz~5.1GHzの間でそれぞれ変化させ,合計176の組み合わせで消費電力を測定した.そして,消費電力とVcore,周波数の関係が上で記載した通りか検証した.
検証環境
Core i7 10700K(8-core 16thread, TDP125W)
マザーボード:ASUS Z490-f gaming
BIOS:2201
CPUクーラー:Noctua NH-D15
メモリ:DDR4 3200MHz, 32GB
消費電力測定方法
1)Intel Extreme Turning UtilityでCPU電圧と周波数を設定する.
2)CinebenchR23のマルチコアを実行し,その時の演算用コア(IA Core)の消費電力,Vcore電圧,平均コア周波数をHWInfoで測定・記録する.
3)CPU使用率100パーセント区間における各測定値の平均値を計算し,評価指標とする.
Vcoreと紛らわしいものにVIDがあるが,VIDはCPUが電源側に要求する電圧の目標値ことである.Vcoreは電源から供給された電圧の測定値を示しており,VIDよりもVcoreのほうがCPUにかかる実際の電圧に近い.
3.結果
消費電力と周波数の関係
Vcore電圧を固定したときの周波数と消費電力の関係は以下のようになった.どのVcore電圧においても消費電力は周波数に比例しており,上の計算式と傾向が一致していることがわかる.
消費電力とVcoreの関係
上の検証から消費電力は周波数に比例することが確かめられた.これを利用して176点すべてのサンプルを用いて消費電力とVcoreの関係を視覚化できるように,各周波数における消費電力を1GHzに規格化した.具体的には以下のような処理を行った.
Pnorm[W] = P[W]/(f[GHz]/1[GHz])
Pnorm:1GHzに規格化した消費電力
P:各周波数の消費電力
f:周波数
計算したPnormとVcore^2の関係は以下のようになり,消費電力はおおむねVcore^2に比例している.
消費電力と周波数*Vcore^2の関係
消費電力は本当にVcoreの2乗に比例しているのか
ここまでは前回の検証と同様の結果だが,PnormとVcore^2のグラフをよく見ると,消費電力はVcoreの2乗よりも大きい乗数(3乗くらい?)に沿って分布しているように見えなくもない.このため,消費電力とVcoreの1乗でグラフを作成し近似曲線を追加してみた. 以下がそのグラフで,近似曲線によると消費電力はVcoreのおよそ2.5乗に比例するという結果になった.なぜか.計算で考慮していないリーク電流による消費電力増分が影響してちょうどVcoreの2.5乗に比例するように見えているだけなのだろうか.よくわからない.
まとめ
今回の検証でCPUの消費電力について以下のことが分かった.
1)消費電力はCPUの周波数に比例する
2)消費電力は理論的にはVcoreの2乗に比例するはずだが実験では2.5乗に比例した.
CPUの消費電力の基本式が冒頭の式であることは疑いないので、消費電力がVcoreの2乗にならなかった理由として以下が予想される。
1)考慮していないリーク電流による消費電力の影響でVcoreの2.5乗に比例するように見えている
2)HWInfoの電力読みがおかしい。
3)BIOSの何かの設定が影響している。
0 件のコメント:
コメントを投稿