On Jul 29, 2014, at 10:45 AM, dwight <dkelvey at hotmail.com> wrote:
The Nicolet 1080 has 20 bit word but doesn't use
uCode. All of the instructions are decoded directly from
the 20 bits.
I'd have thought, with 19 bits, they'd have done the same.
There is little reason to have the intermediate layer unless the
ucode can be run from a faster ROM or RAM.
Dwight
Instruction length has little to do with it. CDC Cybers have 6 bit opcodes and hardwired
execution; VAXen have 8 bit opcodes and microcode; MIPS has fairly long opcodes and is
hardwared.
The choice comes to what?s the best answer given the product requirements. If use of
microcode makes the implementation less expensive while still achieving the performance
requirement, that would be the optimal answer. If not, then hardwired logic is the
solution. That tradeoff, of course, varies over time as technology, speeds, and costs
change.
And it?s not a binary decision, either. When microcode is used, there tends to be some
machine-specific hardwired logic. For example, in the PDP-11 microcode you can see
initial opcode dispatch done in straight logic, then once the dispatch has taken place the
microcode takes over to handle that particular case.
When machines have a mix of simple and complex instructions, it might make good sense to
do the simple ones in logic and the complex ones in microcode. I wonder if the 68040 did
that ? it had a clearly recognizable ?RISC subset?, instructions that execute in just one
or two cycles, and ?the rest?, complicated instructions that took a lot longer.
paul