Listed here are some of the Core Performance events of AMD “Zen” processors.
| Event Id, Unit-mask | Event Abbreviation | Name and Description |
|---|---|---|
| AMD 2nd Gen EPYC™ Processors | ||
| PMCx076,0x00 | CYCLES_NOT_IN_HALT |
CPU clock cycles not halted The number of CPU cycles when the thread is not in halt state. |
| PMCx0C0, 0x00 | RETIRED_INST |
Retired Instructions The number of instructions retired from execution. This count includes exceptions and interrupts. Each exception or interrupt is counted as one instruction. |
| PMCx0C1, 0x00 | RETIRED_MICRO_OPS |
Retired Macro Operations The number of macro-ops retired. This count includes all processor activity - instructions, exceptions, interrupts, microcode assists, and so on. |
| PMCx0C2, 0x00 | RETIRED_BR_INST |
Retired Branch Instructions The number of branch instructions retired. This includes all types of architectural control flow changes, including exceptions and interrupts |
| PMCx0C3, 0x00 | RETIRED_BR_INST_MISP |
Retired Branch Instructions Mispredicted The number of retired branch instructions that were mis-predicted. Note: Only EX direct
mis-predicts and indirect target mis-predicts are
counted.
|
| PMCx003,0x08 | RETIRED_SSE_AVX_FLOPS |
Retired SSE/AVX Flops The number of retired SSE/AVX flops. The number of events logged per cycle can vary from 0 to 64. This is a large increment per cycle event as it can count more than 15 events per cycle. This count both single precision and double precision FP events. |
| PMCx029,0x07 | L1_DC_ACCESSES_ALL |
All Data cache accesses The number of load and store ops dispatched to LS unit. This counts the dispatch of single op that performs a memory load, dispatch of single op that performs a memory store, dispatch of a single op that performs a load from and store to the same memory address. |
| PMCx060,0x10 | L2_CACHE_ACCESS_FROM_L1_IC_ MISS |
L2cache access from L1 IC miss TheL2 cache access requests due to L1 instruction cache misses. |
| PMCx060,0xC8 | L2_CACHE_ACCESS_FROM_L1_DC_ MISS |
L2cache access from L1 DC miss TheL2 cache access requests due to L1 data cache misses. This also counts hardware and software prefetches. |
| PMCx064,0x01 | L2_CACHE_MISS_FROM_L1_IC_MIS S |
L2cache miss from L1 IC miss Counts all the Instruction cache fill requests that misses in L2 cache |
| PMCx064,0x08 | L2_CACHE_MISS_FROM_L1_DC_MIS S |
L2cache miss from L1 DC miss Counts all the Data cache fill requests that misses in L2 cache |
| PMCx071,0x1F | L2_HWPF_HIT_IN_L3 |
L2Prefetcher Hits in L3 Counts all L2 prefetches accepted by the L2 pipeline which miss the L2 cache and hit the L3. |
| PMCx072,0x1F | L2_HWPF_MISS_IN_L2_L3 |
L2Prefetcher Misses in L3 Counts all L2 prefetches accepted by the L2 pipeline which miss the L2 and the L3 caches |
| PMCx064,0x06 | L2_CACHE_HIT_FROM_L1_IC_MISS |
L2cache hit from L1 IC miss Counts all the Instruction cache fill requests that hits in L2 cache. |
| PMCx064,0x70 | L2_CACHE_HIT_FROM_L1_DC_MISS |
L2cache hit from L1 DC miss Counts all the Data cache fill requests that hits in L2 cache. |
| PMCx070,0x1F | L2_HWPF_HIT_IN_L2 | L2 cache hit from L2 HW Prefetch Counts all L2 prefetches accepted by L2 pipeline which hit in the L2 cache |
| PMCx043,0x01 | L1_DEMAND_DC_REFILLS_LOCAL_ L2 |
L1demand DC fills from L2 The demand Data Cache (DC) fills from local L2 cache to the core. |
| PMCx043,0x02 | L1_DEMAND_DC_REFILLS_LOCAL_ CACHE |
L1demand DC fills from local CCX The demand Data Cache (DC) fills from same the cache of same CCX or cache of different CCX in the same package (node). |
| PMCx043,0x08 | L1_DEMAND_DC_REFILLS_LOCAL_ DRAM |
L1demand DC fills from local Memory The demand Data Cache (DC) fills from DRAM or IO connected in the same package (node). |
| PMCx043,0x10 |
L1_DEMAND_DC_REFILLS_REMOTE _CACHE |
L1demand DC fills from remote cache The demand Data Cache (DC) fills from cache of CCX in the different package (node). |
| PMCx043,0x40 |
L1_DEMAND_DC_REFILLS_REMOTE _DRAM |
L1demand DC fills from remote Memory The demand Data Cache (DC) fills from DRAM or IO connected in the different package(node). |
| PMCx043,0x5B | L1_DEMAND_DC_REFILLS_ALL | L1 demand DC refills from all data sources. The demand Data Cache (DC) fills from all the data sources. |
| PMCx060,0xFF | L2_REQUESTS_ALL | AllL2 cache requests. |
| PMCx084,0x00 | L1_ITLB_MISSES_L2_HITS |
L1TLB miss L2 TLB hit The instruction fetches that misses in the L1 Instruction Translation Lookaside Buffer (ITLB) but hit in the L2-ITLB. |
| PMCx085,0x07 | L2_ITLB_MISSES |
L1TLB miss L2 TLB miss The ITLB reloads originating from page table walker. The table walk requests are made for L1-ITLB miss and L2-ITLB misses. |
| PMCx045,0xFF | L1_DTLB_MISSES |
L1DTLB miss The L1 Data Translation Lookaside Buffer (DTLB) misses from load store micro-ops. This event counts both L2-DTLB hit and L2- DTLB miss. |
| PMCx045,0xF0 | L2_DTLB_MISSES |
L1DTLB miss TheL2 Data Translation Lookaside Buffer (DTLB) missed from load store micro-ops. |
| PMCx047,0x00 | MISALIGNED_LOADS |
Misaligned Loads Thenumber of misaligned loads. Note: On AMD “Zen 3” core
processors, this event counts the 64B (cache-line crossing) and
4K (page crossing) misaligned loads.
|
| PMCx052,0x03 | INEFFECTIVE_SW_PF |
Ineffective Software Prefetches The number of software prefetches that did not fetch data outside of the processor core. This event counts the Software PREFETCH instruction that saw a match on an already - allocated miss request buffer. Also counts the Software PREFETCH instruction that saw a DC hit. |
| AMD EPYC™ 3rd Generation Processors | ||
| PMCx076,0x00 | CYCLES_NOT_IN_HALT |
CPU clock cycles not halted The number of CPU cycles when the thread is not in halt state. |
| PMCx0C0, 0x00 | RETIRED_INST |
Retired Instructions The number of instructions retired from execution. This count includes exceptions and interrupts. Each exception or interrupt is counted as one instruction. |
| PMCx0C1, 0x00 | RETIRED_MACRO_OPS |
Retired Macro Operations The number of macro-ops retired. This count includes all processor activity - instructions, exceptions, interrupts, microcode assists, and so on. |
| PMCx0C2, 0x00 | RETIRED_BR_INST |
Retired Branch Instructions The number of branch instructions retired. This includes all types of architectural control flow changes, including exceptions and interrupts |
| PMCx0C3, 0x00 | RETIRED_BR_INST_MISP |
Retired Branch Instructions Mis-predicted The number of retired branch instructions, that were mis-predicted. Note that only EX direct mis-predicts and indirect target mis-predicts are counted. |
| PMCx003,0x08 | RETIRED_SSE_AVX_FLOPS |
Retired SSE/AVX Flops The number of retired SSE/AVX flops. The number of events logged per cycle can vary from0 to 64. This is large increment per cycle event, since it can count more than 15 events per cycle. This count both single precision and double precision FP events. |
| PMCx029,0x07 | L1_DC_ACCESSES_ALL |
All Data cache accesses The number of load and store ops dispatched to LS unit. This counts the dispatch of single op that performs a memory load, dispatch of single op that performs a memory store, and dispatch of a single op that performs a load from and store to the same memory address. |
| PMCx060,0x10 | L2_CACHE_ACCESS_FROM_L1_IC_ MISS |
L2cache access from L1 IC miss TheL2 cache access requests due to L1 instruction cache misses. |
| PMCx060,0xE8 | L2_CACHE_ACCESS_FROM_L1_DC_ MISS |
L2cache access from L1 DC miss TheL2 cache access requests due to L1 data cache misses. This also counts hardware and software prefetches. |
| PMCx064,0x01 | L2_CACHE_MISS_FROM_L1_IC_MIS S |
L2cache miss from L1 IC miss Countsall the Instruction cache fill requests that misses in L2 cache. |
| PMCx064,0x08 | L2_CACHE_MISS_FROM_L1_DC_MIS S |
L2cache miss from L1 DC miss Counts all the Data cache fill requests that misses in L2 cache. |
| PMCx071,0xFF | L2_HWPF_HIT_IN_L3 |
L2Prefetcher Hits in L3 Counts all L2 prefetches accepted by the L2 pipeline which miss the L2 cache and hit the L3. |
| PMCx072,0xFF | L2_HWPF_MISS_IN_L2_L3 |
L2Prefetcher Misses in L3 Counts all L2 prefetches accepted by the L2 pipeline which miss the L2 and the L3 caches. |
| PMCx064,0x06 | L2_CACHE_HIT_FROM_L1_IC_MISS |
L2cache hit from L1 IC miss Counts all the Instruction cache fill requests that hits in L2 cache. |
| PMCx064,0xF0 | L2_CACHE_HIT.FROM_L1_DC_MISS |
L2cache hit from L1 DC miss Counts all the Data cache fill requests that hits in L2 cache. |
| PMCx070,0xFF | L2_HWPF_HIT_IN_L2 | L2 cache hit from L2 HW Prefetch Counts all L2 prefetches accepted by L2 pipeline which hit in the L2 cache |
| PMCx043,0x01 | L1_DEMAND_DC_REFILLS_LOCAL_ L2 |
L1demand DC fills from L2 The demand Data Cache (DC) fills from local L2 cache to the core. |
| PMCx043,0x02 | L1_DEMAND_DC_REFILLS_LOCAL_ CACHE |
L1demand DC fills from local CCX The demand Data Cache (DC) fills from the L3 cache or L2 in the same CCX. |
| PMCx043,0x04 | L1_DC_REFILLS_EXTERNAL_CACH E_LOCAL | L1DC fills from local external CCX caches The Data Cache (DC) fills from cache of different CCX in the same package (node). |
| PMCx043,0x08 | L1_DEMAND_DC_REFILLS_LOCAL_ DRAM |
L1demand DC fills from local Memory The demand Data Cache (DC) fills from DRAM or IO connected in the same package (node). |
| PMCx043,0x10 | L1_DEMAND_DC_REFILLS_EXTERN AL_CACHE_REMOTE |
L1demand DC fills from remote external cache The demand Data Cache (DC) fills from cache of CCX in the different package (node). |
| PMCx043,0x40 |
L1_DEMAND_DC_REFILLS_REMOTE _DRAM |
L1demand DC fills from remote Memory The demand Data Cache (DC) fills from DRAM or IO connected in the different package(node). |
| PMCx043,0x14 | L1_DEMAND_DC_REFILLS_EXTERN AL_CACHE |
L1demand DC fills from external caches The demand Data Cache (DC) fills from cache of different CCX in the same or different package (node). |
| PMCx043,0x5F | L1_DEMAND_DC_REFILLS_ALL | L1 demand DC refills from all data sources. The demand Data Cache (DC) fills from all the data sources. |
| PMCx044,0x01 | L1_DC_REFILLS.LOCAL_L2 |
L1DC fills from local L2 The Data Cache (DC) fills from local L2 cache to the core. |
| PMCx044,0x02 | L1_DC_REFILLS_LOCAL_CACHE |
L1DC fills from local CCX cache The Data Cache (DC) fills from different L2 cache in the same CCX or L3 cache that belongs to the same CCX. |
| PMCx044,0x08 | L1_DC_REFILLS_LOCAL_DRAM |
L1DC fills from local Memory The Data Cache (DC) fills from DRAM or IO connected in the same package (node). |
| PMCx044,0x04 | L1_DC_REFILLS_EXTERNAL_CACH E_LOCAL | L1DC fills from local external CCX caches The Data Cache (DC) fills from cache of different CCX in the same package (node). |
| PMCx044,0x10 | L1_DC_REFILLS_EXTERNAL_CACH E_REMOTE | L1DC fills from remote external CCX caches The Data Cache (DC) fills from cache of CCX in the different package (node). |
| PMCx044,0x40 | L1_DC_REFILLS_REMOTE_DRAM |
L1DC fills from remote Memory The Data Cache (DC) fills from DRAM or IO connected in the different package (node). |
| PMCx044,0x14 | L1_DC_REFILLS_EXTENAL_CACHE |
L1 DC fills from local external CCX caches The Data Cache (DC) fills from cache of different CCX in the same or different package (node). |
| PMCx044,0x48 | L1_DC_REFILLS_DRAM |
L1DC fills from local Memory The Data Cache (DC) fills from DRAM or IO connected in the same or different package (node). |
| PMCx044,0x50 | L1_DC_REFILLS_REMOTE_NODE |
L1DC fills from remote node The Data Cache (DC) fills from cache of CCX in the different package (node) or the DRAM / IO connected in the different package (node). |
| PMCx044,0x03 |
L1_DC_REFILLS_LOCAL_CACHE_L2 _L3 |
L1DC fills from same CCX The Data Cache (DC) fills from local L2 cache to the core or different L2 cache in the same CCX or L3 cache that belongs to the same CCX |
| PMCx044,0x5F | L1_DC_REFILLS_ALL |
L1DC fills from all the data sources The Data Cache fills from all the data sources |
| PMCx060,0xFF | L2_REQUESTS_ALL | AllL2 cache requests. |
| PMCx084,0x00 | L1_ITLB_MISSES_L2_HITS |
L1TLB miss L2 TLB hit The instruction fetches that misses in the L1 Instruction Translation Lookaside Buffer (ITLB) but hit in the L2-ITLB. |
| PMCx085,0x07 | L2_ITLB_MISSES |
L1TLB miss L2 TLB miss The ITLB reloads originating from page table walker. The table walk requests are made for L1-ITLB miss and L2-ITLB misses. |
| PMCx045,0xFF | L1_DTLB_MISSES |
L1DTLB miss The L1 Data Translation Lookaside Buffer (DTLB) misses from load store micro-ops. This event counts both L2-DTLB hit and L2- DTLB miss |
| PMCx045,0xF0 | L2_DTLB_MISSES |
L1DTLB miss TheL2 Data Translation Lookaside Buffer (DTLB) missed from load store micro-ops |
| PMCx078,0xFF | ALL_TLB_FLUSHES | All TLB flushes |
| PMCx047,0x03 | MISALIGNED_LOADS |
The number of misaligned loads. Note: On AMD “Zen 3” core
processors, this event counts the 64B (cache-line crossing) and
4K (page crossing) misaligned loads.
|
| PMCx052,0x03 | INEFFECTIVE_SW_PF |
Ineffective Software Prefetches The number of software prefetches that did not fetch data outside of the processor core. This event counts the Software PREFETCH instruction that saw a match on an already allocated miss request buffer. Also counts the Software PREFETCH instruction that saw a DC hit. |
| AMD EPYC™ 4th Generation Processors | ||
| PMCx076,0x00 | CYCLES_NOT_IN_HALT |
CPU clock cycles not halted The number of CPU cycles when the thread is not in halt state. |
| PMCx0C0, 0x00 | RETIRED_INST |
Retired Instructions The number of instructions retired from execution. This count includes exceptions and interrupts. Each exception or interrupt is counted as one instruction. |
| PMCx0C1, 0x00 | RETIRED_MACRO_OPS |
Retired Macro Operations The number of macro-ops retired. This count includes all processor activity - instructions, exceptions, interrupts, microcode assists, and so on. |
| PMCx0C2, 0x00 | RETIRED_BR_INST |
Retired Branch Instructions The number of branch instructions retired. This includes all types of architectural control flow changes, including exceptions and interrupts |
| PMCx0C3, 0x00 | RETIRED_BR_INST_MISP |
Retired Branch Instructions Mis-predicted The number of retired branch instructions, that were mis-predicted. Note: Only EX direct
mis-predicts and indirect target mis-predicts are
counted.
|
| PMCx003,0x1F | RETIRED_SSE_AVX_FLOPS |
Retired SSE/AVX Flops The number of retired SSE/AVX flops. The number of events logged per cycle can vary from 0 to 64. This is a large increment per cycle event as it can count more than 15 events per cycle. This counts both the single precision and double precision FP events. |
| PMCx029,0x07 | L1_DC_ACCESSES_ALL |
All Data Cache Accesses The number of load and store ops dispatched to the LS unit. This counts the dispatch of a single op that performs a:
|
| PMCx060,0x10 | L2_CACHE_ACCESS_FROM_L1_IC_ MISS |
L2cache access from L1 IC miss TheL2 cache access requests due to the L1 instruction cache misses. |
| PMCx060,0xE8 | L2_CACHE_ACCESS_FROM_L1_DC_ MISS |
L2cache access from L1 DC miss TheL2 cache access requests due to the L1 data cache misses. This also counts the hardware and software prefetches. |
| PMCx064,0x01 | L2_CACHE_MISS_FROM_L1_IC_MIS S |
L2cache miss from L1 IC miss Counts all the instruction cache fill request misses in the L2 cache. |
| PMCx064,0x08 | L2_CACHE_MISS_FROM_L1_DC_MIS S |
L2cache miss from L1 DC miss Counts all the data cache fill request misses in L2 cache. |
| PMCx071,0xFF | L2_HWPF_HIT_IN_L3 |
L2Prefetcher Hits in L3 Counts all the L2 prefetches accepted by the L2 pipeline which miss the L2 cache and hit the L3. |
| PMCx072,0xFF | L2_HWPF_MISS_IN_L2_L3 |
L2Prefetcher Misses in L3 Counts all the L2 prefetches accepted by the L2pipeline which miss the L2 and L3 caches. |
| PMCx064,0x06 | L2_CACHE_HIT_FROM_L1_IC_MISS |
L2cache hit from L1 IC miss Counts all the instruction cache fill requests that hit the L2 cache. |
| PMCx064,0xF0 | L2_CACHE_HIT_FROM_L1_DC_MISS |
L2cache hit from L1 DC miss Counts all the data cache fill requests that hit the L2 cache. |
| PMCx070,0xFF | L2_HWPF_HIT_IN_L2 |
L2cache hit from L2 HW Prefetch Counts all the L2 prefetches accepted by L2 pipeline which hit the L2 cache. |
| PMCx043,0x01 | L1_DEMAND_DC_REFILLS_LOCAL_ L2 |
L1demand DC fills from L2 The demand Data Cache (DC) fills from the local L2 cache to the core. |
| PMCx043,0x02 | L1_DEMAND_DC_REFILLS_LOCAL_ CACHE |
L1demand DC fills from local CCX The demand Data Cache (DC) fills from the L3 cache or L2 in the same CCX. |
| PMCx043,0x04 | L1_DEMAND_DC_REFILLS_EXTERN AL_CACHE_LOCAL | L1 DC fills from local external CCX caches The DC fills from the cache of different CCX in the same package (node). |
| PMCx043,0x08 | L1_DEMAND_DC_REFILLS_LOCAL_ DRAM | L1 demand DC fills from local Memory The demand DC fills from DRAM or IO connected in the same package (node). |
| PMCx043,0x10 | L1_DEMAND_DC_REFILLS_EXTERN AL_CACHE_REMOTE |
L1demand DC fills from remote external cache The demand DC fills from the CCX cache in the different package (node). |
| PMCx043,0x40 |
L1_DEMAND_DC_REFILLS_REMOTE_DRAM |
L1demand DC fills from remote Memory The demand DC fills from DRAM or IO connected in the different package (node). |
| PMCx043,0x14 | L1_DEMAND_DC_REFILLS_EXTERN AL_CACHE |
L1demand DC fills from external caches The demand DC fills from the cache of different CCX in the same or different package (node). |
| PMCx043,0xDF | L1_DEMAND_DC_REFILLS_ALL | L1 demand DC refills from all data sources. The demand DC fills from all the data sources. |
| PMCx044,0x01 | L1_DC_REFILLS_LOCAL_L2 |
L1DC fills from local L2 The DC fills from the local L2 cache to the core. |
| PMCx044,0x02 | L1_DC_REFILLS_LOCAL_CACHE |
L1DC fills from local CCX cache The DC fills from different L2 cache in the same CCX or L3 cache that belongs to the same CCX. |
| PMCx044,0x08 | L1_DC_REFILLS_EXTERNAL_CACH E_LOCAL |
L1DC fills from local Memory The DC fills from DRAM or IO connected in the same package (node). |
| PMCx044,0x04 | L1_DC_REFILLS_EXTERNAL_CACH E_LOCAL | L1 DC fills from local external CCX caches The DC fills from the cache of different CCX in the same package (node). |
| PMCx044,0x10 | L1_DC_REFILLS_EXTERNAL_CACH E_REMOTE | L1DC fills from remote external CCX caches The DC fills from the CCX cache in the different package (node). |
| PMCx044,0x40 | L1_DC_REFILLS_REMOTE_DRAM |
L1DC fills from remote Memory The DC fills from DRAM or IO connected in the different package (node). |
| PMCx044,0x14 | L1_DC_REFILLS_EXTENAL_CACHE | L1DC fills from local external CCX caches The DC fills from cache of different CCX in the same or different package (node). |
| PMCx044,0x48 | L1_DC_REFILLS_DRAM |
L1DC fills from local Memory The DC fills from DRAM or IO connected in the same or different package (node). |
| PMCx044,0x50 | L1_DC_REFILLS_REMOTE_NODE |
L1DC fills from remote node The DC fills from the CCX cache in the different package (node) or the DRAM / IO connected in the different package (node). |
| PMCx044,0x03 |
L1_DC_REFILLS_LOCAL_CACHE_L2 _L3 |
L1DC fills from same CCX The DC fills from the local L2 cache to the core or different L2 cache in the same CCX or L3 cache that belongs to the same CCX. |
| PMCx044,0xDF | L1_DC_REFILLS_ALL | L1 DC fills from all the data sources The DC fills from all the data sources |
| PMCx060,0xFF | L2_REQUESTS_ALL | AllL2 cache requests. |
| PMCx084,0x00 | L1_ITLB_MISSES_L2_HITS |
L1TLB miss L2 TLB hit The instruction fetches that misses in the L1 Instruction Translation Lookaside Buffer (ITLB) but hit in the L2-ITLB. |
| PMCx085,0x07 | L2_ITLB_MISSES |
L1TLB miss L2 TLB miss The ITLB reloads originating from page table walker. The table walk requests are made for L1-ITLB miss and L2-ITLB misses. |
| PMCx045,0xFF | L1_DTLB_MISSES |
L1DTLB miss The L1 Data Translation Lookaside Buffer (DTLB) misses from load store micro-ops. This event counts both L2-DTLB hit and L2-DTLBmiss |
| PMCx045,0xF0 | L2_DTLB_MISSES |
L1DTLB miss TheL2 Data Translation Lookaside Buffer (DTLB) missed from load store micro-ops |
| PMCx078,0xFF | ALL_TLB_FLUSHES | AllTLB flushes |
| PMCx047,0x03 | MISALIGNED_LOADS |
Thenumber of misaligned loads. Note: On AMD “Zen 3” core
processors, this event counts the 64 B (cache-line crossing) and
4 K (page crossing) misaligned loads.
|
| PMCx052,0x03 | INEFFECTIVE_SW_PF |
Ineffective Software Prefetches The number of software prefetches that did not fetch data outside of the processor core. This event counts the Software PREFETCH instruction that saw a match on allocated miss request buffer. Also counts the Software PREFETCH instruction that saw a DC hit. |
| PMCx18E,0x1F | IC_TAG_ALL_IC_ACCESS | IC Tag All Instruction Cache Access |
| PMCx18E,0x18 | IC_TAG_IC_MISS | IC Tag Instruction Cache Miss |
| PMCx28F, 0x07 | OP_CACHE_ALL_ACCESS | All OP Cache Accesses |
| PMCx28F, 0x04 | OP_CACHE_MISS | Op Cache Miss |
Following table shows the CPU performance metrics
| CPU Metric | Description |
|---|---|
| Core Effective Frequency | Core Effective Frequency (without halted cycles) over the sampling period, reported in GHz. The metric is based on APERF and MPERF MSRs. MPERF is incremented by the core at the P0 state frequency while the core is in C0 state. APERF is incremented in proportion to the actual number of core cycles while the core is in C0 state. |
| IPC | Instructions Retired Per Cycle (IPC) is the average number of instructions retired per cycle. This is measured using Core PMC events PMCx0C0 [Retired Instructions] and PMCx076 [CPU Clocks not Halted]. These PMC events are counted in both OS and User mode. |
| CPI | Cycles Per Instruction Retired (CPI) is the multiplicative inverse of IPC metric. This is one of the basic performance metrics indicating how cache misses, branch mis-predictions, memory latencies, and other bottlenecks are affecting the execution of an application. Lower CPI value is better. |
| L1_DC_REFILLS_ALL (PTI) | The number of demand data cache (DC) fills per thousand retired instructions. These demand DC fills are from all the data sources like LocalL2/L3 cache, remote caches, local memory, and remote memory. |
| L1_DC_MISSES(PTI) | The number of L2 cache access requests due to L1 data cache misses, per thousand retired instructions. This L2 cache access requests also includes the hardware and software prefetches. |
| L1_DC_ACCESS_RATE | The DC access rate is the number of DC accesses divided by the total number of retired instructions |
| L1_DC_MISS_RATE | TheDC miss rate is the number of DC misses divided by the total number of retired instructions. |
| L1_DC_MISS_RATIO | The DC miss ratio is the number of DC misses divided by the total number of DC accesses. |
| RETIRED_BR_INST_MISP_R ATIO | This metric is computed as the retired mis-predicted branches divided by the total number of retired branch instructions. |
| RETIRED_BR_INST_RATE | The number of retired branch instructions rate. This metric is computed as the retired branches divided by the total number of retired instructions. |
| RETIRED_BR_INST_MISP_R ATE | This metric is computed as retired mis-predicted branches divided by the total number of retired instructions. |
| RETIRED_TAKEN_BR_INST (PTI) | The number of retired taken branches per thousand instructions. |
| RETIRED_TAKEN_BR_INST_ RATE | The number of retired taken branches rate. This metric is computed as the retired taken branches divided by the total number of retired instructions. |
| RETIRED_TAKEN_BR_INST_ MISP (PTI) | The number of retired mis-predicted taken branches per thousand instructions. |
| RETIRED_INDIRECT_BR_IN ST_MISP (PTI) | The number of retired indirect branches per thousand instructions. |
| RETIRED_NEAR_RETURNS (PTI) | The number of retired near branches per thousand instructions. |
| RETIRED_NEAR_RETURNS_ MISP (PTI) | The number of retired mis-predicted near branches per thousand instructions. |
| RETIRED_NEAR_RETURNS_ MISP_RATE | This metric is computed as the retired mis-predicted near returns divided by the total number of retired instructions. |
| RETIRED_NEAR_RETURNS_ MISP_RATIO | This metric is computed as retired mis-predicted near returns divided by the total number of retired return instructions. |
| L1_DTLB_MISS_RATE | The DTLB L1 miss rate is the number of DTLB L1 misses divided by the total number of retired instructions. |
| L2_DTLB_MISS_RATE | TheL2 DTLB miss rate is the number of L2 DTLB misses divided by the total number of retired instructions. |
| L1_ITLB_MISS_RATE | The ITLB L1 miss rate is the number of ITLB L1_Miss_L2_Hits and L1_Miss_L2_Missdivided by the total number of retired instructions. |
| L2_ITLB_MISS_RATE | The ITLB L2 miss rate is the number of ITLB L2 miss divided by the total number of retired instructions. |
| MISALIGNED_LOADS_RATI O | The misalign ratio is the number of misaligned loads divided by the total number of DC accesses. |
| MISALIGNED_LOADS_RATE | The misalign rate is the number of misaligned loads divided by the total number of retired instructions. |
| STLI_OTHER |
Store-to-load conflicts:A load was unable to complete due to a non- forwardable conflict with an older store. Most commonly, a load's address range partially but not completely overlaps with an uncompleted older store. Software can avoid this problem by using the same size and alignment loads and stores when accessing the data. Vector/SIMD code is particularly susceptible to this problem; software should construct wide vector stores by manipulating the vector elements in the registers using shuffle/blend/swap instructions prior to storing to the memory, instead of using narrow element-by-element stores. |
| L2_CACHE_ACCESSES_FRO M_IC_MISSES | The number of L2 cache access requests due to the L1 instruction cache misses per thousand retired instructions. This L2 cache access requests also includes the prefetches. |
| L2_CACHE_MISSES_FROM_I C_MISSES | The number of L2 cache misses from L1 instruction cache misses per thousand retired instructions. |