CE222_Slides6
CE222_Slides6
Salman Ashraf
- When the interface finds that the I/O device is ready for data transfer, it
generates an interrupt request to the CPU.
Execute =0
IEN
instructions =1 Branch to location 1
=1
FGI
=0
=1 IEN 0
FGO R0
=0
R1
1120 1120
I/O I/O
Program Program
1 BUN 0 1 BUN 0
• Designing
• CPU (ALU, CU)
• Bus structure
• Selecting
• Memory and Registers
• Defining
• Instruction format
• Instruction set
DESIGN OF BASIC COMPUTER
– ALU
– Processor Registers
– Control Unit
– Memory
– Instruction Format
– Instruction Set
– Addressing Modes
– Interrupts
Registers: AR, PC, DR, AC, IR, TR, OUTR, INPR and SC
ALU: Connected to AC
3x8
decoder
7 6 5 4 3 2 10
D0
I Combinational
D7 Control Control
signals
logic
T15
T0
15 14 .... 2 1 0
4x16
decoder
T1 S2
T0 S1 Bus
S0
Memory 7
unit
Address
Read
AR 1
LD
PC 2
INR
IR 5
LD
Clock
Common bus
COMBINATIONAL CONTROL LOGIC
Generates signals:
• to generate control functions.
• to activate the common bus, memory, ALU, registers and flip-flops.
Control of Registers
CONTROL OF AR
The control inputs of the registers are LD, INR and CLR.
R’T0: AR PC LD(AR)
R’T2: AR IR(0-11) LD(AR)
D7’IT3: AR M[AR] LD(AR)
RT0: AR 0 CLR(AR)
D5T4: AR AR + 1 INR(AR)
12 12
From bus AR To bus
D7’
I
LD Clock
T3
T2 INR
CLR
R
T0
D5
T4
Control of AC
COMMON BUS SYSTEM
S2
S1 Bus
S0
Memory unit 7
4096 x 16
Address
Write Read
AR 1
LD INR CLR
PC 2
LD INR CLR
DR 3
LD INR CLR
E
ALU AC 4
LD INR CLR
INPR
IR 5
LD
TR 6
LD INR CLR
OUTR
Clock
LD
16-bit common bus
CIRCUITS ASSOCIATED WITH AC
16
16 Adder and 16 16
From DR Logic AC
Circuit To bus
8
From INPR
Control
of AC
COMPLETE COMPUTER DESCRIPTION: MICROOPERATIONS
Fetch RT0: AR PC
RT1: IR M[AR], PC PC + 1
Decode RT2: D0, ..., D7 Decode IR(12-14),
AR IR(0-11), I IR(15)
Indirect D7IT3: AR M[AR]
Interrupt
T0T1T2(IEN)(FGI + FGO): R 1
RT0: AR 0, TR PC
RT1: M[AR] TR, PC 0
RT2: PC PC + 1, IEN 0, R 0, SC 0
Memory-reference
AND D0T4: DR M[AR]
D0T5: AC AC DR, SC 0
ADD D1T4: DR M[AR]
D1T5: AC AC + DR, E Cout, SC 0
LDA D2T4: DR M[AR]
D2T5: AC DR, SC 0
STA D3T4: M[AR] AC, SC 0
BUN D4T4: PC AR, SC 0
BSA D5T4: M[AR] PC, AR AR + 1
D5T5: PC AR, SC 0
ISZ D6T4: DR M[AR]
D6T5: DR DR + 1
D6T6: M[AR] DR, if (DR = 0) then (PC PC + 1),
SC 0
COMPLETE COMPUTER DESCRIPTION: MICROOPERATIONS
Register-reference
D7IT3 = r (Common to all register-reference instructions)
IR(i) = Bi (i = 0, 1, 2, ..., 11)
r: SC 0
CLA rB11: AC 0
CLE rB10: E0
CMA rB9: AC AC
CME rB8: E E
CIR rB7: AC shr AC, AC(15) E, E AC(0)
CIL rB6: AC shl AC, AC(0) E, E AC(15)
INC rB5: AC AC + 1
SPA rB4: if (AC(15) = 0) then (PC PC + 1)
SNA rB3: if (AC(15) = 1) then (PC PC + 1)
SZA rB2: if (AC = 0) then (PC PC + 1)
SZE rB1: if (E = 0) then (PC PC + 1)
HLT rB0: S0
From Adder 16 16
To bus
and Logic Circuit AC
D0 AND LD Clock
T5 INR
D1 ADD CLR
D2 DR
T5
p INPR
B11
r COM
B9
SHR
B7
SHL
B6
INC
B5
CLR
B11
Control of Flags
COMPLETE COMPUTER DESCRIPTION: MICROOPERATIONS
Fetch RT0: AR PC
RT1: IR M[AR], PC PC + 1
Decode RT2: D0, ..., D7 Decode IR(12-14),
AR IR(0-11), I IR(15)
Indirect D7IT3: AR M[AR]
Interrupt
T0T1T2(IEN)(FGI + FGO): R 1
RT0: AR 0, TR PC
RT1: M[AR] TR, PC 0
RT2: PC PC + 1, IEN 0, R 0, SC 0
Memory-reference
AND D0T4: DR M[AR]
D0T5: AC AC DR, SC 0
ADD D1T4: DR M[AR]
D1T5: AC AC + DR, E Cout, SC 0
LDA D2T4: DR M[AR]
D2T5: AC DR, SC 0
STA D3T4: M[AR] AC, SC 0
BUN D4T4: PC AR, SC 0
BSA D5T4: M[AR] PC, AR AR + 1
D5T5: PC AR, SC 0
ISZ D6T4: DR M[AR]
D6T5: DR DR + 1
D6T6: M[AR] DR, if (DR = 0) then (PC PC + 1),
SC 0
COMPLETE COMPUTER DESCRIPTION: MICROOPERATIONS
Register-reference
D7IT3 = r (Common to all register-reference instructions)
IR(i) = Bi (i = 0, 1, 2, ..., 11)
r: SC 0
CLA rB11: AC 0
CLE rB10: E0
CMA rB9: AC AC
CME rB8: E E
CIR rB7: AC shr AC, AC(15) E, E AC(0)
CIL rB6: AC shl AC, AC(0) E, E AC(15)
INC rB5: AC AC + 1
SPA rB4: if (AC(15) = 0) then (PC PC + 1)
SNA rB3: if (AC(15) = 1) then (PC PC + 1)
SZA rB2: if (AC = 0) then (PC PC + 1)
SZE rB1: if (E = 0) then (PC PC + 1)
HLT rB0: S0
D
7
p
I
J Q IEN
B7
T3
B6
K
R
T2
Control of Common Bus
COMMON BUS SYSTEM
S2
S1 Bus
S0
Memory unit 7
4096 x 16
Address
Write Read
AR 1
LD INR CLR
PC 2
LD INR CLR
DR 3
LD INR CLR
E
ALU AC 4
LD INR CLR
INPR
IR 5
LD
TR 6
LD INR CLR
OUTR
Clock
LD
16-bit common bus
COMPLETE COMPUTER DESCRIPTION: MICROOPERATIONS
Fetch RT0: AR PC
RT1: IR M[AR], PC PC + 1
Decode RT2: D0, ..., D7 Decode IR(12-14),
AR IR(0-11), I IR(15)
Indirect D7IT3: AR M[AR]
Interrupt
T0T1T2(IEN)(FGI + FGO): R 1
RT0: AR 0, TR PC
RT1: M[AR] TR, PC 0
RT2: PC PC + 1, IEN 0, R 0, SC 0
Memory-reference
AND D0T4: DR M[AR]
D0T5: AC AC DR, SC 0
ADD D1T4: DR M[AR]
D1T5: AC AC + DR, E Cout, SC 0
LDA D2T4: DR M[AR]
D2T5: AC DR, SC 0
STA D3T4: M[AR] AC, SC 0
BUN D4T4: PC AR, SC 0
BSA D5T4: M[AR] PC, AR AR + 1
D5T5: PC AR, SC 0
ISZ D6T4: DR M[AR]
D6T5: DR DR + 1
D6T6: M[AR] DR, if (DR = 0) then (PC PC + 1),
SC 0
COMPLETE COMPUTER DESCRIPTION: MICROOPERATIONS
Register-reference
D7IT3 = r (Common to all register-reference instructions)
IR(i) = Bi (i = 0, 1, 2, ..., 11)
r: SC 0
CLA rB11: AC 0
CLE rB10: E0
CMA rB9: AC AC
CME rB8: E E
CIR rB7: AC shr AC, AC(15) E, E AC(0)
CIL rB6: AC shl AC, AC(0) E, E AC(15)
INC rB5: AC AC + 1
SPA rB4: if (AC(15) = 0) then (PC PC + 1)
SNA rB3: if (AC(15) = 1) then (PC PC + 1)
SZA rB2: if (AC = 0) then (PC PC + 1)
SZE rB1: if (E = 0) then (PC PC + 1)
HLT rB0: S0
Selected
S2 S1 S0 Register
0 0 0 none
0 0 1 AR
0 1 0 PC
0 1 1 DR
1 0 0 AC
1 0 1 IR
1 1 0 TR
1 1 1 Memory
D4T4: PC AR
D5T5: PC AR
S0 = D4T4 + D5T5
THE VON NEUMANN ARCHITECTURE