Control Unit

Introduction

A processor is composed of datapath and control unit. Datapath of a processor is the execution unit such as ALU, shifter, registers and their interconnects.  Control unit is considered to be the most complex part of a processor. Its function is to control various units in the datapath.  Control unit realises the behaviour of a processor as specified by its micro operations.  The performance of control unit is crucial as it determines the clock cycle of the processor.

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)

Hardwired control unit

In the past, hardwired control unit is very difficult to design hence its engineering cost is very high. Presently, the emphasis of computer design is the performance therefore hardwired is the choice.  Also the CAD tools for logic design has improved to the point that a complex design can be mostly automated.  Therefore almost all processors of today use hardwired control unit.

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
 

Reference