Controls the flow of data between the CPU and memory
Arithmetic logic unit (ALU)
Stores the program instructions and data
Registers
Performs input and output operations
Cache memory
Transfers control signals between CPU components
Control unit
Stores data being processed by the CPU
Registers