Datapath

A data path is a collection of functional units such as arithmetic logic units (ALUs) or multipliers that perform data processing operations, registers, and buses.[1] Along with the control unit it composes the central processing unit (CPU).[1] A larger data path can be made by joining more than one data paths using multiplexers.

A data path is the ALU, the set of registers, and the CPU's internal bus(es) that allow data to flow between them.[2]

A microarchitecture data path organized around a single bus

The simplest design for a CPU uses one common internal bus. Efficient addition requires a slightly more complicated three-internal-bus structure.[3] Many relatively simple CPUs have a 2-read, 1-write register file connected to the 2 inputs and 1 output of the ALU.

During the late 1990s, there was growing research in the area of reconfigurable data paths—data paths that may be re-purposed at run-time using programmable fabric—as such designs may allow for more efficient processing as well as substantial power savings.[4]

  1. ^ a b Cite error: The named reference NullLobur2006 was invoked but never defined (see the help page).
  2. ^ Edward Bosworth. "Overview of Computer Architecture".
  3. ^ Edward Bosworth. "CPU Bus Structure".
  4. ^ J. R. Hauser and J. Wawrzynek, Garp: a MIPS processor with a reconfigurable coprocessor, FCCM’97, 1997, pp. 12–21. Archived 2017-09-22 at the Wayback Machine