xref: /freebsd/lib/libpmc/pmu-events/arch/x86/sandybridge/frontend.json (revision 959826ca1bb0a42ddd624bf1803ae2957a3282f3)
1*959826caSMatt Macy[
2*959826caSMatt Macy    {
3*959826caSMatt Macy        "EventCode": "0x80",
4*959826caSMatt Macy        "Counter": "0,1,2,3",
5*959826caSMatt Macy        "UMask": "0x1",
6*959826caSMatt Macy        "EventName": "ICACHE.HIT",
7*959826caSMatt Macy        "SampleAfterValue": "2000003",
8*959826caSMatt Macy        "BriefDescription": "Number of Instruction Cache, Streaming Buffer and Victim Cache Reads. both cacheable and noncacheable, including UC fetches.",
9*959826caSMatt Macy        "CounterHTOff": "0,1,2,3,4,5,6,7"
10*959826caSMatt Macy    },
11*959826caSMatt Macy    {
12*959826caSMatt Macy        "PublicDescription": "This event counts the number of instruction cache, streaming buffer and victim cache misses. Counting includes unchacheable accesses.",
13*959826caSMatt Macy        "EventCode": "0x80",
14*959826caSMatt Macy        "Counter": "0,1,2,3",
15*959826caSMatt Macy        "UMask": "0x2",
16*959826caSMatt Macy        "EventName": "ICACHE.MISSES",
17*959826caSMatt Macy        "SampleAfterValue": "200003",
18*959826caSMatt Macy        "BriefDescription": "Instruction cache, streaming buffer and victim cache misses.",
19*959826caSMatt Macy        "CounterHTOff": "0,1,2,3,4,5,6,7"
20*959826caSMatt Macy    },
21*959826caSMatt Macy    {
22*959826caSMatt Macy        "EventCode": "0x79",
23*959826caSMatt Macy        "Counter": "0,1,2,3",
24*959826caSMatt Macy        "UMask": "0x2",
25*959826caSMatt Macy        "EventName": "IDQ.EMPTY",
26*959826caSMatt Macy        "SampleAfterValue": "2000003",
27*959826caSMatt Macy        "BriefDescription": "Instruction Decode Queue (IDQ) empty cycles.",
28*959826caSMatt Macy        "CounterHTOff": "0,1,2,3"
29*959826caSMatt Macy    },
30*959826caSMatt Macy    {
31*959826caSMatt Macy        "EventCode": "0x79",
32*959826caSMatt Macy        "Counter": "0,1,2,3",
33*959826caSMatt Macy        "UMask": "0x4",
34*959826caSMatt Macy        "EventName": "IDQ.MITE_UOPS",
35*959826caSMatt Macy        "SampleAfterValue": "2000003",
36*959826caSMatt Macy        "BriefDescription": "Uops delivered to Instruction Decode Queue (IDQ) from MITE path.",
37*959826caSMatt Macy        "CounterHTOff": "0,1,2,3,4,5,6,7"
38*959826caSMatt Macy    },
39*959826caSMatt Macy    {
40*959826caSMatt Macy        "EventCode": "0x79",
41*959826caSMatt Macy        "Counter": "0,1,2,3",
42*959826caSMatt Macy        "UMask": "0x8",
43*959826caSMatt Macy        "EventName": "IDQ.DSB_UOPS",
44*959826caSMatt Macy        "SampleAfterValue": "2000003",
45*959826caSMatt Macy        "BriefDescription": "Uops delivered to Instruction Decode Queue (IDQ) from the Decode Stream Buffer (DSB) path.",
46*959826caSMatt Macy        "CounterHTOff": "0,1,2,3,4,5,6,7"
47*959826caSMatt Macy    },
48*959826caSMatt Macy    {
49*959826caSMatt Macy        "EventCode": "0x79",
50*959826caSMatt Macy        "Counter": "0,1,2,3",
51*959826caSMatt Macy        "UMask": "0x10",
52*959826caSMatt Macy        "EventName": "IDQ.MS_DSB_UOPS",
53*959826caSMatt Macy        "SampleAfterValue": "2000003",
54*959826caSMatt Macy        "BriefDescription": "Uops initiated by Decode Stream Buffer (DSB) that are being delivered to Instruction Decode Queue (IDQ) while Microcode Sequenser (MS) is busy.",
55*959826caSMatt Macy        "CounterHTOff": "0,1,2,3,4,5,6,7"
56*959826caSMatt Macy    },
57*959826caSMatt Macy    {
58*959826caSMatt Macy        "EventCode": "0x79",
59*959826caSMatt Macy        "Counter": "0,1,2,3",
60*959826caSMatt Macy        "UMask": "0x20",
61*959826caSMatt Macy        "EventName": "IDQ.MS_MITE_UOPS",
62*959826caSMatt Macy        "SampleAfterValue": "2000003",
63*959826caSMatt Macy        "BriefDescription": "Uops initiated by MITE and delivered to Instruction Decode Queue (IDQ) while Microcode Sequenser (MS) is busy.",
64*959826caSMatt Macy        "CounterHTOff": "0,1,2,3,4,5,6,7"
65*959826caSMatt Macy    },
66*959826caSMatt Macy    {
67*959826caSMatt Macy        "EventCode": "0x79",
68*959826caSMatt Macy        "Counter": "0,1,2,3",
69*959826caSMatt Macy        "UMask": "0x30",
70*959826caSMatt Macy        "EventName": "IDQ.MS_UOPS",
71*959826caSMatt Macy        "SampleAfterValue": "2000003",
72*959826caSMatt Macy        "BriefDescription": "Uops delivered to Instruction Decode Queue (IDQ) while Microcode Sequenser (MS) is busy.",
73*959826caSMatt Macy        "CounterHTOff": "0,1,2,3,4,5,6,7"
74*959826caSMatt Macy    },
75*959826caSMatt Macy    {
76*959826caSMatt Macy        "PublicDescription": "This event counts cycles during which the microcode sequencer assisted the front-end in delivering uops.  Microcode assists are used for complex instructions or scenarios that can't be handled by the standard decoder.  Using other instructions, if possible, will usually improve performance.  See the Intel? 64 and IA-32 Architectures Optimization Reference Manual for more information.",
77*959826caSMatt Macy        "EventCode": "0x79",
78*959826caSMatt Macy        "Counter": "0,1,2,3",
79*959826caSMatt Macy        "UMask": "0x30",
80*959826caSMatt Macy        "EventName": "IDQ.MS_CYCLES",
81*959826caSMatt Macy        "SampleAfterValue": "2000003",
82*959826caSMatt Macy        "BriefDescription": "Cycles when uops are being delivered to Instruction Decode Queue (IDQ) while Microcode Sequenser (MS) is busy.",
83*959826caSMatt Macy        "CounterMask": "1",
84*959826caSMatt Macy        "CounterHTOff": "0,1,2,3,4,5,6,7"
85*959826caSMatt Macy    },
86*959826caSMatt Macy    {
87*959826caSMatt Macy        "PublicDescription": "This event counts the number of uops not delivered to the back-end per cycle, per thread, when the back-end was not stalled.  In the ideal case 4 uops can be delivered each cycle.  The event counts the undelivered uops - so if 3 were delivered in one cycle, the counter would be incremented by 1 for that cycle (4 - 3). If the back-end is stalled, the count for this event is not incremented even when uops were not delivered, because the back-end would not have been able to accept them.  This event is used in determining the front-end bound category of the top-down pipeline slots characterization.",
88*959826caSMatt Macy        "EventCode": "0x9C",
89*959826caSMatt Macy        "Counter": "0,1,2,3",
90*959826caSMatt Macy        "UMask": "0x1",
91*959826caSMatt Macy        "EventName": "IDQ_UOPS_NOT_DELIVERED.CORE",
92*959826caSMatt Macy        "SampleAfterValue": "2000003",
93*959826caSMatt Macy        "BriefDescription": "Uops not delivered to Resource Allocation Table (RAT) per thread when backend of the machine is not stalled .",
94*959826caSMatt Macy        "CounterHTOff": "0,1,2,3"
95*959826caSMatt Macy    },
96*959826caSMatt Macy    {
97*959826caSMatt Macy        "EventCode": "0x9C",
98*959826caSMatt Macy        "Counter": "0,1,2,3",
99*959826caSMatt Macy        "UMask": "0x1",
100*959826caSMatt Macy        "EventName": "IDQ_UOPS_NOT_DELIVERED.CYCLES_0_UOPS_DELIV.CORE",
101*959826caSMatt Macy        "SampleAfterValue": "2000003",
102*959826caSMatt Macy        "BriefDescription": "Cycles per thread when 4 or more uops are not delivered to Resource Allocation Table (RAT) when backend of the machine is not stalled.",
103*959826caSMatt Macy        "CounterMask": "4",
104*959826caSMatt Macy        "CounterHTOff": "0,1,2,3"
105*959826caSMatt Macy    },
106*959826caSMatt Macy    {
107*959826caSMatt Macy        "EventCode": "0x9C",
108*959826caSMatt Macy        "Counter": "0,1,2,3",
109*959826caSMatt Macy        "UMask": "0x1",
110*959826caSMatt Macy        "EventName": "IDQ_UOPS_NOT_DELIVERED.CYCLES_LE_1_UOP_DELIV.CORE",
111*959826caSMatt Macy        "SampleAfterValue": "2000003",
112*959826caSMatt Macy        "BriefDescription": "Cycles per thread when 3 or more uops are not delivered to Resource Allocation Table (RAT) when backend of the machine is not stalled.",
113*959826caSMatt Macy        "CounterMask": "3",
114*959826caSMatt Macy        "CounterHTOff": "0,1,2,3"
115*959826caSMatt Macy    },
116*959826caSMatt Macy    {
117*959826caSMatt Macy        "EventCode": "0xAB",
118*959826caSMatt Macy        "Counter": "0,1,2,3",
119*959826caSMatt Macy        "UMask": "0x1",
120*959826caSMatt Macy        "EventName": "DSB2MITE_SWITCHES.COUNT",
121*959826caSMatt Macy        "SampleAfterValue": "2000003",
122*959826caSMatt Macy        "BriefDescription": "Decode Stream Buffer (DSB)-to-MITE switches.",
123*959826caSMatt Macy        "CounterHTOff": "0,1,2,3,4,5,6,7"
124*959826caSMatt Macy    },
125*959826caSMatt Macy    {
126*959826caSMatt Macy        "PublicDescription": "This event counts the cycles attributed to a switch from the Decoded Stream Buffer (DSB), which holds decoded instructions, to the legacy decode pipeline.  It excludes cycles when the back-end cannot  accept new micro-ops.  The penalty for these switches is potentially several cycles of instruction starvation, where no micro-ops are delivered to the back-end.",
127*959826caSMatt Macy        "EventCode": "0xAB",
128*959826caSMatt Macy        "Counter": "0,1,2,3",
129*959826caSMatt Macy        "UMask": "0x2",
130*959826caSMatt Macy        "EventName": "DSB2MITE_SWITCHES.PENALTY_CYCLES",
131*959826caSMatt Macy        "SampleAfterValue": "2000003",
132*959826caSMatt Macy        "BriefDescription": "Decode Stream Buffer (DSB)-to-MITE switch true penalty cycles.",
133*959826caSMatt Macy        "CounterHTOff": "0,1,2,3,4,5,6,7"
134*959826caSMatt Macy    },
135*959826caSMatt Macy    {
136*959826caSMatt Macy        "EventCode": "0xAC",
137*959826caSMatt Macy        "Counter": "0,1,2,3",
138*959826caSMatt Macy        "UMask": "0x2",
139*959826caSMatt Macy        "EventName": "DSB_FILL.OTHER_CANCEL",
140*959826caSMatt Macy        "SampleAfterValue": "2000003",
141*959826caSMatt Macy        "BriefDescription": "Cases of cancelling valid DSB fill not because of exceeding way limit.",
142*959826caSMatt Macy        "CounterHTOff": "0,1,2,3,4,5,6,7"
143*959826caSMatt Macy    },
144*959826caSMatt Macy    {
145*959826caSMatt Macy        "EventCode": "0xAC",
146*959826caSMatt Macy        "Counter": "0,1,2,3",
147*959826caSMatt Macy        "UMask": "0x8",
148*959826caSMatt Macy        "EventName": "DSB_FILL.EXCEED_DSB_LINES",
149*959826caSMatt Macy        "SampleAfterValue": "2000003",
150*959826caSMatt Macy        "BriefDescription": "Cycles when Decode Stream Buffer (DSB) fill encounter more than 3 Decode Stream Buffer (DSB) lines.",
151*959826caSMatt Macy        "CounterHTOff": "0,1,2,3,4,5,6,7"
152*959826caSMatt Macy    },
153*959826caSMatt Macy    {
154*959826caSMatt Macy        "EventCode": "0x79",
155*959826caSMatt Macy        "Counter": "0,1,2,3",
156*959826caSMatt Macy        "UMask": "0x4",
157*959826caSMatt Macy        "EventName": "IDQ.MITE_CYCLES",
158*959826caSMatt Macy        "SampleAfterValue": "2000003",
159*959826caSMatt Macy        "BriefDescription": "Cycles when uops are being delivered to Instruction Decode Queue (IDQ) from MITE path.",
160*959826caSMatt Macy        "CounterMask": "1",
161*959826caSMatt Macy        "CounterHTOff": "0,1,2,3,4,5,6,7"
162*959826caSMatt Macy    },
163*959826caSMatt Macy    {
164*959826caSMatt Macy        "EventCode": "0x79",
165*959826caSMatt Macy        "Counter": "0,1,2,3",
166*959826caSMatt Macy        "UMask": "0x8",
167*959826caSMatt Macy        "EventName": "IDQ.DSB_CYCLES",
168*959826caSMatt Macy        "SampleAfterValue": "2000003",
169*959826caSMatt Macy        "BriefDescription": "Cycles when uops are being delivered to Instruction Decode Queue (IDQ) from Decode Stream Buffer (DSB) path.",
170*959826caSMatt Macy        "CounterMask": "1",
171*959826caSMatt Macy        "CounterHTOff": "0,1,2,3,4,5,6,7"
172*959826caSMatt Macy    },
173*959826caSMatt Macy    {
174*959826caSMatt Macy        "EventCode": "0x79",
175*959826caSMatt Macy        "Counter": "0,1,2,3",
176*959826caSMatt Macy        "UMask": "0x10",
177*959826caSMatt Macy        "EventName": "IDQ.MS_DSB_CYCLES",
178*959826caSMatt Macy        "SampleAfterValue": "2000003",
179*959826caSMatt Macy        "BriefDescription": "Cycles when uops initiated by Decode Stream Buffer (DSB) are being delivered to Instruction Decode Queue (IDQ) while Microcode Sequenser (MS) is busy.",
180*959826caSMatt Macy        "CounterMask": "1",
181*959826caSMatt Macy        "CounterHTOff": "0,1,2,3,4,5,6,7"
182*959826caSMatt Macy    },
183*959826caSMatt Macy    {
184*959826caSMatt Macy        "EventCode": "0x79",
185*959826caSMatt Macy        "Counter": "0,1,2,3",
186*959826caSMatt Macy        "UMask": "0x10",
187*959826caSMatt Macy        "EdgeDetect": "1",
188*959826caSMatt Macy        "EventName": "IDQ.MS_DSB_OCCUR",
189*959826caSMatt Macy        "SampleAfterValue": "2000003",
190*959826caSMatt Macy        "BriefDescription": "Deliveries to Instruction Decode Queue (IDQ) initiated by Decode Stream Buffer (DSB) while Microcode Sequenser (MS) is busy.",
191*959826caSMatt Macy        "CounterMask": "1",
192*959826caSMatt Macy        "CounterHTOff": "0,1,2,3,4,5,6,7"
193*959826caSMatt Macy    },
194*959826caSMatt Macy    {
195*959826caSMatt Macy        "EventCode": "0x9C",
196*959826caSMatt Macy        "Counter": "0,1,2,3",
197*959826caSMatt Macy        "UMask": "0x1",
198*959826caSMatt Macy        "EventName": "IDQ_UOPS_NOT_DELIVERED.CYCLES_LE_2_UOP_DELIV.CORE",
199*959826caSMatt Macy        "SampleAfterValue": "2000003",
200*959826caSMatt Macy        "BriefDescription": "Cycles with less than 2 uops delivered by the front end.",
201*959826caSMatt Macy        "CounterMask": "2",
202*959826caSMatt Macy        "CounterHTOff": "0,1,2,3"
203*959826caSMatt Macy    },
204*959826caSMatt Macy    {
205*959826caSMatt Macy        "EventCode": "0x9C",
206*959826caSMatt Macy        "Counter": "0,1,2,3",
207*959826caSMatt Macy        "UMask": "0x1",
208*959826caSMatt Macy        "EventName": "IDQ_UOPS_NOT_DELIVERED.CYCLES_LE_3_UOP_DELIV.CORE",
209*959826caSMatt Macy        "SampleAfterValue": "2000003",
210*959826caSMatt Macy        "BriefDescription": "Cycles with less than 3 uops delivered by the front end.",
211*959826caSMatt Macy        "CounterMask": "1",
212*959826caSMatt Macy        "CounterHTOff": "0,1,2,3"
213*959826caSMatt Macy    },
214*959826caSMatt Macy    {
215*959826caSMatt Macy        "EventCode": "0x9C",
216*959826caSMatt Macy        "Invert": "1",
217*959826caSMatt Macy        "Counter": "0,1,2,3",
218*959826caSMatt Macy        "UMask": "0x1",
219*959826caSMatt Macy        "EventName": "IDQ_UOPS_NOT_DELIVERED.CYCLES_GE_1_UOP_DELIV.CORE",
220*959826caSMatt Macy        "SampleAfterValue": "2000003",
221*959826caSMatt Macy        "BriefDescription": "Cycles when 1 or more uops were delivered to the by the front end.",
222*959826caSMatt Macy        "CounterMask": "4",
223*959826caSMatt Macy        "CounterHTOff": "0,1,2,3"
224*959826caSMatt Macy    },
225*959826caSMatt Macy    {
226*959826caSMatt Macy        "EventCode": "0x79",
227*959826caSMatt Macy        "Counter": "0,1,2,3",
228*959826caSMatt Macy        "UMask": "0x18",
229*959826caSMatt Macy        "EventName": "IDQ.ALL_DSB_CYCLES_4_UOPS",
230*959826caSMatt Macy        "SampleAfterValue": "2000003",
231*959826caSMatt Macy        "BriefDescription": "Cycles Decode Stream Buffer (DSB) is delivering 4 Uops.",
232*959826caSMatt Macy        "CounterMask": "4",
233*959826caSMatt Macy        "CounterHTOff": "0,1,2,3,4,5,6,7"
234*959826caSMatt Macy    },
235*959826caSMatt Macy    {
236*959826caSMatt Macy        "EventCode": "0x79",
237*959826caSMatt Macy        "Counter": "0,1,2,3",
238*959826caSMatt Macy        "UMask": "0x18",
239*959826caSMatt Macy        "EventName": "IDQ.ALL_DSB_CYCLES_ANY_UOPS",
240*959826caSMatt Macy        "SampleAfterValue": "2000003",
241*959826caSMatt Macy        "BriefDescription": "Cycles Decode Stream Buffer (DSB) is delivering any Uop.",
242*959826caSMatt Macy        "CounterMask": "1",
243*959826caSMatt Macy        "CounterHTOff": "0,1,2,3,4,5,6,7"
244*959826caSMatt Macy    },
245*959826caSMatt Macy    {
246*959826caSMatt Macy        "EventCode": "0x79",
247*959826caSMatt Macy        "Counter": "0,1,2,3",
248*959826caSMatt Macy        "UMask": "0x24",
249*959826caSMatt Macy        "EventName": "IDQ.ALL_MITE_CYCLES_4_UOPS",
250*959826caSMatt Macy        "SampleAfterValue": "2000003",
251*959826caSMatt Macy        "BriefDescription": "Cycles MITE is delivering 4 Uops.",
252*959826caSMatt Macy        "CounterMask": "4",
253*959826caSMatt Macy        "CounterHTOff": "0,1,2,3,4,5,6,7"
254*959826caSMatt Macy    },
255*959826caSMatt Macy    {
256*959826caSMatt Macy        "EventCode": "0x79",
257*959826caSMatt Macy        "Counter": "0,1,2,3",
258*959826caSMatt Macy        "UMask": "0x24",
259*959826caSMatt Macy        "EventName": "IDQ.ALL_MITE_CYCLES_ANY_UOPS",
260*959826caSMatt Macy        "SampleAfterValue": "2000003",
261*959826caSMatt Macy        "BriefDescription": "Cycles MITE is delivering any Uop.",
262*959826caSMatt Macy        "CounterMask": "1",
263*959826caSMatt Macy        "CounterHTOff": "0,1,2,3,4,5,6,7"
264*959826caSMatt Macy    },
265*959826caSMatt Macy    {
266*959826caSMatt Macy        "EventCode": "0xAC",
267*959826caSMatt Macy        "Counter": "0,1,2,3",
268*959826caSMatt Macy        "UMask": "0xa",
269*959826caSMatt Macy        "EventName": "DSB_FILL.ALL_CANCEL",
270*959826caSMatt Macy        "SampleAfterValue": "2000003",
271*959826caSMatt Macy        "BriefDescription": "Cases of cancelling valid Decode Stream Buffer (DSB) fill not because of exceeding way limit.",
272*959826caSMatt Macy        "CounterHTOff": "0,1,2,3,4,5,6,7"
273*959826caSMatt Macy    },
274*959826caSMatt Macy    {
275*959826caSMatt Macy        "EventCode": "0x9C",
276*959826caSMatt Macy        "Invert": "1",
277*959826caSMatt Macy        "Counter": "0,1,2,3",
278*959826caSMatt Macy        "UMask": "0x1",
279*959826caSMatt Macy        "EventName": "IDQ_UOPS_NOT_DELIVERED.CYCLES_FE_WAS_OK",
280*959826caSMatt Macy        "SampleAfterValue": "2000003",
281*959826caSMatt Macy        "BriefDescription": "Counts cycles FE delivered 4 uops or Resource Allocation Table (RAT) was stalling FE.",
282*959826caSMatt Macy        "CounterMask": "1",
283*959826caSMatt Macy        "CounterHTOff": "0,1,2,3"
284*959826caSMatt Macy    },
285*959826caSMatt Macy    {
286*959826caSMatt Macy        "EventCode": "0x79",
287*959826caSMatt Macy        "Counter": "0,1,2,3",
288*959826caSMatt Macy        "UMask": "0x3c",
289*959826caSMatt Macy        "EventName": "IDQ.MITE_ALL_UOPS",
290*959826caSMatt Macy        "SampleAfterValue": "2000003",
291*959826caSMatt Macy        "BriefDescription": "Uops delivered to Instruction Decode Queue (IDQ) from MITE path.",
292*959826caSMatt Macy        "CounterHTOff": "0,1,2,3,4,5,6,7"
293*959826caSMatt Macy    },
294*959826caSMatt Macy    {
295*959826caSMatt Macy        "EventCode": "0x79",
296*959826caSMatt Macy        "Counter": "0,1,2,3",
297*959826caSMatt Macy        "UMask": "0x30",
298*959826caSMatt Macy        "EdgeDetect": "1",
299*959826caSMatt Macy        "EventName": "IDQ.MS_SWITCHES",
300*959826caSMatt Macy        "SampleAfterValue": "2000003",
301*959826caSMatt Macy        "BriefDescription": "Number of switches from DSB (Decode Stream Buffer) or MITE (legacy decode pipeline) to the Microcode Sequencer.",
302*959826caSMatt Macy        "CounterMask": "1",
303*959826caSMatt Macy        "CounterHTOff": "0,1,2,3,4,5,6,7"
304*959826caSMatt Macy    }
305*959826caSMatt Macy]