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. So let us start with our discussion.
Content: Hardwired Vs Microprogrammed Control Unit
- Difference Chart
- What is Control Signals?
- What is Hardwired Control unit?
- What is Microprogrammed Control Unit?
- Key Differences
|Basis of Differentiation||Hardwired Control Unit||Microprogrammed Control Unit|
|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 control unit is hardwired. Modifying it will require the change in hardware.||Modifications are easy in case of microprogrammed control unit as it will require the in change in the code only.|
|Instructions||It works well for simple instructions.||It works well for complex instructions also.|
|Costing||Implementing hardwired structure requires a cost.||Implementing microprograms is not 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.
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.
Now let us discuss the organization of the microprogram control unit. We will discuss the flow of instruction execution in terms of instruction execution steps.
- In the first step (instruction fetch) the Microinstruction address generator would fetch the instruction from ‘instruction register’ (IR).
- In the second step, the microinstruction address generator decodes the instruction obtained from IR and retrieves the starting address of the microroutine required to perform the corresponding operation mentioned in the instruction. It loads that starting address to microprogram counter.
- In the third step, the ‘control word’ corresponding to the ‘starting address’ of ‘microprogram counter’ is read and as the execution proceeds, microprogram address generator will increment the value of microprogram counter to read the successive control words of the microroutine.
- In the last microinstruction of a microroutine, there is a bit which we call end bit. When end bit is set to 1 it denotes successful execution of that microroutine.
- After this, the microprogram address generator would return back to Step 1 again to fetch a new instruction. And the cycle goes on.
Key Differences Between Hardwired and Microprogrammed Control Unit
- The hardwired control unit is implemented using a hardware circuit while a microprogrammed control unit is implemented by programming.
- A hardwired control unit is designed for RISC style instruction set. On the other hand, a microprogrammed control unit is for CISC style instruction set.
- Implementing modification in a microprogrammed control unit is easier as it is easy to change the code. But implementing modification in Hardwired control unit is difficult as changing the circuitry will add cost.
- The hardwired control unit executes simple instructions easily but it finds difficulty in executing complex instruction. The microprogrammed control unit finds, executing complex instructions easy.
- Building up a hardwired control unit requires the hardware circuit which is costly. Building up microprogrammed control unit is cheaper as it only requires coding.
- The hardwired control unit does not require a control memory as here; the control signal is generated by hardware. The microprogrammed control unit requires the control memory as the microprograms which are responsible for generating the control signals are stored in control memory.
- Execution is fast as everything is in the hardware. But, the microprogram control unit is slow as it has to access control memory for the execution of every instruction.
Both Hardwired and Microprogrammed control unit ‘generates’ the control signals.
So this is all about the differences between hardwired and microprogrammed control unit.