Two main types of microinstruction formats: vertical and horizontal.
Vertical Microinstructions:
In vertical microinstructions, only a small number of bits are used, reducing the overall size of the microinstruction. The number of bits in a vertical format is typically less than the total number of control signals.
This format uses a highly encoded scheme to specify operations and is often used with a sequencer to select the micro-operations. Given the encoded nature of vertical microinstructions, they are also known as “encoded” or “compressed” formats.
For example, consider a hypothetical control unit that has 32 control signals. Instead of having a 32-bit microinstruction (as in a horizontal format), it may have an 8-bit microinstruction. The 8 bits could be broken down into smaller fields where each field represents a specific set of operations. This results in a more compact and memory-efficient control memory but may require extra decoding hardware and could be less flexible.
Horizontal Microinstructions:
In contrast, horizontal microinstructions use a larger number of bits, often equal to the number of control signals. This format is called “horizontal” because the microinstruction typically extends over a larger bit-width compared to the vertical format.
Each bit or group of bits in a horizontal microinstruction corresponds to a specific control signal or set of related control signals in the control unit. This is often called a “fully decoded” or “unencoded” format, because no decoding is required to convert the microinstruction into control signals. This leads to faster operation, as less decoding is required, but the microinstructions can be large and use more memory.
For example, if a control unit has 32 control signals, a horizontal microinstruction may have 32 bits, where each bit directly maps to a control signal. This format allows for greater flexibility and speed at the expense of larger control memory.
In essence, the decision between vertical and horizontal formats comes down to a trade-off between size and speed. Vertical microinstructions are compact but may require more time for decoding, whereas horizontal microinstructions are larger but can be processed more quickly due to direct mapping to control signals.