The Datasheet Archive - 100 Million Datasheets from 7500 Manufacturers.   United States  United States   


Datasheet Search Engine   
 
 
Part # or Description: • 5V RS232 Driver • 2SC5066* • "Real Time Clock" • "USB connector" • "blue led" 5mm • 10 watt zener diode • 2N3055* motorola
 
Search Tip: Try entering the part number only. Include a wildcard (eg. lm317* or 1n4148*)


  Datasheet Home \ Datasheet Details

SCR, Pentium, Xeon, Intel Processor, Register, ISA, CPU, Display

Download

PDF Abstract Text:

AP-909 APPLICATION NOTE


Intel® Processor Serial Number

AP-909 APPLICATION NOTE
Intel® Processor Serial Number
March 1999
ORDER NUMBER: 245125-001
CONTENTS
AP-909
1. 0. INTRODUCTION ......................................... 4 UPDATE SUPPORT ......................................... 5 DETECTING THE CPUID INSTRUCTION.................... 5
3. 0. PROCESSOR SERIAL NUMBER AND THE CPUID INSTRUCTION................................................ 6 3.1. PRESENCE OF PROCESSOR SERIAL NUMBER ...................... 8 3.1.1. Vendor ID String ....................................... 8 3.1.2. Processor Signature..................................... 8 3.2. FORMING THE 96-BIT PROCESSOR SERIAL NUMBER ................. 9 3.3. DISABLING PROCESSOR SERIAL NUMBER ........................ 9 3.4. FEATURE FLAGS ......................................... 10 4. 0. USAGE GUIDELINES .................................... 11
1.0. INTRODUCTION
As the Intel Architecture evolves with the addition of new generations and models of processors, it is essential that Intel provide an increasingly sophisticated means with which software can identify the features available on each processor. This identification mechanism has evolved in conjunction with the Intel Architecture as follows: 1. Originally, Intel published code sequences that could detect minor implementation or architectural differences to identify processor generations. 2. Later, with the advent of the Intel386 processor, Intel implemented processor signature identification which provided the processor family, model, and stepping numbers to software, but only upon reset. 3. As the Intel Architecture evolved, Intel extended the processor signature identification into the CPUID instruction. The CPUID instruction not only provides the processor signature, but also provides information about the features supported by and implemented on the Intel processor. The evolution of processor identification was necessary because, as the Intel Architecture proliferates, the computing market must be able to tune processor functionality across processor generations and models that have differing sets of features. Anticipating that this trend will continue with future processor generations, the Intel Architecture
AP-909
implementation of the CPUID instruction is extensible. The Pentium® III Processor, and Pentium® III Xeon Processors extend the concept of processor identification with the addition of processor serial number. Processor serial number is a 96-bit number accessible through the CPUID instruction. Processor serial number can be used by applications to identify a system. The processor serial number creates a software accessible identity for an individual processor. The processor serial number, combined with other qualifiers, could be applied to user identification. Applications include, membership authentication, data backup / restore protection, removable storage data protection, managed access to files, or to confirm document exchange between appropriate users. Processor serial number is another tool for use in asset management, product tracking, remote systems load and configuration, or to aid in boot-up configuration. In the case of system service, processor serial number could be used to differentiate users during help desk access, or track error reporting. Processor serial number provides an identifier for the processor, but should not be assumed to be unique in itself. There are potential modes in which erroneous processor serial numbers may be reported. For example, in the event a processor is operated outside its recommended operating specification, the processor serial number may not be correctly read from the processor. This could lead to possible erroneous or duplicate processor serial
numbers being reported. System manufacturers may strengthen the robustness of the feature by including redundancy features, or other fault tolerant methods. Processor serial number used as a qualifier for another independent number could be used to create an electrically accessible number which is likely to be distinct. Processor serial number is one building block useful for the purpose of enabling the trusted, connected PC. This application note explains how to use the CPUID instruction to gain access to the processor serial number. By taking advantage of processor serial number, software developers can create applications and tools capable of further qualifying system identity.
AP-909
value of this flag, the CPUID instruction is executable. See Figure 1.
8086 Flags Register
286 Flags Register
Intel386 Processor Eflags Register
Intel486 Processor Eflags Register
Update Support
Pentium® and P6 Family Processors Eflags Register
Notes: 1) R - RSVD 2) ID - CPUID Presence bit
2.0. DETECTING THE CPUID INSTRUCTION
000902 Figure 1. Flag Register Evolution The POPF, POPFD, PUSHF, and PUSHFD instructions are used to access the Flags, Eflags register.
3.0. PROCESSOR SERIAL NUMBER AND THE CPUID INSTRUCTION
Figure 2 summarizes the outputs of the CPUID instruction. The function of the CPUID instruction is fully dependent upon the contents of the EAX register. This means, by placing different values in the EAX register and then executing CPUID, the CPUID instruction will perform a specific function dependent upon whatever value is resident in the EAX register (see Table 1). In order to determine the highest acceptable value for the EAX register input and CPUID operation, the program should set the EAX register parameter value to "0" and then execute the CPUID instruction as follows MOV EAX, 00H CPUID After the execution of the CPUID instruction, a return value will be present in the EAX register. Always use an EAX parameter value that is equal to or greater than zero and less than or equal to this highest EAX "returned" value, prior to executing the CPUID instruction.
AP-909
Table 1. Effects of EAX Contents on CPUID Instruction Output Outputs of CPUID EAX Highest value recognized by CPUID instruction EBX:EDX:ECX Vendor identification string EAX Processor signature, or Upper 32 bits of 96-bit processor serial number
AP-909
Processor Type Family Model Stepping 31 0 Bit Array (Refer to Table 4)
Feature Flags
Figure 2. CPUID Instruction Outputs
3.1. Presence of processor serial number
To determine if the processor serial number feature is supported, the program should set the EAX register parameter value to "1" and then execute the CPUID instruction as follows: MOV EAX, 01H CPUID After execution of the CPUID instruction, the EDX register contains the Feature Flags. If Feature Flags bit 18 equals "1", then the processor serial number feature is supported, and enabled. If Feature Flags bit 18 equals "0", the processor serial number feature is either not supported or disabled.
EDX Reserved Type Family Model
AP-909
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.
3.1.2. Processor Signature
Beginning with the Intel486 processor family, the processor will return a processor identification signature value after reset in the EDX register.
Stepping
000963 Figure 3. EDX Register Value after RESET Processors that implement the CPUID instruction also return the processor identification signature after reset however, the CPUID instruction gives you the flexibility of checking the processor signature at any time. The EDX processor signature value after reset is equivalent to the processor signature output value in the EAX register in Figure 2. Table 2 shows the values returned in the EAX register for processors which implement the processor serial number feature. The processor type, specified in bit positions 12 and 13 of Table 3, indicates whether the processor is an original OEM processor, an OverDrive® processor, or a dual processor (capable of being used in a dual processor system). Table 3 shows the processor type values returned in bits 12 and 13 of the EAX register.
3.1.1. Vendor ID String
In addition to returning the highest value in the EAX register, the Intel Vendor-ID string can be simultaneously verified as well. 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 2). These registers contain the ASCII string: GenuineIntel While competitive processors can provide the CPUID instruction, only Intel can legitimately claim its processors are genuine Intel. So 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
AP-909
After execution of the CPUID instruction, the EDX register contains the middle 32-bits, and the ECX register contains the least significant 32-bits of the processor serial number. Software may then concatenate the saved Processor Signature, EDX, and ECX before returning the complete 96-bit processor serial number. Processor serial number should be displayed as 6 groups of 4 hex nibbles (Ex. XXXXXXXX-XXXX-XXXX-XXXX-XXXX where X represents a hex digit). Alpha hex characters should be displayed as capital letters.
3.2. Forming the 96-bit processor serial number
The 96-bit processor serial number is the concatenation of three 32-bit entities. To access the most significant 32-bits of the processor serial number the program should set the EAX register parameter value to "1" and then execute the CPUID instruction as follows: MOV EAX, 01H CPUID After execution of the CPUID instruction, the EAX register contains the Processor Signature. The Processor Signature comprises the most significant 32-bits of the Processor serial number. The value in EAX should be saved prior to gathering the remaining 64-bits of the processor serial number. To access the remaining 64-bits of the processor serial number the program should set the EAX register parameter value to "3" and then execute the CPUID instruction as follows:
Disabling processor serial number
loads
Once the processor serial number feature is disabled, bit 18 of the Feature Flags register
is cleared indicating the processor no longer supports the processor serial number feature. Another indication that the processor serial number feature is no longer supported is the "Highest Integer value" returned in EAX when the CPUID instruction is executed with Type Famil y 00 0110 Model
AP-909
value"
Table 2. Processor Signatures Steppi Description ng 0111 xxxx Pentium® III Processor, and Pentium® III Xeon Processors, model 7
NOTES: 1. Please see the Intel Processor Identification and CPUID Instruction Application Note AP-485 (Order Number 241618-012) for more information
Table 3. Processor Type (Bit Positions 13 and 12) Value 00 01 10 11 Description Original OEM processor OverDrive® processor Dual processor Intel reserved (Do not use.)
Feature Flags
When the EAX register contains a value of 1, the CPUID instruction (in addition to loading the processor signature in the EAX register) loads the EDX register with the feature flags. The current feature flags (when
Bit 18
Bit Name r serial number
AP-909
NOTE: 1. Please see the Intel Processor Identification and CPUID Instruction Application Note AP-485 (Order Number 241618-012) for the definition of other Feature Flag bits.
4.0. USAGE GUIDELINES
· Do not assume processor serial number is a unique number without further qualifiers. Display processor serial number as 6 groups of 4 hex nibbles (Ex. XXXXXXXX-XXXX-XXXX-XXXX-XXXX where X represents a hex digit). Display alpha hex characters as capital letters. Please see the Intel Processor Identification and CPUID Instruction Application Note AP-485 (Order Number 241618-012) for further information concerning usage of the CPUID instruction.
UNITED STATES, Intel Corporation 2200 Mission College Blvd., P.O. Box 58119, Santa Clara, CA 95052-8119 Tel: +1 408 765-8080 JAPAN, Intel Japan K.K. 5-6 Tokodai, Tsukuba-shi, Ibaraki-ken 300-26 Tel: + 81-29847-8522 FRANCE, Intel Corporation S.A.R.L. 1, Quai de Grenelle, 75015 Paris Tel: +33 1-45717171 UNITED KINGDOM, Intel Corporation (U.K.) Ltd. Pipers Way, Swindon, Wiltshire, England SN3 1RJ Tel: +44 1-793-641440 GERMANY, Intel GmbH Dornacher Strasse 1 85622 Feldkirchen / Muenchen Tel: +49 89 / 99143-0 HONG KONG, Intel Semiconductor Ltd. 32 / F Two Pacific Place, 88 Queensway, Central Tel: +852 2844-4555 CANADA, Intel Semiconductor of Canada, Ltd. 190 Attwell Drive, Suite 500 Rexdale, Ontario M9W 6H8 Tel: +416 675-2438
Printed in USA / 96 / POD / PMG