On 03/14/2014 08:34 AM, allison wrote:
No, not 125, I said 150nS! Apparently it took three
edges for
certain things and the clock was 8mhz. The instructions were
executed at a rate of one every 250nS. The difference in timing was
due to some internal pipeline. Also it was partly due to the IV
interface (their unique IO) and its latency.
I dug my databook out and indeed, it's 250nsec/instruction for the 8x300
and 200nsec for the later 8x305. Both, IIRC, ran quite warm--the
external transistor used as a series-pass regulator particularly so.
To say the 8x300 was very unique only scratches the
surface. Its
associated IV IO parts were equally odd as well.
8 instructions, one of which was an unconditional jump, and one
conditional jump that transfered control on the basis of a register not
being zero. There was also an "execute" instruction that allowed for
execution of a single instruction out-of-order.
The data move and operate instructions were very unusual, as they
featured a rotate and mask feature (barrel to provide for
variable-bit-length operations.
There were the left- and right- I/O buses that were essentially 256
(each side) I/O ports. I found it useful to think of the x300 as a sort
of train switching yard. You got things in on one bus, operated on
them, and then pushed them out the other bus. Certain things could be
very efficient--you could move something from one bus to the other in a
single instruction.
No stack or interrupts or call instruction. However, there was a
peripheral chip, the 8x310, that could provide both. It took advantage
of several "do nothing" instructions (e.g. move a register to itself)
for its direction. I've never seen one in the flesh.
I can't say that programming the 8x300 was fun, but it was interesting.
Considering the alternatives, it was a big step forward. The
alternative was using Intel 3000-series bit-slice logic, which was far
less space-efficient--or SSI/MSI TTL. I have an IEEE-488 interface
SA4000 disk controller done that way and the PCB has the same footprint
as the drive. You could fit the same logic on a card about the size of
a typical S100 board using the 8x300.
--Chuck