Unit 3-Control Unit Operation
Unit 3-Control Unit Operation
Chapter
◼ Microinstruction sequencing
◼ Basic concepts ◼ Design considerations
◼ Microinstructions ◼ Sequencing techniques
◼ Micro programmed control ◼ Address generation
unit ◼ LSI-11 microinstruction
◼ Wilkes control sequencing
◼ Advantages and
disadvantages ◼ Microinstruction execution
◼ Taxonomy of microinstructions
◼ Microinstruction encoding
◼ LSI-11 Microinstruction
execution
◼ IBM 3033 Microinstruction
execution
© 2016 Pearson Education, Inc., Hoboken, NJ. All rights reserved.
1. Single Bus Organization
◼ Micro refers to the fact that each step is very simple and
accomplishes very little
◼ The nature of this cycle varies greatly from one machine to another
◼ Instruction decoding
◼ The control unit examines the opcode and generates a sequence of
micro-operations based on the value of the opcode
10 (execute) 01 indirect
Execute
ICC = 00 instruction ICC = 10 No Indirect Yes
addressing?
Yes Interrupt No
for enabled ICC = 10 ICC = 01
interrupt?
ICC = 11 ICC = 00
Control signals
within CPU
Control bus
Flags
Control signals
Control from control bus
Unit
Clock
Control signals
to control bus
M C11
B
R
C10
C12 C3 C4
C8 C1 AC
PC IR
C7 C9
C6
C2 C13 Control
C0 ALU signals
M
A
R Control
Flags
unit
Clock
Control
signals
IR
PC
Address
lines MAR
AC
+
ALU
Interrupt-Related Signals
TRAP Intel
Restart Interrupts (RST 7.5, 6.5, 5.5)
Interrupt Request (INTR) 8085
These five lines are used by an external device to interrupt the CPU. The CPU will not honor the
request if it is in the hold state or if the interrupt is disabled. An interrupt is honored only at the
completion of an instruction. The interrupts are in descending order of priority.
External
Interrupt Acknowledge
Acknowledges an interrupt.
Signals
(page 2 of 2)
CPU Initialization
RESET IN
Causes the contents of the PC to be set to zero. The CPU resumes execution at location zero.
RESET OUT
Acknowledges that the CPU has been reset. The signal can be used to reset the rest of the system.
ALE
RD
WR
IO/M
◼ Instruction register
◼ Op-code causes different control signals for each different
instruction
◼ Unique logic for each op-code
◼ Decoder takes encoded input and produces single output
◼ n binary inputs and 2n outputs
+
Hardwired Implementation (2)
◼ Clock
◼ Repetitive sequence of pulses
◼ Useful for measuring duration of micro-ops
◼ Must be long enough to allow signal propagation
◼ Different control signals at different times within instruction cycle
◼ Need a counter with different control signals for t1, t2 etc.
Control Unit with Decoded Inputs
Instruction register
Decoder
I0 I1 Ik
T1
T2
Timing Control
Clock
generator Unit Flags
Tn
C0 C1 Cm
◼ Inflexible design
Microinstruction address
Jump condition
Function codes
Indirect
cycle
routine
Jump to execute
Interrupt
cycle
routine
Jump to fetch
Jump to opcode routine Execute cycle beginning
AND routine
Jump to fetch or interrupt
ADD routine
Jump to fetch or interrupt
Read
Control
Memory
Control
Unit Decoder
ALU
Control Address Register
Flags Sequencing
Clock Logic
Read
Control
Memory
Register II
Clock
Register I
Control Address
signals decoder
Conditional
signal
Control signals
Notation: A, B, C, . . . stand for the various registers in the arithmetical and control register units. C
to D indicates that the switching circuits connect the output of register C to the input register D;
(D + A) to C indicates that the output register of A is connected to the one input of the adding
unit (the output of D is permanently connected to the other input), and the output of the adder to
register C. A numerical symbol n in quotes (e.g., 'n') stands for the source whose output is the
number n in units of the least significant digit.
21 D to C (R) 1 11 0
22 D to C (L)† (G – ‘1’) to E 23
23 B to D (1)E5 24
24 D to B (L) 1 12 0
25 ‘0’ to B 26
26 B to C 0
27 ‘0’ to C ‘18’ to E 28
28 B to D E to G (1)B1 29
29 D to B (R) (G – ‘1’) to E 30
30 C to D (R) (2)E5 1 31 32
31 D to C 2 28 33
32 (D + A) to C 2 28 33
33 B to D (1)B1 34
34 D to B (R) 35
35 C to D (R) 1 36 37
36 D to C 0
37 (D – A) to C 0
*Right shift. The switching circuits in the arithmetic unit are arranged so that the least significant
digit of the register C is placed in the most significant place of register B during right shift micro-
operations, and the most significant digit of register C (sign digit) is repeated (thus making the
correction for negative numbers).
†Left shift. The switching circuits are similarly arranged to pass the most significant digit of
register B to the least significant place of register C during left shift micro-operations.
Branch
• Are a necessary part of a microprogram
address
decoder
control
memory
address
branch selection
flags multiplexer instruction
logic
register
control
memory
control
control address
buffer control address +1
register
register
branch
flags multiplexer instruction
logic
address register
selection
control
memory
control
buffer
register control address
branch entire +1
control register
field
field address
field
gate and
function
logic
Explicit Implicit
Two-field Mapping
Unconditional branch Addition
Conditional branch Residual control
BC(4) BE(4)
BB(4) BD(4) BF(7)
BA(8)
ALU
Control Address Register
Flags Sequencing
Clock Logic
Control
Memory
Control
Control Buffer Register Logic
Internal External
Control Control
Signals Signals
Characteristics
Unencoded Highly encoded
Many bits Few bits
Detailed view of hardware Aggregated view of hardware
Difficult to program Easy to program
Concurrency fully exploited Concurrency not fully exploited
Little or no control logic Complex control logic
Fast execution Slow execution
Optimize performance Optimize programming
Terminology
Unpacked Packed
Horizontal Vertical
Hard Soft
Control signals
Decode
logic
Control signals
0 1 1 0 1 1 Register ACC
0 1 1 1 0 0 ACC Register + 1
Register
select
(a) Vertical microinstruction format
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
Field 1 2 3 4 5 6
Field definition
1 - register transfer 4 - ALU operation
2 - memory operation 5 - register selection
3 - sequencing operation 6 - Constant
11
22
22 Microinstruction
bus
18 16
Control Data
chip chip
Bus control
and other Bus logic
procesor
board logic
LSI-11 system
bus
Control
store
Microprogram
sequence
control
Return register
Translation
array INT
Instruction register
5 11 4 8 4
4 4 8 8 4 4
P AA AB AC AD AE AF AG AH AJ AK AL
36 71
P BA BB BC BD BE BF BH
72 107
P BH CA CB CC CD CE CF CG CH
P DA DB DC DD DE
AL(1)
Sequencing and Branching Fields
End operation and perform branch
Fields
BA(8) Set high-order bits (00–07) of control address register
BB(4) Specifies condition for setting bit 8 of control address register
BC(4) Specifies condition for setting bit 9 of control address register
BD(4) Specifies condition for setting bit 10 of control address register
BE(4) Specifies condition for setting bit 11 of control address register
BF(7) Specifies condition for setting bit 12 of control address register
© 2016 Pearson Education, Inc., Hoboken, NJ. All rights reserved.
(Table can be found on page 755 in the textbook.)
Thank You !!!