Pentium FDIV-felet är ett flyttalsfel i de ursprungliga Pentium-processorerna som släpptes av Intel 1994 . Felet uttrycktes i det faktum att när man utför division över flyttal med hjälp av FDIV-processorinstruktionen, i vissa fall kan resultatet bli felaktigt.
Detta fel upptäcktes och publicerades först av Lynchburg College professor Thomas Nicely i oktober 1994 [1] .
Enligt Intel var orsaken till problemet felaktigheter i uppslagstabellen som användes under divisionsoperationen [2] .
Som det visade sig visste Intel om detta problem, men förblev tyst. Dessutom trodde Intel att eftersom denna defekt endast är betydande för en snäv krets av användare (matematiker och andra vetenskapsmän), bör användare som vill byta ut processorn kontakta företaget och bevisa att de behöver denna ersättning.
Tillverkarens försök att täcka över problemet och reaktionen på dess upptäckt ledde till missnöje hos konsumenterna och omfattande mediekritik, inklusive en hårt slående CNN -rapport . Som ett resultat ändrade företaget sin position och meddelade att det skulle vara fritt fram att byta defekta processorer för alla. Andy Grove utfärdade en offentlig ursäkt. Historien kostade Intel mer än hälften av dess vinst för det sista kvartalet 1994 - 475 miljoner dollar [3] .
Du kan reproducera felet själv i applikationer som använder en matematisk coprocessor när du arbetar med flyttal.
4195835.0/3145727.0 = 1.333820449136241002 (rätt värde)
4195835.0 / 3145727.0 = 1.333 739 068 902 037 589 (felaktigt värde returnerat av processorn som innehåller defekten)
Ett mer visuellt sätt att reproducera:
(4195835/3145727)*3145727 = 4195835 (när vi multiplicerar och dividerar med samma tal får vi det ursprungliga talet)
(4195835/3145727)*3145727 = 4195579 (felaktigt värde returnerat av den defekta processorn)