Поделиться через


структура 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)

См. также