Computing Library › Digital Logic & Circuits
Digital Logic & Circuits

The Datapath

The datapath is the collection of registers, ALU, and interconnect that performs a processor's data operations, steered by the control unit.

What it is

The datapath is the part of a processor that holds and transforms data. It comprises the register file, the ALU, multiplexers, and the buses that connect them. The datapath does the work; the control unit tells it what to do each cycle.

Datapath versus control

Kronos motion — control room

A processor divides cleanly into datapath and control. The datapath contains the storage and arithmetic; the control unit, usually a finite state machine, generates the select and enable signals that route data and choose operations. This separation makes the design tractable.

A typical cycle

In a simple design, operands are read from the register file, a multiplexer picks the ALU's second input, the ALU computes a result, and the result is written back to a register or sent to memory. Multiplexers at each junction let the same hardware serve many instructions.

Reuse of hardware

The datapath is built to be shared across instructions. One adder computes both arithmetic results and memory addresses; one register file serves all instructions. Control signals reconfigure the same components for each operation, which is what makes a general-purpose processor economical in hardware.

Toward the CPU

Combining the datapath with a control unit and a connection to memory yields a complete von Neumann CPU. Breaking the datapath into stages that operate concurrently gives a pipeline.