Pentium FDIV bug
# Pentium FDIV bug

Il Pentium FDIV bug è un difetto diffuso tra le FPU dei primi processori Intel Pentium.

Il difetto, scoperto dal professore Thomas Nicely del Lynchburg College, era presente negli esemplari funzionanti fino ai 100 MHz. Intel ha attribuito l'errore alle voci mancanti nella tabella di ricerca utilizzata dal circuito di divisione in virgola mobile.

## Storia

La scoperta avvenne nel giugno del 1994, quando il professore, intento nella sua opera di ricerca, tentò di calcolare il risultato di una particolare espressione matematica (la costante di Brun); il risultato ottenuto era ben lontano da quanto si era prospettato teoricamente, anche considerando possibili errori di arrotondamento. Allora Nicely provò ad effettuare il calcolo su una macchina che montava il più vecchio processore 486, notando con immenso stupore che quest'ultimo risultato appariva corretto.

Durante esperimenti successivi Nicely scoprì che il processore sbagliava a calcolare espressioni semplici come $x(1/x)$ se x era un numero contenente diverse cifre dopo la virgola. Allora Nicely contattò la casa produttrice, la quale dichiarò di essere già a conoscenza del problema e che si stava lavorando per eliminare il bug sui nuovi processori.

Il 30 ottobre 1994, Nicely inviò una e-mail che descriveva l'errore che aveva scoperto nell'unità in virgola mobile Pentium a vari contatti, richiedendo rapporti di test per la falla sui 486-DX4, Pentium e cloni Pentium.

La storia fu pubblicata nella stampa, per la prima volta il 7 novembre 1994, in un articolo in Electronic Engineering Times, "Intel fixes a Pentium FPU glitch" by Alexander Wolfe.

La storia è stata ripresa dalla CNN in una news trasmessa il 21 novembre 1994. Ciò lo ha portato alla ribalta dell'opinione pubblica.

Moltissimi utenti, venuti a conoscenza del problema, fecero pressioni sulla Intel affinché sostituisse tutti i processori difettosi, ma dall'altra parte Intel propose inizialmente la sostituzione del processore solo per coloro i quali avessero dimostrato di avere necessità, nel proprio lavoro, di effettuare calcoli molto precisi (difatti un utente normale non avrebbe mai notato il difetto del processore). Alla fine Intel dovette cedere e fu costretta a sostituire tutti i chip incriminati con i nuovi affrontando una spesa di circa 475 milioni di dollari. Alcuni dei chip difettosi sono stati successivamente trasformati in portachiavi da Intel.

Un articolo del 1995 pubblicato su Science descrive il ruolo della teoria dei numeri nella scoperta dei bug dei computer e fornisce il background e la storia matematica della costante di Brun, il problema a cui stava lavorando Nicely quando ha scoperto il bug.

## Descrizione

Questo difetto causava un piccolo errore sistematico in alcune operazioni di divisione effettuate dalle unità dei processori colpiti (il nome deriva appunto da FDIV, l'istruzione in assembly x86 per le divisioni in virgola mobile), e fu verificato da molti utenti di Internet, i quali lo battezzarono col nome che porta oggi.

