Intermediate Topic 22 of 51 Computer Architecture & Logic
RISC vs CISC
Philosophies of simple fixed instructions versus rich complex ones.
How it works
RISC designs use a small set of simple, fixed-length instructions that mostly operate on registers and take about one cycle, with separate load and store instructions. CISC designs offer many complex, variable-length instructions, some of which access memory directly and perform multiple steps. Modern x86 processors decode CISC instructions into RISC-like micro-operations internally.
Step-by-step walkthrough
- RISC uses many simple fixed-size instructions.
- Only load and store touch memory.
- CISC has rich variable-length instructions.
- One CISC instruction can do several memory and ALU steps.
- Modern x86 chips decode CISC into RISC-like micro-operations.
Where it is used
ARM, RISC-V and MIPS follow RISC and dominate mobile and embedded chips; x86 follows CISC and dominates desktops and servers. The choice affects compiler design, code density, power usage and pipeline complexity.
Common pitfall
The debate is largely historical, since the boundary has blurred and performance depends more on microarchitecture than on the ISA style. Assuming fewer instructions always means faster or slower is wrong. RISC programs often need more instructions, while CISC has harder decoding. Compare actual benchmarks.
Where it fits in the course
RISC vs CISC is topic 22 of 51 in Computer Architecture & Logic, rated Intermediate. It follows Instruction Set Architecture. The next topic is Assembly Language.
Practice and explore
- Open the interactive lesson, with a mini quiz.
- Take the Computer Architecture & Logic quiz.
How to study this topic
- Read the explanation above and restate the definition in your own words.
- Open the interactive lesson and answer its mini quiz.
- Read the common pitfall, then write a short example that avoids it.
- Check your understanding in the Computer Architecture & Logic quiz, and revisit the topic if you miss a question.
Frequently asked questions
What is RISC vs CISC?
Where do people use RISC vs CISC?
What is the most common mistake with RISC vs CISC?
What should I learn before this topic?
How can I practice it?
Is RISC vs CISC hard to learn?
How long does it take to learn RISC vs CISC?
Which topics are related to RISC vs CISC?
What should I study after RISC vs CISC?
Related topics
- Instruction Set Architecture (Computer Architecture & Logic)
- Assembly Language (Computer Architecture & Logic)
- Arithmetic Logic Unit (Computer Architecture & Logic)
- Addressing Modes (Computer Architecture & Logic)