Skip to main content

1995 | ReviewPaper | Buchkapitel

Anatomy of the Pentium bug

verfasst von : Vaughan Pratt

Erschienen in: TAPSOFT '95: Theory and Practice of Software Development

Verlag: Springer Berlin Heidelberg

Aktivieren Sie unsere intelligente Suche um passende Fachinhalte oder Patente zu finden.

search-config
loading …

The Pentium computer chip's division algorithm relies on a table from which five entries were inadvertently omitted, with the result that 1738 single precision dividend-divisor pairs yield relative errors whose most significant bit is uniformly distributed from the 14th to the 23rd (least significant) bit. This corresponds to a rate of one error every 40 billion random single precision divisions. The same general pattern appears at double precision, with an error rate of one in every 9 billion divisions or 75 minutes of division time.These rates assume randomly distributed data. The distribution of the faulty pairs themselves however is far from random, with the effect that if the data is so nonrandom as to be just the constant 1, then random calculations started from that constant produce a division error once every few minutes, and these errors will sometimes propagate many more steps. A much higher rate yet is obtained when dividing small (<100) integers “bruised” by subtracting one millionth, where every 400 divisions will see a relative error of at least one in a million.The software engineering implications of the bug include the observations that the method of exercising reachable components cannot detect reachable components mistakenly believed unreachable, and that hand-checked proofs build false confidence.

Metadaten
Titel
Anatomy of the Pentium bug
verfasst von
Vaughan Pratt
Copyright-Jahr
1995
Verlag
Springer Berlin Heidelberg
DOI
https://doi.org/10.1007/3-540-59293-8_189