Control unit can be implemented by hardwired or by microprogram.
A computer engineering strives to optimise three aspects of control unit
design :
1. the complexity (hence cost) of the control unit
2. the speed of control unit
3. the engineering cost of the design (time, correctness etc)
Starting with behavioural description of the control unit, State diagram of micro-operations is constructed. Most states are simply driven by clock and only transition to next state. Some states branch to different states depend on conditions such as testing conditional codes or decoding the opcode.
event : go to next state
event : go to state 1 or state 2 depends on conditionals
event : branch to many states by decoding
Figure several types of states in state diagram
From state diagram, hardware realization can be constructed almost automatically by some CAD tools. Explanation of logic design for sequential circuits and logic minimization can be consulted from many basic text books on the subject such as Katz (1996). The control circuit is implemented using Programmable Logic Array (PLA). In general, any sequential circuit (which can implement any state machine) can be constructed from combination circuit with feedback. The feedback is the states. If the feedback path uses no clock, the circuit is called asynchronous. If the feedback path uses a latch with clock, the circuit is called synchronous. Synchronous circuits are used almost exclusively for sequential circuits today as they are easier to design and can be implemented reliably. Most of the CAD tools handle synchronous circuits. Asynchronous circuit has been used for the reason of speed as in many early computer design, for example, ILLIAC and many computer in the class called supercomputer. But it is difficult to implement reliably and it is still much more difficult to do systematic design of a complex machine using asynchronous circuits. The combinational part of the control circuit can be regarded as a memory where its content is the map of the inputs to the outputs (states are considered to be a part of the outputs). This view of combination circuit as a memory is called Random Access Memory model (RAM) of computation machines.
The bound of complexity of control : States x Control inputs x
Control outputs