> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# ConfigurePMCs

> ConfigurePMCs

# ConfigurePMCs

Configura os quatro contadores de monitoramento de desempenho (PMCs) de hardware para permitir que um título leia os contadores diretamente para o código do título.

## Sintaxe

```cpp theme={null}
HRESULT ConfigurePMCs(  
         unsigned int eventIndex0,  
         unsigned int eventIndex1,  
         unsigned int eventIndex2,  
         unsigned int eventIndex3  
)  
```

### Parâmetros

*eventIndex0*   \
Tipo: unsigned int

Índice do evento a ser contado.

*eventIndex1*   \
Tipo: unsigned int

Índice do evento a ser contado.

*eventIndex2*   \
Tipo: unsigned int

Índice do evento a ser contado.

*eventIndex3*   \
Tipo: unsigned int

Índice do evento a ser contado.

### Valor retornado

Tipo: HRESULT

Código de êxito ou de erro.

| Código | Descrição |
| - | - |
| S\_OK | Êxito. |
| E\_INVALIDARG | Um ou mais dos índices estão fora do intervalo. |
| E\_ACCESS\_DENIED | O acesso ao driver foi negado. |

## Comentários

Há quatro contadores de hardware que podem ser configurados diretamente para contar eventos. Os eventos estão listados na tabela abaixo. O índice do evento é usado tanto para especificar o evento para este método quanto para recuperar a contagem usando [GetPMCValue](/pt-BR/reference/tools/pix3/functions/getpmcvalue).

| Índice | Evento | Descrição |
| - | - | - |
| 0 | Reserved | Reservado. |
| 1 | RetiredSseAvx | O número de operações SSE/AVX desativadas. |
| 2 | DCacheAccesses | O número de acessos ao cache de dados L1 para referências de carga e armazenamento. |
| 3 | DCacheMisses | O número de referências ao cache de dados L1 que falham no cache de dados. |
| 4 | DCacheRefills | O número de recargas do cache de dados L1 atendidas a partir do cache L2 (e/ou da ponte norte) de memória não armazenável em cache. |
| 5 | L1DTLBMissL2DTLBHit | O número de acessos ao cache de dados L1 que falham no DTLB L1 e acertam no DTLB L2. |
| 6 | DtlbMiss | O número de acessos ao cache de dados L1 que falham tanto no DTLB L1 quanto no L2. |
| 7 | L1DtlbHit | O número de acessos ao cache de dados L1 que acertam no DTLB L1. |
| 8 | L1ITLBMissL2ITLBHit | O número de buscas de instruções que falham no ITLB L1, mas acertam no ITLB L2. |
| 9 | ItlbMiss | O número de buscas de instruções que falham no ITLB de 4K e no ITLB de 2M. |
| 10 | ItlbInstructionFetchHits | O número de buscas de instruções que acertam no ITLB de 4K e no ITLB de 2M. |
| 11 | MisalignedAccess | O número de acessos ao cache de dados L1 que estão desalinhados. Os acessos desalinhados incorrem em pelo menos um acesso extra ao cache e um ciclo extra de latência nas leituras. |
| 12 | IneffectiveSWPrefetches | O número de pré-buscas de software que não causam uma recarga real do cache de dados L1. |
| 13 | CpuClkNotHalted | O número de ciclos de clock em que a CPU não está em estado interrompido. |
| 14 | RetiredInstructions | O número de instruções desativadas (execução concluída e estado arquitetural atualizado). Essa contagem inclui exceções e interrupções. |
| 15 | BranchInstructions | O número de instruções de branch desativadas. Isso inclui todos os tipos de alterações arquiteturais do fluxo de controle, incluindo exceções e interrupções. |
| 16 | MispredictedBranch | O número de instruções de branch desativadas, de qualquer tipo, que não foram previstas corretamente no destino ou na direção. Isso inclui aquelas para as quais a previsão não é tentada (transferências de controle far, exceções e interrupções) e exclui ressincronizações. |
| 17 | RetiredTakenBranch | O número de branches tomados que foram desativados. Isso inclui todos os tipos de alterações arquiteturais do fluxo de controle, incluindo exceções e interrupções, e exclui ressincronizações. |
| 18 | RetiredFarSyscall | O número de syscalls far desativadas. |
| 19 | RetiredNearReturns | O número de instruções de retorno near desativadas. |
| 20 | RetiredReturnsMispredicted | Uma instrução de retorno near foi desativada com previsão incorreta no destino ou na direção. |
| 21 | MispredictedTakenBranch | Uma instrução de branch tomado foi desativada com previsão incorreta no endereço de destino (mas não na direção). |
| 22 | MmxFPInstructions | Uma instrução de ponto flutuante (x87, MMX ou SSE) foi desativada. |
| 23 | RetiredFPInstructions | O número de operações SSE/AVX desativadas. |
| 24 | RetiredMmxInstructions | O número de operações MMX desativadas. |
| 25 | RetiredSseInstructions | O número de operações SSE desativadas. |
| 26 | InstructionFetchStalls | O número de ciclos em que o mecanismo de busca de instruções fica parado. |
| 27 | DataCachePrefetches | Pré-buscas do cache de dados L1. |
| 28 | DataCacheReadSize | O número de leituras do cache de dados L1. |
| 29 | DataCacheWriteSize | O número de gravações do cache de dados L1. |
| 30 | ITLBReloadStalls | O número de ciclos em que o mecanismo de busca fica parado por causa de uma recarga do ITLB. |

## Requisitos

**Cabeçalho:** pix3.h

**Biblioteca:** pixevt.lib

**Plataformas com suporte:** consoles da família XBOX One e consoles XBOX Series

## Confira também

[ConfigureL2IPMCs](/pt-BR/reference/tools/pix3/functions/configurel2ipmcs)\
[ConfigureNBPMCs](/pt-BR/reference/tools/pix3/functions/configurenbpmcs)\
[GetPMCValue](/pt-BR/reference/tools/pix3/functions/getpmcvalue)\
[PIX (tópico sob NDA)](/pt-BR/tools/tools-console/pix/pix)\
[PIX3 no XBOX](/pt-BR/reference/tools/pix3/pix3_members)


## Related topics

- [ConfigureNBPMCs](/pt-BR/reference/tools/pix3/functions/configurenbpmcs.md)
- [ConfigureL2IPMCs](/pt-BR/reference/tools/pix3/functions/configurel2ipmcs.md)
- [GetPMCValue](/pt-BR/reference/tools/pix3/functions/getpmcvalue.md)
- [PIX3](/pt-BR/reference/tools/pix3/pix3_members.md)
- [IDs de configuração dos serviços do XBOX para Managed Partners](/pt-BR/services/xbox-services/fundamentals/portal-config/live-service-config-ids-mp.md)
