Control Unit Components & Its Types - Computer Architecture & Organisation

Introduction

The Control Unit is a central component of the processor that directs the operation of the computer by generating and issuing control signals. It was introduced as part of the von Neumann architecture described by John von Neumann. The control unit fetches instructions from main memory into the instruction register, decodes them, and supervises their execution by coordinating the arithmetic/logic unit (ALU), registers, memory and input/output devices.

The control unit receives instruction information and status signals as input, converts them into appropriate control signals, and sends these signals to processor sub-units and peripheral devices so that each performs the required operation. The exact implementation and functions depend on the processor architecture and design choices of the manufacturer.

  • Examples of devices that contain a control unit include Central Processing Units (CPUs) and Graphics Processing Units (GPUs).
Introduction

Functions of the Control Unit

  • It coordinates the sequence of data movements into, out of, and between processor sub-units.
  • It fetches instructions from main memory into the instruction register and advances the program counter.
  • It decodes the instruction opcode to determine required operations and resources.
  • It generates and distributes control signals that operate the ALU, registers, buses and I/O devices.
  • It controls the timing of operations - sequencing steps of the instruction execution cycle (fetch → decode → execute → write-back).
  • It handles conditional and unconditional branching by selecting the next instruction address based on flags and status signals.
  • It responds to external events such as interrupts, changing the control sequence to handle those events.
  • It manages data flow inside the processor, enabling and disabling data paths and buffers as needed.

Components of the Control Unit

  • Instruction Register (IR) - holds the current instruction fetched from memory so the control unit can inspect the opcode and fields.
  • Program Counter (PC) - holds the address of the next instruction to fetch; the control unit updates the PC during fetch and on branches.
  • Instruction Decoder - decodes opcode and instruction fields to determine the operation, operand locations and addressing modes.
  • Sequencer / Control Address Generator - produces the sequence of internal control states or microinstruction addresses (in microprogrammed designs).
  • Timing and Clocking Circuitry - supplies timing signals (derived from the clock) that synchronise the sequence of control events.
  • Control Signal Generator - hardware or microinstructions that produce the individual control signals routed to execution units, registers and buses.
  • Control Store / Microprogram Memory - (present in microprogrammed units) stores microinstructions or microprograms that implement instruction behaviour.
  • Microinstruction Register (MIR) and Microprogram Counter (MPC) - hold the current microinstruction and its address when a microprogrammed control unit is used.
  • Status and Flag Inputs - carry condition codes (zero, carry, sign, overflow) and interrupt signals that affect control decisions.
  • Bus Control and Interface Logic - control tri-states, bus arbitration and the routing of data between internal and external buses.

Types of Control Unit

Control units are commonly classified into two main types: Hardwired Control Unit and Microprogrammed Control Unit. The primary difference is whether control signals are produced directly by fixed combinational and sequential logic (hardwired) or indirectly by reading pre-stored microinstructions (microprogrammed).

Hardwired Control Unit

In a hardwired control unit, control signals required for instruction execution are produced by specifically designed digital logic circuits - combinational logic and sequential state machines. The instruction opcode is decoded and combined with timing signals and status inputs to form the required control outputs. Because the control is implemented by fixed circuitry, changing the instruction set or behaviour requires a physical redesign of the logic.

Key characteristics and operation:

  • The opcode bits from the instruction decoder activate particular output lines; these lines feed a control-signal generation matrix (implemented with gates, PLA-like structures or dedicated logic) that produces signals for the execution units.
  • Control signals are issued not at a single instant but over successive clock cycles according to the instruction execution cycle; the control unit implements a finite-state machine that steps through internal states for each phase (fetch, decode, execute, memory access, write-back).
  • The timing unit provides clock-derived timing pulses; state transitions occur when timing signals and relevant status/flag inputs indicate the next state.
  • External events such as interrupts are detected and cause the control unit to enter an interrupt-handling state sequence.
  • The final state of the cycle typically begins the next instruction fetch by sending the PC to the memory address buffer and reading the next instruction into the IR; a stop instruction will move the control unit to an idle or operating-system wait state.
Hardwired Control Unit
  • Advantages: high execution speed (control signals can be produced quickly), efficient for simple, fixed instruction sets.
  • Disadvantages: poor flexibility - hardware must be redesigned to change instruction set or control behaviour; complex control logic is hard to design and verify for large instruction sets.

Microprogrammed Control Unit

Microprogrammed control units implement control by storing sequences of smaller control words called microinstructions in a control memory (the control store). Each microinstruction encodes the control signals (or addresses into a lower-level store) and specifies how to select the next microinstruction. When an instruction is fetched, its opcode is used to locate the starting address of a microprogram that implements that instruction; the microprogram is then executed to produce the required sequence of control signals.

Single-level Control Store

In a single-level control store, the instruction opcode is used as an address into the control store address register. The first microinstruction of the corresponding microprogram is read into the microinstruction register. Each microinstruction typically contains fields that encode control signals (often as bit-fields), the address of the next microinstruction and control bits for address sequencing and conditional branching.

Single-level Control Store

