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
.
Applicazioni pratiche
del BIOS chip swapping
Esempi per motherboard
non identificate e che
non eseguono il boot
Pentium FIST BUG (Dan-0411) Intel Flag Erratum
Pentium Pro e Pentium II Stepping C0 non gestiscono correttamente l'errore di conversione di numeri in virgola mobile in numeri interi.
IL BUG
Il Pentium FIST BUG (Dan-0411) o Flag Erratum come riportato da Intel, è un errore di calcolo che i Pentium Pro e i primi Pentium II presentavano durante le operazioni di conversione di numeri in virgola mobile in numeri interi. Fu scoperto nel 1997 da un anonimo Dan che l'11 Aprile (da qui il nome Dan-0411) inviò una e-mail all'esperto Robert R. Collins, critico di Intel e autore del sito Intel secrets and bug (Link), in cui chiedeva se era possibile verificare l'esistenza del bug con un programma scritto in assembly. Con questo linguaggio è possibile testare direttamente l'hardware senza introdurre eventuali errori dovuti ad altri fattori (come ad esempio il compiler).
Quando si verifica il bug
I numeri in virgola mobile sono memorizzati nella CPU nel formato a 80-bit mentre gli interi nel formato a 16-bit (short integer) e a 32-bit (long integer). La conversione dei numeri in virgola mobile a 80-bit in interi nei Pentium Pro o Pentium II può generare il Dan-0411 bug quando il numero convertito supera la capacità del buffer (più piccolo) riservato all'intero (overflow hardware).
L'errore si verifica solo quando l'istruzione FIST[P] (Float-to-Integer Store) è una operazione a 16 o 32 bit: la CPU non imposta correttamente uno specifico flag di stato nel registro dedicato alla conversione dei numeri in virgola mobile. Quando si memorizzano interi a 16 bit, la probabilità che il bug si verifichi è 1 a 8.6 bilioni, con gli interi a 32 bit è 1 a 562.950 bilioni: in totale circa 140.739.635.839.000 di numeri in virgola mobile diversi possono provocare il flag erratum.
In merito al bug, Robert R. Collins fa una interessante analogia con il fallimento del lancio del razzo Ariane 5 esploso a meno di un minuto dal lancio a causa di un overflow di conversione (software, non hardware) da virgola mobile a intero che non è stato gestito correttamente dal computer di bordo.
Il software di verifica
Robert R. Collins ha scritto il codice assembly (Link) per la verifica del bug in due versioni:
- fistbug rileva la presenza dell'errore con un semplice messaggio;
- fistbugv (versione verbose) vengono riportate altre informazioni tra cui il CPUID, il core e i risultati dei test per ogni singolo caso.
Anche altri software implementano i test errata come ad esempio HWiNFO per DOS (Link) o AIDA per DOS (Link).
Modelli con FIST BUG
Il bug è presente in tutti i Pentium Pro e nei primi Pentium II Stepping C0: dallo Stepping C1 l'errore è stato risolto. Nel documento Intel Pentium II Specification Update il flag erratum è l'item A25 - Invalid operation not signaled by the FIST instruction on some out of range operands che risulta infatti fixed dallo Stepping C1. Nel documento Intel Pentium Pro Specification Update il flag erratum è l'item A62 che risulta invece NO fixed e non pianificato per la risoluzione. I Pentium Classic (P54) e MMX (P55) e gli AMD K6 non sembrano avere questo problema.
Pentium II 233MHz Stepping C0
Intel S-Spec SL264, SL268, SL28K (Processor core Klamath)
Pentium II 266MHz Stepping C0
Intel S-Spec SL265, SL269, SL28L (Processor core Klamath)
Pentium II 300MHz Stepping C0
Intel S-Spec SL28R, SL2MZ (Processor core Klamath)
Pentium FIST BUG (Dan-0411) Intel Flag Erratum © PC Rebuilding
Prima pubblicazione: 17 Marzo 2016, 10:29.30
Ultimo aggiornamento: 23 Giugno 2017, 11:51.01
Visualizzazioni attive: 459



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]