Pentium FDIV fejlen er en floating point fejl i de originale Pentium processorer udgivet af Intel i 1994 . Fejlen kom til udtryk i, at når man udfører division over flydende-komma-tal ved hjælp af FDIV-processorinstruktionen, kunne resultatet i nogle tilfælde være forkert.
Denne fejl blev først opdaget og offentliggjort af Lynchburg College professor Thomas Nicely i oktober 1994 [1] .
Ifølge Intel var årsagen til problemet unøjagtigheder i den opslagstabel, der blev brugt under opdelingen [2] .
Som det viste sig, vidste Intel om dette problem, men forblev tavs. Derudover mente Intel, at da denne defekt kun er væsentlig for en snæver kreds af brugere (matematikere og andre videnskabsmænd), bør brugere, der ønsker at erstatte processoren, kontakte virksomheden og bevise, at de har brug for denne udskiftning.
Producentens indsats for at dække over problemet og reaktionen på dets opdagelse førte til forbrugernes utilfredshed og omfattende mediekritik, herunder en hårdtslående CNN -rapport . Som et resultat ændrede virksomheden sin holdning og meddelte, at det ville være gratis at udveksle defekte processorer for alle. Andy Grove udsendte en offentlig undskyldning. Historien kostede Intel mere end halvdelen af dets overskud i sidste kvartal af 1994 - $475 millioner [3] .
Du kan selv gengive fejlen i applikationer, der bruger en matematisk coprocessor , når du arbejder med flydende kommatal.
4195835.0/3145727.0 = 1.333820449136241002 (korrekt værdi)
4195835.0 / 3145727.0 = 1.333 739 068 902 037 589 (forkert værdi returneret af processoren, der indeholder defekten)
En mere visuel måde at reproducere:
(4195835/3145727)*3145727 = 4195835 (når vi multiplicerer og dividerer med det samme tal, får vi det oprindelige tal)
(4195835/3145727)*3145727 = 4195579 (forkert værdi returneret af den defekte processor)