Intel Pentium partition error

ImprimirCitar
Intel Pentium 66MHz (sSpec=SX837) FDIV.

Introduction

On October 30, 1994, Professor Thomas Nicely of Lynchburg University discovered an error in the floating point unit of the Intel Pentium. Nicely noticed that some division operations always returned an erroneous value due to excess. Other people quickly confirmed these errors in the divisions. This design flaw became noticeable very quickly and was given the name Pentium FDIV bug (FDIV is the floating point division instruction of x86 microprocessors). Others highlighted division problems whose result returned by the Pentium was in error by as much as 61 units per million.

Repercussions

These checks created a lot of controversy. Intel initially denied the existence of the problem. Later, Intel stressed the insignificance of its microprocessor defects, wanting to reassure users. Intel refused to routinely replace defective microprocessors; however, if a person could prove that they had been affected by the bug, then Intel would proceed to change their processor. Although evaluations carried out by independent organizations showed the insignificance of the consequences of error and that the effect was negligible in most cases, it led to a situation in which Intel Pentium users demanded the replacement of defective processors. Companies like IBM joined the complaint. Ultimately, Intel was forced to agree to replace all of the defective microprocessors, at enormous cost.

Models affected

The problem occurs only on some models of the original Pentium processor. The bug only exists on some Pentium family processors with a clock speed of less than 120 MHz. On affected models the application Intel Processor Frequency ID checks for the presence of the error.

The ten affected processors are listed below.

Pentium P5 800 nm 5V
FamilyModelVersionSee. NucleusVel. ClockVeloc. FSBS-spec
513B160 MHz60 MHzQ0352, Q0412, SX753
513B166 MHz66 MHzQ0353, Q0413, SX754
515C160 MHz60 MHzQ0466, SX835, SZ949
515C166 MHz66 MHzQ0467, SX837, SZ950
Pentium P54C 600 nm 3,3V
FamilyModelVersionSee. NucleusVel. ClockVeloc. FSBS-spec
521B175 MHz50 MHzQ0601
521B190 MHz60 MHzQ0542, Q0613, Q0543, SX879, SX885, SX909, SX874
521B1100 MHz66 MHzQ0563, Q0587, Q0614, SX886, SX910
522B375 MHz50 MHzQ0606, SX951
522B390 MHz60 MHzQ0628, Q0611, Q0612, SX923, SX922, SX921, SX942, SX943, SX944, SZ951
522B3100 MHz66 MHzQ0677, SX960

Error checking

The bug was present only in some models of the Pentium processor. All Pentium family processor models running at a clock frequency of at least 120 MHz have the bug fixed.

The following BASIC code indicates whether the processor of the computer it runs on has the Pentium division error.

 x = 8391667 and = 1572863  IF x - (x / and)  and  0 THEN  PRINT "Your processor has the Pentium error"  ELSE PRINT "Your processor doesn't have the Pentium error"  END IF

You can also perform the calculation from the Windows calculator or from a spreadsheet. The correct value is

4.195.8353.145.727=1,333820449136241002{displaystyle textstyle {frac {4.195.835}{3.145.727}}}=1,333820449136241002}

The conversion to hexadecimal by the processor is 4,195,835 = 0x4005FB and 3,145,727 = 0x2FFFFF. The '5' at 0x4005 causes an error in the FPU control logic. As a result, the value returned by a failed Pentium is incorrect to more than 4 digits:

4.195.8353.145.727=1,333739068902037589{displaystyle textstyle {frac {4.195.835}{3.145.727}}}=1,333{color {Red}{739068902037589}}}}}}}

Another way to detect the error is to use the pentnt utility included with Windows NT 3.51, NT 4.0, 2000 and XP.

Contenido relacionado

Ohmmeter

An ohmmeter is an instrument for measuring electrical...

Quanta Plus

Quanta Plus is a web development tool originally designed for the KDE project and later continued by the Trinity Desktop Environment. Version 14.0.12 adds...

Aviaco

Aviaco was a Spanish airline founded on February 18, 1948 when a law was enacted that broke the monopoly in the sector. Spanish aeronautical company that...
Más resultados...
Tamaño del texto:
Copiar