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
- CSS | Layout - Horizontal & Vertical Align
- Difference between Flow Control and Congestion Control
- Hardwired Vs Micro-programmed Control unit | Set 2
- Computer Organization | Control Unit and design
- Computer Organization | Hardwired v/s Micro-programmed Control Unit
- Difference between System Unit and CPU
- How to make a div fill a remaining horizontal space using CSS?
- How to make horizontal line with words in the middle using CSS?
- How to display multiple horizontal images in Bootstrap card ?
- CSS | vertical-align Property
- Vertical alignment in Bootstrap with Examples
- How to make a vertical line using HTML ?
- TCP Congestion Control
- Error Control in TCP
- How to create table with 100% width, with vertical scroll inside table body in HTML ?
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to email@example.com. 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