Difference between Horizontal and Vertical micro-programmed Control Unit
Prerequisite – Hardwired v/s Micro-programmed Control Unit
The control unit (CU) is the engine that runs the entire functions of a computer with the help of control signals in the proper sequence. In the micro-programmed control unit approach, the control signals that are associated with the operations are stored in special memory units. It is convenient to think of sets of control signals that cause specific micro-operations to occur as being “micro-instructions”. The sequences of micro-instructions could be stored in an internal “control” memory.
The micro-programmed control unit can be classified into two types based on the type of Control Word stored in the Control Memory, viz., Horizontal micro-programmed control unit and Vertical micro-programmed control unit.
- In the Horizontal micro-programmed control unit, the control signals are represented in the decoded binary format, i.e., 1 bit/CS. Here ‘n’ control signals require n bit encoding. On the other hand.
- In a Vertical micro-programmed control unit, the control signals are represented in the encoded binary format. Here ‘n’ control signals require log2n bit encoding.
Difference between Horizontal and Vertical micro-programmed Control Unit:
|S. No||Horizontal µ-programmed CU||Vertical µ-programmed CU|
|1.||It supports longer control word.||It supports shorter control word.|
|2.||It allows a higher degree of parallelism. If degree is n, then n Control Signals are enabled at a time.||It allows a low degree of parallelism i.e., the degree of parallelism is either 0 or 1.|
|3.||No additional hardware is required.||Additional hardware in the form of decoders is required to generate control signals.|
|4.||It is faster than a Vertical micro-programmed control unit.||it is slower than a Horizontal micro-programmed control unit.|
|5.||It is more flexible than a vertical micro-programmed control unit.||It is less flexible than horizontal but more flexible than that of a hardwired control unit.|
|6.||A horizontal micro-programmed control unit uses horizontal micro-instruction, where every bit in the control field attaches to a control line.||A vertical micro-programmed control unit uses vertical micro-instruction, where a code is used for each action to be performed and the decoder translates this code into individual control signals.|
|7.||The horizontal micro-programmed control unit makes less use of ROM encoding than the vertical micro-programmed control unit.||The vertical micro-programmed control unit makes more use of ROM encoding to reduce the length of the control word.|
Example: Consider a hypothetical Control Unit that supports 4 k words. The Hardware contains 64 control signals and 16 Flags. What is the size of control word used in bits and control memory in a byte using:
a) Horizontal Programming
b) Vertical programming
64 bits for 64 signals % 16 bits for flags
Control Word Size = 64 + 16 = 80 bits
Control Memory = 4 kW = ( (4* 80) / 8 ) = 40 kByte
6 bits for 64 signals i.e log264
4 bits for 16 flags i.e log216
12 bits for 4K words i.e log2(4*1024)
Control Word Size = 4 + 6 + 12 = 22 bits
Control Memory = 4 kW = ( (4* 22) / 8 ) = 11 kByte