ia-32_instruction-set-ref_a-m

Processor information and the vendor identification

Info iconThis preview shows page 1. Sign up to view the full content.

View Full Document Right Arrow Icon
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: plemented 01H 02H Extended Function Information CPUID Not Implemented Not Implemented Not Implemented 03H 02H 02H 02H 05H Not Implemented 80000004H 80000004H 80000004H 80000008H 05H 06H 0AH 0AH 0AH 80000008H 80000008H 80000008H 80000008H 80000008H 3-168 Vol. 2 INSTRUCTION SET REFERENCE, A-M IA32_BIOS_SIGN_ID Returns Microcode Update Signature For processors that support the microcode update facility, the IA32_BIOS_SIGN_ID MSR is loaded with the update signature whenever CPUID executes. The signature is returned in the upper DWORD. For details, see Chapter 9 in the Intel 64 and IA-32 Architectures Software Developer's Manual, Volume 3A. INPUT EAX = 1: Returns Model, Family, Stepping Information When CPUID executes with EAX set to 1, version information is returned in EAX (see Figure 3-5). For example: model, family, and processor type for the Intel Xeon processor 5100 series is as follows: Model -- 1111B Family -- 0101B Processor Type -- 00B See Table 3-14 for available processor type values. Stepping IDs are provided as needed. 31 28 27 20 19 16 15 14 13 12 11 8 7 4 3 0 EAX Extended Family ID Extended Model ID Family ID Model Stepping ID Extended Family ID (0) Extended Model ID (0) Processor Type Family (0FH for the Pentium 4 Processor Family) Model Reserved OM16525 Figure 3-5. Version Information Returned by CPUID in EAX Vol. 2 3-169 INSTRUCTION SET REFERENCE, A-M Table 3-14. Processor Type Field Type Original OEM Processor Intel OverDrive Processor Dual processor (not applicable to Intel486 processors) Intel reserved Encoding 00B 01B 10B 11B NOTE See AP-485, Intel Processor Identification and the CPUID Instruction (Order Number 241618) and Chapter 14 in the Intel 64 and IA-32 Architectures Software Developer's Manual, Volume 1, for information on identifying earlier IA-32 processors. The Extended Family ID needs to be examined only when the Family ID is 0FH. Integrate the fields into a display using the following rule: IF Family_ID 0FH THEN Displayed_Family = Family_ID; ELSE Displayed_Family = Extended_Family_ID + Family_ID; (* Right justify and zero-extend 4-bit field. *) FI; (* Show Display_Family as HEX field. *) The Extended Model ID needs to be examined only when the Family ID is 06H or 0FH. Integrate the field into a display using the following rule: IF (Family_ID = 06H or Family_ID = 0FH) THEN Displayed_Model = (Extended_Model_ID << 4) + Model_ID; (* Right justify and zero-extend Extended_Model_ID and Model_ID. *) ELSE Displayed_Model = Model_ID; FI; (* Show Display_Model as HEX field. *) INPUT EAX = 1: Returns Additional Information in EBX When CPUID executes with EAX set to 1, additional information is returned to the EBX register: Brand index (low byte of EBX) -- this number provides an entry into a brand string table that contains brand strings for IA-32 processors. More information about this field is provided later in this section. CLFLUSH instruction cache line size (second byte of EBX) -- this number indicates the size of the ca...
View Full Document

Ask a homework question - tutors are online