S0ix
ACPIで定義されたS0 Low Power Idleに対応するためにIntelのCPUに導入された新しいCPUのアイドル状態の総称。
S0i1, S0i2, S0i3が定義されている。
Windowsのモダンスタンバイはこの機能を使っている。
モダンスタンバイに対応したシステムではS3に入る代わりにS0 Low Power Idleに入る。
https://ascii.jp/img/2019/09/14/1545291/l/d8a2fa48a575c874.jpg
待ち受けなど可用性を高めるためにS0のままで動かし、同時にS3以上の省電力性能を達成しようとしている。
https://image.slidesharecdn.com/td2015windows10-151104053109-lva1-app6892/95/td-2015-windows-10-17-638.jpg?cb=1446615078
スリープ中に見えてもスマホのようにアプリが動作するWindows 10の「モダンスタンバイ」
S0i1では、プロセッサはC6-State、起動や電源管理の回路の電源がオン、メモリコントローラーはセルフリフレッシュ(メモリに対してセルフリフレッシュコマンドを発行し、コントローラー自身は低消費電力状態となる)、その他のSoC内蔵モジュールはPower Gatedとして最低限必要な部分のみに電力を供給する。
S0i3では、メモリコントローラーはセルフリフレッシュ状態だが、それ以外の回路はオフとなる。CPUパッケージ(SoC)の外側にあるデバイスは原則オフだが、ネットワークコントローラーやサウンドコントローラーは、ある程度自立的に動作できる「オフロード」状態となる。S0i1とS0i3では消費電力も違うが、S0への復帰時間にも違いがある。S0i1からS0へは1.2ミリ秒(Haswellの場合)程度なのに対してS0i3からは3.1ミリ秒かかる。
S0でC-Stateを切り替えるのと同じように、S0 Low Power IdleではS0ixを切り替える?
https://ascii.jp/img/2019/09/14/1545289/o/cb0286bde05cc83b.jpg
スリープ中に見えてもスマホのようにアプリが動作するWindows 10の「モダンスタンバイ」
https://ascii.jp/elem/000/001/946/1946966/
「スロットリング」ではCPUの電力管理をOSではなく、CPU任せにする
https://ascii.jp/elem/000/001/942/1942549/
Windows 10の電力管理を支えるACPIを見る
https://ascii.jp/elem/000/001/937/1937460/
INTEL LOW POWER S0 IDLE, May 2017, Revision 002 (PDF)
Atom (Moorstown)で最初に導入されたらしい。
HaswellなどのプロセッサではS0i1とS0i3のみが実装されているらしい。
従来はS0のままでProcessor Power State (C-State)を調整して省電力を図っていた。
C-Stateの制御はOSが行うだけでなく、プロセッサが自動で行うこともできる。
さらにS0からS0 Low Power Idleに移行できるようになった。