Describe the concept of horizontal and vertical microprogramming in control unit design?
Describe the concept of horizontal and vertical microprogramming in control unit design?
Quick answer
In a microprogrammed control unit, each microinstruction holds the control signals for one step. The way these signals are put into the microinstruction gives two styles, horizontal and vertical.
Horizontal microprogramming
In this style, each control signal of the machine has its own bit in the microinstruction. If the bit is 1, the signal is active. So the signals go to the hardware straight, with no decoder in between. Many signals can be active together, so many micro operations can be done in parallel in a single step. The word is very wide, often over 100 bits.
- Advantages: fast, high parallelism, little decoding, simple control.
- Disadvantages: large control memory, long words, and many bits are zero in most words, so space is wasted. The programmer needs to know the hardware in detail.
Vertical microprogramming
Here the control signals are put in groups, and each group is coded in a small field. For example, 3 bits can select one of 8 signals. A decoder for each field turns the code into the signal lines. Only one signal per field can be active at a time, so less parallelism is possible. The word is short.
- Advantages: small control memory, short words, easier to write and understand, like a machine language.
- Disadvantages: slower, because of decoding time, and less parallel.
Example. Let there be 16 control signals. A horizontal microinstruction needs 16 bits for them. A vertical one that groups them in two fields of 8 signals needs two 3 bit fields, which is 6 bits. So the memory is smaller, but a decoder is needed for each field and only one signal in a field can be on.
| Point | Horizontal | Vertical |
|---|---|---|
| Coding | One bit per signal | Encoded fields |
| Word length | Long | Short |
| Parallelism | High | Low |
| Decoder | Not needed | Needed |
| Speed | Fast | Slower |
| Control memory | Large | Small |
| Ease of programming | Hard | Easier |
Many designs use a mix, called a nanoprogramming or mixed scheme, to get a balance between speed and size.
Short on time? The 1, 5 and 10 mark versions of this answer, flashcards and practice sets come with a program pass.
Up nextDiscuss the characteristics and functionalities of auxiliary memories such as magnetic dis