다음을 통해 공유


ConfigurePMCs

타이틀 코드에 대해 타이틀이 직접 카운터를 읽을 수 있도록 4개의 하드웨어 PMC(성능 모니터 카운터)를 구성합니다.

구문

HRESULT ConfigurePMCs(  
         unsigned int eventIndex0,  
         unsigned int eventIndex1,  
         unsigned int eventIndex2,  
         unsigned int eventIndex3  
)  

매개 변수

eventIndex0   
형식: unsigned int

개수를 계산할 이벤트의 인덱스입니다.

eventIndex1   
형식: unsigned int

개수를 계산할 이벤트의 인덱스입니다.

eventIndex2   
형식: unsigned int

개수를 계산할 이벤트의 인덱스입니다.

eventIndex3   
형식: unsigned int

개수를 계산할 이벤트의 인덱스입니다.

반환 값

형식: HRESULT

성공 또는 오류 코드입니다.

코드 설명
S_OK 성공.
E_INVALIDARG 하나 이상의 인덱스가 범위를 벗어 났습니다.
E_ACCESS_DENIED 드라이버 액세스가 거부되었습니다.

비고

이벤트를 계산하도록 직접 구성될 수 있는 4개의 하드웨어 카운터가 있습니다. 이러한 이벤트는 아래 표에 나열되어 있습니다. 이벤트의 인덱스는 이 메서드에 대해 이벤트를 지정하고 GetPMCValue를 사용하여 개수를 검색하기 위해 사용됩니다.

인덱스 이벤트 설명
0 Reserved 예약됨.
1 RetiredSseAvx 사용 중지된 SSE/AVX 작업 수입니다.
2 DCacheAccesses 로드 및 저장 참조를 위한 L1 데이터 캐시의 액세스 수입니다.
3 DCacheMisses 데이터 캐시가 누락된 L1 데이터 캐시 참조 수입니다.
4 DCacheRefills 캐치할 수 없는 메모리에서 L2 캐시(및/또는 northbridge)에서 충족된 L1 데이터 캐시 리필 수입니다.
5 L1DTLBMissL2DTLBHit L1 DTLB에서 누락되고 L2 DTLB에서 적중되는 L1 데이터 캐시 액세스 수입니다.
6 DtlbMiss L1 및 L2 DTLB 모두에서 누락되는 L1 데이터 캐시 액세스 수입니다.
7 L1DtlbHit L1 DTLB에서 적중되는 L1 데이터 캐시 액세스 수입니다.
8 L1ITLBMissL2ITLBHit L1 ITLB에서 누락되지만 L2 ITLB에서 적중되는 명령 페치 수입니다.
9 ItlbMiss 4K ITLB 및 2M ITLB에서 누락되는 명령 페치 수입니다.
10 ItlbInstructionFetchHits 4K ITLB 및 2M ITLB에서 적중되는 명령 페치 수입니다.
11 MisalignedAccess 잘못 정렬된 L1 데이터 캐시 액세스 수입니다. 잘못 정렬된 액세스는 최소한 추가적인 캐시 액세스 및 읽기에 대한 추가적인 지연 주기를 일으킵니다.
12 IneffectiveSWPrefetches 실제 L1 데이터 캐시 리필을 일으키지 않는 소프트웨어 프리페치 수입니다.
13 CpuClkNotHalted CPU가 중지 상태가 아닌 클록 수입니다.
14 RetiredInstructions 사용 중지된(실행이 완료되었고 아키텍처 상태가 업데이트된) 명령 수입니다. 이 개수에는 예외 및 중단이 포함됩니다.
15 BranchInstructions 사용 중지된 분기 명령 수입니다. 여기에는 예외 및 중단을 포함하여 모든 유형의 아키텍처 제어 흐름 변경이 포함됩니다.
16 MispredictedBranch 대상 또는 방향이 올바르게 예측되지 않은 모든 유형의 사용 중지된 분기 명령 수입니다. 여기에는 예측이 시도되지 않은 항목(먼 제어 전송, 예외 및 중단)이 포함되고, 재동기화는 제외됩니다.
17 RetiredTakenBranch 사용 중지된 가져온 분기 수입니다. 여기에는 예외 및 중단을 포함하여 모든 유형의 아키텍처 제어 흐름 변경이 포함되며, 재동기화는 제외됩니다.
18 RetiredFarSyscall 사용 중지된 먼 syscall 수입니다.
19 RetiredNearReturns 사용 중지된 가까운 반환 명령 수입니다.
20 RetiredReturnsMispredicted 대상 및 방향에서 잘못 예측된 가까운 반환 명령이 사용 중지되었습니다.
21 MispredictedTakenBranch 대상 주소(방향 제외)에서 잘못 예측된 가져온 분기 명령이 사용 중지되었습니다.
22 MmxFPInstructions 부동 소수점(x87, MMX 또는 SSE) 명령이 사용 중지되었습니다.
23 RetiredFPInstructions 사용 중지된 SSE/AVX 작업 수입니다.
24 RetiredMmxInstructions 사용 중지된 MMX 작업 수입니다.
25 RetiredSseInstructions 사용 중지된 SSE 작업 수입니다.
26 InstructionFetchStalls 명령 페치 엔진이 중단된 횟수입니다.
27 DataCachePrefetches L1 데이터 캐시 프리페치입니다.
28 DataCacheReadSize L1 데이터 캐시 읽기 수입니다.
29 DataCacheWriteSize L1 데이터 캐시 쓰기 수입니다.
30 ITLBReloadStalls 페치 엔진이 ITLB 재로드 동안 중지된 횟수입니다.

요건

헤더: pix3.h

라이브러리: pixevt.lib

지원되는 플랫폼: Xbox One 패밀리 콘솔 및 Xbox Series 콘솔

참고 항목

ConfigureL2IPMCs
ConfigureNBPMCs
GetPMCValue
PIX(NDA 항목)권한 부여 필요
Xbox의 PIX3