162306a36Sopenharmony_ci[ 262306a36Sopenharmony_ci { 362306a36Sopenharmony_ci "MetricName": "total_dispatch_slots", 462306a36Sopenharmony_ci "BriefDescription": "Total dispatch slots (upto 6 instructions can be dispatched in each cycle).", 562306a36Sopenharmony_ci "MetricExpr": "6 * ls_not_halted_cyc" 662306a36Sopenharmony_ci }, 762306a36Sopenharmony_ci { 862306a36Sopenharmony_ci "MetricName": "frontend_bound", 962306a36Sopenharmony_ci "BriefDescription": "Fraction of dispatch slots that remained unused because the frontend did not supply enough instructions/ops.", 1062306a36Sopenharmony_ci "MetricExpr": "d_ratio(de_no_dispatch_per_slot.no_ops_from_frontend, total_dispatch_slots)", 1162306a36Sopenharmony_ci "MetricGroup": "PipelineL1", 1262306a36Sopenharmony_ci "ScaleUnit": "100%" 1362306a36Sopenharmony_ci }, 1462306a36Sopenharmony_ci { 1562306a36Sopenharmony_ci "MetricName": "bad_speculation", 1662306a36Sopenharmony_ci "BriefDescription": "Fraction of dispatched ops that did not retire.", 1762306a36Sopenharmony_ci "MetricExpr": "d_ratio(de_src_op_disp.all - ex_ret_ops, total_dispatch_slots)", 1862306a36Sopenharmony_ci "MetricGroup": "PipelineL1", 1962306a36Sopenharmony_ci "ScaleUnit": "100%" 2062306a36Sopenharmony_ci }, 2162306a36Sopenharmony_ci { 2262306a36Sopenharmony_ci "MetricName": "backend_bound", 2362306a36Sopenharmony_ci "BriefDescription": "Fraction of dispatch slots that remained unused because of backend stalls.", 2462306a36Sopenharmony_ci "MetricExpr": "d_ratio(de_no_dispatch_per_slot.backend_stalls, total_dispatch_slots)", 2562306a36Sopenharmony_ci "MetricGroup": "PipelineL1", 2662306a36Sopenharmony_ci "ScaleUnit": "100%" 2762306a36Sopenharmony_ci }, 2862306a36Sopenharmony_ci { 2962306a36Sopenharmony_ci "MetricName": "smt_contention", 3062306a36Sopenharmony_ci "BriefDescription": "Fraction of dispatch slots that remained unused because the other thread was selected.", 3162306a36Sopenharmony_ci "MetricExpr": "d_ratio(de_no_dispatch_per_slot.smt_contention, total_dispatch_slots)", 3262306a36Sopenharmony_ci "MetricGroup": "PipelineL1", 3362306a36Sopenharmony_ci "ScaleUnit": "100%" 3462306a36Sopenharmony_ci }, 3562306a36Sopenharmony_ci { 3662306a36Sopenharmony_ci "MetricName": "retiring", 3762306a36Sopenharmony_ci "BriefDescription": "Fraction of dispatch slots used by ops that retired.", 3862306a36Sopenharmony_ci "MetricExpr": "d_ratio(ex_ret_ops, total_dispatch_slots)", 3962306a36Sopenharmony_ci "MetricGroup": "PipelineL1", 4062306a36Sopenharmony_ci "ScaleUnit": "100%" 4162306a36Sopenharmony_ci }, 4262306a36Sopenharmony_ci { 4362306a36Sopenharmony_ci "MetricName": "frontend_bound_latency", 4462306a36Sopenharmony_ci "BriefDescription": "Fraction of dispatch slots that remained unused because of a latency bottleneck in the frontend (such as instruction cache or TLB misses).", 4562306a36Sopenharmony_ci "MetricExpr": "d_ratio((6 * cpu@de_no_dispatch_per_slot.no_ops_from_frontend\\,cmask\\=0x6@), total_dispatch_slots)", 4662306a36Sopenharmony_ci "MetricGroup": "PipelineL2;frontend_bound_group", 4762306a36Sopenharmony_ci "ScaleUnit": "100%" 4862306a36Sopenharmony_ci }, 4962306a36Sopenharmony_ci { 5062306a36Sopenharmony_ci "MetricName": "frontend_bound_bandwidth", 5162306a36Sopenharmony_ci "BriefDescription": "Fraction of dispatch slots that remained unused because of a bandwidth bottleneck in the frontend (such as decode or op cache fetch bandwidth).", 5262306a36Sopenharmony_ci "MetricExpr": "d_ratio(de_no_dispatch_per_slot.no_ops_from_frontend - (6 * cpu@de_no_dispatch_per_slot.no_ops_from_frontend\\,cmask\\=0x6@), total_dispatch_slots)", 5362306a36Sopenharmony_ci "MetricGroup": "PipelineL2;frontend_bound_group", 5462306a36Sopenharmony_ci "ScaleUnit": "100%" 5562306a36Sopenharmony_ci }, 5662306a36Sopenharmony_ci { 5762306a36Sopenharmony_ci "MetricName": "bad_speculation_mispredicts", 5862306a36Sopenharmony_ci "BriefDescription": "Fraction of dispatched ops that were flushed due to branch mispredicts.", 5962306a36Sopenharmony_ci "MetricExpr": "d_ratio(bad_speculation * ex_ret_brn_misp, ex_ret_brn_misp + resyncs_or_nc_redirects)", 6062306a36Sopenharmony_ci "MetricGroup": "PipelineL2;bad_speculation_group", 6162306a36Sopenharmony_ci "ScaleUnit": "100%" 6262306a36Sopenharmony_ci }, 6362306a36Sopenharmony_ci { 6462306a36Sopenharmony_ci "MetricName": "bad_speculation_pipeline_restarts", 6562306a36Sopenharmony_ci "BriefDescription": "Fraction of dispatched ops that were flushed due to pipeline restarts (resyncs).", 6662306a36Sopenharmony_ci "MetricExpr": "d_ratio(bad_speculation * resyncs_or_nc_redirects, ex_ret_brn_misp + resyncs_or_nc_redirects)", 6762306a36Sopenharmony_ci "MetricGroup": "PipelineL2;bad_speculation_group", 6862306a36Sopenharmony_ci "ScaleUnit": "100%" 6962306a36Sopenharmony_ci }, 7062306a36Sopenharmony_ci { 7162306a36Sopenharmony_ci "MetricName": "backend_bound_memory", 7262306a36Sopenharmony_ci "BriefDescription": "Fraction of dispatch slots that remained unused because of stalls due to the memory subsystem.", 7362306a36Sopenharmony_ci "MetricExpr": "backend_bound * d_ratio(ex_no_retire.load_not_complete, ex_no_retire.not_complete)", 7462306a36Sopenharmony_ci "MetricGroup": "PipelineL2;backend_bound_group", 7562306a36Sopenharmony_ci "ScaleUnit": "100%" 7662306a36Sopenharmony_ci }, 7762306a36Sopenharmony_ci { 7862306a36Sopenharmony_ci "MetricName": "backend_bound_cpu", 7962306a36Sopenharmony_ci "BriefDescription": "Fraction of dispatch slots that remained unused because of stalls not related to the memory subsystem.", 8062306a36Sopenharmony_ci "MetricExpr": "backend_bound * (1 - d_ratio(ex_no_retire.load_not_complete, ex_no_retire.not_complete))", 8162306a36Sopenharmony_ci "MetricGroup": "PipelineL2;backend_bound_group", 8262306a36Sopenharmony_ci "ScaleUnit": "100%" 8362306a36Sopenharmony_ci }, 8462306a36Sopenharmony_ci { 8562306a36Sopenharmony_ci "MetricName": "retiring_fastpath", 8662306a36Sopenharmony_ci "BriefDescription": "Fraction of dispatch slots used by fastpath ops that retired.", 8762306a36Sopenharmony_ci "MetricExpr": "retiring * (1 - d_ratio(ex_ret_ucode_ops, ex_ret_ops))", 8862306a36Sopenharmony_ci "MetricGroup": "PipelineL2;retiring_group", 8962306a36Sopenharmony_ci "ScaleUnit": "100%" 9062306a36Sopenharmony_ci }, 9162306a36Sopenharmony_ci { 9262306a36Sopenharmony_ci "MetricName": "retiring_microcode", 9362306a36Sopenharmony_ci "BriefDescription": "Fraction of dispatch slots used by microcode ops that retired.", 9462306a36Sopenharmony_ci "MetricExpr": "retiring * d_ratio(ex_ret_ucode_ops, ex_ret_ops)", 9562306a36Sopenharmony_ci "MetricGroup": "PipelineL2;retiring_group", 9662306a36Sopenharmony_ci "ScaleUnit": "100%" 9762306a36Sopenharmony_ci } 9862306a36Sopenharmony_ci] 99