On 10/17/07, Jim Battle <frustum at pacbell.net> wrote:
> Jules Richardson wrote:
>
>> For a math copro to be called as such, does it have to integrate
>> itself with the CPU's instruction set - or does some sort of box of
>> tricks sitting on an I/O port and accessed through normal CPU
>> instructions count? I'm not sure what the correct definition is.
I would count those in coprocessor category, for sure.
Northstar (of Northstar Horizon fame) sold an S-100
card that had a TTL
FPU on it. It was a microcoded affair (256 words of 40 bits) that
processed a nibble (BCD digit) per clock (4 MHz I believe). You could
also specify how many digits were in the mantissa (2-14, even # digits
only). Only the four basic functions, +-*/, were supported.
I've seen even simpler home-brew (or more accurately lab-brew) S100
and Apple II boards that support only the multiply function.
I recall a 4bit x 4bit -> 8bit unsigned multiply board that was
essentially 256 bytes of PROM and some address decoding. Write a
byte to the board input port and the board would put the product of
the upper and lower nibbles on the output port. (Actually, the board
I'm thinking about had two output ports, one for the product, and one
for the product with upper and lower nibbles reversed. When it takes
an instruction per bit shifted, you could save a bit of time by
shifting in hardware (i.e. reordering the wires.))
I would imagine that some enterprising students did the same thing
with 64K of PROM for 8x8->16 multiply, once PROMs got big enough for
that to be affordable.
I doubt many of these survive, since labs tend to throw things out and
rarely keep documents around for wire wrapped boards.
Eric