Control Micro Program Contrl
Control Micro Program Contrl
Combinational . Control
Sequence Counter
Logic Circuits . signals
• Microprogrammed
CAR: Control Address Register
Memory Instruction code CDR: Control Data Register
Control
Address Control word
memory
(microinstruction)
(ROM)
cpe 252: Computer Organization 5
Microprogrammed Control
Organization
External Next Address Control
input CDR Control
Generator CAR Memory word
(sequencer) (ROM)
• Control memory
– Contains microprograms (set of microinstructions)
– Microinstruction contains
• Bits initiate microoperations
• Bits determine address of next microinstruction
• Control address register (CAR)
– Specifies address of next microinstruction
cpe 252: Computer Organization 6
Microprogrammed Control Organization
OP-codes of Instructions
ADD 0000
0001
AND 0010
Control
LDA
memory
Mapping bits 0 xxxx 00 Address
0 0000 00 ADD Routine
Instruction code
Mapping
logic
Subroutine
Register
Control Address Register (SBR)
(CAR)
Incrementer
select a status
bit
Microoperations
Branch address
MUX
15 0
6 0 6 0 DR
SBR CAR
Microinstruction Format
3 3 3 2 2 7
F1 F2 F3 CD BR AD
F3 Microoperation Symbol
000 None NOP
001 AC AC DR XOR
010 AC AC’ COM
011 AC shl AC SHL
100 AC shr AC SHR
101 PC PC + 1 INCPC
110 PC AR ARTPC
111 Reserved
BR Symbol Function
00 JMP CAR AD if condition = 1
CAR CAR + 1 if condition = 0
01 CALL CAR AD, SBR CAR + 1 if condition = 1
CAR CAR + 1 if condition = 0
10 RET CAR SBR (Return from subroutine)
11 MAP CAR(2-5) DR(11-14), CAR(0,1,6) 0
CD one of {U, I, S, Z}
U: Unconditional Branch
I: Indirect address bit
S: Sign of AC
Z: Zero value in AC
AND
ADD AC
Arithmetic
logic and DR
DRTAC shift unit
PCTAR
From From
DRTAR
PC DR(0-10) Load
AC
Select 0 1
Multiplexers
Load Clock
AR
L
I0 3 2 1 0
Input Load
I1 logic S1 MUX1 SBR
T S0
1 Incrementer
I MUX2 Test
S
Z Select
Clock CAR
Control memory
Microops CD BR AD
... ...
Input Logic
I1I0T Meaning Source of Address S1S0 L
S1 = I1
S0 = I0I1 + I1’T
L = I1’I0T
cpe 252: Computer Organization 26