background image

Vol. 3B 18-17

PERFORMANCE MONITORING

There are also non-architectural events that support qualification of different types of snoop operation. The corre-
sponding bit field for snoop type qualification are listed in Table 18-7.

No more than one sub-field of MESI, snoop response, and snoop type qualification sub-fields can be supported in a 
performance event.

NOTE

Software must write known values to the performance counters prior to enabling the counters. The 
content of general-purpose counters and fixed-function counters are undefined after INIT or 
RESET.

18.4.1 

Fixed-function Performance Counters

Processors based on Intel Core microarchitecture provide three fixed-function performance counters. Bits beyond 
the width of the fixed counter are reserved and must be written as zeros. Model-specific fixed-function perfor-
mance counters on processors that support Architectural Perfmon version 1 are 40 bits wide.
Each of the fixed-function counter is dedicated to count a pre-defined performance monitoring events. The perfor-
mance monitoring events associated with fixed-function counters and the addresses of these counters are listed in 
Table 18-8. 

Programming the fixed-function performance counters does not involve any of the IA32_PERFEVTSELx MSRs, and 
does not require specifying any event masks. Instead, the MSR MSR_PERF_FIXED_CTR_CTRL provides multiple 
sets of 4-bit fields; each 4-bit field controls the operation of a fixed-function performance counter (PMC). See 
Figures 18-14. Two sub-fields are defined for each control. See Figure 18-14; bit fields are:

Enable field (low 2 bits in each 4-bit control) — When bit 0 is set, performance counting is enabled in the 
corresponding fixed-function performance counter to increment when the target condition associated with the 
architecture performance event occurs at ring 0. 
When bit 1 is set, performance counting is enabled in the corresponding fixed-function performance counter to 
increment when the target condition associated with the architecture performance event occurs at ring greater 
than 0. 

Bit 9

HIT response

Bit 8

CLEAN response

Table 18-7.  Snoop Type Qualification Definitions within a Non-Architectural Umask

IA32_PERFEVTSELx MSRs
Bit Position 9:8

Description

Bit 9

CMP2I snoops

Bit 8

CMP2S snoops

Table 18-8.  Association of Fixed-Function Performance Counters with Architectural Performance Events

Event Name

Fixed-Function PMC

PMC Address

INST_RETIRED.ANY

MSR_PERF_FIXED_CTR0/IA32_FIXED_CTR0

309H

CPU_CLK_UNHALTED.CORE

MSR_PERF_FIXED_CTR1//IA32_FIXED_CTR1

30AH

CPU_CLK_UNHALTED.REF

MSR_PERF_FIXED_CTR2//IA32_FIXED_CTR2

30BH

Table 18-6.  Bus Snoop Qualification Definitions within a Non-Architectural Umask

IA32_PERFEVTSELx MSRs
Bit Position 11:8

Description