0% found this document useful (0 votes)
25 views40 pages

Microprogrammed Control Unit Overview

Control_Unit_Design
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
25 views40 pages

Microprogrammed Control Unit Overview

Control_Unit_Design
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd

Microprogrammed Control

Microprogrammed Control Basics


• Definition:
In microprogrammed control, the control unit
uses a control memory that stores a set of
microinstructions. These microinstructions
generate the control signals for instruction
execution.
• Microprogram vs Machine Program:
– Machine Program: Sequence of machine instructions
executed by CPU (visible to programmer).
– Microprogram: Sequence of microinstructions (stored
in control memory) that implement each machine
instruction.
• Control Memory Architecture:
– Contains control memory (ROM or RAM).
– Address register (CAR: Control Address Register) holds
microinstruction address.
– Control data register (CDR: Control Data Register) stores
the current microinstruction.
– Microinstruction fields decoded into control signals.
• Microinstruction Execution Cycle:
– Fetch microinstruction from control memory (CAR →
memory → CDR).
– Decode fields into control signals.
– Generate signals for datapath (ALU, registers, memory).
– Determine next microinstruction address (sequential or
branch).
– Repeat until the machine instruction completes.
• Microinstruction Design
 Horizontal vs Vertical Encoding:
– Horizontal Encoding:
• One bit for each control signal.
• Very wide microinstructions (long word length).
• Fast execution (signals available directly).
• Low decoding hardware.
– Vertical Encoding:
• Encoded fields specify groups of signals (require
decoding).
• Shorter microinstruction length.
• Slower due to extra decoding.
• Saves memory space.
 Format Design Principles:
– Each microinstruction contains:
• Control signal fields (ALU, memory, register control).
• Next address field (for sequencing).
• Branch/control field (sequential, conditional, or
jump).
– Must balance word length vs speed.
3. Minimizing Microinstruction Size
 Field Encoding Techniques:
– Divide control signals into mutually exclusive groups
(e.g., only one memory signal active at a time).
– Use fields instead of separate bits to reduce width.
– Example: instead of 5 signals for registers, use a 3-bit
field to select which register is active.
 Optimization Methods:
– Sharing fields across microinstructions.
– Use of micro-subroutines (reusable sequences).
– Next-address optimization (branch maps, mapping functions).
– Nanoprogramming: 2-level control memory (microinstructions
+ nanoinstructions) to reduce memory size further.
4. Applications
 Multiplier Control Unit Example:
– Complex operations like multiplication require multiple steps.
– Microprogrammed control sequences microinstructions:
• Load operands.
• Perform partial product addition.
• Shift registers.
• Repeat until complete.
– Easy to implement and modify compared to a hardwired
design.
 Microprogrammed CPU Control Unit:
– Each machine instruction (ADD, SUB, LOAD,
BRANCH, etc.) corresponds to a microprogram.
– Control unit steps:
• Fetch machine instruction (uses microprogram
sequence).
• Decode & branch to corresponding microprogram start
address.
• Execute microinstructions step by step.
• Return to fetch next instruction.
– Advantages:
• Flexibility (easy to modify/add instructions).
• Easier to implement CISC architectures with complex
instructions.
• Can support emulation of other ISAs.
Hardwired Control vs
Microprogrammed Control
Features Hardwired Control Microprogrammed Control
Basic Principle Control signals generated Control signals are
by fixed logic circuits generated by
(combinational & microinstructions stored in
sequential). control memory.
Implementation Uses gates, decoders, Uses control memory
flip-flops, and counters. (ROM/RAM), Control
Address Register (CAR),
Control Data Register
(CDR).
Flexibility Difficult to modify or Easy to modify (just change
update. the microprogram).
Speed Very fast (direct signal Slower due to the memory
generation). fetch of microinstructions.
Complex Not suitable for complex Suitable for complex
Instruction CISC instructions. instructions (CISC).
Support
Design Complex to design and Simpler and more
Complexity debug. systematic (like writing a
program).

Cost Less hardware is required Requires more memory


for simple ISAs. (control memory).

Best Use Case RISC processors are simple CISC processors,


real-time CPUs. emulators, and flexible
systems.

Examples Early RISC machines were x86 family (Intel, AMD),


small microcontrollers. VAX, IBM 360.

Instruction Needs redesign of Modify microcode in


Modification hardware logic. control memory.

You might also like