2020年8月13日木曜日

CPUの電圧・周波数と消費電力の関係

  CPUの消費電力について検索すると、電圧の2乗に比例するだとか周波数の3乗に比例するだとか言われているが、実際どうなのか調べた。


関連

電圧・周波数と消費電力の関係についてのより詳細な検証


はじめに

 CPUの消費電力は電圧の2乗と周波数に比例する。

 CPUが電力を消費するのは、回路に電気抵抗があるからで、この抵抗はインピーダンスと呼ばれ以下の式であらわされる。


 ここで、Zは回路のインピーダンス、fはCPUの周波数、Cは回路の浮遊容量である。このあたりについてはこの記事が詳しい。

 また、回路のインピーダンスと流れる電流、印加電圧には以下の関係がある(オームの法則)

上記の式から、回路の消費電力Pを求めると下式が得られる。



 このことから、CPUの消費電力Pは電圧Vの2乗と周波数fに比例することがわかる(実際はほかの要素もあるため、消費電力の計算は上よりも複雑になる)

 また、CPUの周波数が高くなるほど駆動に必要なCPU電圧Vは高くなり(詳細はこちら),ある電圧における最高周波数fmaxはfmaxαVとおくことができる。この関係から消費電力の式のVをfmaxに置き換えると、消費電力はfmaxの3乗に比例するということもできる(3乗に比例するのはあくまでfmaxで、ほかの周波数では3乗にはならない)

実証実験

 このことを確かめるため、以下の実験を行った。
1)CPU周波数を固定し、電圧を変更したときのCPUパッケージ電力の測定。
2)CPU電圧を固定し、周波数を任意の値に固定したときのCPUパッケージ電力の測定。
3)CPU電圧をM/BのAdaptiveモードで制御し、周波数を任意の値に固定したときのCPUパッケージ電力の測定。

テスト環境
・CPU:Intel Core i7 9700K
・M/B:ASUS Z390-f gaming
・Memory:2666MHz-32GB

 CPU周波数、電圧、パッケージ電力はCHINEBENCH R20を3回走らせている間の値をHWinfoで記録し、その平均値を結果とした。また、電力制限は十分大きな値に設定した。

結果

 1)以下はCPU周波数を3.6GHzに固定したときのCPU電圧VcoreとCPUパッケージ電力の関係で、グラフは曲線状になっている。
 
 ここで、上のグラフの横軸をVcoreの2乗にするとグラフは下のように直線になる。このことから、パッケージ電力がVcoreの2乗に比例していることがわかる。

2)CPU電圧を1.305Vに固定、
周波数を任意の値に固定したとき、CPU周波数とパッケージ電力の関係は以下のようになった。グラフは直線で、パッケージ電力がCPU周波数に比例していることがわかる。

3)CPU電圧をAdaptiveモードにして周波数を任意の値に固定したとき、周波数×Vcore^2とパッケージ電力の関係は以下のようになった。グラフは直線であり、パッケージ電力が電圧の2乗と周波数に比例していることがわかる。





0 件のコメント:

コメントを投稿