The Data Processing Unit (DPU) holds most of the program-visible state of the processor, such as general-purpose registers and system registers. It provides configuration and control of the memory system and its associated functionality. It decodes and executes instructions, operating on data that is held in the registers in accordance with the ARMv8-A architecture. Instructions are fed to the DPU from the IFU. The DPU executes instructions that require data to be transferred to or from the memory system by interfacing to the Data Cache Unit (DCU), that manages all load and store operations.