次の方法で共有


Power Management Framework の概要

Windows 7 以前のバージョンのオペレーティング システムでは、デバイス レベルの電源管理のみがサポートされています。これにより、ドライバーはデバイスで D 状態をサポートできます。 Advanced Configuration and Power Interface (ACPI) 仕様では、デバイスの電源状態 D0 (完全にオン) から D3 (完全にオフ) を定義し、S0 (完全にオン) から S5 (完全にオフ) システムの電源状態を定義します。 これらのバージョンの Windows には、デバイス内の個々のコンポーネントに供給される電力を個別に管理するメカニズムは用意されていません。 これらのバージョンの Windows では、一部のドライバーはコンポーネントのカスタム電源コントロールを実装できますが、通常、これらのコントロールはドライバーに複雑さを加え、コンポーネントの電源設定がデバイス内で制御されている場合にのみ実現可能な場合があります。

Windows 8 以降、ランタイム電源管理フレームワーク (PoFx) では、コンポーネント レベルの電源管理のサポートが追加されています。 コンポーネント (サブデバイス) は、同じデバイス内の他のコンポーネントとは関係なく、電源をオンにしたり、低電力状態に切り替えたりできるデバイスの機能ハードウェア ユニットです。 たとえば、オーディオ デバイスには、互いに独立して電源状態を管理できる、再生と記録用の個別のコンポーネントがある場合があります。 再生コンポーネントが使用されているが、記録コンポーネントがアイドル状態の場合、記録コンポーネントは、再生コンポーネントのアクティビティを妨げることなく、低電力状態に切り替えることができます。

デバイス ドライバーは PoFx に登録して、デバイス内の個々のコンポーネントの電力使用量を個別に管理します。 PoFx は、Windows ポータブル コンピューター、タブレット、携帯電話、またはその他のモバイル デバイスがバッテリ充電で実行できる時間を延長するために必要なきめ細かい制御を提供します。 PoFx は、常にオンで常に接続されているモバイル デバイスの外観を維持する方法で電力使用量を削減します。

ドライバーは通常、いくつかのコンポーネントの電源状態、F0、F1 などをサポートしています。F0 は完全にオンの状態です。 すべてのコンポーネントで F0 状態がサポートされます。 デバイス内のコンポーネントの電源ポリシー所有者 (PPO) であるドライバーは、コンポーネントが持つ可能性のある追加の低電力 Fx 電源状態を定義する役割を担います。 (通常、デバイスのファンクション ドライバーは PPO です)。このドライバーは、コンポーネントごとの低電力 Fx 状態の数と各 Fx 状態の属性を決定します。 このドライバーが定義する Fx の状態は、同じデバイス内のコンポーネントによって異なる場合があります。

PoFx は、デバイス のコンポーネントに関する状態と機能情報をドライバーが提供できるデバイス ドライバー インターフェイス (DDI) を提供します。 この情報には、次のものが含まれます。

  • 各コンポーネントの現在のアクティビティ レベル
  • ある電源状態から別の電源状態に変更するためにコンポーネントが必要とする時間
  • コンポーネントが低電力状態から復帰したときにデバイスのクライアントが許容できる待機時間の量

さらに、PoFx は、コンポーネントが属する電源ドメインとクロック ドメインに関するシステム全体の情報を取得します。 (特定の電源ドメイン内のデバイスは共通のパワー レールを共有し、特定のクロック ドメイン内のデバイスは共通のクロック信号を共有します)。

この情報に基づいて、PoFx は、コンポーネントがいつ低電力状態に入り、どの低電力状態に入るべきかについてインテリジェントな決定を行います。 決定プロセスには、他のコンポーネントや他のデバイスからの情報が含まれており、さまざまな電源およびクロック ドメイン内のデバイスとコンポーネント間の依存関係が考慮されます。

PoFx の使用を開始するには、デバイスの電源管理のリファレンス と電源管理 Component-Level を参照してください。