OPEN.PTIT.EDU.VN
LI NÓI U Các b vi x lý ra đi đem li bc ngot trong khoa hc k thut, các thit b tr nên
thông minh hn nh s điu khin theo chng trình. Vi x lý đang dn có mt trong hu ht các
máy móc thit b dân dng cng nh công nghip. Vì vy vic hc tp nghiên cu ng dng vi x
lý trong trng hc là mt nhu cu ht sc cn thit.
phc v cho nhu cu ging dy môn hc K thut vi x lý cho các lp đi hc t xa
chuyên nghành đin t vin thông, bài ging vi x lý đc biên son vi mc đích cung cp cho
sinh viên các kin thc c s cn thit s dng cho vic nghiên cu ng dng các h thng vi x
lý trong k thut và đi sng. Bài ging bao gm 8 chng vi các ni dung chính nh sau:
Chng 1 cung cp các khái nim c bn v vi x lý và h thng ca nó.
Chng 2 mô t cu trúc, các khi chc nng trong các b vi x lý h Intel 80x86, mà ch
yu là CPU 80286. Ngoài ra trong chng này còn gii thiu v các tính nng ca các b vi x lý
th h sau 80286 nh 80386, 80486, Pentium.
Chng 3 mô t v cu trúc lnh, các ch đ đnh v đa ch và tp lnh chi tit ca vi x
lý 80286. Cho phép sinh viên rút ra đc các kin thc chung nht v các lnh vi x lý và cách
tip cn trong vic lp trình bng các lnh hp ng. Ngoài ra chng này còn đ cp ti các vn
đ v lp trình hp ng trên máy vi tính bao gm: cu trúc câu lnh, cách khai báo d liu, khung
chng trình hp ng, các cu trúc lp trình c bn, và các ví d c bn rèn luyn k nng lp
trình bng các lnh gi nh ca vi x lý.
Chng 4 cung cp các kin thc v vic thit k các h thng vi x lý chuyên dng bao
gm c vic thit k h thng phn cng và phn mm vi x lý.
Chng 5 mô t v cu trúc hot đng ca các vi mch h tr vào ra song song 8255 và
vào ra ni tip 8251.
Chng 6 mô t v vi điu khin 8051 bao gm v cu trúc các khi mch phn cng, v
tp lnh và lp trình cho vi điu khin 8051.
Chng 7 mô t vic thit k h thng đo đ rng xung và truyn d liu ni tip bng
8051. Vi các ví d này sinh viên có th tip cn v vic thit k các ng dng nh dùng vi điu
khin.
1.3.2 Mch ba trng thái và mch cài
1.3.3 Các cng vào / ra đn gin.
Chng 2 : Nguyên tc làm vic ca b vi x lý h 80X86 Intel (6 tit)
2.1 Cu trúc ca b vi x lý 80286 Intel
2.1.1 S đ khi ca b vi x lý 80286 Intel
2.1.2 Khi to đa ch (AU)
2.1.3 Khi ghép kênh (BU)
2.1.4 Khi lnh (IU)
2.1.5 Khi thc hin lnh (EU)
2.2 Các thanh ghi ca b vi x lý 80286 Intel .
2.2.1 Chc nng và nhim v ca các thanh ghi đa nng .
2.2.2 Các thanh ghi qun lý đon
2.2.3 Thanh ghi c trng thái
2.2.4 Các thanh ghi đc bit
2.3 Nguyên tc làm vic ca b vi x lý 80286 Intel .
2.3.1 nh ngha chu k lnh và chu k máy
2.3.2 Qun lý b nh thc và b nh o
2.3.3 Trng thái b vi x lý khi khi đng
2.3.4 Ch đ ngt và các đu ngt ca b vi x lý
2.4 Các b vi x lý cp cao ca Intel Chng 3 : Lp trình Assembly cho h vi x lý Intel (6 tit)
3.1 Cu trúc ca hp ng.
3.1.1 B ký t t khóa ca hp ng
3.1.2 Các lnh ch dn trong hp ng
3.1.3 Khung ca file chng trình ngun Assembly
3.2 Tp lnh ca b vi x lý 80X86 Intel
18
20
21
21
25
35
36
40 43
43
44
44
48
50
54
OPEN.PTIT.EDU.VN
3.2.2 Nhóm lnh x lý d liu.
3.2.3 Nhóm lnh chuyn điu khin
3.3 Lp trình hp ng cho h vi x lý Intel
3.3.1 Lp trình chuyn mng d liu
3.3.2 Lp trình chuyn đi mã (nh phân , hexa , thp phân , ascii)
3.3.3 Lp trình điu khin thit b ngoi vi
Chng 4 : Thit k h vi x lý chuyên dng (6 tit)
4.1 Trình t thit k h vi x lý chuyên dng
4.2 T chc phn cng cho h vi x lý chuyên dng .
6.2.2. Truy xut b nh d liu bên ngoài.
6.2.3. B nh ngoài s dng chung cho chng trình và d liu
6.3 Hot đng timer ca 8051
6.3.1. Gii thiu.
6.3.2. Các ch đ timer và c báo tràn.
6.3.3. Ngun xung nhp.
6.3.4. Cho chy, dng và điu khin các timer.
6.3.5. Khi đng và truy xut các thanh ghi timer.
56
61
62
63
64
67
72
72
74
74
74
78
82
82
87
87
92
92
6.4.2 Thanh ghi điu khin cng ni tip.
6.4.3 Các ch đ hot đng
6.4.4 Khi đng và truy xut các thanh ghi cng ni tip
6.4.5 Truyn thông tin trong h thng đa x lý.
6.4.6 Tc đ cng ni tip.
6.5 Ngt ca vi điu khin 8051.
6.5.1. Gii thiu.
6.5.2. T chc ngt ca 8051.
6.5.3. Các vector x lý ngt.
6.5.4. Thit k chng trình dùng các ngt.
6.5.5. Các ngt ca 8051
6.6 Tp lnh và hng dn lp trình trên 8051.
6.6.1 Các ch đ đa ch.
6.6.2 Tp lnh ca 8051.
6.6.3 Chng trình hp ng 8051.
6.7 B nh ROM ca vi điu khin 8051.
Chong 7 : Thit k h thng chuyên dng trên on – chip 80C51 (4 tit)
7.1 Thit k h đo thông s tín hiu xung
7.1.1 Nguyên tc đo đ rng xung
7.1.2 S đ phn cng ca h đo
7.1.3 Xây dng chng trình điu khin
7.2 Thit k h truyn tín hiu ni tip
7.2.1 S đ kt ni phn cng h thng vi điu khin truyn d liu ni tip.
7.2.2 Xây dng chng trình điu khin.
Chng 8 : Vi điu khin 32 bit MC68332 (9 tit)
8.1 Cu trúc và chc nng thành phn ca on – chip 32 bit MC68332
153
153
157
159
168
173
173
173
174
175
181
181
181
189
189
191
195
195
195
196
197
198
199
200
200
201
213
214
214
214
215
225
227
229
229
232
237
246
251 OPEN.PTIT.EDU.VN
Chng 1: Kin trúc ca h thng vi x lý
CHNG 1: KIN TRÚC CA H THNG VI X LÝ
Gii thiu:
Trc ht trong chng này sinh viên cn nm đc các khái nim v b vi x lý nh :
mc đích s ra đi ca b vi x lý, các khi chc nng c bn ca b vi x lý, nguyên tc x lý
các công vic và bài toán ca b vi x lý, lnh ca b vi x lý, chng trình mà các b vi x lý
thc hin, chc nng ca phn cng và phn mm trong h thng vi x lý, các khi chc nng
phn cng trong h thng vi x lý và chc nng ca chúng, các tín hiu kt ni các khi chc
nng phn cng, phn mm phát trin ca ngôn ng phn mm h thng vi x lý, lnh mã máy,
lnh gi nh, nguyên tc hình thành ngôn ng cp cao, các chng trình hp ng, các chng
s phi s dng hai IC cng khác nhau. Nu có nhiu hn mt phép tính so vi mch đã thc hin
s cn phi làm mt mch khác.
Vi s ra đi ca công ngh LSI, cho phép tích hp rt nhiu cng logic trong mt vi mch
nh, ngi ta ngh đn chuyn thit k mt IC s có th thc hin mi chc nng s mà không cn
phi thay đi mch đin. Nguyên tc thc hin ca loi IC s này có th biu din trong s đ
khi hình 1.1.
1
OPEN.PTIT.EDU.VN
Chng 1: Kin trúc ca h thng vi x lý
S đ bao gm khi các hàm s c bn và các b đm đc kt ni vi nhau thông qua
các mch kim soát (không kt ni c đnh, mà ch kt ni khi có các tín hiu cho phép). D liu
có th di chuyn t b đm này ti b đm khác và t các b đm ti x lý ti các hàm c bn khi
có các tín hiu cho phép thích hp. Mt chc nng s phc tp (mt bài toán hay mt công vic
nào đó), thay vì phi thc hin bng mt mch s ni cng, có th thc hin tng bc bng cách
tun t thc hin các hàm s c bn trong IC này. Vi cu hình này, s đ có th thc hin mi
chc nng s phc tp mà không cn thay đi mch kt ni các IC s. ây là cu hình c bn nht
ca mt b vi x lý. H thng mch
đin t s
Các thit b xut
nhp và chp hành
điu khin
Các chng trình
phn mm
Hình 1.2: S đ khi mô t hot đng ca h thng vi x lý.
h thng mch phn cng đã đc kt ni đúng có th thc hin mt bài toán, mt
công vic, cn cung cp cho vi x lý mt chng trình thích hp. Công vic to ra các chng
2
OPEN.PTIT.EDU.VN
Chng 1: Kin trúc ca h thng vi x lý
trình cung cp cho các h thng vi x lý hot đng đc gi chung là công ngh phn mm
(Software). Có th mô t c ch ca mt h thng vi x lý trên hình 1.2.
1.1.3. Tng quát v phn cng h thng vi x lý
Phn cng mt h thng vi x lý bao gm 3 khi mch chính trên hình 1.3 bao gm:
- B vi x lý, hay còn đc gi là đn v x lý trung tâm CPU (Central Processing Unit) có
nhim v thc hin tt c các lnh mà chng trình yêu cu. Nó đóng vai trò là ch trong h
thng, quyt đnh s hot đng ca các linh kin khác trong mch.
- Khi b nh lu tr các chng trình cung cp cho vi x lý thc hin, ngoài ra nó còn s
dng lu tr các bin trung gian cng nh cui cùng trong các quá trình tính toán.
- Các b vào ra kim soát vic truyn d liu gia CPU và các thit b ngoi vi nh bàn phím,
màn hình,…. Các thit b ngoi vi có th là các thit b cho phép h thng vi x lý và ngi
s dng có th liên lc vi nhau, hoc các thit b thc hin mt công vic nào đó theo s
nh
I/O
Thit
b
ngoi
vi
Chng
trình
Hình 1.3: S đ khi h thng vi x lý
3
OPEN.PTIT.EDU.VN
Chng 1: Kin trúc ca h thng vi x lý
Chng trình hp
ng
(các lnh gi nh)
Chng trình mã
máy
(tp hp các bit 0
và 1)
Hình 1.4: S phát trin ca ngôn ng phn mm. 1.2. T CHC B NH CA H THNG VI X LÝ
Trong h thng mch đin t phn cng ca h thng vi x lý mô t trên hình 1.3, b nh
là các IC nh đc gi là b nh bán dn hay b nh chính ca h thng vi x lý. Ngoài b nh
bán dn, h thng vi x lý còn có các thit b khác s dng đ lu tr d liu và chng trình, đó
là các thit b nh ngoài nh: đa cng, đa mm, đa quang hc …. Chúng đóng vai trò là
các thit b ngoi vi ca h thng. Phn này ch mô t v cu to và nguyên tc hot đng ca các
loi b nh bán dn.
B nh bán dn đc chia thành hai loi chính: b nh ch đc ROM (Read Only
Memory) và b nh có th đc ghi đc hay còn gi là b nh truy cp ngu nhiên RAM
(Random Access Memory). Tuy nhiên các tên gi trên ch mang tính cht tng đi, b nh ROM
cn phi đc ghi d liu trc khi đc, mi loi ROM khác nhau s có cách ghi d liu khác
nhau. B nh truy cp ngu nhiên, khác vi b nh truy cp tun t là có th truy cp bt k d
liu nào mt cách tc thi, mà không phi truy cp tun t. Các b nh ROM và RAM đu có th
truy cp tun t.
4
OPEN.PTIT.EDU.VN
T3 P3 T2 P2 T1 P1 T0 P0
D3 D2 D1 D0
A0
A1
A2
Gii
mã đa
ch
Multiplex
Hình 1.5: Nguyên tc cu to ca b nh ROM.
Mi loi b nh ROM s có cách kt ni các đim ca ma trn nh khác nhau nh trên
hình 1.6. Mask ROM có các đim ca ma trn nh đc kt ni ngay khi sn xut. B nh PROM
kt ni các đim ma trn nh bng các diode và các cu chì mnh, khi lp trình cn cung cp dòng
đin đ ln đ làm đt các cu chì ti các đim mun lu tr các bit 1. i vi các b nh
EPROM và EEPROM các đim ma trn nh đc kt ni bng các transistor MOS, khi lp trình
cn cung cp đin trng ca đin áp cao đ các ht him đ nng lng chuyn qua bán dn cc
cng, kênh dn mt kh nng dn đin, đim ma trn gi bit 1. Nu mun xoá các bit 1 đã ghi có
5
OPEN.PTIT.EDU.VN
Chng 1: Kin trúc ca h thng vi x lý
OE (Output Enale): Tín hiu cho phép xut cho phép b đm d liu ngõ ra đ cung cp d liu t
bên trong ra ngoài các đng D7 – D0.
VPP : Ngõ vào đin áp cao cung cp ngun lp trình cho EPROM.
PGM: Ngõ vào cung cp xung lp trình cho EPROM.
U1
2764
10
9
8
7
6
5
4
3
25
24
21
23
2
11
12
13
15
16
17
18
19
22
27
D2
D3
D4
D5
D6
D7
OE
PGM
VPP
CE
Hình 1.8: Các tín hiu EPROM 2764.
6
OPEN.PTIT.EDU.VN
Chng 1: Kin trúc ca h thng vi x lý
1.2.2. Cu trúc và nguyên tc làm vic ca b nh RAM
Hình 1.9: Cu to mt bit nh SRAM.
Hình 1.9 mô t cu to ca mt bit nh SRAM, trong s đ khi cp ngun mt trong hai
transistor M1 hoc M2 dn, gi s M2 dn Q = 0 nên M1 không dn, lúc này các đng BL và
BL\ s đc cung cp ti mch khuch đi đc đ cung cp d liu mc 0 khi đc chn. ghi
mt d liu, chn bit nh bng cách cung cp mc 1 ti WL làm các transistor M3 và M4 dn,
cung cp mc 1 ti đng BL (BL\ = 0) làm M2 tt, M1 dn, bit nh s lu tr d liu 1.
Ngoài tín hiu chn mch CE cho phép xut d liu OE nh b nh EPROM, các b nh
SRAM còn có thêm tín hiu cho phép ghi WE, ch ghi tín hiu này tích cc d liu mi đc lu
tr vào b nh.
Cu to mt bit nh DRAM mt transistor mô t trên hình 1.10. ghi d liu ti bit nh
này cn cung cp mc 1 ti WWL và cung cp d liu ghi ti BL1, transistor BL1 s dn, đin áp
C
S
BL
2
RWL
V
D
D
V
D
D
2
V
T
D
V
V
D
D
2
V
T
B
L 2
B
L 1
X
bits
M
bits
S
0
S
1
S
2
S
N
-2
A
0
A
1
A
K
-1
K
=
log
2
N
S
N
-1
Word 0
Word 1
2
L 2 K
Word line
A
K
A
K 11
A
L 21
A
0
M.2
K
A
K 21
Sense amplifiers / Drivers
Column decoder
Input-Output
(M bits)
Storage cel
l
Selects
word
Hình 1.12: T chc các khi chc nng trong b nh.
Khi CPU mun truy cp (đc ghi) d liu t b nh, trc ht nó phi cung cp đa ch đ
xác đnh ti v trí cn truy cp, sau đó cn cung cp tín hiu chn mch (CE) cho phép b nh
8
OPEN.PTIT.EDU.VN
g trong h thng vi x lý thng t chc theo đn v truy xu
đc kt ni sao cho truyn d liu vi CPU theo bi s ca byte. Trong thc t, b nh
bán dn đc sn xut theo dng các linh kin có dung lng hn ch (t vài KB cho đn c vài
chc MB). Trong h thng vi x lý thng có ít nht hai loi b nh (ROM và RAM), mt khác
trong trng hp dung lng các IC b nh không đ đáp ng dung lng b nh ca h thng
khi thit k, nhà thit k phi ghép nhiu IC nh li. Các IC nh s s dng chung các BUS d
liu và đa ch, vì vy ti mt thi đim truy xut h thng phi đc kt ni sao cho ch có mt
IC nh đc chn, công vic này đc gi là gii mã đa ch b nh.
Vic gii mã đa ch có th thc hin theo nhiu cách khác nha
4 đ kt ni 4 IC nh 256 KB thành dung lng nh 1 MB.
Theo s đ kt ni, mi IC nh trong mch s có mt vùng
g IC nh trong hình 1.13 nh sau:
256KB đu tiên
256KB th hai : 400000H 7FFFFH
256KB th ba : 800000H BFFFFH và
7
D 0
:
R
D
WR
C
S
A
19
256 KB
#2
A
1
7
A
0
:
D 7
D
0
:
R
D
WR
C
S
256 KB
#1
A
S
I
1
O
3
I 0
O
2
O 1
O
0
9
OPEN.PTIT.EDU.VN
Chng 1: Kin trúc ca h thng vi x lý
Công vi IC nh trong mt h thng vi xc xác đnh vùng đa ch cho t ng lý đc gi là
lp bn
1.3. ÀO RA TRONG H THNG VI X LÝ
.3.1. Cu trúc và nguyên tc làm vic ca cng vào ra
hit b ngoi vi khác nhau, các thit
trên tt c các đng d liu vi
ng cng có các
it b
ó các tín hiu bt tay vi
it b
.3.2.
Mch ba trng thái và mch cài
bn nht thng đc s dng trong tt c các loi
Vi các cng ba trng thái, d liu s đc truyn qua nó khi tín hiu cho phép OC trng
cng cài s gi nguyên trng thái logic ngõ ra ca nó khi tín hiu
đ b nh.
D
Q
G
Cng đm 3 trng thái
Cng cài
Hình 1.14: Các cng vào ra s c bn
OC thái tích cc, vì vy tín hiu cho phép này thng đc cp t b gii mã đa ch, nh trên hình
1.15 cng đm 3 trng thái s m khi đa ch cung co t CPU là FFFFH = 1111 1111 1111
1111B. Khi tín hiu cho phép không tích cc, ngõ ra ca cng đm s trng thái tr kháng cao,
ngõ vào s không nh hng ti ngõ ra, nh vy BUS d liu s đc ngn cách vi thit b ngoi
vi mà nó điu khin, lúc này CPU có th s BUS d liu đ liên lc vi mt thit b khác, tng
ng vi mt đa ch khác.
Khác vi cng đm,
10
OPEN.PTIT.EDU.VN
Chng 1: Kin trúc ca h thng vi x lý
cho phép ht tích cc (nó không chuyn qua trng thái tr kháng cao). Các cng cài s thích hp
vi các thit b ra cn gi nguyên logic điu khin sau tác đng ca lnh, ví d bóng đèn LED ni
vi cng đm s tt khi CPU thc hin xong lnh truyn d liu, vì CPU ngng cp đa ch làm
ngõ ra cng đm chuyn qua trng thái tr kháng cao. Nu s dng làm cng vào, ngõ ra cng cài
cn đc ni tip vi mt cng đm trc khi ni ti BUS d liu.
1.3.3. Các cng vào ra đn gin
T m tt ni dung hc tp:
Trong chng này cn nh cá
• Vi x lý là mt vi mch s có th th
bng cách thc hin tun t các chc nng s c bn.
Mt lnh ca b vi x lý là chui các bit 0, 1 cung c
nng s c bn ca nó.
Mt chng trình vi x lý là m
công vic cn thc hin.
có h thng vi x lý h
mm hot đng đúng.
Phn cng h thng v x
đ điu khin hot đng ca toàn b h thng. B nh là ni lu tr các chng trình, là ni
khai báo các hng và bin trong chng trình. Vào ra đ giao tip vi các thit b bên ngoài.
Các khi trong h thng vi x lý đc kt ni vi nhau bng mt lot các đng dây dn đi
mi đng này đc gi là mt tín hiu ca h thng, các tín hiu đc chia thành 03 nhóm
D0
D7
Q0
74LS244
Q7
OC
.
.
.
.
• b đm cài đc s dng làm các cng vào ra đ cho phép thit b truyn d liu vi CPU
• ch sao cho ng vi mt đa ch mà
ÀI TP:
ài 1:
Cho bit đa ch bt đu ca mt vùng nh Ram là 00000H và dung lng ca vùng nh
Bài 2 t, v bn đ b nh
Bài 3: h sau:
BUS đa ch và d liu ca b nh trng thái tr kháng cao. Khi mun đc b nh cn tác
đng tín hiu chn b nh, cung cp đa ch xác đnh ô nh s đc trong b nh, cung cp tín
hiu yêu cu đc và b nh s cung cp d liu ra BUS d liu. Khi mun ghi b nh cng
cn cung cp tín hiu chn b nh, cung cp đa ch ô nh s ghi, cung cp d liu cn ghi và
cung cp tín hiu yêu cu ghi.
Các b nh RAM có th đc g
ROM ch có th đc bng các logic điu khin thông thng, mun ghi d liu vào nó cn có
các ch đ điu khin đc bit.
Gii mã đa ch b nh là thc h
ch có mt vi mch nh duy nht đc cung cp tín hiu chn mch, các vi mch nh còn li
s không đc chn và có các BUS trng thái tr kháng cao và chúng s không kt ni v
đin vi h thng.
Các b đm và cài s
đc chn các b đm s có ngõ ra tr kháng cao, còn các b cài s gi li trng thái ra trc
đó.
Các
ch khi CPU cp đúng đa ch đ chn nó, trong khi các cng không đúng đa ch s không
đc chn và chúng không kt ni v mt đin vi CPU.
Tng t nh gii mã b nh, gii mã vào ra s là mt m
CPU cung cp ch có mt cng vào ra duy nht đc chn.
B
SRAM (512KB)
EPROM
(
256KB
)
EPROM
(
256KB
)
SRAM (512KB)
EPROM
(
256KB
)
SRAM
(
128KB
)
SRAM
(
128KB
)
SRAM (256KB)
EPROM (512KB)
SRAM
12
OPEN.PTIT.EDU.VN
Chng 1: Kin trúc ca h thng vi x lý Cho bit vùng đa ch ca tng b nh trong các bn đ (các b nh đu có 8 bit d liu).
Bài 4: T
0H.
ai cng vào s dng
hc hin cng ra điu khin tám LED đn có đa ch là F000H.
Bài 5: Thc hin cng vào nhn d liu t 8 phím nhn có đa ch là F00
Bài 6: Thc hin mch gii mã đa ch vào ra trong h thng có 2 cng ra và h
các b đm cài 8 bit. 13
OPEN.PTIT.EDU.VN
Chng 2: Nguyên tc làm vic ca b vi x lý h Intel 80x86
CHNG 2: NGUYÊN TC LÀM VIC CA B VI X LÝ
H INTEL 80X86
Gii thiu:
Ni dung chng này trc ht gii thiu v cu trúc ca b vi x lý 80286 và chc nng các
khi mch ca nó nh: khi giao tip BUS (BU) tác đng mi tín hiu đ giao tip vi th gii
bên ngoài., khi gii mã lnh (IU) thc hin chc nng to ra các tín hiu điu khin các khi
Hình 2.1: S đ khi b vi x lý 80286
EXECUTION UNIT (EU)
ADDRESS UNIT (AU)
INSTRUCTION
UNIT (IU)
INSTRUCTION
DECODER
3 DECODER
INSTRUCTION
QUEUE
ADDRESS
LATCH AND DRIVER
PREFETCH
PROCESSOR
CONTROL
14
OPEN.PTIT.EDU.VN
Chng 2: Nguyên tc làm vic ca b vi x lý h Intel 80x86
2.1.1. S đ khi ca vi x lý 80286 Intel
B vi x lý 80286 đc cu to t 4 khi chc nng có th làm vic song song:
- Khi giao tip BUS : BU (Bus Unit).
- Khi gii mã lnh : IU (Instruction Unit)
- Khi thc hin lnh : EU (Execution Unit)
- Khi to đa ch : AU (Address Unit)
2.1.2. Khi to đa ch (AU)
AU đm bo vic qun lý, bo v b nh, tu theo ch đ đa ch các chng trình s s dng
các loi đa ch logic khác nhau, AU có nhim v chuyn các đa ch logic qun lý trong chng
trình phn mm thành đa ch vt lý cung cp ti BU đ giao tip vi bên ngoài. a ch vt lý là
đa ch cung cp trc tip cho b nh và vào ra, còn đa ch logic là các giá tr đc chng trình
qun lý s dng đ to ra đa ch vt lý, đó chính là các đa ch đon (segment) và đa ch đ di
(offset).
2.1.3. Khi giao tip BUS (BU)
BU cung cp các tín hiu đa ch, d liu và điu khin đ truy cp các b nh và vào ra. Khi
này cng cho phép giao tip vi b đng x lý hoc các b vi x lý khác.
Chc nng quan trong nht ca BU là t đng kích hot quá trình ly lnh t b nh bng b
tin truy cp lnh (Prefetch). BU còn có chc nng cho phép quá trình ly lnh t b nh thc
hin song song vi các quá trình khác nh hàng đi lnh 6 byte (Prefetch queue).
Các đa ch mà AU to ra cung cp ti các b cài (Address Latch) và s đc đnh thi cung
cp ra bên ngoài ti các thi đim thích hp. D liu truyn vi CPU s đc chuyn qua các
cng đm hai chiu (Data Transceivers).
đó. Các hãng sn xut khác nhau đa ra các tên gi các thanh ghi khác nhau. 80286 có các nhóm
thanh ghi: Các thanh ghi đa nng, các thanh ghi qun lý mng, các thanh ghi điu khin và trng
thái và các thanh ghi đc bit.
2.2.1. Các thanh ghi đa nng
Các thanh ghi đa nng có th s dng cho nhiu chc nng khác nhau. Thông thng các
thanh ghi đa nng trc ht đm nhim chc nng cha d liu, ngoài ra các thanh ghi này có th
s dng cho các chc nng khác nh: cha đa ch, làm b đm,
Intel 80286 có tám thanh ghi đa nng 16 bit, các thanh ghi này đu có th s dng làm thanh
ghi cha d liu 16 bit nh mô t trên hình 2.2.
Các thanh ghi AX, BX, CX và DX có th chia thành hai phn 8 bit riêng bit s dng cho
vic lu tr các d liu 8 bit: AH, AL, BH, BL, CH, CL, DH, DL.
Thanh ghi AX (Accumulator) còn mang chc nng thanh ghi cha trong các lnh nhân và
chia, trong các lnh này thanh ghi AX gi mt toán hng và kt qu cui cùng. Ví d trong lnh
MUL BX d liu trong thanh ghi AX s nhân vi d liu trong thanh ghi BX và kt qu cha
trong thanh ghi DX và AX.
Thanh ghi BX (base) trc ht có th s dng làm thanh ghi gi đa ch b nh, ví d trong
lnh MOV DH,[BX] d liu ti ô nh có đa ch gi trong BX s chuyn vào thanh ghi DH. BX
còn gi chc nng thanh ghi con tr c s, khi s dng trong chc nng này thanh ghi BX gi giá
tr đa ch c s, đa ch truy cp b nh s bng giá tr cha trong BX cng vi mt giá tr ch th
trong lnh. Ví d trong lnh MOV DL,[BX+03] d liu trong b nh t đa ch [BX+03] đc di
chuyn vào trong thanh ghi DL.
Thanh ghi BX còn s dng trong ch đ đa ch tng đi ch s
c s, trong lnh MOV CH,[BX+DI+08] d liu ti ô nh có đa ch BX+DI+08 đc ly vào
thanh ghi CH.
Hình 2.2: Các thanh ghi đa nng ca b vi x lý Intel 80286.
Thanh ghi con tr ngn xp SP (Stack Pointer) đóng vai trò gi đa ch đnh ngn xp trong
các lnh truy cp ti ngn xp nh: lnh np ngn xp PUSH, lnh ly d liu khi ngn xp POP,
lnh gi chng trình con CALL
Ngn xp là vùng nh đc truy cp theo nguyên tc vào trc ra sau FILO (Fist IN Last Out)
nh vào c ch t đng thay đi ca SP nh mô t trên hình 2.3. Khi khi đng SP gi đa ch ca
đnh ngn xp, tr ti giá tr cui cùng cha trong ngn xp (LastValue). Sau mi lnh PUSH giá
tr d liu s đc np vào đnh ngn xp và SP t đng gim đi đ gi đa ch giá tr mi này.
Trên hình 2.3 sau 3 lnh PUSH thanh ghi SP s gi đa ch ô nh cha giá tr ca thanh ghi CX.
lastvalue
????
????
????
????
????
????
????
????
đ
a ch cao
đ
a ch th
p
Hình 2.3: Thao tác np ngn xp và s thay đi ca thanh ghi SP
2.2.2. Các thanh qun lý đon
Các thanh ghi qun lý đon ca Intel 80286 chia thành hai phn: phn cha b chn đon và
phn cha b mô t đon. Phn cha b chn đon (còn gi là thanh ghi chn đon) có th np
bng chng trình nên thng đc gi là phn h. Phn cha b mô t đon (còn gi là các
thanh ghi mô t đon) đc CPU np t đng, không th truy cp bng chng trình nên thng
đc gi là phn kín. Trong ch đ bo v (Protect Mode) kích thc ca mt đon thay đi t 1
đn 5 GB, còn trong ch đ thc kích thc cc đi ca mt đon là 64KB. Ti mt thi đim s
có 4 đon nh xác đnh bi 4 thanh ghi chn đon 16 bit CS, SS, DS và ES trong đó:
17
OPEN.PTIT.EDU.VN
Chng 2: Nguyên tc làm vic ca b vi x lý h Intel 80x86
+ Thanh ghi đon mã lnh (CS - Code Segment) cha đa ch đon mã lnh ca chng trình
hin hành.
+ Thanh ghi đon ngn xp (SS - Stack Segment) cha đa ch đon vùng nh ngn xp.
+ Các thanh ghi đon d liu (DS - Data Segment), đon m rng (ES - Extra Segment) cha
đa ch ca các đon d liu s dng trong chng trình.
Trong ch đ đa ch thc CPU to ra đa ch vt lý truy cp b nh bng các đa ch logic là
đa ch đon (segment) và đa ch đ di (offset).
Trong đó: đa ch vt lý 20 bit = đa ch đon 16 bit x 10H + đa ch đ di 16 bit.
2.2.3. Thanh ghi c trng thái
Thanh ghi c còn đc gi là thanh ghi mã trng thái CCR (Condition Code Register) bao
gm các bit đc lp. Mi bit ch có hai trng thái 0 hoc 1 đc gi là các c. Các c rt ít khi
tác đng ln nhau, chúng ch tác đng mt cách đc lp tùy theo trng thái ca các phép tính mà
ALU thc hin. Trng thái các c là c s đ CPU thc hin các quyt đnh, nu tha điu kin
chng trình thc hin theo hng này, còn ngc li s theo mt hng khác, to ra s r nhánh
cho các chng trình phù hp vi bài toán thc t. Ngoài ra còn có các c s dng cho vic điu
Trong h thng vi x lý có hai cách biu din mt s: Cách th nht nó dùng tt c các bit
ca mt thanh ghi đ biu din mt s dng. Ví d mt thanh ghi 8 bit có th biu din các s
thp phân dng t 1 ti 255. Cách th hai CPU s dng bit trng s cao nht đ làm bit du. Ví
18
OPEN.PTIT.EDU.VN
Chng 2: Nguyên tc làm vic ca b vi x lý h Intel 80x86
d nh thanh ghi 8 bit thì bit D7 s là bit du. Khi D7 mc 0 thì các bit D0 D6 gi mt s nh
phân dng nm trong khong 0 ti 127. Khi D7=1 thì thanh ghi s gi s nh phân âm trong
khong –128 ti -1
T hp nh phân t 0000 0000 0111 1111 biu din các s t 0 127 t hp tip theo 1000
0000 trong s có du đc xem nh là -128 và tip theo 1000 0001 = -127. Khi tip tc đm lên
ti t hp 1111 1111 = -1.
C du S s báo khi du thay đi, c du =0 khi kt qu phép tính trong b cha là s dng
(bit D7=0). Nu bit D7=1 kt qu là mt s âm 7 bit thì SF=1. Da vào c này mà các chng
trình này s có cách tính thích hp vi các s có du.
C tràn OF (Overflow Flag)
C tràn OF đc dùng trong các phép tính s hc có du, nó ch th kt qu là mt s dng
ln hn hoc là mt s dng nh hn kh nng cha ca thanh ghi cha kt qu. Ví d khi cng
hai s dng trong hai thanh ghi 8 bit, CFs đc thit lp mc 1 khi có s tràn bit 1 t D6 sang
D7, tc là khi du ca s 7 bit thay đi t (+) sang (-) mc dù kt qu phi là mt s dng, nh
vy kt qu này cn phi đc bin din bng mt s 9 bit. C OF luôn đc thit lp khi có tràn,
vì vy cn phi kim tra nó tu theo trng hp só biu din là có du hay không có du, đ nó
không nh hng gì đn chng trình. C tràn s b xóa khi D7 tr v mc 0.
C ZERO ZF (Zero Flag)
Khi ALU thc hin các phép tính có kt qu trong thanh ghi cha bng 0, lúc đó ZF s đc
thit lp lên mc 1. Còn ngc li ZF=0. Thông thng ZF đ thông báo trng thái so sánh bng,
kt qu ca phép tr = 0 , các phép logic = 0. Khi thc hin các phép cng, mc dù kt qu có d
ra bit th 9 nhng nu thanh cha có giá tr 0 thì ZF vn = 1. Ví d cng FFH+01H kt qu là
100H thì s 1 c CF còn thanh cha có giá tr 00 do đó ZF =1.
C ngt đc thit lp =1 bng lnh STI (Set Interrupt ) và xóa bng lnh CLI(Clear
Interrupt). Khi c ngt=1 cho phép CPU ghi nhn tín hiu yêu cu ngt t ngõ vào INTR, và thc
hin chng trình ngt. Khi c ngt =0, mc dù có tín hiu yêu cu, chng trình ngt s không
đc thc hin. Vi các yêu cu ngt không che NMI (Non-Mask able Interrupt) c ngt không
có ý ngha.
C by TF: (Trap Flag)
C by ch có th thay đi giá tr thông qua ngn xp, khi c by bng 1, CPU hot đng
ch đ chy tng bc đ g ri sa sai chng trình. C th là khi CPU thc hin xong mt lnh
nó chuyn qua chng trình con giám sát (Monitor), TF đc t đng ct vào ngn xp và TF
đc xoá v 0, các lnh ca chng trình con giám sát s đc thc hin. Chng trình con giám
sát đc thc hin bi ngi s dng đ kim tra li kt qu ca lnh va thc hin các ô nh,
các thanh ghi, các c. Khi kt thúc chng trình con giám sát, thanh ghi c đc phc hi, TF li
bng 1, điu khin đc quay v lnh tip theo ca chng trình chính. Và sau khi thc hin xong
lnh này, chng trình con giám sát li tip tc đc thc hin.
C nhim v lng nhau NT (Nested Tast)
NT cho bit lnh đang thc hin tin trin trong cùng mt nhim v hay s gây ra vic chuyn
nhim v. NT ch đc dùng trong ch đ bo v ca Intel 80286.
C ch th mc đc quyn vào ra (IOPL)
Hai bit này ch th mc đc quyn thp nht mà tác nhim đang thc hin cn có đ đc phép
thc hin các lnh vào ra. Hai bit này cng ch đc s dng trong ch đ bo v.
2.2.4. Các thanh ghi đc bit
Thanh ghi con tr lnh: (IP - Instruction Pointer) S dng trong vic cung cp đa ch đ di
(offset) ca vùng nh mã lnh. Sau khi ly vào mt lnh BIU s đi giá tr trong IP đ tr ti mã
lnh s thc hin trong chu k k tip. các lnh thông thng sau khi ly vào mt byte mã lnh
IP s t đng tng lên 1. các lnh nhy giá tr ca IP s đc xóa đi đ np mt giá tr mi, giá
tr mi này đc cung cp trong lnh nhy. Trong các lnh gi chng trình con trc khi xóa giá
tr c đ np giá tr mi giá tr c ca IP đc ct vào đnh ngn xp, và khi có lnh quay v nó s
đc phc hi. Khi phc v ngt quá trình bin đi IP cng thc hin tng t nh khi xy ra
lnh gi chng trình con.