Giáo trình kỹ thuật vi xử lí - Nguyễn Trung Đồng | Trường Đại học Bách Khoa, Đại học Đà Nẵngchương 3 đo lường điện | Trường Cao Đẳng Kỹ Thuật Cao Thắng TPHCM

Giáo trình kỹ thuật vi xử lí - Nguyễn Trung Đồng | Trường Đại học Bách Khoa, Đại học Đà Nẵng. Tài liệu gồm 153 trang, giúp bạn tham khảo, ôn tập và đạt kết quả cao. Mời bạn đọc đón xem!

Giáo trình K thut vi x
Nguyn Trung Đồng - Vin Công ngh Thông tin Tel 098 341 0866
2
Giáo trình
K THUT VI X -
NGUYN TRUNG ĐNG
Giáo trình K thut vi x
Nguyn Trung Đồng - Vin Công ngh Thông tin Tel 098 341 0866
3
LI NÓI ĐU
Công ngh thông tin đang được ng dng rng rãi trong nhiều lĩnh vực khoa
hc công ngh cuc sống thường nht. Bên cnh khối lượng phn mm h thng
ng dụng đồ s, công ngh phn cứng cũng phát triển cùng nhanh chóng.
th nói các h thống máy tính được ci thin trong nhng khong thi gian rt
ngắn, càng ngày càng nhanh hơn, mạnh hơn và hiện đại hơn.
Nhng kiến thức bản v v phn cng ca các h thng máy tính luôn luôn
đòi hỏi cp thiết ca những người chn công ngh thông tin làm định ng cho
ngh nghip và s nghip khoa học trong tương lai.
Giáo trình K thut Vi x này được viết trên cơ s nhng bài ging theo sát
đề cương môn hc đã được thc hin ti Khoa Công ngh thông tin trc thuc
Trường đại hc Thái Nguyên t khi thành lp đến nay, luôn luôn được sa cha,
b sung đ đáp ng nhu cu kiến thc ca sinh viên hc tp ti Khoa.
Giáo trình được chia thành 5 chương:
Chương I gii thiu nhng kiến thc tng quan được s dng trong k thut Vi
x các h đếm, cách thc biu din thông tin trong các h Vi x máy tính,
cũng như nhìn nhn qua v lch s phát trin ca các trung tâm Vi x lý.
Chương II gii thiu cu trúc hoạt động của các đơn vị x trung tâm t
μP8085 đến các cu trúc ca Vi x h 80x86, các cu trúc RISC CISC. Do
nhng ng dng thc tế rng ln trong đời sng, trong chương II có gii thiu thêm
cu trúc chc năng ca chip Vi xchuyên dng μC8051.
Chương III cung cp nhng kiến thc v t chc b nh cho mt h Vi x ,
k thut và các bước xây dng v nh ROM, RAM cho h Vi x lý.
Chương IV đi sâu kho sát mt s mch chc năng kh lp trình như mch
điu khin vào/ra d liu song song, mch điu khin vào/ra d liu ni tiếp, mch
định thi và mch điu khin ngt.
Chương V gii thiu các cu trúc cách xây dng, phi ghép mt s thiết b
vào/ra cơ bn cho mt h Vi x lý như bàn phím Hexa, h thng ch th 7 thanh, bàn
phím máy tínhmàn hình.
Cun giáo trình chc chn nhiu thiếu sót, rt mong đựoc s góp ý ca các
độc gi. Mi ý kiến đóng góp xin gi theo địa ch:
B môn K thut máy tính Khoa Công ngh Thông tin
Đại hc Thái Nguyên
Thái Nguyên
Hoc theo địa ch Email
dongnt@hn.vnn.vn
Nhóm biên son
Giáo trình K thut vi x
Nguyn Trung Đồng - Vin Công ngh Thông tin Tel 098 341 0866
4
MC LC
CHNG I. TNG QUAN V CÁC H VI X ................................... 7
I.1 Các h đếm ..................................................................................................... 7
I.1.1 H đếm thp phân (R = 10 - Decimal) ..................................................... 7
I.1.2 H đếm nh phân (R = 2 - Binary) ........................................................... 8
I.1.3 H đếm bát phân (R = 8 - Octal) ............................................................. 8
I.1.4 H đếm 16 (R = 16 - Hexa) ..................................................................... 8
I.2 Chuyn đổi ln nhau gia các h đếm .......................................................... 9
I.2.1 H nh phân và h thp phân ................................................................... 9
I.2.2 H nh phân và h Hexa ........................................................................ 11
I.3 Biu din thông tin trong các h Vi x .................................................... 11
I.3.1 Mã hoá các thông tin không s .............................................................. 12
I.3.2 Mã hoá các thông tin s ........................................................................ 12
I.3.3 Biu din d liu s trong máy tính ....................................................... 12
I.3.4 Bn cht vt lý ca thông tin trong các h Vi x ............................... 14
I.4 Vài nét v thc hin các phép tính trong h đếm nh phân........................ 15
I.4.1 Phép cng và phép tr ........................................................................... 15
I.4.2 Phép nhân và phép chia ......................................................................... 16
I.5 Cu trúc ca h Vi x lý và máy vi tính ..................................................... 17
I.5.1 Vài nét v lch s phát trin các trung tâm Vi x ............................... 17
I.5.2 Cấu trúc cơ bn ca h Vi x ............................................................ 18
CHNG II. CÁC ĐN V VI X LÝ TRUNG TÂM
(CPU CENTRAL PROCESSING UNIT) ......................... 23
II.1 Trung tâm Vi x
P8085 ..................................................................... 23
II.1.1 Các nhóm tín hiu trong P8085 ............................................................ 25
II.1.2 Khái nim và bn cht vt lý ca các BUS trong h Vi x ................. 27
II.1.3 Các mch 3 trng thái, mch cht và mch khuyếch đi BUS 2 chiu .... 28
II.1.4 Biểu đồ Timing thc hin lnh ca CPU μP8085 ................................... 31
II.1.5 Khái nim chu k BUS .......................................................................... 33
II.1.6 Ngt (Interrupt) ...................................................................................... 34
II.1.7 Truy nhp trc tiếp b nh (Direct Memory Access DMA)................. 36
II.1.8 Vi chơng trình (MicroProgram) và tp lnh ca P8085 ...................... 37
II.1.9 Vài nét v lp trình cho 8085 ................................................................. 42
II.1.10 H lnh ca µP8085 .............................................................................. 43
Giáo trình K thut vi x
Nguyn Trung Đồng - Vin Công ngh Thông tin Tel 098 341 0866
5
II.2 Các trung tâm Vi x lý h 80x86............................................................. 45
II.1.1 Mô t chân ca µP8086 và các tín hiu .................................................. 45
II.1.2 Cu trúc Trung tâm Vi x lý h 80x86 ................................................... 48
II.1.3 H thng thanh ghi trong các P80x86 .................................................. 49
II.1.4 Các chế độ làm vic MIN/MAX............................................................. 54
II.1.5 Phơng thc qun lý b nhớ, các mode địa ch ...................................... 54
II.1.6 Phơng thc đánh địa ch thiết b ngoi vi ............................................. 59
II.1.7 Các mch Multiplexer, mch Decoder, mch PLA ................................. 59
II.1.8 Vài nét v lp trình hp ng ................................................................... 61
II.3 Cu trúc và tính năng ca mt s chip Vi x lý hin đi. ...................... 62
II.3.1 Cu trúc chip Vi xPentium .............................................................. 64
II.3.2 Cu trúc RISC, CISC ............................................................................. 68
II.3.3 Qun lý b nh ...................................................................................... 70
II.3.4 B nh cache ......................................................................................... 71
II.4 Single-Chip MicroComputer µC8051 ..................................................... 72
II.4.1 Tng quan .............................................................................................. 72
II.4.2 Mô t cu trúc và chc năng .................................................................. 74
II.4.3 Lp trình cho µC8051 ............................................................................ 83
II.4.4 Các kh năng ng dng ca µC8051 ...................................................... 83
CHNG III. B NH TRONG CA H VI X ................................ 85
III.1 B nh trong h Vi x .......................................................................... 85
III.1.1 Phn t nh, vi mch nh, t nh và dung lợng b nh ....................... 85
III.1.2 Vài nét v b nh trong ca h Vi x lý và máy tính PC ........................ 86
III.1.3 Phân loi các chip nh ROM, RAM ....................................................... 90
III.3 T chc b nh cho h Vi x ............................................................... 91
III.3.1 T chc b nh vt lý ............................................................................ 91
III.3.2 Thiết kế v nh cho h Vi x .............................................................. 92
CHNG IV. CÁC CHIP KH LP TRÌNH
(PROGRAMMABLE) ............................................................ 95
IV.1 Tng quan ................................................................................................ 95
IV.2 Mt s mch chức năng tiêu biu ............................................................ 95
IV.2.1 Mch vào/ra d liu song song PPI-8255
(Programmable Peripheral Interface). ............................................ 95
IV.2.2 Mch điều khin ngt PIC-8259 ........................................................... 100
IV.3.3 Mch đếm định thi đa năng PIT-8253
(Programmable Interval Timer) ............................................................. 109
Giáo trình K thut vi x
Nguyn Trung Đồng - Vin Công ngh Thông tin Tel 098 341 0866
6
IV.4.4 Mch điều khin vào/ra ni tiếp đồng b/d b USART-8251
(Universal Synchronous/Asynchronous Receiver Transmitter) ............. 115
CHNG V. THIT B VÀO RA CA H VI X ............................ 127
V.1 Bàn phím Hex Keyboard ....................................................................... 127
V.2 Ghép ni bàn phím vi h Vi x ....................................................... 131
V.2.1 H thng bàn phím ca máy vi tính ...................................................... 131
V.2.2 Quá trình truyn d liu t bàn phím cho CPU .................................... 132
V.3 Mch điều khin và lp trình ch th 7-segments .................................. 133
V.4 Màn hình (Monitor) ............................................................................... 135
V.4.1 Màn hình ng tia âm cc CRT (Cathode Ray Tube) ............................. 135
V.4.2 Ghép ni màn hình vi h Vi x ...................................................... 136
V.4.3 B điều khin màn hình CRTC ............................................................ 137
PH LC
PH LC A ....................................................................................................... 140
Bng tóm tt h lnh ca Trung tâm Vi xh x86 ...................................... 140
PH LC B ....................................................................................................... 143
Bng lu tha 2
n
................................................................................................ 143
PH LC C ....................................................................................................... 144
Bng mã ASCII.................................................................................................. 144
PH LC D ....................................................................................................... 145
CÁC NHÓM LNH CA µC8051 ................................................................... 145
1. To vòng lp và lnh nhy: ....................................................................... 145
2. Lnh gi Call .............................................................................................. 146
a. Nhóm lnh x lý s hc: ............................................................................ 147
b. Nhóm lnh lun lý: .................................................................................... 148
c. Nhóm lnh chuyn d liu: ........................................................................ 150
d. Nhóm lnh chuyền điều khin:.................................................................. 151
TÀI LIU THAM KHO ................................................................................. 153
Giáo trình K thut vi x
Nguyn Trung Đồng - Vin Công ngh Thông tin Tel 098 341 0866
7
CHNG I. TNG QUAN V CÁC H VI X
I.1 Các h đếm
H đếm thông dng nhất trong đi sng h đếm cơ s 10 (thp phân
Decimal), s dng 10 t s t 0 đến 9. Ngi ra, trong sn xut, kinh
doanh còn có khi s dng h đếm số 12 (tá dozen).
Trong các h thng máy tính, để x , tính toán, ta s dng h đếm
s 2 (nh phân Binary), h s 8 (bát phân Octal), h s 16 (Hexa).
Tuy nhiên, vic nhp d liu hay đa kết qu x lý, ta li dùng h đếm s
10.
Mt s N trong mt h đếm bt k n+l ch s , trong đó gồm n ch s
thuc phn nguyên và l ch s thuc phn thp phân, đợc trin khai theo
công thc tng quát:
k
n
lk
k
RaN
trong đó:
R là số ca h đếm
a
k
là trng ca ch s v trí th k (0 a
k
< R)
{ a
k
}
R
= {0, 1, 2, 3, …, R 1}
l, n là s nguyên
N = a
n
a
n-1
…a
1
a
0
,a
-1
a
-2
…a
-l
Theo công thc trên, các s đợc biu din trong các h đếm khác nhau
s nh sau:
I.1.1 H đm thp phân (R = 10 - Decimal)
{ a
k
}
D
= {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}
123,45
D
= 1 x 10
2
+ 2 x 10
1
+ 3 x 10
0
+ 4 x 10
-1
+ 5 x 10
-2
Giáo trình K thut vi x
Nguyn Trung Đồng - Vin Công ngh Thông tin Tel 098 341 0866
8
I.1.2 H đm nh phân (R = 2 - Binary)
{ a
k
}
B
= {0, 1}
11011.01
B
= 1 x 2
4
+ 1 x 2
3
+ 0 x 2
2
+ 0 x 2
1
+ 1 x 2
0
+ 0 x 2
-1
+ 1 x 2
-2
=
= 16 + 8 + 0 + 2 + 1 + 0 + 0,25 = 27,25
D
I.1.3 H đm bát phân (R = 8 - Octal)
{ a
k
}
O
= {0, 1, 2, 3, 4, 5, 6, 7}
653,12
O
= 6 x 8
2
+ 5 x 8
1
+ 3 x 8
0
+ 1 x 8
-1
+ 2 x 8
-2
=
= 384 + 40 + 3 + 0,125 + 0,03125 = 427,1562
D
Lưu ý: Các ch s trong h này th biu din nh 3 t s (“0”
1”) trong hệ đếm nh phân theo bng sau:
Octal
Binary
Octal
Binary
Octal
Binary
Octal
Binary
0
O
000
B
2
O
010
B
4
O
100
B
6
O
110
B
1
O
001
B
3
O
011
B
5
O
101
B
7
O
111
B
I.1.4 H đm 16 (R = 16 - Hexa)
{ a
k
}
H
= {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F}
3A7,C
H
= 3 x 16
2
+ 10 x 16
1
+ 7 x 16
0
+ 12 x 16
-1
=
= 768 + 160 + 7 + 0,75 = 935,75
D
Lưu ý: Mt giá tr ký t s Hexa có th biu din thông qua 4 t s
h nh phân theo bng sau:
Hexa
Binary
Hexa
Binary
Hexa
Binary
Hexa
Binary
0
H
0000
B
4
H
0100
B
8
H
1000
B
C
H
1100
B
1
H
0001
B
5
H
0101
B
9
H
1001
B
D
H
1101
B
2
H
0010
B
6
H
0110
B
A
H
1010
B
E
H
1110
B
3
H
0011
B
7
H
0111
B
B
H
1011
B
F
H
1111
B
Nhn xét:
Giáo trình K thut vi x
Nguyn Trung Đồng - Vin Công ngh Thông tin Tel 098 341 0866
9
1. Trong các h đếm vừa đợc nêu, h đếm số 2 rt nhiu u
đim khi x trong máy tính. Th nht, vic mô phng giá tr ca
mt t s rt đơn gin: ch cn mt phn t hai trng thái
khác bit. S dng bn cht vt ca vt mang tng tin đ biu
din hai trng thái này rt d thc hin. Trên y dn điện các
trng hợp dòng điện (tơng ng vi trng s 1) hoc không
có dòng điện (tơng ng vi trng s là 0).
2. Vic chuyn đổi gia hai giá tr 0 hoc 1 th thc hin thông
qua mt công tc, trong thc tế các phn t logic điện t thc
hin các chc năng ca khoá điện t: đóng (dòng điện đi qua
đợc) hoc m (dòng điện không đi qua).
I.2 Chuyển đổi ln nhau gia các h đếm
I.2.1 H nh phân và h thp phân
a) T nh pn sang thp phân: S dng biu thc trin khai tng
quát đư u, cộng tt c các s hng theo giá tr s thp pn, tng
s là dng thp phân ca s nh phân đư cho.
Ví d: 11011.11
B
= 1 x 2
4
+ 1 x 2
3
+ 0 x 2
2
+ 1 x 2
1
+ 1 x 2
0
+ 1 x 2
-1
+ 1 x 2
-2
= 16 + 8 + 0 + 2 + 1 + 0.5 + 0.25 = 27.75
D
b) T thp phân sang nh phân:
Phn nguyên: Ta đẳng thc sau (vế trái s thp phân, vế phi là biu
din nh phân ca s đó):
S
D
= k
n
2
n
+ k
n-1
2
n-1
+ k
n-2
2
n-2
+ … k
1
2
1
+ k
0
2
0
+ =
= 2(k
n
2
n-1
+ k
n-1
2
n-2
+ k
n-2
2
n-3
+ … + k
1
) + k
0
k
i
= {0, 1}, đồng phân vi s 0, 1 trong s thp phân, n ta th
viết:
S
D
k
0
= k
n
2
n-1
+ k
n-1
2
n-2
+ k
n-2
2
n-3
++ k
1
= 2(k
n
2
n-2
+ k
n-1
2
n-3
+ … + k
2
) + k
1
2
Thy rng: Ký t đầu tiên ca s nh phân là k
0
, đúng với s d khi chia
S
D
cho 2, ký t tiếp theo, k
1
chính s d khi chia thơng cho 2, v. v… n
ta có th tìm tt cc ký t khác nh sau:
Giáo trình K thut vi x
Nguyn Trung Đồng - Vin Công ngh Thông tin Tel 098 341 0866
10
Ví dụ: Đổi s 173
D
ra s nh phân
173
2
d 1
k
0
86
2
d 0
k
1
43
2
d 1
k
2
21
2
d 1
k
3
10
2
d 0
k
4
5
2
d 1
k
5
2
2
d 0
k
6
1
2
d 1
k
7
0
Phn phân s : Đẳng thc quan h gia s thp phân và s nh phân (phn
phân s) (vế trái là s thp phân, vế phi là s nh phân) nh sau:
S
D
= k
-1
2
-1
+ k
-2
2
-2
+ k
-3
2
-3
+ … k
-m+1
2
-m+1
+ k
-m
2
-m
2S
D
= k
-1
+ (k
-2
2
-1
+ k
-3
2
-2
+ k
-m+1
2
-m+2
+ k
-m
2
-m+1
)
Thy rng k
-1
tr thành phn nguyên ca vế phi, vy:
2S
D
k
-1
= (k
-2
2
-1
+ k
-3
2
-2
+ … k
-m+1
2
-m+2
+ k
-m
2
-m+1
)
2(2S
D
k
-1
) = k
-2
+ (k
-3
2
-1
+ … k
-m+1
2
-m+3
+ k
-m
2
-m+2
)
k
-2
là phn nguyên tiếp theo ca vế phi có th bng “0” hoặc bng “1”.
Tiếp tục tơng tự, thu đợc các ký t s ca các phn tn li.
Ví d: Chuyển đổi s 0.8128 thành s nh phân
Thc hin phép nhân liên tiếp vi 2, phn nguyên ca tích bao gi cũng
là các giá tr hoc bng “0” hoặc bằng “1”, thu đợc kết qu sau:
0.8128
x 2
= 1.6256
= 1 +
0.6256
0.6256
x 2
= 1.2512
= 1 +
0.2512
0.2512
x 2
= 0.5024
= 0 +
0.5024
0.5024
x 2
= 1.0048
= 1 +
0.0048
0.0048
x 2
Quá nhth b qua
Lưu ý: Quá trình biến đổi này kết thúc khi phn phân s ca ch s
bng 0, tuy nhiên, nếu quá o dài, tu theo yêu cu ca độ chính xác d liu
khi tính toán và x lý, có th b qua.
Vy 173
D
= 10101101
B
Giáo trình K thut vi x
Nguyn Trung Đồng - Vin Công ngh Thông tin Tel 098 341 0866
11
I.2.2 H nh phân và h Hexa
Chuyển đổi mt d liu nh pn sang h Hexa rt đơn gin, nếu chú ý
rng ta 2
4
= 16, nghĩa một s Hexa tơng ng vi mt nhóm 4 s ca
s nh phân (t 0 đến F). Vì vy, khi chuyn đổi, ch cn thay nhóm 4 ch s
ca s nh phân bng mt ch s tơng ng ca h Hexa nh sau:
T hp
nh phân
Ký t
s
Hexa
T hp
nh
phân
Ký t
s
Hexa
T hp
nh
phân
Ký t
s
Hexa
T hp
nh
phân
Ký t
s
Hexa
0
0
0
0
0
0
1
0
0
4
1
0
0
0
8
1
1
0
0
C
0
0
0
1
1
0
1
0
1
5
1
0
0
1
9
1
1
0
1
D
0
0
1
0
2
0
1
1
0
6
1
0
1
0
A
1
1
1
0
E
0
0
1
1
3
0
1
1
1
7
1
0
1
1
B
1
1
1
1
F
Ví d:
110
1101
0011
1001.
0110
0101
B
= 6D39.65
H
6
D
3
9.
6
5
Lưu ý: Phần nguyên đợc nhóm tính t v trí ca ch s trng nh
nht, phn phân s đợc nhóm tính t v trí ca ch s có trng ln nht.
T cách chuyn đổi trên, d dàng nhn ra phép chuyển đổi ngợc t
mt s h Hexa sang s h nh phân bng cách thay mt ch s trong h Hexa
bng mt nhóm 4 ch s trong h nh phân.
Ví d: F5E7.8C
H
= 1111 0101 1110 0111.1000 1100
B
F
5
E
7.
8
C
H
= 1111 0101 1110 0111.1000
1100
B
1111
0101
1110
0111
1000
1100
I.3 Biu din thông tin trong các h Vi x
Các h Vi x x các thông tin s chữ. c thông tin đc biu
din dới dng mã nhất đnh. Bn cht vt ca vic biu din thông tin
đin áp (“0” ng vi không điện áp, 1” ng vi điện áp mc quy chun
trong mch đin t) và vic mã hc thông tin s ch đợc tuân theo
chun quc tế. Mt biến logic vi ch hai giá tr duy nhất “0” hoặc 1”
đợc gi là mt bit. Hai trng thái y ca bit đợc s dụng để mã hoá cho tt
c các t (gm s, ch các t đặc biệt khác). Các bit đợc ghép li
Giáo trình K thut vi x
Nguyn Trung Đồng - Vin Công ngh Thông tin Tel 098 341 0866
12
thành các đơn vị mang thông tin đầy đ cho các ký t biu din các s, các ký
t ch và các ký t đặc bit khác.
Bit (BInary digiT) là đơn v bn ca thông tin theo h đm nh
phân. Các mch đin t trong máy tính phát hin s khác nhau gia
hai trng thái (đin áp mức “1” đin áp mức 0”) biu din hai
trng thái đó dưi dng mt trong hai s nh phân “1” hoc “0”.
Nhóm 8 bit ghép k lin nhau, to thành đơn v d liu s
ca h Vi x lý được gọi là 1 Byte. Do được lưu gi tương đương
vi mt t (s, ch hoc t đc bit) nên Byte cũng đơn v
s để đo các kh năng lưu giữ, x lý ca h Vi x lý. Các thut
ng như KiloByte, MegaByte hay GigaByte thưng được dùng làm
bi s trong vic đm Byte, dƿ nhiên theo h đm nh phân, nghƿa là:
1KiloByte = 1024 Bytes,
1MegaByte = 1024 KiloBytes,
1GigaByte = 1024 MegaBytes.
Các đơn v này được vit tắt tương ứng là KB, MB và GB.
I.3.1 Mã hoá các thông tin không s
Có hai loi mã ph cp nhất đợc s dng mã ASCII và EBCDIC.
ASCII (American Standard Code for Information Interchange)
dùng 7 bits để mã hoá các ký t
ABCDIC (Extended Binary Coded Decimal Interchange Code)
dùng c 8 bits (1 Byte) để mã hoá thông tin
Loi mư đợc dùng trong ngành bu điện, trong các máy teletype
mã BAUDOT, ch s dụng 5 bits để mã hoá thông tin.
I.3.2 Mã hoá các thông tin s
Các s đợc mã hoá theo các loi mã sau:
Mã nh phân s dng các s đợc biu din theo h đếm nh phân nh
đư nêu  trên
nh thp phân (BCD Code Binary Coded Decimal Code) s
dng cách nhóm 4 bits nh pn để biu din mt giá tr thp phân t
0 đến 9. Các giá tr vt quá gii hn này ( > 9 ) không đợc s dng.
I.3.3 Biu din d liu s trong máy tính
Biu din d liu s nguyên du: Gi s dùng 2 bytes (16 bits)
để biu din mt s nguyên du, bit cao nht (MSB Most
Significant Bit) đợc dùng đ đánh dấu. S dơng bit du S = 0”,
s âmbit du S = “1”.
D
15
D
14
D
13
D
12
D
11
D
10
D
9
D
8
D
7
D
6
D
5
D
4
D
3
D
2
D
1
D
0
S
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
Giáo trình K thut vi x
Nguyn Trung Đồng - Vin Công ngh Thông tin Tel 098 341 0866
13
Biu din d liu s thc du: V nguyên tc, du ca s vn là
giá tr ca MSB nh đư quy ớc trên. Có hai dng s du phy
đợc s dng trong máy tính: S du phẩy tĩnh (fixed point) và s
du phy động (floatting point).
Du phy tĩnh s phân chia chui ch s thành phn nguyên
phn phân s. Ví d ta có th viết:
001 1101.0110 1101
Nhng nói chung, trong các máy chuyên dụng, thng phi tìm mt
phơng pháp thích hợp để th biu din s du phy c định mà du
phẩy đợc đặt ngay sau ô dấu, nghĩa là số du phẩy tĩnh có dng:
0.k
n
k
n-1
k
n-2
…k
1
k
0
Du phy động đợc dùng rt ph biến, dng chun tắc nh sau:
N =
F x 2
E
trong đó F phn đnh tr (Mantissa)
E là phần đặc tính (Exponent - s )
Theo nguyên tc này, mt s thc đợc biu din trong c máy 32 bit
nh sau:
31
30
23
22
0
S
E
F
S đợc biu din có giá tr thc tính theo biu thc:
N = (-1)
s
x 2
E-127
x F
Vi cách biu din này, có th thấy độ ln ca các s nh sau:
S dơng: +3.4 x 10
38
< N < +3.4 x 10
-38
S âm: - 3.4 x 10
38
< N < - 3.4 x 10
-38
Lưu ý: Khi kết qu phép tính vợt quá các gii hn trên, nếu s mũ
(exponent) dơng, s đợc coi -
hoc +
. Trong trng hp s
âm vợt qua s cực đi cho phép, kết qu đợc coi là bng 0.
Dng s chính xác gấp đôi (Double precision) đợc biu diễn nh sau
(64 bits):
63
62
52
51
0
Giáo trình K thut vi x
Nguyn Trung Đồng - Vin Công ngh Thông tin Tel 098 341 0866
14
S
E
F
Và giá tr thực đợc tính theo biu thc: N = (-1)
S
x 2
E-1023
x F.
Cũng cn lu ý rằng, đối vi các d liu s có dấu, để thun tin cho x
và tính toán, trong máy thng đợc biu diễn dới các dng mã thun, mã
ngợc (complement) hoc bù 2 (two-complement). Gi s ta s
A=+0.10010, các mư trên đều biu diễn nh nhau, nhng với s B = -0.10010
thì s đợc biu din nh sau:
Bình thng A = -0.10010
ngc A = 1.00110 (bù 1, tc là đo các ch s trong s đó)
bù 2 A = 1.00111 (tơng ng vi bù 1 cng thêm 1)
I.3.4 Bn cht vt lý ca thông tin trong các h Vi x
Trong c h Vi x lý, thông tin v các giá tr 0” hay 1” đợc biu
din thông qua mt mc điện áp so vi mc chun chung, thng là đất
(GND - Ground). Đ ln ca điện áp biu din các giá tr này ph thuc vào
công ngh đợc s dụng để to n phn t mang thông tin. Đối vi các
mch t hp TTL (Transistor-Transistor-Logic), c mc điện áp đợc mô t
trong hình I.1
Ta thng dùng ký hiu V
H
để ch mc cao, V
L
để ch mc thp. Trong
mch TTL, ta dùng mc cao, mc thấp để ch đin áp cao, điện áp thp so vi
đin áp chun chung. Các mc cao, thp không phi mt giá tr c định, mà
là mt vùng gii hn cho phép. Ngoài phm vi đư nêu, vùng không thuộc hai
mc trên là vùng không chc chn, không xác định.
V
H
gii hn trên
V
H
định mc
V
H
gii hn dới
Vùng không chc chn
V
L
gii hn trên(0,8V)
V
L
gii hn dới
ng vi giá tr “0”
5V
3V
2V
1V
0.2V
0V
Hình I.1 Phm vi mức cao “1”, thấp”0” của mch TTL
ng vi giá tr “1”
Giáo trình K thut vi x
Nguyn Trung Đồng - Vin Công ngh Thông tin Tel 098 341 0866
15
Vt mang thông tin v các giá tr 0” hoặc 1” một mch điện t đặc bit
mà đầu ra ca nó s tơng ng vi mt trong hai mc tn, đợc gi chung
Flip-Flop. Tu theo u cu s dng, các Flip-Flop các kh năng thu nhận
các tín hiệu vào và đa tín hiệu ra theo nhng quy lut nhất định (Hình I.2)
I.4 Vài nét v thc hin các phép tính trong h đếm nh phân
Phép cng và phép tr hai s nh phân 1 bit đợc thc hin theo quy tc
nêu trong bng sau:
A
B
Carry
(Nh)
0
+
0
=
0
0
0
+
1
=
1
0
1
+
0
=
1
0
1
+
1
=
0
1
A
B
Hiu
Borrow
(Mợn)
0
-
0
=
0
0
0
-
1
=
1
1
1
-
0
=
1
0
1
-
1
=
0
0
I.4.1 Phép cng và phép tr
a) Phép cộng đại s các s hng du phy c định
Đối vi phép cng đi s: Thc hin bình thng. Trong trng hp
mt toán hng mt s âm, ta s dụng ngợc hoc bù 2 ca nó, hiu
chnh kết qu theo các quy tc thông qua các ví d minh ho sau:
FLIP-FLOP
Inputs
Output
Hình I.2 Mt phn t mang thông tin
Giáo trình K thut vi x
Nguyn Trung Đồng - Vin Công ngh Thông tin Tel 098 341 0866
16
A =
0.10010
A =
0.10010
A =
0.10010
B =
-0.11001
(B)
ng
=
1.00110
(B)
b
=
1.00111
=
-0.00111
=
1.11000
=
1.11001
( )
ng
=
-0.00111
( )
b
=
-0.00111
Thy rng:
S biu th kết qu s là mã thun nếu là mt s dơng
S biu th kết qu mư ngợc nếu ta dùng mư ngợc đối vi s
hng âm và cho kết qu là mt s âm
S biu th kết qu mt s bù 2 nếu dùng bù 2 đối vi s
hng âm và kết qumt s âm.
b) Phép cộng đại s các s hng du phẩy động:
Đối vi phép cng đi s các s hng du phẩy động, cn tiến hành các
bớc sau:
Cân bng phn đặc tính (s mũ) bằng ch dch chuyn phn
định tr
Đặc tính ca tng bng đặc tính chung
Định tr ca tng bng tổng các định tr
Chun hoá kết qu nếu cn.
I.4.2 Phép nhân và phép chia
a) Pp nhân:
Đối vi phép nhân các toán hng du phy tĩnh, việc quan trng phi
xác định du ca kết qu, theo đó du ca kết qu bng tng modulo 2 ca các
bit du. Tr s ca tích là kết qu ca phép tĩnh tiến (dch phi) và phép cng.
Vi các toán hng du phẩy động, du ca tích đợc c định nh
phép nhân vi du phy tĩnh, sau đó tiến hành tìm tích s nh sau:
Cng phần đặc tính (s mũ), kết qu là đặc tính ca tích
Nhân phần đnh trị, không để ý đến du ca các toán hng
Chun hoá kết qu nếu cn.
b) Pp chia:
Giáo trình K thut vi x
Nguyn Trung Đồng - Vin Công ngh Thông tin Tel 098 341 0866
17
Đối vi phép chia các toán hng du phẩy tĩnh, việc quan trng phi
xác định du ca kết qu, theo đó du ca kết qu bng tng modulo 2 ca các
bit du. Tr s ca thơng số là kết qu ca phép dch trái và phép tr.
Vi c toán hng có du phẩy động, du ca thơng s đợc xác đnh
nh  phép chia vi du phy tĩnh, sau đó tiến hành tìm thơng số nh sau:
Tr phn đặc tính (s mũ), kết qu là đặc tính ca thơng số
Chia phần đnh trị, không để ý đến du ca các toán hng
Chun hoá kết qu nếu cn.
Nhn xét: D dàng nhn thy rng các phép tính s hc nêu trên chung quy li
vn ch yếu là thc hin phép cng và phép dch (shift).
I.5 Cu trúc ca h Vi xvà máy vi tính
I.5.1 Vài nét v lch s phát trin các trung tâm Vi x
S xut hin ca máy tính điện t (MTĐT) vào khong năm 1948 đư
m ra mt trang mi trong nghiên cu khoa hc nói chung khoa hc tính
toán nói riêng. Nhng phi mưi đến năm 1971, các hệ Vi x mi bắt đầu
xut hin. S ra đi ca Single chip 4-bit Microprocessor Int
e
l
4004
(P4004) vào năm đó thc s là mt cuc cách mng trong ngành ng
nghip máy tính . th nói P4004, với độ dài t x 4 bits, đư làm đi
thay toàn b cách nhìn nhn v các thiết b đầu cui ca MTĐT, hay các
cu chấp hành trong điều khin qtrình. P4004 th qun trc tiếp 4K
t lnh 8bit ca b nh chơng trình 5120 bits b nh d liu RAM. CPU
còn có 16 thanh ghi ch s đc s dng làm b nh tm cho d liu. Vi tp
lnh gm 46 lnh, P4004 đư chiếm đợc nhiều u thế trong các ng dng
thc tế lúc by gi. Tiếp tc ca dòng P 4bit này P4040, nhiu ci
tiến mnh m so vi P4004 mt lot các chip chc năng, chip nhớ ra đi.
Trong giai đon tiếp theo t năm 1974 đến 1977, Int
e
l
đư đi đầu trong
vic chế to các CPU 8bit, P8008, P8080 đặc bit là P8085, nhng
CPU BUS d liu 8 bits BUS đa ch 16 bits. c loi CPU này đư
kh năng qun dợc 64K t nh ca b nh 256 thiết b ngoi vi. Điều
đáng cý P8085 ng ngh dn nh chia s thi gian hp trên
BUS đư cho phép đa ra thêm những tín hiệu điều khin rt mnh, cho phép
xây dng những máy vi tính đu tiên.
Khong thi gian m 1978 đến m 1982 là giai đon ra đi phát
trin mnh m ca các trung m Vi x 16 bits. Đặc bit cuối giai đon
này s xut hin các trung m Vi x μP8088, P8086, vi kh năng xử
Giáo trình K thut vi x
Nguyn Trung Đồng - Vin Công ngh Thông tin Tel 098 341 0866
18
d liu 16 bits BUS đa ch 20 bits, đợc s dụng để to ra các máy vi
tính XT, có đĩa mềm để lu gi chơng trình ng dng và d liu.
Tiếp theo ca giai đon này s phát triển bưo ca các loi
P80186, P80286, 80386SX, 80486-SX 80486-DX, vi nhịp đồng h lên
đến 100MHz. Máy vi tính AT các máy tính PC ra đi trong giai đon này
giá thành còn rất cao, nhng đư tr thành rt thông dụng trong đi sng
con ngi.
T khong gia nhng năm 1993 tr li đây, các trung m vi xử
Pentium ra đi, tốc độ ngày ng cao, vi nhịp đồng h lên đến hàng GHz,
s xut hin ca các trung m x đa phân luồng nh các chip Pentium IV
hin nay.
I.5.2 Cấu trúc c bn ca h Vi x
Các khi chc năng cơ bn ca mt h Vi x lý (hình I.3) gm:
Đơn vị x lý trung tâm (CPU)
B nh ROM, RAM
Thiết b vào (nhp d liu - Input device)
Thiết b ra (đa d liu ra - Output device)
Ngi ra n phi k đến khi to xung nhp (Clock
Generator) khi ngun (Power Supply).
Các khi chc ng bn đc ni vi nhau qua mt tập đng y
truyn dn tín hiệu điện gi BUS h thng. BUS h thng bao gm 3 BUS
thành phn: BUS địa ch, BUS d liu BUS điều khin. Thiết b vào/ra
thng đợc ghép ni vi BUS h thng thông qua giao din ghép ni (I/O
Interface).
Đơn vị x trung tâm (Central Processing Unit CPU) khi chc
năng bn nhất để to nên mt h Vi x hay máy tính nhân (Personal
Computer PC). Máy vi tính mt trong nhng ng dng c th ca mt h
thng gi là H Vi x lý.
CPU
BUS H THNG
B NH CHÍNH
RAM ROM
GHÉP NI VÀO
GHÉP NI RA
THIT B VÀO
THIT B RA
Hình I.3 Sơ đồ khi cấu trúc cơ bản h Vi x
CLOCK
POWER
SUPPLY
Giáo trình K thut vi x
Nguyn Trung Đồng - Vin Công ngh Thông tin Tel 098 341 0866
19
a) CPU thc hin chc năng x d liu thông qua các hot động
chính sau:
Đọc mã lnh đọc tp các bit thông tin 0 1 t b nh
chính
Gii mã lnh to các xung điều khiển tơng ng vi mã lnh để
điu khin hot đng ca các khi chc ng khác
Thc hin tng bớc các thao tác x d liu theo u cu ca
lnh.
Bên trong CPU có các thanh ghi (Registers):
Thanh ghi con tr lnh IP (Instruction Pointer), trong các trung
m vi x trớc đây còn gọi thanh đếm chơng trình PC
(Program Counter) cha địa ch ca lnh kế tiếp cần đợc thc
hin trong tun t thc hin chơng trình
Các thanh ghi đa dng khác GPRs (General Purpose Registers)
để lu trữ tm thi d liu, kết qu trung gian hay trng thái ca
h thng cùng vi đơn vị s hc logic ALU (Arithmetic and
Logic Unit) thc hin các thao tác x lý d liu
Đơn vị điu khin CU (Control Unit) là thành phn phc tp
nht, chc năng gii mã lnh và to các tín hiu điu khin
hot động ca toàn h thng.
b) B nh chính đợc t chc t các t nh, trong IBM/PC t nh
độ dài 1 byte (8 bits). B nh này gm c chip nh ch đọc ROM
(Read Only Memory) và các chip nh truy xut ngu nhiên RAM
(Random Access Memory) tốc độ truy cp nhanh. B nh đợc
s dng để cha các chơng trình các d liu điu khin hot
động ca h thng. các chơng trình ng dng d liu th
đợc cha ROM hoc RAM, các kết qu trung gian hay kết qu
cui cùng ca các thao tác x th đc cha trong các thanh
ghi đa dng hoc trong khi nh RAM
c) Các mch ghép ni vào/ra các mch điện t cho phép CPU trao
đổi d liu vi các thiết b ngoi vi nhbàn phím, màn hình, máy
in…làm giao din vi ngi dùng hoc c b chuyn đổi s-tơng
t DAC (Digital/Analog Converter), chuyển đổi tơng tự-s ADC
(Analog/Digital Converter), các mch vào/ra s DO (Digital
Outputs), DI (Digital Inputs)…
Giáo trình K thut vi x
Nguyn Trung Đồng - Vin Công ngh Thông tin Tel 098 341 0866
20
d) H Vi x n có mt mch to xung nhp gọi đồng h h thng
(Clock Generator) điu khin và duy trì hot động đồng b ca tt
c các khi chc năng. B to xung này đợc điều khin bng mt
mch thch anh tn s thích hợp đm bo tn s làm vic n
định cho toàn b h thng.
e) Mt khi ngun nuôi (Power Supply) cung cấp năng lợng cho h
thng t mng điện lới.
B ngun ca các h Vi x tng thng là b ngun xung vi k
thut đóng-ngt dùng n dn ng sut (Switching Power Supply), va gn
nh, công sut ln li vừa đm bo độ gn sóng nh nht kh năng chống
nhiu cao. Hình I.4 là đồ khi ca b nguồn đóng-ngắt. Điện áp lới
(220VAC) đợc chỉnh lu trực tiếp, lc bng t hoá để cung cp cho mt b
dao động tn s cao (t 20KHz đến 40KHz). Các xung đin áp tn s cao
đợc chuyn sang biến áp xung công sut h áp. Điện áp li ra ca biến áp
xung đợc chỉnh lu lọc thành điện áp ngun mt chiu cung cp cho h
thng. Nguyên n áp đây thay đổi độ rng ca các xung tn s n
định, do vy s dao động ca điện áp đầu ra khi ti đợc chuyn qua b
cm biến để điu chỉnh độ rng này, đm bo s ổn đnh ca điện áp ra.
I.5.3 T h Vi x l đn máy vi tính PC
Trong thc tế, c h Vi x hin đi đc trang b thêm nhiu thiết
b ngoi vi tin dng tu theo u cu, mục đích sử dng và có giao din thân
thin với con ngi. Đó là các máy vi tính PC. Cũng th nhng h Vi x
chuyên dng cho nhng mục đích tính toán hay điều khin.
a) Máy tính x d liu: Là các máy tính đợc dùng đ tính toán,
x các d liu nh qun nhân viên trong quan, tính toán tin lơng,
Chnh lưu
sơ cấp
B lọc sơ
cp
Bin áp
xung
Chnh lưu
th cp
B lc th
cp
Mch cm bin -
chuyn mch
Tín hiu cm bin đin áp
220VAC
Hình I.4 Sơ đồ khi b ngun nuôi máy tính
Đin áp
mt chiu
sơ cấp
Đin áp mt chiu
th cp:
5V, 12V
Power
Switching
Transistor
Giáo trình K thut vi x
Nguyn Trung Đồng - Vin Công ngh Thông tin Tel 098 341 0866
21
tính tn kết cu ng trình, phân tích d liu trong kinh doanh, v.v… Quan
đim đúng cho rằng máy tính ch gm CPU và b nh chính, n các thiết b
ph tr khác nh n phím, máy in, các đĩa cng, đĩa mm, CD, chut,
màn hình, máy in…, là những thiết b ngoi vi. Các chơng trình đ x d
liệu đợc lu giữ trong b nh chính hoc trong các đĩa, nhiệm v x
nhng d liệu đợc ngi dùng nhập vào, đa kết qu x ra màn hình,
in ra giy hoặc lu giữ trong các đĩa. Để đánh giá tính ng chất lợng
ca các máy này, ta thng n c vào tc đ x d liu, dung lợng b
nh, đĩa, chất lợng màn hình, máy in v.v…
b) Máy tính b x s: Đối vi các máy tính này, thi gian
dành cho x lý d liu rt nh, còn thi gian để tính toán, x các s liu li
cùng ln. Các máy tính loi này đợc s dng ch yếu trong các quan
d o, nh d báo ktợng, thu văn, trong tính toán qu đo bay ca n
la, máy bay, u thuỷ, v.v… hay trong các phòng nghiên cu khoa hc.
Nhng máy tính loi này thông thng thc hin những chơng trình tính
toán khng lồ, n chúng đc trang b c CPU rt mnh và các thiết b
ngoi vi, b nh ngoài rt ln. Đó là những siêu máy tính (Supercomputer).
c) Máy tính đo ờng và điu khin: S phát trin nhanh chóng
ca các h thng máy tính đư to ra nhng ng dng ln lao trong các h
thng đo lng điều khin t động. Đi vi các ng dụng thông thng
nh trong các dng c gia dng, t Tivi, điều hoà nhiệt độ, máy giặt v.v… Đó
là nhng máy tính nh đợc chế to dới dng mt vi mch (Single-Chip
Microcomputer). Tuy nhiên, cũng cn phi tính đến nhng máy tính này trong
các thiết b hin đi phc tp nh trong các hệ thng t động i máy bay
(Autopilot), tàu thu, n la…
CPU
VÀ B NH CHÍNH
(ROM, RAM)
BÀN PHÍM
MÀN HÌNH
(MONITOR)
MÁY IN (PRINTER)
CÁC ĐƾA
(FDD, HDD,
CDROM…)
CHUT
Hình I.4 Máy Vi tính PC
| 1/153

