Tài liu môn hc: Ghép ni và ñiu khin thiết b ngoi vi
Ging viên: Nguyn Văn Minh Trí 55
CHƯƠNG 4: GHÉP NI ðIU KHIN NGT
4.1 Khái nim và phân loi ngt
4.1.1 Khái nim
Mi khi mt thiết b phn cng hay mt chương trình cn ñến s giúp ñỡ ca CPU,
gi ñi mt tín hiu hoc lnh gi ngt (Interrupt Request IRQ) ñến b vi x lý ch
ñịnh mt công vic c th nào ñó cn CPU thc hin. Khi b vi x lý nhn ñược
tín hiu ngt, thường tm ngưng tt c các hot ñộng khác kích hot mt chương
trình con ñang trong b nh gi chương trình x ngt (Interrupt Service Routine
_ ISR) tương ng vi tng s liu ngt c th. Sau khi chương trình x ngt làm xong
nhim v, các hot ñộng ca máy tính s tiếp tc li t nơi ñã b tm dng lúc xy ra
ngt.
4.1.2 Phân loi ngt
ba loi ngt chính, ñầu tiên là các ngt ñược to ra bi mch ñin ca y tính nhm
ñáp li mt s kin nào ñó như nhn phím trên bàn phím ... Các ngt y ñược b ñiu
khin ngt 8259A qun lý. 8259A s n ñịnh mc ñộ ưu tiên cho tng ngt ri gi ñến
CPU. Th hai các ngt do CPU to ra khi gp phi mt kết qu bt thưng trong khi
thc hin chương trình như chia cho 0 chng hn Cui cùng các ngt do chính
chương trình to ra nhm gi các chương trình con xa ñang nm trong ROM hoc
RAM, các ngt y gi ngt mm chúng thường b phn ca các chương trình con
phc v ca ROM-BIOS hoc ca DOS.
Ngoài ba loi ngt trên còn có loi ngt ñặc bit là ngt không b che NMI ñòi hi CPU
phc v ngay khi có yêu cu. Loi ngt này thường ñưc dùng ñể báo hiu s c như st
ñip áp hay li b nh. Như vy NMI là mc ngt có ñộ ưu tiên cao nht .
Các ngt trong PC có th chia thành 4 nhóm như sau :
- Các ngt vi x:
Thường gi các ngt logic ñược thiết kế sn trong b VXL. Bn trong s các ngt này
(0,1,3,4 ) do chính b VXL to ra, còn ngt 2 (NMI ) s ñược kích hot khi có tín hiu to
ra bi mt trong các thiết b ngoài.
1. Các ngt cng
Ðược thiết kế sn trong phn cng ca ca PC, tám ngt trong s các ngt y (2,8,9,t
Bh ñến Fh) ñược gn chết vào trong b VXL hoc vào bng mch chính ca h thng.
Tt c các ngt cng ñều do 8259A ñiu khin .
2. Các ngt mm
Tài liu môn hc: Ghép ni và ñiu khin thiết b ngoi vi
Ging viên: Nguyn Văn Minh Trí 56
Nhng ngt này là mt phn ca các chương trình ROM -BIOS, các s hiu dành cho các
ngt ca ROM- BIOS là t 10h ñến 1C h và 48h .
Ngoài ra còn các ngt DOS ngt BASIC phc v h ñiu hành DOS chương
trình BASIC .
3. Các ngt ñịa ch
Bng 4.1 : Bng chc năng các ngt trong máy vi tính
INT (Hex)
IRQ Common Uses
00 Exception Handlers
Chia mt s cho 0
01 Exception Handlers
Thc hin tng bưc
02 Non-Maskable IRQ
Non-Maskable IRQ (Các li chn l)
03 Exception Handlers
ðim dng chương trình do người s dng ñặt
04 Exception Handlers
Vượt quá ni dung thanh ghi hay b nh
05 - 07 Exception Handlers
-
08 Hardware IRQ0 B thi gian h thng
09 Hardware IRQ1 Bàn phím
0A Hardware IRQ2 Redirected
0B Hardware IRQ3 Cng ni tiếp COM2/COM4
0C Hardware IRQ4 Cng ni tiếp COM1/COM3
0D Hardware IRQ5 Reserved/Sound Card
0E Hardware IRQ6 ðiu khin ñĩa mm
0F Hardware IRQ7 Cng song song
10 - 6F Software Interrupts Ngt ROM-BIOS hay DOS
70 Hardware IRQ8 ðồng h thi gian thc
71 Hardware IRQ9 Redirected IRQ2
72 Hardware IRQ10 Reserved
73 Hardware IRQ11 Reserved
74 Hardware IRQ12 PS/2 Mouse
75 Hardware IRQ13 Math's Co-Processor
76 Hardware IRQ14 Hard Disk Drive
77 Hardware IRQ15 Reserved
78 - FF Software Interrupts -
Ba trong s các ngt y tr ñến ba bng rt quan trng, ñó bng khi to màn hình,
bng cơ s ñĩa bng các ký t ñồ th. Các bng y cha các tham s ñược ROM
Tài liu môn hc: Ghép ni và ñiu khin thiết b ngoi vi
Ging viên: Nguyn Văn Minh Trí 57
BIOS dùng khi khi ñộng h thng và to các ký t ñồ th. Các s hiu dành cho các ngt
này là t 1D hex ñến 1F hex.
4.2 X lý ngt ca nhiu thiết b ngoi vi
Thông thường mt MVT cn x lý ngt ca nhiu TBNV, do ñó cn gii quyết các vn
ñề sau:
- Cho phép hoc cm ngt cho mt yêu cu ngt ca mt TBNV.
- Ghi nhn và sp xếp nhiu yêu cu ngt theo th t ưu tiên.
- Xác ñịnh ngun ngt do TBNV nào gây ra.
- To vector ngt, tc ñịa ch ô nh ca lnh ñầu tiên trong chương trình con
phc v ngt.
4.2.1 Cho phép hoc cm ngt
1. Cho phép hoc cm ngt bng lnh
- Lnh cm ngt DI (Disable interrupt) và cho phép ngt EI (Enable Interrupt) ca 8085.
- Ghi vào thanh ghi c ni dung bit IF (Interrupt Flag) các giá tr:
IF =1 : cho phép ngt
IF=0 : cm ngt
2. Cho phép hoc cm ngt bng mch phn cng
Vi li vào NMI yêu cu ngt ca TBNV, ta th dùng các mch lt ñể ñiu khin
cho phép hoc cm ngt.
4.2.2 Sp xếp ưu tiên ngt
Theo mt trong ba phương pháp sau:
1. Phương pháp hi vòng (polling):
Dùng chương trình, ñọc theo th t ưu tiên các bit trng thái ca các TBNV kim
tra chúng. Nếu bit nào xác lp lên 1, tc TBNV tương ng yêu cu ngt, VXL
chuyn sang chương trình con ngt phc v TBNV ñó. Sau ñó li ñọc kim tra bit
trng thái TBNV có mc ưu tiên thp hơn.
Phương pháp này ñơn gin v thiết b nhưng mt thi gian hi vòng.
2. Phương pháp ngt cng
ðể tránh mt thi gian hi vòng, người ta ni các bit trng thái ca TBNV vi mch
OR, li ra cng OR ni vào chân INTR ca VXL. Khi bt k TBNV nào u cu ngt,
VXL s nhn biết qua INTR và tiến hành hi vòng.
Phương pháp y gim ñược thi gian kim tra trng thái khi chưa yêu cu ngt
nào, nhưng cũng không thay ñổi ñược th t ưu tiên.
3. Phương pháp xưu tiên bng mch cng
Có hai loi ưu tiên theo v trí và ưu tiên tu theo mch so sánh.
Ưu tiên theo v trí ñặt gn VXL
Sơ ñồ mch ví d trên hình 4.1, vi hot ñộng như sau:
- Tín hiu tr li ngt INTA (Interrupt Acknowledge) t VXL ñi ni tiếp qua
các BGN, qua mch x lý ngt và tr v li VXL theo mt mt xích kín (daisy
chain). BGN nào ñặt gn VXL có mc ưu tiên cao
Tài liu môn hc: Ghép ni và ñiu khin thiết b ngoi vi
Ging viên: Nguyn Văn Minh Trí 58
- Nếu mt BGN ñã ghi nhn ngt, tín hiu INTA b chn không truyn ti
BGN sau. Do ñó, VXL không nhn ñược tín hiu INTA, nghĩa là mt yêu
cu ngt ñã xy ra.
Hình 4.1: Sơ ñồ ưu tiên ngt theo v trí và vector ngt
Phương pháp này tuy ñơn gin nhưng th t ưu tiên không thay ñổi ñược nếu
mt BGN nào b hng, mch s luôn báo có yêu cu ngt.
Ưu tiên ngt dùng mch so sánh
Dùng các vi mch Intel 8214, 8259 có th thay ñổi ưu tiên ngt bng chương trình.
4.2.3 Xác ñịnh ngun gây ngt
nhng phương pháp xác ñịnh TBNV nào gây ngt ñể chuyn sang chương trình
con phc v ngt tưng ng cho TBNV ñó:
- Phương pháp hi vòng: VXL ñọc kim tra ln lượt trng thái các TBNV.
Nếu kết qu 1, trng thái TBNV là sn sàng và ngun ngt là TBNV ñó.
- Phương pháp ñọc vector ngt to bi tín hiu ngt INTA trong ưu tiên ngt
theo v trí.
- Phương pháp ñọc vào thanh ghi ưu tiên PR trong sơ ñồ dùng mch so sánh.
4.2.4 To vector ngt
Vector ngt cha ñịa ch ñầu ca chương trình con phc v ngt. Các vector ngt
ca MVT PC ñược trình y trên bng 4.1. Ta th to vector ngt bng cng
AND colector h như hình 4.1 (b).
Phương pháp y thay ñổi ñược mc ưu tiên cách tìm ngun ngt, nhưng mch
phc tp và ñắt tin.
VXL
INTR
INTA
INTA
DI
0
÷
n
BGN
1
BGN
2
BGN
3
INTA
0
÷
n
1
0
(a) (b)