Specifications

Intel
®
64 and IA-32 Architectures Software Developer’s Manual Documentation Changes 166
Documentation Changes
The Pentium 4 and Intel Xeon processors also support “fast” (32-bit) and “slow” (40-bit)
reads on the first 18 performance counters. Selected this option using ECX[31]. If bit 31
is set, RDPMC reads only the low 32 bits of the selected performance counter. If bit 31 is
clear, all 40 bits are read. A 32-bit result is returned in EAX and EDX is set to 0. A 32-bit
read executes faster on Pentium 4 processors and Intel Xeon processors than a full 40-
bit read.
On 64-bit Intel Xeon processors with L3, performance counters with indices 18-25 are
32-bit counters. EDX is cleared after executing RDPMC for these counters. On Intel Xeon
processor 7100 series with L3, performance counters with indices 18-25 are also 32-bit
counters.
In Intel Core 2 processor family, Intel Xeon processor 3000, 5100, 5300 and 7400 series,
the fixed-function performance counters are 40-bits wide; they can be accessed by
RDMPC with ECX between from 4000_0000H and 4000_0002H.
On Intel Xeon processor 7400 series, there are eight 32-bit special-purpose counters
addressable with indices 2-9, ECX[30]=0.
When in protected or virtual 8086 mode, the performance-monitoring counters enabled
(PCE) flag in register CR4 restricts the use of the RDPMC instruction as follows. When the
PCE flag is set, the RDPMC instruction can be executed at any privilege level; when the
flag is clear, the instruction can only be executed at privilege level 0. (When in real-
address mode, the RDPMC instruction is always enabled.)
The performance-monitoring counters can also be read with the RDMSR instruction,
when executing at privilege level 0.
Pentium M processors 06H_09H, 06H_0DH 0, 1 0, 1
64-bit Intel Xeon processors
with L3
0FH_03H, 0FH_04H)
and (L3 is present)
0 and 25 0 and 17
Intel
®
Core™ Solo and Intel
®
Core™ Duo processors, Dual-core
Intel
®
Xeon
®
processor LV
06H_0EH 0, 1 0, 1
Intel
®
Core™2 Duo processor,
Intel Xeon processor 3000,
5100, 5300, 7300 Series -
general-purpose PMC
06H_0FH 0, 1 0, 1
Intel Xeon processors 7100
series with L3
(0FH_06H) and (L3 is
present)
0 and 25 0 and 17
Intel
®
Core™2 Duo processor
family, Intel Xeon processor
family - general-purpose PMC
06H_17H 0, 1 0, 1
Intel Xeon processors 7400
series
(06H_1DH) 0 and 9 0, 1
Intel
®
Atom™ processor family 06H_1CH 0, 1 0, 1
Intel
®
Corei7 processor, Intel
Xeon processors 5500 series
06H_1AH, 06H_1EH,
06H_1FH, 06H_2EH
0-3 0, 1, 2, 3
Table 4-2 Valid General and Special Purpose Performance Counter Index Range for
RDPMC (Continued)
Processor Family Displayed_Family_Dis
played_Model/ Other
Signatures
Valid PMC
Index Range
General-
purpose
Counters