Preview text:

Giáo trình Kỹ thuật vi xử lý Giáo trình K THU T VI X LÝ - NGUY N TRUNG Đ NG 2
Nguyễn Trung Đồng - Viện Công nghệ Thông tin – Tel 098 341 0866
Giáo trình Kỹ thuật vi xử lý L I NÓI Đ U
Công nghệ thông tin đang được ứng dụng rộng rãi trong nhiều lĩnh vực khoa
học công nghệ và cuộc sống thường nhật. Bên cạnh khối lượng phần mềm hệ thống
và ứng dụng đồ sộ, công nghệ phần cứng cũng phát triển vô cùng nhanh chóng. Có
thể nói các hệ thống máy tính được cải thiện trong những khoảng thời gian rất
ngắn, càng ngày càng nhanh hơn, mạnh hơn và hiện đại hơn.

Những kiến thức cơ bản về về phần cứng của các hệ thống máy tính luôn luôn
là đòi hỏi cấp thiết của những người chọn công nghệ thông tin làm định hướng cho
nghề nghiệp và sự nghiệp khoa học trong tương lai.

Giáo trình Kỹ thuật Vi xử lý này được viết trên cơ sở những bài giảng theo sát
đề cương môn học đã được thực hiện tại Khoa Công nghệ thông tin trực thuộc
Trường đại học Thái Nguyên từ khi thành lập đến nay, và luôn luôn được sửa chữa,
bổ sung để đáp ứng nhu cầu kiến thức của sinh viên học tập tại Khoa.

