従来の省電力アルゴリズムはP-stateでの動作状況で判断
そもそも従来の省電力アルゴリズムは、DVFS(Dynamic Voltage and Frequency Scaling)に基づいて、動作周波数に応じて電圧を変化させることで最適な消費電力に抑えるのが骨子であり、その際に動作周波数を上げる/下げるの判断基準になるのが、P-stateでの動作状況、という話であった。
要するに1998年のSpeed Stepがその大元であり、実装がより巧みになったなどの改良はあるものの、基本的にはCPUの負荷率に応じ、負荷が高まったら動作周波数を引き上げ(これに伴い電圧を上昇)、負荷が減ったら動作周波数を引き下げる(この際には電圧を下げる)仕組みである。
理屈は簡単だが、この仕組みの欠点は「負荷が上がってから動作周波数(と電圧)が上がるまでの間にタイムラグがある」点だ。
つまり、あるコアが最初は待機状態であるが、急に負荷が上がるとまず稼働率が100%になる。ただこの時点では、「待機状態の低い動作周波数では100%負荷になるけど、動作周波数が上がるとそれほどの負荷ではない」のか「最高動作周波数でも100%負荷になる」のかの判断は付かない。あと、割り込み処理のように一時的に負荷が高いがすぐ終わる可能性もある。
したがって、通常負荷が100%になってもわずかな時間はそのまま維持して負荷状況の変動を見る。この間も100%に張り付きっぱなしであれば、これは本当に負荷が高くなったと見なして動作周波数と電圧を引き上げるわけだ。
余談ながら、上の画像ではいきなり動作周波数が引き上げられているが、実際はもう少しステージがある。というのは動作周波数の方はベースクロックに対する倍率を変化させるだけなので、上げるのはそう難しくない。
実際にはいきなり動作周波数が大きく変わると、回路の誤動作が起きる場合があるので段階的に上げるのだが、それでもそれぞれの段階に要する時間はそれほど長くない。
しかし、電圧の方は外部のVRMを操作する関係で、急に0.6Vから1Vまで引き上げるわけにはいかない。
少し古い情報だが、インテルのVRM 11.1の仕様書によれば、電圧の変動は2.5マイクロ秒ごとに12.5mV刻みとされており、0.1V変化させるのには20マイクロ秒ほどを要する(最新のVRMはもう少し高速だと思うが)。
この数字のままでは0.6Vから1Vに引き上げるのには80マイクロ秒ほど必要で、これはGHzオーダーで動作するCPUにはかなりの長期間になる。要するに、電圧を上げ始めた頃には負荷が軽くなり始めている可能性もあるわけだ。
Meteor Lakeでは動作周波数や電圧変更をAIが判断する
では先行して少しでも負荷が上がったら、動作周波数や電圧をすぐに引き上げるか? というと、今度は無駄に動作周波数と電圧が上がってしまう可能性がある。早すぎると無駄が多く、遅すぎると性能の足かせになるわけだ。
これは逆に動作周波数や電圧を落とす方も同じだ。少しでも負荷が下がったら落とすか、負荷が下がって一定時間たったら落とすかは、性能と消費電力の両方に影響を与える。
結果、どの程度のタイミングで動作周波数や電圧を変化させるかは、性能と消費電力のトレードオフの関係にある。この判断にAIを使うようにしたのが、今回の発表の骨子である。
具体的には、ワークロードタイプ、つまりどんなタイプの処理をしているのかを、Idle/Fixed QoS/Sustained/Burstyに分類し(この分類にAIを利用しているものと思われる)、それぞれのタイプに応じて動作周波数の変更や電圧制御をすることで、性能を犠牲にせずに消費電力を10~20%下げられたとしている。
Idleは無負荷状態、Sustainedは長時間のワークロードが発生している(例えばExcelで巨大なワークシートの再計算をしているなど)、Burstyは割り込み処理など、Fixed QoSはおそらくだがOSのサービスなど「一定時間内に一定の処理量を必要とする」ものと思われる。
ちなみにこのグラフはThread Directorが絡まない、つまりE-Coreのみ(かP-Coreのみか)での話であり、実際にはP-CoreとE-Coreのどちらを使うかというThread Directorへの指示も実際には絡んでくるものと思われるのだが、そのあたりの詳細は今回は未公開だった。いずれMeteor Lakeが正式発表された後あたりには詳細が公開されるかもしれない。
この連載の記事
-
第777回
PC
Lunar Lakeはウェハー1枚からMeteor Lakeの半分しか取れない インテル CPUロードマップ -
第776回
PC
COMPUTEXで判明したZen 5以降のプロセッサー戦略 AMD CPU/GPUロードマップ -
第775回
PC
安定した転送速度を確保できたSCSI 消え去ったI/F史 -
第774回
PC
日本の半導体メーカーが開発協力に名乗りを上げた次世代Esperanto ET-SoC AIプロセッサーの昨今 -
第773回
PC
Sound Blasterが普及に大きく貢献したGame Port 消え去ったI/F史 -
第772回
PC
スーパーコンピューターの系譜 本格稼働で大きく性能を伸ばしたAuroraだが世界一には届かなかった -
第771回
PC
277もの特許を使用して標準化した高速シリアルバスIEEE 1394 消え去ったI/F史 -
第770回
PC
キーボードとマウスをつなぐDINおよびPS/2コネクター 消え去ったI/F史 -
第769回
PC
HDDのコントローラーとI/Fを一体化して爆発的に普及したIDE 消え去ったI/F史 -
第768回
PC
AIアクセラレーター「Gaudi 3」の性能は前世代の2~4倍 インテル CPUロードマップ -
第767回
PC
Lunar LakeはWindows 12の要件である40TOPSを超えるNPU性能 インテル CPUロードマップ - この連載の一覧へ