The Pentium Problem
The Pentium Problem
Copyright 1995 by Mark Janeba
Late last year [1994] there was a major flap in the media about
Intel’s Pentium (TM) microprocessor
chip. In this article I will try to summarize what the fuss was about, and some of the
mathematics involved.
The Pentium microprocessor is the CPU (central processing unit) for what are now
possibly the widest-selling personal computers. Unlike previous CPUs that Intel made, the
486DX and Pentium chips included a floating-point unit (FPU) also know as a math
coprocessor. Previous Intel CPUs did all their arithmetic using integers; programs that
used floating-point numbers (non-integers like 2.5 or 3.14) needed to tell the chip how
(for example) to divide them using integer arithmetic. The 486DX and Pentium chips
have these instructions built into the chip, in their FPUs. This makes them much faster for
intense numerical calculations, more complex, and more expensive. The problem for Intel
is that all Pentiums manufactured until sometime this fall had errors in the on-chip FPU
instructions for division. This caused the Pentium’s FPU 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 of
Vitesse Semiconductors. The correct value is 1.33382 to 6 sig. figs, while the flawed
Pentium’s floating-point unit computed 1.33374 to 6 sig figs, a relative error of 0.006%.
One can easily test a Pentium using Microsoft’s Windows and this example: Use the
Windows calculator in scientific mode to divide Coe’s numbers and compare to the
numbers above.
How did all this get into the news? Thomas Nicely is a math professor at Lynchburg
College, a school about Willamette’s size in Virginia. In summer/fall 1994, he was
computing the sum of the reciprocals of a large collection of prime numbers on his
Pentium-based computer. Checking his computation, he found the result differed
significantly from theoretical values. He got correct results by running the same program
on a computer with a 486 CPU, and finally he tracked the error to the Pentium itself.
After getting no real response to his initial queries to Intel, and after checking his facts,
Nicely posted a general notice on the Internet asking for others to confirm his findings.
Magazine interviews and ultimately a CNN interview followed.
Intel publicly
announced that «an error is only likely to occur [about] once in nine billion
random floating point divides», and that «an average spreadsheet user could encounter
this subtle flaw once in every 27,000 years of use. » Critics noted that while hitting a pair
of «bad inputs» was unlikely, the Pentium’s output for those inputs was wrong every time.
Others suggested that some «bad inputs» might occur with disproportionate frequency in
common calculations. Many noted that without completely repeating massive calculations
on other computers, they could never tell if they had indeed encountered any of the bad
inputs. Within a month
IBM halted shipment on Pentium-based computers (which
comprised only a small percentage of IBM’s computer production) and announced that
«Common spreadsheet programs, recalculating for 15 minutes a day, could produce
Pentium-related errors as often as once every 24 days.»
Intel’s policy, when it first publicly admitted the problem around November 28 of 1994,
was to replace Pentium chips only for those who could explain their need of high
accuracy in complex calculations. (Being a math professor seemed to help. ) Great public
outcry ensued, with Intel the butt of many jokes. By late December
Intel capitulated and
announced a free replacement Pentium for any owner who asked for one.
The mathematical basis for the bug: The built-in divider in the Pentium FPU uses a radix
4 SRT algorithm.
The strength of this algorithm is that it can compute two (binary) digits
of a quotient per step, rather than only one per step as in earlier Intel FPU’s. The
weakness is that the algorithm needs a stored table of values (a «division table», not unlike
a «multiplication table»). This table was incorrectly entered into the Pentium FPU — five
entries out of about a thousand were omitted. As in normal long division, at each step in
dividing m by n, the Pentium looks at the first few digits of n
and of the remainder so far.
It uses these as column and row entries in its table to estimate the next few digits of the
quotient, then multiplies and subtracts to get the next remainder by the usual method. The
table includes negative entries that make up for over-estimation in previous steps, and of
course the Pentium does it all using binary instead of decimal numbers.
Using regular long division, the remainder should always be less than ten times the
divisor. Similarly, some combinations of remainder and divisor should not occur for the
SRT method. Consequently entries above a certain diagonal line in the table can be
omitted. It was some of the Pentium’s entries on this line that were incorrectly left set at
zero. There is disagreement over why. Intel’s official position is that «a script was written
to download the entries into a hardware PLA [i.e. division table]. An error was made in
this script that resulted in a few lookup entries … being omitted from the PLA.» Others
have claimed to know that someone erroneously proved these entries would never be
used, so the entries could be omitted. In either case, erroneous results followed.
References:
Statistical Analysis of Floating Point Flaw in the Pentium (TM) Processor
(1994), Sharangpani and Barton, Intel Corporation, Nov. 30,1994.
The Pentium Papers collection is an archive
with many original sources from the principal parties involved.
Links updated April 20, 2011
Prof. Janeba’s Home Page | Send comments or
questions
to: mjanebawillamette.edu
Department of Mathematics | Willamette University
Home
Page
SL5WG Intel Pentium 4 1.9GHz / Socket 478 / FSB 400MHz / Willamette
Home Components CPUs Intel CPUs Intel Pentium 4 1.9GHz SL5WG / Socket 478 / FSB 400MHz / Willamette / L2 256KB
$11.77
Intel Pentium 4 1.9GHz / Socket 478 / FSB 400MHz / Willamette / L2 256KB / SL5WG [FREE SHIPPING – USA ONLY]
Only 2 left in stock
Intel Pentium 4 1. 9GHz SL5WG / Socket 478 / FSB 400MHz / Willamette / L2 256KB quantity
SKU: Intel-SL5WG
Categories: Components, CPUs, Intel CPUs
-
Description
-
Additional information
Description
This is a used Intel Pentium 4 SL5WG CPU in good working condition.
General information |
|
Type | CPU / Microprocessor |
Family | Intel Pentium 4 |
Part number | BX80531NK190G 80531PC037G0K |
Frequency (GHz) | 1.9 |
Bus speed (MHz) | 400 |
Clock multiplier | 19 |
Package type | 478-pin FC-PGA2 |
Socket type | Socket 478 (mPGA478B) |
Architecture / Microarchitecture / Other |
|
CPUID | 0F12h |
Core stepping | D0 |
Processor core | Willamette |
Manufacturing technology (micron) | 0. 18 |
Number of cores | 1 |
L2 cache size (KB) | 256 |
Features | MMX SSE SSE2 |
Core voltage (V) | 1.75 |
Case temperature (°C) | 75 |
Notes on sSpec SL5WG |
|
|
Essentials
- Product Collection: Legacy Intel® Pentium® Processor
- Code Name: Products formerly Willamette
- Vertical Segment: Desktop
- Status: Discontinued
- Lithography: 180 nm
Performance
- # of Cores: 1
- Processor Base Frequency: 1.90 GHz
- Cache: 256 KB L2
- Bus Speed: 400 MHz FSB
- FSB Parity: No
- TDP: 69.2 W
- VID Voltage Range: 1.570V-1.75V
Supplemental Information – SL5WG
- Embedded Options Available: No
- Datasheet: View now
Package Specifications
- Sockets Supported: PPGA478, PPGA423
- TCASE: 73°C
- Package Size: 53. 3mm x 53.3mm
- Processing Die Size: 217 mm2
- # of Processing Die Transistors: 42 million
- Low Halogen Options Available: No
Advanced Technologies – SL5WG
- Intel® Turbo Boost Technology: No
- Intel® Hyper-Threading Technology: No
- And, Intel® Virtualization Technology (VT-x): No
- Intel® 64: No
- Instruction Set: 32-bit
- Idle States: No
- Enhanced Intel SpeedStep® Technology: No
- Intel® Demand Based Switching: No
Security & Reliability
- Intel® Trusted Execution Technology: No
- Execute Disable Bit: No
Gigabyte GA -8LD533 Price, Reviews, Reviews
- Supported Intel Celeron/Pentium 4
- System Tire 400 MHz — 533 MHz
- Intel 845GV 9000 2
- DDR DIMM, 266-333 MHz
- IDE slots: 2, UltraDMA 100
- 3xPCI expansion slots
- AC’97 audio, based on Realtek ALC650
- Show all
Processor
*
Supported processors | Intel Celeron/Pentium 4 | ||||||||||||||||||||||||||
SOKKET | S478 | ||||||||||||||||||||||||||
400 MHz — 533 MHz |
Chipset | Intel 845GV |
SLI/CrossFire support | no |
Memory
*
The maximum memory volume | 2 GB |
The number of memory slots | 2 |
memory | DDR DIMM, 266-33 MHz |
IDE | slots: 2, UltraDMA 100 |
Expansion slots
*
Expansion slots | 3xPCI |
AV
*
Audio | AC’97 based on Realtek ALC650 |
Integrated video adapter | yes |
Network
*
Ethernet | 10/100 Mbps based on Realtek 8101 |
*
Rear connectors | 4 USB, 1xCOM, GAME/MIDI, D-Sub, Ethernet, PS/2 (keyboard), PS/2 (mouse), LPT |
Interfaces | 6 USB, 1xCOM, GAME/MIDI, D- Sub, Ethernet, PS/2 (keyboard), PS/2 (mouse), LPT |
Additional parameters
*
Form factor | microATX |
* Check with the seller for exact specifications.
Other models
-
GIGABYTE h410M S2H
3807 ₽
-
GIGABYTE Z590 AORUS XTREME WATERFORCE
-
GIGABYTE GA-8I945GMF-RH
-
GIGABYTE h510M S2 V2
5690 ₽
-
GIGABYTE GA-G41M- Combo-GQ
4329 ₽
-
GIGABYTE B550 Aorus Elite AX V2 (Rev. 1.0)
15650 ₽
-
GIGABYTE Z490 AOORUS ELETE AC (Rev. 1.0)0178 Advantages
Defects
Comment
Estimated
I accept the terms
providing data.Average rating GIGABYTE GA-8LD533 — 3.5
A total of 2 reviews are known about GIGABYTE GA-8LD533Looking for positive and negative reviews about GIGABYTE GA-8LD533?
From 11 sources we collected 2 negative, negative and positive reviews.
We will show all the advantages and disadvantages of the GIGABYTE GA-8LD533 found by users. We do not hide anything and post all positive and negative honest customer reviews about GIGABYTE GA-8LD533, and we also offer alternative analogues. Is it worth it to buy — the decision is only yours!
Best deals on GIGABYTE GA-8LD533
Reviews for GIGABYTE GA-8LD533
Review information updated on 02/17/2023
Write a review
Krotov Ilya, 19.