Giáo trình được chia thành 5 chương:
Chương I giới thiệu những kiến thức tổng quan được sử dụng trong kỹ thuật Vi
xử lý các hệ đếm, cách thức biểu diễn thông tin trong các hệ Vi xử lý và máy tính,
cũng như nhìn nhận qua về lịch sử phát triển của các trung tâm Vi xử lý.

Chương II giới thiệu cấu trúc và hoạt động của các đơn vị xử lý trung tâm từ
μP8085 đến các cấu trúc của Vi xử lý họ 80x86, các cấu trúc RISC và CISC. Do
những ứng dụng thực tế rộng lớn trong đời sống, trong chương II có giới thiệu thêm
cấu trúc và chức năng của chip Vi xử lý chuyên dụng μC8051.

Chương III cung cấp những kiến thức về tổ chức bộ nhớ cho một hệ Vi xử lý,
kỹ thuật và các bước xây dựng vỉ nhớ ROM, RAM cho hệ Vi xử lý.
Chương IV đi sâu khảo sát một số mạch chức năng khả lập trình như mạch
điều khiển vào/ra dữ liệu song song, mạch điều khiển vào/ra dữ liệu nối tiếp, mạch
định thời và mạch điều khiển ngắt.
Chương V giới thiệu các cấu trúc và cách xây dựng, phối ghép một số thiết bị
vào/ra cơ bản cho một hệ Vi xử lý như bàn phím Hexa, hệ thống chỉ thị 7 thanh, bàn
phím máy tính và màn hình.

