次の方法で共有


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 1 つ以上のインデックスが範囲外です。
E_ACCESS_DENIED ドライバーへのアクセスが拒否されています。

解説

イベントをカウントするために直接、構成できる 4 つのハードウェア カウンターがあります。 イベントの一覧を次の表に示します。 イベントのインデックスは、このメソッドでイベントを指定する目的と、GetPMCValue を使用してカウントを取得する目的の両方に使用されます。

インデックス イベント 説明
0 予約済み 予約済みです。
1 RetiredSseAvx リタイアした SSE/AVX 演算の数。
2 DCacheAccesses ロード参照とストア参照用の L1 データ キャッシュへのアクセス数。
3 DCacheMisses データ キャッシュ ミスとなる L1 データ キャッシュ参照の数。
4 DCacheRefills キャッチ不能メモリの L2 キャッシュ (および/またはノースブリッジ) から満たされた L1 データ キャッシュ リフィルの数。
5 L1DTLBMissL2DTLBHit L1 DTLB でミスとなり L2 DTLB でヒットした L1 データ キャッシュ アクセスの数。
6 DtlbMiss L1 DTLB と 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