background image

Vol. 3B 18-23

PERFORMANCE MONITORING

18.5 

PERFORMANCE MONITORING (45 NM AND 32 NM INTEL

® 

ATOM

 

PROCESSORS)

45 nm and 32 nm Intel Atom processors report architectural performance monitoring versionID = 3 (supporting 
the aggregate capabilities of versionID 1, 2, and 3; see Section 18.2.3) and a host of non-architectural monitoring 
capabilities. These 45 nm and 32 nm Intel Atom processors provide two general-purpose performance counters 
(IA32_PMC0, IA32_PMC1) and three fixed-function performance counters (IA32_FIXED_CTR0, 
IA32_FIXED_CTR1, IA32_FIXED_CTR2). 
Non-architectural performance monitoring in Intel Atom processor family uses the IA32_PERFEVTSELx MSR to 
configure a set of non-architecture performance monitoring events to be counted by the corresponding general-
purpose performance counter. The list of non-architectural performance monitoring events is listed in Table 19-26.
Architectural and non-architectural performance monitoring events in 45 nm and 32 nm Intel Atom processors 
support thread qualification using bit 21 (AnyThread) of IA32_PERFEVTSELx MSR, i.e. if 
IA32_PERFEVTSELx.AnyThread =1, event counts include monitored conditions due to either logical processors in 
the same processor core. 
The bit fields within each IA32_PERFEVTSELx MSR are defined in Figure 18-6 and described in Section 18.2.1.1 and 
Section 18.2.3. 
Valid event mask (Umask) bits are listed in Chapter 19. The UMASK field may contain sub-fields that provide the 
same qualifying actions like those listed in Table 18-2, Table 18-3, Table 18-4, and Table 18-5. One or more of 
these sub-fields may apply to specific events on an event-by-event basis. Details are listed in Table 19-26 in 
Chapter 19, “Performance-Monitoring Events.” Precise Event Based Monitoring is supported using IA32_PMC0 (see 
also Section 17.4.9, “BTS and DS Save Area”).

18.6 

PERFORMANCE MONITORING FOR SILVERMONT MICROARCHITECTURE

Intel processors based on the Silvermont microarchitecture report architectural performance monitoring versionID 
= 3 (see Section 18.2.3) and a host of non-architectural monitoring capabilities. Intel processors based on the 
Silvermont microarchitecture provide two general-purpose performance counters (IA32_PMC0, IA32_PMC1) and 
three fixed-function performance counters (IA32_FIXED_CTR0, IA32_FIXED_CTR1, IA32_FIXED_CTR2). Intel 
Atom processors based on the Airmont microarchitecture support the same performance monitoring capabilities as 
those based on the Silvermont microarchitecture.
Non-architectural performance monitoring in the Silvermont microarchitecture uses the IA32_PERFEVTSELx MSR 
to configure a set of non-architecture performance monitoring events to be counted by the corresponding general-
purpose performance counter. The list of non-architectural performance monitoring events is listed in Table 19-25.
The bit fields (except bit 21) within each IA32_PERFEVTSELx MSR are defined in Figure 18-6 and described in 
Section 18.2.1.1 and Section 18.2.3. Architectural and non-architectural performance monitoring events in the 
Silvermont microarchitecture ignore the AnyThread qualification regardless of its setting in IA32_PERFEVTSELx 
MSR. 

18.6.1 

Enhancements of Performance Monitoring in the Processor Core

The notable enhancements in the monitoring of performance events in the processor core include:

The width of counter reported by CPUID.0AH:EAX[23:16] is 40 bits. 

Off-core response counting facility. This facility in the processor core allows software to count certain 
transaction responses between the processor core to sub-systems outside the processor core (uncore). 
Counting off-core response requires additional event qualification configuration facility in conjunction with 
IA32_PERFEVTSELx. Two off-core response MSRs are provided to use in conjunction with specific event codes 
that must be specified with IA32_PERFEVTSELx.

Average request latency measurement. The off-core response counting facility can be combined to use two 
performance counters to count the occurrences and weighted cycles of transaction requests.