On Fri, Jan 4, 2019 at 8:08 AM dwight via cctalk <cctalk at classiccmp.org>
wrote:
May ability to understand these papers is somewhat
limited. If I
understand correctly the following.
Most divide routines that I've seen allow the remainder to be 1,0,-1
relative to the normal remainder. The answer will converge as the error of
the remainder never leaves this range.
In the case of the pentium, the remainder is 2,1,0,-1,-2. This allows the
division to converge on the answer quicker. The error was that if the
remainder was right on one edge it would eventually fall of the edge and
not converge. From the paper, that would be the 5 1's in a row, of the
divisor.
My interpretation is that with the five table entries with the wrong
values, it always converges, but for some input values it converges to the
wrong answer. I could be wrong, though.
In any case, I'm sure there were a lot of people at Intel that were unhappy
that they couldn't patch this with a microcode fix or workaround. Although
Intel relented and offered to replace ALL affected Pentiums, apparently a
substantial number of the buggy ones were never sent in.