Intel 253668-032US User Manual

Page of 806
Vol. 3   9-37
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-6 provides a definition of 
the fields; Table 9-7 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 microcode 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)). 
Figure 9-7.  Applying Microcode Updates
CPU
BIOS
Update
Blocks
New Update
Update
Loader