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.
In a computer program we have seen that execution of every instruction consists of two part - fetch phase and execution phase of the instruction. It is also observed that the fetch phase of all instruction is same.
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 calculate the appropriate starting address of the microprogram for the instruction which is currently present in IR. After the
PC
controls the execution of microprogram which generates the appropriate control signal in proper sequence.
During the execution of a microprogram, the
PC is always incremented everytime a new microinstruction is fetched from the microprogram memory, except in the following situations :
-
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.