The control unit manages inputs and outputs of the CPU and controls the Arithmetic Logic Unit (ALU). It regulates the flow of the data and instructions in a manner that keeps the ALU functioning at a high level. The control unit provides the timing to ensure the ALU is performing at a high level. The ALU performs logic comparisons and arithmetic required to execute software instructions.