Table of contents
1.
Introduction
2.
What is Microprogrammed Control Unit?
3.
What are the different types of microprogrammed control?
4.
Characteristics of Micro-programmed Control Unit
5.
Instruction Words
6.
Advantages of Microprogrammed Control Unit
7.
Disadvantages of Microprogrammed Control Unit
8.
Difference between Microprogrammed Control Unit and Hardwired
9.
Frequently Asked Questions
9.1.
Which memory is used in Microprogrammed control unit?
9.2.
Is a micro programmed control unit flexible for modification?
9.3.
Which is faster than a microprogrammed control unit?
9.4.
What is the role of CW in Microprogrammed control?
10.
Conclusion
Last Updated: Mar 27, 2024
Medium

Microprogrammed Control Unit

Author Rajat Agrawal
0 upvote
Career growth poll
Do you think IIT Guwahati certified course can help you in your career?

Introduction

A Microprogrammed Control Unit (MCU) is a type of control unit in a computer's central processing unit (CPU). Unlike hardwired control units, a microprogrammed control unit uses microinstructions stored in memory to control the execution of instructions. 

Microprogrammed Control Unit

Control unit can be implemented using two ways:-

1.) Hardwired control

2.) Microprogrammed control

The control unit is hardwired when the control signals are generated by hardware using conventional logic design methodologies.

In Microprogrammed Control Unit, the control information is stored in the control memory and is programmed to initiate the required sequence of micro-operations.

Before we learn about Microprogrammed Control Unit, we must be familiar with some basic terminologies. 

Let’s get familiar with those terminologies without any delay.

What is Microprogrammed Control Unit?

A control unit whose binary control variables are stored in memory is known as a microprogrammed control unit.

In Microprogrammed Control, the control information is stored in the control memory and is programmed to initiate the required sequence of micro-operations.

By creating a definite collection of signals at each system clock beat, a controller generates the instructions to be executed. Each of these output signals causes a single micro-operation, such as register transfer. As a result, defined micro-operations that can be preserved in memory are formed from the sets of control signals.

Each bit in the microinstruction is connected to a single control signal. The control signal is active when its bit is set. The control signal becomes inactive when it is cleared. The internal control memory can store a sequence of these microinstructions. A microprogram-controlled computer's control unit is a computer within a computer.

The block diagram of a Microprogrammed Control Organization is shown below.

diagram of a Microprogrammed Control Organization

The microprogrammed control performs the following steps:-

1.) It can execute any instruction. It should be divided into a sequence of consecutive operations by the CPU. This set of operations is called microinstruction. The control signals are required for the sequential micro-operations to complete.

2.) Control signals saved in the ROM are created to execute the instructions on the data direction. These control signals can be used to control the micro-operations associated with a microinstruction at any time step.

3.) The following microinstruction address is generated.

4.) The last two steps are repeated till all of the microinstructions associated with the instruction in the set are executed.

The micro counter register generates the address supported by the control ROM. The micro counter obtains its inputs from a  multiplexer that selects the output of an address ROM, a current address incrementer, and an address saved in the next address field of the current microinstruction.

What are the different types of microprogrammed control?

There are primarily two types of microprogrammed control:

  1. Horizontal Microprogramming: In horizontal microprogramming, each bit in a control word corresponds to a specific control signal. Each row in the microprogram memory represents the complete set of control signals for a particular state. This method provides a straightforward and simple way to represent microinstructions but can be less efficient in terms of memory usage.
     
  2. Vertical Microprogramming: Vertical microprogramming organizes microinstructions in a more structured manner. Each column in the microprogram memory represents a specific control signal, and each row corresponds to a step or phase in the execution of an instruction. This type of microprogramming is more space-efficient than horizontal microprogramming, making it suitable for systems where memory usage is a critical consideration.

Characteristics of Micro-programmed Control Unit

The characteristics of a micro-programmed control unit include:

  • Flexibility: Microprogrammed control units are flexible and easily adaptable to changes in the instruction set architecture. Modifications can be made by updating the microinstructions, allowing for easier implementation of new instructions or addressing changes in hardware.
     
  • Complex Instruction Sets: Microprogrammed control is often used in computers with complex instruction sets. It provides a way to manage and execute a variety of instructions with varying complexities, making it suitable for diverse instruction sets.
     
  • Ease of Implementation: The microprogrammed control unit simplifies the design and implementation of the control logic by using a sequence of microinstructions. This ease of implementation is particularly advantageous in designing control units for processors.
     
  • Control Signal Generation: Microprogrammed control units generate control signals using a set of microinstructions stored in a control memory. Each microinstruction corresponds to a specific control signal or sequence of control signals, allowing precise control over the processor's operations.
     
  • Readability and Debugging: Microinstructions are more readable than the complex combinational logic circuits found in hardwired control units. This characteristic facilitates debugging and maintenance, as the microinstructions are human-readable and can be easily modified.

Instruction Words

In the context of microcontrollers (MCUs), "instruction words" typically refer to the binary representations of machine-level instructions that the microcontroller's central processing unit (CPU) executes. These instructions are the fundamental operations that the MCU can perform. Each instruction word corresponds to a specific operation or command that the microcontroller carries out.

