In this lesson, you will learn how microprogramming and hardwired control sets are designed in computer architecture. You will be able to describe their advantages and disadvantages and provide examples of each. Control Units Whenever we turn on a computer or run a program, we assume that the underlying components are doing their job. Even at our granular level in computer architecture, we assume that if we execute an instruction, such as add, that the ALU Arithmetic Logic Unit flips its control signals and sends the result to the Accumulator AC. Think of it this way: You have installed wiring for a new ceiling fan. Once done, you assume that flipping the switch results in a behavior in the fan.
|Published (Last):||3 February 2010|
|PDF File Size:||3.18 Mb|
|ePub File Size:||20.60 Mb|
|Price:||Free* [*Free Regsitration Required]|
Comparatively slow What are Control Signals? 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. 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. 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. 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 control signal differs from other control signal depending on the bit pattern of the control word. Instruction execution is performed in steps as we have seen above. A sequence of microinstructions required to execute a particular instruction is called microroutine.
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 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 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. Control Store or Control memory is a memory used store the microprograms. A microprogram control unit is simple to implement and flexible to modify but it is slower than Hardwired control unit. 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. So this is all about the differences between hardwired and microprogrammed control unit.
Microprogramming vs. Hardwired Control
Hardwired, Microprogrammed Control Unit What is a Hardwired Control Unit Hardwired Control Unit is implemented using various electronic components such as combinational logic units and gates. The circuit uses a fixed architecture. If the instruction set is changed, the wiring should also be changed. As it is hardwired, the instruction set is constant and does not change. Figure 1: Basic Structure of the Computer Usually, these control units execute faster.
Computer Organization | Hardwired v/s Micro-programmed Control Unit
There are two approaches used for generating the control signals in proper sequence as Hardwired Control unit and Micro-programmed control unit. Hardwired Control Unit — The control hardware can be viewed as a state machine that changes from one state to another in every clock cycle, depending on the contents of the instruction register, the condition codes and the external inputs. The outputs of the state machine are the control signals. Fixed logic circuits that correspond directly to the Boolean expressions are used to generate the control signals. Hardwired control is faster than micro-programmed control. A controller that uses this approach can operate at high speed.
Difference between Hardwired and Micro-programmed Control Unit | Set 2
Difference between 3-address instruction and 1-address instruction