スリープ中、Windows は定期的に SoC プラットフォームをアイドル モードからアクティブ モードに切り替えて、電子メール通知の受信やメンテナンス タスクの実行などのアクティビティを追加する価値を高めます。 さらに、ユーザー入力、ネットワーク デバイスからの割り込み、その他のハードウェア イベントに応じて、オンデマンドでアクティブ モードに切り替えることができます。
SoC がドリップ状態になった後、プラットフォームは通常、最も低い電力モードになります。 スリープ中に、プラットフォームはこのアイドル (ドリップ) モードとアクティブ モードを定期的に切り替えます。 低電力は、ドリップモードで時間の大半を費やし、アクティブモードで非常に少量の時間を費やすことで、睡眠中に達成されます。
アイドル状態からアクティブ状態への遷移
Windows では、次の理由により、SoC がアクティブ モードに移行されます。
- ネットワーク デバイス (Wi-Fi、モバイル ブロードバンド、またはイーサネット) からの割り込みによるオンデマンド ウェイク イベント。 ネットワーク デバイスは、一致する WoL パターンが検出されたとき、またはメディアまたは接続の状態が変化したときに割り込みを生成します。 この割り込みでは、帯域外の GPIO、帯域内の USB 再開シグナル通知、または PCI PME 割り込みを使用して SoC をウェイクアップします。
- バッテリ残量計、バッテリ充電コントローラー、温度センサーなどのソースからのプラットフォーム デバイスの割り込みによるオンデマンド ウェイク イベント。
- キーボード、タッチパッド、外部 USB 周辺機器、電源ボタン、カバー スイッチでのユーザー入力を原因とする割り込みによるオンデマンド ウェイク イベント。
SoC がスリープ解除され、プラットフォームが DRIPS 状態を終了するとすぐに、CPU はコードの実行を再開します。 ただし、割り込みがユーザー入力または電源への接続の結果である場合を除き、画面の電源はオフのままになります。 割り込みを引き起こすデバイスのドライバーは、割り込みがユーザー入力に対応する場合、OS にユーザーのプレゼンスを報告する役割を担います。 Windows 電源マネージャーは、画面の電源をオンにするかどうかを決定します。システム デザイナーは、各デバイスからの割り込みが接続され、SOC がドリップ状態から復帰するようにプログラムされていることを確認する必要があります。
システム デザイナーは、SoC ウェイクアップ用のデバイス割り込みを接続するために、SoC ベンダーと密接に連携する必要があります。 一部の SoC デバイスでは、デバイスの割り込みを、特殊な "ウェイク対応" 入力に関連付けるか、システム ファームウェアを使用してウェイク用に構成する必要があります。
活動中から待機中への移行
すべてのソフトウェア アクティビティが停止し、SoC チップのオンとオフのデバイスが低電力状態になった後、Windows は SoC プラットフォームをアクティブ モードからアイドル モードに切り替えます。
SoC は、前のセクションで説明したトリガーに基づいて、スリープ中にアイドル モードとアクティブ モードの間で遷移します。 SoC がアクティブなときは常に、Windows は積極的にアイドル (ドリップ) 状態に戻して電力消費量を削減しようとします。
SoC は、電源ボタンの押下など、ユーザー入力に応じてシステムが最新のスタンバイを終了したときにもアクティブになります。 SoC は、次の条件がすべて満たされると、自動的にアイドル状態 (DRIPS) 状態に戻されます。
- SoC の外部にあるすべてのデバイスの電源がオフになっています。
- すべてのネットワークと無線デバイスは、WoL パターンに一致するパケットやウェイク割り込みを待つために、低電力状態になっています。
- SoC 上のすべてのホスト コントローラーの電源がオフになっています。
- すべてのアプリのバックグラウンド タスクが完了しました。
- すべての CPU および GPU アクティビティが停止し、すべての CPU がアイドル状態になっています。
最新のスタンバイ電源の問題のほとんどは、これら 5 つの条件がすべて満たされていることを確認することに関連しています。 Windows には SleepStudy と呼ばれる組み込みの診断ツールが含まれており、SoC がアイドル状態 (IDLES) 状態に入らないようにしたときに、これらの条件のうちどれが満たされていないかを検出するのに役立ちます。