Application Note 19
Output of the CPUID Instruction
5.1 Standard CPUID Functions
5.1.1 Vendor-ID and Largest Standard Function (Function 0)
In addition to returning the largest standard function number in the EAX register, the
Intel Vendor-ID string can be verified at the same time. If the EAX register contains an
input value of 0, the CPUID instruction also returns the vendor identification string in the
EBX, EDX, and ECX registers (see Figure 5-1). These registers contain the ASCII string:
GenuineIntel
While any imitator of the Intel Architecture can provide the CPUID instruction, no
imitator can legitimately claim that its part is a genuine Intel part. The presence of the
“GenuineIntel” string is an assurance that the CPUID instruction and the processor
signature are implemented as described in this document. If the “GenuineIntel” string is
not returned after execution of the CPUID instruction, do not rely upon the information
described in this document to interpret the information returned by the CPUID
instruction.
5.1.2 Feature Information (Function 01h)
5.1.2.1 Processor Signature
Beginning with the Intel486 processor family, the EDX register contains the processor
identification signature after RESET (see Figure 5-2). The processor identification
signature is a 32-bit value. The processor signature is composed from eight different
bit fields. The fields in gray represent reserved bits, and should be masked out when
utilizing the processor signature. The remaining six fields form the processor
identification signature.
Processors that implement the CPUID instruction also return the 32-bit processor
identification signature after reset. However, the CPUID instruction gives you the
flexibility of checking the processor signature at any time. Figure 5-2 shows the format of
the 32-bit processor signature for the Intel486 and subsequent Intel processors. Note
that the EDX processor signature value after reset is equivalent to the processor
signature output value in the EAX register in Figure 5-1. Table 5-3 below shows the
values returned in the EAX register currently defined for these processors.
The extended family, bit positions 20 through 27 are used in conjunction with the family
code, specified in bit positions 8 through 11, to indicate whether the processor belongs to
the Intel386, Intel486, Pentium, Pentium Pro or Pentium 4 family of processors. P6
family processors include all processors based on the Pentium Pro processor architecture
and have an extended family equal to 00h and a family code equal to 06h. Pentium 4
family processors include all processors based on the Intel NetBurst® microarchitecture
and have an extended family equal to 00h and a family code equal to 0Fh.
The extended model specified in bit positions 16 through 19, in conjunction with the
model number specified in bits 4 though 7 are used to identify the model of the processor
within the processor’s family. The stepping ID in bits 0 through 3 indicates the revision
number of that model.
Figure 5-2. EDX Register After RESET
31 28 27 20 19 16 15 14 13 12 11 8 7 4 3 0
EDX =
Extended
Family
Extended
Model
Type Family
Code
Model
Number
Stepping
ID