*** Welcome to piglix ***

Datapath


A datapath is a collection of functional units, such as arithmetic logic units or multipliers, that perform data processing operations, registers, and buses. Along with the control unit it composes the central processing unit (CPU).

During the late 1990s, there was growing research in the area of reconfigurable datapaths—datapaths 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.

In computer processors, the datapath often consists of the following functional blocks, or some variation thereof:

There are also two registers inherent in the processor that facilitate the communication of the processor with the memory, or basically help in the memory operations of the register.

The first and foremost important interconnecting medium for all the registers inside the processor is the System bus. This bus is the processor bus and is not to be confused with the external bus that connects different memory chips and I/O devices to the processor.

This external bus is connected to the internal System bus via the MAR and the MDR registers. The data lines of the external bus are connected to MDR and the address lines of the external bus are connected to the MAR. The MDR is a bidirectional register implying that it can receive and send data to and from any one of the two internal or external buses. The MAR is a unidirectional register. It receives its input from the internal bus and gives its output to the external bus.

The Arithmetic logic unit (ALU) is used for performing arithmetic and logic operations on the data contained in different registers. It is the heart of the microprocessor. The multiplexer is provided for selecting either the constant value 4 or the register X. The constant value 4 is selected when one instruction is completed and The Program Counter is to be incremented. {As mentioned before : (PC ← (PC)+4)}. The "instruction decoder and control logic" block decodes and carries out the instruction present in the IR register.


...
Wikipedia

...