4. 4
VI X畛 L L G ?
S畛 k畉t h畛p c畛a 2 k畛 thu畉t:
M叩y t鱈nh k畛 thu畉t s畛 v
C叩c m畉ch vi i畛n t畛.
5. 5
L畛CH S畛 PHT TRI畛N VI X畛 L
L畛ch s畛 ph叩t tri畛n g畉n li畛n v畛i s畛 ph叩t tri畛n c畛a
c叩c vi m畉ch i畛n t畛.
Giai o畉n 1 (1971 - 1973) 但y l giai o畉n kh畛i
畉u c畛a vi x畛 l箪. C叩c vi x畛 l箪 ny 畛u c坦 畛 di
t畛 d畛 li畛u ng畉n, t畛c 畛 lm vi畛c th畉p, t畉p l畛nh
董n gi畉n nh動 4004, 8008.
Giai o畉n 2 (1974 - 1977) t畉p l畛nh phong ph炭
h董n v c坦 kh畉 nng ph但n bi畛t 畛a ch畛 b畛 nh畛 v
dung l動畛ng 畉n 64 K byte, t畛c 畛 x畛 l箪 tng l棚n
vi Mhz. 畉i di畛n cho giai o畉n ny nh動 6800,
6809 c畛a Motorola; 8085, 8080 c畛a Intel v Z80
c畛a Zilog.
6. 6
L畛CH S畛 PHT TRI畛N VI X畛 L
Giai o畉n 3 (1978 - 1982) c叩c b畛 vi x畛 l箪
giai o畉n ny l c叩c vi x畛 l箪 16 Bit t畛c 畛
lm vi畛c l棚n 畉n 10 Mhz.
Giai o畉n 4 (1984 畉n nay)
VXL 32 bit 80386/80486 v 64 bit Pentium/
Pentium II / Pentium III c畛a Intel, Core Duo..
VXL 32 bit 68020/ 68030/ 68040/ 68060 c畛a
Motorola.
畉c i畛m c畛a VXL trong giai o畉n ny l bus
畛a ch畛 畛u l 32 bit v c坦 kh畉 nng lm vi畛c
v畛i b畛 nh畛 畉o.
7. 7
H畛 TH畛NG VI X畛 L L G?
仰畛 s畛 d畛ng vi x畛 l箪 c畉n ph畉i thi畉t k畉 h畛
th畛ng g畛m c坦 c叩c thnh ph畉n sau:
Vi x畛 l箪
C叩c b畛 nh畛
C叩c IC ngo畉i vi
仰畛 thi畉t k畉 動畛c h畛 th畛ng vi x畛 l箪 c畉n
ph畉i bi畉t y棚u c畉u i畛u khi畛n l g狸!
9. 9
S 畛 KH畛I H畛 TH畛NG VI X畛 L
CPU
ROM RAM M畉ch giao ti畉p
ngo畉i vi (IO)
Bus d畛 li畛u (Data Bus)
Bus 畛a ch畛 (Address Bus)
Bus i畛u khi畛n (Control Bus)
Input Output
10. 10
Nng L畛c C畛a Vi X畛 L箪
Chi畛u di c畛a t畛 d畛 li畛u c畛a VXL:
M畛i vxl lm vi畛c v畛i c叩c t畛 d畛 li畛u c坦 畛
di c畛 畛nh.
T畛 d畛 li畛u th動畛ng d湛ng 8 bit 畛ng v畛i 1
byte.
畛 di t畛 d畛 li畛u trong b畛 nh畛 b畉ng 畛
di t畛 d畛 li畛u trong vxl.
16. 16
PHN LO畉I THANH GHI D畛CH
Vo n畛i ti畉p ra n畛i ti畉p
SIPI
Vo n畛i ti畉p ra song song
SIPO
Vo song song ra n畛i ti畉p
PISO
Vo song song ra song song
PIPO
0 1 0 1 0 0 11
0 1 0 1 0 0 11
0 1 0 1 0 0 11
0 1 0 1 0 0 11
18. 18
THANH GHI A
Thanh ghi A (Accumulator: thanh ch畛a)
Quan tr畛ng, lu担n c坦 trong m畛i vxl, ch畛a d畛
li畛u khi t鱈nh to叩n v x畛 l箪.
C叩c ph辿p to叩n s畛 h畛c, logic 畛u x畉y ra gi畛a ALU
v A
Truy畛n d畛 li畛u t畛 b畛 nh畛 hay t畛 c叩c thanh
ghi b棚n trong vxl ra c叩c thi畉t b畛 ngo畉i vi th狸
d畛 li畛u ph畉i ch畛a trong thanh ghi A.
S畛 bit c畛a thanh ghi A l 董n v畛 o c畛a vxl,
n畉u vxl 8 bit th狸 thanh ghi A c坦 畛 di l 8 bit.
19. 19
THANH GHI PC (Program Counter)
PC: thanh ghi quan tr畛ng nh畉t c畛a vi x畛 l箪
Qu畉n l箪 l畛nh m vxl ang th畛c hi畛n v
i畛u khi畛n vi畛c l畉y l畛nh th畛c hi畛n k畉 ti畉p.
Thanh ghi PC trong vxl c坦 畛 di l畛n h董n
chi畛u di t畛 d畛 li畛u c畛a vxl.
N畛i dung ch畛a trong thanh ghi PC ch鱈nh
l n畛i dung ch畛a trong thanh ghi 畛a ch畛.
Tr動畛c khi vxl th畛c hi畛n ch動董ng tr狸nh th狸
PC ph畉i 動畛c n畉p 1 con s畛.
S畛 坦 l: 畛a ch畛 c畛a 担 nh畛 ch畛a l畛nh 畉u ti棚n
c畛a ch動董ng tr狸nh.
20. 20
Thao t叩c t狸m n畉p l畛nh v th畛c hi畛n l畛nh
NPC
M達 l畛nh
M達 l畛nh
M達 l畛nh N
N+1
N+2
IR
Vi X畛 L箪
(CPU)
B畛 Nh畛 (ROM)
Bus 畛a ch畛
Bus d畛 li畛u
M達 l畛nh
TGC N
21. 21
THANH GHI IR
Thanh ghi IR d湛ng 畛 ch畛a l畛nh vxl
ang th畛c hi畛n.
M畛t chu k畛 l畛nh bao g畛m 坦n l畛nh t畛
b畛 nh畛 v th畛c hi畛n l畛nh.
Trong qu叩 tr狸nh th畛c hi畛n l畛nh, b畛 gi畉i
m達 l畛nh 畛c n畛i dung c畛a thanh ghi
l畛nh IR.
Ma探 le辰nh t旦淡 thanh ghi IR
単旦担誰c 単旦a va淡o 単担n v嘆 gia短i ma探
le辰nh va淡 単ieu khie奪n.
22. 22
THANH GHI SR (Status Rigester)
Thanh ghi SR l thanh ghi c畛, d湛ng 畛 l動u k畉t qu畉 c畛a
m畛t s畛 l畛nh ki畛m tra.
Zero bit: bit Z = 1 khi k畉t qu畉 l 0, ng動畛c l畉i Z =0
Negative bit: bit N=1 khi bit MSB c畛a thanh ghi =1
Carry/Borrow bit: l bit carry khi th畛c hi畛n ph辿p c畛ng C =1 khi trn
ng動畛c l畉i C = 0.
L bit Borrow khi th畛c hi畛n ph辿p tr畛, borrow=0 khi s畛 b畛 tr畛 l畛n h董n
s畛 tr畛
Intermediate carry: gi畛ng bit C nh動ng c坦 t叩c d畛ng v畛i c畛ng /tr畛 4 bit
th畉p.
Interrupt Flag: Bit IF =1 khi ng動畛i l畉p tr狸nh cho ph辿p ng畉t.
Overflow: bit ny b畉ng 1 khi bit trn c畛a ph辿p c畛ng v畛i bit d畉u c畛a d畛
li畛u.
Parity: bit P=1 khi cho ph辿p ki畛m tra ch畉n.
Z N C I IF O P 1
23. 23
THANH GHI CON TR畛 (STACK POINTER)
Ch畛c nng c畛a thanh ghi SP g畉n gi畛ng
v畛i PC, d湛ng 畛 qu畉n l箪 b畛 nh畛 ngn
x畉p khi mu畛n l動u tr畛 d畛 li畛u t畉m th畛i
vo ngn x畉p.
SP t畛 畛ng di chuy畛n 畉n 担 nh畛 k畉
ti畉p
Ng動畛i l畉p tr狸nh ph畉i thi畉t l畉p gi叩 tr畛 ban
畉u cho SP.
T畛 ch畛c SP l LIFO: LAST IN FIRST
OUT.
24. 24
H畛 TH畛NG BUS
Bus 単嘆a ch脱 (Address bus):
e奪 chuye奪n ta短i ca湛c bit 単嘆a ch脱.
La淡 loa誰i bus 1 chieu (CPU-MEM hay
I/O).
e奪 xa湛c 単嘆nh bo辰 nh担湛 hoa谷c thie叩t
b嘆 ngoa誰i vi ma淡 CPU can trao 単o奪i
tho但ng tin.
e奪 xa湛c 単嘆nh dung l旦担誰ng bo辰 nh担湛
hoa谷c ngoa誰i vi ma淡 CPU co湛 kha短
na棚ng truy xua叩t.
25. 25
H畛 TH畛NG BUS
Bus d旦探 lie辰u (Data bus):
e奪 chuye奪n ta短i ca湛c bit d旦探 lie辰u.
La淡 loa誰i bus 2 chieu (CPU
MEM-I/O).
e奪 xa湛c 単嘆nh so叩 bit d旦探 lie辰u
ma淡 CPU co湛 kha短 na棚ng x旦短 ly湛
cu淡ng mo辰t lu湛c.
27. 27
SUY NGH懲
Mu n vxl lm vi c g狸 ng i d湛ng畛 畛 動畛
ph i l p tr狸nh (vi畉 畉 t ch ng tr狸nh)畉 動董 .
Ch ng tr狸nh l u 但u vxl動董 動 畛 畛
l y l nh v th c hi n l nh 坦?畉 畛 畛 畛 畛
Trong l炭c lm vi c vxl c n c t畛 畉 畉
t m c叩c d li u, khi c n vxl d畉 畛 畛 畛 畉 畛
li u l y ra th c hi n ti p c叩c畛 畉 畛 畛 畉
c担ng vi c.畛
Nh v y c叩c d li u ny ph i動 畉 畛 畛 畉
c l u 但u動畛 動 畛 ?
45. 45
Ho畉t 畛ng Xu畉t 畛a Ch畛 T畛i ROM
D
74LS373ALE
P0.0
P0.7
PSEN
A0
A7
D0
D7
P2.0
P2.7
A8
A12
OE
CE
EA
G
8051 ROM
1. G畛i 畛a ch畛 t畛i ROM
2. 74373 ch畛t 畛a ch畛
v g畛i sang ROM
畛a ch畛
46. 46
Ho畉t 畛ng 畛c D畛 Li畛u T畛 ROM
D
74LS373ALE
P0.0
P0.7
PSEN
A0
A7
D0
D7
P2.0
P2.7
A8
A12
OE
CE
EA
G
8051 ROM
Address
3. ROM g畛i l畛nh v畛
VK
47. 47
VXL K畉t N畛i Nhi畛u B畛 Nh畛
袖P
74138
74138
A10 歎 A0
D7歎D0
CS1
OE
2716
ROM1
CS8
OE
2716
ROM8
6116
Ram1
6116
Ram8
CS8CS1
OE OE
WR WRWR
RD RDRDRD
WR
畉n CS1 Ram1
畉n CS8 Ram8
畉n CS1 Rom1
畉n CS1 Rom8
A
B
C
A
B
C
A11
A12
A13
53. 53
H畛 TH畛NG S畛 D畛NG VI I畛U KHI畛N
CPU
ROM RAM ngo畉i vi (IO)
Bus d畛 li畛u (Data Bus)
Bus 畛a ch畛 (Address Bus)
Bus i畛u khi畛n (Control Bus)
Input Output
54. 54
畉C TR働NG CC H畛 VI I畛U KHI畛N
Ngu畛n cung c畉p
Xung clock
B畛 畛nh th畛i (timer)
Watchdog
Reset
Ng畉t
ADC
Truy畛n th担ng n畛i ti畉p
B畛 so s叩nh analog
PWM.