![]() |
VOOZH | about |
RISC and CISC are two approaches to processor design with different instruction handling strategies.
RISC simplifies processor design by using a small, uniform set of instructions. Each instruction performs a basic operation (e.g., load, compute, store) and is designed to execute in a single clock cycle, enabling efficient pipelining and simpler hardware.
CISC reduces the number of instructions a program needs by using a large set of complex, variable-length instructions. A single instruction can perform multiple operations (e.g., load, compute, and store), which may take multiple clock cycles.
Both approaches try to increase the CPU performance
Earlier when programming was done using assembly language, a need was felt to make instruction do more tasks because programming in assembly was tedious and error-prone due to which CISC architecture evolved but with the uprise of high-level language dependency on assembly reduced RISC architecture prevailed.
Example:
Suppose we have to add two 8-bit numbers:
So, add operation is divided into parts i.e. load, operate, store due to which RISC programs are longer and require more memory to get stored but require fewer transistors due to less complex command.
RISC and CISC are two processor designs, here is a comparison table between them:
| RISC | CISC |
|---|---|
| Small and simple instruction set | Large and complex instruction set |
| Fixed-length instructions | Variable-length instructions |
| Usually 1 cycle per instruction | Multiple cycles per instruction |
| More general-purpose registers | Fewer registers |
| Simple and limited addressing modes | Complex and many addressing modes |
| Larger code size (more instructions) | Smaller code size (fewer instructions) |
| Simple hardware, easier pipelining | Complex hardware, harder pipelining |
| Examples: ARM, RISC-V, MIPS | Examples: x86, Intel 80386 |