Ð I H C CƠNG NGHI P TP. H
CHÍ MINH
KHOA CÔNG NGH ðI N T
B
MÔN ðI N T
CÔNG NGHI P
BÀI GI NG LÝ THUY T
VI X
LÝ
Giáo viên: PH M QUANG TRÍ
TP. H CHÍ MINH
THÁNG 09-2009
09-
Ð I H C CƠNG NGHI P TP. H
CHÍ MINH
KHOA CÔNG NGH ðI N T
B
MÔN ðI N T
CÔNG NGHI P
CHƯƠNG 1
GI I THI U CHUNG
V VI X LÝ
SƠ ð
KH I C A H VI X
LÝ
SƠ ð
KH I C A H VI X
Central Processing Unit
LÝ
SƠ ð
KH I C A H VI X
Read Only Memory
LÝ
SƠ ð
KH I C A H VI X
LÝ
Random Access Memory
SƠ ð
KH I C A H VI X
M ch ñi n giao ti p
LÝ
SƠ ð
KH I C A H VI X
LÝ
Thi t b ngo i vi (xu t/nh p)
SƠ ð
KH I C A H VI X
LÝ
Bus ñ a ch
SƠ ð
KH I C A H VI X
LÝ
Bus d li u
SƠ ð
KH I C A H VI X
LÝ
Bus ñi u khi n
SƠ ð
KH I ðƠN GI N C A CPU
Accumulator
ALU
(Arithmetic Logic Unit )
CPU
Address Register
Program Counter (PC)
Control Unit
Instruction Register (IR)
Instruction
Decoder
Data Register
QUÁ TRÌNH TH C THI CHƯƠNG TRÌNH C A
CPU
ð hi u CPU ho t ñ ng như th nào, ta phân tích ví d dư i đây c a m t
chương trình.
trình.
Accumulator
ALU
(Arithmetic Logic Unit )
CPU
Address Register
Program Counter (PC)
Control Unit
Instruction Register (IR)
Instruction
Decoder
Data Register
Ví d :
LDA 7
ADD 10
HLT
L nh LDA 7:
1000 0110
Mã l nh LDA
0000 0111
Toán h ng (7)
L nh ADD 10:
10:
1000 1011
Mã l nh ADD
0000 1010
Toán h ng (10)
10)
L nh HLT:
HLT:
0011 1110
Mã l nh HLT
QUÁ TRÌNH TH C THI CHƯƠNG TRÌNH C A
CPU
Trư c khi m t chương trình có th ho t đ ng, chương trình ph i đư c đ t
trong b nh .
B t đ u th c thi chương trình, PC ph i ñư c ñ t ñ a ch c a l nh đ u tiên.
tiên.
Accumulator
CPU
Address Register
CHU KỲ TÌM N P L NH
LDA
ALU
(Arithmetic Logic Unit )
Program Counter (PC)
0
0
0
0
0
0
0
MEMORY
0
Address
Instruction
Decoder
LDA
0000 0001
0000 0111
7
1000 1011
ADD
0000 0011
Data Register
1000 0110
0000 0010
Instruction Register (IR)
ASM Code
0000 0000
Control Unit
Data
0000 1010
10
0000 0100
0011 1110
HLT
---- ----
---- ----
---- ----
QUÁ TRÌNH TH C THI CHƯƠNG TRÌNH C A
CPU
N i dung c a PC ñư c chuy n sang thanh ghi ñ a ch (Address Register).
Register).
Accumulator
CPU
0
ALU
(Arithmetic Logic Unit )
Address Register
0
0
0
0
0
0
0
CHU KỲ TÌM N P L NH
LDA
Program Counter (PC)
0
0
0
0
0
0
0
MEMORY
0
Address
Instruction
Decoder
LDA
0000 0001
0000 0111
7
1000 1011
ADD
0000 0011
Data Register
1000 0110
0000 0010
Instruction Register (IR)
ASM Code
0000 0000
Control Unit
Data
0000 1010
10
0000 0100
0011 1110
HLT
---- ----
---- ----
---- ----
QUÁ TRÌNH TH C THI CHƯƠNG TRÌNH C A
CPU
N i dung c a PC ñư c tăng lên 1.
Accumulator
CPU
0
ALU
(Arithmetic Logic Unit )
Address Register
0
0
0
0
0
0
0
CHU KỲ TÌM N P L NH
LDA
Program Counter (PC)
0
0
0
0
0
0
0
MEMORY
1
Address
Instruction
Decoder
LDA
0000 0001
0000 0111
7
1000 1011
ADD
0000 0011
Data Register
1000 0110
0000 0010
Instruction Register (IR)
ASM Code
0000 0000
Control Unit
Data
0000 1010
10
0000 0100
0011 1110
HLT
---- ----
---- ----
---- ----
QUÁ TRÌNH TH C THI CHƯƠNG TRÌNH C A
CPU
N i dung c a thanh ghi ñ a ch ñư c ñ t lên bus ñ a ch .
ADD BUS
Accumulator
CPU
0
ALU
(Arithmetic Logic Unit )
Address Register
0
0
0
0
0
0
0
CHU KỲ TÌM N P L NH
LDA
Program Counter (PC)
0
0
0
0
0
0
0
MEMORY
1
Address
Instruction
Decoder
LDA
0000 0001
0000 0111
7
1000 1011
ADD
0000 0011
Data Register
1000 0110
0000 0010
Instruction Register (IR)
ASM Code
0000 0000
Control Unit
Data
0000 1010
10
0000 0100
0011 1110
HLT
---- ----
---- ----
---- ----
QUÁ TRÌNH TH C THI CHƯƠNG TRÌNH C A
CPU
N i dung c a ơ nh đư c ch n truy n t i thanh ghi d li u (Data Register).
Register).
Accumulator
CPU
0
ALU
(Arithmetic Logic Unit )
Address Register
0
0
0
0
0
0
CHU KỲ TÌM N P L NH
LDA
0
Program Counter (PC)
0
0
0
0
0
0
0
MEMORY
1
Address
1
0
0
0
0
1
0
7
1000 1011
ADD
0000 1010
10
0000 0100
1
0000 0111
0000 0011
Data Register
LDA
0000 0010
Instruction
Decoder
1000 0110
0000 0001
Instruction Register (IR)
ASM Code
0000 0000
Control Unit
Data
0011 1110
HLT
---- ----
---- ----
---- ----
DATA BUS
QUÁ TRÌNH TH C THI CHƯƠNG TRÌNH C A
CPU
N i dung c a thanh ghi d li u ñư c chuy n sang IR.
IR.
Accumulator
CPU
0
ALU
(Arithmetic Logic Unit )
Address Register
0
0
0
0
0
0
0
CHU KỲ TÌM N P L NH
LDA
Program Counter (PC)
0
0
0
0
0
0
0
MEMORY
1
Address
0
Instruction
Decoder
0
0
0
1
0
Data Register
1
0
0
0
0
1
1
0
0000 0111
7
0000 0010
1000 1011
ADD
0000 1010
10
0000 0100
1
LDA
0000 0011
1
1000 0110
0000 0001
Instruction Register (IR)
ASM Code
0000 0000
Control Unit
Data
0011 1110
HLT
---- ----
---- ----
---- ----
QUÁ TRÌNH TH C THI CHƯƠNG TRÌNH C A
CPU
N i dung c a IR ñư c gi i mã b i b gi i mã l nh (Instruction Decoder). B
Decoder).
gi i mã l nh tác ñ ng ñ n ñơn v ñi u khi n (CU) ñ t o ra tín hi u đi u
khi n c n thi t.
t.
Accumulator
CPU
0
ALU
(Arithmetic Logic Unit )
Address Register
0
0
0
0
0
0
0
CHU KỲ TÌM N P L NH
LDA
Program Counter (PC)
0
0
0
0
0
0
0
MEMORY
1
Address
LDA
0
Instruction
Decoder
0
0
0
1
0
Data Register
1
0
0
0
0
1
1
0
0000 0111
7
0000 0010
1000 1011
ADD
0000 1010
10
0000 0100
1
LDA
0000 0011
1
1000 0110
0000 0001
Instruction Register (IR)
ASM Code
0000 0000
Control Unit
Data
0011 1110
HLT
---- ----
---- ----
---- ----
QUÁ TRÌNH TH C THI CHƯƠNG TRÌNH C A
CPU
N i dung c a PC ñư c chuy n sang thanh ghi ñ a ch (Address Register).
Register).
Accumulator
CPU
0
ALU
(Arithmetic Logic Unit )
Address Register
0
0
0
0
0
0
1
CHU KỲ TH C THI L NH
LDA
Program Counter (PC)
0
0
0
0
0
0
0
MEMORY
1
Address
0
Instruction
Decoder
0
0
0
1
0
Data Register
1
0
0
0
0
1
1
0
0000 0111
7
0000 0010
1000 1011
ADD
0000 1010
10
0000 0100
1
LDA
0000 0011
1
1000 0110
0000 0001
Instruction Register (IR)
ASM Code
0000 0000
Control Unit
Data
0011 1110
HLT
---- ----
---- ----
---- ----
QUÁ TRÌNH TH C THI CHƯƠNG TRÌNH C A
CPU
N i dung c a PC ñư c tăng lên 1 cho chu kỳ tìm n p k ti p.
p.
Accumulator
CPU
0
ALU
(Arithmetic Logic Unit )
Address Register
0
0
0
0
0
0
1
CHU KỲ TH C THI L NH
LDA
Program Counter (PC)
0
0
0
0
0
0
1
MEMORY
0
Address
0
Instruction
Decoder
0
0
0
1
0
Data Register
1
0
0
0
0
1
1
0
0000 0111
7
0000 0010
1000 1011
ADD
0000 1010
10
0000 0100
1
LDA
0000 0011
1
1000 0110
0000 0001
Instruction Register (IR)
ASM Code
0000 0000
Control Unit
Data
0011 1110
HLT
---- ----
---- ----
---- ----
QUÁ TRÌNH TH C THI CHƯƠNG TRÌNH C A
CPU
ð a ch c a tốn h ng đư c đ t lên bus ñ a ch .
ADD BUS
Accumulator
CPU
0
ALU
(Arithmetic Logic Unit )
Address Register
0
0
0
0
0
0
1
CHU KỲ TH C THI L NH
LDA
Program Counter (PC)
0
0
0
0
0
0
1
MEMORY
0
Address
0
Instruction
Decoder
0
0
0
1
0
Data Register
1
0
0
0
0
1
1
0
0000 0111
7
0000 0010
1000 1011
ADD
0000 1010
10
0000 0100
1
LDA
0000 0011
1
1000 0110
0000 0001
Instruction Register (IR)
ASM Code
0000 0000
Control Unit
Data
0011 1110
HLT
---- ----
---- ----
---- ----
Q TRÌNH TH C THI CHƯƠNG TRÌNH C A
CPU
Tốn h ng ñư c ch n truy n t i thanh ghi d li u (Data Register).
Register).
Accumulator
CPU
0
ALU
(Arithmetic Logic Unit )
Address Register
0
0
0
0
0
0
1
CHU KỲ TH C THI L NH
LDA
Program Counter (PC)
0
0
0
0
0
0
1
MEMORY
0
Address
0
Instruction
Decoder
0
0
0
1
0
Data Register
0
0
0
0
0
1
1
1
0000 0111
7
0000 0010
1000 1011
ADD
0000 1010
10
0000 0100
1
LDA
0000 0011
1
1000 0110
0000 0001
Instruction Register (IR)
ASM Code
0000 0000
Control Unit
Data
0011 1110
HLT
---- ----
---- ----
---- ----
DATA BUS
QUÁ TRÌNH TH C THI CHƯƠNG TRÌNH C A
CPU
N i dung c a thanh ghi d li u ñ ng th i cũng ñư c truy n vào thanh ghi A.
CPU
Accumulator
0
0
0
0
0
1
1
ALU
(Arithmetic Logic Unit )
1
0
Address Register
0
0
0
0
0
0
1
CHU KỲ TH C THI L NH
LDA
Program Counter (PC)
0
0
0
0
0
0
1
MEMORY
0
Address
0
Instruction
Decoder
0
0
0
1
0
Data Register
0
0
0
0
0
1
1
1
0000 0111
7
0000 0010
1000 1011
ADD
0000 1010
10
0000 0100
1
LDA
0000 0011
1
1000 0110
0000 0001
Instruction Register (IR)
ASM Code
0000 0000
Control Unit
Data
0011 1110
HLT
---- ----
---- ----
---- ----