Reduced instruction set computing

What Is Reduced Instruction Set Computing?

Reduced instruction set computing (RISC) is a processor design philosophy centered on a small, uniform set of simple instructions that each execute in a single clock cycle, as opposed to the complex, variable-length instructions of earlier computer architectures. By simplifying the instruction set and the hardware needed to decode it, RISC designs free transistor area and clock cycles for deeper pipelines, larger register files, and more aggressive out-of-order execution. The result is a processor that achieves high throughput by executing many simple operations quickly rather than by supporting specialized complex operations directly in silicon.

RISC draws on computer architecture, compiler theory, and digital logic design. The approach emerged from empirical studies in the late 1970s showing that compilers rarely generated the complex instructions available in contemporary processors, and that those instructions executed no faster than equivalent sequences of simpler ones. The term itself was coined by David Patterson of UC Berkeley during the Berkeley RISC project, which produced its first prototype in 1982. John Hennessy's concurrent Stanford MIPS project established complementary principles, and both efforts directly influenced the commercial architectures that followed.

Design Philosophy and Instruction Set

The core RISC principle is that instructions should be simple enough for hardware to decode in one stage and execute in one cycle. RISC instruction sets enforce a load-store architecture: arithmetic and logical operations work only on processor registers, not directly on memory; separate load and store instructions transfer data between memory and registers. This constraint simplifies the control unit and enables uniform instruction width, which accelerates instruction fetch and decode stages. Register files in RISC designs are typically large, often 32 general-purpose registers, reducing the frequency of costly memory accesses.

Orthogonality is a related design virtue: any operation should be applicable to any register or addressing mode, eliminating the special-case decoding logic that complicated earlier architectures. The Computer History Museum's account of RISC development documents how studies of VAX and other CISC (complex instruction set computing) architectures revealed that a small fraction of instructions accounted for the vast majority of execution cycles, motivating the deliberate reduction of the instruction set.

Pipeline Architecture

RISC's uniform instruction format and single-cycle execution model are prerequisites for efficient pipelining. In a classic five-stage RISC pipeline, instructions progress through instruction fetch, instruction decode, execute, memory access, and write-back stages simultaneously, with different instructions occupying different stages in each cycle. When pipeline stages are balanced in latency, this arrangement allows the processor to begin a new instruction every cycle, achieving an ideal throughput of one instruction per cycle.

Data hazards arise when a later instruction requires a result not yet written by an earlier one. RISC processors handle these through operand forwarding, which routes results directly from one pipeline stage to another without waiting for a register write-back, and through compiler-scheduled NOPs or instruction reordering that places independent instructions in the delay slots between dependent ones. Branch prediction units reduce the performance penalty of conditional jumps by speculatively executing the most likely path.

Commercial Implementations and RISC-V

The first commercial RISC processors appeared in the late 1980s as the SPARC, MIPS, and PA-RISC architectures, used in Unix workstations and servers. The ARM architecture, licensed to hundreds of semiconductor companies, became the dominant RISC ISA for embedded and mobile applications. As documented in IBM's corporate history of RISC development, the IBM POWER architecture descends from the original 801 project that foreshadowed the RISC movement and continues in high-performance server and supercomputer applications.

RISC-V, an open-source ISA released by UC Berkeley in 2010, has attracted broad academic and industry adoption by offering a royalty-free foundation for custom processor design. Its modular extension system allows implementers to add floating-point, vector, or specialized instruction subsets without modifying the base integer specification. The Engineering and Technology History Wiki milestone entry on the first RISC microprocessor recognizes the Berkeley RISC I as the IEEE milestone that established the architectural principles now embodied in billions of shipped processors.

Applications

Reduced instruction set computing has applications in a wide range of disciplines, including:

  • Mobile and consumer electronics through ARM-based system-on-chip designs
  • Embedded control in automotive, industrial, and IoT systems
  • High-performance computing clusters using POWER and RISC-V processors
  • Network routers and storage controllers with MIPS-derived designs
  • Academic processor research using open RISC-V implementations
  • Custom AI accelerators built on RISC-V base cores with domain-specific extensions
Loading…