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
.
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: 1496



Link correlati
Link veloci
Inserimenti negli ultimi 30 giorni
CPU
AMD Sempron 64 3000+ Palermo SDA3000DIO2BP
Intel Pentium Dual-Core E2160 Allendale 1.8GHz SLA8Z #05
Intel Pentium 4 630 Prescott 3GHz SL7Z9 #04
Intel Core 2 Duo E8600 Wolfdale 3.33GHz SLB9L
AMD Athlon 64 3200+ Venice ADA3200DAA4BW #04
MOTHERBOARD
ELITEGROUP MB694A REV:1.0 (Totem TM-VA370E Ver:1.0) Pentium III
ELITEGROUP RC415T-AM Rev:1.0 Pentium 4/D/Dual Core
ASUS M2N-MX SE PLUS REV. 2.02G Athlon 64 FX/X2
ELITEGROUP K7S5A Athlon/Sempron/Duron #02
MSI MS-7191 VER:1.1 (RS482M4-CSIP) Athlon 64 FX/X2 #02
MSI MS-7191 VER:1.1 (RS482M4-CSIP) Athlon 64 FX/X2
MSI MS-7336 VER:1.0 (HP Compaq DX 2300) Pentium 4/D/Core 2 Duo/Dual Core
ASUS P5RD1-VM REV. 1.04G Pentium 4/D #02
ASUS A8N-SLI Deluxe REV 1.02 Athlon 64 FX/X2
2nd LIFE
ASUS M2N-MX SE PLUS - AMD Athlon 64 3500+
ELITEGROUP K7S5A - AMD Duron 1.1GHz
MSI MS-7191 (RS482M4-CSIP) - AMD Sempron 64 3400+
MSI MS-7191 (RS482M4-CSIP) - AMD Sempron 64 3000+
MSI MS-7336 (HP Compaq DX 2300) - Intel Pentium Dual-Core E2180 1.8GHz
ASUS P5RD1-VM - Intel Pentium 4 630 3GHz #02
ASUS A8N-SLI Deluxe - AMD Athlon 64 X2 3800+
EXPANSION CARD
ATI Radeon HD2400 PRO (Sapphire HD2400 PRO) PCI-E #07
BIOS STRING
07/22/96-i430VX-_AI5TV__C-00 (TMC AI5TV (MyComp AI5TV))
64-0108-000001-00101111-090607-MCP61-A0865000-Y2KC (ASUS M2N-MX SE PLUS)
62-1016-001437-00101111-040201-SiS735-K7S5A- (ELITEGROUP K7S5A)
05/25/2007-Broadwater-6A79LM4FC-00 (MSI MS-7336 VER:1.0 (HP Compaq DX 2300))
64-0100-000001-00101111-092508-ATHLON64-R01-B2L-Y2KC (FOXCONN Bengal RS780 (GATEWAY FOXCONN RS780/ACER Extensa E420))
07/26/2005-NF-CK804-A8N-SLI-00 (ASUS A8N-SLI Deluxe)
Statistiche gruppi
22 [TECHNET]
Applicazioni pratiche del BIOS chip swapping
Esempi per motherboard non identificate e che non eseguono il boot