1*d0a3df88SSandipan Das[ 2*d0a3df88SSandipan Das { 3*d0a3df88SSandipan Das "MetricName": "branch_misprediction_rate", 4*d0a3df88SSandipan Das "BriefDescription": "Execution-time branch misprediction rate (non-speculative).", 5*d0a3df88SSandipan Das "MetricExpr": "d_ratio(ex_ret_brn_misp, ex_ret_brn)", 6*d0a3df88SSandipan Das "MetricGroup": "branch_prediction", 7*d0a3df88SSandipan Das "ScaleUnit": "1per_branch" 8*d0a3df88SSandipan Das }, 9*d0a3df88SSandipan Das { 10*d0a3df88SSandipan Das "MetricName": "all_data_cache_accesses_pti", 11*d0a3df88SSandipan Das "BriefDescription": "All data cache accesses per thousand instructions.", 12*d0a3df88SSandipan Das "MetricExpr": "ls_dispatch.all / instructions", 13*d0a3df88SSandipan Das "MetricGroup": "l1_dcache", 14*d0a3df88SSandipan Das "ScaleUnit": "1e3per_1k_instr" 15*d0a3df88SSandipan Das }, 16*d0a3df88SSandipan Das { 17*d0a3df88SSandipan Das "MetricName": "all_l2_cache_accesses_pti", 18*d0a3df88SSandipan Das "BriefDescription": "All L2 cache accesses per thousand instructions.", 19*d0a3df88SSandipan Das "MetricExpr": "(l2_request_g1.no_pf_all + l2_pf_hit_l2.l2_hwpf + l2_pf_miss_l2_hit_l3.l2_hwpf + l2_pf_miss_l2_l3.l2_hwpf) / instructions", 20*d0a3df88SSandipan Das "MetricGroup": "l2_cache", 21*d0a3df88SSandipan Das "ScaleUnit": "1e3per_1k_instr" 22*d0a3df88SSandipan Das }, 23*d0a3df88SSandipan Das { 24*d0a3df88SSandipan Das "MetricName": "l2_cache_accesses_from_l1_ic_misses_pti", 25*d0a3df88SSandipan Das "BriefDescription": "L2 cache accesses from L1 instruction cache misses (including prefetch) per thousand instructions.", 26*d0a3df88SSandipan Das "MetricExpr": "l2_request_g1.cacheable_ic_read / instructions", 27*d0a3df88SSandipan Das "MetricGroup": "l2_cache", 28*d0a3df88SSandipan Das "ScaleUnit": "1e3per_1k_instr" 29*d0a3df88SSandipan Das }, 30*d0a3df88SSandipan Das { 31*d0a3df88SSandipan Das "MetricName": "l2_cache_accesses_from_l1_dc_misses_pti", 32*d0a3df88SSandipan Das "BriefDescription": "L2 cache accesses from L1 data cache misses (including prefetch) per thousand instructions.", 33*d0a3df88SSandipan Das "MetricExpr": "l2_request_g1.dc_all / instructions", 34*d0a3df88SSandipan Das "MetricGroup": "l2_cache", 35*d0a3df88SSandipan Das "ScaleUnit": "1e3per_1k_instr" 36*d0a3df88SSandipan Das }, 37*d0a3df88SSandipan Das { 38*d0a3df88SSandipan Das "MetricName": "l2_cache_accesses_from_l2_hwpf_pti", 39*d0a3df88SSandipan Das "BriefDescription": "L2 cache accesses from L2 cache hardware prefetcher per thousand instructions.", 40*d0a3df88SSandipan Das "MetricExpr": "(l2_pf_hit_l2.l1_dc_l2_hwpf + l2_pf_miss_l2_hit_l3.l1_dc_l2_hwpf + l2_pf_miss_l2_l3.l1_dc_l2_hwpf) / instructions", 41*d0a3df88SSandipan Das "MetricGroup": "l2_cache", 42*d0a3df88SSandipan Das "ScaleUnit": "1e3per_1k_instr" 43*d0a3df88SSandipan Das }, 44*d0a3df88SSandipan Das { 45*d0a3df88SSandipan Das "MetricName": "all_l2_cache_misses_pti", 46*d0a3df88SSandipan Das "BriefDescription": "All L2 cache misses per thousand instructions.", 47*d0a3df88SSandipan Das "MetricExpr": "(l2_cache_req_stat.ic_dc_miss_in_l2 + l2_pf_miss_l2_hit_l3.l2_hwpf + l2_pf_miss_l2_l3.l2_hwpf) / instructions", 48*d0a3df88SSandipan Das "MetricGroup": "l2_cache", 49*d0a3df88SSandipan Das "ScaleUnit": "1e3per_1k_instr" 50*d0a3df88SSandipan Das }, 51*d0a3df88SSandipan Das { 52*d0a3df88SSandipan Das "MetricName": "l2_cache_misses_from_l1_ic_miss_pti", 53*d0a3df88SSandipan Das "BriefDescription": "L2 cache misses from L1 instruction cache misses per thousand instructions.", 54*d0a3df88SSandipan Das "MetricExpr": "l2_cache_req_stat.ic_fill_miss / instructions", 55*d0a3df88SSandipan Das "MetricGroup": "l2_cache", 56*d0a3df88SSandipan Das "ScaleUnit": "1e3per_1k_instr" 57*d0a3df88SSandipan Das }, 58*d0a3df88SSandipan Das { 59*d0a3df88SSandipan Das "MetricName": "l2_cache_misses_from_l1_dc_miss_pti", 60*d0a3df88SSandipan Das "BriefDescription": "L2 cache misses from L1 data cache misses per thousand instructions.", 61*d0a3df88SSandipan Das "MetricExpr": "l2_cache_req_stat.ls_rd_blk_c / instructions", 62*d0a3df88SSandipan Das "MetricGroup": "l2_cache", 63*d0a3df88SSandipan Das "ScaleUnit": "1e3per_1k_instr" 64*d0a3df88SSandipan Das }, 65*d0a3df88SSandipan Das { 66*d0a3df88SSandipan Das "MetricName": "l2_cache_misses_from_l2_hwpf_pti", 67*d0a3df88SSandipan Das "BriefDescription": "L2 cache misses from L2 cache hardware prefetcher per thousand instructions.", 68*d0a3df88SSandipan Das "MetricExpr": "(l2_pf_miss_l2_hit_l3.l1_dc_l2_hwpf + l2_pf_miss_l2_l3.l1_dc_l2_hwpf) / instructions", 69*d0a3df88SSandipan Das "MetricGroup": "l2_cache", 70*d0a3df88SSandipan Das "ScaleUnit": "1e3per_1k_instr" 71*d0a3df88SSandipan Das }, 72*d0a3df88SSandipan Das { 73*d0a3df88SSandipan Das "MetricName": "all_l2_cache_hits_pti", 74*d0a3df88SSandipan Das "BriefDescription": "All L2 cache hits per thousand instructions.", 75*d0a3df88SSandipan Das "MetricExpr": "(l2_cache_req_stat.ic_dc_hit_in_l2 + l2_pf_hit_l2.l2_hwpf) / instructions", 76*d0a3df88SSandipan Das "MetricGroup": "l2_cache", 77*d0a3df88SSandipan Das "ScaleUnit": "1e3per_1k_instr" 78*d0a3df88SSandipan Das }, 79*d0a3df88SSandipan Das { 80*d0a3df88SSandipan Das "MetricName": "l2_cache_hits_from_l1_ic_miss_pti", 81*d0a3df88SSandipan Das "BriefDescription": "L2 cache hits from L1 instruction cache misses per thousand instructions.", 82*d0a3df88SSandipan Das "MetricExpr": "l2_cache_req_stat.ic_hit_in_l2 / instructions", 83*d0a3df88SSandipan Das "MetricGroup": "l2_cache", 84*d0a3df88SSandipan Das "ScaleUnit": "1e3per_1k_instr" 85*d0a3df88SSandipan Das }, 86*d0a3df88SSandipan Das { 87*d0a3df88SSandipan Das "MetricName": "l2_cache_hits_from_l1_dc_miss_pti", 88*d0a3df88SSandipan Das "BriefDescription": "L2 cache hits from L1 data cache misses per thousand instructions.", 89*d0a3df88SSandipan Das "MetricExpr": "l2_cache_req_stat.dc_hit_in_l2 / instructions", 90*d0a3df88SSandipan Das "MetricGroup": "l2_cache", 91*d0a3df88SSandipan Das "ScaleUnit": "1e3per_1k_instr" 92*d0a3df88SSandipan Das }, 93*d0a3df88SSandipan Das { 94*d0a3df88SSandipan Das "MetricName": "l2_cache_hits_from_l2_hwpf_pti", 95*d0a3df88SSandipan Das "BriefDescription": "L2 cache hits from L2 cache hardware prefetcher per thousand instructions.", 96*d0a3df88SSandipan Das "MetricExpr": "l2_pf_hit_l2.l1_dc_l2_hwpf / instructions", 97*d0a3df88SSandipan Das "MetricGroup": "l2_cache", 98*d0a3df88SSandipan Das "ScaleUnit": "1e3per_1k_instr" 99*d0a3df88SSandipan Das }, 100*d0a3df88SSandipan Das { 101*d0a3df88SSandipan Das "MetricName": "l3_cache_accesses", 102*d0a3df88SSandipan Das "BriefDescription": "L3 cache accesses.", 103*d0a3df88SSandipan Das "MetricExpr": "l3_lookup_state.all_coherent_accesses_to_l3", 104*d0a3df88SSandipan Das "MetricGroup": "l3_cache" 105*d0a3df88SSandipan Das }, 106*d0a3df88SSandipan Das { 107*d0a3df88SSandipan Das "MetricName": "l3_misses", 108*d0a3df88SSandipan Das "BriefDescription": "L3 misses (including cacheline state change requests).", 109*d0a3df88SSandipan Das "MetricExpr": "l3_lookup_state.l3_miss", 110*d0a3df88SSandipan Das "MetricGroup": "l3_cache" 111*d0a3df88SSandipan Das }, 112*d0a3df88SSandipan Das { 113*d0a3df88SSandipan Das "MetricName": "l3_read_miss_latency", 114*d0a3df88SSandipan Das "BriefDescription": "Average L3 read miss latency (in core clocks).", 115*d0a3df88SSandipan Das "MetricExpr": "(l3_xi_sampled_latency.all * 10) / l3_xi_sampled_latency_requests.all", 116*d0a3df88SSandipan Das "MetricGroup": "l3_cache", 117*d0a3df88SSandipan Das "ScaleUnit": "1ns" 118*d0a3df88SSandipan Das }, 119*d0a3df88SSandipan Das { 120*d0a3df88SSandipan Das "MetricName": "l3_read_miss_latency_for_local_dram", 121*d0a3df88SSandipan Das "BriefDescription": "Average L3 read miss latency (in core clocks) for local DRAM.", 122*d0a3df88SSandipan Das "MetricExpr": "(l3_xi_sampled_latency.dram_near * 10) / l3_xi_sampled_latency_requests.dram_near", 123*d0a3df88SSandipan Das "MetricGroup": "l3_cache", 124*d0a3df88SSandipan Das "ScaleUnit": "1ns" 125*d0a3df88SSandipan Das }, 126*d0a3df88SSandipan Das { 127*d0a3df88SSandipan Das "MetricName": "l3_read_miss_latency_for_remote_dram", 128*d0a3df88SSandipan Das "BriefDescription": "Average L3 read miss latency (in core clocks) for remote DRAM.", 129*d0a3df88SSandipan Das "MetricExpr": "(l3_xi_sampled_latency.dram_far * 10) / l3_xi_sampled_latency_requests.dram_far", 130*d0a3df88SSandipan Das "MetricGroup": "l3_cache", 131*d0a3df88SSandipan Das "ScaleUnit": "1ns" 132*d0a3df88SSandipan Das }, 133*d0a3df88SSandipan Das { 134*d0a3df88SSandipan Das "MetricName": "op_cache_fetch_miss_ratio", 135*d0a3df88SSandipan Das "BriefDescription": "Op cache miss ratio for all fetches.", 136*d0a3df88SSandipan Das "MetricExpr": "d_ratio(op_cache_hit_miss.miss, op_cache_hit_miss.all)", 137*d0a3df88SSandipan Das "ScaleUnit": "100%" 138*d0a3df88SSandipan Das }, 139*d0a3df88SSandipan Das { 140*d0a3df88SSandipan Das "MetricName": "l1_data_cache_fills_from_memory_pti", 141*d0a3df88SSandipan Das "BriefDescription": "L1 data cache fills from DRAM or MMIO in any NUMA node per thousand instructions.", 142*d0a3df88SSandipan Das "MetricExpr": "ls_any_fills_from_sys.dram_io_all / instructions", 143*d0a3df88SSandipan Das "MetricGroup": "l1_dcache", 144*d0a3df88SSandipan Das "ScaleUnit": "1e3per_1k_instr" 145*d0a3df88SSandipan Das }, 146*d0a3df88SSandipan Das { 147*d0a3df88SSandipan Das "MetricName": "l1_data_cache_fills_from_remote_node_pti", 148*d0a3df88SSandipan Das "BriefDescription": "L1 data cache fills from a different NUMA node per thousand instructions.", 149*d0a3df88SSandipan Das "MetricExpr": "ls_any_fills_from_sys.far_all / instructions", 150*d0a3df88SSandipan Das "MetricGroup": "l1_dcache", 151*d0a3df88SSandipan Das "ScaleUnit": "1e3per_1k_instr" 152*d0a3df88SSandipan Das }, 153*d0a3df88SSandipan Das { 154*d0a3df88SSandipan Das "MetricName": "l1_data_cache_fills_from_same_ccx_pti", 155*d0a3df88SSandipan Das "BriefDescription": "L1 data cache fills from within the same CCX per thousand instructions.", 156*d0a3df88SSandipan Das "MetricExpr": "ls_any_fills_from_sys.local_all / instructions", 157*d0a3df88SSandipan Das "MetricGroup": "l1_dcache", 158*d0a3df88SSandipan Das "ScaleUnit": "1e3per_1k_instr" 159*d0a3df88SSandipan Das }, 160*d0a3df88SSandipan Das { 161*d0a3df88SSandipan Das "MetricName": "l1_data_cache_fills_from_different_ccx_pti", 162*d0a3df88SSandipan Das "BriefDescription": "L1 data cache fills from another CCX cache in any NUMA node per thousand instructions.", 163*d0a3df88SSandipan Das "MetricExpr": "ls_any_fills_from_sys.remote_cache / instructions", 164*d0a3df88SSandipan Das "MetricGroup": "l1_dcache", 165*d0a3df88SSandipan Das "ScaleUnit": "1e3per_1k_instr" 166*d0a3df88SSandipan Das }, 167*d0a3df88SSandipan Das { 168*d0a3df88SSandipan Das "MetricName": "all_l1_data_cache_fills_pti", 169*d0a3df88SSandipan Das "BriefDescription": "All L1 data cache fills per thousand instructions.", 170*d0a3df88SSandipan Das "MetricExpr": "ls_any_fills_from_sys.all / instructions", 171*d0a3df88SSandipan Das "MetricGroup": "l1_dcache", 172*d0a3df88SSandipan Das "ScaleUnit": "1e3per_1k_instr" 173*d0a3df88SSandipan Das }, 174*d0a3df88SSandipan Das { 175*d0a3df88SSandipan Das "MetricName": "l1_demand_data_cache_fills_from_local_l2_pti", 176*d0a3df88SSandipan Das "BriefDescription": "L1 demand data cache fills from local L2 cache per thousand instructions.", 177*d0a3df88SSandipan Das "MetricExpr": "ls_dmnd_fills_from_sys.local_l2 / instructions", 178*d0a3df88SSandipan Das "MetricGroup": "l1_dcache", 179*d0a3df88SSandipan Das "ScaleUnit": "1e3per_1k_instr" 180*d0a3df88SSandipan Das }, 181*d0a3df88SSandipan Das { 182*d0a3df88SSandipan Das "MetricName": "l1_demand_data_cache_fills_from_same_ccx_pti", 183*d0a3df88SSandipan Das "BriefDescription": "L1 demand data cache fills from within the same CCX per thousand instructions.", 184*d0a3df88SSandipan Das "MetricExpr": "ls_dmnd_fills_from_sys.local_ccx / instructions", 185*d0a3df88SSandipan Das "MetricGroup": "l1_dcache", 186*d0a3df88SSandipan Das "ScaleUnit": "1e3per_1k_instr" 187*d0a3df88SSandipan Das }, 188*d0a3df88SSandipan Das { 189*d0a3df88SSandipan Das "MetricName": "l1_demand_data_cache_fills_from_near_cache_pti", 190*d0a3df88SSandipan Das "BriefDescription": "L1 demand data cache fills from another CCX cache in the same NUMA node per thousand instructions.", 191*d0a3df88SSandipan Das "MetricExpr": "ls_dmnd_fills_from_sys.near_cache / instructions", 192*d0a3df88SSandipan Das "MetricGroup": "l1_dcache", 193*d0a3df88SSandipan Das "ScaleUnit": "1e3per_1k_instr" 194*d0a3df88SSandipan Das }, 195*d0a3df88SSandipan Das { 196*d0a3df88SSandipan Das "MetricName": "l1_demand_data_cache_fills_from_near_memory_pti", 197*d0a3df88SSandipan Das "BriefDescription": "L1 demand data cache fills from DRAM or MMIO in the same NUMA node per thousand instructions.", 198*d0a3df88SSandipan Das "MetricExpr": "ls_dmnd_fills_from_sys.dram_io_near / instructions", 199*d0a3df88SSandipan Das "MetricGroup": "l1_dcache", 200*d0a3df88SSandipan Das "ScaleUnit": "1e3per_1k_instr" 201*d0a3df88SSandipan Das }, 202*d0a3df88SSandipan Das { 203*d0a3df88SSandipan Das "MetricName": "l1_demand_data_cache_fills_from_far_cache_pti", 204*d0a3df88SSandipan Das "BriefDescription": "L1 demand data cache fills from another CCX cache in a different NUMA node per thousand instructions.", 205*d0a3df88SSandipan Das "MetricExpr": "ls_dmnd_fills_from_sys.far_cache / instructions", 206*d0a3df88SSandipan Das "MetricGroup": "l1_dcache", 207*d0a3df88SSandipan Das "ScaleUnit": "1e3per_1k_instr" 208*d0a3df88SSandipan Das }, 209*d0a3df88SSandipan Das { 210*d0a3df88SSandipan Das "MetricName": "l1_demand_data_cache_fills_from_far_memory_pti", 211*d0a3df88SSandipan Das "BriefDescription": "L1 demand data cache fills from DRAM or MMIO in a different NUMA node per thousand instructions.", 212*d0a3df88SSandipan Das "MetricExpr": "ls_dmnd_fills_from_sys.dram_io_far / instructions", 213*d0a3df88SSandipan Das "MetricGroup": "l1_dcache", 214*d0a3df88SSandipan Das "ScaleUnit": "1e3per_1k_instr" 215*d0a3df88SSandipan Das }, 216*d0a3df88SSandipan Das { 217*d0a3df88SSandipan Das "MetricName": "l1_itlb_misses_pti", 218*d0a3df88SSandipan Das "BriefDescription": "L1 instruction TLB misses per thousand instructions.", 219*d0a3df88SSandipan Das "MetricExpr": "(bp_l1_tlb_miss_l2_tlb_hit + bp_l1_tlb_miss_l2_tlb_miss.all) / instructions", 220*d0a3df88SSandipan Das "MetricGroup": "tlb", 221*d0a3df88SSandipan Das "ScaleUnit": "1e3per_1k_instr" 222*d0a3df88SSandipan Das }, 223*d0a3df88SSandipan Das { 224*d0a3df88SSandipan Das "MetricName": "l2_itlb_misses_pti", 225*d0a3df88SSandipan Das "BriefDescription": "L2 instruction TLB misses and instruction page walks per thousand instructions.", 226*d0a3df88SSandipan Das "MetricExpr": "bp_l1_tlb_miss_l2_tlb_miss.all / instructions", 227*d0a3df88SSandipan Das "MetricGroup": "tlb", 228*d0a3df88SSandipan Das "ScaleUnit": "1e3per_1k_instr" 229*d0a3df88SSandipan Das }, 230*d0a3df88SSandipan Das { 231*d0a3df88SSandipan Das "MetricName": "l1_dtlb_misses_pti", 232*d0a3df88SSandipan Das "BriefDescription": "L1 data TLB misses per thousand instructions.", 233*d0a3df88SSandipan Das "MetricExpr": "ls_l1_d_tlb_miss.all / instructions", 234*d0a3df88SSandipan Das "MetricGroup": "tlb", 235*d0a3df88SSandipan Das "ScaleUnit": "1e3per_1k_instr" 236*d0a3df88SSandipan Das }, 237*d0a3df88SSandipan Das { 238*d0a3df88SSandipan Das "MetricName": "l2_dtlb_misses_pti", 239*d0a3df88SSandipan Das "BriefDescription": "L2 data TLB misses and data page walks per thousand instructions.", 240*d0a3df88SSandipan Das "MetricExpr": "ls_l1_d_tlb_miss.l2_miss_all / instructions", 241*d0a3df88SSandipan Das "MetricGroup": "tlb", 242*d0a3df88SSandipan Das "ScaleUnit": "1e3per_1k_instr" 243*d0a3df88SSandipan Das }, 244*d0a3df88SSandipan Das { 245*d0a3df88SSandipan Das "MetricName": "all_tlbs_flushed_pti", 246*d0a3df88SSandipan Das "BriefDescription": "All TLBs flushed per thousand instructions.", 247*d0a3df88SSandipan Das "MetricExpr": "ls_tlb_flush.all / instructions", 248*d0a3df88SSandipan Das "MetricGroup": "tlb", 249*d0a3df88SSandipan Das "ScaleUnit": "1e3per_1k_instr" 250*d0a3df88SSandipan Das }, 251*d0a3df88SSandipan Das { 252*d0a3df88SSandipan Das "MetricName": "macro_ops_dispatched", 253*d0a3df88SSandipan Das "BriefDescription": "Macro-ops dispatched.", 254*d0a3df88SSandipan Das "MetricExpr": "de_src_op_disp.all", 255*d0a3df88SSandipan Das "MetricGroup": "decoder" 256*d0a3df88SSandipan Das }, 257*d0a3df88SSandipan Das { 258*d0a3df88SSandipan Das "MetricName": "sse_avx_stalls", 259*d0a3df88SSandipan Das "BriefDescription": "Mixed SSE/AVX stalls.", 260*d0a3df88SSandipan Das "MetricExpr": "fp_disp_faults.sse_avx_all" 261*d0a3df88SSandipan Das }, 262*d0a3df88SSandipan Das { 263*d0a3df88SSandipan Das "MetricName": "macro_ops_retired", 264*d0a3df88SSandipan Das "BriefDescription": "Macro-ops retired.", 265*d0a3df88SSandipan Das "MetricExpr": "ex_ret_ops" 266*d0a3df88SSandipan Das }, 267*d0a3df88SSandipan Das { 268*d0a3df88SSandipan Das "MetricName": "umc_data_bus_utilization", 269*d0a3df88SSandipan Das "BriefDescription": "Memory controller data bus utilization.", 270*d0a3df88SSandipan Das "MetricExpr": "d_ratio(umc_data_slot_clks.all / 2, umc_mem_clk)", 271*d0a3df88SSandipan Das "MetricGroup": "memory_controller", 272*d0a3df88SSandipan Das "PerPkg": "1", 273*d0a3df88SSandipan Das "ScaleUnit": "100%" 274*d0a3df88SSandipan Das }, 275*d0a3df88SSandipan Das { 276*d0a3df88SSandipan Das "MetricName": "umc_cas_cmd_rate", 277*d0a3df88SSandipan Das "BriefDescription": "Memory controller CAS command rate.", 278*d0a3df88SSandipan Das "MetricExpr": "d_ratio(umc_cas_cmd.all * 1000, umc_mem_clk)", 279*d0a3df88SSandipan Das "MetricGroup": "memory_controller", 280*d0a3df88SSandipan Das "PerPkg": "1", 281*d0a3df88SSandipan Das "ScaleUnit": "1per_memclk" 282*d0a3df88SSandipan Das }, 283*d0a3df88SSandipan Das { 284*d0a3df88SSandipan Das "MetricName": "umc_cas_cmd_read_ratio", 285*d0a3df88SSandipan Das "BriefDescription": "Ratio of memory controller CAS commands for reads.", 286*d0a3df88SSandipan Das "MetricExpr": "d_ratio(umc_cas_cmd.rd, umc_cas_cmd.all)", 287*d0a3df88SSandipan Das "MetricGroup": "memory_controller", 288*d0a3df88SSandipan Das "PerPkg": "1", 289*d0a3df88SSandipan Das "ScaleUnit": "100%" 290*d0a3df88SSandipan Das }, 291*d0a3df88SSandipan Das { 292*d0a3df88SSandipan Das "MetricName": "umc_cas_cmd_write_ratio", 293*d0a3df88SSandipan Das "BriefDescription": "Ratio of memory controller CAS commands for writes.", 294*d0a3df88SSandipan Das "MetricExpr": "d_ratio(umc_cas_cmd.wr, umc_cas_cmd.all)", 295*d0a3df88SSandipan Das "MetricGroup": "memory_controller", 296*d0a3df88SSandipan Das "PerPkg": "1", 297*d0a3df88SSandipan Das "ScaleUnit": "100%" 298*d0a3df88SSandipan Das }, 299*d0a3df88SSandipan Das { 300*d0a3df88SSandipan Das "MetricName": "umc_mem_read_bandwidth", 301*d0a3df88SSandipan Das "BriefDescription": "Estimated memory read bandwidth.", 302*d0a3df88SSandipan Das "MetricExpr": "(umc_cas_cmd.rd * 64) / 1e6 / duration_time", 303*d0a3df88SSandipan Das "MetricGroup": "memory_controller", 304*d0a3df88SSandipan Das "PerPkg": "1", 305*d0a3df88SSandipan Das "ScaleUnit": "1MB/s" 306*d0a3df88SSandipan Das }, 307*d0a3df88SSandipan Das { 308*d0a3df88SSandipan Das "MetricName": "umc_mem_write_bandwidth", 309*d0a3df88SSandipan Das "BriefDescription": "Estimated memory write bandwidth.", 310*d0a3df88SSandipan Das "MetricExpr": "(umc_cas_cmd.wr * 64) / 1e6 / duration_time", 311*d0a3df88SSandipan Das "MetricGroup": "memory_controller", 312*d0a3df88SSandipan Das "PerPkg": "1", 313*d0a3df88SSandipan Das "ScaleUnit": "1MB/s" 314*d0a3df88SSandipan Das }, 315*d0a3df88SSandipan Das { 316*d0a3df88SSandipan Das "MetricName": "umc_mem_bandwidth", 317*d0a3df88SSandipan Das "BriefDescription": "Estimated combined memory bandwidth.", 318*d0a3df88SSandipan Das "MetricExpr": "(umc_cas_cmd.all * 64) / 1e6 / duration_time", 319*d0a3df88SSandipan Das "MetricGroup": "memory_controller", 320*d0a3df88SSandipan Das "PerPkg": "1", 321*d0a3df88SSandipan Das "ScaleUnit": "1MB/s" 322*d0a3df88SSandipan Das }, 323*d0a3df88SSandipan Das { 324*d0a3df88SSandipan Das "MetricName": "umc_activate_cmd_rate", 325*d0a3df88SSandipan Das "BriefDescription": "Memory controller ACTIVATE command rate.", 326*d0a3df88SSandipan Das "MetricExpr": "d_ratio(umc_act_cmd.all * 1000, umc_mem_clk)", 327*d0a3df88SSandipan Das "MetricGroup": "memory_controller", 328*d0a3df88SSandipan Das "PerPkg": "1", 329*d0a3df88SSandipan Das "ScaleUnit": "1per_memclk" 330*d0a3df88SSandipan Das }, 331*d0a3df88SSandipan Das { 332*d0a3df88SSandipan Das "MetricName": "umc_precharge_cmd_rate", 333*d0a3df88SSandipan Das "BriefDescription": "Memory controller PRECHARGE command rate.", 334*d0a3df88SSandipan Das "MetricExpr": "d_ratio(umc_pchg_cmd.all * 1000, umc_mem_clk)", 335*d0a3df88SSandipan Das "MetricGroup": "memory_controller", 336*d0a3df88SSandipan Das "PerPkg": "1", 337*d0a3df88SSandipan Das "ScaleUnit": "1per_memclk" 338*d0a3df88SSandipan Das } 339*d0a3df88SSandipan Das] 340