Siksha Sarovar

Siksha Sarovar (sikshasarovar.com) is a free educational web application that helps students in India learn programming and prepare for academic and competitive exams. The platform offers structured coding courses (C, C++, Python, Java, HTML, CSS, PHP, Power BI, AI, Machine Learning, Data Science), complete university curriculum notes for BCA/MCA students with previous year question papers, Class 10 and Class 12 CBSE/HBSE school notes, and dedicated preparation material for SSC, UPSC, Banking, Railway and other government exams. Browsing the site is completely free and requires no account. Users may optionally sign in with Google solely to save their learning progress, quiz scores and personal preferences across devices.

Privacy Policy | Terms of Service | Contact Siksha Sarovar | About Siksha Sarovar

v4.0.9 · PWA
Siksha Sarovar logo
Siksha Sarovar
Your Learning Universe

Siksha Sarovar is a free e-learning platform for coding courses, BCA university notes and competitive exam preparation. Optional Google sign-in saves your learning progress across devices.

Initializing knowledge base…
Compiling modules 0%

Unit 3: RISC vs CISC — Philosophy, ARM vs x86

Lesson 10 of 17 in the free Logical Organization of Computer-II notes on Siksha Sarovar, written by Rohit Jangra.

3.1 Two Philosophies of Instruction Set Design

CISC (Complex Instruction Set Computer) grew in the 1960s–70s when memory was tiny and expensive and compilers were weak: make single instructions do a lot (string copy, polynomial evaluate), close the "semantic gap" between high-level languages and hardware, and shrink program size.

RISC (Reduced Instruction Set Computer) was born from measurement (IBM 801, Berkeley RISC, Stanford MIPS, ~1980): dynamic traces showed compilers used a small simple subset of instructions ~80% of the time, while the complex ones mostly sat idle yet slowed the whole machine down (longer decode, microcode overhead). Conclusion: implement only simple instructions, make each blazingly fast, and let the compiler compose complexity.

3.2 The Comparison Table (Learn Every Row)

FeatureRISCCISC
Instruction countfew (dozens)many (hundreds–thousands)
Instruction lengthfixed (e.g., 4 bytes)variable (x86: 1–15 bytes)
Instruction formatsvery few, regularmany, irregular
Addressing modesfew (3–5)many (12+)
Memory accessload/store only — ALU ops are register–registerALU ops may reference memory directly
Registerslarge file (32+)fewer (x86 legacy: 8, x86-64: 16)
CPI~1 (pipeline-friendly)multi-cycle, variable
Control unithardwiredmicroprogrammed (traditionally)
Code sizelarger (more instructions)smaller
Decodingtrivial, parallelcomplex, sequential-ish
Compiler burdenheavylighter
ExamplesARM, MIPS, RISC-V, SPARC, PowerPCx86/x86-64, VAX, Motorola 68000

The deep "why": fixed-length, regular instructions are what make deep pipelining and superscalar issue practical — the fetcher knows where every instruction begins, and the decoder is simple enough to replicate. CISC's variable lengths force serial-ish decode, the very bottleneck RISC removes.

3.3 Concrete Contrast: ARM vs x86

Add a memory variable into a register:

x86 (CISC): one instruction touches memory and adds
    ADD EAX, [count]

ARM (RISC): load/store discipline, three registers
    LDR R1, =count
    LDR R2, [R1]
    ADD R0, R0, R2
  • ARM: 16 (A32) / 31 (A64) general registers, fixed 4-byte instructions (plus compact Thumb), designed around low power per instruction — hence its dominance in phones and embedded devices.
  • x86: decades of backward compatibility back to the 8086; instructions from 1 to 15 bytes; rich addressing (base + index × scale + displacement).

3.4 The Modern Convergence (Advanced Marks Live Here)

The war ended in a merger. Since the Pentium Pro (1995), x86 CPUs translate CISC instructions into RISC-like micro-operations (µops) in the decoder, then run them on a fast, pipelined, superscalar RISC-style core — "CISC outside, RISC inside." Meanwhile ARM added complex-ish features (NEON SIMD, hardware division). So today the ISA style matters less than the implementation; the real remaining CISC costs are decoder complexity and power, which is why ARM historically wins performance-per-watt while x86 retains the desktop/server software ecosystem.

Also mention-worthy: early RISC (SPARC) introduced register windows — overlapping register banks that make procedure call/return nearly free by renaming instead of saving/restoring — a distinguishing RISC feature examiners occasionally probe.

🎯 Exam Focus

  1. Differentiate RISC and CISC architectures (any eight points).
  2. What is the semantic gap? How did CISC try to close it, and why did RISC reject that approach?
  3. Why are fixed-length instructions and a load/store architecture essential for efficient pipelining?
  4. Compare ARM and x86 on registers, instruction length and target markets, with one code example.
  5. "Modern x86 processors are RISC machines in disguise." Justify with reference to micro-operations.
  6. Explain register windows and the problem they solve in RISC processors.