Pentium FDIV - virhe on liukulukuvirhe Intelin vuonna 1994 julkaisemissa alkuperäisissä Pentium - prosessoreissa . Virhe ilmeni siinä, että suoritettaessa jako liukulukuluvuilla FDIV- prosessorikäskyllä , tulos saattaa joissain tapauksissa olla väärä.
Lynchburg Collegen professori Thomas Nicely löysi ja julkaisi tämän virheen ensimmäisen kerran lokakuussa 1994 [1] .
Intelin mukaan ongelman syynä olivat jakooperaation aikana käytetyn hakutaulukon epätarkkuudet [2] .
Kuten kävi ilmi, Intel tiesi tästä ongelmasta, mutta vaikeni. Lisäksi Intel uskoi, että koska tämä vika on merkittävä vain kapealle käyttäjäryhmälle (matemaatikot ja muut tutkijat), käyttäjien, jotka haluavat vaihtaa prosessorin, tulee ottaa yhteyttä yritykseen ja todistaa, että he tarvitsevat tämän vaihdon.
Valmistajan pyrkimys peitellä ongelma ja reaktio sen löytöihin johti kuluttajien tyytymättömyyteen ja laajaan mediakritiikkiin, mukaan lukien kovaiskuinen CNN -raportti . Tämän seurauksena yritys muutti kantaansa ja ilmoitti, että se voisi vapaasti vaihtaa vialliset prosessorit kaikille. Andy Grove pyysi julkisesti anteeksi. Tarina maksoi Intelille yli puolet sen vuoden 1994 viimeisen neljänneksen voitosta - 475 miljoonaa dollaria [3] .
Voit toistaa virheen itse sovelluksissa, jotka käyttävät matemaattista apuprosessoria työskennellessäsi liukulukujen kanssa.
4195835.0/3145727.0 = 1.333820449136241002 (oikea arvo)
4195835.0 / 3145727.0 = 1.333 739 068 902 037 589 (virheen sisältävän prosessorin palauttama virheellinen arvo)
Visuaalisempi tapa toistaa:
(4195835/3145727)*3145727 = 4195835 (kun kerrotaan ja jaetaan samalla luvulla, saadaan alkuperäinen luku)
(4195835/3145727)*3145727 = 4195579 (viallisen prosessorin palauttama virheellinen arvo)