The rest of this article describes control unit in terms of computer design. There is no further article on other uses under this lemma as yet. (Disambiguation and/or integration of this article in Computer with respective linkage -- and retention/creation of a more broad-sense article -- may be appropriate.)
In computers, the control unit was historically defined as one distinct part of the 1946 reference model of Von_Neumann_architecture. In modern computer designs, the control unit is typically an internal part of the CPU with its overall role and operation unchanged.
The outputs of the control unit control the activity of the rest of the device. A control unit can be thought of as a finite state machine. -->
The control unit is the circuitry that controls the flow of data through the processor, and coordinates the activities of the other units within it. In a way, it is the "brain within the brain", as it controls what happens inside the processor, which in turn controls the rest of the PC.
A few examples of devices that require a control unit are CPUs and GPUs. The modern information age would not be possible without complex control unit designs.
At one time control units for CPUs were ad-hoc logic, and they were difficult to design. This can be identified as the main part of the computer and the main device that helps the computer to function in an appropriate manner.
Control units are now often implemented as a microprogram that is stored in a control store. Words of the microprogram are selected by a microsequencer and the bits from those words directly control the different parts of the device, including the registers, arithmetic and logic units, instruction registers, buses, and off-chip input/output. In modern computers, each of these subsystems may have its own subsidiary controller, with the control unit acting as a supervisor.
The functions performed by the control unit vary greatly by the internal architecture of the CPU, since the control unit really implements this architecture. On a regular processor that executes x86 instructions natively the control unit performs the tasks of fetching, decoding, managing execution and then storing results. On a x86 processor with a RISC core, the control unit has significantly more work to do. It manages the translation of x86 instructions to RISC micro-instructions, manages scheduling the micro-instructions between the various execution units, and juggles the output from these units to make sure they end up where they are supposed to go. On one of these processors the control unit may be broken into other units (such as a scheduling unit to handle scheduling and a retirement unit to deal with results coming from the pipeline) due to the complexity of the job it must perform.