Horizontal vs Vertical Microprogramming: Difference and Comparison

Microprogramming is a method of implementing a computer’s control unit systematically. In a nutshell, it’s the process of creating a microcode for a microprocessor.

Microcode is a subsidiary code that dictates how a microprocessor should act when it executes Machine-language instructions, and Microcode is sometimes referred to as Microprogram when it is used in a specific operation.

A microprogrammed control unit, on the other hand, saves binary control values as words in memory.

Key Takeaways

  1. In horizontal microprogramming, each control signal corresponds to a bit position in the control word, while in vertical microprogramming, each control signal corresponds to a row in a control store.
  2. Horizontal microprogramming is more flexible than vertical microprogramming, as changes can be made more easily by altering the control word. In contrast, vertical microprogramming requires changes to the entire row in the control store.
  3. Vertical microprogramming is faster than horizontal microprogramming, as the control signals can be accessed in parallel, while in horizontal microprogramming, the signals must be accessed sequentially.

Horizontal Microprogramming vs Vertical Microprogramming

In microprogramming, horizontal microprogramming uses a wide microinstruction format with one bit per control signal, offering greater flexibility and speed.Vertical microprogramming uses a narrow microinstruction format that requires decoding, being slower but needing less memory space.

Horizontal Microprogramming vs Vertical Microprogramming

The control signals in a horizontal Microprogrammed Control Unit are represented in decoded binary format.

Each bit in horizontal microprogramming is related to a single control point, manifesting that the applicable micro-operation is to be executed.

Because each microinstruction can command several resources simultaneously, it can potentially improve hardware usage while reducing the number of microinstructions required per microprogram.

The control signals in a vertical microprogrammed control unit are encoded in binary format. Each micro-operation has its code, which the decoder translates into distinct control signals.

The microinstruction fields are completely utilized because just the micro-operation to be performed is defined. In addition, vertical microprograms are simple to write than horizontal microprograms.

Comparison Table

  Parameters of Comparison Horizontal Microprogramming Vertical Microprogramming
  Degree of parallelisma higher degree of parallelismlow degree of parallelism
FlexibleIt is less flexibleIt is more flexible
EncodingIt makes less use of ROM encoding than Vertical MicroprogrammingIt makes more use of ROM encoding
Additional hardwareNo additional hardware is requiredAdditional hardware is in the form of decoders
SequenceIt uses horizontal microinstructionIt uses vertical microinstruction

 What is Horizontal Microprogramming? 

In the horizontally Micro programmed control unit, the control signals are shown in the decoded binary format, that is, 1but/CS there ‘n’ control signals need n but encoding.

Also Read:  HTTP 1.0 vs HTTP 1.1: Difference and Comparison

Each bit in horizontal microprogramming is related to a singular control point, demonstrating that the relevant micro-operation is to be performed.

Because each microinstruction can manage many resorts at the same time, it has the potential to improve hardware usage while also requiring fewer microinstructions per microprogram.

On the other hand, horizontal microprograms represent a set of micro-operations carried out simultaneously.

It allows for more parallelism while utilizing less encoding and separating the control fields. On the other hand, developing microprograms that use resources optimally or efficiently is a difficult challenge.

Because each control bit is independent of the others, horizontal microprogramming provides a lot of freedom. Because it is longer than vertical microinstructions, it provides more information.

Like traditional machine language, horizontal microprogramming uses a sequential way to express the next specifications in rational software.

Each bit is linked to a single command post, indicating that it corresponds to the relevant control point. A micro-operation will be carried out. Branches that are both conditionally and unconditional. The sequence must then be broken using control features.

What is Vertical Microprogramming?

Control signals are defined in encoded binary format in vertical microprogrammed control units, and ‘n’ control signals require log2n bit encoding.

Vertical microprogramming, as opposed to horizontal microprogramming, uses a flexible format and a higher degree of encoding.

It reduces the length of the microinstruction and prevents the length of the microinstruction from being directly affected by increased memory capacity. In most cases, each vertical microinstruction represents a single micro-operation.

Vertical microprograms have a higher code density, which benefits the control store’s size. Vertical microinstruction is similar to the traditional machine language style, which consists of only one operation and a few operands.

Writing vertical microprograms is easier than writing horizontal microprograms. Vertical microinstruction resembles classical machine language, which has only one action and a few operands.

Also Read:  Godaddy vs Bigrock: Difference and Comparison

As a result, microprogramming is straightforward to implement. It consists of four to six fields, each requiring 16 to 32 bits per instruction.

Vertical microprograms have a higher code saturation, which benefits the control store’s capacity. Vertical microinstruction is similar to the traditional machine language style, which consists of only one function and a few processing elements.

Each vertical microinstruction defines a specific micro-operation, with operands indicating the source of data and sink.

Main Difference Between Horizontal Microprogramming and Vertical Microprogramming

  1. Horizontal Microprogramming allows for a higher degree of parallelism; if the degree is n, then n control signals are enabled at the same time. On the other hand, horizontal Microprogramming allows for a low degree of parallelism; if the degree is either 0 or 1, then only one control signal is enabled at a time.
  2. Horizontal Microprogramming is less flexible than vertical Microprogramming control unit.
  3. Horizontal Microprogramming makes less use of RaoM encoding, whereas vertical Microprogramming makes more of ROM encoding to reduce the length of the control word.
  4. No additional hardware is required for horizontal Microprogramming, but in vertical Microprogramming additional hardware is in the form of decoders that are required to generate control signals.
  5. Horizontal microprogramming employs horizontal microinstruction, in which each bit in the control field is associated with a control line. On the other Vertical microprogramming employs vertical microinstruction, in which each action is assigned a code, which is then translated into individual control signals by decoders.
References
  1. https://www.lkouniv.ac.in/site/writereaddata/siteContent/202004160626023780rohit_engg_horizontal_vertical_program.pdf

Last Updated : 11 June, 2023

dot 1
One request?

I’ve put so much effort writing this blog post to provide value to you. It’ll be very helpful for me, if you consider sharing it on social media or with your friends/family. SHARING IS ♥️

8 thoughts on “Horizontal vs Vertical Microprogramming: Difference and Comparison”

  1. The explanations of horizontal microprogramming and vertical microprogramming are excellent in shedding light on their respective attributes and mechanisms. The discussion on the degree of parallelism is particularly noteworthy.

    Reply
  2. The detailed explanation of horizontal microprogramming and vertical microprogramming offers a comprehensive overview of their characteristics and operational differences. It can be very beneficial for those studying computer architecture.

    Reply
  3. Microprogramming is an essential aspect of how a computer’s control unit is structured. The explanation of horizontal microprogramming and vertical microprogramming provides a clear understanding of their differences.

    Reply
  4. The comparison table is very helpful in illustrating the differences between horizontal and vertical microprogramming. The analysis of parameters such as flexibility, encoding, and additional hardware is quite thorough.

    Reply
  5. This is a complex but very informative article about microprogramming. It delves deep into the differences between horizontal and vertical microprogramming and is packed with technical details.

    Reply
  6. The key takeaways from this article provide valuable insight into the nuances between horizontal and vertical microprogramming, particularly when it comes to the degree of parallelism and encoding.

    Reply
  7. The in-depth descriptions of horizontal microprogramming and vertical microprogramming are immensely elucidating. Both methods have their distinct advantages and complexities, which are aptly explained.

    Reply
  8. The detailed discussion on the main differences between horizontal and vertical microprogramming is enlightening. Each point is elaborated with precision, making it easier to comprehend the disparities between the two methods.

    Reply

Leave a Comment

Want to save this article for later? Click the heart in the bottom right corner to save to your own articles box!