Surface Laptop 3(Icelake)の電力制御
最近のCPUは、Turbo Boostによって動作クロックが大きく変わるうえ、CPUの個体差や筐体の冷却能力によっても動作クロックが変わってくるので、BIOSでそのあたりの設定をいじり放題なデスクトップPCと違って、ノートPCでは結局どのくらいのクロックで動くのかがよくわからない。
また、最近のTurbo Boostは複雑化して、電力の上限もPL1とPL2だけのような単純なものではなく、段階的に上限が設定されるらしく、正直どうなるのかよくわからない。というわけで、今回はx264エンコード中、QSVEnc中の挙動をチェックしてみた。
Surface Laptopのスペック
まずはSurface Laptopのスペックから。
All Core Truboは3.3GHzらしい。さて、このクロックでどのくらい動くことができるのか…?
x264エンコード
まずは、1080p(preset=slow)のx264エンコード中の動作周波数の履歴から。
ちょうど30秒程度全コア3.3GHzで動いたのち、少しづつクロックが下がっていき、2GHzを切るぐらいまで下がっていっている。

そのときのCPU使用率と温度、消費電力の様子が下の図。左横軸がCPU使用率[%]とCPU温度[℃]、右横軸が電力[W]。
まずは、最初の30秒、3.3GHzで動作しているときはPL1 Limitを超えてCPU Package Powerが40W近くいっていて、CPU温度も92℃(!)までいっている。
そのあとは、CPU Package PowerがPL1 Limitにおさまるように調整され、さらにPL1 Limitが少しづつ下がってくることで消費電力、クロック、CPU温度が下がってきていて、なるほど、これが段階的に調整されるということらしい。最終的にはTDP=15Wまで上限が下がることになるんだと思う。

QSVエンコード中
次にそれほど消費電力を喰わないと思われるQSVエンコード中の様子。CPUにはさほど負荷がかかっていないので、消費電力がさほど多くなく、電力の上限に引っかかることもないので、クロックは3.3~3.6GHzあたりで推移している。

そのときのCPU/GPU/Media Engine使用率と温度、消費電力の様子が下の図。左横軸がCPU/GPU/Media Engine使用率[%]とCPU温度[℃]、右横軸が電力[W]。
CPU Package Powerはだいたい16~17W程度なので、比較的CPU温度も上がっていない。
というか、QSVエンコード中、GPU D3D Usageは90%を安定して超えていて、GPUは思いのほか回っているけど、GT Cores Powerは5~6Wになっている。64EUあるにしてはかなり省電力な感じで、このあたりは低クロックなら省電力な10nmの恩恵が出ているのかもしれない。

というわけでIcelake世代の電力制御を確認してみたけど、すごくきめ細かく調整されているようで、なるべくCPUの性能を引き出せるようになっているのだと思う。、一方で、いろいろな条件によってどのくらいのクロックで動けるかは変わってしまいそうで、スペックから性能を予想するのはより難しくなり、測ってみないと分からない、という状態になってきている気もする。
また、最近のTurbo Boostは複雑化して、電力の上限もPL1とPL2だけのような単純なものではなく、段階的に上限が設定されるらしく、正直どうなるのかよくわからない。というわけで、今回はx264エンコード中、QSVEnc中の挙動をチェックしてみた。
Surface Laptopのスペック
まずはSurface Laptopのスペックから。
Surface Laptop 3 13.5" | |
---|---|
CPU | Core i5 1035G7 |
Gen | IceLake 10nm+ |
コア数 | 4C / 8T |
Base/Turbo(All)/(Max) | 1.2 / 3.3 / 3.7 GHz |
L3 | 6MB |
GPU | Iris Plusグラフィックス |
GPU EU | 64EU |
GPU Clock | 1050MHz |
TDP | 15W |
メモリ | LPDDR4X-3733, 2ch |
メモリ容量 | 8GB |
SSD | NVMe 128GB |
ディスプレイ | 光沢 2256×1504, タッチ対応 |
All Core Truboは3.3GHzらしい。さて、このクロックでどのくらい動くことができるのか…?
x264エンコード
まずは、1080p(preset=slow)のx264エンコード中の動作周波数の履歴から。
ちょうど30秒程度全コア3.3GHzで動いたのち、少しづつクロックが下がっていき、2GHzを切るぐらいまで下がっていっている。

そのときのCPU使用率と温度、消費電力の様子が下の図。左横軸がCPU使用率[%]とCPU温度[℃]、右横軸が電力[W]。
まずは、最初の30秒、3.3GHzで動作しているときはPL1 Limitを超えてCPU Package Powerが40W近くいっていて、CPU温度も92℃(!)までいっている。
そのあとは、CPU Package PowerがPL1 Limitにおさまるように調整され、さらにPL1 Limitが少しづつ下がってくることで消費電力、クロック、CPU温度が下がってきていて、なるほど、これが段階的に調整されるということらしい。最終的にはTDP=15Wまで上限が下がることになるんだと思う。

QSVエンコード中
次にそれほど消費電力を喰わないと思われるQSVエンコード中の様子。CPUにはさほど負荷がかかっていないので、消費電力がさほど多くなく、電力の上限に引っかかることもないので、クロックは3.3~3.6GHzあたりで推移している。

そのときのCPU/GPU/Media Engine使用率と温度、消費電力の様子が下の図。左横軸がCPU/GPU/Media Engine使用率[%]とCPU温度[℃]、右横軸が電力[W]。
CPU Package Powerはだいたい16~17W程度なので、比較的CPU温度も上がっていない。
というか、QSVエンコード中、GPU D3D Usageは90%を安定して超えていて、GPUは思いのほか回っているけど、GT Cores Powerは5~6Wになっている。64EUあるにしてはかなり省電力な感じで、このあたりは低クロックなら省電力な10nmの恩恵が出ているのかもしれない。

というわけでIcelake世代の電力制御を確認してみたけど、すごくきめ細かく調整されているようで、なるべくCPUの性能を引き出せるようになっているのだと思う。、一方で、いろいろな条件によってどのくらいのクロックで動けるかは変わってしまいそうで、スペックから性能を予想するのはより難しくなり、測ってみないと分からない、という状態になってきている気もする。
スポンサーサイト