Re: Alphas and division (was: faster make depend)

Linus Torvalds (torvalds@cs.helsinki.fi)
Thu, 1 Aug 1996 11:55:54 +0300 (EET DST)


On Tue, 30 Jul 1996, Systemkennung Linux wrote:
> >
> > That's another issue. Yes, a hardware division engine breaks
> > pipelining and the operation is much more rare than multiplication, so
> > the trade-off is completely valid.
>
> That's why MIPS CPUs don't process integer multiply/divide in the normal
> integer pipeline. These operations are being processed in a separate
> execution unit that writes it's results into a pair of extra registers.

This is a valid approach for division, but it's sadly totally braindamaged
for multiplication, because it makes it much harder to do pipelined
multiplies (not impossible, but you have to have rename logic etc for the
extra registers, and then the extra registers start to look all the more
braindead).

Pipelined multiplication seems to be what the high-end chips are starting
to do, because it actually does make a difference for some things if you
can multiply quickly.

So MIPS may be doing the right thing wrt division, but they did royally
screw up wrt multiplication.

Linus