структура 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
Пометьте биты и поля состояния, к которые обращаются в виде одного 32-разрядного целого числа без знака.
Interruptible
Может ли обработчик реагировать на прерывания, когда в этом состоянии простоя. Установите для этого флага значение 1, если процессор может реагировать на прерывания и 0, если он не удается.
CacheCoherent
Остается ли локальный кэш или кэш процессора последовательным в течение длительности этого состояния простоя процессора. Установите для этого флага значение 1, если в этом состоянии бездействия сохраняется когерентность кэша и значение 0, если это не так.
ThreadContextRetained
Сохраняется ли контекст потока в этом состоянии простоя процессора. Установите для этого флага значение 1, если оборудование процессора сохраняет контекст потока во время перехода бездействия. Установите значение 0, если процессор использует протокол парковки с несколькими обработчиками для выхода из состояния простоя и возврата управления в операционную систему. Дополнительные сведения об этом протоколе см. в документе с названием "Многопроцессорный запуск для платформ ARM" на сайте архитектуры компонентов ACPI.
CStateType
Тип состояния C для состояния простоя процессора. Задайте для этого битового поля нулевое значение, если это состояние простоя не соответствует определенному C-состоянию ACPI. В противном случае задайте для этого битового поля номер состояния C. То есть задайте CStateType = 1 для C1, задайте CStateType = 2 для C2 и т. д. Дополнительные сведения о состояниях C см. в разделе 8.1, состояния процессора, спецификации ACPI 5.0.
WakesSpuriously
Может ли процессор проснуться в состоянии простоя. Установите для этого флага значение 0, если процессор гарантированно остается в состоянии простоя, пока он не получит прерывание устройства, межпроцессорное прерывание (IPI) или запрос на пробуждение. Установите значение 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. Этот флаг может иметь значение 1, только если CStateType ненулево.
Reserved
Зарезервировано для дальнейшего использования. Установите значение нулю.
Latency
Наихудшая задержка в 100-наносекундах, что процессору требуется пробуждение от этого состояния простоя в ответ на событие пробуждения.
BreakEvenDuration
Минимальное время, указанное в 100-наносекундных единицах, которое процессор должен тратить в этом состоянии простоя, чтобы сделать переход к этому состоянию стоит. Платформа управления питанием Windows (PoFx) использует это значение члена в качестве указания, чтобы избежать переключения процессора в состояние простоя, если процессор, скорее всего, не останется в этом состоянии по крайней мере на время, указанное BreakEvenDuration.
Замечания
Неназванный союз содержит коллекцию битов флагов и полей состояния, к которым можно обращаться по отдельности как битовые поля или вместе как 32-разрядное целое число без знака.
Неименованная структура содержит биты флагов и поля состояния, к которые обращаются в виде отдельных битовых полей.
Эта структура используется вместе с уведомлением PEP_NOTIFY_PPM_QUERY_IDLE_STATES_V2. Элемент IdleStates структуры PEP_PPM_QUERY_IDLE_STATES_V2 является первым элементом массива PEP_PROCESSOR_IDLE_STATE_V2 структур.
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Поддерживается начиная с Windows 10. |
заголовка | pep_x.h (include Pep_x.h) |