January 1995

INTEL INSIDE, CAN'T DIVIDE

Perhaps you've heard that Intel's Pentium processor chip has a bug. The Pentium bug causes errors in division. It's enough to make you glad that you haven't upgraded from a 386 or 486 system to a Pentium.

It all started in June, when Thomas Nicely, a mathematician, couldn't get his calculations to check properly. By October he had isolated the problem: one of his computers had a Pentium chip, and it was making division errors. Division problems that should have been correct to 19 decimal digits were only accurate to eight digits.

As it turned out, Intel had known about the problem since the summer, but it did not stop production of chips with the defect. Nor did the company reveal the problem to its customers. When Nicely's discovery became known, Intel claimed that a typical user might encounter the "bug" once every 27,000 years.

IBM, however, calculated that users might be affected once every 28 days. IBM stopped shipping Pentium machines and offered to replace the defective part for its customers at no charge.

Observers have questioned IBM's motives. Some said that IBM hoped to promote its PowerPC, a rival to the Pentium, while others said that IBM hoped to slow down sales of Pentium systems at a time when it had few fast Pentium systems on the market compared to rivals Digital and Hewlett-Packard.

Estimates of how often a user will encounter the Pentium bug are misleading. If you take random numbers and divide them, it is true that you will rarely encounter the bug. Most people, however, do not use random numbers; they use specific numbers relevant to the problem they wish to solve. The Pentium is quite consistent: certain numbers always give the wrong answer.

TEST YOUR OWN PENTIUM

If you have a Pentium-based PC and Microsoft Windows, you can easily see the problem for yourself. Open the Accessories group and run the Windows calculator. Click on View and select Scientific. Now enter the number 824633702418. Then press the 1/x button to take the reciprocal of this number. Press 1/x a second time and you should get the original number back. With the flawed Pentium chips you never get the original number. The last four digits will change from 2418 to 5490.

Here is a worst-case example: Divide 4195835 by 3145727, which should be 1.333820..., but on the Pentium the result is 1.333739.... Notice that the error is in the fifth digit, which is 7 instead of 8.

Clearly this problem can affect any calculation without warning. It has nothing to do with how many divisions you do each day, as the Intel and IBM estimates suggested. All that matters are what numbers you divide. Any number you calculate could be wrong if you need more than four digits of precision.

Internally the problem with the chip is a table of numbers that is missing some entries. The result is that certain bit patterns are divided improperly.

INTEL'S RESPONSE

On December 20 Intel agreed to replace a flawed chip with a new one for any user who requests it. Apparently you need to return your defective chip to Intel so they can destroy it. According to The Wall Street Journal, you can call Intel at (800) 628-8686 to arrange for a replacement. Intel will pay for installation if you don't want to do it yourself.

As of mid-January, Intel says it is no longer making chips with this flaw. Of course, many PCs are still in the stores with the bad Pentium chips.

Should you replace a defective Pentium? Absolutely!

NOT THE FIRST BUG

This is not the first time a microprocessor has had a bug. Processors are so complex that they routinely have many bugs, which the manufacturer documents and gradually eliminates over time. Nobody goes back and replaces the bad chips, since in this sense all microprocessors would be defective.

So why is this particular Pentium bug such a big problem? Some people say the "Intel Inside" advertising campaign has made Intel look like a consumer-products company, so it must play by different rules now. Flaws must be corrected by recalls, just as with cars.

It is also true that Intel angered many people in the computer industry by claiming the bug would be unlikely to affect typical Pentium users. Perhaps that is true, but it provides little reassurance, because you have no way to tell if your calculations are wrong because of the bug.

That uncertainty is what sets this bug apart from others. When a bug occurs under unusual design conditions, engineers can build PCs to avoid those conditions. Or, if a processor instruction doesn't always work properly, software can usually work around the problem.

Unfortunately, there is no easy "work-around" for the Pentium division problem. The error is in the "floating point unit" (FPU), which performs high precision arithmetic very fast. It is not really a hardware bug, so no circuit redesign can fix it. Yet any software solution would be slow and totally defeat the point of having a fast FPU.

486SX owners will never encounter an FPU problem, since the 486SX does not have an FPU. The 486DX does have one, but it does not contain the bug found in the Pentium.

Intel took a $475-million charge against fourth-quarter earnings to cover its inventory of bad chips and the replacement of chips already sold. Intel says the Pentium represents 23% of the company's fourth-quarter revenue.


RTG Bills and RTG Timer are trademarks of RTG Data Systems. Other company and product names may be trademarks of the companies with which they are associated.

Back to the RTG News page