xref: /linux/tools/perf/pmu-events/arch/arm64/arm/neoverse-v3/metrics.json (revision bbfd5594756011167b8f8de9a00e0c946afda1e6)
166e99fd5SJames Clark[
266e99fd5SJames Clark    {
366e99fd5SJames Clark        "ArchStdEvent": "backend_bound"
466e99fd5SJames Clark    },
566e99fd5SJames Clark    {
666e99fd5SJames Clark        "MetricName": "backend_busy_bound",
766e99fd5SJames Clark        "MetricExpr": "STALL_BACKEND_BUSY / STALL_BACKEND * 100",
866e99fd5SJames Clark        "BriefDescription": "This metric is the percentage of total cycles stalled in the backend due to issue queues being full to accept operations for execution.",
966e99fd5SJames Clark        "MetricGroup": "Topdown_Backend",
1066e99fd5SJames Clark        "ScaleUnit": "1percent of cycles"
1166e99fd5SJames Clark    },
1266e99fd5SJames Clark    {
1366e99fd5SJames Clark        "MetricName": "backend_cache_l1d_bound",
1466e99fd5SJames Clark        "MetricExpr": "STALL_BACKEND_L1D / (STALL_BACKEND_L1D + STALL_BACKEND_MEM) * 100",
1566e99fd5SJames Clark        "BriefDescription": "This metric is the percentage of total cycles stalled in the backend due to memory access latency issues caused by level 1 data cache misses.",
1666e99fd5SJames Clark        "MetricGroup": "Topdown_Backend",
1766e99fd5SJames Clark        "ScaleUnit": "1percent of cycles"
1866e99fd5SJames Clark    },
1966e99fd5SJames Clark    {
2066e99fd5SJames Clark        "MetricName": "backend_cache_l2d_bound",
2166e99fd5SJames Clark        "MetricExpr": "STALL_BACKEND_MEM / (STALL_BACKEND_L1D + STALL_BACKEND_MEM) * 100",
2266e99fd5SJames Clark        "BriefDescription": "This metric is the percentage of total cycles stalled in the backend due to memory access latency issues caused by level 2 data cache misses.",
2366e99fd5SJames Clark        "MetricGroup": "Topdown_Backend",
2466e99fd5SJames Clark        "ScaleUnit": "1percent of cycles"
2566e99fd5SJames Clark    },
2666e99fd5SJames Clark    {
2766e99fd5SJames Clark        "MetricName": "backend_core_bound",
2866e99fd5SJames Clark        "MetricExpr": "STALL_BACKEND_CPUBOUND / STALL_BACKEND * 100",
2966e99fd5SJames Clark        "BriefDescription": "This metric is the percentage of total cycles stalled in the backend due to backend core resource constraints not related to instruction fetch latency issues caused by memory access components.",
3066e99fd5SJames Clark        "MetricGroup": "Topdown_Backend",
3166e99fd5SJames Clark        "ScaleUnit": "1percent of cycles"
3266e99fd5SJames Clark    },
3366e99fd5SJames Clark    {
3466e99fd5SJames Clark        "MetricName": "backend_core_rename_bound",
3566e99fd5SJames Clark        "MetricExpr": "STALL_BACKEND_RENAME / STALL_BACKEND_CPUBOUND * 100",
3666e99fd5SJames Clark        "BriefDescription": "This metric is the percentage of total cycles stalled in the backend as the rename unit registers are unavailable.",
3766e99fd5SJames Clark        "MetricGroup": "Topdown_Backend",
3866e99fd5SJames Clark        "ScaleUnit": "1percent of cycles"
3966e99fd5SJames Clark    },
4066e99fd5SJames Clark    {
4166e99fd5SJames Clark        "MetricName": "backend_mem_bound",
4266e99fd5SJames Clark        "MetricExpr": "STALL_BACKEND_MEMBOUND / STALL_BACKEND * 100",
4366e99fd5SJames Clark        "BriefDescription": "This metric is the percentage of total cycles stalled in the backend due to backend core resource constraints related to memory access latency issues caused by memory access components.",
4466e99fd5SJames Clark        "MetricGroup": "Topdown_Backend",
4566e99fd5SJames Clark        "ScaleUnit": "1percent of cycles"
4666e99fd5SJames Clark    },
4766e99fd5SJames Clark    {
4866e99fd5SJames Clark        "MetricName": "backend_mem_cache_bound",
4966e99fd5SJames Clark        "MetricExpr": "(STALL_BACKEND_L1D + STALL_BACKEND_MEM) / STALL_BACKEND_MEMBOUND * 100",
5066e99fd5SJames Clark        "BriefDescription": "This metric is the percentage of total cycles stalled in the backend due to memory latency issues caused by data cache misses.",
5166e99fd5SJames Clark        "MetricGroup": "Topdown_Backend",
5266e99fd5SJames Clark        "ScaleUnit": "1percent of cycles"
5366e99fd5SJames Clark    },
5466e99fd5SJames Clark    {
5566e99fd5SJames Clark        "MetricName": "backend_mem_store_bound",
5666e99fd5SJames Clark        "MetricExpr": "STALL_BACKEND_ST / STALL_BACKEND_MEMBOUND * 100",
5766e99fd5SJames Clark        "BriefDescription": "This metric is the percentage of total cycles stalled in the frontend due to memory write pending caused by stores stalled in the pre-commit stage.",
5866e99fd5SJames Clark        "MetricGroup": "Topdown_Backend",
5966e99fd5SJames Clark        "ScaleUnit": "1percent of cycles"
6066e99fd5SJames Clark    },
6166e99fd5SJames Clark    {
6266e99fd5SJames Clark        "MetricName": "backend_mem_tlb_bound",
6366e99fd5SJames Clark        "MetricExpr": "STALL_BACKEND_TLB / STALL_BACKEND_MEMBOUND * 100",
6466e99fd5SJames Clark        "BriefDescription": "This metric is the percentage of total cycles stalled in the backend due to memory access latency issues caused by data TLB misses.",
6566e99fd5SJames Clark        "MetricGroup": "Topdown_Backend",
6666e99fd5SJames Clark        "ScaleUnit": "1percent of cycles"
6766e99fd5SJames Clark    },
6866e99fd5SJames Clark    {
6966e99fd5SJames Clark        "MetricName": "backend_stalled_cycles",
7066e99fd5SJames Clark        "MetricExpr": "STALL_BACKEND / CPU_CYCLES * 100",
7166e99fd5SJames Clark        "BriefDescription": "This metric is the percentage of cycles that were stalled due to resource constraints in the backend unit of the processor.",
7266e99fd5SJames Clark        "MetricGroup": "Cycle_Accounting",
7366e99fd5SJames Clark        "ScaleUnit": "1percent of cycles"
7466e99fd5SJames Clark    },
7566e99fd5SJames Clark    {
7666e99fd5SJames Clark        "ArchStdEvent": "bad_speculation",
7766e99fd5SJames Clark        "MetricExpr": "(1 - STALL_SLOT / (10 * CPU_CYCLES)) * (1 - OP_RETIRED / OP_SPEC) * 100 + STALL_FRONTEND_FLUSH / CPU_CYCLES * 100"
7866e99fd5SJames Clark    },
7966e99fd5SJames Clark    {
8066e99fd5SJames Clark        "MetricName": "barrier_percentage",
8166e99fd5SJames Clark        "MetricExpr": "(ISB_SPEC + DSB_SPEC + DMB_SPEC) / INST_SPEC * 100",
8266e99fd5SJames Clark        "BriefDescription": "This metric measures instruction and data barrier operations as a percentage of operations speculatively executed.",
8366e99fd5SJames Clark        "MetricGroup": "Operation_Mix",
8466e99fd5SJames Clark        "ScaleUnit": "1percent of operations"
8566e99fd5SJames Clark    },
8666e99fd5SJames Clark    {
8766e99fd5SJames Clark        "MetricName": "branch_direct_ratio",
8866e99fd5SJames Clark        "MetricExpr": "BR_IMMED_RETIRED / BR_RETIRED",
8966e99fd5SJames Clark        "BriefDescription": "This metric measures the ratio of direct branches retired to the total number of branches architecturally executed.",
9066e99fd5SJames Clark        "MetricGroup": "Branch_Effectiveness",
9166e99fd5SJames Clark        "ScaleUnit": "1per branch"
9266e99fd5SJames Clark    },
9366e99fd5SJames Clark    {
9466e99fd5SJames Clark        "MetricName": "branch_indirect_ratio",
9566e99fd5SJames Clark        "MetricExpr": "BR_IND_RETIRED / BR_RETIRED",
9666e99fd5SJames Clark        "BriefDescription": "This metric measures the ratio of indirect branches retired, including function returns, to the total number of branches architecturally executed.",
9766e99fd5SJames Clark        "MetricGroup": "Branch_Effectiveness",
9866e99fd5SJames Clark        "ScaleUnit": "1per branch"
9966e99fd5SJames Clark    },
10066e99fd5SJames Clark    {
10166e99fd5SJames Clark        "MetricName": "branch_misprediction_ratio",
10266e99fd5SJames Clark        "MetricExpr": "BR_MIS_PRED_RETIRED / BR_RETIRED",
10366e99fd5SJames Clark        "BriefDescription": "This metric measures the ratio of branches mispredicted to the total number of branches architecturally executed. This gives an indication of the effectiveness of the branch prediction unit.",
10466e99fd5SJames Clark        "MetricGroup": "Miss_Ratio;Branch_Effectiveness",
10566e99fd5SJames Clark        "ScaleUnit": "100percent of branches"
10666e99fd5SJames Clark    },
10766e99fd5SJames Clark    {
10866e99fd5SJames Clark        "MetricName": "branch_mpki",
10966e99fd5SJames Clark        "MetricExpr": "BR_MIS_PRED_RETIRED / INST_RETIRED * 1000",
11066e99fd5SJames Clark        "BriefDescription": "This metric measures the number of branch mispredictions per thousand instructions executed.",
11166e99fd5SJames Clark        "MetricGroup": "MPKI;Branch_Effectiveness",
11266e99fd5SJames Clark        "ScaleUnit": "1MPKI"
11366e99fd5SJames Clark    },
11466e99fd5SJames Clark    {
11566e99fd5SJames Clark        "MetricName": "branch_percentage",
11666e99fd5SJames Clark        "MetricExpr": "(BR_IMMED_SPEC + BR_INDIRECT_SPEC) / INST_SPEC * 100",
11766e99fd5SJames Clark        "BriefDescription": "This metric measures branch operations as a percentage of operations speculatively executed.",
11866e99fd5SJames Clark        "MetricGroup": "Operation_Mix",
11966e99fd5SJames Clark        "ScaleUnit": "1percent of operations"
12066e99fd5SJames Clark    },
12166e99fd5SJames Clark    {
12266e99fd5SJames Clark        "MetricName": "branch_return_ratio",
12366e99fd5SJames Clark        "MetricExpr": "BR_RETURN_RETIRED / BR_RETIRED",
12466e99fd5SJames Clark        "BriefDescription": "This metric measures the ratio of branches retired that are function returns to the total number of branches architecturally executed.",
12566e99fd5SJames Clark        "MetricGroup": "Branch_Effectiveness",
12666e99fd5SJames Clark        "ScaleUnit": "1per branch"
12766e99fd5SJames Clark    },
12866e99fd5SJames Clark    {
12966e99fd5SJames Clark        "MetricName": "crypto_percentage",
13066e99fd5SJames Clark        "MetricExpr": "CRYPTO_SPEC / INST_SPEC * 100",
13166e99fd5SJames Clark        "BriefDescription": "This metric measures crypto operations as a percentage of operations speculatively executed.",
13266e99fd5SJames Clark        "MetricGroup": "Operation_Mix",
13366e99fd5SJames Clark        "ScaleUnit": "1percent of operations"
13466e99fd5SJames Clark    },
13566e99fd5SJames Clark    {
13666e99fd5SJames Clark        "MetricName": "dtlb_mpki",
13766e99fd5SJames Clark        "MetricExpr": "DTLB_WALK / INST_RETIRED * 1000",
13866e99fd5SJames Clark        "BriefDescription": "This metric measures the number of data TLB Walks per thousand instructions executed.",
13966e99fd5SJames Clark        "MetricGroup": "MPKI;DTLB_Effectiveness",
14066e99fd5SJames Clark        "ScaleUnit": "1MPKI"
14166e99fd5SJames Clark    },
14266e99fd5SJames Clark    {
14366e99fd5SJames Clark        "MetricName": "dtlb_walk_ratio",
14466e99fd5SJames Clark        "MetricExpr": "DTLB_WALK / L1D_TLB",
14566e99fd5SJames Clark        "BriefDescription": "This metric measures the ratio of data TLB Walks to the total number of data TLB accesses. This gives an indication of the effectiveness of the data TLB accesses.",
14666e99fd5SJames Clark        "MetricGroup": "Miss_Ratio;DTLB_Effectiveness",
14766e99fd5SJames Clark        "ScaleUnit": "100percent of TLB accesses"
14866e99fd5SJames Clark    },
14966e99fd5SJames Clark    {
15066e99fd5SJames Clark        "MetricName": "fp16_percentage",
15166e99fd5SJames Clark        "MetricExpr": "FP_HP_SPEC / INST_SPEC * 100",
15266e99fd5SJames Clark        "BriefDescription": "This metric measures half-precision floating point operations as a percentage of operations speculatively executed.",
15366e99fd5SJames Clark        "MetricGroup": "FP_Precision_Mix",
15466e99fd5SJames Clark        "ScaleUnit": "1percent of operations"
15566e99fd5SJames Clark    },
15666e99fd5SJames Clark    {
15766e99fd5SJames Clark        "MetricName": "fp32_percentage",
15866e99fd5SJames Clark        "MetricExpr": "FP_SP_SPEC / INST_SPEC * 100",
15966e99fd5SJames Clark        "BriefDescription": "This metric measures single-precision floating point operations as a percentage of operations speculatively executed.",
16066e99fd5SJames Clark        "MetricGroup": "FP_Precision_Mix",
16166e99fd5SJames Clark        "ScaleUnit": "1percent of operations"
16266e99fd5SJames Clark    },
16366e99fd5SJames Clark    {
16466e99fd5SJames Clark        "MetricName": "fp64_percentage",
16566e99fd5SJames Clark        "MetricExpr": "FP_DP_SPEC / INST_SPEC * 100",
16666e99fd5SJames Clark        "BriefDescription": "This metric measures double-precision floating point operations as a percentage of operations speculatively executed.",
16766e99fd5SJames Clark        "MetricGroup": "FP_Precision_Mix",
16866e99fd5SJames Clark        "ScaleUnit": "1percent of operations"
16966e99fd5SJames Clark    },
17066e99fd5SJames Clark    {
17166e99fd5SJames Clark        "MetricName": "fp_ops_per_cycle",
172*2ed0e3eaSYangyu Chen        "MetricExpr": "(FP_SCALE_OPS_SPEC + FP_FIXED_OPS_SPEC) / CPU_CYCLES",
17366e99fd5SJames Clark        "BriefDescription": "This metric measures floating point operations per cycle in any precision performed by any instruction. Operations are counted by computation and by vector lanes, fused computations such as multiply-add count as twice per vector lane for example.",
17466e99fd5SJames Clark        "MetricGroup": "FP_Arithmetic_Intensity",
17566e99fd5SJames Clark        "ScaleUnit": "1operations per cycle"
17666e99fd5SJames Clark    },
17766e99fd5SJames Clark    {
17866e99fd5SJames Clark        "ArchStdEvent": "frontend_bound",
17966e99fd5SJames Clark        "MetricExpr": "(STALL_SLOT_FRONTEND / (10 * CPU_CYCLES) - STALL_FRONTEND_FLUSH / CPU_CYCLES) * 100"
18066e99fd5SJames Clark    },
18166e99fd5SJames Clark    {
18266e99fd5SJames Clark        "MetricName": "frontend_cache_l1i_bound",
18366e99fd5SJames Clark        "MetricExpr": "STALL_FRONTEND_L1I / (STALL_FRONTEND_L1I + STALL_FRONTEND_MEM) * 100",
18466e99fd5SJames Clark        "BriefDescription": "This metric is the percentage of total cycles stalled in the frontend due to memory access latency issues caused by level 1 instruction cache misses.",
18566e99fd5SJames Clark        "MetricGroup": "Topdown_Frontend",
18666e99fd5SJames Clark        "ScaleUnit": "1percent of cycles"
18766e99fd5SJames Clark    },
18866e99fd5SJames Clark    {
18966e99fd5SJames Clark        "MetricName": "frontend_cache_l2i_bound",
19066e99fd5SJames Clark        "MetricExpr": "STALL_FRONTEND_MEM / (STALL_FRONTEND_L1I + STALL_FRONTEND_MEM) * 100",
19166e99fd5SJames Clark        "BriefDescription": "This metric is the percentage of total cycles stalled in the frontend due to memory access latency issues caused by level 2 instruction cache misses.",
19266e99fd5SJames Clark        "MetricGroup": "Topdown_Frontend",
19366e99fd5SJames Clark        "ScaleUnit": "1percent of cycles"
19466e99fd5SJames Clark    },
19566e99fd5SJames Clark    {
19666e99fd5SJames Clark        "MetricName": "frontend_core_bound",
19766e99fd5SJames Clark        "MetricExpr": "STALL_FRONTEND_CPUBOUND / STALL_FRONTEND * 100",
19866e99fd5SJames Clark        "BriefDescription": "This metric is the percentage of total cycles stalled in the frontend due to frontend core resource constraints not related to instruction fetch latency issues caused by memory access components.",
19966e99fd5SJames Clark        "MetricGroup": "Topdown_Frontend",
20066e99fd5SJames Clark        "ScaleUnit": "1percent of cycles"
20166e99fd5SJames Clark    },
20266e99fd5SJames Clark    {
20366e99fd5SJames Clark        "MetricName": "frontend_core_flow_bound",
20466e99fd5SJames Clark        "MetricExpr": "STALL_FRONTEND_FLOW / STALL_FRONTEND_CPUBOUND * 100",
20566e99fd5SJames Clark        "BriefDescription": "This metric is the percentage of total cycles stalled in the frontend as the decode unit is awaiting input from the branch prediction unit.",
20666e99fd5SJames Clark        "MetricGroup": "Topdown_Frontend",
20766e99fd5SJames Clark        "ScaleUnit": "1percent of cycles"
20866e99fd5SJames Clark    },
20966e99fd5SJames Clark    {
21066e99fd5SJames Clark        "MetricName": "frontend_core_flush_bound",
21166e99fd5SJames Clark        "MetricExpr": "STALL_FRONTEND_FLUSH / STALL_FRONTEND_CPUBOUND * 100",
21266e99fd5SJames Clark        "BriefDescription": "This metric is the percentage of total cycles stalled in the frontend as the processor is recovering from a pipeline flush caused by bad speculation or other machine resteers.",
21366e99fd5SJames Clark        "MetricGroup": "Topdown_Frontend",
21466e99fd5SJames Clark        "ScaleUnit": "1percent of cycles"
21566e99fd5SJames Clark    },
21666e99fd5SJames Clark    {
21766e99fd5SJames Clark        "MetricName": "frontend_mem_bound",
21866e99fd5SJames Clark        "MetricExpr": "STALL_FRONTEND_MEMBOUND / STALL_FRONTEND * 100",
21966e99fd5SJames Clark        "BriefDescription": "This metric is the percentage of total cycles stalled in the frontend due to frontend core resource constraints related to the instruction fetch latency issues caused by memory access components.",
22066e99fd5SJames Clark        "MetricGroup": "Topdown_Frontend",
22166e99fd5SJames Clark        "ScaleUnit": "1percent of cycles"
22266e99fd5SJames Clark    },
22366e99fd5SJames Clark    {
22466e99fd5SJames Clark        "MetricName": "frontend_mem_cache_bound",
22566e99fd5SJames Clark        "MetricExpr": "(STALL_FRONTEND_L1I + STALL_FRONTEND_MEM) / STALL_FRONTEND_MEMBOUND * 100",
22666e99fd5SJames Clark        "BriefDescription": "This metric is the percentage of total cycles stalled in the frontend due to instruction fetch latency issues caused by instruction cache misses.",
22766e99fd5SJames Clark        "MetricGroup": "Topdown_Frontend",
22866e99fd5SJames Clark        "ScaleUnit": "1percent of cycles"
22966e99fd5SJames Clark    },
23066e99fd5SJames Clark    {
23166e99fd5SJames Clark        "MetricName": "frontend_mem_tlb_bound",
23266e99fd5SJames Clark        "MetricExpr": "STALL_FRONTEND_TLB / STALL_FRONTEND_MEMBOUND * 100",
23366e99fd5SJames Clark        "BriefDescription": "This metric is the percentage of total cycles stalled in the frontend due to instruction fetch latency issues caused by instruction TLB misses.",
23466e99fd5SJames Clark        "MetricGroup": "Topdown_Frontend",
23566e99fd5SJames Clark        "ScaleUnit": "1percent of cycles"
23666e99fd5SJames Clark    },
23766e99fd5SJames Clark    {
23866e99fd5SJames Clark        "MetricName": "frontend_stalled_cycles",
23966e99fd5SJames Clark        "MetricExpr": "STALL_FRONTEND / CPU_CYCLES * 100",
24066e99fd5SJames Clark        "BriefDescription": "This metric is the percentage of cycles that were stalled due to resource constraints in the frontend unit of the processor.",
24166e99fd5SJames Clark        "MetricGroup": "Cycle_Accounting",
24266e99fd5SJames Clark        "ScaleUnit": "1percent of cycles"
24366e99fd5SJames Clark    },
24466e99fd5SJames Clark    {
24566e99fd5SJames Clark        "MetricName": "integer_dp_percentage",
24666e99fd5SJames Clark        "MetricExpr": "DP_SPEC / INST_SPEC * 100",
24766e99fd5SJames Clark        "BriefDescription": "This metric measures scalar integer operations as a percentage of operations speculatively executed.",
24866e99fd5SJames Clark        "MetricGroup": "Operation_Mix",
24966e99fd5SJames Clark        "ScaleUnit": "1percent of operations"
25066e99fd5SJames Clark    },
25166e99fd5SJames Clark    {
25266e99fd5SJames Clark        "MetricName": "ipc",
25366e99fd5SJames Clark        "MetricExpr": "INST_RETIRED / CPU_CYCLES",
25466e99fd5SJames Clark        "BriefDescription": "This metric measures the number of instructions retired per cycle.",
25566e99fd5SJames Clark        "MetricGroup": "General",
25666e99fd5SJames Clark        "ScaleUnit": "1per cycle"
25766e99fd5SJames Clark    },
25866e99fd5SJames Clark    {
25966e99fd5SJames Clark        "MetricName": "itlb_mpki",
26066e99fd5SJames Clark        "MetricExpr": "ITLB_WALK / INST_RETIRED * 1000",
26166e99fd5SJames Clark        "BriefDescription": "This metric measures the number of instruction TLB Walks per thousand instructions executed.",
26266e99fd5SJames Clark        "MetricGroup": "MPKI;ITLB_Effectiveness",
26366e99fd5SJames Clark        "ScaleUnit": "1MPKI"
26466e99fd5SJames Clark    },
26566e99fd5SJames Clark    {
26666e99fd5SJames Clark        "MetricName": "itlb_walk_ratio",
26766e99fd5SJames Clark        "MetricExpr": "ITLB_WALK / L1I_TLB",
26866e99fd5SJames Clark        "BriefDescription": "This metric measures the ratio of instruction TLB Walks to the total number of instruction TLB accesses. This gives an indication of the effectiveness of the instruction TLB accesses.",
26966e99fd5SJames Clark        "MetricGroup": "Miss_Ratio;ITLB_Effectiveness",
27066e99fd5SJames Clark        "ScaleUnit": "100percent of TLB accesses"
27166e99fd5SJames Clark    },
27266e99fd5SJames Clark    {
27366e99fd5SJames Clark        "MetricName": "l1d_cache_miss_ratio",
27466e99fd5SJames Clark        "MetricExpr": "L1D_CACHE_REFILL / L1D_CACHE",
27566e99fd5SJames Clark        "BriefDescription": "This metric measures the ratio of level 1 data cache accesses missed to the total number of level 1 data cache accesses. This gives an indication of the effectiveness of the level 1 data cache.",
27666e99fd5SJames Clark        "MetricGroup": "Miss_Ratio;L1D_Cache_Effectiveness",
27766e99fd5SJames Clark        "ScaleUnit": "100percent of cache accesses"
27866e99fd5SJames Clark    },
27966e99fd5SJames Clark    {
28066e99fd5SJames Clark        "MetricName": "l1d_cache_mpki",
28166e99fd5SJames Clark        "MetricExpr": "L1D_CACHE_REFILL / INST_RETIRED * 1000",
28266e99fd5SJames Clark        "BriefDescription": "This metric measures the number of level 1 data cache accesses missed per thousand instructions executed.",
28366e99fd5SJames Clark        "MetricGroup": "MPKI;L1D_Cache_Effectiveness",
28466e99fd5SJames Clark        "ScaleUnit": "1MPKI"
28566e99fd5SJames Clark    },
28666e99fd5SJames Clark    {
28766e99fd5SJames Clark        "MetricName": "l1d_tlb_miss_ratio",
28866e99fd5SJames Clark        "MetricExpr": "L1D_TLB_REFILL / L1D_TLB",
28966e99fd5SJames Clark        "BriefDescription": "This metric measures the ratio of level 1 data TLB accesses missed to the total number of level 1 data TLB accesses. This gives an indication of the effectiveness of the level 1 data TLB.",
29066e99fd5SJames Clark        "MetricGroup": "Miss_Ratio;DTLB_Effectiveness",
29166e99fd5SJames Clark        "ScaleUnit": "100percent of TLB accesses"
29266e99fd5SJames Clark    },
29366e99fd5SJames Clark    {
29466e99fd5SJames Clark        "MetricName": "l1d_tlb_mpki",
29566e99fd5SJames Clark        "MetricExpr": "L1D_TLB_REFILL / INST_RETIRED * 1000",
29666e99fd5SJames Clark        "BriefDescription": "This metric measures the number of level 1 data TLB accesses missed per thousand instructions executed.",
29766e99fd5SJames Clark        "MetricGroup": "MPKI;DTLB_Effectiveness",
29866e99fd5SJames Clark        "ScaleUnit": "1MPKI"
29966e99fd5SJames Clark    },
30066e99fd5SJames Clark    {
30166e99fd5SJames Clark        "MetricName": "l1i_cache_miss_ratio",
30266e99fd5SJames Clark        "MetricExpr": "L1I_CACHE_REFILL / L1I_CACHE",
30366e99fd5SJames Clark        "BriefDescription": "This metric measures the ratio of level 1 instruction cache accesses missed to the total number of level 1 instruction cache accesses. This gives an indication of the effectiveness of the level 1 instruction cache.",
30466e99fd5SJames Clark        "MetricGroup": "Miss_Ratio;L1I_Cache_Effectiveness",
30566e99fd5SJames Clark        "ScaleUnit": "100percent of cache accesses"
30666e99fd5SJames Clark    },
30766e99fd5SJames Clark    {
30866e99fd5SJames Clark        "MetricName": "l1i_cache_mpki",
30966e99fd5SJames Clark        "MetricExpr": "L1I_CACHE_REFILL / INST_RETIRED * 1000",
31066e99fd5SJames Clark        "BriefDescription": "This metric measures the number of level 1 instruction cache accesses missed per thousand instructions executed.",
31166e99fd5SJames Clark        "MetricGroup": "MPKI;L1I_Cache_Effectiveness",
31266e99fd5SJames Clark        "ScaleUnit": "1MPKI"
31366e99fd5SJames Clark    },
31466e99fd5SJames Clark    {
31566e99fd5SJames Clark        "MetricName": "l1i_tlb_miss_ratio",
31666e99fd5SJames Clark        "MetricExpr": "L1I_TLB_REFILL / L1I_TLB",
31766e99fd5SJames Clark        "BriefDescription": "This metric measures the ratio of level 1 instruction TLB accesses missed to the total number of level 1 instruction TLB accesses. This gives an indication of the effectiveness of the level 1 instruction TLB.",
31866e99fd5SJames Clark        "MetricGroup": "Miss_Ratio;ITLB_Effectiveness",
31966e99fd5SJames Clark        "ScaleUnit": "100percent of TLB accesses"
32066e99fd5SJames Clark    },
32166e99fd5SJames Clark    {
32266e99fd5SJames Clark        "MetricName": "l1i_tlb_mpki",
32366e99fd5SJames Clark        "MetricExpr": "L1I_TLB_REFILL / INST_RETIRED * 1000",
32466e99fd5SJames Clark        "BriefDescription": "This metric measures the number of level 1 instruction TLB accesses missed per thousand instructions executed.",
32566e99fd5SJames Clark        "MetricGroup": "MPKI;ITLB_Effectiveness",
32666e99fd5SJames Clark        "ScaleUnit": "1MPKI"
32766e99fd5SJames Clark    },
32866e99fd5SJames Clark    {
32966e99fd5SJames Clark        "MetricName": "l2_cache_miss_ratio",
33066e99fd5SJames Clark        "MetricExpr": "L2D_CACHE_REFILL / L2D_CACHE",
33166e99fd5SJames Clark        "BriefDescription": "This metric measures the ratio of level 2 cache accesses missed to the total number of level 2 cache accesses. This gives an indication of the effectiveness of the level 2 cache, which is a unified cache that stores both data and instruction. Note that cache accesses in this cache are either data memory access or instruction fetch as this is a unified cache.",
33266e99fd5SJames Clark        "MetricGroup": "Miss_Ratio;L2_Cache_Effectiveness",
33366e99fd5SJames Clark        "ScaleUnit": "100percent of cache accesses"
33466e99fd5SJames Clark    },
33566e99fd5SJames Clark    {
33666e99fd5SJames Clark        "MetricName": "l2_cache_mpki",
33766e99fd5SJames Clark        "MetricExpr": "L2D_CACHE_REFILL / INST_RETIRED * 1000",
33866e99fd5SJames Clark        "BriefDescription": "This metric measures the number of level 2 unified cache accesses missed per thousand instructions executed. Note that cache accesses in this cache are either data memory access or instruction fetch as this is a unified cache.",
33966e99fd5SJames Clark        "MetricGroup": "MPKI;L2_Cache_Effectiveness",
34066e99fd5SJames Clark        "ScaleUnit": "1MPKI"
34166e99fd5SJames Clark    },
34266e99fd5SJames Clark    {
34366e99fd5SJames Clark        "MetricName": "l2_tlb_miss_ratio",
34466e99fd5SJames Clark        "MetricExpr": "L2D_TLB_REFILL / L2D_TLB",
34566e99fd5SJames Clark        "BriefDescription": "This metric measures the ratio of level 2 unified TLB accesses missed to the total number of level 2 unified TLB accesses. This gives an indication of the effectiveness of the level 2 TLB.",
34666e99fd5SJames Clark        "MetricGroup": "Miss_Ratio;ITLB_Effectiveness;DTLB_Effectiveness",
34766e99fd5SJames Clark        "ScaleUnit": "100percent of TLB accesses"
34866e99fd5SJames Clark    },
34966e99fd5SJames Clark    {
35066e99fd5SJames Clark        "MetricName": "l2_tlb_mpki",
35166e99fd5SJames Clark        "MetricExpr": "L2D_TLB_REFILL / INST_RETIRED * 1000",
35266e99fd5SJames Clark        "BriefDescription": "This metric measures the number of level 2 unified TLB accesses missed per thousand instructions executed.",
35366e99fd5SJames Clark        "MetricGroup": "MPKI;ITLB_Effectiveness;DTLB_Effectiveness",
35466e99fd5SJames Clark        "ScaleUnit": "1MPKI"
35566e99fd5SJames Clark    },
35666e99fd5SJames Clark    {
35766e99fd5SJames Clark        "MetricName": "ll_cache_read_hit_ratio",
35866e99fd5SJames Clark        "MetricExpr": "(LL_CACHE_RD - LL_CACHE_MISS_RD) / LL_CACHE_RD",
35966e99fd5SJames Clark        "BriefDescription": "This metric measures the ratio of last level cache read accesses hit in the cache to the total number of last level cache accesses. This gives an indication of the effectiveness of the last level cache for read traffic. Note that cache accesses in this cache are either data memory access or instruction fetch as this is a system level cache.",
36066e99fd5SJames Clark        "MetricGroup": "LL_Cache_Effectiveness",
36166e99fd5SJames Clark        "ScaleUnit": "100percent of cache accesses"
36266e99fd5SJames Clark    },
36366e99fd5SJames Clark    {
36466e99fd5SJames Clark        "MetricName": "ll_cache_read_miss_ratio",
36566e99fd5SJames Clark        "MetricExpr": "LL_CACHE_MISS_RD / LL_CACHE_RD",
36666e99fd5SJames Clark        "BriefDescription": "This metric measures the ratio of last level cache read accesses missed to the total number of last level cache accesses. This gives an indication of the effectiveness of the last level cache for read traffic. Note that cache accesses in this cache are either data memory access or instruction fetch as this is a system level cache.",
36766e99fd5SJames Clark        "MetricGroup": "Miss_Ratio;LL_Cache_Effectiveness",
36866e99fd5SJames Clark        "ScaleUnit": "100percent of cache accesses"
36966e99fd5SJames Clark    },
37066e99fd5SJames Clark    {
37166e99fd5SJames Clark        "MetricName": "ll_cache_read_mpki",
37266e99fd5SJames Clark        "MetricExpr": "LL_CACHE_MISS_RD / INST_RETIRED * 1000",
37366e99fd5SJames Clark        "BriefDescription": "This metric measures the number of last level cache read accesses missed per thousand instructions executed.",
37466e99fd5SJames Clark        "MetricGroup": "MPKI;LL_Cache_Effectiveness",
37566e99fd5SJames Clark        "ScaleUnit": "1MPKI"
37666e99fd5SJames Clark    },
37766e99fd5SJames Clark    {
37866e99fd5SJames Clark        "MetricName": "load_percentage",
37966e99fd5SJames Clark        "MetricExpr": "LD_SPEC / INST_SPEC * 100",
38066e99fd5SJames Clark        "BriefDescription": "This metric measures load operations as a percentage of operations speculatively executed.",
38166e99fd5SJames Clark        "MetricGroup": "Operation_Mix",
38266e99fd5SJames Clark        "ScaleUnit": "1percent of operations"
38366e99fd5SJames Clark    },
38466e99fd5SJames Clark    {
38566e99fd5SJames Clark        "MetricName": "nonsve_fp_ops_per_cycle",
386*2ed0e3eaSYangyu Chen        "MetricExpr": "FP_FIXED_OPS_SPEC / CPU_CYCLES",
38766e99fd5SJames Clark        "BriefDescription": "This metric measures floating point operations per cycle in any precision performed by an instruction that is not an SVE instruction. Operations are counted by computation and by vector lanes, fused computations such as multiply-add count as twice per vector lane for example.",
38866e99fd5SJames Clark        "MetricGroup": "FP_Arithmetic_Intensity",
38966e99fd5SJames Clark        "ScaleUnit": "1operations per cycle"
39066e99fd5SJames Clark    },
39166e99fd5SJames Clark    {
39266e99fd5SJames Clark        "ArchStdEvent": "retiring"
39366e99fd5SJames Clark    },
39466e99fd5SJames Clark    {
39566e99fd5SJames Clark        "MetricName": "scalar_fp_percentage",
39666e99fd5SJames Clark        "MetricExpr": "VFP_SPEC / INST_SPEC * 100",
39766e99fd5SJames Clark        "BriefDescription": "This metric measures scalar floating point operations as a percentage of operations speculatively executed.",
39866e99fd5SJames Clark        "MetricGroup": "Operation_Mix",
39966e99fd5SJames Clark        "ScaleUnit": "1percent of operations"
40066e99fd5SJames Clark    },
40166e99fd5SJames Clark    {
40266e99fd5SJames Clark        "MetricName": "simd_percentage",
40366e99fd5SJames Clark        "MetricExpr": "ASE_SPEC / INST_SPEC * 100",
40466e99fd5SJames Clark        "BriefDescription": "This metric measures advanced SIMD operations as a percentage of total operations speculatively executed.",
40566e99fd5SJames Clark        "MetricGroup": "Operation_Mix",
40666e99fd5SJames Clark        "ScaleUnit": "1percent of operations"
40766e99fd5SJames Clark    },
40866e99fd5SJames Clark    {
40966e99fd5SJames Clark        "MetricName": "store_percentage",
41066e99fd5SJames Clark        "MetricExpr": "ST_SPEC / INST_SPEC * 100",
41166e99fd5SJames Clark        "BriefDescription": "This metric measures store operations as a percentage of operations speculatively executed.",
41266e99fd5SJames Clark        "MetricGroup": "Operation_Mix",
41366e99fd5SJames Clark        "ScaleUnit": "1percent of operations"
41466e99fd5SJames Clark    },
41566e99fd5SJames Clark    {
41666e99fd5SJames Clark        "MetricName": "sve_all_percentage",
41766e99fd5SJames Clark        "MetricExpr": "SVE_INST_SPEC / INST_SPEC * 100",
41866e99fd5SJames Clark        "BriefDescription": "This metric measures scalable vector operations, including loads and stores, as a percentage of operations speculatively executed.",
41966e99fd5SJames Clark        "MetricGroup": "Operation_Mix",
42066e99fd5SJames Clark        "ScaleUnit": "1percent of operations"
42166e99fd5SJames Clark    },
42266e99fd5SJames Clark    {
42366e99fd5SJames Clark        "MetricName": "sve_fp_ops_per_cycle",
424*2ed0e3eaSYangyu Chen        "MetricExpr": "FP_SCALE_OPS_SPEC / CPU_CYCLES",
42566e99fd5SJames Clark        "BriefDescription": "This metric measures floating point operations per cycle in any precision performed by SVE instructions. Operations are counted by computation and by vector lanes, fused computations such as multiply-add count as twice per vector lane for example.",
42666e99fd5SJames Clark        "MetricGroup": "FP_Arithmetic_Intensity",
42766e99fd5SJames Clark        "ScaleUnit": "1operations per cycle"
42866e99fd5SJames Clark    },
42966e99fd5SJames Clark    {
43066e99fd5SJames Clark        "MetricName": "sve_predicate_empty_percentage",
43166e99fd5SJames Clark        "MetricExpr": "SVE_PRED_EMPTY_SPEC / SVE_PRED_SPEC * 100",
43266e99fd5SJames Clark        "BriefDescription": "This metric measures scalable vector operations with no active predicates as a percentage of sve predicated operations speculatively executed.",
43366e99fd5SJames Clark        "MetricGroup": "SVE_Effectiveness",
43466e99fd5SJames Clark        "ScaleUnit": "1percent of operations"
43566e99fd5SJames Clark    },
43666e99fd5SJames Clark    {
43766e99fd5SJames Clark        "MetricName": "sve_predicate_full_percentage",
43866e99fd5SJames Clark        "MetricExpr": "SVE_PRED_FULL_SPEC / SVE_PRED_SPEC * 100",
43966e99fd5SJames Clark        "BriefDescription": "This metric measures scalable vector operations with all active predicates as a percentage of sve predicated operations speculatively executed.",
44066e99fd5SJames Clark        "MetricGroup": "SVE_Effectiveness",
44166e99fd5SJames Clark        "ScaleUnit": "1percent of operations"
44266e99fd5SJames Clark    },
44366e99fd5SJames Clark    {
44466e99fd5SJames Clark        "MetricName": "sve_predicate_partial_percentage",
44566e99fd5SJames Clark        "MetricExpr": "SVE_PRED_PARTIAL_SPEC / SVE_PRED_SPEC * 100",
44666e99fd5SJames Clark        "BriefDescription": "This metric measures scalable vector operations with at least one active predicates as a percentage of sve predicated operations speculatively executed.",
44766e99fd5SJames Clark        "MetricGroup": "SVE_Effectiveness",
44866e99fd5SJames Clark        "ScaleUnit": "1percent of operations"
44966e99fd5SJames Clark    },
45066e99fd5SJames Clark    {
45166e99fd5SJames Clark        "MetricName": "sve_predicate_percentage",
45266e99fd5SJames Clark        "MetricExpr": "SVE_PRED_SPEC / INST_SPEC * 100",
45366e99fd5SJames Clark        "BriefDescription": "This metric measures scalable vector operations with predicates as a percentage of operations speculatively executed.",
45466e99fd5SJames Clark        "MetricGroup": "SVE_Effectiveness",
45566e99fd5SJames Clark        "ScaleUnit": "1percent of operations"
45666e99fd5SJames Clark    }
45766e99fd5SJames Clark]
458