Overview
Control Memory
Comparison of
Implementations
Sequencing Microinstructions
Design of Control Unit
Address Sequencer
Control Unit
Control Unit
Control unit (CU) of a processor translates from machine
instructions to the control signals for the microoperations
that implement them
Control units are implemented in one of two ways
Hardwired Control
CU is made up of sequential and combinational circuits to generate the
control signals
- expensive, complex, no flexibility
- high-speed (optimized to provide fast mode of operations)
-ex Intel 8085, Motorola 6802, Zilog 80, RISC CPUs
Microprogrammed Control
A control memory on the processor contains microprograms that
activate the necessary control signals
- Ex Intel 8080, Motorola 68000, CISC
Control Unit
IR
Status F/Fs
Control CPU
Points
Combinational
Logic Circuits
Microprogram
M
e
m
o
r
y
Control Data
IR
Status F/Fs
Next Address
Generation
Logic
C
S
A
R
Control
Storage
(-program
memory)
C
S
D
R
C
P
s
CPU
Control Unit
Terminology
Microprogram
Microinstruction
Dynamic Microprogramming
Control Unit
Terminology
Sequencer (Microprogram Sequencer)
The next address generator is sometimes known as
microprogram sequencer
A Microprogram Control Unit that determines the
Microinstruction Address to
be executed in the next clock
cycle
memory
-
Control Unit
Terminology
Advantage of Microprogram Control
Once hardware configuration is established no need
to further h/w or wiring
change
only thing to change is microprogram residing in
control memory.
RISC Architecture concept:
- Reduced Instruction Set Computer (RISC) system
used hardwire control
rather than microprogram control
Control Unit
Address Sequencing
Microinstructions are stored in control memory in
groups with each specifying a routine.
Each instruction has its own microprogram routine in
control memory to generate microoperation that
generate instructions.
(1)
Control Unit
10
Status
bits
Branch MUX
logic select
Multiplexers
Subroutine
register
(SBR)
Incrementer
Microoperations
Control Unit
11
0
Address
OP-code
ADD
BRANCH
STORE
EXCHANGE
0000
0001
0010
0011
Description
AC AC + M[EA]
if (AC < 0) then (PC EA)
M[EA] AC
AC M[EA], M[EA] AC
Microinstruction Format
3
F1
3
F2
3
F3
2
CD
2
BR
7
AD
Control Unit
12
symbol
F2
symbol
F3
symbol
000
NOP
000
NOP
000
NOP
001
ADD
001
SUB
001
XOR
010
CLRAC
010
OR
010
COM
011
INCAC
011
AND
011
SHL
100
DRTAC
100
READ
100
SHR
101
DRTAR
101
ACTDR
101
INCPC
110
PCTAR
110
INCDR
110
ARTPC
111
WRITE
111
PCTDR
111
Reserved
Control Unit
13
symbol
Conditio
n
00
Always 1
01
DR (15)
10
AC (15)
11
AC = 0
BR
symbol
Function
00
JMP
CAR AD if Condition=1
else CAR CAR + 1 if condition =
0
01
CALL
10
RET
11
MAP
CAR SBR
CAR(2-5) DR (11-14), CAR(0,1,6)
Control Unit
14
F2
3 x 8 decoder
7 6 54 3 21 0
F3
3 x 8 decoder
3 x 8 decoder
7 6 54 3 21 0
7 6 54 3 21 0
AND
ADD
Arithmetic
logic and
shift unit
DRTAR
PCTAR
DRTAC
From
From
PC
DR(0-10)
Select
Load
Load
AC
DR
AC
0
1
Multiplexers
AR
Clock
Control Unit
15
Address Sequencer