Wednesday, July 29, 2009

Intels Bugs - Part 1

Several months ago I noticed that my xw4400 HP workstation would take a quad core cpu. I'll admit the quad core I put in wasn't the one in the spec. The spec called for a QX6700 and I used a Q6600. What I didn't expect was an error during boot. The error was an 1801 bios error. Basically it meant that the bios did not have the microcode for this chip. There is no fix and nor will there be. (see last paragraph) Although you can continue with (F10?) and it appears to run fine. (not exactly post Si verification)

What was this microcode?

There is either a form of ROM, diode matrix or CAD generated state machine logic in the cpu. A mini program that implements your program (machine code x86).
It turns out that nearly all Intel chips have bugs. Intel coyly calls them errata.

Bare in mind today's chips are really really complicated and the reliability of Intel processors in general is outstanding, but I was a bit surprised. Not having kept up on cpu design all these years.

Anyway, the bios identifies the cpu and uploads the appropriate patch to the chip. IBM used this sort of 'microcode' in RAM in the early days (real early) on their 360 systems.
I guess the patch is supplied by Intel to the bios or main board manufacturer. It may be that your bios doesn't give a rats which cpu is running and just accommodates it.

Microsoft to the rescue.
There is a KB article and download from Microsoft that apparently patches Intel cpus. Microsoft calls it a 'reliability update'. It can be found using the link below.

In my case HP were on the job. Their position is that the XWs are a high end workstation and everything must be tested and speced out. The Q6600 either had to many bugs or was not considered. The MS patch ain't there at boot so I caved and bought the darn QX6700.
Some things at HP are still the same.