On 7 Mar 2011 at 18:00, Jules Richardson wrote:
Any particular reason that they'd support FP ops
but not do the same
for integers? Does that imply that it was typically done by an
(optional?) added FP 'math' unit rather than being a core part of the
CPU?
To the contrary, on the big iron, floating-point is central to the
CPU design.
Multiplies were usually pipelined (and sometimes duplexed) and took
only a couple of cycles max. If you needed an integer multiply, you
did it with the FP unit and recovered the unnormalized lower part of
the double-precison product.
The Cray reciprocal approximation (also found on the Intel 860) is
used not because it's faster, than a real divide instruction, but
mostly because the divide sequence can be broken down into a series
of short instructions which then can be interleaved with the other
work the processor is doing. An instruction that has a long
execution time, can hold up issue of other unrelated instructions.
The CDC 6600, if I recall correctly, did its divide by forming a
table of trial divisors 3 quotient bits at a time.
--Chuck