1*cdb29a8fSJin Yao[ 2*cdb29a8fSJin Yao { 3*cdb29a8fSJin Yao "BriefDescription": "TMA slots available for an unhalted logical processor. Fixed counter - architectural event", 4*cdb29a8fSJin Yao "CollectPEBSRecord": "2", 5*cdb29a8fSJin Yao "Counter": "35", 6*cdb29a8fSJin Yao "EventName": "TOPDOWN.SLOTS", 7*cdb29a8fSJin Yao "PEBScounters": "35", 8*cdb29a8fSJin Yao "PublicDescription": "Number of available slots for an unhalted logical processor. The event increments by machine-width of the narrowest pipeline as employed by the Top-down Microarchitecture Analysis method (TMA). The count is distributed among unhalted logical processors (hyper-threads) who share the same physical core. Software can use this event as the denominator for the top-level metrics of the TMA method. This architectural event is counted on a designated fixed counter (Fixed Counter 3).", 9*cdb29a8fSJin Yao "SampleAfterValue": "10000003", 10*cdb29a8fSJin Yao "Speculative": "1", 11*cdb29a8fSJin Yao "UMask": "0x4" 12*cdb29a8fSJin Yao }, 13*cdb29a8fSJin Yao { 14*cdb29a8fSJin Yao "BriefDescription": "Core cycles where the core was running in a manner where Turbo may be clipped to the Non-AVX turbo schedule.", 15*cdb29a8fSJin Yao "CollectPEBSRecord": "2", 16*cdb29a8fSJin Yao "Counter": "0,1,2,3", 17*cdb29a8fSJin Yao "EventCode": "0x28", 18*cdb29a8fSJin Yao "EventName": "CORE_POWER.LVL0_TURBO_LICENSE", 19*cdb29a8fSJin Yao "PEBScounters": "0,1,2,3", 20*cdb29a8fSJin Yao "PublicDescription": "Counts Core cycles where the core was running with power-delivery for baseline license level 0. This includes non-AVX codes, SSE, AVX 128-bit, and low-current AVX 256-bit codes.", 21*cdb29a8fSJin Yao "SampleAfterValue": "200003", 22*cdb29a8fSJin Yao "Speculative": "1", 23*cdb29a8fSJin Yao "UMask": "0x7" 24*cdb29a8fSJin Yao }, 25*cdb29a8fSJin Yao { 26*cdb29a8fSJin Yao "BriefDescription": "Core cycles where the core was running in a manner where Turbo may be clipped to the AVX2 turbo schedule.", 27*cdb29a8fSJin Yao "CollectPEBSRecord": "2", 28*cdb29a8fSJin Yao "Counter": "0,1,2,3", 29*cdb29a8fSJin Yao "EventCode": "0x28", 30*cdb29a8fSJin Yao "EventName": "CORE_POWER.LVL1_TURBO_LICENSE", 31*cdb29a8fSJin Yao "PEBScounters": "0,1,2,3", 32*cdb29a8fSJin Yao "PublicDescription": "Counts Core cycles where the core was running with power-delivery for license level 1. This includes high current AVX 256-bit instructions as well as low current AVX 512-bit instructions.", 33*cdb29a8fSJin Yao "SampleAfterValue": "200003", 34*cdb29a8fSJin Yao "Speculative": "1", 35*cdb29a8fSJin Yao "UMask": "0x18" 36*cdb29a8fSJin Yao }, 37*cdb29a8fSJin Yao { 38*cdb29a8fSJin Yao "BriefDescription": "Core cycles where the core was running in a manner where Turbo may be clipped to the AVX512 turbo schedule.", 39*cdb29a8fSJin Yao "CollectPEBSRecord": "2", 40*cdb29a8fSJin Yao "Counter": "0,1,2,3", 41*cdb29a8fSJin Yao "EventCode": "0x28", 42*cdb29a8fSJin Yao "EventName": "CORE_POWER.LVL2_TURBO_LICENSE", 43*cdb29a8fSJin Yao "PEBScounters": "0,1,2,3", 44*cdb29a8fSJin Yao "PublicDescription": "Core cycles where the core was running with power-delivery for license level 2 (introduced in Skylake Server microarchtecture). This includes high current AVX 512-bit instructions.", 45*cdb29a8fSJin Yao "SampleAfterValue": "200003", 46*cdb29a8fSJin Yao "Speculative": "1", 47*cdb29a8fSJin Yao "UMask": "0x20" 48*cdb29a8fSJin Yao }, 49*cdb29a8fSJin Yao { 50*cdb29a8fSJin Yao "BriefDescription": "Number of PREFETCHNTA instructions executed.", 51*cdb29a8fSJin Yao "CollectPEBSRecord": "2", 52*cdb29a8fSJin Yao "Counter": "0,1,2,3", 53*cdb29a8fSJin Yao "EventCode": "0x32", 54*cdb29a8fSJin Yao "EventName": "SW_PREFETCH_ACCESS.NTA", 55*cdb29a8fSJin Yao "PEBScounters": "0,1,2,3", 56*cdb29a8fSJin Yao "PublicDescription": "Counts the number of PREFETCHNTA instructions executed.", 57*cdb29a8fSJin Yao "SampleAfterValue": "100003", 58*cdb29a8fSJin Yao "Speculative": "1", 59*cdb29a8fSJin Yao "UMask": "0x1" 60*cdb29a8fSJin Yao }, 61*cdb29a8fSJin Yao { 62*cdb29a8fSJin Yao "BriefDescription": "Number of PREFETCHT0 instructions executed.", 63*cdb29a8fSJin Yao "CollectPEBSRecord": "2", 64*cdb29a8fSJin Yao "Counter": "0,1,2,3", 65*cdb29a8fSJin Yao "EventCode": "0x32", 66*cdb29a8fSJin Yao "EventName": "SW_PREFETCH_ACCESS.T0", 67*cdb29a8fSJin Yao "PEBScounters": "0,1,2,3", 68*cdb29a8fSJin Yao "PublicDescription": "Counts the number of PREFETCHT0 instructions executed.", 69*cdb29a8fSJin Yao "SampleAfterValue": "100003", 70*cdb29a8fSJin Yao "Speculative": "1", 71*cdb29a8fSJin Yao "UMask": "0x2" 72*cdb29a8fSJin Yao }, 73*cdb29a8fSJin Yao { 74*cdb29a8fSJin Yao "BriefDescription": "Number of PREFETCHT1 or PREFETCHT2 instructions executed.", 75*cdb29a8fSJin Yao "CollectPEBSRecord": "2", 76*cdb29a8fSJin Yao "Counter": "0,1,2,3", 77*cdb29a8fSJin Yao "EventCode": "0x32", 78*cdb29a8fSJin Yao "EventName": "SW_PREFETCH_ACCESS.T1_T2", 79*cdb29a8fSJin Yao "PEBScounters": "0,1,2,3", 80*cdb29a8fSJin Yao "PublicDescription": "Counts the number of PREFETCHT1 or PREFETCHT2 instructions executed.", 81*cdb29a8fSJin Yao "SampleAfterValue": "100003", 82*cdb29a8fSJin Yao "Speculative": "1", 83*cdb29a8fSJin Yao "UMask": "0x4" 84*cdb29a8fSJin Yao }, 85*cdb29a8fSJin Yao { 86*cdb29a8fSJin Yao "BriefDescription": "Number of PREFETCHW instructions executed.", 87*cdb29a8fSJin Yao "CollectPEBSRecord": "2", 88*cdb29a8fSJin Yao "Counter": "0,1,2,3", 89*cdb29a8fSJin Yao "EventCode": "0x32", 90*cdb29a8fSJin Yao "EventName": "SW_PREFETCH_ACCESS.PREFETCHW", 91*cdb29a8fSJin Yao "PEBScounters": "0,1,2,3", 92*cdb29a8fSJin Yao "PublicDescription": "Counts the number of PREFETCHW instructions executed.", 93*cdb29a8fSJin Yao "SampleAfterValue": "100003", 94*cdb29a8fSJin Yao "Speculative": "1", 95*cdb29a8fSJin Yao "UMask": "0x8" 96*cdb29a8fSJin Yao }, 97*cdb29a8fSJin Yao { 98*cdb29a8fSJin Yao "BriefDescription": "TMA slots available for an unhalted logical processor. General counter - architectural event", 99*cdb29a8fSJin Yao "CollectPEBSRecord": "2", 100*cdb29a8fSJin Yao "Counter": "0,1,2,3,4,5,6,7", 101*cdb29a8fSJin Yao "EventCode": "0xa4", 102*cdb29a8fSJin Yao "EventName": "TOPDOWN.SLOTS_P", 103*cdb29a8fSJin Yao "PEBScounters": "0,1,2,3,4,5,6,7", 104*cdb29a8fSJin Yao "PublicDescription": "Counts the number of available slots for an unhalted logical processor. The event increments by machine-width of the narrowest pipeline as employed by the Top-down Microarchitecture Analysis method. The count is distributed among unhalted logical processors (hyper-threads) who share the same physical core.", 105*cdb29a8fSJin Yao "SampleAfterValue": "10000003", 106*cdb29a8fSJin Yao "Speculative": "1", 107*cdb29a8fSJin Yao "UMask": "0x1" 108*cdb29a8fSJin Yao }, 109*cdb29a8fSJin Yao { 110*cdb29a8fSJin Yao "BriefDescription": "TMA slots where no uops were being issued due to lack of back-end resources.", 111*cdb29a8fSJin Yao "CollectPEBSRecord": "2", 112*cdb29a8fSJin Yao "Counter": "0,1,2,3,4,5,6,7", 113*cdb29a8fSJin Yao "EventCode": "0xa4", 114*cdb29a8fSJin Yao "EventName": "TOPDOWN.BACKEND_BOUND_SLOTS", 115*cdb29a8fSJin Yao "PEBScounters": "0,1,2,3,4,5,6,7", 116*cdb29a8fSJin Yao "PublicDescription": "Counts the number of Top-down Microarchitecture Analysis (TMA) method's slots where no micro-operations were being issued from front-end to back-end of the machine due to lack of back-end resources.", 117*cdb29a8fSJin Yao "SampleAfterValue": "10000003", 118*cdb29a8fSJin Yao "Speculative": "1", 119*cdb29a8fSJin Yao "UMask": "0x2" 120*cdb29a8fSJin Yao }, 121*cdb29a8fSJin Yao { 122*cdb29a8fSJin Yao "BriefDescription": "Number of occurrences where a microcode assist is invoked by hardware.", 123*cdb29a8fSJin Yao "CollectPEBSRecord": "2", 124*cdb29a8fSJin Yao "Counter": "0,1,2,3,4,5,6,7", 125*cdb29a8fSJin Yao "EventCode": "0xc1", 126*cdb29a8fSJin Yao "EventName": "ASSISTS.ANY", 127*cdb29a8fSJin Yao "PEBScounters": "0,1,2,3,4,5,6,7", 128*cdb29a8fSJin Yao "PublicDescription": "Counts the number of occurrences where a microcode assist is invoked by hardware Examples include AD (page Access Dirty), FP and AVX related assists.", 129*cdb29a8fSJin Yao "SampleAfterValue": "100003", 130*cdb29a8fSJin Yao "Speculative": "1", 131*cdb29a8fSJin Yao "UMask": "0x7" 132*cdb29a8fSJin Yao }, 133*cdb29a8fSJin Yao { 134*cdb29a8fSJin Yao "BriefDescription": "Counts demand data reads that hit a cacheline in the L3 where a snoop hit in another cores caches, data forwarding is required as the data is modified.", 135*cdb29a8fSJin Yao "Counter": "0,1,2,3", 136*cdb29a8fSJin Yao "EventCode": "0xB7, 0xBB", 137*cdb29a8fSJin Yao "EventName": "OCR.DEMAND_DATA_RD.L3_HIT.SNOOP_HITM", 138*cdb29a8fSJin Yao "MSRIndex": "0x1a6,0x1a7", 139*cdb29a8fSJin Yao "MSRValue": "0x10003C0001", 140*cdb29a8fSJin Yao "Offcore": "1", 141*cdb29a8fSJin Yao "PublicDescription": "Offcore response can be programmed only with a specific pair of event select and counter MSR, and with specific event codes and predefine mask bit value in a dedicated MSR to specify attributes of the offcore transaction.", 142*cdb29a8fSJin Yao "SampleAfterValue": "100003", 143*cdb29a8fSJin Yao "UMask": "0x1" 144*cdb29a8fSJin Yao }, 145*cdb29a8fSJin Yao { 146*cdb29a8fSJin Yao "BriefDescription": "Counts demand data reads that hit a cacheline in the L3 where a snoop hit in another cores caches which forwarded the unmodified data to the requesting core.", 147*cdb29a8fSJin Yao "Counter": "0,1,2,3", 148*cdb29a8fSJin Yao "EventCode": "0xB7, 0xBB", 149*cdb29a8fSJin Yao "EventName": "OCR.DEMAND_DATA_RD.L3_HIT.SNOOP_HIT_WITH_FWD", 150*cdb29a8fSJin Yao "MSRIndex": "0x1a6,0x1a7", 151*cdb29a8fSJin Yao "MSRValue": "0x8003C0001", 152*cdb29a8fSJin Yao "Offcore": "1", 153*cdb29a8fSJin Yao "PublicDescription": "Offcore response can be programmed only with a specific pair of event select and counter MSR, and with specific event codes and predefine mask bit value in a dedicated MSR to specify attributes of the offcore transaction.", 154*cdb29a8fSJin Yao "SampleAfterValue": "100003", 155*cdb29a8fSJin Yao "UMask": "0x1" 156*cdb29a8fSJin Yao }, 157*cdb29a8fSJin Yao { 158*cdb29a8fSJin Yao "BriefDescription": "Counts writes that generate a demand reads for ownership (RFO) request and software prefetches for exclusive ownership (PREFETCHW) that hit a cacheline in the L3 where a snoop hit in another cores caches, data forwarding is required as the data is modified.", 159*cdb29a8fSJin Yao "Counter": "0,1,2,3", 160*cdb29a8fSJin Yao "EventCode": "0xB7, 0xBB", 161*cdb29a8fSJin Yao "EventName": "OCR.DEMAND_RFO.L3_HIT.SNOOP_HITM", 162*cdb29a8fSJin Yao "MSRIndex": "0x1a6,0x1a7", 163*cdb29a8fSJin Yao "MSRValue": "0x10003C0002", 164*cdb29a8fSJin Yao "Offcore": "1", 165*cdb29a8fSJin Yao "PublicDescription": "Offcore response can be programmed only with a specific pair of event select and counter MSR, and with specific event codes and predefine mask bit value in a dedicated MSR to specify attributes of the offcore transaction.", 166*cdb29a8fSJin Yao "SampleAfterValue": "100003", 167*cdb29a8fSJin Yao "UMask": "0x1" 168*cdb29a8fSJin Yao }, 169*cdb29a8fSJin Yao { 170*cdb29a8fSJin Yao "BriefDescription": "Counts streaming stores that have any type of response.", 171*cdb29a8fSJin Yao "Counter": "0,1,2,3", 172*cdb29a8fSJin Yao "EventCode": "0xB7, 0xBB", 173*cdb29a8fSJin Yao "EventName": "OCR.STREAMING_WR.ANY_RESPONSE", 174*cdb29a8fSJin Yao "MSRIndex": "0x1a6,0x1a7", 175*cdb29a8fSJin Yao "MSRValue": "0x10800", 176*cdb29a8fSJin Yao "Offcore": "1", 177*cdb29a8fSJin Yao "PublicDescription": "Offcore response can be programmed only with a specific pair of event select and counter MSR, and with specific event codes and predefine mask bit value in a dedicated MSR to specify attributes of the offcore transaction.", 178*cdb29a8fSJin Yao "SampleAfterValue": "100003", 179*cdb29a8fSJin Yao "UMask": "0x1" 180*cdb29a8fSJin Yao } 181*cdb29a8fSJin Yao]