




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第七章
中斷和異常
1
第一節(jié)中斷及異常的基本概念
第二節(jié)80x86CPU的中斷系統(tǒng)
第三節(jié)可編程中斷控制器8259A
2
第一節(jié)中斷及異常的基本概念
一、什么是中斷
二、中斷源和中斷優(yōu)先權(quán)
三、中斷服務(wù)程序
四、斷點(diǎn)和中斷現(xiàn)場(chǎng)
五、硬件中斷和軟件中斷
六、異常
一、什么是中斷
在CPU正常運(yùn)行程序時(shí),
由于內(nèi)部或外部某個(gè)非預(yù)料事件的發(fā)生,
使CPU暫停正在運(yùn)行的程序,
而轉(zhuǎn)去執(zhí)行處理引起中斷事件的程序,
然后再返回被中斷了的程序,繼續(xù)執(zhí)行。
這個(gè)過(guò)程就是中斷。
4
CPU執(zhí)行流程
非預(yù)料事件1
中斷服務(wù)程序1
非預(yù)料事件2
中斷服務(wù)程序2
5
二、中斷源和中斷優(yōu)先權(quán)
引起中斷的因素很多,
將發(fā)出中斷申請(qǐng)的外設(shè)或內(nèi)部原因,稱為中斷源
□給每個(gè)中斷源指定一個(gè)優(yōu)先權(quán),稱為中斷優(yōu)先權(quán)
□當(dāng)多個(gè)中斷源同時(shí)發(fā)出中斷請(qǐng)求時(shí),
CPU按照中斷優(yōu)先權(quán)的高低順序,依次響應(yīng)。
6
三、中斷服務(wù)程序
處理中斷源,完成其所要求功能的程序,
稱中斷服務(wù)程序(中斷例行程序、中斷子程)。
CPU執(zhí)行流程
非預(yù)料事件1一
-------------?—
中斷服務(wù)程序1
非預(yù)料事件2―1
中斷服務(wù)程序2
7
非預(yù)料事件是指事件發(fā)生的時(shí)間無(wú)法預(yù)知,
即中斷源何時(shí)產(chǎn)生中斷不確定,是隨機(jī)的。
但事件的性質(zhì)及處理方法則是已知的,確定的,
即中斷服務(wù)程序是事先編寫(xiě)好的,
只是何時(shí)執(zhí)行未知。
中斷源產(chǎn)生中斷的隨機(jī)性,
使中斷服務(wù)程序的執(zhí)行也具有隨機(jī)性,
即何時(shí)執(zhí)行中斷服務(wù)程序不是在程序中安排好的。
8
四、斷點(diǎn)和中斷現(xiàn)場(chǎng)
斷點(diǎn):
是指CPU執(zhí)行的現(xiàn)行程序被中斷時(shí)的下一條指令的地址,
又稱斷點(diǎn)地址。
中斷現(xiàn)場(chǎng):
是指CPU轉(zhuǎn)去執(zhí)行中斷服務(wù)程序前的運(yùn)行狀態(tài),
包括CPU內(nèi)部各寄存器、斷點(diǎn)地址等。
9
斷點(diǎn)概念:
CPU在執(zhí)行此指令時(shí),
MOVAX,0某中斷源發(fā)申請(qǐng)中斷;
ADDAX,DX一CPU在執(zhí)行完該指令后,
1000:150HMOV[DI],AX轉(zhuǎn)去執(zhí)行中斷子程序
地址1000:150H為斷點(diǎn)
PUSHAX
IRET
10
五、硬件中斷和軟件中斷
?早期中斷概念的引入,
是為解決CPU與外設(shè)間的速度匹配問(wèn)題,
提高CPU的工作效率。
中斷源主要是由外部硬件產(chǎn)生。
?當(dāng)今的中斷技術(shù),
不再限于外部硬件產(chǎn)生中斷(稱硬件中斷或外中斷),
還可由CPU內(nèi)部產(chǎn)生(如被零除操作),
或者由程序預(yù)先安排,即由指令調(diào)用中斷服務(wù)程序。
(稱軟件中斷或內(nèi)中斷)
11
軟件中斷
用指令
調(diào)用中斷程序
MOVAH,01
INT21H用指令調(diào)用中斷程序
1000:150HCMPAL,ODh
PUSHAX
、、
、、
IRET
12
六、異常
異常:是在指令執(zhí)行期間檢測(cè)到的不正
常的或非法的狀態(tài),使指令不能成功執(zhí)
行。它與所執(zhí)行指令有直接聯(lián)系。
13
(一)異常分類
產(chǎn)生異常后,系統(tǒng)根據(jù)引起異常的程序是否可被恢復(fù)這
一原則,進(jìn)一步又把異常分為故障(fault),陷阱(trap)和中
止(abort)3類。
故障是引起故障的程序可被恢復(fù)執(zhí)行的異常,它也是在引
起故障的指令執(zhí)行之前就報(bào)告給系統(tǒng)的一種異常。一旦故
障被檢測(cè)出,便在保護(hù)斷點(diǎn)地址后,將程序轉(zhuǎn)入故障處理
程序,執(zhí)行完該程序后,引起故障的指令便可正確執(zhí)行。
陷阱是在指令執(zhí)行期間被檢測(cè)到的,并在引起異常的指令
執(zhí)行之后向系統(tǒng)報(bào)告的一種異常。陷阱產(chǎn)生后,程序轉(zhuǎn)向
故障處理程序,這時(shí)保存的斷點(diǎn)指向引起陷阱的指令的下
一條應(yīng)該執(zhí)行的指令。
中止是微處理器面臨嚴(yán)重錯(cuò)誤時(shí)產(chǎn)生的異常。引起中止的
指令無(wú)法確定,產(chǎn)生中止時(shí),正在執(zhí)行的程序不能被恢復(fù),
系統(tǒng)需重建各種系統(tǒng)表格或需重新啟動(dòng)操作系統(tǒng)。
14
產(chǎn)生異常時(shí),CPU在異常處理程序的棧中壓入一
個(gè)錯(cuò)誤碼,存放錯(cuò)誤碼的堆棧放在一個(gè)特定的段中,
對(duì)一些無(wú)錯(cuò)誤信息的異常,CPU向棧中壓入錯(cuò)誤碼0。
異常錯(cuò)誤碼中的選擇器索引用來(lái)查找異常處理程序
的入口地址。
異常錯(cuò)誤碼
描述
中斷的程序引起異常
外部事件引起異常
由TI位決定表
選擇器用于門(mén)描述符
選擇器用于GDT
=1選擇器用于LDT
15
(二)處理器定義的異常
所謂處理器定義的異常是80*86處理器中保留自用的異常,共用16個(gè).
I、異常0
異常o定義為除法出錯(cuò)異常,是一種故障型異常.
2、異常1
異常1定義為排錯(cuò)異常或調(diào)試異常.
3、異常3
異常3為斷點(diǎn)中斷,是一個(gè)采用單字節(jié)指令I(lǐng)NT3的軟件中斷.
4、異常4
異常4定義為溢出陷阱.
5、異常5
異常5定義為邊界檢查故障.
16
6、異常6
異常6定義為無(wú)效操作碼故障.
7、異常7
異常7定義為協(xié)處理器無(wú)效故障.
8、異常8
異常8定義為雙重故障,雙重故障屬中止異常.
9、異常9
異常9定義為協(xié)處理器段越界異常,屬中止類異常.
10、異常10
異常10定義為無(wú)效TSS故障.
11、異常n
異常11定義為段不存在異常,屬故障類型.
17
12、異常12
異常12定義為棧段故障.
13、異常13
異常13定義為通用保護(hù)故障.
14、異常14
異常14定義為頁(yè)故障.
313210域值描述
未定義p0失效由不存在也頁(yè)引起
1失效由頁(yè)級(jí)別保護(hù)沖突引起
R/W0失效由讀引起
1失效由寫(xiě)引起
U/S0失效發(fā)生在管理方式
15、異常161失效發(fā)生在用戶方式
異常16定義為協(xié)處理器出錯(cuò)故障.
18
(三)中斷及異常的暫時(shí)屏蔽
中斷和排錯(cuò)異常在某些條件下可忽略或屏蔽,其條
件如下:
1、EFLAGS中的IF=O,屏蔽外部可屏蔽中斷.
2、IF=O時(shí),執(zhí)行STI指令,則在STI指令及下面一條指令執(zhí)行期間,屏蔽
外部可屏蔽中斷.
3、EFLAGS中的RF=1,屏蔽排錯(cuò)故障.
4、系統(tǒng)正處理一個(gè)非屏蔽外部中斷,則屏蔽任何新的非屏蔽中斷.
5、執(zhí)行以SS為目的寄存器的MOV及POP指令時(shí),將在該指令及下面
一條指令執(zhí)行期間屏蔽各種中斷及排錯(cuò)異常.
6、在指令前綴LOCK及被鎖定的指令之間不允許中斷.
19
(四)中斷及異常的優(yōu)先級(jí)
當(dāng)CPU正在執(zhí)行一條指令時(shí),檢測(cè)到多個(gè)
中斷和異常,CPU將按其優(yōu)先級(jí)順序響應(yīng)和處理。
首先把優(yōu)先級(jí)最高的中斷或異常通知系統(tǒng),將
優(yōu)先級(jí)較低的異常廢棄,而將優(yōu)先級(jí)較低的中
斷掛起,當(dāng)較高優(yōu)先級(jí)的中斷處理完后,再按
優(yōu)先級(jí)次序響應(yīng)和處理掛起的中斷。同時(shí)當(dāng)較
高優(yōu)先級(jí)的異常被處理后,重新啟動(dòng)較低異常
的指令時(shí),任何丟失的異常均可重新發(fā)生。
20
中斷/異常類型優(yōu)先級(jí)
排錯(cuò)故障最高
非排錯(cuò)故障
陷阱指令I(lǐng)NTnINTO
NMI中斷
最低
INTR中斷
中斷/異常的優(yōu)先級(jí)
21
第二節(jié)80x86CPU的中斷系統(tǒng)
一、8088CPU的中斷分類
二、8088CPU的中斷優(yōu)先權(quán)
三、8088CPU響應(yīng)中斷的過(guò)程
四、8088CPU如何獲取中斷類型號(hào)
五、保護(hù)方式下的中斷和異常
22
-、8088CPU的中斷分類
按中斷源的不同,中斷分為內(nèi)中斷和外中斷。
1、內(nèi)中斷(軟中斷)
指CPU執(zhí)行某些特殊操作或由INT指令引起的中斷
①被零除操作或OF=1時(shí)執(zhí)行INTO指令引起
②使用DEBUG中的單步或斷點(diǎn)設(shè)置操作引起
③執(zhí)行INTn指令引起
最大組態(tài)(最小組態(tài))
2、外中斷(硬中斷)
GND--vcc
A14"-A15
指外部芯片通過(guò)A13--A16/S3
A12--A17/S4
All-?A18/S5
CPU的INTR引腳或NMI引腳A10--A19/S6
A9-8j.(HIGH)(SSO)
發(fā)出中斷申請(qǐng)引起的中斷。A8--MN/MX
AD7"0■RD
AD6-■RQ/GTO(HOLD)
AD5-8-RQ/GT1(HLDA)
AD4-?LOCK(WR)
當(dāng)INTR上有高電平信號(hào)AD3"o?S2(IO/M)
AD2--S1(DT/R)
當(dāng)NMI上有上升沿信號(hào)AD1"■SO(DEN)
ADO--QSO(ALE)
NMI--QSl(INTA)
INTR-.TEST
CLK--READY
GND-?RESET
24
80386,80486支持兩種類型的中斷:
可屏蔽中斷及不可屏蔽中斷(非屏蔽中斷),并有
相應(yīng)的兩個(gè)中斷請(qǐng)求引腳信號(hào)——INTR及NML
25
?可屏蔽中斷
由INTR引腳引起的中斷,稱可屏蔽中斷。CPU是否
響應(yīng)INTR引腳上的中斷請(qǐng)求取決于IF標(biāo)志:
IF=1,CPU響應(yīng)INTR引腳上的中斷請(qǐng)求
IF=O,CPU不響應(yīng)INTR引腳上的中斷請(qǐng)求
即當(dāng)IF=O時(shí),將INTR引腳上的中斷申請(qǐng)屏蔽。
?非屏蔽中斷
由NMI引腳引起的中斷,稱非屏蔽中斷。
當(dāng)NMI引腳上產(chǎn)生上升沿信號(hào),CPU必響應(yīng)此中斷請(qǐng)
求,即NMI弓|腳上的中斷請(qǐng)求不受IF標(biāo)志的控制,
IF不能屏蔽NMI引腳上的中斷請(qǐng)求。
26
8086/80881斷源
IR0系統(tǒng)定時(shí)器
8259A
IRi<02鍵盤(pán)
IR?彩色/圖形接口
INTRINT
o
IRO2VB保留(通信)
可編程IR串行通信接口
中斷
IR<QH保留(ALT打印機(jī)
控制器U
(PIC)IR6心軟盤(pán)
IR7<°E保留(打印機(jī))
27
二、8088CPU的中斷優(yōu)先權(quán)
優(yōu)先級(jí)
高低
一?
內(nèi)中斷(除零,INT指令,斷點(diǎn),INTO指令)
非屏蔽中斷
可屏蔽中斷
低J內(nèi)中斷(單步)
當(dāng)有多個(gè)中斷源同時(shí)產(chǎn)生中斷申請(qǐng)時(shí),
CPU先響應(yīng)優(yōu)先權(quán)最高的中斷源,
再響應(yīng)優(yōu)先級(jí)較低的中斷源。
28
三、8088CPU響應(yīng)中斷的過(guò)程
當(dāng)中斷源產(chǎn)生中斷申請(qǐng)后,
不論是內(nèi)中斷、非屏蔽中斷,還是可屏蔽中斷,
只要滿足響應(yīng)條件,在執(zhí)行完當(dāng)前指令后,
CPU內(nèi)部硬件會(huì)自動(dòng)完成下列響應(yīng)中斷的過(guò)程:
①取中斷類型號(hào)N
②當(dāng)前PSW的內(nèi)容入棧
③清IF、TF標(biāo)志為0
》保存現(xiàn)場(chǎng)
④當(dāng)前CS的內(nèi)容入棧
⑤當(dāng)前IP的內(nèi)容入棧
⑥取內(nèi)存單元(0:N*4)字內(nèi)容送IP取中斷子程
⑦取內(nèi)存單元(0:N*4+2)字內(nèi)容送CS}入口地址
此時(shí)CS:IP指向中斷程序的入口,開(kāi)始執(zhí)行中斷程序。
29
實(shí)方式下的中斷
中斷矢量FFH
中斷矢量
FEH
中斷矢量FDH
中斷矢量2
中斷矢量1
中斷矢量0
中斷矢量表物理地址
30
可屏蔽中斷的響應(yīng)和處理過(guò)程:
CPU和總線控制邏輯8259A
(1)條件
IF=1(2)中斷請(qǐng)求INT=11R0外
INTRv
NMI=0INT設(shè)
HOLD=0IR1中
無(wú)內(nèi)部中斷⑶INTA=O送8259A斷
INTA
IP?——INTA請(qǐng)
;4)類型碼N送CPU求
cs?--------D0-D7
DO-DTIR7
PSW(T*IF
(6)10-?TF
P
⑺S:XJcs轉(zhuǎn)入中斷處理程序
⑼
返
回
主
程
序
STI
IRET
可屏蔽中斷的響應(yīng)和處理過(guò)程31
32
中斷處理流程圖
當(dāng)前指令執(zhí)行完的含義
?CPU正在執(zhí)行一條指令,執(zhí)行完本條指令,響應(yīng)中斷;
?對(duì)于帶重復(fù)前綴的串指令(如REPMOVSB),執(zhí)行一
次重復(fù)和串指令即可響應(yīng)中斷;
?對(duì)MOV和POP指令,處理對(duì)象為段寄存器,以及STI和
IRET指令執(zhí)行完本條指令后,再執(zhí)行一條指令才響應(yīng)
中斷。
33
、q
0:0000-
0:NX4-0200h>中斷向量表0:0?3FFH
0:NX4+2'3000h
o:3FFH
、某中斷源發(fā)申請(qǐng)中斷,
申請(qǐng)執(zhí)行類型號(hào)為N的中斷子程序
MOVAX,0
ADDAX,DX
堆棧
1000:150hMOV[DI],AX
(IP)=0200h執(zhí)行
(CS)=3000h
IRET后
響應(yīng)中斷后
SS:SP0150(IP)
3000:200hMOVBX,CX1000(CS)
類型N(PSW)
?中斷子程響應(yīng)中斷前
SS:SP
IRET序
SS:SP
34
內(nèi)存
0:0000從中斷子程序返回?cái)帱c(diǎn)處,
靠的是執(zhí)行中斷子程序最后的指令I(lǐng)RET,
0:NX4一0200h
0:NX4+2-3000h從堆棧中取出斷點(diǎn)地址給CS:IP,
繼續(xù)執(zhí)行被中斷的程序。
故中斷子程序最后應(yīng)安排IRET指令。
MOVAX,0
堆棧
ADDAX,DX(IP)=0200h
I執(zhí)行
1000:150hMOV[DI],AX(CS)=3000h
--------[RET后
響應(yīng)中斷后0150卜(IP)
SS:SP-
1000L(CS)
3000:200hMOVBX,CX(PSW)—(PSW)
響應(yīng)中斷前
SS:SP
SS:SP
IRET
、
35
四、8088CPU如何獲取中斷類型號(hào)
由前面介紹知,當(dāng)中斷源產(chǎn)生中斷請(qǐng)求后,
不論是內(nèi)中斷、非屏蔽中斷,還是可屏蔽中斷,
只要滿足響應(yīng)條件,在執(zhí)行完當(dāng)前指令后,
CPU內(nèi)部硬件會(huì)自動(dòng)完成響應(yīng)中斷的過(guò)程,共七個(gè)步驟
而第一步就是獲取中斷類型號(hào)。
不同的中斷源,8088CPU獲取中斷類型號(hào)的方法不同。
36
根據(jù)8088CPU對(duì)中斷的分類,各中斷獲取類型號(hào)的方法
①CPU執(zhí)行除零或OF為1執(zhí)行INTO指令
除零固定類型號(hào)00H
內(nèi)OF為1執(zhí)行INTO指令固定類型號(hào)04H
②使用DEBUG下的單步和斷點(diǎn)操作
中
單步固定類型號(hào)01H
斷點(diǎn)固定類型號(hào)03H
斷
③執(zhí)行中斷調(diào)用指令I(lǐng)NTN
由指令中給出指令中指定類型號(hào)N
①非屏蔽中斷
外引腳NMI上有中斷申請(qǐng)信號(hào)(上升沿信號(hào))
非屏蔽中斷固定類型號(hào)02H
中②可屏蔽中斷(參看中斷響應(yīng)時(shí)序圖)
當(dāng)IF=1,引腳INTR上有中斷申請(qǐng)信號(hào)(高電平信號(hào))
斷
CPU按中斷響應(yīng)周期時(shí)序,從數(shù)據(jù)總線上獲取中斷類型號(hào)
可屏蔽中斷外部接口送上類型號(hào)
37
中斷響應(yīng)周期時(shí)序
接口芯片接收此信號(hào),把中斷類型號(hào)準(zhǔn)備好;同時(shí)ISRi=l,IRRi=O。
?CPU再?gòu)囊_而X發(fā)中斷響應(yīng)信號(hào),
接口芯片接此信號(hào)后,將中斷類型號(hào)送至數(shù)據(jù)總線上;
?CPU從數(shù)據(jù)總線獲取中斷類型號(hào)。
38
五、保護(hù)方式下的中斷和異常
保護(hù)方式下發(fā)生中斷和異常時(shí),要使用中斷描述符表IDT
中斷描述符表
中斷N的門(mén)
8N
中斷N-1的門(mén)
8(N-1)
中斷2的門(mén)
10H
150
<------中斷1的門(mén)
限量8
<------
中斷0的門(mén)
基地址0
39
保護(hù)方式的中斷描述符表
中斷描述符表IDT的基地址由IDTR提供,保護(hù)方式
下的IDT由稱為門(mén)的8字節(jié)中斷描述符組成,每個(gè)描述
符為IDT中的一項(xiàng),對(duì)應(yīng)一個(gè)中斷類型,共有256個(gè)中
斷類型號(hào),IDT中最多可容納256個(gè)項(xiàng)。
IDT中每一項(xiàng)可能含有3種特殊類型描述符之一:
中斷門(mén);陷阱門(mén);任務(wù)門(mén)。
可用中斷類型號(hào)乘8來(lái)索引IDT中的一個(gè)門(mén)描述符。
中斷、故障、陷阱及中止可由三種門(mén)中的任何一種來(lái)處
理。
通過(guò)中斷門(mén)或陷阱門(mén)的轉(zhuǎn)移,使程序轉(zhuǎn)移到當(dāng)前任
務(wù)的處理程序,而通過(guò)任務(wù)門(mén)的轉(zhuǎn)移,可使程序轉(zhuǎn)移到
不同任務(wù)的處理程序。
40
1514121170
保留(必須為0)
802861116
中斷或陷阱門(mén)PDPL0類型未用
4
代碼段選擇器
2
便移量
0
150
偏移量(高)
80386/804866
中斷或陷阱門(mén)1L型1
PDPL0000保留
4
代碼段選擇器
2
偏移量(低1)
0
保留
任務(wù)門(mén)
PDPL0類型保留
TSS段選擇器
保留41
中斷描述符格式0
通過(guò)中斷門(mén)及陷阱門(mén)的轉(zhuǎn)移
線性地址空間42
若通過(guò)中斷類型號(hào)乘8從IDT表中檢索的IDT描述
符是一個(gè)中斷門(mén)或陷阱門(mén),則表示中斷(或異常)處理
程序與當(dāng)前正執(zhí)行程序處于同一任務(wù)中,并且中斷(或
異常)處理程序的首地址由中斷門(mén)或陷阱門(mén)提供。其門(mén)
中選擇子用來(lái)選擇GDT或LDT中的描述符。該描述符
必須指定一個(gè)可執(zhí)行的存儲(chǔ)器段。該可執(zhí)行的存儲(chǔ)器段
即為中斷(或異常)處理程序所在的存儲(chǔ)段,它的起始
地址及限量均由其對(duì)應(yīng)的存儲(chǔ)段描述符給出,而中斷
(或異常)處理程序首地址在該存儲(chǔ)段中的偏移地址由
門(mén)描述符的偏移量給出。
門(mén)中選擇子所指可執(zhí)行存儲(chǔ)段描述符的類型及DPL
字段,用來(lái)確定中斷或異常是轉(zhuǎn)移到當(dāng)前特權(quán)級(jí)的某一
處理程序,還是轉(zhuǎn)移到一個(gè)新的特權(quán)級(jí)的處理程序。中
斷和異常可以轉(zhuǎn)移到同一特權(quán)級(jí)或內(nèi)層特權(quán)級(jí)的處理程
序。
43
通過(guò)中斷門(mén)或陷阱門(mén)向內(nèi)層轉(zhuǎn)移:
向內(nèi)中斷
向外返回
LIMIT
堆
棧
向
下
長(zhǎng)
增
中斷前及IRET
后的ESP指針
SS
外層棧
44
通過(guò)任務(wù)門(mén)的轉(zhuǎn)移
若通過(guò)中斷類型號(hào)乘8從IDT表中檢索的IDT
描述符是一個(gè)任務(wù)門(mén),則表示要轉(zhuǎn)移到不同任務(wù)
的處理程序,任務(wù)門(mén)提供一個(gè)16位選擇子以指向
處理程序任務(wù)的TSS段。通過(guò)任務(wù)門(mén)到一個(gè)可用的
TSS段,轉(zhuǎn)入中斷或異常的處理程序,中斷或異常
同過(guò)任務(wù)門(mén)引起的任務(wù)切換和程序轉(zhuǎn)移提供錯(cuò)誤
碼。在轉(zhuǎn)入過(guò)程中EFLAGS中NT位置L
45
第三節(jié)可編程中斷控制器8259A
一、引言
二、8259A的引腳、編程結(jié)構(gòu)和工作過(guò)程
三、8259A的編程
1.設(shè)置中斷屏蔽字
2?發(fā)中斷結(jié)束命令EOI
四、8259A在IBMPC/XT系統(tǒng)中的應(yīng)用
五、8259A在Pentium機(jī)中的應(yīng)用
46
、引言
47
中斷申請(qǐng)管理接口的主要功能:
1.向CPU的引腳INTR發(fā)中斷申請(qǐng)信號(hào)
當(dāng)有多個(gè)外設(shè)同時(shí)發(fā)出中斷請(qǐng)求時(shí),
能按照一定的優(yōu)先級(jí)順序,向CPU發(fā)出中斷申請(qǐng),
使CPU能優(yōu)先響應(yīng)優(yōu)先級(jí)最高的外部設(shè)備的中斷申請(qǐng)。
2.送中斷類型號(hào)
在CPU中斷響應(yīng)周期,針對(duì)不同外設(shè)的中斷請(qǐng)求,
向CPU傳送不同的中斷類型號(hào),
使CPU執(zhí)行相應(yīng)的中斷子程序。
在IBMPC機(jī)由8259A可編程中斷控制器(PIC)來(lái)完成。
48
二、8259A的引腳、編程結(jié)構(gòu)和工作過(guò)程
1.8259A結(jié)構(gòu)及引腳
2.8259A的編程結(jié)構(gòu)
3.8259A的工作過(guò)程
49
1.8259A結(jié)構(gòu)及引腳雙列直插式芯片,28個(gè)引腳
8259A
『
定時(shí)
器
總線Hz
18.2波
方
數(shù)據(jù)線IRO三
鍵
D0DO盤(pán)
IR1
保
D7IR2留
D7串
口2
IR3二
串1
IORRD口
IR4
iow硬
WR盤(pán)
IR5軟
盤(pán)
AOAO一
抗
IR6沖
幾
片
TR7一
選
A5
譯20?3FHSP/cEAN0用于多片
碼cA1
a8259A
A9cA2
級(jí)連情況
INTAINTAND
INTRINT
_L.
50
cs128—?vcc
-
W%
-227?AO
-D
326?—?INTA
RDI
7
<?1R7
D425
826
D524IR6
5
59十^IR5
AD623
?~~?
的4
DIR4
722??
弓3
DIR3
821?~?
D2
920-一IR2
D1
1019?IR1
o
1118―?IRO
CASO1217?INT
CAS11316—SP/EN
GND15―?CAS2
1451
INTAINT
D0-D7
RD
WR
AO
cs
CASO
CAS1
CAS2
SP/EN
內(nèi)部總線
52
8259A的結(jié)構(gòu)框圖
功能及工作特點(diǎn)
1)可用9片8259A來(lái)構(gòu)成64級(jí)的主從式中斷系統(tǒng)。
2)每一級(jí)中斷都可以屏蔽或允許。
3)8259A可提供相應(yīng)的中斷向量,從而能迅速地
轉(zhuǎn)至中斷服務(wù)程序。
4)通過(guò)編程使8259A工作在多種不同的方式。
5)工作時(shí)只需要一組+5V電源。
53
2.8259A的編程結(jié)構(gòu)
處理部分
總線mIR0
ISRnrIRRIR1
DO數(shù)據(jù)線DO當(dāng)前-r中斷IR2
苧申請(qǐng)IR3
D7D7服務(wù)PR寄存器IR4
A0寄存器nr優(yōu)先級(jí)IR5
AOnrIR6
片nr裁決器IR7
A5選
CS
A9譯iqwj§戶華基AOA。
碼口。卜1沖1。|1|。1。|1|。1”。1。11
中斷類型號(hào)OCW1中斷屏蔽寄存器IMR
RDICW2-SP/EN
IOR
II口。1。1III。-CA0
IOWWR
OCW2優(yōu)先級(jí)設(shè)置、發(fā)EOI-CA1
ICW3主從片連接關(guān)系-CA2
INTA1
INTAIIIIIIIIIII口。川口I°-VCC
INT
INTRICW4方式控制OCW3特殊屏蔽,查詢方式設(shè)置
-GND
控制部分
8259A的編程結(jié)構(gòu)8259A中斷控制器
處理部分IRR
8259A內(nèi)部有9個(gè)ISR中斷申請(qǐng)u
寄存器o
可讀寫(xiě)的寄存器當(dāng)前u
PRu
4個(gè)初始化命令寄存器服務(wù)u
寄存器優(yōu)先級(jí)u
ICW1.ICW2裁決器
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 利用新技術(shù)保障醫(yī)療行業(yè)的數(shù)據(jù)安全和用戶隱私
- 以風(fēng)險(xiǎn)控制為導(dǎo)引的區(qū)塊鏈技術(shù)在各行業(yè)的應(yīng)用前景分析
- 健康管理的未來(lái)趨勢(shì)-基于醫(yī)療大數(shù)據(jù)的挖掘與預(yù)測(cè)
- 辦公健康器械的創(chuàng)新研發(fā)與市場(chǎng)機(jī)遇
- 以用戶為中心的移動(dòng)互聯(lián)網(wǎng)醫(yī)療服務(wù)模式研究
- 辦公智能化醫(yī)工聯(lián)合的創(chuàng)新辦公解決方案
- 健康教育中的信息傳播與效果評(píng)估
- 電話計(jì)費(fèi)器企業(yè)數(shù)字化轉(zhuǎn)型與智慧升級(jí)戰(zhàn)略研究報(bào)告
- 智能型電抗器企業(yè)數(shù)字化轉(zhuǎn)型與智慧升級(jí)戰(zhàn)略研究報(bào)告
- 多金屬?gòu)?fù)合帶、管產(chǎn)品企業(yè)ESG實(shí)踐與創(chuàng)新戰(zhàn)略研究報(bào)告
- 蘇科版八年級(jí)數(shù)學(xué)下冊(cè)《二次根式的乘除》評(píng)課稿
- 訂單延期交貨的相關(guān)處理規(guī)定
- 車間新員工入廠三級(jí)安全教育培訓(xùn)試題及答案
- 井筒地面預(yù)注漿
- 《素描頭像說(shuō)課》
- 瀘州老窖大學(xué)生入職培訓(xùn)試題三
- Piper疲乏修訂量表附有答案
- 委托采購(gòu)合同模板 第三方委托采購(gòu)合同模板(六篇)
- GB/T 4744-2013紡織品防水性能的檢測(cè)和評(píng)價(jià)靜水壓法
- GB/T 4213-2008氣動(dòng)調(diào)節(jié)閥
- GB 15930-2007建筑通風(fēng)和排煙系統(tǒng)用防火閥門(mén)
評(píng)論
0/150
提交評(píng)論