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.


IT Quiz

Test your knowledge about topics related to technology

1 / 10

What was the name of the space shuttle that landed man on the moon?

2 / 10

The app or software, or website asks about access of your location, camera, storage, contacts etc., are known as

3 / 10

'.MOV' extension usually refers to what kind of file?

4 / 10

The conductivity of semiconductor materials

5 / 10

What does AM mean?

6 / 10

The core idea of develop AI is bulding machines and alogrithms to

7 / 10

Which mobile company first introduced Emoji internationally on their mobile devices

8 / 10

Which of the following is not an electronic device?

9 / 10

Android is -

10 / 10

Firewall in computer is used for

Your score is


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.

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.

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.
  1. https://www.lkouniv.ac.in/site/writereaddata/siteContent/202004160626023780rohit_engg_horizontal_vertical_program.pdf

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 ♥️

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

Ads Blocker Image Powered by Code Help Pro

Ads Blocker Detected!!!

We have detected that you are using extensions to block ads. Please support us by disabling these ads blocker.