My 2 cents on this whole thing,
A classic microcoded processor consists of vertical and
horizontal unit addressing. Vertical addressing is the
decoding of a bit field in a microinstruction to select one of
N elements. Horizontal addressing consists of one
microinstruction bit per device selected or code
selections to more complicated devices, like the
alu operation selection. The classical microprogrammed
machine directly controls register <-> bus enables and
alu source.destination, such things as incrementing
a program counter and operating memory control units.
The idea is that a collection of registers, alus and
counters can be controlled / sequenced to get the data
from one unit to the next, controlling enables,
chip selects and r/w lines. The microprogrammed machine
is just a bunch of registers and alu units
with no order until microcode controls the symphony.
Anything that decodes to multiple instructions internally
IMHO, is not microcode. It can invoke other units
( memory controllers... ) which may be microprogrammed,
implemented at state machines or even hardwired but
sequence independently.
So, That really cleared things up, bah!
Decoding - a decoder, takes N bits in,
has N^2 output lines, one enabled for any N input
see 74154 4-16 decoder for really old example
Jim Davis.
Gary Oliver, you've done microcoded machines? whats your take?
Tony Duell wrote:
<snip>