2021年11月14日日曜日

Core i7 11700K(Rocket Lake)のVcore電圧を下げたらIPCが低下した

  CPUのVcore電圧を下げることは消費電力の抑制に効果的だが,Core i7 11700KでVcore電圧を下げたところ消費電力だけでなくIPC(Instruction Per Clock:クロック当たりの性能)まで落ちる現象に遭遇した.

 CPUの消費電力と動作周波数・Vocre電圧との関係をCore i7 11700Kで検証するため,様々な電圧と周波数の組み合わせでCinebench R23実行時の消費電力の測定をしたのだが,その副次的な結果として,あるVcore電圧を境にしてIPCに違いが出ていることが分かった.10700K(Comet Lake)ではこのような現象はなかったので,Rocket Lake特有のものと思われる.

 なお,本稿では本来の目的であったCPUの消費電力と動作周波数・Vcore電圧についても後半に記載している.


CPUのVcore電圧とクロック当たりの性能の関係

 下のグラフの横軸はHWInfoで測定したCinebenchのマルチ実行中の実効動作周波数(Core Effective Clock)平均値,縦軸がCinebenchのスコアである.グラフ中の2つの凡例は,それぞれベンチマーク中のVcore電圧の平均値が1.296V未満のグループ,1.296V以上のグループを示している.


 グラフより,Vcore平均値1.296V以上のグループに比べて1.296V未満のグループは同一周波数におけるスコアが低くなっており,IPCが低下していることがわかる.ただし,1.296Vという値はCPUや環境によって異なるだろう.

 この現象の原因は何であろうか.CPUの周波数やVcore電圧の設定やデータの測定に使用したアプリケーションは10700Kと同じなので,これらが原因とは考えにくい.11700KというかRocket Lakeでは本来10nmルールで実装されていたSunny Coveアーキテクチャを14nm++ルールにバックポートしており,そのあたりが影響しているのかもしれない(Alder Lakeはどうなのだろうか.誰かやってほしい)


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

 次に,本来の目的であったCPUの消費電力と動作周波数・Vcore電圧の関係を検証した.前回の検証ではCore i7 10700Kを用いたが,アーキテクチャの異なる11700Kでも同様の結果となるのだろうか.

 下のグラフは横軸にCPUの動作周波数*Vcore^2[GHz*V^2],縦軸にIA Coreパッケージ電力をとったもので,Cinebenchのスコアと同様にVcore電圧1.296Vを境にグラフが2つのグループに分かれている.この点を除くと10700Kと同様に,消費電力はおおむね動作周波数*Vcore^2に比例している.



 なお,上のグラフの横軸を動作周波数*Vcore^2.5にした場合は以下のようになった.こちらも10700Kと同様に直線性が向上しており,CPU消費電力はVcore電圧の2乗より2.5乗のほうにより良い比例関係を持つ結果となった.



 最後に,これまでの検証で使用したソフトウェアを記載しておく.

・Intel Extreme Tuning Utility(Intel XTU)

 CPUのクロック,Vcore電圧設定に使用.ただし,Rocket Lake世代では動作周波数を3.6GHz未満に設定できないため,3.6GHz未満はBIOSで設定した.BIOSで設定しておけばXTU側でもその値が認識される.

・HWInfo

 動作周波数,Vcore電圧などのモニタリングやCSVファイルへの記録に使用.記録する項目が多すぎるとCSVファイルの項目数がバグる場合があるので,必要なもの以外はモニタリングを切ったほうがいい(データ整理はExcelマクロで行ったのだが,ハードウェア構成を変えてないのにCSVファイルの列数が違う場合があり,ひどく困った)



0 件のコメント:

コメントを投稿