What Are the Two Main Components of a CPU?by Micah McDunnigan
Central processing units have two primary components: the control unit that regulates the processor's operation and the arithmetic logic unit that actually crunches numbers and compares values. However, these two clusters of transistors still rely on memory resources in the computer the CPU powers in order to function.
While not strictly a part of the CPU, processing units are useless without the memory storing data and the program instructions they are supposed to execute. This includes the permanent storage of hard drives and secondary storage devices as well as the temporary memory your computer has in its RAM. CPUs only have a tiny amount of memory for very temporary storage and cannot operate without separate memory resources.
The control unit, as its name suggests, is the circuitry that issues commands to other hardware components to execute programs. The control unit doesn't actually execute any code itself; rather, it just manages the execution of program instructions by fetching instructions from memory, parsing those instructions as necessary and then scheduling the appropriate hardware components to act on those instructions. In this way the control unit manages the operation of the entire computer.
Arithmetic Logic Unit
The ALU is the CPU component that performs the processor's actual computations. Its circuitry calculates the addition, subtraction, multiplication and division equations in the instructions the control unit passes to it. The ALU also performs performs logical operations: the process of determining if one value is equal to the other, if one value is less than the other or if one value is greater than the other. These logical operations are essential to the control structures that regulate software flow.
Registers are the tiny amounts of memory that are actually part of a CPU's hardware that provide data to the CPU far faster than it would take for the processor to retrieve the data from external memory sources but are only for the bits of information a processor needs on hand at any given time. This can include the results of ALU component operations until the control unit stores them somewhere else, or it can include memory addresses in the RAM or hard drive that contain data-like program instructions or variable values.