Prerequisite – Hardwired v/s Micro-programmed Control Unit
Basically, 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 “microinstructions”. The sequences of microinstructions could be stored in an internal “control” memory.
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 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 Vertical micro-programmed control unit, the control signals are represented in the encoded binary format. Here ‘n’ control signals require log2n bit encoding.
Comparison between Horizontal micro-programmed control unit and Vertical micro-programmed control unit:
|Horizontal µ-programmed CU||Vertical µ-programmed CU|
|It supports longer control word.||It supports shorter control word.|
|It allows higher degree of parallelism. If degree is n, then n Control Signals are enabled at a time.||It allows low degree of parallelism i.e., degree of parallelism is either 0 or 1.|
|No additional hardware is required.||Additional hardware in the form of decoders are required to generate control signals.|
|It is faster than Vertical micro-programmed control unit.||it is slower than Horizontal micro-programmed control unit.|
|It is less flexible than Vertical micro-programmed control unit.||It is more flexible than Horizontal micro-programmed control unit.|
|Horizontal micro-programmed control unit uses horizontal microinstruction, where every bit in the control field attaches to a control line.||Vertical micro-programmed control unit uses vertical microinstruction, where a code is used for each action to be performedand thedecoder translates this code into individual control signals.|
|Horizontal micro-programmed control unit makes less use of ROM encoding than vertical micro-programmed control unit.||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 which 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 byte using:
a) Horizontal Programming
b) Vertical programming
a)For Horizontal 64 bits for 64 signals Control Word Size = 4 + 64 + 12 = 80 bits Control Memory = 4 kW = ( (4* 80) / 8 ) = 40 kByte a)For Vertical 6 bits for 64 signals i.e log264 Control Word Size = 4 + 6 + 12 = 22 bits Control Memory = 4 kW = ( (4* 22) / 8 ) = 11 kByte
- Computer Organization | Control Unit and design
- Computer Organization | Hardwired v/s Micro-programmed Control Unit
- Computer Organization | Machine Control Instruction
- CSS | Layout - Horizontal & Vertical Align
- Hardwired Vs Micro-programmed Control unit | Set 2
- Computer Organization | General Register based CPU Organization
- Computer Organization | Stack based CPU Organization
- Computer Organization | Basic Computer Instructions
- Computer Organization | Performance of Computer
- Computer Network | TCP Congestion Control
- Computer Network | Error Control in TCP
- Computer Networks | Congestion control techniques
- Computer Organization | RAM vs ROM
- Computer Organization | BUS Arbitration
- Computer Organization | MPU Communication
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to firstname.lastname@example.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.
Improved By : VaibhavRai3