See also ebooksgratis.com: no banners, no cookies, totally FREE.

CLASSICISTRANIERI HOME PAGE - YOUTUBE CHANNEL
Privacy Policy Cookie Policy Terms and Conditions
Pentium FDIV bug - Wikipedia

Pentium FDIV bug

Da Wikipedia, l'enciclopedia libera.

Il Pentium FDIV bug è un difetto diffuso tra le FPU dei primi processori Intel Pentium (fino ai 120 MHz), rivelato al grande pubblico dal professore Thomas Nicely del Lynchburg College. 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.

La scoperta avvenne nell'estate del 1994, quando il professore, intento nella sua opera di ricerca, tentò di calcolare il risultato di una particolare espressione matematica; 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 chi si stava lavorando per eliminare il bug sui nuovi processori. 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. Nel frattempo però si era alzata una vera e propria bufera sulla casa costruttrice (con evidente piacere da parte delle compagnie rivali), la quale decise proprio allora di dar vita ai Validation Labs nei quali tutti i chip vengono testati prima di essere introdotti nel mercato mondiale.

[modifica] Occorrenza ed esempio

Secondo Intel, i casi in cui il risultato era errato sono stati stimati come 1 su 9 bilioni, con una perdita di precisione che può arrivare fino alla quinta cifra decimale significativa. Un esempio molto evidente è il seguente (4 decimali significativi corretti):

4195835.0/3145727.0 = 1.333820449136241000   risultato corretto
4195835.0/3145727.0 = 1.333739068902037589   su un Pentium con FDIV bug

[modifica] Voci correlate

  • Pentium F0 bug


aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -