2
42kviews
Explain with diagram functioning of Micro programmed Control Unit.
1 Answer
4
866views
  1. An alternative scheme for hardwired control unit design is called micro programmed control design unit in which control signals are generated by a program similar to machine language programs.
  2. A microprogrammed control unit is a relatively simple logic circuit that is capable of (1) sequencing through microinstructions and (2) generating control signals to execute each microinstruction.
  3. The concept of micro program is similar to computer program. In computer program the complete instructions of the program is stored in main memory and during execution it fetches the instructions from main memory one after another. The sequence of instruction fetch is controlled by program counter (PC).
  4. A control word (CW) is a word whose individual bits represent the various control signals. Each of the control steps in the control sequence of an instruction defines a unique combination of 1s and 0s in the CW.
  5. Consider a control step example as follows: PCout, R=B, MARin, Read, IncPc. In this step, the contents of the PC are passed through the ALU, using the R=B control signal, and loaded into the MAR to start a memory read operation. At the same time the PC is incremented.
  6. A sequence of CW’s corresponding to the control sequence of a machine instruction constitutes the micro routine for that instruction, and the individual control words in this micro routine are referred to as microinstructions. The following Figure 8 shows the basic organization of a microprogrammed control unit

enter image description here

  1. The “starting address generator “ block is responsible for loading the starting address of the micro program into the µPC every time a new instruction is loaded in the IR. The µPC is then automatically incremented the clock and it reads the successive microinstruction from memory. Each microinstruction basically provides the required control signal at that time step. The microprogram counter ensures that the control signal will be delivered to the various parts of the CPU in correct sequence.
  2. We have some instructions whose execution depends on the status of condition codes and status flag, as for example, the branch instruction. During branch instruction execution it is required to take the decision between alternative actions.
  3. To handle such type of instructions with microprogrammed control, the design of control unit is based on the concept of conditional branching in the micro program. For that it is required to include some conditional branch microinstructions.In conditional microinstructions, it is required to specify the address of the microprogram memory to which the control must be directed. It is known as branch address. Apart from branch address, these microinstructions can specify which of the flags, condition codes, or possibly, bits of the instruction register should be checked as a condition for branching to take place.
  4. To support micro program branching, the organization of control unit should be modified to accommodate the branching decision.
  5. To generate the branch address, it is required to know the status of the condition codes and status flag.
  6. To generate the starting address, we need the instruction which is present in IR. But for branch address generation we have to check the content of condition codes and status flag. The organization of control unit to enable conditional branching in the microprogram is shown in Figure 9.

enter image description here

  1. The main differences between the earlier organization and this being that: The control bits of the microinstructions word which specify the branch conditions and address are fed to the “Starting and branch address generator “block. This block performs the function of loading a new address into the µPC when the condition of branch instruction is satisfied.
  2. In microprogrammed controlled control unit, a common microprogram is used to fetch the instruction. This microprogram is stored in a specific location and execution of each instruction start from that memory location. At the end of fetch microprogram, the starting address generator unit calculates the appropriate starting address of the microprogram for the instruction which is currently present in IR. After this the µPC controls the execution of microprogram which generates the appropriate control signal in proper sequence.
  3. During the execution of a microprogram, the µPC is always incremented every time a new microinstruction is fetched from the microprogram memory, except in the following situations:

    i. When an End instruction is encountered, the µPC is loaded with the address of the first CW in the microprogram for the instruction fetch cycle.

    ii. When a new instruction is loaded into the IR, the µPC is loaded with the starting address of the microprogram for that instruction.

    iii. When a branch microinstruction is encountered, and the branch condition is satisfied, the µPC is loaded with the branch address.

Please log in to add an answer.