CISC (Complex Instruction Set Computer)

CISC, short for Complex Instruction Set Computer, is the name later given to the older processor design tradition in which the instruction set is large and powerful, with variable-length encodings and individual instructions that can perform elaborate operations, including ones that read and write memory while also computing. Machines such as Digital’s VAX and Intel’s x86 family are the classic examples. The term itself is mostly a retronym, coined to contrast with RISC after that movement gave the older style a name.

The driving idea behind complex instruction sets was to close the gap between high-level languages and the machine, and to make programs compact at a time when memory was scarce and expensive. A single instruction might handle a string copy, a procedure call with stack manipulation, or an addressing mode that computed a memory address from several components. These rich instructions were typically implemented in microcode, a layer of low-level control inside the processor that interpreted each complex instruction as a sequence of simpler internal steps.

This is precisely the design tradition that David Patterson and David Ditzel challenged in their 1980 paper “The Case for the Reduced Instruction Set Computer.” They argued that the trend toward ever more complex machines was not always cost-effective and could even do more harm than good, noting that compilers often failed to use the most elaborate instructions and that the hardware to support them slowed down the common cases. The CISC label became the foil against which RISC defined itself.

In practice the two camps did not stay cleanly separated. Intel’s x86, documented in the company’s “Intel 64 and IA-32 Architectures Software Developer’s Manual,” remained the dominant CISC instruction set for personal computers and servers, but modern x86 chips internally decode their complex, variable-length instructions into simpler RISC-like micro-operations that a fast pipelined core executes. The manual describes an architecture and instruction set that has accumulated decades of additions while preserving backward compatibility.

The lasting significance of CISC is twofold. It produced the most commercially entrenched instruction set in computing history in the x86 line, and by being the thing RISC reacted against, it sharpened the central question of computer architecture: how much complexity belongs in the instruction set itself versus in the compiler and the hardware that executes it.