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
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.