Cuốn giáo trình chắc chắn có nhiều thiếu sót, rất mong đựoc sự góp ý của các
độc giả. Mọi ý kiến đóng góp xin gửi theo địa chỉ:
Bộ môn Kỹ thuật máy tính Khoa Công nghệ Thông tin Đại học Thái Nguyên Thái Nguyên
Hoặc theo địa chỉ Email dongnt@hn.vnn.vn Nhóm biên soạn 3
Nguyễn Trung Đồng - Viện Công nghệ Thông tin – Tel 098 341 0866
Giáo trình Kỹ thuật vi xử lý M C L C CH
NG I. T NG QUAN V CÁC H VI X LÝ................................... 7
I.1 Các h đếm ..................................................................................................... 7 I.1.1
Hệ đếm thập phân (R = 10 - Decimal) ..................................................... 7 I.1.2
Hệ đếm nhị phân (R = 2 - Binary) ........................................................... 8 I.1.3
Hệ đếm bát phân (R = 8 - Octal) ............................................................. 8 I.1.4
Hệ đếm 16 (R = 16 - Hexa) ..................................................................... 8
I.2 Chuy n đổi l n nhau giữa các h đếm .......................................................... 9 I.2.1
Hệ nhị phân và hệ thập phân ................................................................... 9 I.2.2
Hệ nhị phân và hệ Hexa ........................................................................ 11
I.3 Bi u di n thông tin trong các h Vi x lý.................................................... 11 I.3.1
Mã hoá các thông tin không số .............................................................. 12 I.3.2
Mã hoá các thông tin số ........................................................................ 12 I.3.3
Biểu diễn dữ liệu số trong máy tính ....................................................... 12 I.3.4
B n chất vật lý c a thông tin trong các hệ Vi xử lý ............................... 14
I.4 Vài nét về thực hi n các phép tính trong h đếm nhị phân........................ 15 I.4.1
Phép cộng và phép trừ ........................................................................... 15 I.4.2
Phép nhân và phép chia ......................................................................... 16
I.5 C u trúc c a h Vi x lý và máy vi tính ..................................................... 17 I.5.1
Vài nét về lịch sử phát triển các trung tâm Vi xử lý ............................... 17 I.5.2
Cấu trúc cơ b n c a hệ Vi xử lý ............................................................ 18 CH
NG II. CÁC Đ N V VI X LÝ TRUNG TÂM
(CPU ậ CENTRAL PROCESSING UNIT) ......................... 23 II.1
Trung tâm Vi x lý P8085 ..................................................................... 23
II.1.1 Các nhóm tín hiệu trong P8085 ............................................................ 25
II.1.2 Khái niệm và b n chất vật lý c a các BUS trong hệ Vi xử lý ................. 27
II.1.3 Các m ch 3 tr ng thái, m ch chốt và m ch khuyếch đ i BUS 2 chiều .... 28
II.1.4 Biểu đồ Timing thực hiện lệnh c a CPU μP8085 ................................... 31
II.1.5 Khái niệm chu kỳ BUS .......................................................................... 33
II.1.6 Ngắt (Interrupt) ...................................................................................... 34
II.1.7 Truy nhập trực tiếp bộ nhớ (Direct Memory Access – DMA)................. 36
II.1.8 Vi ch ơng trình (MicroProgram) và tập lệnh c a P8085 ...................... 37
II.1.9 Vài nét về lập trình cho 8085 ................................................................. 42
II.1.10 Hệ lệnh c a µP8085 .............................................................................. 43 4
Nguyễn Trung Đồng - Viện Công nghệ Thông tin – Tel 098 341 0866
Giáo trình Kỹ thuật vi xử lý II.2
Các trung tâm Vi x lý họ 80x86............................................................. 45
II.1.1 Mô t chân c a µP8086 và các tín hiệu .................................................. 45
II.1.2 Cấu trúc Trung tâm Vi xử lý họ 80x86 ................................................... 48
II.1.3 Hệ thống thanh ghi trong các P80x86 .................................................. 49
II.1.4 Các chế độ làm việc MIN/MAX............................................................. 54
II.1.5 Ph ơng th c qu n lý bộ nhớ, các mode địa chỉ ...................................... 54
II.1.6 Ph ơng th c đánh địa chỉ thiết bị ngo i vi ............................................. 59
II.1.7 Các m ch Multiplexer, m ch Decoder, m ch PLA ................................. 59
II.1.8 Vài nét về lập trình hợp ngữ ................................................................... 61 II.3
C u trúc và tính năng c a một s chip Vi x lý hi n đ i. ...................... 62
II.3.1 Cấu trúc chip Vi xử lý Pentium .............................................................. 64
II.3.2 Cấu trúc RISC, CISC ............................................................................. 68
II.3.3 Qu n lý bộ nhớ ...................................................................................... 70
II.3.4 Bộ nhớ cache ......................................................................................... 71 II.4
Single-Chip MicroComputer µC8051 ..................................................... 72
II.4.1 Tổng quan .............................................................................................. 72
II.4.2 Mô t cấu trúc và ch c năng .................................................................. 74
II.4.3 Lập trình cho µC8051 ............................................................................ 83
II.4.4 Các kh năng ng dụng c a µC8051 ...................................................... 83 CH
NG III. B NH TRONG C A H VI X LÝ ................................ 85
III.1 Bộ nh trong h Vi x lý.......................................................................... 85
III.1.1 Phần tử nhớ, vi m ch nhớ, từ nhớ và dung l ợng bộ nhớ ....................... 85
III.1.2 Vài nét về bộ nhớ trong c a hệ Vi xử lý và máy tính PC ........................ 86
III.1.3 Phân lo i các chip nhớ ROM, RAM ....................................................... 90
III.3 Tổ chức bộ nh cho h Vi x lý ............................................................... 91
III.3.1 Tổ ch c bộ nhớ vật lý ............................................................................ 91
III.3.2 Thiết kế vỉ nhớ cho hệ Vi xử lý .............................................................. 92 CH
NG IV. CÁC CHIP KH L P TRÌNH
(PROGRAMMABLE) ............................................................ 95
IV.1 Tổng quan ................................................................................................ 95
IV.2 Một s m ch chức năng tiêu bi u ............................................................ 95
IV.2.1 M ch vào/ra dữ liệu song song PPI-8255
(Programmable Peripheral Interface). ............................................ 95
IV.2.2 M ch điều khiển ngắt PIC-8259 ........................................................... 100
IV.3.3 M ch đếm định th i đa năng PIT-8253
(Programmable Interval Timer) ............................................................. 109 5
Nguyễn Trung Đồng - Viện Công nghệ Thông tin – Tel 098 341 0866
Giáo trình Kỹ thuật vi xử lý
IV.4.4 M ch điều khiển vào/ra nối tiếp đồng bộ/dị bộ USART-8251
(Universal Synchronous/Asynchronous Receiver Transmitter) ............. 115 CH
NG V. THI T B VÀO RA C A H VI X LÝ ............................ 127 V.1
Bàn phím Hex Keyboard ....................................................................... 127 V.2
Ghép n i bàn phím v i h Vi x lý ....................................................... 131
V.2.1 Hệ thống bàn phím c a máy vi tính ...................................................... 131
V.2.2 Quá trình truyền dữ liệu từ bàn phím cho CPU .................................... 132 V.3
M ch điều khi n và l p trình chỉ thị 7-segments .................................. 133 V.4
Màn hình (Monitor) ............................................................................... 135
V.4.1 Màn hình ống tia âm cực CRT (Cathode Ray Tube) ............................. 135
V.4.2 Ghép nối màn hình với hệ Vi xử lý ...................................................... 136
V.4.3 Bộ điều khiển màn hình CRTC ............................................................ 137 PH L C
PHỤ LỤC A ....................................................................................................... 140
B ng tóm tắt h l nh c a Trung tâm Vi x lý họ x86 ...................................... 140
PHỤ LỤC B ....................................................................................................... 143
B ng lu th a 2n ................................................................................................ 143
PHỤ LỤC C ....................................................................................................... 144
B ng mã ASCII.................................................................................................. 144
PHỤ LỤC D ....................................................................................................... 145
CÁC NHÓM L NH C A µC8051 ................................................................... 145
1. T o vòng lặp và l nh nh y: ....................................................................... 145
2. L nh gọi Call .............................................................................................. 146
a. Nhóm l nh x lý s học: ............................................................................ 147
b. Nhóm l nh lu n lý: .................................................................................... 148
c. Nhóm l nh chuy n dữ li u: ........................................................................ 150
d. Nhóm l nh chuyền điều khi n:.................................................................. 151
TÀI LI U THAM KH O ................................................................................. 153 6
Nguyễn Trung Đồng - Viện Công nghệ Thông tin – Tel 098 341 0866
Giáo trình Kỹ thuật vi xử lý CH
NG I. T NG QUAN V CÁC H VI X LÝ I.1
Các hệ đếm
Hệ đếm thông dụng nhất trong đ i sống là hệ đếm cơ số 10 (thập phân –
Decimal), sử dụng 10 ký tự số từ 0 đến 9. Ngoài ra, trong s n xuất, kinh
doanh còn có khi sử dụng hệ đếm cơ số 12 (tá – dozen).
Trong các hệ thống máy tính, để xử lý, tính toán, ta sử dụng hệ đếm cơ
số 2 (nhị phân – Binary), hệ cơ số 8 (bát phân – Octal), hệ cơ số 16 (Hexa).
Tuy nhiên, việc nhập dữ liệu hay đ a kết qu xử lý, ta l i dùng hệ đếm cơ số 10.
Một số N trong một hệ đếm bất kỳ có n+l chữ số , trong đó gồm n chữ số
thuộc phần nguyên và l chữ số thuộc phần thập phân, đ ợc triển khai theo công th c tổng quát: n k N a Rk trong đó: k l
R là cơ số c a hệ đếm
ak là trọng c a chữ số vị trí th k (0  ak < R)
{ ak }R = {0, 1, 2, 3, …, R – 1} l, n là số nguyên N = a …a …a nan-1 1a0,a-1a-2 -l
Theo công th c trên, các số đ ợc biểu diễn trong các hệ đếm khác nhau sẽ nh sau: I.1.1
H đ m th p phân (R = 10 - Decimal)
{ ak }D = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}
123,45D = 1 x 102 + 2 x 101 + 3 x 100 + 4 x 10-1 + 5 x 10-2 7
Nguyễn Trung Đồng - Viện Công nghệ Thông tin – Tel 098 341 0866
Giáo trình Kỹ thuật vi xử lý I.1.2
H đ m nh phân (R = 2 - Binary) { ak }B = {0, 1}
11011.01B = 1 x 24 + 1 x 23 + 0 x 22 + 0 x 21 + 1 x 20 + 0 x 2-1 + 1 x 2-2 =
= 16 + 8 + 0 + 2 + 1 + 0 + 0,25 = 27,25 D I.1.3
H đ m bát phân (R = 8 - Octal)
{ ak }O = {0, 1, 2, 3, 4, 5, 6, 7} 653,12 O
= 6 x 82 + 5 x 81 + 3 x 80 + 1 x 8-1 + 2 x 8-2 =
= 384 + 40 + 3 + 0,125 + 0,03125 = 427,1562D
Lưu ý: Các chữ số trong hệ này có thể biểu diễn nh 3 ký tự số (“0” và
“1”) trong hệ đếm nhị phân theo b ng sau:
Octal Binary Octal Binary Octal Binary Octal Binary 0O 000B 2O 010B 4O 100B 6O 110B 1O 001B 3O 011B 5O 101B 7O 111B I.1.4
H đ m 16 (R = 16 - Hexa)
{ ak }H = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F} 3A7,C H
= 3 x 162 + 10 x 161 + 7 x 160 + 12 x 16-1 =
= 768 + 160 + 7 + 0,75 = 935,75D
Lưu ý: Một giá trị ký tự số Hexa có thể biểu diễn thông qua 4 ký tự số
hệ nhị phân theo b ng sau:
Hexa Binary Hexa Binary Hexa Binary Hexa Binary 0H 0000B 4H 0100B 8H 1000B CH 1100B 1H 0001B 5H 0101B 9H 1001B DH 1101B 2H 0010B 6H 0110B AH 1010B EH 1110B 3H 0011B 7H 0111B BH 1011B FH 1111B Nhận xét: 8
Nguyễn Trung Đồng - Viện Công nghệ Thông tin – Tel 098 341 0866
Giáo trình Kỹ thuật vi xử lý
1. Trong các hệ đếm vừa đ ợc nêu, hệ đếm cơ số 2 có rất nhiều u
điểm khi xử lý trong máy tính. Th nhất, việc mô phỏng giá trị c a
một ký tự số là rất đơn gi n: chỉ cần một phần tử có hai tr ng thái
khác biệt. Sử dụng b n chất vật lý c a vật mang thông tin để biểu
diễn hai tr ng thái này rất dễ thực hiện. Trên dây dẫn điện là các
tr ng hợp có dòng điện (t ơng ng với trọng số là 1) hoặc không
có dòng điện (t ơng ng với trọng số là 0).
2. Việc chuyển đổi giữa hai giá trị 0 hoặc 1 có thể thực hiện thông
qua một công tắc, trong thực tế là các phần tử logic điện tử thực
hiện các ch c năng c a khoá điện tử: đóng (dòng điện đi qua
đ ợc) hoặc m (dòng điện không đi qua). I.2
Chuyển đổi lẫn nhau giữa các hệ đếm I.2.1
H nh phân và h th p phân
a) Từ nhị phân sang thập phân: Sử dụng biểu th c triển khai tổng
quát đư nêu, cộng tất c các số h ng theo giá trị số thập phân, tổng
số là d ng thập phân c a số nhị phân đư cho.
Ví dụ: 11011.11B= 1 x 24 + 1 x 23 + 0 x 22 + 1 x 21 + 1 x 20 + 1 x 2-1 + 1 x 2-2
= 16 + 8 + 0 + 2 + 1 + 0.5 + 0.25 = 27.75D
b) Từ thập phân sang nhị phân:
Phần nguyên: Ta có đẳng th c sau (vế trái là số thập phân, vế ph i là biểu
diễn nhị phân c a số đó): SD
= kn2n + kn-12n-1 + kn-22n-2 + … k121 + k020 + =
= 2(kn2n-1 + kn-12n-2 + kn-22n-3 + … + k1) + k0
Vì ki = {0, 1}, đồng phân với số 0, 1 trong số thập phân, nên ta có thể viết: S –
D k0 = kn2n-1 + kn-12n-2 + kn-22n-3 + … + k1 = 2(kn2n-2 + kn-12n-3 + … + k2) + k1 2
Thấy rằng: Ký tự đầu tiên c a số nhị phân là k , đúng vớ 0 i số d khi chia
SD cho 2, ký tự tiếp theo, k1 chính là số d khi chia th ơng cho 2, v. v… nên
ta có thể tìm tất c các ký tự khác nh sau: 9
Nguyễn Trung Đồng - Viện Công nghệ Thông tin – Tel 098 341 0866
Giáo trình Kỹ thuật vi xử lý
Ví dụ: Đổi số 173D ra số nhị phân 173 2 d 1 k0 Vậy 173D = 10101101B 86 2 d 0 k1 43 2 d 1 k2 21 2 d 1 k3 10 2 d 0 k4 5 2 d 1 k5 2 2 d 0 k6 1 2 d 1 k7 0
Phần phân số : Đẳng th c quan hệ giữa số thập phân và số nhị phân (phần
phân số) (vế trái là số thập phân, vế ph i là số nhị phân) nh sau: SD
= k-12-1 + k-22-2 + k-32-3 + … k-m+12-m+1 + k-m2-m
2SD = k-1+ (k-22-1 + k-32-2 + … k-m+12-m+2 + k-m2-m+1)
Thấy rằng k-1 tr thành phần nguyên c a vế ph i, vậy:
2SD – k-1 = (k-22-1 + k-32-2 + … k-m+12-m+2 + k-m2-m+1)
2(2SD – k-1) = k-2 + (k-32-1 + … k-m+12-m+3 + k-m2-m+2)
k-2 là phần nguyên tiếp theo c a vế ph i có thể bằng “0” hoặc bằng “1”.
Tiếp tục t ơng tự, thu đ ợc các ký tự số c a các phần tử còn l i.
Ví dụ: Chuyển đổi số 0.8128 thành số nhị phân
Thực hiện phép nhân liên tiếp với 2, phần nguyên c a tích bao gi cũng
là các giá trị hoặc bằng “0” hoặc bằng “1”, thu đ ợc kết qu sau: 0.8128 x 2 = 1.6256 = 1 + 0.6256 0.6256 x 2 = 1.2512 = 1 + 0.2512 0.2512 x 2 = 0.5024 = 0 + 0.5024 0.5024 x 2 = 1.0048 = 1 + 0.0048 0.0048 x 2 Quá nhỏ có thể bỏ qua
Lưu ý: Quá trình biến đổi này kết thúc khi phần phân số c a tích số
bằng 0, tuy nhiên, nếu quá kéo dài, tuỳ theo yêu cầu c a độ chính xác dữ liệu
khi tính toán và xử lý, có thể bỏ qua. 10
Nguyễn Trung Đồng - Viện Công nghệ Thông tin – Tel 098 341 0866
Giáo trình Kỹ thuật vi xử lý I.2.2
H nh phân và h Hexa
Chuyển đổi một dữ liệu nhị phân sang hệ Hexa rất đơn gi n, nếu chú ý
rằng ta có 24 = 16, có nghĩa là một số Hexa t ơng ng với một nhóm 4 số c a
số nhị phân (từ 0 đến F). Vì vậy, khi chuyển đổi, chỉ cần thay nhóm 4 chữ số
c a số nhị phân bằng một chữ số t ơng ng c a hệ Hexa nh sau: Tổ hợp Ký tự Tổ hợp Ký tự Tổ hợp Ký tự Tổ hợp Ký tự nhị phân số nhị số nhị số nhị số Hexa phân Hexa phân Hexa phân Hexa
0 0 0 0 0 0 1 0 0 4 1 0 0 0 8 1 1 0 0 C
0 0 0 1 1 0 1 0 1 5 1 0 0 1 9 1 1 0 1 D
0 0 1 0 2 0 1 1 0 6 1 0 1 0 A 1 1 1 0 E
0 0 1 1 3 0 1 1 1 7 1 0 1 1 B 1 1 1 1 F Ví dụ:
110 1101 0011 1001. 0110 0101B = 6D39.65H 6 D 3 9. 6 5
Lưu ý: Phần nguyên đ ợc nhóm tính từ vị trí c a chữ số có trọng nhỏ
nhất, phần phân số đ ợc nhóm tính từ vị trí c a chữ số có trọng lớn nhất.
Từ cách chuyển đổi trên, dễ dàng nhận ra phép chuyển đổi ng ợc từ
một số hệ Hexa sang số hệ nhị phân bằng cách thay một chữ số trong hệ Hexa
bằng một nhóm 4 chữ số trong hệ nhị phân.
Ví dụ: F5E7.8CH = 1111 0101 1110 0111.1000 1100B F 5 E 7. 8 CH = 1111 0101 1110 0111.1000 1100B 1111 0101 1110 0111 1000 1100 I.3
Biểu diễn thông tin trong các hệ Vi xử lý
Các hệ Vi xử lý xử lý các thông tin số và chữ. Các thông tin đ ợc biểu
diễn d ới d ng mã nhất định. B n chất vật lý c a việc biểu diễn thông tin là
điện áp (“0” ng với không có điện áp, “1” ng với điện áp m c quy chuẩn
trong m ch điện tử) và việc mã hoá các thông tin số và chữ đ ợc tuân theo
chuẩn quốc tế. Một biến logic với chỉ hai giá trị duy nhất là “0” hoặc “1”
đ ợc gọi là một bit. Hai tr ng thái này c a bit đ ợc sử dụng để mã hoá cho tất
c các ký tự (gồm số, chữ và các ký tự đặc biệt khác). Các bit đ ợc ghép l i 11
Nguyễn Trung Đồng - Viện Công nghệ Thông tin – Tel 098 341 0866
Giáo trình Kỹ thuật vi xử lý
thành các đơn vị mang thông tin đầy đ cho các ký tự biểu diễn các số, các ký
tự chữ và các ký tự đặc biệt khác.
Bit (BInary digiT) là đơn v cơ b n của thông tin theo h đ m nh
phân. Các m ch đi n tử trong máy tính phát hi n sự khác nhau giữa
hai tr ng thái (đi n áp mức “1” và đi n áp mức “0”) và biểu di n hai
tr ng thái đó dư i d ng m t trong hai s nh phân “1” ho c “0”.
Nhóm 8 bit ghép kề liền nhau, t o thành đơn v dữ li u cơ s
của h Vi xử lý được gọi là 1 Byte. Do được lưu giữ tương đương
v i m t ký tự (s , chữ ho c ký tự đ c bi t) nên Byte cũng là đơn v
cơ s để đo các kh năng lưu giữ, xử lý của h Vi xử lý. Các thuật
ngữ như KiloByte, MegaByte hay GigaByte thư ng được dùng làm
b i s trong vi c đ m Byte, dƿ nhiên theo h đ m nh phân, nghƿa là: 1KiloByte = 1024 Bytes, 1MegaByte = 1024 KiloBytes, 1GigaByte = 1024 MegaBytes.
Các đơn v này được vi t tắt tương ứng là KB, MB và GB. I.3.1
Mã hoá các thông tin không số
Có hai lo i mã phổ cập nhất đ ợc sử dụng là mã ASCII và EBCDIC.
 Mã ASCII (American Standard Code for Information Interchange)
