Micro-programmed Control
Control Unit Organization
Micro-programmed Control
• Use sequences of instructions (see earlier
notes) to control complex operations
• Called micro-programming or firmware
Implementation (1)
• All the control unit does is generate a set
of control signals
• Each control signal is on or off
• Represent each control signal by a bit
• Have a control word for each micro-
operation
• Have a sequence of control words for each
machine code instruction
• Add an address to specify the next micro-
instruction, depending on conditions
Implementation (2)
• Today’s large microprocessor
—Many instructions and associated register-level
hardware
—Many control points to be manipulated
• This results in control memory that
—Contains a large number of words
– co-responding to the number of instructions to be
executed
—Has a wide word width
– Due to the large number of control points to be
manipulated
Micro-program Word Length
• Based on 3 factors
—Maximum number of simultaneous micro-
operations supported
—The way control information is represented or
encoded
—The way in which the next micro-instruction
address is specified
Micro-instruction Types
• Each micro-instruction specifies single (or
few) micro-operations to be performed
— (vertical micro-programming)
• Each micro-instruction specifies many
different micro-operations to be
performed in parallel
—(horizontal micro-programming)
Vertical Micro-programming
• Width is narrow
• n control signals encoded into log2 n bits
• Limited ability to express parallelism
• Considerable encoding of control
information requires external memory
word decoder to identify the exact control
line being manipulated
Horizontal Micro-programming
• Wide memory word
• High degree of parallel operations possible
• Little encoding of control information
Typical Microinstruction Formats
Compromise
• Divide control signals into disjoint groups
• Implement each group as separate field in
memory word
• Supports reasonable levels of parallelism
without too much complexity
Organization of
Control Memory
Control Unit
Control Unit Function
• Sequence login unit issues read command
• Word specified in control address register is read
into control buffer register
• Control buffer register contents generates control
signals and next address information
• Sequence login loads new address into control
buffer register based on next address information
from control buffer register and ALU flags
Next Address Decision
• Depending on ALU flags and control buffer
register
—Get next instruction
– Add 1 to control address register
—Jump to new routine based on jump
microinstruction
– Load address field of control buffer register into
control address register
—Jump to machine instruction routine
– Load control address register based on opcode in IR
Functioning of Microprogrammed
Control Unit
Advantages and Disadvantages of
Microprogramming
• Simplifies design of control unit
—Cheaper
—Less error-prone
• Slower