PEP_PROCESSOR_IDLE_STATE_V2構造体 (pep_x.h)
PEP_PROCESSOR_IDLE_STATE_V2構造体は、プラットフォーム拡張機能プラグイン (PEP) がサポートするプロセッサのアイドル状態を表します。
構文
typedef struct _PEP_PROCESSOR_IDLE_STATE_V2 {
union {
ULONG Ulong;
struct {
ULONG Interruptible : 1;
ULONG CacheCoherent : 1;
ULONG ThreadContextRetained : 1;
ULONG CStateType : 4;
ULONG WakesSpuriously : 1;
ULONG PlatformOnly : 1;
ULONG Autonomous : 1;
ULONG Reserved : 22;
};
};
ULONG Latency;
ULONG BreakEvenDuration;
} PEP_PROCESSOR_IDLE_STATE_V2, *PPEP_PROCESSOR_IDLE_STATE_V2;
メンバー
Ulong
1 つの 32 ビット符号なし整数値としてアクセスされるビットと状態フィールドにフラグを設定します。
Interruptible
このアイドル状態のときにプロセッサが割り込みに応答できるかどうか。 プロセッサが割り込みに応答できる場合は、このフラグ ビットを 1 に、できない場合は 0 に設定します。
CacheCoherent
プロセッサのローカル キャッシュとキャッシュのどちらが、このプロセッサのアイドル状態の期間を通じて一貫性を保つかどうか。 キャッシュの一貫性がこのアイドル状態で維持されている場合は、このフラグ ビットを 1 に、そうでない場合は 0 に設定します。
ThreadContextRetained
スレッド コンテキストがこのプロセッサのアイドル状態で保持されるかどうか。 プロセッサ ハードウェアがアイドル状態の遷移を通じてスレッド コンテキストを保持する場合は、このフラグ ビットを 1 に設定します。 プロセッサがマルチプロセッサのパーキング プロトコルを使用してアイドル状態を終了し、オペレーティング システムに制御を返す場合は、0 に設定します。 このプロトコルの詳細については、ACPI コンポーネント アーキテクチャ サイトの「ARM プラットフォーム用マルチプロセッサ スタートアップ」というタイトルのドキュメントを参照してください。
CStateType
プロセッサのアイドル状態の C 状態の種類。 このアイドル状態が ACPI で定義された C 状態に対応しない場合は、このビット フィールドを 0 に設定します。 それ以外の場合は、このビット フィールドを C 状態番号に設定します。 つまり、 C1 に CStateType = 1 を設定し、 C2 に CStateType = 2 を設定します。 C 状態の詳細については、ACPI 5.0 仕様のセクション 8.1「プロセッサの電源状態」を参照してください。
WakesSpuriously
プロセッサがこのアイドル状態で誤ってスリープ解除できるかどうか。 プロセッサがデバイス割り込み、プロセッサ間割り込み (IPI)、またはスリープ解除要求を受信するまで、このアイドル状態を維持することが保証されている場合は、このフラグ ビットを 0 に設定します。 プロセッサが何らかの理由で自律的にスリープ解除される可能性がある場合は、1 に設定します。
PlatformOnly
このプロセッサアイドル状態への遷移を、プラットフォーム全体のアイドル状態への調整された遷移の一部としてのみ実行できるかどうか。 プロセッサのアイドル状態遷移をプラットフォームアイドル状態への遷移の一部としてのみ実行できる場合は、このフラグ ビットを 1 に設定します。 それ以外の場合は、0 に設定します。
Autonomous
このプロセッサアイドル状態への調整された遷移がプロセッサ ハードウェアによって自律的に実行されるかどうか。 これらの遷移が自律的な場合は、このフラグ ビットを 1 に、そうでない場合は 0 に設定します。 フラグ値 1 は、PEP_NOTIFY_PPM_TEST_IDLE_STATE、PEP_NOTIFY_PPM_IDLE_PRE_EXECUTE、またはPEP_NOTIFY_PPM_IDLE_COMPLETE通知を送信せずにアイドル状態を入力できることを示します。 このフラグは、 CStateType が 0 以外の場合にのみ 1 に設定できます。
Reserved
将来利用するために予約されています。 0 に設定します。
Latency
プロセッサがスリープ解除イベントに応答してこのアイドル状態からスリープ解除する必要がある、最悪の場合の待機時間 (100 ナノ秒単位)。
BreakEvenDuration
100 ナノ秒単位で指定された、プロセッサがこのアイドル状態に費やす必要がある最小時間は、この状態に移行する価値があります。 Windows 電源管理フレームワーク (PoFx) では、このメンバー値をヒントとして使用して、プロセッサが 少なくとも BreakEvenDuration で指定された時間だけこの状態のままである可能性がない限り、プロセッサをアイドル状態に切り替えないようにします。
注釈
名前のない共用体には、フラグ ビットと状態フィールドのコレクションが含まれており、個別にビット フィールドとして、または 32 ビット符号なし整数値として一緒にアクセスできます。
名前のない構造体には、フラグ ビットと、個々のビット フィールドとしてアクセスされる状態フィールドが含まれています。
この構造体は、 PEP_NOTIFY_PPM_QUERY_IDLE_STATES_V2 通知と組み合わせて使用されます。 PEP_PPM_QUERY_IDLE_STATES_V2構造体の IdleStates メンバーは、PEP_PROCESSOR_IDLE_STATE_V2構造体の配列の最初の要素です。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 10 以降でサポートされています。 |
Header | pep_x.h (Pep_x.h を含む) |