CPUの省電力機能は、当初、ノートPCのバッテリー運用時間向上を目的に開発され、CPUの処理が必要ない時に、その状態を保持したままクロックを停止するといった、CPU単体の機能として導入された。その後、BIOSを介して電力を管理する「APM(Advanced Power Management)」や、OSがより複雑に電力を管理する「ACPI(Advanced Configuration and Power Interface)」といった規格が作られた。

 現在のCPUの電力は、APMもしくはACPIの配下でOSなどのソフトウエアによって管理されている。AMDのCPUは「Cool'n'Quietテクノロジ」または「Power Now!テクノロジ」という機能を持っている。これらは、ACPIで「Pステート」として定義されるCPUの状態を切り替える機能だ。

 具体的には、CPUの使用率に応じて、動作周波数と動作電圧をセットで切り替えて消費電力を抑制している。平均的なPCの使い方なら、電源が入っている時間の7~9割はCPUがアイドル状態だと言われており、Pステートの切り替えだけでも省電力の効果は大きい。さらにCPUは、アイドル状態で動きを止めて、一層の「省エネ」に努めている。

OSがCPUに動作停止を指示、CPU内蔵制御装置もダウン

 処理が不要な時にクロックを止めるという機能を、現在のCPUはより進んだ形で実装している。ACPIに対応したOSは、CPUの処理が不要だと判断すると、「HLT(停止)命令」を発行する。Windowsの「タスクマネージャ」で、CPUの使用率が低いときに、高い割合でCPUを使っているように見える「System Idle Process」というプロセスは、このHLT命令発行が実体だ。

 これを受けてCPUは「HALT(停止)」状態に移行する。ACPIではこれを、「C0ステート」(動作状態)から「C1ステート」(停止状態)に移行した、と言う。CステートとはCPUの電力状態を表している。C1ステートではコアを非常に低い周波数で動かして消費電力を抑えているが、コアもインターフェースも即時動作可能な状態にあり、次の命令や外部からのリクエストがあれば、すぐに動作を再開できるよう待機している。

 さらに、CPUの仕事がないとOSが判断すると、CPUに対してC2あるいはC3ステートへの移行を指示する。CPUは進行中のメモリーアクセスの状況を見ながら(CPUコアが停止しても、I/Oからのメモリーアクセスが残っている可能性がある)、チップセット(I/O)にC3ステートへの移行を通知して、接続を切る。

 また、メモリーに対しては「セルフリフレッシュコマンド」を発行し、メモリーインターフェースの機能を停止する。クロック供給が停止してもセルフリフレッシュ機能によってメモリーは内容を保持できる。これらにより、内蔵ノースブリッジとメモリーコントローラーのクロックも極めて低い周波数まで落とすことができる。これでようやく、CPUはC3ステートへの移行が完了する。

この先は会員の登録が必要です。有料会員(月額プラン)は初月無料!

日経 xTECHには有料記事(有料会員向けまたは定期購読者向け)、無料記事(登録会員向け)、フリー記事(誰でも閲覧可能)があります。有料記事でも、登録会員向け配信期間は登録会員への登録が必要な場合があります。有料会員と登録会員に関するFAQはこちら