Control Unit
- Control Unit
- In Logic World, a Control Unit (CU) is a composite component designed to generate and coordinate control signals for other circuits.
- Its primary functions are:
- To produce ordered sequences of control signals over time
- To provide a convenient interface that prevents mistaken combinations of control signals
Overview
All computers, however complex, are built on a fundamental idea: changing from one state to another state. By sequencing control signals in various combinations, any computation can be achieved.
Each transfer of information inside the computer requires one read signal and one write signal. For example, transferring information from one Register to another involves first activating the read signal on the source register, then the write signal on the destination register. The control unit is responsible for generating these signals in the correct order.
More elaborate control sequences, such as performing operations on data or displaying results on a Display, are similarly coordinated by the control unit.
A control unit can adjusts its sequence of control signals based on different input conditions. These inputs typically originate from other components such as the Instruction Register, Status Register, or various system flags. By interpreting these inputs, the control unit can "execute an instruction" - dynamically altering its control signal sequence according to the contents of the instruction register.
The control unit may also update the instruction register by fetching new data from memory. This operation, known as an instruction fetch, is part of the core fetch → decode → execute cycle present in virtually all computer architectures. The overall timing of these operations is usually governed by a Clock.
Implementation
Pipelined Computers
In pipelined computer architectures, control signals are often generated using a series of shift registers. Each register passes its state to the next on the rising edge of the clock. Each stage of the pipeline corresponds to one register and produces its control signals through devices such as Decoders, Lookup Tables, PLAs, or ROMs. As new states are shifted through the pipeline, each stage updates its control signals accordingly.
Sequential Computers
For non-pipelined (sequential) computers, control logic is generally more complex. While a simple design can use a Counter and a ROM to step through predefined control sequences, systems that require conditional branching or loops typically implement their control unit as a Finite State Machine (FSM). This approach allows for flexible control flow and dynamic sequencing based on internal and external conditions.