[Abstract]
[Overview]
[New Technologies]
[Bibliography]
New Technologies
Much has changed in the field of computer science since the first implementation of
microprogramming in the 1960's. Memory is plentiful and cheap, processors are fast, allowing programs to swell
to grotesque sizes without seriously impairing the computer's functionality. As programs
become more and more complex, performance becomes more and more of an issue. Compilers
and interpreters have also grown in complexity, able to create low-level code from powerful
high-level commands.
If we look back to the original reasons for a complex control path--ease
of programming, reduced size of programs--we see that these have become non-issues due to the
advancements listed above. Although these advancements have supplanted microprogramming's advantages, microprogramming's lingering existence creates serious impediments to the forward-thrust of computer technology's evolution.
First, the fetch-decode-execute approach to macroinstructions is inefficient--the decode phase alone can take several clock cycles. Second, a more complex hardware is more expensive, larger, and more difficult to develop. For these reasons, it seems natural to adapt a more minimalist approach to hardware design. Listed below are four CPU design schemes which do not use microprogramming.
RISC Processors
Superscaler Processors
VLIW Processors
TTA Processors