Loading ...

Loading splash screen ...
Galleria
TECHNET
Pentium FDIV BUG
Pentium FIST BUG (Dan-0411) Intel Flag Erratum
CPU Identification
Motherboard Identification
Motherboard Identification: BIOS chip swapping
Applicazioni pratiche del BIOS chip swapping
Motherboard Identification: layout
CPU Speed e Clock Multiplier
BIOS Update
AWARD BIOS inside - CPU microcode
AMI BIOS inside - CPU microcode
Power-On Self-Test: PC Diagnostic Card
Socket 3 CPU voltage detection
Socket 3 clock multiplier detection (AMD Am5x86-P75 4x clock mode)
Turbo-Deturbo motherboard check
Socket 7 FSB / clock multiplier detection
AWARD BootBlock BIOS Recovery
Riprogrammazione BIOS: BIOS chip hot swapping
Compaq Deskpro 2000 BIOS F10: Computer SETUP/V and PC Diagnostics
Olivetti PCS 386 SX: disassemblaggio
Desktop Management Interface (DMI) e Custom MIFD
PC Windows 98: da standard Hard Disk a SSD Compact Flash
 
TECHNET: 22
Da IDE HD a SSD CF
Clonare un Hard Disk
con Windows 98 SE
su un "SSD" Compact Flash
Pentium FDIV BUG
L'"infamous FDIV BUG" che costò a Intel 430 milioni di dollari per il piano di sostituzione
IL BUG
Il Pentium FDIV BUG è un errore di calcolo che i primi Pentium presentavano durante le operazioni in virgola mobile. Fu scoperto nel Giugno 1994 dal professor Thomas Nicely del Lynchburg College che, nell'Ottobre dello stesso anno, dopo aver verificato l'eliminazione di altri fattori quali errori di programmazione o di chipset delle motherborad utilizzate, contattò direttamente il produttore Intel, descrivendo l'errore e le modalità  per replicarlo.
In sostanza il professore, che stava lavorando con il suo staff nel calcolo di una particolare costante (la costante di Brun per la convergenza della serie somma dei reciproci dei numeri primi gemelli) si accorse che i PC utilizzati per il calcolo davano risultati errati in operazioni semplici come x*(1/x) ovvero che l'identità  x=x*(1/x) aveva un resto nel calcolo in virgola mobile. Ripetendo il calcolo con PC con processori serie 80486 il risultato era corretto.
Il produttore Intel
Contattato il produttore Intel, la risposta fu che si era già  a conoscenza del bug (in particolare in una tabella di istruzione dell'assembly implementata nella FPU) e che si stava lavorando per eliminarlo. In una fase iniziale però cercò di minimizzare il problema, ma alla fine la pressione dell'opinione pubblica, la presenza di articoli su riviste autorevoli e servizi televisivi della CNN, costrinsero Intel quasi un anno dopo la scoperta a definire un piano di sostituzione dei Pentium difettosi ("flawed"), con una previsione di costo pari a circa 475 milioni di dollari.
Riproduzione del BUG
Il professor Nicely si accorse che il calcolo di particolari quozienti produceva risultati non accurati, più precisamente il quoziente:
4195835.0/3145727.0 = 1.333 820 449 136 241 002 5 (Correct value)
4195835.0/3145727.0 = 1.333 739 068 902 037 589 4 (Flawed Pentium)

presentava un resto non nullo a partire dalla 4a cifra dopo la virgola, ovvero l'identità  x=x*(1/x) non era verificata:
4195835.0 - 3145727.0*(4195835.0/3145727.0) = 0 (Correct value)
4195835.0 - 3145727.0*(4195835.0/3145727.0) = 256 (Flawed Pentium)

La verifica poteva essere fatta con codice Basic, Pascal, C (utilizzando solo la FPU per il calcolo), ma anche più semplicemente con la calcolatrice di Windows 95/98 o con un foglio di calcolo tipo Excel o Works (come verificato dalla comunità  degli utenti su Internet).
Per il test il professor Nicely ha rilasciato il software libero pentbug scritto in C++ che verifica se è presente un resto nella divisione sopra. La stessa Intel ha rilasciato l'utility a riga di comando pentnt inclusa di default nelle distribuzioni di Windows NT 3.51, Windows NT 4.0, Windows 2000 e Windows XP.
Modelli con FDIV BUG
Pentium 60MHz
Intel S-Spec Q0352, Q0412, SX753, Q0466, SX835, SZ949
Pentium 66MHz
Intel S-Spec Q0353, Q0413, SX754, Q0467, SX837, SZ950
Pentium 75MHz
Intel S-Spec Q0601, Q0606, SX951
Pentium 90MHz
Intel S-Spec Q0542, Q0613, Q0543, SX879, SX885, SX909, SX874, Q0628, Q0611, Q0612, SX923, SX922, SX921, SX942, SX943, SX944, SZ951
Pentium 100MHz
Intel S-Spec Q0563, Q0587, Q0614, SX886, SX910, Q0677, SX960
Pentium FDIV BUG © PC Rebuilding
Prima pubblicazione: 8 Ottobre 2015, 15:48.25
Ultimo aggiornamento: 9 Giugno 2017, 09:59.45
Visualizzazioni attive: 1244



Link correlati
Link veloci
Statistiche gruppi
22 [TECHNET]