| [ |
| { |
| "EventCode": "0x00", |
| "Counter": "Fixed counter 1", |
| "UMask": "0x1", |
| "EventName": "INST_RETIRED.ANY", |
| "SampleAfterValue": "2000003", |
| "BriefDescription": "Instructions retired from execution.", |
| "CounterHTOff": "Fixed counter 1" |
| }, |
| { |
| "EventCode": "0x00", |
| "Counter": "Fixed counter 2", |
| "UMask": "0x2", |
| "EventName": "CPU_CLK_UNHALTED.THREAD", |
| "SampleAfterValue": "2000003", |
| "BriefDescription": "Core cycles when the thread is not in halt state.", |
| "CounterHTOff": "Fixed counter 2" |
| }, |
| { |
| "EventCode": "0x00", |
| "Counter": "Fixed counter 3", |
| "UMask": "0x3", |
| "EventName": "CPU_CLK_UNHALTED.REF_TSC", |
| "SampleAfterValue": "2000003", |
| "BriefDescription": "Reference cycles when the core is not in halt state.", |
| "CounterHTOff": "Fixed counter 3" |
| }, |
| { |
| "PublicDescription": "Loads blocked by overlapping with store buffer that cannot be forwarded.", |
| "EventCode": "0x03", |
| "Counter": "0,1,2,3", |
| "UMask": "0x2", |
| "EventName": "LD_BLOCKS.STORE_FORWARD", |
| "SampleAfterValue": "100003", |
| "BriefDescription": "Cases when loads get true Block-on-Store blocking code preventing store forwarding", |
| "CounterHTOff": "0,1,2,3,4,5,6,7" |
| }, |
| { |
| "PublicDescription": "The number of times that split load operations are temporarily blocked because all resources for handling the split accesses are in use.", |
| "EventCode": "0x03", |
| "Counter": "0,1,2,3", |
| "UMask": "0x8", |
| "EventName": "LD_BLOCKS.NO_SR", |
| "SampleAfterValue": "100003", |
| "BriefDescription": "This event counts the number of times that split load operations are temporarily blocked because all resources for handling the split accesses are in use.", |
| "CounterHTOff": "0,1,2,3,4,5,6,7" |
| }, |
| { |
| "PublicDescription": "False dependencies in MOB due to partial compare on address.", |
| "EventCode": "0x07", |
| "Counter": "0,1,2,3", |
| "UMask": "0x1", |
| "EventName": "LD_BLOCKS_PARTIAL.ADDRESS_ALIAS", |
| "SampleAfterValue": "100003", |
| "BriefDescription": "False dependencies in MOB due to partial compare on address", |
| "CounterHTOff": "0,1,2,3,4,5,6,7" |
| }, |
| { |
| "EventCode": "0x0D", |
| "Counter": "0,1,2,3", |
| "UMask": "0x3", |
| "EventName": "INT_MISC.RECOVERY_CYCLES", |
| "SampleAfterValue": "2000003", |
| "BriefDescription": "Number of cycles waiting for the checkpoints in Resource Allocation Table (RAT) to be recovered after Nuke due to all other cases except JEClear (e.g. whenever a ucode assist is needed like SSE exception, memory disambiguation, etc.)", |
| "CounterMask": "1", |
| "CounterHTOff": "0,1,2,3,4,5,6,7" |
| }, |
| { |
| "EventCode": "0x0D", |
| "Counter": "0,1,2,3", |
| "UMask": "0x3", |
| "EdgeDetect": "1", |
| "EventName": "INT_MISC.RECOVERY_STALLS_COUNT", |
| "SampleAfterValue": "2000003", |
| "BriefDescription": "Number of occurences waiting for the checkpoints in Resource Allocation Table (RAT) to be recovered after Nuke due to all other cases except JEClear (e.g. whenever a ucode assist is needed like SSE exception, memory disambiguation, etc.)", |
| "CounterMask": "1", |
| "CounterHTOff": "0,1,2,3,4,5,6,7" |
| }, |
| { |
| "PublicDescription": "Increments each cycle the # of Uops issued by the RAT to RS. Set Cmask = 1, Inv = 1, Any= 1to count stalled cycles of this core.", |
| "EventCode": "0x0E", |
| "Counter": "0,1,2,3", |
| "UMask": "0x1", |
| "EventName": "UOPS_ISSUED.ANY", |
| "SampleAfterValue": "2000003", |
| "BriefDescription": "Uops that Resource Allocation Table (RAT) issues to Reservation Station (RS)", |
| "CounterHTOff": "0,1,2,3,4,5,6,7" |
| }, |
| { |
| "PublicDescription": "Cycles when Resource Allocation Table (RAT) does not issue Uops to Reservation Station (RS) for the thread.", |
| "EventCode": "0x0E", |
| "Invert": "1", |
| "Counter": "0,1,2,3", |
| "UMask": "0x1", |
| "EventName": "UOPS_ISSUED.STALL_CYCLES", |
| "SampleAfterValue": "2000003", |
| "BriefDescription": "Cycles when Resource Allocation Table (RAT) does not issue Uops to Reservation Station (RS) for the thread", |
| "CounterMask": "1", |
| "CounterHTOff": "0,1,2,3" |
| }, |
| { |
| "PublicDescription": "Cycles when Resource Allocation Table (RAT) does not issue Uops to Reservation Station (RS) for all threads.", |
| "EventCode": "0x0E", |
| "Invert": "1", |
| "Counter": "0,1,2,3", |
| "UMask": "0x1", |
| "AnyThread": "1", |
| "EventName": "UOPS_ISSUED.CORE_STALL_CYCLES", |
| "SampleAfterValue": "2000003", |
| "BriefDescription": "Cycles when Resource Allocation Table (RAT) does not issue Uops to Reservation Station (RS) for all threads", |
| "CounterMask": "1", |
| "CounterHTOff": "0,1,2,3" |
| }, |
| { |
| "PublicDescription": "Number of flags-merge uops allocated. Such uops adds delay.", |
| "EventCode": "0x0E", |
| "Counter": "0,1,2,3", |
| "UMask": "0x10", |
| "EventName": "UOPS_ISSUED.FLAGS_MERGE", |
| "SampleAfterValue": "2000003", |
| "BriefDescription": "Number of flags-merge uops being allocated.", |
| "CounterHTOff": "0,1,2,3,4,5,6,7" |
| }, |
| { |
| "PublicDescription": "Number of slow LEA or similar uops allocated. Such uop has 3 sources (e.g. 2 sources + immediate) regardless if as a result of LEA instruction or not.", |
| "EventCode": "0x0E", |
| "Counter": "0,1,2,3", |
| "UMask": "0x20", |
| "EventName": "UOPS_ISSUED.SLOW_LEA", |
| "SampleAfterValue": "2000003", |
| "BriefDescription": "Number of slow LEA uops being allocated. A uop is generally considered SlowLea if it has 3 sources (e.g. 2 sources + immediate) regardless if as a result of LEA instruction or not.", |
| "CounterHTOff": "0,1,2,3,4,5,6,7" |
| }, |
| { |
| "PublicDescription": "Number of multiply packed/scalar single precision uops allocated.", |
| "EventCode": "0x0E", |
| "Counter": "0,1,2,3", |
| "UMask": "0x40", |
| "EventName": "UOPS_ISSUED.SINGLE_MUL", |
| "SampleAfterValue": "2000003", |
| "BriefDescription": "Number of Multiply packed/scalar single precision uops allocated", |
| "CounterHTOff": "0,1,2,3,4,5,6,7" |
| }, |
| { |
| "PublicDescription": "Cycles that the divider is active, includes INT and FP. Set 'edge =1, cmask=1' to count the number of divides.", |
| "EventCode": "0x14", |
| "Counter": "0,1,2,3", |
| "UMask": "0x1", |
| "EventName": "ARITH.FPU_DIV_ACTIVE", |
| "SampleAfterValue": "2000003", |
| "BriefDescription": "Cycles when divider is busy executing divide operations", |
| "CounterHTOff": "0,1,2,3,4,5,6,7" |
| }, |
| { |
| "PublicDescription": "Divide operations executed.", |
| "EventCode": "0x14", |
| "Counter": "0,1,2,3", |
| "UMask": "0x4", |
| "EdgeDetect": "1", |
| "EventName": "ARITH.FPU_DIV", |
| "SampleAfterValue": "100003", |
| "BriefDescription": "Divide operations executed", |
| "CounterMask": "1", |
| "CounterHTOff": "0,1,2,3,4,5,6,7" |
| }, |
| { |
| "PublicDescription": "Counts the number of thread cycles while the thread is not in a halt state. The thread enters the halt state when it is running the HLT instruction. The core frequency may change from time to time due to power or thermal throttling.", |
| "EventCode": "0x3C", |
| "Counter": "0,1,2,3", |
| "UMask": "0x0", |
| "EventName": "CPU_CLK_UNHALTED.THREAD_P", |
| "SampleAfterValue": "2000003", |
| "BriefDescription": "Thread cycles when thread is not in halt state", |
| "CounterHTOff": "0,1,2,3,4,5,6,7" |
| }, |
| { |
| "PublicDescription": "Increments at the frequency of XCLK (100 MHz) when not halted.", |
| "EventCode": "0x3C", |
| "Counter": "0,1,2,3", |
| "UMask": "0x1", |
| "EventName": "CPU_CLK_THREAD_UNHALTED.REF_XCLK", |
| "SampleAfterValue": "2000003", |
| "BriefDescription": "Reference cycles when the thread is unhalted (counts at 100 MHz rate)", |
| "CounterHTOff": "0,1,2,3,4,5,6,7" |
| }, |
| { |
| "EventCode": "0x3C", |
| "Counter": "0,1,2,3", |
| "UMask": "0x2", |
| "EventName": "CPU_CLK_THREAD_UNHALTED.ONE_THREAD_ACTIVE", |
| "SampleAfterValue": "2000003", |
| "BriefDescription": "Count XClk pulses when this thread is unhalted and the other is halted.", |
| "CounterHTOff": "0,1,2,3" |
| }, |
| { |
| "PublicDescription": "Non-SW-prefetch load dispatches that hit fill buffer allocated for S/W prefetch.", |
| "EventCode": "0x4C", |
| "Counter": "0,1,2,3", |
| "UMask": "0x1", |
| "EventName": "LOAD_HIT_PRE.SW_PF", |
| "SampleAfterValue": "100003", |
| "BriefDescription": "Not software-prefetch load dispatches that hit FB allocated for software prefetch", |
| "CounterHTOff": "0,1,2,3,4,5,6,7" |
| }, |
| { |
| "PublicDescription": "Non-SW-prefetch load dispatches that hit fill buffer allocated for H/W prefetch.", |
| "EventCode": "0x4C", |
| "Counter": "0,1,2,3", |
| "UMask": "0x2", |
| "EventName": "LOAD_HIT_PRE.HW_PF", |
| "SampleAfterValue": "100003", |
| "BriefDescription": "Not software-prefetch load dispatches that hit FB allocated for hardware prefetch", |
| "CounterHTOff": "0,1,2,3,4,5,6,7" |
| }, |
| { |
| "EventCode": "0x58", |
| "Counter": "0,1,2,3", |
| "UMask": "0x4", |
| "EventName": "MOVE_ELIMINATION.INT_NOT_ELIMINATED", |
| "SampleAfterValue": "1000003", |
| "BriefDescription": "Number of integer Move Elimination candidate uops that were not eliminated.", |
| "CounterHTOff": "0,1,2,3,4,5,6,7" |
| }, |
| { |
| "EventCode": "0x58", |
| "Counter": "0,1,2,3", |
| "UMask": "0x8", |
| "EventName": "MOVE_ELIMINATION.SIMD_NOT_ELIMINATED", |
| "SampleAfterValue": "1000003", |
| "BriefDescription": "Number of SIMD Move Elimination candidate uops that were not eliminated.", |
| "CounterHTOff": "0,1,2,3,4,5,6,7" |
| }, |
| { |
| "EventCode": "0x58", |
| "Counter": "0,1,2,3", |
| "UMask": "0x1", |
| "EventName": "MOVE_ELIMINATION.INT_ELIMINATED", |
| "SampleAfterValue": "1000003", |
| "BriefDescription": "Number of integer Move Elimination candidate uops that were eliminated.", |
| "CounterHTOff": "0,1,2,3,4,5,6,7" |
| }, |
| { |
| "EventCode": "0x58", |
| "Counter": "0,1,2,3", |
| "UMask": "0x2", |
| "EventName": "MOVE_ELIMINATION.SIMD_ELIMINATED", |
| "SampleAfterValue": "1000003", |
| "BriefDescription": "Number of SIMD Move Elimination candidate uops that were eliminated.", |
| "CounterHTOff": "0,1,2,3,4,5,6,7" |
| }, |
| { |
| "PublicDescription": "Cycles the RS is empty for the thread.", |
| "EventCode": "0x5E", |
| "Counter": "0,1,2,3", |
| "UMask": "0x1", |
| "EventName": "RS_EVENTS.EMPTY_CYCLES", |
| "SampleAfterValue": "2000003", |
| "BriefDescription": "Cycles when Reservation Station (RS) is empty for the thread", |
| "CounterHTOff": "0,1,2,3,4,5,6,7" |
| }, |
| { |
| "EventCode": "0x87", |
| "Counter": "0,1,2,3", |
| "UMask": "0x1", |
| "EventName": "ILD_STALL.LCP", |
| "SampleAfterValue": "2000003", |
| "BriefDescription": "Stalls caused by changing prefix length of the instruction.", |
| "CounterHTOff": "0,1,2,3,4,5,6,7" |
| }, |
| { |
| "PublicDescription": "Stall cycles due to IQ is full.", |
| "EventCode": "0x87", |
| "Counter": "0,1,2,3", |
| "UMask": "0x4", |
| "EventName": "ILD_STALL.IQ_FULL", |
| "SampleAfterValue": "2000003", |
| "BriefDescription": "Stall cycles because IQ is full", |
| "CounterHTOff": "0,1,2,3,4,5,6,7" |
| }, |
| { |
| "PublicDescription": "Not taken macro-conditional branches.", |
| "EventCode": "0x88", |
| "Counter": "0,1,2,3", |
| "UMask": "0x41", |
| "EventName": "BR_INST_EXEC.NONTAKEN_CONDITIONAL", |
| "SampleAfterValue": "200003", |
| "BriefDescription": "Not taken macro-conditional branches", |
| "CounterHTOff": "0,1,2,3,4,5,6,7" |
| }, |
| { |
| "PublicDescription": "Taken speculative and retired macro-conditional branches.", |
| "EventCode": "0x88", |
| "Counter": "0,1,2,3", |
| "UMask": "0x81", |
| "EventName": "BR_INST_EXEC.TAKEN_CONDITIONAL", |
| "SampleAfterValue": "200003", |
| "BriefDescription": "Taken speculative and retired macro-conditional branches", |
| "CounterHTOff": "0,1,2,3,4,5,6,7" |
| }, |
| { |
| "PublicDescription": "Taken speculative and retired macro-conditional branch instructions excluding calls and indirects.", |
| "EventCode": "0x88", |
| "Counter": "0,1,2,3", |
| "UMask": "0x82", |
| "EventName": "BR_INST_EXEC.TAKEN_DIRECT_JUMP", |
| "SampleAfterValue": "200003", |
| "BriefDescription": "Taken speculative and retired macro-conditional branch instructions excluding calls and indirects", |
| "CounterHTOff": "0,1,2,3,4,5,6,7" |
| }, |
| { |
| "PublicDescription": "Taken speculative and retired indirect branches excluding calls and returns.", |
| "EventCode": "0x88", |
| "Counter": "0,1,2,3", |
| "UMask": "0x84", |
| "EventName": "BR_INST_EXEC.TAKEN_INDIRECT_JUMP_NON_CALL_RET", |
| "SampleAfterValue": "200003", |
| "BriefDescription": "Taken speculative and retired indirect branches excluding calls and returns", |
| "CounterHTOff": "0,1,2,3,4,5,6,7" |
| }, |
| { |
| "PublicDescription": "Taken speculative and retired indirect branches with return mnemonic.", |
| "EventCode": "0x88", |
| "Counter": "0,1,2,3", |
| "UMask": "0x88", |
| "EventName": "BR_INST_EXEC.TAKEN_INDIRECT_NEAR_RETURN", |
| "SampleAfterValue": "200003", |
| "BriefDescription": "Taken speculative and retired indirect branches with return mnemonic", |
| "CounterHTOff": "0,1,2,3,4,5,6,7" |
| }, |
| { |
| "PublicDescription": "Taken speculative and retired direct near calls.", |
| "EventCode": "0x88", |
| "Counter": "0,1,2,3", |
| "UMask": "0x90", |
| "EventName": "BR_INST_EXEC.TAKEN_DIRECT_NEAR_CALL", |
| "SampleAfterValue": "200003", |
| "BriefDescription": "Taken speculative and retired direct near calls", |
| "CounterHTOff": "0,1,2,3,4,5,6,7" |
| }, |
| { |
| "PublicDescription": "Taken speculative and retired indirect calls.", |
| "EventCode": "0x88", |
| "Counter": "0,1,2,3", |
| "UMask": "0xa0", |
| "EventName": "BR_INST_EXEC.TAKEN_INDIRECT_NEAR_CALL", |
| "SampleAfterValue": "200003", |
| "BriefDescription": "Taken speculative and retired indirect calls", |
| "CounterHTOff": "0,1,2,3,4,5,6,7" |
| }, |
| { |
| "PublicDescription": "Speculative and retired macro-conditional branches.", |
| "EventCode": "0x88", |
| "Counter": "0,1,2,3", |
| "UMask": "0xc1", |
| "EventName": "BR_INST_EXEC.ALL_CONDITIONAL", |
| "SampleAfterValue": "200003", |
| "BriefDescription": "Speculative and retired macro-conditional branches", |
| "CounterHTOff": "0,1,2,3,4,5,6,7" |
| }, |
| { |
| "PublicDescription": "Speculative and retired macro-unconditional branches excluding calls and indirects.", |
| "EventCode": "0x88", |
| "Counter": "0,1,2,3", |
| "UMask": "0xc2", |
| "EventName": "BR_INST_EXEC.ALL_DIRECT_JMP", |
| "SampleAfterValue": "200003", |
| "BriefDescription": "Speculative and retired macro-unconditional branches excluding calls and indirects", |
| "CounterHTOff": "0,1,2,3,4,5,6,7" |
| }, |
| { |
| "PublicDescription": "Speculative and retired indirect branches excluding calls and returns.", |
| "EventCode": "0x88", |
| "Counter": "0,1,2,3", |
| "UMask": "0xc4", |
| "EventName": "BR_INST_EXEC.ALL_INDIRECT_JUMP_NON_CALL_RET", |
| "SampleAfterValue": "200003", |
| "BriefDescription": "Speculative and retired indirect branches excluding calls and returns", |
| "CounterHTOff": "0,1,2,3,4,5,6,7" |
| }, |
| { |
| "EventCode": "0x88", |
| "Counter": "0,1,2,3", |
| "UMask": "0xc8", |
| "EventName": "BR_INST_EXEC.ALL_INDIRECT_NEAR_RETURN", |
| "SampleAfterValue": "200003", |
| "BriefDescription": "Speculative and retired indirect return branches.", |
| "CounterHTOff": "0,1,2,3,4,5,6,7" |
| }, |
| { |
| "PublicDescription": "Speculative and retired direct near calls.", |
| "EventCode": "0x88", |
| "Counter": "0,1,2,3", |
| "UMask": "0xd0", |
| "EventName": "BR_INST_EXEC.ALL_DIRECT_NEAR_CALL", |
| "SampleAfterValue": "200003", |
| "BriefDescription": "Speculative and retired direct near calls", |
| "CounterHTOff": "0,1,2,3,4,5,6,7" |
| }, |
| { |
| "PublicDescription": "Counts all near executed branches (not necessarily retired).", |
| "EventCode": "0x88", |
| "Counter": "0,1,2,3", |
| "UMask": "0xff", |
| "EventName": "BR_INST_EXEC.ALL_BRANCHES", |
| "SampleAfterValue": "200003", |
| "BriefDescription": "Speculative and retired branches", |
| "CounterHTOff": "0,1,2,3,4,5,6,7" |
| }, |
| { |
| "PublicDescription": "Not taken speculative and retired mispredicted macro conditional branches.", |
| "EventCode": "0x89", |
| "Counter": "0,1,2,3", |
| "UMask": "0x41", |
| "EventName": "BR_MISP_EXEC.NONTAKEN_CONDITIONAL", |
| "SampleAfterValue": "200003", |
| "BriefDescription": "Not taken speculative and retired mispredicted macro conditional branches", |
| "CounterHTOff": "0,1,2,3,4,5,6,7" |
| }, |
| { |
| "PublicDescription": "Taken speculative and retired mispredicted macro conditional branches.", |
| "EventCode": "0x89", |
| "Counter": "0,1,2,3", |
| "UMask": "0x81", |
| "EventName": "BR_MISP_EXEC.TAKEN_CONDITIONAL", |
| "SampleAfterValue": "200003", |
| "BriefDescription": "Taken speculative and retired mispredicted macro conditional branches", |
| "CounterHTOff": "0,1,2,3,4,5,6,7" |
| }, |
| { |
| "PublicDescription": "Taken speculative and retired mispredicted indirect branches excluding calls and returns.", |
| "EventCode": "0x89", |
| "Counter": "0,1,2,3", |
| "UMask": "0x84", |
| "EventName": "BR_MISP_EXEC.TAKEN_INDIRECT_JUMP_NON_CALL_RET", |
| "SampleAfterValue": "200003", |
| "BriefDescription": "Taken speculative and retired mispredicted indirect branches excluding calls and returns", |
| "CounterHTOff": "0,1,2,3,4,5,6,7" |
| }, |
| { |
| "PublicDescription": "Taken speculative and retired mispredicted indirect branches with return mnemonic.", |
| "EventCode": "0x89", |
| "Counter": "0,1,2,3", |
| "UMask": "0x88", |
| "EventName": "BR_MISP_EXEC.TAKEN_RETURN_NEAR", |
| "SampleAfterValue": "200003", |
| "BriefDescription": "Taken speculative and retired mispredicted indirect branches with return mnemonic", |
| "CounterHTOff": "0,1,2,3,4,5,6,7" |
| }, |
| { |
| "PublicDescription": "Taken speculative and retired mispredicted indirect calls.", |
| "EventCode": "0x89", |
| "Counter": "0,1,2,3", |
| "UMask": "0xa0", |
| "EventName": "BR_MISP_EXEC.TAKEN_INDIRECT_NEAR_CALL", |
| "SampleAfterValue": "200003", |
| "BriefDescription": "Taken speculative and retired mispredicted indirect calls", |
| "CounterHTOff": "0,1,2,3,4,5,6,7" |
| }, |
| { |
| "PublicDescription": "Speculative and retired mispredicted macro conditional branches.", |
| "EventCode": "0x89", |
| "Counter": "0,1,2,3", |
| "UMask": "0xc1", |
| "EventName": "BR_MISP_EXEC.ALL_CONDITIONAL", |
| "SampleAfterValue": "200003", |
| "BriefDescription": "Speculative and retired mispredicted macro conditional branches", |
| "CounterHTOff": "0,1,2,3,4,5,6,7" |
| }, |
| { |
| "PublicDescription": "Mispredicted indirect branches excluding calls and returns.", |
| "EventCode": "0x89", |
| "Counter": "0,1,2,3", |
| "UMask": "0xc4", |
| "EventName": "BR_MISP_EXEC.ALL_INDIRECT_JUMP_NON_CALL_RET", |
| "SampleAfterValue": "200003", |
| "BriefDescription": "Mispredicted indirect branches excluding calls and returns", |
| "CounterHTOff": "0,1,2,3,4,5,6,7" |
| }, |
| { |
| "PublicDescription": "Counts all near executed branches (not necessarily retired).", |
| "EventCode": "0x89", |
| "Counter": "0,1,2,3", |
| "UMask": "0xff", |
| "EventName": "BR_MISP_EXEC.ALL_BRANCHES", |
| "SampleAfterValue": "200003", |
| "BriefDescription": "Speculative and retired mispredicted macro conditional branches", |
| "CounterHTOff": "0,1,2,3,4,5,6,7" |
| }, |
| { |
| "PublicDescription": "Cycles which a Uop is dispatched on port 0.", |
| "EventCode": "0xA1", |
| "Counter": "0,1,2,3", |
| "UMask": "0x1", |
| "EventName": "UOPS_DISPATCHED_PORT.PORT_0", |
| "SampleAfterValue": "2000003", |
| "BriefDescription": "Cycles per thread when uops are dispatched to port 0", |
| "CounterHTOff": "0,1,2,3,4,5,6,7" |
| }, |
| { |
| "PublicDescription": "Cycles which a Uop is dispatched on port 1.", |
| "EventCode": "0xA1", |
| "Counter": "0,1,2,3", |
| "UMask": "0x2", |
| "EventName": "UOPS_DISPATCHED_PORT.PORT_1", |
| "SampleAfterValue": "2000003", |
| "BriefDescription": "Cycles per thread when uops are dispatched to port 1", |
| "CounterHTOff": "0,1,2,3,4,5,6,7" |
| }, |
| { |
| "PublicDescription": "Cycles which a Uop is dispatched on port 4.", |
| "EventCode": "0xA1", |
| "Counter": "0,1,2,3", |
| "UMask": "0x40", |
| "EventName": "UOPS_DISPATCHED_PORT.PORT_4", |
| "SampleAfterValue": "2000003", |
| "BriefDescription": "Cycles per thread when uops are dispatched to port 4", |
| "CounterHTOff": "0,1,2,3,4,5,6,7" |
| }, |
| { |
| "PublicDescription": "Cycles which a Uop is dispatched on port 5.", |
| "EventCode": "0xA1", |
| "Counter": "0,1,2,3", |
| "UMask": "0x80", |
| "EventName": "UOPS_DISPATCHED_PORT.PORT_5", |
| "SampleAfterValue": "2000003", |
| "BriefDescription": "Cycles per thread when uops are dispatched to port 5", |
| "CounterHTOff": "0,1,2,3,4,5,6,7" |
| }, |
| { |
| "PublicDescription": "Cycles per core when uops are dispatched to port 0.", |
| "EventCode": "0xA1", |
| "Counter": "0,1,2,3", |
| "UMask": "0x1", |
| "AnyThread": "1", |
| "EventName": "UOPS_DISPATCHED_PORT.PORT_0_CORE", |
| "SampleAfterValue": "2000003", |
| "BriefDescription": "Cycles per core when uops are dispatched to port 0", |
| "CounterHTOff": "0,1,2,3,4,5,6,7" |
| }, |
| { |
| "PublicDescription": "Cycles per core when uops are dispatched to port 1.", |
| "EventCode": "0xA1", |
| "Counter": "0,1,2,3", |
| "UMask": "0x2", |
| "AnyThread": "1", |
| "EventName": "UOPS_DISPATCHED_PORT.PORT_1_CORE", |
| "SampleAfterValue": "2000003", |
| "BriefDescription": "Cycles per core when uops are dispatched to port 1", |
| "CounterHTOff": "0,1,2,3,4,5,6,7" |
| }, |
| { |
| "PublicDescription": "Cycles per core when uops are dispatched to port 4.", |
| "EventCode": "0xA1", |
| "Counter": "0,1,2,3", |
| "UMask": "0x40", |
| "AnyThread": "1", |
| "EventName": "UOPS_DISPATCHED_PORT.PORT_4_CORE", |
| "SampleAfterValue": "2000003", |
| "BriefDescription": "Cycles per core when uops are dispatched to port 4", |
| "CounterHTOff": "0,1,2,3,4,5,6,7" |
| }, |
| { |
| "PublicDescription": "Cycles per core when uops are dispatched to port 5.", |
| "EventCode": "0xA1", |
| "Counter": "0,1,2,3", |
| "UMask": "0x80", |
| "AnyThread": "1", |
| "EventName": "UOPS_DISPATCHED_PORT.PORT_5_CORE", |
| "SampleAfterValue": "2000003", |
| "BriefDescription": "Cycles per core when uops are dispatched to port 5", |
| "CounterHTOff": "0,1,2,3,4,5,6,7" |
| }, |
| { |
| "PublicDescription": "Cycles which a Uop is dispatched on port 2.", |
| "EventCode": "0xA1", |
| "Counter": "0,1,2,3", |
| "UMask": "0xc", |
| "EventName": "UOPS_DISPATCHED_PORT.PORT_2", |
| "SampleAfterValue": "2000003", |
| "BriefDescription": "Cycles per thread when load or STA uops are dispatched to port 2", |
| "CounterHTOff": "0,1,2,3,4,5,6,7" |
| }, |
| { |
| "PublicDescription": "Cycles which a Uop is dispatched on port 3.", |
| "EventCode": "0xA1", |
| "Counter": "0,1,2,3", |
| "UMask": "0x30", |
| "EventName": "UOPS_DISPATCHED_PORT.PORT_3", |
| "SampleAfterValue": "2000003", |
| "BriefDescription": "Cycles per thread when load or STA uops are dispatched to port 3", |
| "CounterHTOff": "0,1,2,3,4,5,6,7" |
| }, |
| { |
| "EventCode": "0xA1", |
| "Counter": "0,1,2,3", |
| "UMask": "0xc", |
| "AnyThread": "1", |
| "EventName": "UOPS_DISPATCHED_PORT.PORT_2_CORE", |
| "SampleAfterValue": "2000003", |
| "BriefDescription": "Uops dispatched to port 2, loads and stores per core (speculative and retired).", |
| "CounterHTOff": "0,1,2,3,4,5,6,7" |
| }, |
| { |
| "PublicDescription": "Cycles per core when load or STA uops are dispatched to port 3.", |
| "EventCode": "0xA1", |
| "Counter": "0,1,2,3", |
| "UMask": "0x30", |
| "AnyThread": "1", |
| "EventName": "UOPS_DISPATCHED_PORT.PORT_3_CORE", |
| "SampleAfterValue": "2000003", |
| "BriefDescription": "Cycles per core when load or STA uops are dispatched to port 3", |
| "CounterHTOff": "0,1,2,3,4,5,6,7" |
| }, |
| { |
| "PublicDescription": "Cycles Allocation is stalled due to Resource Related reason.", |
| "EventCode": "0xA2", |
| "Counter": "0,1,2,3", |
| "UMask": "0x1", |
| "EventName": "RESOURCE_STALLS.ANY", |
| "SampleAfterValue": "2000003", |
| "BriefDescription": "Resource-related stall cycles", |
| "CounterHTOff": "0,1,2,3,4,5,6,7" |
| }, |
| { |
| "EventCode": "0xA2", |
| "Counter": "0,1,2,3", |
| "UMask": "0x4", |
| "EventName": "RESOURCE_STALLS.RS", |
| "SampleAfterValue": "2000003", |
| "BriefDescription": "Cycles stalled due to no eligible RS entry available.", |
| "CounterHTOff": "0,1,2,3,4,5,6,7" |
| }, |
| { |
| "PublicDescription": "Cycles stalled due to no store buffers available (not including draining form sync).", |
| "EventCode": "0xA2", |
| "Counter": "0,1,2,3", |
| "UMask": "0x8", |
| "EventName": "RESOURCE_STALLS.SB", |
| "SampleAfterValue": "2000003", |
| "BriefDescription": "Cycles stalled due to no store buffers available. (not including draining form sync).", |
| "CounterHTOff": "0,1,2,3,4,5,6,7" |
| }, |
| { |
| "EventCode": "0xA2", |
| "Counter": "0,1,2,3", |
| "UMask": "0x10", |
| "EventName": "RESOURCE_STALLS.ROB", |
| "SampleAfterValue": "2000003", |
| "BriefDescription": "Cycles stalled due to re-order buffer full.", |
| "CounterHTOff": "0,1,2,3,4,5,6,7" |
| }, |
| { |
| "PublicDescription": "Cycles with pending L2 miss loads. Set AnyThread to count per core.", |
| "EventCode": "0xA3", |
| "Counter": "0,1,2,3", |
| "UMask": "0x1", |
| "EventName": "CYCLE_ACTIVITY.CYCLES_L2_PENDING", |
| "SampleAfterValue": "2000003", |
| "BriefDescription": "Cycles with pending L2 cache miss loads.", |
| "CounterMask": "1", |
| "CounterHTOff": "0,1,2,3,4,5,6,7" |
| }, |
| { |
| "PublicDescription": "Cycles with pending L1 cache miss loads. Set AnyThread to count per core.", |
| "EventCode": "0xA3", |
| "Counter": "2", |
| "UMask": "0x8", |
| "EventName": "CYCLE_ACTIVITY.CYCLES_L1D_PENDING", |
| "SampleAfterValue": "2000003", |
| "BriefDescription": "Cycles with pending L1 cache miss loads.", |
| "CounterMask": "8", |
| "CounterHTOff": "2" |
| }, |
| { |
| "PublicDescription": "Cycles with pending memory loads. Set AnyThread to count per core.", |
| "EventCode": "0xA3", |
| "Counter": "0,1,2,3", |
| "UMask": "0x2", |
| "EventName": "CYCLE_ACTIVITY.CYCLES_LDM_PENDING", |
| "SampleAfterValue": "2000003", |
| "BriefDescription": "Cycles with pending memory loads.", |
| "CounterMask": "2", |
| "CounterHTOff": "0,1,2,3" |
| }, |
| { |
| "PublicDescription": "Total execution stalls.", |
| "EventCode": "0xA3", |
| "Counter": "0,1,2,3", |
| "UMask": "0x4", |
| "EventName": "CYCLE_ACTIVITY.CYCLES_NO_EXECUTE", |
| "SampleAfterValue": "2000003", |
| "BriefDescription": "Total execution stalls", |
| "CounterMask": "4", |
| "CounterHTOff": "0,1,2,3" |
| }, |
| { |
| "PublicDescription": "Number of loads missed L2.", |
| "EventCode": "0xA3", |
| "Counter": "0,1,2,3", |
| "UMask": "0x5", |
| "EventName": "CYCLE_ACTIVITY.STALLS_L2_PENDING", |
| "SampleAfterValue": "2000003", |
| "BriefDescription": "Execution stalls due to L2 cache misses.", |
| "CounterMask": "5", |
| "CounterHTOff": "0,1,2,3" |
| }, |
| { |
| "EventCode": "0xA3", |
| "Counter": "0,1,2,3", |
| "UMask": "0x6", |
| "EventName": "CYCLE_ACTIVITY.STALLS_LDM_PENDING", |
| "SampleAfterValue": "2000003", |
| "BriefDescription": "Execution stalls due to memory subsystem.", |
| "CounterMask": "6", |
| "CounterHTOff": "0,1,2,3" |
| }, |
| { |
| "PublicDescription": "Execution stalls due to L1 data cache miss loads. Set Cmask=0CH.", |
| "EventCode": "0xA3", |
| "Counter": "2", |
| "UMask": "0xc", |
| "EventName": "CYCLE_ACTIVITY.STALLS_L1D_PENDING", |
| "SampleAfterValue": "2000003", |
| "BriefDescription": "Execution stalls due to L1 data cache misses", |
| "CounterMask": "12", |
| "CounterHTOff": "2" |
| }, |
| { |
| "EventCode": "0xA8", |
| "Counter": "0,1,2,3", |
| "UMask": "0x1", |
| "EventName": "LSD.UOPS", |
| "SampleAfterValue": "2000003", |
| "BriefDescription": "Number of Uops delivered by the LSD.", |
| "CounterHTOff": "0,1,2,3,4,5,6,7" |
| }, |
| { |
| "PublicDescription": "Cycles Uops delivered by the LSD, but didn't come from the decoder.", |
| "EventCode": "0xA8", |
| "Counter": "0,1,2,3", |
| "UMask": "0x1", |
| "EventName": "LSD.CYCLES_ACTIVE", |
| "SampleAfterValue": "2000003", |
| "BriefDescription": "Cycles Uops delivered by the LSD, but didn't come from the decoder", |
| "CounterMask": "1", |
| "CounterHTOff": "0,1,2,3,4,5,6,7" |
| }, |
| { |
| "PublicDescription": "Counts total number of uops to be executed per-thread each cycle. Set Cmask = 1, INV =1 to count stall cycles.", |
| "EventCode": "0xB1", |
| "Counter": "0,1,2,3", |
| "UMask": "0x1", |
| "EventName": "UOPS_EXECUTED.THREAD", |
| "SampleAfterValue": "2000003", |
| "BriefDescription": "Counts the number of uops to be executed per-thread each cycle.", |
| "CounterHTOff": "0,1,2,3,4,5,6,7" |
| }, |
| { |
| "PublicDescription": "Counts total number of uops to be executed per-core each cycle.", |
| "EventCode": "0xB1", |
| "Counter": "0,1,2,3", |
| "UMask": "0x2", |
| "EventName": "UOPS_EXECUTED.CORE", |
| "SampleAfterValue": "2000003", |
| "BriefDescription": "Number of uops executed on the core.", |
| "CounterHTOff": "0,1,2,3,4,5,6,7" |
| }, |
| { |
| "EventCode": "0xB1", |
| "Invert": "1", |
| "Counter": "0,1,2,3", |
| "UMask": "0x1", |
| "EventName": "UOPS_EXECUTED.STALL_CYCLES", |
| "SampleAfterValue": "2000003", |
| "BriefDescription": "Counts number of cycles no uops were dispatched to be executed on this thread.", |
| "CounterMask": "1", |
| "CounterHTOff": "0,1,2,3" |
| }, |
| { |
| "PublicDescription": "Number of instructions at retirement.", |
| "EventCode": "0xC0", |
| "Counter": "0,1,2,3", |
| "UMask": "0x0", |
| "EventName": "INST_RETIRED.ANY_P", |
| "SampleAfterValue": "2000003", |
| "BriefDescription": "Number of instructions retired. General Counter - architectural event", |
| "CounterHTOff": "0,1,2,3,4,5,6,7" |
| }, |
| { |
| "PEBS": "2", |
| "PublicDescription": "Precise instruction retired event with HW to reduce effect of PEBS shadow in IP distribution.", |
| "EventCode": "0xC0", |
| "Counter": "1", |
| "UMask": "0x1", |
| "EventName": "INST_RETIRED.PREC_DIST", |
| "SampleAfterValue": "2000003", |
| "BriefDescription": "Precise instruction retired event with HW to reduce effect of PEBS shadow in IP distribution", |
| "CounterHTOff": "1" |
| }, |
| { |
| "EventCode": "0xC1", |
| "Counter": "0,1,2,3", |
| "UMask": "0x80", |
| "EventName": "OTHER_ASSISTS.ANY_WB_ASSIST", |
| "SampleAfterValue": "100003", |
| "BriefDescription": "Number of times any microcode assist is invoked by HW upon uop writeback.", |
| "CounterHTOff": "0,1,2,3,4,5,6,7" |
| }, |
| { |
| "PEBS": "1", |
| "PublicDescription": "Counts the number of micro-ops retired, Use cmask=1 and invert to count active cycles or stalled cycles.", |
| "EventCode": "0xC2", |
| "Counter": "0,1,2,3", |
| "UMask": "0x1", |
| "EventName": "UOPS_RETIRED.ALL", |
| "SampleAfterValue": "2000003", |
| "BriefDescription": "Actually retired uops. ", |
| "CounterHTOff": "0,1,2,3,4,5,6,7" |
| }, |
| { |
| "PEBS": "1", |
| "PublicDescription": "Counts the number of retirement slots used each cycle.", |
| "EventCode": "0xC2", |
| "Counter": "0,1,2,3", |
| "UMask": "0x2", |
| "EventName": "UOPS_RETIRED.RETIRE_SLOTS", |
| "SampleAfterValue": "2000003", |
| "BriefDescription": "Retirement slots used. ", |
| "CounterHTOff": "0,1,2,3,4,5,6,7" |
| }, |
| { |
| "EventCode": "0xC2", |
| "Invert": "1", |
| "Counter": "0,1,2,3", |
| "UMask": "0x1", |
| "EventName": "UOPS_RETIRED.STALL_CYCLES", |
| "SampleAfterValue": "2000003", |
| "BriefDescription": "Cycles without actually retired uops.", |
| "CounterMask": "1", |
| "CounterHTOff": "0,1,2,3" |
| }, |
| { |
| "EventCode": "0xC2", |
| "Invert": "1", |
| "Counter": "0,1,2,3", |
| "UMask": "0x1", |
| "EventName": "UOPS_RETIRED.TOTAL_CYCLES", |
| "SampleAfterValue": "2000003", |
| "BriefDescription": "Cycles with less than 10 actually retired uops.", |
| "CounterMask": "10", |
| "CounterHTOff": "0,1,2,3" |
| }, |
| { |
| "EventCode": "0xC2", |
| "Invert": "1", |
| "Counter": "0,1,2,3", |
| "UMask": "0x1", |
| "AnyThread": "1", |
| "EventName": "UOPS_RETIRED.CORE_STALL_CYCLES", |
| "SampleAfterValue": "2000003", |
| "BriefDescription": "Cycles without actually retired uops.", |
| "CounterMask": "1", |
| "CounterHTOff": "0,1,2,3" |
| }, |
| { |
| "PublicDescription": "Number of self-modifying-code machine clears detected.", |
| "EventCode": "0xC3", |
| "Counter": "0,1,2,3", |
| "UMask": "0x4", |
| "EventName": "MACHINE_CLEARS.SMC", |
| "SampleAfterValue": "100003", |
| "BriefDescription": "Self-modifying code (SMC) detected.", |
| "CounterHTOff": "0,1,2,3,4,5,6,7" |
| }, |
| { |
| "PublicDescription": "Counts the number of executed AVX masked load operations that refer to an illegal address range with the mask bits set to 0.", |
| "EventCode": "0xC3", |
| "Counter": "0,1,2,3", |
| "UMask": "0x20", |
| "EventName": "MACHINE_CLEARS.MASKMOV", |
| "SampleAfterValue": "100003", |
| "BriefDescription": "This event counts the number of executed Intel AVX masked load operations that refer to an illegal address range with the mask bits set to 0. ", |
| "CounterHTOff": "0,1,2,3,4,5,6,7" |
| }, |
| { |
| "PEBS": "1", |
| "PublicDescription": "Counts the number of conditional branch instructions retired.", |
| "EventCode": "0xC4", |
| "Counter": "0,1,2,3", |
| "UMask": "0x1", |
| "EventName": "BR_INST_RETIRED.CONDITIONAL", |
| "SampleAfterValue": "400009", |
| "BriefDescription": "Conditional branch instructions retired. ", |
| "CounterHTOff": "0,1,2,3,4,5,6,7" |
| }, |
| { |
| "PEBS": "1", |
| "PublicDescription": "Direct and indirect near call instructions retired.", |
| "EventCode": "0xC4", |
| "Counter": "0,1,2,3", |
| "UMask": "0x2", |
| "EventName": "BR_INST_RETIRED.NEAR_CALL", |
| "SampleAfterValue": "100007", |
| "BriefDescription": "Direct and indirect near call instructions retired. ", |
| "CounterHTOff": "0,1,2,3,4,5,6,7" |
| }, |
| { |
| "PublicDescription": "Branch instructions at retirement.", |
| "EventCode": "0xC4", |
| "Counter": "0,1,2,3", |
| "UMask": "0x0", |
| "EventName": "BR_INST_RETIRED.ALL_BRANCHES", |
| "SampleAfterValue": "400009", |
| "BriefDescription": "All (macro) branch instructions retired.", |
| "CounterHTOff": "0,1,2,3,4,5,6,7" |
| }, |
| { |
| "PEBS": "1", |
| "PublicDescription": "Counts the number of near return instructions retired.", |
| "EventCode": "0xC4", |
| "Counter": "0,1,2,3", |
| "UMask": "0x8", |
| "EventName": "BR_INST_RETIRED.NEAR_RETURN", |
| "SampleAfterValue": "100007", |
| "BriefDescription": "Return instructions retired. ", |
| "CounterHTOff": "0,1,2,3,4,5,6,7" |
| }, |
| { |
| "PublicDescription": "Counts the number of not taken branch instructions retired.", |
| "EventCode": "0xC4", |
| "Counter": "0,1,2,3", |
| "UMask": "0x10", |
| "EventName": "BR_INST_RETIRED.NOT_TAKEN", |
| "SampleAfterValue": "400009", |
| "BriefDescription": "Not taken branch instructions retired. ", |
| "CounterHTOff": "0,1,2,3,4,5,6,7" |
| }, |
| { |
| "PEBS": "1", |
| "PublicDescription": "Number of near taken branches retired.", |
| "EventCode": "0xC4", |
| "Counter": "0,1,2,3", |
| "UMask": "0x20", |
| "EventName": "BR_INST_RETIRED.NEAR_TAKEN", |
| "SampleAfterValue": "400009", |
| "BriefDescription": "Taken branch instructions retired. ", |
| "CounterHTOff": "0,1,2,3,4,5,6,7" |
| }, |
| { |
| "PublicDescription": "Number of far branches retired.", |
| "EventCode": "0xC4", |
| "Counter": "0,1,2,3", |
| "UMask": "0x40", |
| "EventName": "BR_INST_RETIRED.FAR_BRANCH", |
| "SampleAfterValue": "100007", |
| "BriefDescription": "Far branch instructions retired. ", |
| "CounterHTOff": "0,1,2,3,4,5,6,7" |
| }, |
| { |
| "PEBS": "2", |
| "EventCode": "0xC4", |
| "Counter": "0,1,2,3", |
| "UMask": "0x4", |
| "EventName": "BR_INST_RETIRED.ALL_BRANCHES_PEBS", |
| "SampleAfterValue": "400009", |
| "BriefDescription": "All (macro) branch instructions retired.", |
| "CounterHTOff": "0,1,2,3" |
| }, |
| { |
| "PEBS": "1", |
| "PublicDescription": "Mispredicted conditional branch instructions retired.", |
| "EventCode": "0xC5", |
| "Counter": "0,1,2,3", |
| "UMask": "0x1", |
| "EventName": "BR_MISP_RETIRED.CONDITIONAL", |
| "SampleAfterValue": "400009", |
| "BriefDescription": "Mispredicted conditional branch instructions retired. ", |
| "CounterHTOff": "0,1,2,3,4,5,6,7" |
| }, |
| { |
| "PublicDescription": "Mispredicted branch instructions at retirement.", |
| "EventCode": "0xC5", |
| "Counter": "0,1,2,3", |
| "UMask": "0x0", |
| "EventName": "BR_MISP_RETIRED.ALL_BRANCHES", |
| "SampleAfterValue": "400009", |
| "BriefDescription": "All mispredicted macro branch instructions retired.", |
| "CounterHTOff": "0,1,2,3,4,5,6,7" |
| }, |
| { |
| "PEBS": "1", |
| "PublicDescription": "Mispredicted taken branch instructions retired.", |
| "EventCode": "0xC5", |
| "Counter": "0,1,2,3", |
| "UMask": "0x20", |
| "EventName": "BR_MISP_RETIRED.NEAR_TAKEN", |
| "SampleAfterValue": "400009", |
| "BriefDescription": "number of near branch instructions retired that were mispredicted and taken. ", |
| "CounterHTOff": "0,1,2,3,4,5,6,7" |
| }, |
| { |
| "PEBS": "2", |
| "EventCode": "0xC5", |
| "Counter": "0,1,2,3", |
| "UMask": "0x4", |
| "EventName": "BR_MISP_RETIRED.ALL_BRANCHES_PEBS", |
| "SampleAfterValue": "400009", |
| "BriefDescription": "Mispredicted macro branch instructions retired.", |
| "CounterHTOff": "0,1,2,3" |
| }, |
| { |
| "PublicDescription": "Count cases of saving new LBR records by hardware.", |
| "EventCode": "0xCC", |
| "Counter": "0,1,2,3", |
| "UMask": "0x20", |
| "EventName": "ROB_MISC_EVENTS.LBR_INSERTS", |
| "SampleAfterValue": "2000003", |
| "BriefDescription": "Count cases of saving new LBR", |
| "CounterHTOff": "0,1,2,3,4,5,6,7" |
| }, |
| { |
| "PublicDescription": "Number of front end re-steers due to BPU misprediction.", |
| "EventCode": "0xE6", |
| "Counter": "0,1,2,3", |
| "UMask": "0x1f", |
| "EventName": "BACLEARS.ANY", |
| "SampleAfterValue": "100003", |
| "BriefDescription": "Counts the total number when the front end is resteered, mainly when the BPU cannot provide a correct prediction and this is corrected by other branch handling mechanisms at the front end.", |
| "CounterHTOff": "0,1,2,3,4,5,6,7" |
| }, |
| { |
| "PublicDescription": "Cycles where at least 1 uop was executed per-thread.", |
| "EventCode": "0xB1", |
| "Counter": "0,1,2,3", |
| "UMask": "0x1", |
| "EventName": "UOPS_EXECUTED.CYCLES_GE_1_UOP_EXEC", |
| "SampleAfterValue": "2000003", |
| "BriefDescription": "Cycles where at least 1 uop was executed per-thread", |
| "CounterMask": "1", |
| "CounterHTOff": "0,1,2,3,4,5,6,7" |
| }, |
| { |
| "PublicDescription": "Cycles where at least 2 uops were executed per-thread.", |
| "EventCode": "0xB1", |
| "Counter": "0,1,2,3", |
| "UMask": "0x1", |
| "EventName": "UOPS_EXECUTED.CYCLES_GE_2_UOPS_EXEC", |
| "SampleAfterValue": "2000003", |
| "BriefDescription": "Cycles where at least 2 uops were executed per-thread", |
| "CounterMask": "2", |
| "CounterHTOff": "0,1,2,3,4,5,6,7" |
| }, |
| { |
| "PublicDescription": "Cycles where at least 3 uops were executed per-thread.", |
| "EventCode": "0xB1", |
| "Counter": "0,1,2,3", |
| "UMask": "0x1", |
| "EventName": "UOPS_EXECUTED.CYCLES_GE_3_UOPS_EXEC", |
| "SampleAfterValue": "2000003", |
| "BriefDescription": "Cycles where at least 3 uops were executed per-thread", |
| "CounterMask": "3", |
| "CounterHTOff": "0,1,2,3,4,5,6,7" |
| }, |
| { |
| "PublicDescription": "Cycles where at least 4 uops were executed per-thread.", |
| "EventCode": "0xB1", |
| "Counter": "0,1,2,3", |
| "UMask": "0x1", |
| "EventName": "UOPS_EXECUTED.CYCLES_GE_4_UOPS_EXEC", |
| "SampleAfterValue": "2000003", |
| "BriefDescription": "Cycles where at least 4 uops were executed per-thread", |
| "CounterMask": "4", |
| "CounterHTOff": "0,1,2,3,4,5,6,7" |
| }, |
| { |
| "EventCode": "0x5E", |
| "Invert": "1", |
| "Counter": "0,1,2,3", |
| "UMask": "0x1", |
| "EdgeDetect": "1", |
| "EventName": "RS_EVENTS.EMPTY_END", |
| "SampleAfterValue": "200003", |
| "BriefDescription": "Counts end of periods where the Reservation Station (RS) was empty. Could be useful to precisely locate Frontend Latency Bound issues.", |
| "CounterMask": "1", |
| "CounterHTOff": "0,1,2,3,4,5,6,7" |
| }, |
| { |
| "EventCode": "0xC3", |
| "Counter": "0,1,2,3", |
| "UMask": "0x1", |
| "EdgeDetect": "1", |
| "EventName": "MACHINE_CLEARS.COUNT", |
| "SampleAfterValue": "100003", |
| "BriefDescription": "Number of machine clears (nukes) of any type.", |
| "CounterMask": "1", |
| "CounterHTOff": "0,1,2,3,4,5,6,7" |
| }, |
| { |
| "PublicDescription": "Cycles 4 Uops delivered by the LSD, but didn't come from the decoder.", |
| "EventCode": "0xA8", |
| "Counter": "0,1,2,3", |
| "UMask": "0x1", |
| "EventName": "LSD.CYCLES_4_UOPS", |
| "SampleAfterValue": "2000003", |
| "BriefDescription": "Cycles 4 Uops delivered by the LSD, but didn't come from the decoder", |
| "CounterMask": "4", |
| "CounterHTOff": "0,1,2,3,4,5,6,7" |
| }, |
| { |
| "EventCode": "0xA3", |
| "Counter": "2", |
| "UMask": "0x8", |
| "EventName": "CYCLE_ACTIVITY.CYCLES_L1D_MISS", |
| "SampleAfterValue": "2000003", |
| "BriefDescription": "Cycles while L1 cache miss demand load is outstanding.", |
| "CounterMask": "8", |
| "CounterHTOff": "2" |
| }, |
| { |
| "EventCode": "0xA3", |
| "Counter": "0,1,2,3", |
| "UMask": "0x1", |
| "EventName": "CYCLE_ACTIVITY.CYCLES_L2_MISS", |
| "SampleAfterValue": "2000003", |
| "BriefDescription": "Cycles while L2 cache miss load* is outstanding.", |
| "CounterMask": "1", |
| "CounterHTOff": "0,1,2,3,4,5,6,7" |
| }, |
| { |
| "EventCode": "0xA3", |
| "Counter": "0,1,2,3", |
| "UMask": "0x2", |
| "EventName": "CYCLE_ACTIVITY.CYCLES_MEM_ANY", |
| "SampleAfterValue": "2000003", |
| "BriefDescription": "Cycles while memory subsystem has an outstanding load.", |
| "CounterMask": "2", |
| "CounterHTOff": "0,1,2,3" |
| }, |
| { |
| "EventCode": "0xA3", |
| "Counter": "0,1,2,3", |
| "UMask": "0x4", |
| "EventName": "CYCLE_ACTIVITY.STALLS_TOTAL", |
| "SampleAfterValue": "2000003", |
| "BriefDescription": "Total execution stalls.", |
| "CounterMask": "4", |
| "CounterHTOff": "0,1,2,3" |
| }, |
| { |
| "EventCode": "0xA3", |
| "Counter": "2", |
| "UMask": "0xc", |
| "EventName": "CYCLE_ACTIVITY.STALLS_L1D_MISS", |
| "SampleAfterValue": "2000003", |
| "BriefDescription": "Execution stalls while L1 cache miss demand load is outstanding.", |
| "CounterMask": "12", |
| "CounterHTOff": "2" |
| }, |
| { |
| "EventCode": "0xA3", |
| "Counter": "0,1,2,3", |
| "UMask": "0x5", |
| "EventName": "CYCLE_ACTIVITY.STALLS_L2_MISS", |
| "SampleAfterValue": "2000003", |
| "BriefDescription": "Execution stalls while L2 cache miss load* is outstanding.", |
| "CounterMask": "5", |
| "CounterHTOff": "0,1,2,3" |
| }, |
| { |
| "EventCode": "0xA3", |
| "Counter": "0,1,2,3", |
| "UMask": "0x6", |
| "EventName": "CYCLE_ACTIVITY.STALLS_MEM_ANY", |
| "SampleAfterValue": "2000003", |
| "BriefDescription": "Execution stalls while memory subsystem has an outstanding load.", |
| "CounterMask": "6", |
| "CounterHTOff": "0,1,2,3" |
| }, |
| { |
| "PublicDescription": "Core cycles when at least one thread on the physical core is not in halt state.", |
| "EventCode": "0x00", |
| "Counter": "Fixed counter 2", |
| "UMask": "0x2", |
| "AnyThread": "1", |
| "EventName": "CPU_CLK_UNHALTED.THREAD_ANY", |
| "SampleAfterValue": "2000003", |
| "BriefDescription": "Core cycles when at least one thread on the physical core is not in halt state", |
| "CounterHTOff": "Fixed counter 2" |
| }, |
| { |
| "PublicDescription": "Core cycles when at least one thread on the physical core is not in halt state.", |
| "EventCode": "0x3C", |
| "Counter": "0,1,2,3", |
| "UMask": "0x0", |
| "AnyThread": "1", |
| "EventName": "CPU_CLK_UNHALTED.THREAD_P_ANY", |
| "SampleAfterValue": "2000003", |
| "BriefDescription": "Core cycles when at least one thread on the physical core is not in halt state", |
| "CounterHTOff": "0,1,2,3,4,5,6,7" |
| }, |
| { |
| "EventCode": "0x3C", |
| "Counter": "0,1,2,3", |
| "UMask": "0x1", |
| "AnyThread": "1", |
| "EventName": "CPU_CLK_THREAD_UNHALTED.REF_XCLK_ANY", |
| "SampleAfterValue": "2000003", |
| "BriefDescription": "Reference cycles when the at least one thread on the physical core is unhalted. (counts at 100 MHz rate)", |
| "CounterHTOff": "0,1,2,3,4,5,6,7" |
| }, |
| { |
| "EventCode": "0x0D", |
| "Counter": "0,1,2,3", |
| "UMask": "0x3", |
| "AnyThread": "1", |
| "EventName": "INT_MISC.RECOVERY_CYCLES_ANY", |
| "SampleAfterValue": "2000003", |
| "BriefDescription": "Core cycles the allocator was stalled due to recovery from earlier clear event for any thread running on the physical core (e.g. misprediction or memory nuke).", |
| "CounterMask": "1", |
| "CounterHTOff": "0,1,2,3,4,5,6,7" |
| }, |
| { |
| "PublicDescription": "Cycles at least 1 micro-op is executed from any thread on physical core.", |
| "EventCode": "0xB1", |
| "Counter": "0,1,2,3", |
| "UMask": "0x2", |
| "EventName": "UOPS_EXECUTED.CORE_CYCLES_GE_1", |
| "SampleAfterValue": "2000003", |
| "BriefDescription": "Cycles at least 1 micro-op is executed from any thread on physical core", |
| "CounterMask": "1", |
| "CounterHTOff": "0,1,2,3,4,5,6,7" |
| }, |
| { |
| "PublicDescription": "Cycles at least 2 micro-op is executed from any thread on physical core.", |
| "EventCode": "0xB1", |
| "Counter": "0,1,2,3", |
| "UMask": "0x2", |
| "EventName": "UOPS_EXECUTED.CORE_CYCLES_GE_2", |
| "SampleAfterValue": "2000003", |
| "BriefDescription": "Cycles at least 2 micro-op is executed from any thread on physical core", |
| "CounterMask": "2", |
| "CounterHTOff": "0,1,2,3,4,5,6,7" |
| }, |
| { |
| "PublicDescription": "Cycles at least 3 micro-op is executed from any thread on physical core.", |
| "EventCode": "0xB1", |
| "Counter": "0,1,2,3", |
| "UMask": "0x2", |
| "EventName": "UOPS_EXECUTED.CORE_CYCLES_GE_3", |
| "SampleAfterValue": "2000003", |
| "BriefDescription": "Cycles at least 3 micro-op is executed from any thread on physical core", |
| "CounterMask": "3", |
| "CounterHTOff": "0,1,2,3,4,5,6,7" |
| }, |
| { |
| "PublicDescription": "Cycles at least 4 micro-op is executed from any thread on physical core.", |
| "EventCode": "0xB1", |
| "Counter": "0,1,2,3", |
| "UMask": "0x2", |
| "EventName": "UOPS_EXECUTED.CORE_CYCLES_GE_4", |
| "SampleAfterValue": "2000003", |
| "BriefDescription": "Cycles at least 4 micro-op is executed from any thread on physical core", |
| "CounterMask": "4", |
| "CounterHTOff": "0,1,2,3,4,5,6,7" |
| }, |
| { |
| "PublicDescription": "Cycles with no micro-ops executed from any thread on physical core.", |
| "EventCode": "0xB1", |
| "Invert": "1", |
| "Counter": "0,1,2,3", |
| "UMask": "0x2", |
| "EventName": "UOPS_EXECUTED.CORE_CYCLES_NONE", |
| "SampleAfterValue": "2000003", |
| "BriefDescription": "Cycles with no micro-ops executed from any thread on physical core", |
| "CounterHTOff": "0,1,2,3,4,5,6,7" |
| }, |
| { |
| "PublicDescription": "Reference cycles when the thread is unhalted. (counts at 100 MHz rate)", |
| "EventCode": "0x3C", |
| "Counter": "0,1,2,3", |
| "UMask": "0x1", |
| "EventName": "CPU_CLK_UNHALTED.REF_XCLK", |
| "SampleAfterValue": "2000003", |
| "BriefDescription": "Reference cycles when the thread is unhalted (counts at 100 MHz rate)", |
| "CounterHTOff": "0,1,2,3,4,5,6,7" |
| }, |
| { |
| "EventCode": "0x3C", |
| "Counter": "0,1,2,3", |
| "UMask": "0x1", |
| "AnyThread": "1", |
| "EventName": "CPU_CLK_UNHALTED.REF_XCLK_ANY", |
| "SampleAfterValue": "2000003", |
| "BriefDescription": "Reference cycles when the at least one thread on the physical core is unhalted. (counts at 100 MHz rate)", |
| "CounterHTOff": "0,1,2,3,4,5,6,7" |
| }, |
| { |
| "EventCode": "0x3C", |
| "Counter": "0,1,2,3", |
| "UMask": "0x2", |
| "EventName": "CPU_CLK_UNHALTED.ONE_THREAD_ACTIVE", |
| "SampleAfterValue": "2000003", |
| "BriefDescription": "Count XClk pulses when this thread is unhalted and the other thread is halted.", |
| "CounterHTOff": "0,1,2,3,4,5,6,7" |
| } |
| ] |