Computer Fundamental
Computer Tutorial

Types of Processors



Types of Processors

CISC Processors

One of the earlier goals of CPU designers was to provide more and more instructions in the instruction set of a CPU to ensure that the CPU supports more functions directly. This makes it easier to translate high level language programs to machine language and ensures that the machine language programs run more effectively. Of course, every additional instruction in the instruction set of a CPU requires the necessary hardware circuitry to handle that instruction, adding more complexity to the CPU's hardware circuitry. Another goal of CPU designers was to optimize the usage of expensive memory. To achieve this, the designers tried to pack more instructions in memory by introducing the concept of variable-length instructions such as half-word, one-and-half-word, etc. For example, an operand in an immediate instruction needs fewer bits and can be designed as a half-word instruction. Additionally, CPUs were designed to support a variety of addressing modes (discussed later in this chapter during the discussion of memory). CPUs with large instruction set, variable-length instructions, and a variety of addressing modes are said to employ CISC (Complex Instruction Set Computer) architecture. Since CISC processors possess so many processing features, they make the job of machine language programmers easier. However, they are complex and expensive to produce. Most personal computers of today use CISC processors.

RISC Processors

In early 1980s, some CPU designers realized that many instructions supported by a CISC-based CPU are rarely used. Hence, an idea evolved that the design complexity of a CPU can be reduced greatly by implementing only bare minimum basic set of instructions and some of the more frequently used instructions in the hardware circuitry of the CPU. Other complex instructions need not be supported in the instruction set of the CPU because they can always be implemented in software by using the basic set of instructions. While working on simpler CPU design, the designers also came up with the idea of making all the instructions of uniform length so that the decoding and execution of all instructions becomes simple and fast. Furthermore, to speed up computation and to reduce the complexity of handling a number of addressing modes they decided to design all the instructions in such a way that they retrieve operands stored in registers in CPU rather than from memory. These design ideas resulted in producing faster and less expensive processors. CPUs with a small instruction set, fixed-length instructions, and reduced references to memory to retrieve operands are said to employ RISC (Reduced Instruction Set Computer) architecture. Since RISC processors have a small instruction set, they place extra demand on programmers who must consider how to implement complex computations by combining simple Instructions. However, RISC processors are faster for most applications, less complex, and less expensive to produce CISC processors because of simpler design.

EPIC Processors

The Explicitly Parallel Instruction Computing (EPIC) technology breaks through the sequential nature of conventional processor architectures by allowing the software to communicate explicitly to the processor when operations can be done in parallel. For this, it uses tighter coupling between the compiler and the processor. It enables the compiler to extract maximum parallelism in the original code and explicitly describe it to the processor. Processors based on EPIC architecture are simpler and more powerful than traditional CISC or RISC processors. These processors are mainly targeted to next-generation, 64-bit, high end server and workstation market (not for personal computer market).