[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