Difference Between Hardwired and
Microprogrammed Control Unit
The Hardwired and Microprogrammed control unit generates the control
signals to fetch and execute instructions. The fundamental difference between
hardwired and microprogrammed control unit is that hardwired is
a circuitry approach whereas, the microprogram control unit is implemented
by programming.
The hardwired control unit is designed for the RISC style instruction set. On
the other hand, the microprogrammed control unit was designed for
the CISC style instruction set.
These control units can be distinguished on the several parameters which we
have discussed below. We will also discuss the design of both the control unit.
Hardwired Vs Microprogrammed Control
Difference Chart
Basis of
Hardwired Control Unit Microprogrammed Control Unit
Differentiation
Basic It is a circuitry approach. This control unit is implemented by
programming
Design RISC style instructions CISC style instructions
Modification Modification is difficult as the Modifications are easy in case of
control unit is hardwired. microprogrammed control unit as it will
Modifying it will require the require the in change in the code only.
change in hardware.
Basis of
Hardwired Control Unit Microprogrammed Control Unit
Differentiation
Instructions It works well for simple It works well for complex instructions
instructions. also.
Costing Implementing hardwired Implementing microprograms is not
structure requires a cost. costly.
Control memory No control memory is required Control memory is required
Execution Speed Faster execution Comparatively slow
What are Control Signals?
Both Hardwired and Microprogrammed control unit was designed to ‘generate’
the control signals. The control signals operate the functioning of the
processor’s hardware. It decides what operation has to be performed, what
must be the sequence of the operations performed by the processor, in what
time an operation must be executed and so on.
What is Hardwired Control Unit?
In simple words, the hardwired control unit generates the control signals to
execute the instructions in a proper sequence and at the correct time. The
hardwired control unit is created with the hardware; it is a circuitry approach. It
is designed for the RISC style instruction set.
A hardwired circuit organization is shown in the figure below. Let us discuss
all the components one by one, in order to understand the “generation of
control signals” from this circuitry organization.
The instruction register is a processors register that has the ‘instruction’ which
is currently in execution. The instruction register generates the OP-code
bits respective of the operation and the addressing modes of the operands,
mentioned in the instruction.
Instruction decoder receives the Op-code bits generated by the instruction
register and interprets the operation and addressing modes of the instruction.
Now, based on operation and addressing mode of the instruction in instruction
register it set the corresponding Instruction signal INSi to 1.
Each instruction is executed in step-like, instruction fetch, decode, operand
fetch, ALU, memory store. These steps may vary in different books. But in
general, five steps are enough to for the execution of an instruction.
Now, the control unit must be aware of the current step, the instruction is in.
For this, a Step Counter is implemented which has signals from T1, …, T5.
The step counter sets one of the signals T1 to T5 to 1 on the basis of the step,
the instruction is in.
Here, the question arises how step counter knows the current step of the
instruction? For this, a Clock is implemented. This clock is designed such that
for each step the clock must complete its one clock cycle.
So, consider if the step counter has set T3 signal 1 then after a clock cycle
completes step counter will set T4 to 1.
What if the execution of instruction has is interrupted due to some reason?
Will the clock still continue to trigger step counter? The answer is No.
The Counter Enable ‘disables’ the step counter to increment to the next step
signal, till the execution of the current step is completed.
Now, suppose the execution of an instruction depends on some condition or if
it is branch instruction. This is determined with the help of the Condition
signals. The Condition signals generate the signals for the conditions greater
than, less than, equal, greater than equal, less than equal etc.
The remaining is External inputs, it acknowledges the control signal generator
of interrupts which affects the execution of the instruction.
On an, all the Control Signal Generator generates the control signals, based
on the inputs obtained by the Instruction register, Step counter, Condition
signals and External inputs.
What is Microprogrammed Control Unit?
Microprogrammed control unit also produces the control signal but using
the programs. This approach was very popular in past during the evolution
of CISC architecture. The program that creates the ‘control signals’ is
called Microprogram. This microprogram is placed on the processor chip which
is fast memory, it is also called control memory or control store.
A microprogram has a set of microinstructions, or it is also termed as control
word. Each microinstruction is ‘n’ bit word. Each control signal differs from
other control signal depending on the bit pattern of the control word. Each
control word/microinstruction has a different bit pattern.
Instruction execution is performed in steps as we have seen above. So, for
each step there is a control word/ microinstruction in the microprogram. A
sequence of microinstructions required to execute a particular instruction is
called microroutine.
In the figure below, you can understand the organization of a control word/
microinstruction, microroutine and microprogram.