dùng 7 bits để mã hoá các ký tự
 Mã ABCDIC (Extended Binary Coded Decimal Interchange Code)
dùng c 8 bits (1 Byte) để mã hoá thông tin
 Lo i mư đ ợc dùng trong ngành b u điện, trong các máy teletype là
mã BAUDOT, chỉ sử dụng 5 bits để mã hoá thông tin. I.3.2
Mã hoá các thông tin số
Các số đ ợc mã hoá theo các lo i mã sau:
 Mã nhị phân sử dụng các số đ ợc biểu diễn theo hệ đếm nhị phân nh đư nêu trên
 Mã nhị thập phân (BCD Code – Binary Coded Decimal Code) sử
dụng cách nhóm 4 bits nhị phân để biểu diễn một giá trị thập phân từ
0 đến 9. Các giá trị v ợt quá giới h n này ( > 9 ) không đ ợc sử dụng. I.3.3
Biểu di n dữ li u số trong máy tính
 Biểu diễn dữ liệu là số nguyên có dấu: Gi sử dùng 2 bytes (16 bits)
để biểu diễn một số nguyên có dấu, bit cao nhất (MSB – Most
Significant Bit) đ ợc dùng để đánh dấu. Số d ơng có bit dấu S = “0”,
số âm có bit dấu S = “1”.
D15 D14 D13 D12 D11 D10 D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 S x x x x x x x x x x x x x x x 12
Nguyễn Trung Đồng - Viện Công nghệ Thông tin – Tel 098 341 0866
Giáo trình Kỹ thuật vi xử lý
 Biểu diễn dữ liệu là số thực có dấu: Về nguyên tắc, dấu c a số vẫn là
