Professional Documents
Culture Documents
Chapter 7
Chapter 7
Chapter-7
Control Memory
• The major functional parts in a digital computer:
• CPU
• Memory
• I/O
• The functional unit of CPU are:
• ALU – Perform all the computation.
• Registers – Used for temporary storage of information.
• Control Unit – Responsible for generating control signals.
• Control unit can be designed in 2 ways.
• Hardwired control organization
• Microprogrammed control organization
• Control memory stores the microprogram.
• Microprogram is a collection of micro instructions.
• Once the control unit is designed then it is not possible to do any
modification in the control unit.
• Control Address Register (CAR) contains the address of the
microinstruction that is to be read from control memory.
• Control Data Register (CDR) contains the microinstruction that to be
executed.
• While the CPU is executing the instruction simultaneously the next
address generator will generates the next instruction address that is
to be executed.
• Control Data Register also contains some additional bits in order to
generate the next instruction address. Also called as pipeline register.
• The next address generator (sequencer) generates the next
instruction address so that the address can be stored in CAR.
MICROINSTRUCTION SEQUENCING / ADDRESS SEQUENCING
Instruction code
Mapping
logic
Subroutine
register
Control address register (SBR)
(CAR)
Incrementer
select a status
bit
Microoperations
Branch address
4 approaches:
• Incrementing of the control address register
• A subroutine call and return
• Unconditional and conditional branches
• A mapping process from the bits of the machine instruction to an address for control memory
MAPPING OF INSTRUCTIONS TO MICROROUTINES
Mapping from the OP-code of an instruction to the address of the Microinstruction
which is the starting microinstruction of its execution microprogram
Machine OP-code
Instruction 1 0 1 1 Address
Mapping bits 0 x x x x 0 0
Microinstruction
address 0 1 0 1 1 0 0
Mapping memory
(ROM or PLA)
Control Memory
MICROPROGRAM EXAMPLE
Computer Configuration
MUX
10 0
AR
Address Memory
10 0 2048 x 16
PC
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
MICROINSTRUCTION FIELD DESCRIPTIONS - CD, BR
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
SYMBOLIC MICROINSTRUCTIONS
Sample Format
five fields: label; micro-ops; CD; BR; AD
microoperation fields
F1 F2 F3
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
External
(MAP)
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
... ...