Here are some common characteristics of instruction words in MCUs:

  • Instruction words are represented in binary form, consisting of a sequence of 0s and 1s that the CPU interprets as commands.
     
  • The opcode (operation code) is a part of the instruction word that specifies the operation to be performed by the MCU. It determines the type of instruction, such as arithmetic, logic, or control.
     
  • If an instruction requires data to operate on, the operand provides the necessary information. The operand may be included within the instruction word or fetched separately from memory.
     
  • Instruction words may include information about the addressing mode, specifying how the operands are located or accessed in memory.
     
  • Depending on the MCU architecture, instruction words may have a fixed or variable length. In some cases, the length of the instruction word is constant, simplifying instruction decoding.

Advantages of Microprogrammed Control Unit

The advantages of Microprogrammed Control Unit are:-

  • It is a more systematic design of the control unit.
  • Flexibility to add new instructions.
  • It is easier to debug and change.
  • It can persist the underlying structure of the control function.
  • It can make the design of the control unit much simpler. Hence, it is less expensive and less error-prone.
  • It is used to control functions implemented in software and not hardware.
  • Once the hardware configuration is established, there is no need for further hardware or wiring changes.

Disadvantages of Microprogrammed Control Unit

 The disadvantages of Microprogrammed Control Unit are:-

  • Microprogrammed Control units generally execute instructions at slower speed.
  • These units are more complex in their design.
  • The cost of implementing Microprogrammed Control unit is higher.
  • It is comparatively difficult to identify and fix errors in microprogrammed control units as compared to hardwired units.
  • Microcontrolled units have limited adaptability and responsiveness.

Difference between Microprogrammed Control Unit and Hardwired

Microprogrammed Control Unit (MCU) and Hardwired Control Unit are two approaches to designing the control unit of a computer's central processing unit (CPU). Here are the key differences between them:

1. Definition:

  • Microprogrammed Control Unit (MCU): It uses a sequence of microinstructions stored in memory to control the CPU's operations. Microinstructions are low-level instructions that the control unit interprets.
  • Hardwired Control Unit: It uses combinational logic circuits and flip-flops to generate control signals directly. The control logic is directly implemented in hardware through a fixed set of logic gates.

2. Flexibility:

  • MCU: Offers greater flexibility. Modifications to the control unit can be achieved by updating the microinstructions, making it easier to adapt to changes in the instruction set architecture or fix bugs.
  • Hardwired Control Unit: Less flexible. Changes often require physical modifications to the circuitry, making it less adaptable to modifications.

3. Implementation:

  • MCU: Implemented using a control memory that stores microinstructions. It involves a sequence of read and execute cycles.
  • Hardwired Control Unit: Implemented using a fixed set of logic gates and flip-flops. The control logic is directly hardwired, and there is no need for additional memory.

4. Design Complexity:

  • MCU: Typically results in a simpler overall design because the control unit's behavior is defined by a sequence of microinstructions.
  • Hardwired Control Unit: Can become complex, especially for CPUs with complex instruction sets or a large number of instructions.

5. Readability:

  • MCU: Microinstructions are more readable for humans, which can aid in debugging and maintenance.
  • Hardwired Control Unit: Control logic implemented with combinational circuits might be harder to understand and modify.

6. Control Signal Generation:

  • MCU: Generates control signals through the execution of microinstructions stored in memory.
  • Hardwired Control Unit: Generates control signals directly through the interconnection of logic gates.

Frequently Asked Questions

Which memory is used in Microprogrammed control unit?

Microprogrammed control units generally use a dedicated read-only-memory (ROM) . This memory is also known as control store or control memory. This memory is used to store microprogram which is a sequence of microinstructions.

Is a micro programmed control unit flexible for modification?

Yes, a microprogrammed control unit is flexible for modification. The control logic is stored as microinstructions in memory. This allows modifications to be made by updating or reprogramming the microinstructions.

Which is faster than a microprogrammed control unit?

A hardwired control unit is generally faster that a microprogrammed control unit. Hardwired control units have direct implementation of the control logic using combinational circuits consisting of gates. This eliminates the overhead and makes them faster as compared to MCU.

What is the role of CW in Microprogrammed control?

In Microprogrammed Control, CW (Control Word) plays a crucial role. It represents a set of microinstructions that guide the execution of instructions. The Control Word is decoded to generate control signals, directing the CPU's operations and ensuring precise instruction execution.

Conclusion

In this blog, we have learned briefly about the Microprogrammed Control Unit. The Microprogrammed Control Unit stands as a pivotal component in computer architecture, offering flexibility, adaptability, and simplified design. Utilizing sequences of microinstructions enhances the efficiency and manageability of control units, proving indispensable in the dynamic landscape of modern computing. We also looked at the differences between MCU and hardwired control units.

To learn more about Micro Operations, refer to Arithmetic Micro Operations.

If you want to read more blogs related to Computer Organization and Architecture, you can visit RISC AND CISC, and Address Sequencing.

Happy Learning!!

Live masterclass