The Pentium Bug

Are you using a PC based on Intel's Pentium processor yet? Last fall, I would have been jealous, but I'm not sure today. The first several million Pentium chips shipped by Intel produced wrong answers, and ever since, a debate has raged in technical circles about the likelihood of users experiencing a problem with certain mathematical computations. The problem first surfaced when mathematics professor Thomas Nicely of Lynchburg College discovered calculation anomalies on advanced work he was processing on a Pentium-based PC.

Intel, the manufacturer of the Pentium processor along with most of the 386 and 486 chips used in the previous generations of PCs, managed to turn this error into a disaster through two unwise public-relations moves. The first blunder was to ridicule the possibility that any business user of the chip would actually encounter the error. By generating random, floating-point problems and predicating that typical users of the chip would perform 1000 division operations per hour and actually only use division 15 minutes per day, they assured the public that an average user would only encounter an error every 27,000 years. Intel's second mistake was to only replace the defective chips for those who could demonstrate that they were in the small group of users who might need more accurate arithmetic.

Now, I am normally not a big fan of IBM, but IBM has sold a large number of computers featuring the Pentium processor, and they do have a reputation for standing behind their products, occasionally going to ridiculous lengths to keep their customers' computers operating. IBM assigned a research team to investigate the problem and reached a completely different conclusion than Intel. The problem centers around the floating-point-arithmetic component of the Pentium processor, which features a "lookup table" that speeds up calculations by using the last four digits of a calculation to predict the next step in long division. According to friends who understand the process, this is a valid approach. Alas, IBM discovered that five of the 256 answers in the lookup table are +2 when they should be 0.

The bug bites when the value of either the numerator or denominator in a division problem includes a long string of digital 1s. (Since internal computations are based on binary code, all figures are represented by some combination of 1s and 0s.) Testing by random pairs of numbers to discover the problem, as Intel did, will not result in many incorrect answers. But testing with numbers that are themselves the results of previous calculations does produce wrong answers.

For example, the internal representation of the number 3 does not include a large pattern of binary 1s (internally, it is represented merely as 11). But the internal value of 4.1-1.1 could cause problems on Pentium machines because the fractions introduce long strings of 1s. Problems that involve recursive math, that is, problems with multiple steps where later steps deal with the results from the original steps, are several orders of magnitude more likely to end up with wrong answers. In other words, the Pentium chip is very reliable with the kind of problems that you would normally do with a calculator, but is potentially dangerous for problems that you would normally set up a spreadsheet to solve.

Consider this problem: 4195835-((4195835/3145727) x 3145727). I called my 16-year-old daughter to the computer and asked her what the answer to that was. It took her about 20 seconds to notice that the problem could be stated as A-((A/B) x B), which resolves to A-A, which is obviously 0. Drop three or four grand on a hot Pentium machine, enter that problem in a cell on an Excel spreadsheet, and you get 256. And somebody is doing estimates with this machine? (Amelia says she would have been able to solve the problem in fifth or sixth grade.)

Just before Christmas, Intel finally changed their replacement policy from "prove that you need one" to "we'll send one as soon as we can." Since the Pentium chip is a complex and expensive device, Intel doesn't have a huge pile of extra chips sitting around to mail out to those who request them, but at least they've accepted responsibility for the error. Nevertheless, they have not, to my knowledge, acknowledged the absurdity of their error-prediction analysis, and most business users should be outright offended by Intel's estimates of the amount of work we do on our computers!

If you have a reasonably complex illustration in FreeHand or CorelDRAW!, imagine how many division operations are involved in resizing that illustration three or four times. Or take a 5 MB scanned image in Photoshop, rotate it a few degrees, and apply the Unsharp Mask filter--I suspect there is more floating-point math in that common sequence than Intel predicted the average user would do in a year.

Should you buy a Pentium-based PC? I certainly wouldn't without some certification from the system manufacturer that the chip in the machine has passed diagnostic tests, was proven to be of recent manufacture, and did not have the division problem.

