RISC (Reduced Instruction Set Computer) and CISC (Complex Instruction Set Computer) are two fundamental approaches to CPU architecture design, representing opposite philosophies about where complexity should live — in hardware (CISC) or software (RISC).
| Feature | RISC | CISC |
|---|---|---|
| Instruction set | Small, simple (50-150 instructions) | Large, complex (hundreds of instructions) |
| Instruction length | Fixed (easy to decode) | Variable (1-15+ bytes, harder to decode) |
| Execution time | 1 clock cycle per instruction (ideal) | Multiple clock cycles per instruction |
| Hardware complexity | Simple (fewer transistors) | Complex (more transistors) |
| Software complexity | More work for compiler | Less work for compiler |
| Memory usage | More instructions → larger programs | Fewer instructions → smaller programs |
| Pipelining | Easy to implement (fixed length, simple) | Difficult (variable length, complex instructions) |
| Clock speed | Higher (simple hardware) | Lower (complex hardware) |
| Examples | ARM, MIPS, SPARC | Intel x86, AMD, VAX |
-
RISC shifts complexity to software: The compiler must break complex operations into simple instructions. This makes hardware simpler and faster.
-
CISC shifts complexity to hardware: The CPU handles complex operations internally. This makes programs smaller but hardware more complex.
-
Pipelining advantage: RISC’s fixed-length, simple instructions enable deep pipelines and higher clock speeds. CISC’s variable-length instructions make pipelining difficult.
-
Modern convergence: Modern x86 CPUs (CISC) translate complex instructions into RISC-like micro-operations internally, getting the best of both worlds.
-
Use case matters: RISC dominates mobile (ARM) due to power efficiency; CISC dominated desktop (x86) due to backward compatibility.
- RISC Architecture — small, simple instruction set
- CISC Architecture — large, complex instruction set
- Instruction Set — defines CPU capabilities
- Pipelining — easier in RISC, harder in CISC
- Micro-ops — how modern CISC implements RISC internally
- ARM Architecture — popular RISC example
- x86 Architecture — popular CISC example