AiTechWorlds
AiTechWorlds
In the 1800s, wealthy people sent long, elegant telegrams with complete sentences and nuanced meaning: "I am writing to inform you that I shall be arriving by the morning train on the fourteenth of this month." It was expressive, precise, and rich.
The telegraph operator, paid by the word, translated this to telegram English: "ARRIVING 14TH MORNING TRAIN." Same message. Far fewer words. Completely understood by the recipient.
CISC and RISC are like these two communication styles — but for CPUs. CISC (Complex Instruction Set Computer) gives the processor rich, multi-step instructions, like full sentences. RISC (Reduced Instruction Set Computer) uses short, simple instructions, like telegram words. Both compute the same things. They take fundamentally different philosophical paths to get there.
And the punchline that resolves the debate: your Intel laptop secretly speaks RISC internally — it just accepts CISC instructions at the door.
An Instruction Set Architecture (ISA) is the formal contract between software and hardware. It specifies:
ADD, LOAD, BRANCH, CALL)The ISA is not the chip. It is the specification of the chip's behavior. Intel can (and has) redesigned the internal organization of its x86 processors completely while keeping the ISA identical — ensuring every x86 program from 1978 still runs on a 2025 Core i9.
Origin: The mainframe and minicomputer era of the 1960s–1970s. Memory was expensive and slow. Compilers were primitive. Programmers wrote in assembly. The solution was to pack as much work as possible into each instruction, so programs used fewer instructions and occupied less memory.
The philosophy: Give the programmer (or compiler) high-level, powerful instructions that can directly manipulate memory, perform loops, or move blocks of data in a single operation.
ADD [0x1000], [0x2000] adds the value at one memory address to another — directly, without loading into registers firstMOV EAX, [EBX + ECX*4 + 8] — base register + scaled index + offset, all in one instructionENTER (creates a stack frame), REP MOVS (block memory copy), and AESIMC (AES key expansion); Multiply a by 5 and store in b (CISC style — one instruction handles memory directly)
IMUL EAX, DWORD PTR [a], 5 ; EAX = memory[a] * 5
MOV DWORD PTR [b], EAX ; store result to memory[b]
Origin: Research at Stanford (MIPS project, 1981) and UC Berkeley (RISC project, 1980). Led by John Hennessy (Stanford) and David Patterson (Berkeley) — who later won the 2017 Turing Award for this work.
The insight: most programs use only a small subset of available instructions most of the time. Complex instructions that take multiple memory accesses are hard to pipeline and slow the entire chip down.
The philosophy: Use simple, uniform instructions that each complete in exactly one cycle. Let the compiler generate more instructions if needed — but make each instruction blazing fast.
LOAD and STORE instructions access memory. All arithmetic operates on registers only// Multiply a by 5 and store in b (RISC style — explicit load, compute, store)
LDR X0, [X1] // Load 'a' from memory into register X0
MOV X2, #5 // Load immediate value 5 into register X2
MUL X0, X0, X2 // X0 = X0 * X2 (register operation only)
STR X0, [X3] // Store result from X0 to memory address of 'b'
More instructions, but each one is simple and executes in one cycle. The pipeline runs at full speed.
The 1980s and 1990s saw fierce academic and industry debate about which philosophy would win. The answer turned out to be: both, at the same time.
Starting with the Intel Pentium Pro (1995), Intel implemented a revolutionary technique: micro-operation (µop) translation. The chip's front-end decoder accepts complex, variable-length CISC instructions and internally translates them into simple, fixed-size RISC-like micro-ops before passing them to the execution engine.
The result: software sees a CISC machine (x86 compatibility maintained). The hardware runs like a RISC machine (simple µops, deep pipeline, out-of-order execution). Best of both worlds.
In June 2020, Apple announced it was abandoning Intel processors for its Macs in favor of ARM-based Apple Silicon. The M1 chip shipped in November 2020.
The result stunned the industry:
Why could ARM (RISC) beat Intel (CISC)? Because Apple designed the entire system — CPU, GPU, memory, neural engine — as a unified chip (System on Chip, SoC). The RISC ISA's simplicity and power efficiency were essential enablers.
While x86 is owned by Intel/AMD and ARM requires a license from Arm Ltd., RISC-V (pronounced "RISC Five") is a completely open, royalty-free ISA developed at UC Berkeley in 2010.
Why it matters:
RISC-V uses a modular base ISA with optional extensions (M = multiply/divide, A = atomic, F = single-precision float, D = double-precision float, V = vector).
Both CISC and RISC need to specify where operands come from. These are the addressing modes:
| Mode | Description | x86 Example | ARM64 Example |
|---|---|---|---|
| Immediate | Operand is a constant in the instruction | ADD EAX, 5 | ADD X0, X0, #5 |
| Register | Operand is in a register | ADD EAX, EBX | ADD X0, X0, X1 |
| Direct (Absolute) | Operand is at a fixed memory address | MOV EAX, [0x4000] | N/A (no absolute addressing) |
| Register Indirect | Address is in a register | MOV EAX, [EBX] | LDR X0, [X1] |
| Indexed | Address = register + offset | MOV EAX, [EBX+8] | LDR X0, [X1, #8] |
| Scaled Indexed | Address = base + (index × scale) + offset | MOV EAX, [EBX+ECX*4+8] | Requires separate ADD |
x86's scaled indexed mode is extremely powerful — and a perfect example of CISC complexity. Implementing it requires significant decoder hardware that ARM simply doesn't need.
| Feature | CISC (x86-64) | RISC (ARM64) | RISC-V | Impact |
|---|---|---|---|---|
| Instruction length | Variable (1–15 bytes) | Fixed (4 bytes) | Fixed (4 bytes, or 2 for compressed) | Fixed = simpler decode, deeper pipeline |
| General-purpose registers | 16 × 64-bit | 31 × 64-bit | 32 × 64-bit | More registers = less memory traffic |
| Memory access | Any instruction can use memory | Load/Store only | Load/Store only | Load/Store = simpler hazard detection |
| Instruction count | ~1,000+ | ~200–300 | ~100–200 base | Fewer = simpler compiler targets |
| Addressing modes | Many complex modes | Simple (register + offset) | Simple | Complex modes require bigger decoder |
| Power efficiency | Moderate–High | Excellent | Excellent (implementation-dependent) | RISC dominates mobile/embedded |
| Backward compatibility | 46 years (1978–present) | 40 years (1985–present) | Actively developed (2010–present) | x86 carries legacy baggage |
| License | Proprietary (Intel/AMD) | Proprietary (Arm Ltd.) | Open (BSD license) | RISC-V enables royalty-free design |
| Market | Desktop, laptop, server | Mobile, embedded, Apple Silicon | Embedded, emerging server | ISA choice driven by use case |
Get this course's notes on Telegram!
Free cheat sheets, summaries & practice exercises