Microcode, which is a no-go for modern designs

Eric Smith spacewar at gmail.com
Fri Jan 4 16:21:46 CST 2019


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.


More information about the cctech mailing list