Microprogrammed Control in Computer Organization
- 1 Microprogrammed Control in Computer Organization
Control signals are generated by a program similar to machine language programs.
Control Word (CW); micro routine; microinstruction
Basic organization of a microprogrammed control unit.
One function cannot be carried out by this simple organization.
The previous organization cannot handle the situation when the control unit is required to check the status of the condition codes or external inputs to choose between alternative courses of action.
Use conditional branch microinstruction.
- A straightforward way to structure microinstructions is to assign one bit position to each control signal.
- However, this is very inefficient.
- The length can be reduced: most signals are not needed simultaneously, and many signals are mutually exclusive.
- All mutually exclusive signals are placed in the same group in binary coding.
F2 (3 bits)
000: No transf er
F1 F2 F3 F4 F5
F1 (4 bits) F3 (3 bits) F4 (4 bits) F5 (2 bits)
0000: No transf er
1011: Of f soeutt
000: No transf er
00: No action
F6 F7 F8
F6 (1 bit) F7 (1 bit) F8 (1 bit)
0: No action
Figure 7.19. An example of a partial format for field-encoded microinstructions.
What is the price paid for
- Enumerate the patterns of required signals in all possible microinstructions. Each meaningful combination of active control signals can then be assigned a distinct code.
- Vertical organization(No encoding of control signals in control memory)
- Horizontal organization(Reducing control fields in memory storage by use of MUXs in the output word from control memory
If all microprograms require only straightforward sequential execution of microinstructions except for branches, letting a μPC governs the sequencing would be efficient.
However, two disadvantages:
Having a separate micro routine for each machine instruction results in a large total number of microinstructions and a large control store.
Longer execution time because it takes more time to carry out the required branches.
Example: Add src, Rdst
Four addressing modes: register, autoincrement, autodecrement, and indexed (with indirect forms
Microinstructions with Next-Address Field
- The microprogram we discussed requires several branch microinstructions, which perform no useful operation in the data path.
- A powerful alternative approach is to include an address field as a part of every microinstruction to indicate the location of the next microinstruction to be fetched.
- Pros: separate branch microinstructions are virtually eliminated; few limitations in assigning addresses to microinstructions.
- Cons: additional bits for the address field (around 1/6)
- A micro-program determines the machine instructions of a computer
- Suppose we have two computers M1 and M2 with different instruction sets
- By adapting the micro-program of M1, we can emulate M2
Micro-program is often placed in ROM on CPU chip
Some machines had writable control store, i.e. user could change instruction set