estrutura PEP_PROCESSOR_IDLE_STATE_V2 (pep_x.h)

A estrutura PEP_PROCESSOR_IDLE_STATE_V2 descreve um estado ocioso do processador ao qual o PEP (plug-in de extensão de plataforma) dá suporte.

Sintaxe

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;

Membros

Ulong

Sinalizar bits e status campos acessados como um único valor inteiro sem sinal de 32 bits.

Interruptible

Se o processador pode responder a interrupções quando estiver nesse estado ocioso. Defina esse bit de sinalizador como 1 se o processador puder responder a interrupções e como 0 se não puder.

CacheCoherent

Se o cache ou os caches locais do processador permanecem coerentes durante a duração desse estado ocioso do processador. Defina esse bit de sinalizador como 1 se a coerência de cache for mantida nesse estado ocioso e como 0 se não estiver.

ThreadContextRetained

Se o contexto de thread é mantido nesse estado ocioso do processador. Defina esse bit de sinalizador como 1 se o hardware do processador mantiver o contexto de thread na transição ociosa. Defina como 0 se o processador usar o protocolo de estacionamento multiprocessador para sair do estado ocioso e retornar o controle para o sistema operacional. Para obter mais informações sobre esse protocolo, consulte o documento intitulado Inicialização multiprocessador para plataformas ARM no site arquitetura de componentes do ACPI.

CStateType

O tipo de estado C do estado ocioso do processador. Defina esse campo de bits como zero se esse estado ocioso não corresponder a um estado C definido por ACPI. Caso contrário, defina esse campo de bits como o número do estado C. Ou seja, defina CStateType = 1 para C1, defina CStateType = 2 para C2 e assim por diante. Para obter mais informações sobre estados C, consulte a seção 8.1, Estados de Energia do Processador, da especificação ACPI 5.0.

WakesSpuriously

Se o processador pode acordar espúrio nesse estado ocioso. Defina esse bit de sinalizador como 0 se o processador tiver a garantia de permanecer nesse estado ocioso até receber uma interrupção do dispositivo, uma IPI (interrupção entre processadores) ou uma solicitação de ativação. Defina como 1 se o processador pode acordar de forma autônoma por algum outro motivo.

PlatformOnly

Se a transição para esse estado ocioso do processador pode ser executada apenas como parte de uma transição coordenada para um estado ocioso em toda a plataforma. Defina esse bit de sinalizador como 1 se a transição de estado ocioso do processador puder ser executada apenas como parte de uma transição para um estado ocioso da plataforma. Caso contrário, defina como 0.

Autonomous

Se uma transição coordenada para esse estado ocioso do processador é executada de forma autônoma pelo hardware do processador. Defina esse bit de sinalizador como 1 se essas transições forem autônomas e como 0 se não forem. Um valor de sinalizador de 1 indica que o estado ocioso pode ser inserido sem enviar uma notificação de PEP_NOTIFY_PPM_TEST_IDLE_STATE, PEP_NOTIFY_PPM_IDLE_PRE_EXECUTE ou PEP_NOTIFY_PPM_IDLE_COMPLETE . Esse sinalizador só poderá ser definido como 1 se CStateType não for zero.

Reserved

Reservado para uso futuro. Defina como zero.

Latency

A latência de pior caso, em unidades de 100 nanossegundos, que o processador requer para acordar desse estado ocioso em resposta a um evento de ativação.

BreakEvenDuration

A quantidade mínima de tempo, especificada em unidades de 100 nanossegundos, que o processador deve gastar nesse estado ocioso para fazer uma transição para esse estado valer a pena. A PoFx ( estrutura de gerenciamento de energia ) do Windows usa esse valor de membro como uma dica para evitar alternar um processador para um estado ocioso, a menos que o processador provavelmente permaneça nesse estado pelo menos pelo tempo especificado por BreakEvenDuration.

Comentários

A união sem nome contém uma coleção de bits de sinalizador e campos status que podem ser acessados individualmente como campos de bits ou juntos como um valor inteiro sem sinal de 32 bits.

O struct sem nome contém bits de sinalizador e campos de status acessados como campos de bits individuais.

Essa estrutura é usada em conjunto com a notificação de PEP_NOTIFY_PPM_QUERY_IDLE_STATES_V2 . O membro IdleStates da estrutura PEP_PPM_QUERY_IDLE_STATES_V2 é o primeiro elemento em uma matriz de estruturas PEP_PROCESSOR_IDLE_STATE_V2 .

Requisitos

Requisito Valor
Cliente mínimo com suporte Com suporte começando com Windows 10.
Cabeçalho pep_x.h (inclua Pep_x.h)

Confira também