If you already have a Pentium PC, call the computer manufacturer to find out whether or not you own a machine with a defective chip. Don't mess around on this score--insist on resolving the issue. If you aren't certain that you've resolved the problem with the manufacturer, call Intel at 800-628-8686 (national), 916-356-3551 (international), or 44 0793 696776 (Europe).

What if you don't have a Pentium PC now but are considering one? Three paths are open. All the defective Pentium chips should be through the distribution channels by summer, so you could just wait it out. You could buy one from a vendor who can guarantee that you won't get a bad chip, and you can bet that the larger vendors will be quite able to offer you complete security in this regard. IBM, for example, has done all the research necessary to make such assurances. Finally, you might decide to wait and see if the "Intel inside" juggernaut has run out of steam and if a competing chip might take over Intel's marketshare.

Long-time readers will remember my November 1992 column that showed how close Apple has come to matching the price of Intel-equipped PCs. Since then, the Macintosh platform has continued to improve. In fact, the slowest Macintosh equipped with the Power PC chip (the model 6100, running at 60 MHz as I write and expected to run at 66 MHz by the time that you read this) is faster than the fastest Pentium (100 MHz) at graphic applications when similarly equipped. It also costs less. The basic designs of the Power PC and the Pentium chip assure that the Power PC is always going to cost less than the Pentium at the chip level.

The Pentium offers some interesting capabilities besides being a faster version of the 486, but no graphic software (and no operating system) currently supports these capabilities, nor are they likely to. The Power PC chip offers a major step forward in power since the Motorola 68040 chip used in the previous generation of Macintosh systems. I can't think of a single graphic application that has not been written to take advantage of the Power PC chip.

The next version of the Macintosh operating system (code named Copland) has been largely rewritten to take advantage of the Power PC processor, and is, even six months in advance of release, noticeably faster than the current system software. Microsoft Corp.'s upgraded platform for PCs, Windows 95 (code named Chicago), has been largely rewritten to take advantage of the 486 processor and looks and acts a great deal like the Macintosh system of a couple of years ago. If the product ever ships (release was recently deferred from April to September), no one has claimed that it will be faster than Windows 3.1.

Before Windows 95 gets to the streets, the eight vendors that have licensed the Macintosh operating system (sorry, I can't give names yet) will be shipping Macintosh "clones," some only in Europe, but most will be competing for your business. For many years, the prospect of clones of the Mac were remote. But now that Apple is the largest vendor of personal computers in the world (and would sell more if they could make more), they have decided that growing the market for Macintosh application software will give software developers the incentive to maintain the lead that Macintosh has always had in productivity.

Some of Intel's competitors are going to make a big deal out of the Pentium problem. There is little doubt that Intel, had they been forthcoming about the actual potential for corrupted data as soon as they learned of it and taken responsibility for the mess at that time, could have greatly reduced the damage to their own reputation and future business. I don't hold stock in any of the companies I've mentioned. My only concern is to get the most reliable product to work in my shop and hope that I don't get burned in the transition.

In each phase of the computer industry's growth, there have been massive upheavals, and a great deal of installed equipment has become obsolete almost overnight. Intel and Microsoft are showing the same arrogance toward their customers that Digital Research (remember CP/M?) and IBM once showed. We could once again be at such a transition point in computer technology, and I wouldn't want to make a bet on either Windows 95 or the Pentium chip for a while.

In my next column, I'll discuss scanner basics for halftones. I've scanned thousands of images. Some printed well and others didn't. Combine your experience with mine and print better halftones in the future.


As always, I can be reached at:
G. Armour Van Horn
PO Box 1478
Freeland, WA 98249-1478
Internet:vanhorn@whidbey.net
http://www.whidbey.net/vanhorn/home.htm

Copyright © 1995 G. Armour Van Horn, all rights reserved.
Back to Computer Connections index page