giá trị c a MSB nh đư quy ớc trên. Có hai d ng số có dấu phẩy
đ ợc sử dụng trong máy tính: Số dấu phẩy tĩnh (fixed point) và số
dấu phẩy động (floatting point).
 Dấu phẩy tĩnh sẽ phân chia chuỗi chữ số thành phần nguyên và
phần phân số. Ví dụ ta có thể viết: 001 1101.0110 1101
Nh ng nói chung, trong các máy chuyên dụng, th ng ph i tìm một
ph ơng pháp thích hợp để có thể biểu diễn số có dấu phẩy cố định mà dấu
phẩy đ ợc đặt ngay sau ô dấu, nghĩa là số dấu phẩy tĩnh có d ng: 0.k …k nkn-1kn-2 1k0
 Dấu phẩy động đ ợc dùng rất phổ biến, d ng chuẩn tắc nh sau:  N = F x 2 E
trong đó F là phần định trị (Mantissa)
E là phần đặc tính (Exponent - số mũ)
Theo nguyên tắc này, một số thực đ ợc biểu diễn trong các máy 32 bit nh sau: 31 30 23 22 0 S E F
Số đ ợc biểu diễn có giá trị thực tính theo biểu th c: N = (-1)s x 2E-127 x F
Với cách biểu diễn này, có thể thấy độ lớn c a các số nh sau:
Số d ơng: +3.4 x 1038 < N < +3.4 x 10-38 Số âm:
- 3.4 x 1038 < N < - 3.4 x 10-38
Lưu ý: Khi kết qu phép tính v ợt quá các giới h n trên, nếu số mũ
(exponent) là d ơng, sẽ đ ợc coi là - hoặc + . Trong tr ng hợp số mũ là
âm và v ợt qua số mũ cực đ i cho phép, kết qu đ ợc coi là bằng 0.
D ng số chính xác gấp đôi (Double precision) đ ợc biểu diễn nh sau (64 bits): 63 62 52 51 0 13
Nguyễn Trung Đồng - Viện Công nghệ Thông tin – Tel 098 341 0866
Giáo trình Kỹ thuật vi xử lý S E F
Và giá trị thực đ ợc tính theo biểu th c: N = (-1)S x 2E-1023 x F.
Cũng cần l u ý rằng, đối với các dữ liệu số có dấu, để thuận tiện cho xử
lý và tính toán, trong máy th ng đ ợc biểu diễn d ới các d ng mã thuận, mã
ng ợc (complement) hoặc mã bù 2 (two-complement). Gi sử ta có số
A=+0.10010, các mư trên đều biểu diễn nh nhau, nh ng với số B = -0.10010
thì sẽ đ ợc biểu diễn nh sau: Bình th ng A = -0.10010
Mư ng ợc A = 1.00110 (bù 1, t c là đ o các chữ số trong số đó) Mã bù 2
A = 1.00111 (t ơng ng với bù 1 cộng thêm 1) I.3.4
B n chất v t lý c a thông tin trong các h Vi x lý
Trong các hệ Vi xử lý, thông tin về các giá trị “0” hay “1” đ ợc biểu
diễn thông qua một m c điện áp so với m c chuẩn chung, th ng là đất
(GND - Ground). Độ lớn c a điện áp biểu diễn các giá trị này phụ thuộc vào
công nghệ đ ợc sử dụng để t o nên phần tử mang thông tin. Đối với các
m ch tổ hợp TTL (Transistor-Transistor-Logic), các m c điện áp đ ợc mô t trong hình I.1 V 5V H giới h n trên ng với giá trị “1” V 3V đị H nh m c V 2V H giới h n d ới Vùng không ch 1V ắc chắn V 0.2V L giới h n trên(0,8V) ng với giá trị “0” V 0V L giới h n d ới Hình I.1
Phạm vi mức cao “1”, thấp”0” của mạch TTL
Ta th ng dùng ký hiệu VH để chỉ m c cao, VL để chỉ m c thấp. Trong
m ch TTL, ta dùng m c cao, m c thấp để chỉ điện áp cao, điện áp thấp so với
điện áp chuẩn chung. Các m c cao, thấp không ph i là một giá trị cố định, mà
là một vùng giới h n cho phép. Ngoài ph m vi đư nêu, vùng không thuộc hai
m c trên là vùng không chắc chắn, không xác định. 14
Nguyễn Trung Đồng - Viện Công nghệ Thông tin – Tel 098 341 0866
Giáo trình Kỹ thuật vi xử lý Output FLIP-FLOP Inputs Hình I.2
Một phần tử mang thông tin
Vật mang thông tin về các giá trị “0” hoặc “1” là một m ch điện tử đặc biệt
mà đầu ra c a nó sẽ t ơng ng với một trong hai m c trên, đ ợc gọi chung là
Flip-Flop. Tuỳ theo yêu cầu sử dụng, các Flip-Flop có các kh năng thu nhận
các tín hiệu vào và đ a tín hiệu ra theo những quy luật nhất định (Hình I.2) I.4
Vài nét về thực hiện các phép tính trong hệ đếm nhị phân
Phép cộng và phép trừ hai số nhị phân 1 bit đ ợc thực hiện theo quy tắc nêu trong b ng sau: Carry A B (Nhớ) 0 + 0 = 0 0 0 + 1 = 1 0 1 + 0 = 1 0 1 + 1 = 0 1 Borrow A B Hiệu (M ợn) 0 - 0 = 0 0 0 - 1 = 1 1 1 - 0 = 1 0 1 - 1 = 0 0 I.4.1
Phép c ng và phép tr
a) Phép cộng đại số các số hạng dấu phẩy cố định
Đối với phép cộng đ i số: Thực hiện bình th ng. Trong tr ng hợp có
một toán h ng là một số âm, ta sử dụng mư ng ợc hoặc mã bù 2 c a nó, hiệu
chỉnh kết qu theo các quy tắc thông qua các ví dụ minh ho sau: 15
Nguyễn Trung Đồng - Viện Công nghệ Thông tin – Tel 098 341 0866
Giáo trình Kỹ thuật vi xử lý A = 0.10010 A = 0.10010 A = 0.10010 B = -0.11001 1.00110 (B) (B) b= 1.00111 ng=
 = -0.00111  = 1.11000  = 1.11001 ( ) ng -0.00111 ( ) = b = -0.00111 Thấy rằng:
 Số biểu thị kết qu sẽ là mã thuận nếu là một số d ơng
 Số biểu thị kết qu là mư ng ợc nếu ta dùng mư ng ợc đối với số
