Introduction
This document is written for professional system integrators building PCs that use industry-accepted motherboards, chassis, and peripherals. This document provides an overview of the processor update utility, and describes how to use the utility to successfully integrate PCs based on Intel P6 and NetBurst microarchitecture microprocessors. The following information applies to PCs assembled using boxed P6 and NetBurst microarchitecture microprocessors. The boxed P6 and NetBurst microarchitecture processors are packaged for use by system integrators.
Processor Update Overview
P6, NetBurst and Intel® Pentium® M microarchitecture microprocessors may contain design defects or errors known as errata. Errata may cause the product to deviate from published specifications. The effects of most errata can be avoided by implementing a hardware or software workaround. Processor errata and workarounds are documented in the processor specification update. For a specific processor specification update, refer to the appropriate processor page on the Developer site.
P6 and NetBurst microarchitecture microprocessors allow certain types of errata to be worked around using microcode updates. The microcode updates reside in the system BIOS and are loaded into the processor by the system BIOS during the Power-On Self-Test, or POST.
Intel provides microcode updates to BIOS developers. BIOS code in motherboards based on P6 and NetBurst microarchitecture microprocessors contains microcode updates that are specific to the processor silicon stepping. Integrators must ensure that the microcode update matches the processor stepping. When the BIOS does not contain the microcode update that matches the processor stepping, integrators must install the latest update in the BIOS . Historically, systems based on P6 and NetBurst microarchitecture microprocessors have been updated by upgrading the BIOS with a new revision that contains the correct microcode update. However, this process may be time consuming when assembling and configuring many PC systems.
Intel has worked closely with BIOS developers to implement a processor update Applications Programming Interface (API), which allows just the microcode update within the BIOS to be installed. Motherboards that contain BIOS with the Intel-defined processor update API can be quickly and easily updated with the processor update utility, if required, without need for a complete BIOS upgrade.
The boxed processor s-spec information table contains the current microcode update revision for each boxed processor stepping. Table 1 contains the current microcode update revisions for all Intel P6 and NetBurst microarchitecture microprocessors supported by this utility. These update revisions are contained in the microcode update database file included with the processor update utility.
Table 1. Supported Processor Stepping and Microcode Update Revisions
Processor | Stepping | Stepping Signature | Microcode Update Revision Required |
Intel® Core® 2 Extreme (FC-LGA4)* | B2 | 0x6F6 | 0x44 |
Intel® Core® 2 Duo (FC-LGA4)* | B2 | 0x6F6 | 0x44 |
| Intel® Pentium® D Processor (FC-LGA4/FC-PGA2) | C1 | 0xF64 | 0x04 |
| Intel® Pentium® D Processor (FC-LGA4/FC-PGA2) | B1 | 0xF62 | 0x0D |
| Intel® Pentium® D Processor (FC-LGA4) | B0 | 0xF47 | 0x06 |
| Intel® Pentium® D Processor (FC-LGA4) | A0 | 0xF44 | 0x06 |
| Intel® Pentium® 4 Processor (FC-LGA4) | C1 | 0xF64 | 0x04 |
| Intel® Pentium® 4 Processor (FC-LGA4) | G1 | 0xF49 | 0x03 |
| Intel® Pentium® 4 Processor (FC-PGA2) | G1 | 0xF49 | 0x03 |
| Intel® Pentium® 4 processor (FC-LGA4/FC-PGA2) | G1 | 0xF49 | 0x03 |
| Intel® Pentium® 4 Processor (FC-LGA4) | N0 | 0xF43 | 0x05 |
| Intel® Pentium® 4 processor (FC-LGA4/FC-PGA2) | E0 | 0xF41 | 0x17 |
| Intel® Pentium® 4 processor (FC-LGA4/FC-PGA2) | D0 | 0xF34 | 0x17 |
| Intel® Pentium® 4 processor (FC-LGA4) | M0 | 0xF25 | 0x2C |
| Intel® Pentium® 4 processor (FC-PGA2) | C0 | 0xF33 | 0x0C |
| Intel® Pentium® 4 processor (FC-PGA2) | D1 | 0xF29 | 0x2E |
| Intel® Pentium® 4 processor (FC-PGA2) | C1 | 0xF27 | 0x37 |
| Intel® Pentium® 4 processor (FC-PGA2) | M0 | 0xF25 | 0x2B |
| Intel® Pentium® 4 processor (FC-PGA2) | E0 | 0xF13 | 0x05 |
| Intel® Pentium® 4 processor (FC-PGA2) | B0 | 0xF24 | 0x1E |
| Intel® Pentium® 4 processor (FC-PGA2) | D0 | 0xF12 | 0x2E |
| Intel® Pentium® 4 processor (OOI) | D0 | OxF12 | 0x2D |
| Intel® Pentium® 4 processor (FC-PGA2) | C1 | 0xF0A | 0x14 |
| Intel® Pentium® 4 processor (OOI) | C1 | 0xF0A | 0x13 |
| Intel® Pentium® 4 processor (OOI) | B2 | 0xF07 | 0x12 |
| Intel® Xeon® processor | R0 | 0xF4A | 0x02 |
| Intel® Xeon® processor MP | A0 | 0xF41 | 0x16 |
| Intel® Xeon® processor | N0 | 0xF43 | 0x05 |
| Intel® Xeon® processor | E0 | 0xF41 | 0x17 |
| Intel® Xeon® processor | DO | 0xF34 | 0x17 |
| Intel® Xeon® processor MP | C0 | 0xF26 | 0x0E |
| Intel® Xeon® processor MP | A0 | 0xF22 | 0x05 |
| Intel® Xeon® processor MP | B1 | 0xF25 | 0x2A |
| Intel® Xeon® processor MP | C0 | 0xF11 | 0x0A |
| Intel® Xeon® processor | D1 | 0xF29 | 0x2D |
| Intel® Xeon® processor | C0 | 0xF26 | 0x10 |
| Intel® Xeon® processor | M0 | 0xF25 | 0x29 |
| Intel® Xeon® processor | D0 | F34 | 0x0E |
| Intel® Xeon® processor | C1 | 0xF27 | 0x38 |
| Intel® Xeon® processor | B0 | 0xF24 | 0x1F |
| Intel® Xeon® processor | D0 | 0xF12 | 0x2F |
| Intel® Xeon® processor | C1 | 0xF0A | 0x15 |
| Intel® Pentium® III-S processor (FC-PGA2) | tB1 | 0x6B4 | 0x01 |
Intel® Pentium® III-S processor (FC-PGA2) | tA1 | 0x6B1 | 0x1C |
Intel® Pentium® III processor (FC-PGA2) | tB1 | 0x6B4 | 0x01 |
Intel® Pentium® III processor (FC-PGA2) | tA1 | 0x6B1 | 0x1C |
Intel® Pentium® III processor (FC-PGA) | cD0 | 0x68A | 0x01 |
Intel® Pentium® III processor (S.E.C.C.2) | cC0 | 0x686 | 0x07 |
Intel® Pentium® III processor (FC-PGA) | cC0 | 0x686 | 0x08 |
Intel® Pentium® III processor (S.E.C.C.2) | cB0 | 0x683 | 0x13 |
Intel® Pentium® III processor (FC-PGA) | cB0 | 0x683 | 0x14 |
Intel® Pentium® III processor (S.E.C.C.2) | cA2 | 0x681 | 0x0D |
| Intel® Pentium® III processor (FC-PGA) | cA2 | 0x681 | 0x11 |
Intel® Pentium® III processor (S.E.C.C.2) | kC0 | 0x673 | 0x0E |
Intel® Pentium® III processor (S.E.C.C.2) | kB0 | 0x672 | 0x10 |
Pentium® III Xeon® processor | B0 | 0x6A4 | 0x01 |
Pentium® III Xeon® processor | A1 | 0x6A1 | 0x01 |
Pentium® III Xeon® processor | A0 | 0x6A0 | 0x03 |
Pentium® III Xeon® processor | C0 | 0x686 | 0x02 |
Pentium® III Xeon® processor | B0 | 0x683 | 0x10 |
Pentium® III Xeon® processor | A2 | 0x681 | 0x10 |
Pentium® III Xeon® processor | C0 | 0x673 | 0x2E |
Pentium® III Xeon® processor | B0 | 0x672 | 0x38 |
Pentium® II processor | dB1 | 0x653 | 0x10 |
Pentium® II processor | dB0 | 0x652 | 0x2A |
Pentium® II processor | dA1 | 0x651 | 0x40 |
Pentium® II processor | dA0 | 0x650 | 0x40 |
Pentium® II processor | C1 | 0x634 | 0x35 |
Pentium® II processor | C0 | 0x633 | 0x34 |
Pentium® II Xeon® processor | B1 | 0x653 | 0x0B |
Pentium® II Xeon® processor | B0 | 0x652 | 0x2B |
| Intel® Celeron® D processor (FC-LGA4/FC-PGA2) | C1 | 0xF64 | 0x04 |
| Intel® Celeron® D processor (FC-LGA4/FC-PGA2) | G1 | 0xF49 | 0x03 |
| Intel® Celeron® D processor (FC-LGA4/FC-PGA2) | E0 | 0xF41 | 0x17 |
| Intel® Celeron® D processor (FC-LGA4/FC-PGA2) | B1 | 0xF34 | 0x17 |
| Intel® Celeron® D processor (FC-PGA2) | C0 | 0xF33 | 0x0C |
| Intel® Celeron® D processor (FC-PGA2) | B1 | 0xF32 | 0x0A |
Intel® Celeron® processor (FC-PGA2) | D1 | 0xF29 | 0x2E |
Intel® Celeron® processor (FC-PGA2) | C1 | 0xF27 | 0x37 |
Intel® Celeron® processor (FC-PGA2) | E0 | 0xF13 | 0x05 |
Intel® Celeron® processor | tA1 | 0x6B1 | 0x1C |
Intel® Celeron® processor | tB1 | 0x6B4 | 0x01 |
Intel® Celeron® processor | cD0 | 0x68A | 0x01 |
Intel® Celeron® processor | cC0 | 0x686 | 0x08 |
Intel® Celeron® processor | cB0 | 0x683 | 0x14 |
Intel® Celeron® processor | mB0 | 0x665 | 0x03 |
Intel® Celeron® processor | mA0 | 0x660 | 0x0A |
Intel® Celeron® processor | dA1 | 0x651 | 0x40 |
Intel® Celeron® processor | dA0 | 0x650 | 0x40 |
Intel® Pentium® M processor (uFC-PGA) | PC0 | 0x6D8 | 0x20 |
Intel® Pentium® M processor (uFC-PGA) | PB1 | 0x6D6 | 0x18 |
Intel® Pentium® M processor (uFC-PGA) | B1 | 0x695 | 0x07 |
Mobile Pentium® 4 processor (uFC-PGA) | D1 | 0xF29 | 0x2F |
Mobile Pentium® 4 processor (uFC-PGA) | B0 | 0xF27 | 0x39 |
Mobile Pentium® 4 processor (uFC-PGA) | B0 | 0xF24 | 0x20 |
Mobile Pentium® III processor (uPGA2) | B1 | 0x6B1 | 0x1D |
Mobile Pentium® III processor (uPGA2) | D0 | 0x68A | 0x04 |
Mobile Pentium® III processor (mPGA) | C0 | 0x686 | 0x0B |
Mobile Pentium® III processor (mPGA) | CO | 0x686 | 0x0A |
Mobile Pentium® III processor (mPGA) | B0 | 0x683 | 0x07 |
Mobile Pentium® III processor (MMC) | B0 | 0x683 | 0x08 |
Mobile Pentium® III processor (mPGA) | A2 | 0x681 | 0x0E |
Mobile Pentium® III processor (MMC) | A2 | 0x681 | 0x0F |
Intel® Celeron® M processor (uFC-PGA) | B1 | 0x695 | 0x47 |
Mobile Intel® Celeron® processor (uFC-PGA) | C0 | 0xF33 | 0x0B |
Mobile Intel® Celeron® processor (uFC-PGA) | B0 | 0xF24 | 0x21 |
Mobile Intel® Celeron® processor (uFC-PGA) | C1 | 0xF27 | 0x39 |
Mobile Intel® Celeron® processor (uFC-PGA) | D1 | 0xF29 | 0x2F |
Mobile Intel® Celeron® processor (uFC-PGA) | B1 | 0x6B1 | 0x1D |
Mobile Intel® Celeron® processor (uFC-PGA) | DO | 0x68A | 0x05 |
Mobile Intel® Celeron® processor (uFC-PGA) | DO | 0x68A | 0x04 |
Mobile Intel® Celeron® processor (mPGA) | CO | 0x686 | 0x0B |
Mobile Intel® Celeron® processor (MMC) | cmmA0 | 0x66A | 0x0D |
Mobile Intel® Celeron® processor (mPGA) | mcpA0 | 0x66A | 0x0B |
If a new microcode update needs to be installed in the BIOS, the BIOS must contain the Intel-defined processor update API in order for the utility to permanently install the latest update. Otherwise, a complete BIOS upgrade is required from the motherboard vendor. Refer to the list of tested motherboards in the Processor section of Technical Reference and Support for a list of boards that support the processor update API.
Intel recommends that the processor update utility be run after upgrading a motherboard BIOS and before installing the operating system when building a system based on a P6 and NetBurst microarchitecture microprocessor. The utility is easy to use and executes in just a few seconds. The following information on this page indicates how to obtain and use the utility. Examples of use are also shown.
Download Processor Update Utility
The processor update utility supports systems based on Intel P6 and NetBurst microarchitecture microprocessors. The Intel-defined processor update API is identical for all P6 and NetBurst microarchitecture microprocessors. The processor update utility and all associated files are compressed into a self-extracting archive file. The archive includes the following files:
- CHECKUP7.EXE -- Latest version DOS application that verifies a valid microcode update is loaded into the processor by the BIOS. This utility also updates the microcode update, as required, in motherboards containing a BIOS that supports the Intel-defined processor update API.
- PEP.DAT -- Database file containing all microcode updates
- README.TXT -- ASCII text help file that can be viewed from CHECKUP7.EXE
- AUTOEXEC.BAT -- DOS batch file to automatically invoke the processor update utility at boot.
- AGREE.TXT -- Software License Agreement
Download Update Utility | Version | File Size | Date Posted |
| PUPDT717.EXE | 7.16 | 146KB | July 20th, 2006 |
Using the Processor Update UtilityUncompress update utility execution file onto a temporary directory (e.g., C:\WINDOWS\TEMP). Read the license agreement in the file AGREE.TXT. You must agree to the license agreement in order to uncompress the utility and included files to a DOS bootable floppy disk. Since this is a self-extracting archive file, insert a DOS bootable floppy disk into the disk drive. Type the following command at the DOS prompt, for example:
- STATUS.LOG -- ASCII file that contains the messages that were printed to the screen during the most recent update session.
To enable writing to the flash memory, make sure that any jumper settings on the motherboard are placed in the "enable flash upgrade" position. To invoke the utility, boot from the newly created bootable floppy disk. The utility will automatically be invoked. You can also type the following command at the DOS prompt to invoke the utility:
- CHECKUP7 <CR>
- The general syntax is: CHECKUP7 -[flag]<CR>
where [flag] is one or more of the following:
<m> | Causes the main menu to be displayed. From this menu, the help file can be displayed. The command line option does not enable user prompts to confirm any permanent or temporary loading of microcode updates into BIOS. |
<u> | Forces user confirmation. If the utility is about to make changes to your system, the user will be prompted for confirmation. |
<p> | Specifies on the command line an external microcode update database file (*.pdb). The utility already includes the latest microcode updates for all production Intel P6 and NetBurst microarchitecture microprocessors. The syntax is "CHECKUP6 -P " Use this command line option if you have a separate Intel database file. Database files usually end with a .PDB extension. |
The typical batch file syntax to force user input and use a specific PDB file would be one of the following:
CHECKUP7 -u -p PEP5.PDB<CR>
or
CHECKUP7 -p PEP5.PDB -u<CR>
Functional Description
Example 1:Update API is not present in the BIOS
For motherboards with a BIOS that does not have the Intel-defined processor update API, the utility can be used to determine that the BIOS loads the latest microcode update into the processor. The utility will display the bootstrap processor stepping signature, which consists of the Family, Model, and Stepping number. (Example: Stepping signature 616 can be broken into Family=6, Model=1, Stepping=6). Next, an indication hat the API does or does not exist and the revision of the microcode update loaded into the processor by the BIOS will be displayed. The utility will then display the revision of microcode update in the database file. If this revision is newer than the update loaded into the processor, the utility will ask if you wish to temporarily load the update into the processor and boot to the hard disk.
Following is a typical example where API is not present in the BIOS, but an update is required:
Your system will not allow this utility to permanently
Would you like to temporarily load the microcode update The update was loaded into the processor. You need to << Please remove Floppy from Floppy Disk Drive, |
The above example indicates that the processor has not been loaded with a microcode update. A revision "D2" microcode update is available. The user has selected a temporary loading of the microcode update. However, this process must be repeated at each system boot unless the microcode update is permanently installed in the BIOS. Permanent installation of the microcode update when the API is not present can only be achieved with a BIOS upgrade.
Example 2:Update API is present in the BIOS
For motherboards with a BIOS that does have the Intel-defined processor update API, the utility can determine if the BIOS has loaded the latest microcode update into the processor and, if required, can install a new microcode update. The utility will display the bootstrap processor stepping, and revision of the microcode update loaded into the processor if it is present. Next, since the BIOS contains the API in these examples, the processor update utility and the API automatically determine if the microcode update in the BIOS should be updated.
Following is a typical example where API is present in the BIOS, and no update is required because the microcode update in BIOS is current:
Your processor contains a microcode update, revision 34. |
Following is a typical example where API is present in the BIOS, but an update to a later microcode update file is required:
Your processor contains a microcode update, revision 29. The database file contains a microcode update (revision 30) Would you like to permanently install the microcode update The microcode update was successfully loaded. << Please Remove Floppy from Floppy Disk Drive, |
Important Note: After running the utility, remove the bootable disk from the disk drive and turn off power to the system to reboot (do not warm boot) to ensure that the new update is correctly initialized in the processor. Also, make sure all jumpers are returned to their normal position.


