background image

9-28 Vol. 3A

PROCESSOR MANAGEMENT AND INITIALIZATION

9.11.1 Microcode 

Update

A microcode update consists of an Intel-supplied binary that contains a descriptive header and data. No executable 
code resides within the update. Each microcode update is tailored for a specific list of processor signatures. A 
mismatch of the processor’s signature with the signature contained in the update will result in a failure to load. A 
processor signature includes the extended family, extended model, type, family, model, and stepping of the 
processor (starting with processor family 0fH, model 03H, a given microcode update may be associated with one of 
multiple processor signatures; see Section 9.11.2 for detail).
Microcode updates are composed of a multi-byte header, followed by encrypted data and then by an optional 
extended signature table. Table 9-7 provides a definition of the fields; Table 9-8 shows the format of an update. 
The header is 48 bytes. The first 4 bytes of the header contain the header version. The update header and its 
reserved fields are interpreted by software based upon the header version. An encoding scheme guards against 
tampering and provides a means for determining the authenticity of any given update. For microcode updates with 
a data size field equal to 00000000H, the size of the microcode update is 2048 bytes. The first 48 bytes contain the 
microcode update header. The remaining 2000 bytes contain encrypted data. 
For microcode updates with a data size not equal to 00000000H, the total size field specifies the size of the micro-
code update. The first 48 bytes contain the microcode update header. The second part of the microcode update is 
the encrypted data.  The data size field of the microcode update header specifies the encrypted data size, its value 
must be a multiple of the size of DWORD. The total size field of the microcode update header specifies the 
encrypted data size plus the header size; its value must be in multiples of 1024 bytes (1 KBytes). The optional 
extended signature table if implemented follows the encrypted data, and its size is calculated by (Total Size – (Data 
Size + 48)). 

NOTE

The optional extended signature table is supported starting with processor family 0FH, model 03H.

. 

Figure 9-7.  Applying Microcode Updates

Table 9-7.  Microcode Update Field Definitions

Field Name

Offset (bytes)

Length 

(bytes)

Description

Header Version

0

4

Version number of the update header.

Update Revision

4

4

Unique version number for the update, the basis for the update 

signature provided by the processor to indicate the current update 

functioning within the processor.  Used by the BIOS to authenticate 

the update and verify that the processor loads successfully.  The 

value in this field cannot be used for processor stepping identification 

alone.  This is a signed 32-bit number.

Date

8

4

Date of the update creation in binary format: mmddyyyy (e.g. 

07/18/98 is 07181998H).

CPU

BIOS

Update

Blocks

New Update

Update
Loader