• Please review our updated Terms and Rules here

Pentium FDIV Bug

dave_m

Veteran Member
Joined
Feb 2, 2009
Messages
3,651
Location
Southern California, USA
Does anyone remember this Intel public relations disaster?

In 1994 I bought a Dell 90 MHz Pentium PC. It was my first tower and for the first and only time I briefly had a state-of-the art machine. I think it was the first Intel processor to operate at 3.3 Volts.

I was very fond of it but then the news came out about the “FDIV” bug. With dread I tried the simple math test: 4195835*3145727/3145727 = 4195835 using the Windows calculator applet. If the answer came out 4195579, you had the buggy chip.

At first Intel said it was such a minor error that it would only replace the chip if you could “prove” you needed it for precision work like math professors, etc. You can imagine the stink that caused. Finally after a lot of bad press, Intel agreed to replace them on request.

Dell did a super job in this. They sent a kit with the new chip and a tool for pulling the old chip as well as clear instructions. They also, as I recall, sent a postage paid mailer in which you had to return the old chip by a certain time or risk being charged a lot of money.

I wish I had kept the old chip as I bet they are now quite rare. Does anyone have one with the buggy floating point unit?
-Dave
 
...I wish I had kept the old chip as I bet they are now quite rare. Does anyone have one with the buggy floating point unit?

As I recall, I have (Socket 4) Pentium 60 and 66MHz CPUs both with and without the FDIV bug. I can't quite remember if I have any (Socket 5) Pentium 75 and 90MHz CPUs with the FDIV bug. There are lists posted on the 'Net telling which Intel "S-specs" (an Intel 5 character code, printed on the CPU in a form like "SZ-986") are affected by the bug (nothing out of the MHz ranges I provide above, and not the "Pentium Overdrive Processor for the 486", something like the A and B steps of the CPU mask).
 
Last edited:
I kind of both see and don't see the point of keeping a defective processing unit. :p
 
Don't know about that one. What is it?

Early 80386DXs were very flakey when run in protected 32-bit mode. Intel determined that this was a "quality" issue and not a design one. They tightened up the QA testing and put two sigmas on the chips that had been so checked. I seem to recall that this affected only the 16MHz 80386DX chips.
 
Early 80386DXs were very flakey when run in protected 32-bit mode. Intel determined that this was a "quality" issue and not a design one. They tightened up the QA testing and put two sigmas on the chips that had been so checked. I seem to recall that this affected only the 16MHz 80386DX chips.
And (as I recall) the notation stayed for later 386DXs...
 
For whatever it's worth, the bug apparently is something spurious in the multiply instruction, only when it is running in full 32-bit protected mode.

Non-double sigma early chips would simply be untested; maybe you're more interested in "16-BIT S/W ONLY" chips which were 386's that were found to have the defect. Ah, keeping a 386 and only using it for 16-bit software... not the greatest use ever.
 
Whoa, what's so cool about those?
I have a Siemens 8088 with a '78 Intel copyright.

I don't know if it also applied to non-Intel fabs (e.g. AMD, Siemens,...).

The early 8088s handled the sequence:

Code:
      mov     ss,xxx
     mov     sp,xxx

as separable events. That is, if an interrupt hit between the two instructions, the interrupt would start using the new stack segment before the new stack offset was loaded. Very bad news--and frustrating to find. That's why you'll often see these bracketed by cli and sti instruction pairs, even though the datasheet says you don't have to do it.

There was also some jazz-up with prefix codes. I seem to recall it was something like

rep stsob ds:[di]

could lose the data seg override after a return from interrupt. Maybe I've got that wrong, but it was something to do with multiple prefixes.

Early steppings of the 80186 would clobber the SI and DI registers if a DMA operation was attempted while a rep movsw was in progress.

I think even the early editions of the 8085 had reset issues...

Bugs make life interesting...
 
Are the 386DX-16 non double sigma and Pentiums with FPU bug worth anything? I have a couple 386DX/16's from old PS/2 towers and a couple of the early P60/66 units (one in a PS/2 9595 and one in a packard Bell Desktop).
 
I don't know if it also applied to non-Intel fabs (e.g. AMD, Siemens,...).

The early 8088s handled the sequence:

Code:
      mov     ss,xxx
     mov     sp,xxx

as separable events. That is, if an interrupt hit between the two instructions, the interrupt would start using the new stack segment before the new stack offset was loaded. Very bad news--and frustrating to find. That's why you'll often see these bracketed by cli and sti instruction pairs, even though the datasheet says you don't have to do it.

There was also some jazz-up with prefix codes. I seem to recall it was something like

rep stsob ds:[di]

could lose the data seg override after a return from interrupt. Maybe I've got that wrong, but it was something to do with multiple prefixes.

Early steppings of the 80186 would clobber the SI and DI registers if a DMA operation was attempted while a rep movsw was in progress.

I think even the early editions of the 8085 had reset issues...

Bugs make life interesting...

It's at this point I should crack open that 8088 project book and figure out what the heck any of that means.

But certainly, bugs do make life interesting.
 
Are the 386DX-16 non double sigma and Pentiums with FPU bug worth anything? I have a couple 386DX/16's from old PS/2 towers and a couple of the early P60/66 units (one in a PS/2 9595 and one in a packard Bell Desktop).

That depends who you ask - you'll find a couple FDIV Pentiums floating around on ePay for $100+. Are they worth that, though?
 
I don't know if it also applied to non-Intel fabs (e.g. AMD, Siemens,...)...

No, the non-Intel units didn´t have the bug (and from what I know it isn´t even on the 8086). IBM had a program to replace whichever 8088 that was present (and notice the amount of AMD 8088s in the PC & XTs) with the later model when customers ordered an 8087. Lead to the mistaken theory that the 8088 & 8087 were somehow matched to each other, or that the 8087 didn´t run with other manufacturers´ 8088s.
 
That depends who you ask - you'll find a couple FDIV Pentiums floating around on ePay for $100+. Are they worth that, though?
What it's worth is a combination of how serious your collection is, and how much $100 means to you.

I couldn't find them on my systems offhand, but there are a couple of programs out there to check for both bugs. You could go through a few earlier chips to see if you find one. My take is that if I find one then it's worth $100, and if I don't, then it's not. :p
 
Does anyone remember this Intel public relations disaster?

I remember it well. Partly because I took a school tour of an Intel facility right when that was going on; and partly because I not only had such a system, but had an actual confirmed case of it causing trouble.

I was a CAD student back then, and had a Pentium 90 MHz system running the software CADKey 5. Every once in a while, when I would rotate the view, a random line would go shooting out from one of my junction points, going the wrong way. The symptom went away when I got my fixed chip.

And I have a souvenir from the Intel tour: A keychain with a Pentium die embedded in it. I still have that keychain. (And holy cow was the original Pentium die huge compared to current processors!)
 
Back
Top