15 - Control Unit Part 2
15 - Control Unit Part 2
15 - Control Unit Part 2
Horizontal Microprogrammed
— Unpacked
— Hard
— Direct
Vertical Microprogrammed
— Packed
— Soft
— Indirect
Micro Programmed Control Unit
• The set of micro instructions is stored in
the control memory.
• The control address register contains the
address of the next instruction to be read.
• When a microinstruction is read from the
control memory, it is transferred to a
control buffer register.
• The micro programmed control unit still
has the same inputs(IR, ALU, Clock) and
outputs( control signals)
Functioning of micro programmed CU
Control Unit functions as follows
1. To execute an instruction, the sequencing logic
unit issues a READ command to the control
memory.
2. The word whose address is specified in the
control address register is read into the control
buffer register.
3. The content of the control buffer register
generates control signals and next address
information for the sequencing logic unit.
4. The sequencing logic unit loads a new address
into the control address register based on the
next address information from the control buffer
and the ALU flags.
All this happens during one clock pulse.
• Each micro instruction, the sequencing logic unit
loads a new address into the control address
register.
• depending on the value of the ALU flags and the
control buffer register, one of three decision is
made
— Get next instruction: add 1 to the control address
register.
— Jump to a new routine based on a jump micro
instruction: load the address field of the control buffer
register into the control address register.
— Jump to a machine instruction routine: load the control
address register based on the opcode in the IR
• in figure, two module decoder used.
• The upper decoder translate the opcode of the
IR into a control memory address.
• The lower decoder is used for vertical
instructions
• In a vertical micro instruction , a code is used for
each action is performed.
• The decoder translate this code into individual
control signals.
• In a horizontal micro instruction every bit in the
control field attaches to a control line.
Advantages and Disadvantages of
Microprogramming
Advantage:
• Simplifies design of control unit
— Cheaper to design
— Less error-prone
— Much easier to modify
— Supports having multiple versions / models
Disadvantage:
• Slower
• More expensive to produce in quantities
Micro instruction Sequencing
• The two basic tasks performed by a micro
programmed control unit are as follows:
—Micro instruction sequencing: get the next
micro instruction from the control memory.
—Micro instruction execution: generates the
control signals needed to execute the micro
instruction.
In designing a control unit, these tasks must be
considered together, because both affect the
format of the micro instruction and the timing
of the control unit
Design Consideration
• Two concern are involved in the design of a
micro instruction sequencing techniques:
—The size of the micro instruction.
—Address generation time.
The first concern is obvious: minimizing the size of
the control memory reduces the cost of that
component.
The second concern : simply a desire to execute
the micro instruction as fast as possible
• In executing a micro program, the address of the
next micro instruction to be executed is one of
these categories.
—Determined by instruction register
—Next sequential address
—Branch
Sequencing techniques
• It is based on current micro instruction,
condition flags, and the content of the
instruction register, a control memory
address must be generated for the next
micro instruction
• A wide variety of techniques have been
used.
• The three categories are based on the
format of the address information in the
micro instruction.
—Two address field.
—Single address field.
—Variable format.
Branch Control: Two Address Fields