by Dinesh Thakur

A control unit (or controller, same thing) is a piece of hardware that manages the activities of peripherals (separate devices attached to the computer, such as monitors, hard drives, printers, etc.) Control units found on personal computers are usually contained on a single printed circuit board. The control unit acts as a sort of "go-between," executing transfers of information between the computer's memory and the peripheral. Although the CPU (central processing unit-the "big boss" in the computer) gives instructions to the controller, it is the control unit itself that performs the actual physical transfer of data.

The control unit fetches one or more new instructions from memory (or an INSTRUCTION CACHE), DECODES them and dispatches them to the appropriate FUNCTION UNITS to be executed. The control unit is also responsible for setting the LATCHES in various data paths that ensure that the instructions are performed on the correct operand values stored in the REGISTERS.

In a CISC processor the control unit is a small processor in its own right that executes MICROCODE programs stored in a region of ROM that prescribe the correct sequence of latches and data transfers for each type of macroinstruction. A RISC processor does away with microcode and most of the complexity in the control unit, which is left with little more to do than decode the instructions and turn on the appropriate function units.