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