h ng âm và cho kết qu là một số âm
 Số biểu thị kết qu là một số bù 2 nếu dùng mư bù 2 đối với số
h ng âm và kết qu là một số âm.
b) Phép cộng đại số các số hạng dấu phẩy động:
Đối với phép cộng đ i số các số h ng dấu phẩy động, cần tiến hành các b ớc sau:
 Cân bằng phần đặc tính (số mũ) bằng cách dịch chuyển phần định trị
 Đặc tính c a tổng bằng đặc tính chung
 Định trị c a tổng bằng tổng các định trị
 Chuẩn hoá kết qu nếu cần. I.4.2
Phép nhân và phép chia a) Phép nhân:
Đối với phép nhân các toán h ng dấu phẩy tĩnh, việc quan trọng là ph i
xác định dấu c a kết qu , theo đó dấu c a kết qu bằng tổng modulo 2 c a các
bit dấu. Trị số c a tích là kết qu c a phép tĩnh tiến (dịch ph i) và phép cộng.
Với các toán h ng có dấu phẩy động, dấu c a tích đ ợc xác định nh
phép nhân với dấu phẩy tĩnh, sau đó tiến hành tìm tích số nh sau:
 Cộng phần đặc tính (số mũ), kết qu là đặc tính c a tích
 Nhân phần định trị, không để ý đến dấu c a các toán h ng
 Chuẩn hoá kết qu nếu cần. b) Phép chia: 16
Nguyễn Trung Đồng - Viện Công nghệ Thông tin – Tel 098 341 0866
Giáo trình Kỹ thuật vi xử lý
Đối với phép chia các toán h ng dấu phẩy tĩnh, việc quan trọng là ph i
xác định dấu c a kết qu , theo đó dấu c a kết qu bằng tổng modulo 2 c a các
bit dấu. Trị số c a th ơng số là kết qu c a phép dịch trái và phép trừ.
Với các toán h ng có dấu phẩy động, dấu c a th ơng số đ ợc xác định
nh phép chia với dấu phẩy tĩnh, sau đó tiến hành tìm th ơng số nh sau:
 Trừ phần đặc tính (số mũ), kết qu là đặc tính c a th ơng số
 Chia phần định trị, không để ý đến dấu c a các toán h ng
 Chuẩn hoá kết qu nếu cần.
