193 lines
6.3 KiB
JSON
193 lines
6.3 KiB
JSON
[
|
|
{
|
|
"EventName": "ex_ret_instr",
|
|
"EventCode": "0xc0",
|
|
"BriefDescription": "Retired instructions."
|
|
},
|
|
{
|
|
"EventName": "ex_ret_ops",
|
|
"EventCode": "0xc1",
|
|
"BriefDescription": "Retired macro-ops."
|
|
},
|
|
{
|
|
"EventName": "ex_ret_brn",
|
|
"EventCode": "0xc2",
|
|
"BriefDescription": "Retired branch instructions (all types of architectural control flow changes, including exceptions and interrupts)."
|
|
},
|
|
{
|
|
"EventName": "ex_ret_brn_misp",
|
|
"EventCode": "0xc3",
|
|
"BriefDescription": "Retired branch instructions that were mispredicted."
|
|
},
|
|
{
|
|
"EventName": "ex_ret_brn_tkn",
|
|
"EventCode": "0xc4",
|
|
"BriefDescription": "Retired taken branch instructions (all types of architectural control flow changes, including exceptions and interrupts)."
|
|
},
|
|
{
|
|
"EventName": "ex_ret_brn_tkn_misp",
|
|
"EventCode": "0xc5",
|
|
"BriefDescription": "Retired taken branch instructions that were mispredicted."
|
|
},
|
|
{
|
|
"EventName": "ex_ret_brn_far",
|
|
"EventCode": "0xc6",
|
|
"BriefDescription": "Retired far control transfers (far call, far jump, far return, IRET, SYSCALL and SYSRET, plus exceptions and interrupts). Far control transfers are not subject to branch prediction."
|
|
},
|
|
{
|
|
"EventName": "ex_ret_near_ret",
|
|
"EventCode": "0xc8",
|
|
"BriefDescription": "Retired near returns (RET or RET Iw)."
|
|
},
|
|
{
|
|
"EventName": "ex_ret_near_ret_mispred",
|
|
"EventCode": "0xc9",
|
|
"BriefDescription": "Retired near returns that were mispredicted. Each misprediction incurs the same penalty as that of a mispredicted conditional branch instruction."
|
|
},
|
|
{
|
|
"EventName": "ex_ret_brn_ind_misp",
|
|
"EventCode": "0xca",
|
|
"BriefDescription": "Retired indirect branch instructions that were mispredicted (only EX mispredicts). Each misprediction incurs the same penalty as that of a mispredicted conditional branch instruction."
|
|
},
|
|
{
|
|
"EventName": "ex_ret_brn_ind",
|
|
"EventCode": "0xcc",
|
|
"BriefDescription": "Retired indirect branch instructions."
|
|
},
|
|
{
|
|
"EventName": "ex_ret_brn_cond",
|
|
"EventCode": "0xd1",
|
|
"BriefDescription": "Retired conditional branch instructions."
|
|
},
|
|
{
|
|
"EventName": "ex_div_busy",
|
|
"EventCode": "0xd3",
|
|
"BriefDescription": "Cycles where the divider is busy."
|
|
},
|
|
{
|
|
"EventName": "ex_div_count",
|
|
"EventCode": "0xd4",
|
|
"BriefDescription": "Divide ops executed."
|
|
},
|
|
{
|
|
"EventName": "ex_no_retire.empty",
|
|
"EventCode": "0xd6",
|
|
"BriefDescription": "Cycles where the thread does not retire any ops due to a lack of valid ops in the retire queue (may be caused by front-end bottlenecks or pipeline redirects).",
|
|
"UMask": "0x01"
|
|
},
|
|
{
|
|
"EventName": "ex_no_retire.not_complete",
|
|
"EventCode": "0xd6",
|
|
"BriefDescription": "Cycles where the thread does not retire any ops as the oldest retire slot is waiting to be marked as completed.",
|
|
"UMask": "0x02"
|
|
},
|
|
{
|
|
"EventName": "ex_no_retire.other",
|
|
"EventCode": "0xd6",
|
|
"BriefDescription": "Cycles where the thread does not retire any ops due to other reasons (retire breaks, traps, faults, etc.).",
|
|
"UMask": "0x08"
|
|
},
|
|
{
|
|
"EventName": "ex_no_retire.thread_not_selected",
|
|
"EventCode": "0xd6",
|
|
"BriefDescription": "Cycles where the thread does not retire any ops as thread arbitration did not select the current thread.",
|
|
"UMask": "0x10"
|
|
},
|
|
{
|
|
"EventName": "ex_no_retire.load_not_complete",
|
|
"EventCode": "0xd6",
|
|
"BriefDescription": "Cycles where the thread does not retire any ops due to missing load completion.",
|
|
"UMask": "0xa2"
|
|
},
|
|
{
|
|
"EventName": "ex_ret_ucode_instr",
|
|
"EventCode": "0x1c1",
|
|
"BriefDescription": "Retired microcoded instructions."
|
|
},
|
|
{
|
|
"EventName": "ex_ret_ucode_ops",
|
|
"EventCode": "0x1c2",
|
|
"BriefDescription": "Retired microcode ops."
|
|
},
|
|
{
|
|
"EventName": "ex_ret_brn_cond_misp",
|
|
"EventCode": "0x1c7",
|
|
"BriefDescription": "Retired conditional branch instructions that were mispredicted due to direction mismatch."
|
|
},
|
|
{
|
|
"EventName": "ex_ret_brn_uncond_ind_near_misp",
|
|
"EventCode": "0x1c8",
|
|
"BriefDescription": "Retired unconditional indirect near branch instructions that were mispredicted."
|
|
},
|
|
{
|
|
"EventName": "ex_ret_brn_uncond",
|
|
"EventCode": "0x1c9",
|
|
"BriefDescription": "Retired unconditional branch instructions."
|
|
},
|
|
{
|
|
"EventName": "ex_tagged_ibs_ops.tagged",
|
|
"EventCode": "0x1cf",
|
|
"BriefDescription": "Execution IBS tagged ops.",
|
|
"UMask": "0x01"
|
|
},
|
|
{
|
|
"EventName": "ex_tagged_ibs_ops.tagged_ret",
|
|
"EventCode": "0x1cf",
|
|
"BriefDescription": "Execution IBS tagged ops that retired.",
|
|
"UMask": "0x02"
|
|
},
|
|
{
|
|
"EventName": "ex_tagged_ibs_ops.rollovers",
|
|
"EventCode": "0x1cf",
|
|
"BriefDescription": "Execution IBS periodic counter rollovers due to a previous tagged op not being IBS complete.",
|
|
"UMask": "0x04"
|
|
},
|
|
{
|
|
"EventName": "ex_tagged_ibs_ops.filtered",
|
|
"EventCode": "0x1cf",
|
|
"BriefDescription": "Execution IBS tagged ops that retired but were discarded due to IBS filtering.",
|
|
"UMask": "0x08"
|
|
},
|
|
{
|
|
"EventName": "ex_tagged_ibs_ops.valid",
|
|
"EventCode": "0x1cf",
|
|
"BriefDescription": "Execution IBS tagged ops that resulted in a valid sample and an IBS interrupt.",
|
|
"UMask": "0x10"
|
|
},
|
|
{
|
|
"EventName": "ex_ret_fused_instr",
|
|
"EventCode": "0x1d0",
|
|
"BriefDescription": "Retired fused instructions."
|
|
},
|
|
{
|
|
"EventName": "ex_mprof_ibs_ops.tagged",
|
|
"EventCode": "0x2c0",
|
|
"BriefDescription": "Memory Profiler IBS tagged ops.",
|
|
"UMask": "0x01"
|
|
},
|
|
{
|
|
"EventName": "ex_mprof_ibs_ops.tagged_ret",
|
|
"EventCode": "0x2c0",
|
|
"BriefDescription": "Memory Profiler IBS tagged ops that retired.",
|
|
"UMask": "0x02"
|
|
},
|
|
{
|
|
"EventName": "ex_mprof_ibs_ops.rollovers",
|
|
"EventCode": "0x2c0",
|
|
"BriefDescription": "Memory Profiler IBS periodic counter rollovers due to a previous tagged op not being IBS complete.",
|
|
"UMask": "0x04"
|
|
},
|
|
{
|
|
"EventName": "ex_mprof_ibs_ops.filtered",
|
|
"EventCode": "0x2c0",
|
|
"BriefDescription": "Memory Profiler IBS tagged ops that retired but were discarded due to IBS filtering.",
|
|
"UMask": "0x08"
|
|
},
|
|
{
|
|
"EventName": "ex_mprof_ibs_ops.valid",
|
|
"EventCode": "0x2c0",
|
|
"BriefDescription": "Memory Profiler IBS tagged ops that resulted in a valid sample and an IBS interrupt.",
|
|
"UMask": "0x10"
|
|
}
|
|
]
|