Computer Organization : Exploring Microinstructions: Horizontal vs. Vertical Microcode Formats in Computer Organization

Microinstructions can be classified into two main types based on their organization: horizontal microinstructions and vertical microinstructions. Let’s differentiate between these two types:

Horizontal Microinstructions: Horizontal microinstructions are organized in a one-to-one relationship with the control signals required to execute a single machine-level instruction. Each horizontal microinstruction represents a single control signal or microoperation. Horizontal microinstructions are stored in a horizontal microcode format.

Characteristics of Horizontal Microinstructions:

Instruction Level: Each horizontal microinstruction corresponds to a specific control signal, which means the microcode is closely tied to the instruction set architecture (ISA) of the processor. It directly reflects the signals needed to execute the instructions.

Control Signal Granularity: The granularity of control signals is fine-grained in horizontal microinstructions. Each microinstruction contains a single control signal or a small set of closely related control signals.

Microinstruction Width: The width of horizontal microinstructions is typically narrow, often equal to the number of control signals required for a single machine instruction.

Microinstruction Sequencing: Horizontal microinstructions are sequenced in a linear manner, and the microprogram counter advances by one for each executed microinstruction.

Memory Requirement: Horizontal microcode requires more memory since each instruction requires a dedicated microinstruction, and the microcode storage grows with the complexity of the processor’s instruction set.

Vertical Microinstructions: Vertical microinstructions, on the other hand, are organized in a one-to-one relationship with a “microprogram” or “microroutine” that corresponds to a higher-level machine instruction. Each vertical microinstruction represents a step in the execution of the higher-level instruction. Vertical microinstructions are stored in a vertical microcode format.

Characteristics of Vertical Microinstructions:

Microprogram Level: Each vertical microinstruction corresponds to a step in executing a higher-level machine instruction. A single microprogram, consisting of multiple vertical microinstructions, handles the execution of a complete instruction.

Control Signal Granularity: The granularity of control signals is coarse-grained in vertical microinstructions. Each microinstruction represents a step that may involve multiple control signals and microoperations.

Microinstruction Width: The width of vertical microinstructions is typically wider than horizontal microinstructions since each vertical microinstruction may need to encode multiple control signals.

Microinstruction Sequencing: Vertical microinstructions are sequenced within a microprogram. The microprogram counter advances to execute the next vertical microinstruction within the same microprogram.

Memory Requirement: Vertical microcode requires less memory than horizontal microcode because a single microprogram can handle multiple machine-level instructions. This can lead to more efficient use of microcode storage.

Comparison:

Horizontal microinstructions are closely tied to the processor’s instruction set and require more memory due to their one-to-one relationship with machine instructions. They offer fine-grained control but may result in larger microcode storage.

Vertical microinstructions are more abstract and correspond to higher-level machine instructions. They require less memory as multiple machine-level instructions can be handled by a single microprogram. They provide coarse-grained control.

Usage: Horizontal microinstructions are commonly used in processors with complex instruction sets and require fine-grained control over individual instructions. Vertical microinstructions are often used in processors with Reduced Instruction Set Computing (RISC) architectures, where a smaller set of instructions allows for more efficient vertical microcode storage and control.

Author: user

Leave a Reply