Nhận xét: Dễ dàng nhận thấy rằng các phép tính số học nêu trên chung quy l i
vẫn ch yếu là thực hiện phép cộng và phép dịch (shift). I.5
Cấu trúc của hệ Vi xử lý và máy vi tính I.5.1
Vài nét v l ch s phát triển các trung tâm Vi x lý
Sự xuất hiện c a máy tính điện tử (MTĐT) vào kho ng năm 1948 đư
m ra một trang mới trong nghiên c u khoa học nói chung và khoa học tính
toán nói riêng. Nh ng ph i mưi đến năm 1971, các hệ Vi xử lý mới bắt đầu
xuất hiện. Sự ra đ i c a Single chip 4-bit Microprocessor Intel4004
(P4004) vào năm đó thực sự là một cuộc cách m ng trong ngành công
nghiệp máy tính . Có thể nói P4004, với độ dài từ xử lý 4 bits, đư làm đổi
thay toàn bộ cách nhìn nhận về các thiết bị đầu cuối c a MTĐT, hay các cơ
cấu chấp hành trong điều khiển quá trình. P4004 có thể qu n lý trực tiếp 4K
từ lệnh 8bit c a bộ nhớ ch ơng trình và 5120 bits bộ nhớ dữ liệu RAM. CPU
còn có 16 thanh ghi chỉ số đ ợc sử dụng làm bộ nhớ t m cho dữ liệu. Với tập
lệnh gồm 46 lệnh, P4004 đư chiếm đ ợc nhiều u thế trong các ng dụng
thực tế lúc bấy gi . Tiếp tục c a dòng P 4bit này là P4040, có nhiều c i
tiến m nh mẽ so với P4004 và một lo t các chip ch c năng, chip nhớ ra đ i.
Trong giai đo n tiếp theo từ năm 1974 đến 1977, Intel đư đi đầu trong
việc chế t o các CPU 8bit, P8008, P8080 và đặc biệt là P8085, những
CPU có BUS dữ liệu 8 bits và BUS địa chỉ 16 bits. Các lo i CPU này đư có
kh năng qu n lý d ợc 64K từ nhớ c a bộ nhớ và 256 thiết bị ngo i vi. Điều
đáng chú ý P8085 là công nghệ dồn kênh và chia sẻ th i gian hợp lý trên
BUS đư cho phép đ a ra thêm những tín hiệu điều khiển rất m nh, cho phép
xây dựng những máy vi tính đầu tiên.
Kho ng th i gian năm 1978 đến năm 1982 là giai đo n ra đ i và phát
triển m nh mẽ c a các trung tâm Vi xử lý 16 bits. Đặc biệt cuối giai đo n
này là sự xuất hiện các trung tâm Vi xử lý μP8088, P8086, với kh năng xử 17
Nguyễn Trung Đồng - Viện Công nghệ Thông tin – Tel 098 341 0866
Giáo trình Kỹ thuật vi xử lý
lý dữ liệu 16 bits và BUS địa chỉ 20 bits, đ ợc sử dụng để t o ra các máy vi
tính XT, có ổ đĩa mềm để l u giữ ch ơng trình ng dụng và dữ liệu.
Tiếp theo c a giai đo n này là sự phát triển vũ bưo c a các lo i
P80186, P80286, 80386SX, 80486-SX và 80486-DX, với nhịp đồng hồ lên
đến 100MHz. Máy vi tính AT và các máy tính PC ra đ i trong giai đo n này
dù giá thành còn rất cao, nh ng đư tr thành rất thông dụng trong đ i sống con ng i.
Từ kho ng giữa những năm 1993 tr l i đây, các trung tâm vi xử lý
Pentium ra đ i, tốc độ ngày càng cao, với nhịp đồng hồ lên đến hàng GHz, và
sự xuất hiện c a các trung tâm xử lý đa phân luồng nh các chip Pentium IV hiện nay. I.5.2
Cấu trúc c b n c a h Vi x lý
Các khối ch c năng cơ b n c a một hệ Vi xử lý (hình I.3) gồm:
 Đơn vị xử lý trung tâm (CPU)  Bộ nhớ ROM, RAM
 Thiết bị vào (nhập dữ liệu - Input device)
 Thiết bị ra (đ a dữ liệu ra - Output device)
 Ngoài ra còn ph i kể đến khối t o xung nhịp (Clock
Generator) và khối nguồn (Power Supply). CLOCK B NH CHÍNH RAM ROM CPU BUS H TH NG GHÉP N I VÀO GHÉP N I RA POWER THI T B VÀO THI T B RA SUPPLY
Hình I.3 Sơ đồ khối cấu trúc cơ bản hệ Vi xử lý
Các khối ch c năng cơ b n đ ợc nối với nhau qua một tập đ ng dây
truyền dẫn tín hiệu điện gọi là BUS hệ thống. BUS hệ thống bao gồm 3 BUS
thành phần: BUS địa chỉ, BUS dữ liệuBUS điều khiển. Thiết bị vào/ra
th ng đ ợc ghép nối với BUS hệ thống thông qua giao diện ghép nối (I/O Interface).
Đơn vị xử lý trung tâm (Central Processing Unit – CPU) là khối ch c
năng cơ b n nhất để t o nên một hệ Vi xử lý hay máy tính cá nhân (Personal
Computer – PC
). Máy vi tính là một trong những ng dụng cụ thể c a một hệ
thống gọi là Hệ Vi xử lý. 18
Nguyễn Trung Đồng - Viện Công nghệ Thông tin – Tel 098 341 0866
Giáo trình Kỹ thuật vi xử lý
a) CPU thực hiện ch c năng xử lý dữ liệu thông qua các ho t động chính sau:
 Đọc mã lệnh – đọc tập các bit thông tin “0” và “1” từ bộ nhớ chính
 Gi i mã lệnh – t o các xung điều khiển t ơng ng với mã lệnh để
điều khiển ho t động c a các khối ch c năng khác
 Thực hiện từng b ớc các thao tác xử lý dữ liệu theo yêu cầu c a lệnh.
Bên trong CPU có các thanh ghi (Registers):
 Thanh ghi con trỏ lệnh IP (Instruction Pointer), trong các trung
tâm vi xử lý tr ớc đây còn gọi là thanh đếm ch ơng trình PC
(Program Counter) ch a địa chỉ c a lệnh kế tiếp cần đ ợc thực
hiện trong tuần tự thực hiện ch ơng trình
 Các thanh ghi đa dụng khác GPRs (General Purpose Registers)
để l u trữ t m th i dữ liệu, kết qu trung gian hay tr ng thái c a
hệ thống cùng với đơn vị số học và logic ALU (Arithmetic and
Logic Unit
) thực hiện các thao tác xử lý dữ liệu
 Đơn vị điều khiển CU (Control Unit) là thành phần ph c t p
nhất, có ch c năng gi i mã lệnh và t o các tín hiệu điều khiển
ho t động c a toàn hệ thống.
b) Bộ nhớ chính đ ợc tổ ch c từ các từ nhớ, trong IBM/PC từ nhớ có
độ dài 1 byte (8 bits). Bộ nhớ này gồm các chip nhớ chỉ đọc ROM
(Read Only Memory) và các chip nhớ truy xuất ngẫu nhiên RAM
(Random Access Memory) có tốc độ truy cập nhanh. Bộ nhớ đ ợc
sử dụng để ch a các ch ơng trình và các dữ liệu điều khiển ho t
động c a hệ thống. các ch ơng trình ng dụng và dữ liệu có thể
đ ợc ch a ROM hoặc RAM, các kết qu trung gian hay kết qu
cuối cùng c a các thao tác xử lý có thể đ ợc ch a trong các thanh
ghi đa dụng hoặc trong khối nh RAM
c) Các m ch ghép nối vào/ra là các m ch điện tử cho phép CPU trao
đổi dữ liệu với các thiết bị ngo i vi nh bàn phím, màn hình, máy
in…làm giao diện với ng i dùng hoặc các bộ chuyển đổi số-t ơng
tự DAC (Digital/Analog Converter), chuyển đổi t ơng tự-số ADC
(Analog/Digital Converter), các m ch vào/ra số DO (Digital
Outputs
), DI (Digital Inputs)… 19
Nguyễn Trung Đồng - Viện Công nghệ Thông tin – Tel 098 341 0866
Giáo trình Kỹ thuật vi xử lý
d) Hệ Vi xử lý còn có một m ch t o xung nhịp gọi là đồng hồ hệ thống
(Clock Generator) điều khiển và duy trì ho t động đồng bộ c a tất
c các khối ch c năng. Bộ t o xung này đ ợc điều khiển bằng một
m ch th ch anh có tần số thích hợp và đ m b o tần số làm việc ổn
định cho toàn bộ hệ thống.
e) Một khối nguồn nuôi (Power Supply) cung cấp năng l ợng cho hệ
thống từ m ng điện l ới.
Bộ nguồn c a các hệ Vi xử lý thông th
ng là bộ nguồn xung với kỹ
thuật đóng-ngắt dùng bán dẫn công suất (Switching Power Supply), vừa gọn
nhẹ, công suất lớn l i vừa đ m b o độ gợn sóng nhỏ nhất và kh năng chống
nhiễu cao. Hình I.4 là sơ đồ khối c a bộ nguồn đóng-ngắt. Điện áp l ới
(220VAC) đ ợc chỉnh l u trực tiếp, lọc bằng tụ hoá để cung cấp cho một bộ
dao động tần số cao (từ 20KHz đến 40KHz). Các xung điện áp tần số cao
đ ợc chuyển sang biến áp xung công suất h áp. Điện áp lối ra c a biến áp
xung đ ợc chỉnh l u và lọc thành điện áp nguồn một chiều cung cấp cho hệ
thống. Nguyên lý ổn áp đây là thay đổi độ rộng c a các xung có tần số ổn
định, do vậy sự dao động c a điện áp đầu ra khi có t i đ ợc chuyển qua bộ
c m biến để điều chỉnh độ rộng này, đ m b o sự ổn định c a điện áp ra. Đi n áp m t chiều Đi n áp thứ cấp: Power m t chiều Switching 5V, 12V sơ cấp Transistor Ch nh lưu B lọc sơ Ch nh lưu B lọc thứ sơ cấ Bi n áp p cấp xung thứ cấp cấp M ch c m bi n - chuyển m ch Tín hi u c m bi n đi n áp 220VAC
Hình I.4 Sơ đồ khối bộ nguồn nuôi máy tính I.5.3
T h Vi x lỦ đ n máy vi tính PC
Trong thực tế, các hệ Vi xử lý hiện đ i đ ợc trang bị thêm nhiều thiết
bị ngo i vi tiện dụng tuỳ theo yêu cầu, mục đích sử dụng và có giao diện thân thiện với con ng
i. Đó là các máy vi tính PC. Cũng có thể là những hệ Vi xử
lý chuyên dụng cho những mục đích tính toán hay điều khiển. a)
Máy tính xử lý dữ liệu: Là các máy tính đ ợc dùng để tính toán,
xử lý các dữ liệu nh qu n lý nhân viên trong cơ quan, tính toán tiền l ơng, 20
Nguyễn Trung Đồng - Viện Công nghệ Thông tin – Tel 098 341 0866
Giáo trình Kỹ thuật vi xử lý
tính toán kết cấu công trình, phân tích dữ liệu trong kinh doanh, v.v… Quan
điểm đúng cho rằng máy tính chỉ gồm CPU và bộ nhớ chính, còn các thiết bị
phụ trợ khác nh bàn phím, máy in, các ổ đĩa c ng, đĩa mềm, ổ CD, chuột,
màn hình, máy in…, là những thiết bị ngo i vi. Các ch ơng trình để xử lý dữ
liệu đ ợc l u giữ trong bộ nhớ chính hoặc trong các ổ đĩa, có nhiệm vụ xử lý những dữ liệu đ ợc ng
i dùng nhập vào, và đ a kết qu xử lý ra màn hình,
in ra giấy hoặc l u giữ trong các ổ đĩa. Để đánh giá tính năng và chất l ợng c a các máy này, ta th
ng căn c vào tốc độ xử lý dữ liệu, dung l ợng bộ
nhớ, ổ đĩa, chất l ợng màn hình, máy in v.v… CÁC ĐƾA MÀN HÌNH (FDD, HDD, (MONITOR) CDROM…) CPU VÀ B NH CHÍNH (ROM, RAM) MÁY IN (PRINTER) BÀN PHÍM CHU T Hình I.4 Máy Vi tính PC b)
Máy tính là bộ xử lý số: Đối với các máy tính này, th i gian
dành cho xử lý dữ liệu rất nhỏ, còn th i gian để tính toán, xử lý các số liệu l i
vô cùng lớn. Các máy tính lo i này đ ợc sử dụng ch yếu trong các cơ quan
dự báo, nh dự báo khí t ợng, thuỷ văn, trong tính toán quỹ đ o bay c a tên
lửa, máy bay, tàu thuỷ, v.v… hay trong các phòng nghiên c u khoa học.
Những máy tính lo i này thông th
ng thực hiện những ch ơng trình tính
toán khổng lồ, nên chúng đ ợc trang bị các CPU rất m nh và các thiết bị
ngo i vi, bộ nhớ ngoài rất lớn. Đó là những siêu máy tính (Supercomputer). c)
Máy tính đo lường và điều khiển: Sự phát triển nhanh chóng
c a các hệ thống máy tính đư t o ra những ng dụng lớn lao trong các hệ thống đo l
ng và điều khiển tự động. Đối với các ng dụng thông th ng
nh trong các dụng cụ gia dụng, từ Tivi, điều hoà nhiệt độ, máy giặt v.v… Đó
là những máy tính nhỏ đ ợc chế t o d ới d ng một vi m ch (Single-Chip
Microcomputer
). Tuy nhiên, cũng cần ph i tính đến những máy tính này trong
các thiết bị hiện đ i và ph c t p nh trong các hệ thống tự động lái máy bay
(Autopilot), tàu thuỷ, tên lửa… 21
Nguyễn Trung Đồng - Viện Công nghệ Thông tin – Tel 098 341 0866