Advertisement

Does Your PC Have the Pentium Bug?

Share

The flaw in Intel’s Pentium computer chip involves the so-called floating point unit, which performs certain high-speed mathematical operations. Specifically, the Pentium makes mistakes on a very specific set of floating point division operations.

One way to think about it is to visualize the way we were all taught to do long division with paper and pencil. When we divide long numbers by hand, we actually spend most of our time multiplying numbers down the page in order to find the largest number that will go into the numbers remaining in the dividend. People who have the multiplication tables memorized beyond nine times nine can divide a lot faster than the rest of us--if, of course, they have memorized the tables correctly.

When the Pentium divides floating point numbers, it uses a look-up table embedded in the chip: The table tells it the quotient for division of any two pairs of binary numbers. (Computers use binary numbers--ones and zeros--at the chip level to represent the numbers we humans understand.) The look-up table in the Pentium is a matrix with about 1,500 numbers, but five entries were mistakenly left out. Whenever a Pentium encounters division of two pairs of binary numbers where the missing entries should be, it assumes the quotient is zero, when in fact it should be two.

Advertisement

Intel says only one in 9 billion sets of randomly generated numbers could be expected to trigger the error, and thus the average computer user is likely to encounter it only once in 27,000 years.

But IBM did its own probability analysis and concluded that a more likely error rate is once in every 100 million division operations. IBM said typical financial spreadsheet users could encounter an error every 24 days.

“Combine this with the fact that there are millions of Pentium users worldwide, and we quickly come to the conclusion that on a typical day a large number of people are making mistakes in their computations without realizing it,” IBM said in a summary of its findings posted on the Internet on Monday.

Does your computer have the Pentium bug? Even if you don’t have a Pentium, you can try these tests to see which answer you get. All you need is a spreadsheet program or even the Windows calculator.

Compute the following division formula: (4,195,835 x 256) (3,145,727 256). A Pentium computer with the flawed chip will erroneously answer 87,407.9, while a 486 computer will correctly answer 87,413.3. If you want to see how specific this problem is, try changing any one digit in any one of the numbers. You should then get the same result whether you do the problem on a Pentium or a PC with another microprocessor. If not, maybe you’ve discovered another cluster of numbers that cause the problem.

Advertisement