NT1110 Monday
Research Paper: Pentium Flaw
In 1994 there was a major flap in the media about Intel’s Pentium microprocessor chip. The Pentium microprocessor is the CPU for what were the widest selling personal computers. Unlike previous CPUs that Intel made, the 486Dx and Pentium chips included a floating point unit (FPU). Previous Intel CPUs did all their arithmetic using integers; and Pentium chips have these instructions built into the chip, in their FPUs. This made them much faster for intense numerical calculations, more complex, and more expensive. The problem for Intel was that all Pentiums manufactured until sometime this fall had errors in the on-chip FPU instructions for division. This caused the Pentium’s to incorrectly divide certain floating- point numbers.
Many software packages, including many that do use floating point numbers, don’t actually use a computer’s FPU. These packages don’t show the error. Also, only certain numbers whose binary representation show specific bit patterns divide incorrectly. Consequently many users may never encounter the division error. The most famous example and the worst well-known case is 4195835/3145727, discovered by Tim Coe. Under certain data dependent conditions, low order bits of the result of floating point division operations would be incorrect, an error that can quickly compound in floating point operations to much larger errors in subsequent calculations. Intel corrected the error in a future chip revision, but nonetheless declined to disclose it.
Dr. Thomas Nicely, Professor of Mathematics at Lynchburg College independently discovered the bug. And upon receiving no response from his inquiry to Intel, on October 30 posted a message on the internet. Word of the bug spread quickly on the internet and then to the industry press. Because the bug was easy to replicate by an average user there was a sequence of numbers one could enter into OS calculator to show the error, Intel’s