Skip to main content
← All posts

Part 8: Instruction Set Architecture: CISC vs RISC & The Open RISC-V Standard

Md. Harun-Or-RoshidNov 5, 20263 min readArticle
Part 8: Instruction Set Architecture: CISC vs RISC & The Open RISC-V Standard

Instruction Set Architecture (ISA) Philosophy

The Instruction Set Architecture (ISA) serves as the fundamental abstraction boundary and contractual specification bridging software software (compilers, operating systems) and underlying hardware silicon. Historically, computer architecture polarized into two philosophical camps: CISC (Complex Instruction Set Computer), which prioritizes dense, variable-length instructions executing complex multi-step operations in hardware, and RISC (Reduced Instruction Set Computer), which prioritizes streamlined, fixed-length instructions, load/store semantics, and compiler optimization. In this article, we evaluate the architectural trade-offs between x86-64 and ARM, and dissect the modern open-standard RISC-V (RV64G) architecture.

1. The Architectural Divide: CISC vs. RISC

Architectural MetricCISC (e.g. Intel x86-64)RISC (e.g. RISC-V, ARM)
Instruction LengthVariable length (1 to 15 bytes per instruction)Uniform fixed 32-bit length (or 16-bit compressed)
Memory AccessArithmetic ops can directly read/write memory operandsStrict Load/Store: ALU acts solely on registers
Register File SizeRelatively small (16 general registers in x86-64)Large uniform file (32 general registers: x0-x31)
Decoder ComplexityComplex multi-stage decoders translating to internal μ-OpsUltra-simple single-cycle combinational hardwired decoders
Energy EfficiencyHigher idle power; higher transistor budget for decodingExceptional energy efficiency; dominates mobile & cloud servers

2. The Iron Law of Processor Performance

The execution time of a computer program is governed by the universal performance formula:

\text{CPU Time} = \frac{\text{Instructions}}{\text{Program}} \times \frac{\text{Clock Cycles}}{\text{Instruction}} (\text{CPI}) \times \frac{\text{Seconds}}{\text{Clock Cycle}}
  • CISC Philosophy: Focuses on minimizing the number of instructions per program ($\frac{\text{Instructions}}{\text{Program}}$) by providing expressive, complex instructions, tolerating a higher CPI.
  • RISC Philosophy: Minimizes the clock cycles per instruction ($\text{CPI} \to 1.0$) and enables shorter clock periods, accepting a modestly higher total instruction count handled by optimizing compilers.

3. The RISC-V Open Architecture Standard (RV64G)

Developed at UC Berkeley by Krste Asanović, David Patterson, and colleagues, RISC-V is a free and open instruction set architecture governed by RISC-V International. Unlike proprietary ISAs (x86 licensed by Intel/AMD, ARM licensed by Arm Ltd), RISC-V is completely unencumbered by royalties or patents.

RISC-V is designed around a clean, modular base integer ISA with optional standardized extensions:

  • RV64I: 64-bit base integer instruction set with 32 general-purpose registers (x0 is hardwired to 0).
  • M Extension: Standard integer multiplication and division hardware.
  • A Extension: Atomic memory instructions (load-reserved / store-conditional) for OS concurrency locks.
  • F & D Extensions: Single-precision (32-bit) and double-precision (64-bit) IEEE 754 floating-point units with 32 floating-point registers (f0-f31).
  • C Extension: 16-bit compressed instructions, yielding equal or superior code density compared to CISC x86.
  • V Extension: Variable-length vector processing extensions for high-throughput AI/ML and scientific computing.
Share:
Share on X
Share on LinkedIn
Share on Facebook
Share on Reddit
Share on WhatsApp
Share on Telegram
Copy link

Related reading

Instruction Set Architecture: RISC vs CISC | Draftsbook · Draftsbook