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

Table Of Contents
Vol. 3 18-69
DEBUGGING AND PERFORMANCE MONITORING
18.16 PERFORMANCE MONITORING (PROCESSORS BASED
ON INTEL
®
ATOM
MICROARCHITECTURE)
Intel Atom processor family supports architectural performance monitoring capa-
bility with version ID 3 (see Section 18.13.2.2) and a host of non-architectural moni-
toring capabilities. The initial implementation of Intel Atom processor family provides
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 moni-
toring events to be counted by the corresponding general-purpose performance
counter. The list of non-architectural performance monitoring events is listed in Table
A-7.
Architectural and non-architectural performance monitoring events in Intel Atom
processor family support thread qualification using bit 21 of IA32_PERFEVTSELx
MSR.
The bit fields within each IA32_PERFEVTSELx MSR are defined in Figure 18-18 and
described in Section 18.13.1.1 and Section 18.13.2.2.
Allocate buffer for PEBS
states.
Allocate a buffer in memory for the precise information.
Program the
IA32_DS_AREA MSR.
Program the IA32_DS_AREA MSR.
Configure the PEBS buffer
management records.
Configure the PEBS buffer management records in the DS buffer
management area.
Configure/Enable PEBS. Set Enable PMC0 bit in
IA32_PEBS_ENABLE MSR
(0x3F1).
Configure MSR_PEBS_ENABLE,
MSR_PEBS_MATRIX_VERT and
MSR_PEBS_MATRIX_HORZ as
needed.
Enable counters. Set Enable bits in
MSR_PERF_GLOBAL_CTRL MSR
(0x38F).
Set each CCCR enable bit 12 - 1.
NOTES:
1. Counters read while enabled are not guaranteed to be precise with event counts that occur in tim-
ing proximity to the RDMSR.
Table 18-20. Requirements to Program PEBS (Contd.)
For Processors based on Intel
Core microarchitecture
For Processors based on Intel
NetBurst microarchitecture