Intel 64 and IA-32 Architectures Software Developers Manual Volume 3B, System Programming Guide Part 2

Table Of Contents
Vol. 3 18-59
DEBUGGING AND PERFORMANCE MONITORING
Non-architectural performance events use event select values that are model-
specific. Event mask (Umask) values are also specific to event logic units. Some
microarchitectural conditions detectable by a Umask value may have specificity
related to processor topology (see Section 7.7, “Detecting Hardware Multi-Threading
Support and Topology,” in the Intel® 64 and IA-32 Architectures Software Devel-
oper’s Manual, Volume 3A). As a result, the unit mask field (for example,
IA32_PERFEVTSELx[bits 15:8]) may contain sub-fields that specify topology infor-
mation of processor cores.
The sub-field layout within the Umask field may support two-bit encoding that quali-
fies the relationship between a microarchitectural condition and the originating core.
This data is shown in Table 18-11. The two-bit encoding for core-specificity is only
supported for a subset of Umask values (see Appendix A, “Performance Monitoring
Events”) and for Intel Core Duo processors. Such events are referred to as core-
specific events.
Some microarchitectural conditions allow detection specificity only at the boundary
of physical processors. Some bus events belong to this category, providing specificity
between the originating physical processor (a bus agent) versus other agents on the
bus. Sub-field encoding for agent specificity is shown in Table 18-12.
Some microarchitectural conditions are detectable only from the originating core. In
such cases, unit mask does not support core-specificity or agent-specificity encod-
ings. These are referred to as core-only conditions.
Some microarchitectural conditions allow detection specificity that includes or
excludes the action of hardware prefetches. A two-bit encoding may be supported to
qualify hardware prefetch actions. Typically, this applies only to some L2 or bus
events. The sub-field encoding for hardware prefetch qualification is shown in
Table 18-13.
Table 18-11. Core Specificity Encoding within a Non-Architectural Umask
IA32_PERFEVTSELx MSRs
Bit 15:14 Encoding Description
11B All cores
10B Reserved
01B This core
00B Reserved
Table 18-12. Agent Specificity Encoding within a Non-Architectural Umask
IA32_PERFEVTSELx MSRs
Bit 13 Encoding Description
0This agent
1 Include all agents