On 07/29/2014 08:00 AM, Paul Koning wrote:
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.
And then there's microprogramming gone mad (AKA: the "kitchen sink")
approach. Look at the instruction set of the STAR-100; nominally 8 bit
opcodes, but all but the simplest with 8 "modifier" bits, leading to
what amounts to thousands of instructions. Many questionably useful;
some utterly useless.
One of the first revisions of the STAR-100/Cyber 200 hardware platform
was to jettison many of the instructions. By the time it got to the
ETA-10, the instruction set was a shadow of its former self.
Which brings up an interesting question--how many other machines shrunk
their instruction set during the course of evolution, rather than the
other way around?
--Chuck