Microinstruction fields are decoded to generate actual control signals. The microinstruction address generator (sequencer) may support several addressing modes including sequential, conditional (based on processor flags) and direct jumps to implement branches within the microprogram. The last microinstruction of a microprogram restores control to the instruction fetch cycle by initiating a fetch of the next instruction from main memory into the IR.

Two-level Control Store

A two-level control store separates control into two memories: a microinstruction memory and a nano-instruction memory. Microinstructions do not directly encode all control signals; instead, each microinstruction contains an address into the nano-instruction memory, where the actual encoded control signal patterns (nano-instructions) are stored. The nano-instruction memory contains canonical combinations of control signals that occur throughout the microprograms.

Two-level Control Store

This design reduces duplication because identical operation parts need not be stored repeatedly in many microinstructions. Microinstructions remain shorter and the overall control memory size can be reduced. Nano-instructions frequently use one-bit-per-signal encoding, eliminating decoding and enabling simple, fast control-signal emission.

  • Advantages of microprogrammed control: easier to design and modify (microcode can be changed without major hardware redesign), supports complex and rich instruction sets, and simplifies the implementation of instruction interpreters and emulation.
  • Disadvantages of microprogrammed control: typically slower than carefully optimised hardwired logic due to the extra memory fetches and interpretation overhead; control memory occupies silicon area and may introduce latency.

Comparison: Hardwired vs Microprogrammed

  • Flexibility: Microprogrammed units are more flexible - microcode can be updated to change behaviour. Hardwired units require hardware redesign to change control behaviour.
  • Speed: Hardwired units can be faster because control signals are produced directly by logic; microprogrammed units have overhead from reading microinstructions.
  • Complexity: Hardwired control becomes complex for large instruction sets; microprogrammed control simplifies control design by expressing behaviour as microprograms.
  • Memory use: Microprogrammed units require control store memory and supporting registers; two-level stores can reduce total memory by reusing nano-instructions.
  • Use cases: Hardwired control is common in processors where maximum performance for a fixed instruction set is required. Microprogrammed control is common where flexibility, ease of design and richer instruction sets are priorities.

Practical Notes and Examples

  • Modern processors may mix techniques: critical fast paths may use hardwired logic while less time-critical control sequences use microcode.
  • Microcode updates are sometimes used in commercial CPUs to fix bugs or implement new features without changing hardware.
  • In pipelined processors the control unit must also manage pipeline control (stalls, flushes, hazards) and coordinate control signals across pipeline stages.

Summary

  • The Control Unit orchestrates instruction fetch, decode and execution by issuing control signals to processor components and peripherals.
  • Its major components include the instruction register, program counter, decoder, sequencer, timing unit and (for microprogrammed units) the control store and microinstruction registers.
  • Two principal implementation styles are hardwired (fast, less flexible) and microprogrammed (flexible, easier to change); two-level control stores can reduce microprogram memory by reusing nano-instructions.
  • Choice of control unit design is a trade-off among speed, flexibility, complexity and implementation cost.
The document Control Unit: Components & Its Types is a part of the Computer Science Engineering (CSE) Course Computer Architecture & Organisation (CAO).
All you need of Computer Science Engineering (CSE) at this link: Computer Science Engineering (CSE)

FAQs on Control Unit: Components & Its Types

1. What is a control unit and what are its main components?
Ans. A control unit is a component of a computer's central processing unit (CPU) that manages the execution of instructions. Its main components include the instruction register, program counter, arithmetic logic unit, and control logic.
2. What are the types of control units?
Ans. There are mainly two types of control units: hardwired control units and microprogrammed control units. Hardwired control units use a combination of logic gates and flip-flops to perform the control functions, while microprogrammed control units use microinstructions stored in memory to control the execution of instructions.
3. How does a control unit function in a computer's CPU?
Ans. The control unit fetches instructions from memory, decodes them, and determines the sequence of operations required to execute the instructions. It then generates control signals to coordinate the activities of other CPU components, such as the arithmetic logic unit and registers, to carry out the instructions.
4. What is the role of the instruction register in a control unit?
Ans. The instruction register is a component of the control unit that holds the current instruction being executed. It stores the binary representation of the instruction fetched from memory and provides it to the control logic for decoding and execution.
5. How does a microprogrammed control unit differ from a hardwired control unit?
Ans. A microprogrammed control unit uses microinstructions stored in memory to control the execution of instructions. These microinstructions can be easily modified or updated, making the control unit more flexible. On the other hand, a hardwired control unit uses a fixed circuitry of logic gates and flip-flops, which is more difficult to modify or update.
Explore Courses for Computer Science Engineering (CSE) exam
Get EduRev Notes directly in your Google search
Related Searches
pdf , Objective type Questions, Exam, Free, Important questions, Previous Year Questions with Solutions, video lectures, practice quizzes, Summary, ppt, past year papers, shortcuts and tricks, mock tests for examination, Extra Questions, study material, Viva Questions, Control Unit: Components & Its Types, Control Unit: Components & Its Types, Semester Notes, MCQs, Control Unit: Components & Its Types, Sample Paper;