




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(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)部原因,稱(chēng)為中斷源
□給每個(gè)中斷源指定一個(gè)優(yōu)先權(quán),稱(chēng)為中斷優(yōu)先權(quán)
□當(dāng)多個(gè)中斷源同時(shí)發(fā)出中斷請(qǐng)求時(shí),
CPU按照中斷優(yōu)先權(quán)的高低順序,依次響應(yīng)。
6
三、中斷服務(wù)程序
處理中斷源,完成其所要求功能的程序,
稱(chēng)中斷服務(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í)的下一條指令的地址,
又稱(chēng)斷點(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)生中斷(稱(chēng)硬件中斷或外中斷),
還可由CPU內(nèi)部產(chǎn)生(如被零除操作),
或者由程序預(yù)先安排,即由指令調(diào)用中斷服務(wù)程序。
(稱(chēng)軟件中斷或內(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
(一)異常分類(lèi)
產(chǎn)生異常后,系統(tǒng)根據(jù)引起異常的程序是否可被恢復(fù)這
一原則,進(jìn)一步又把異常分為故障(fault),陷阱(trap)和中
止(abort)3類(lèi)。
故障是引起故障的程序可被恢復(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é)處理器段越界異常,屬中止類(lèi)異常.
10、異常10
異常10定義為無(wú)效TSS故障.
11、異常n
異常11定義為段不存在異常,屬故障類(lèi)型.
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ā)生在用戶(hù)方式
異常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
中斷/異常類(lèi)型優(yōu)先級(jí)
排錯(cuò)故障最高
非排錯(cuò)故障
陷阱指令I(lǐng)NTnINTO
NMI中斷
最低
INTR中斷
中斷/異常的優(yōu)先級(jí)
21
第二節(jié)80x86CPU的中斷系統(tǒng)
一、8088CPU的中斷分類(lèi)
二、8088CPU的中斷優(yōu)先權(quán)
三、8088CPU響應(yīng)中斷的過(guò)程
四、8088CPU如何獲取中斷類(lèi)型號(hào)
五、保護(hù)方式下的中斷和異常
22
-、8088CPU的中斷分類(lèi)
按中斷源的不同,中斷分為內(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支持兩種類(lèi)型的中斷:
可屏蔽中斷及不可屏蔽中斷(非屏蔽中斷),并有
相應(yīng)的兩個(gè)中斷請(qǐng)求引腳信號(hào)——INTR及NML
25
?可屏蔽中斷
由INTR引腳引起的中斷,稱(chēng)可屏蔽中斷。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引腳引起的中斷,稱(chēng)非屏蔽中斷。
當(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)中斷、非屏蔽中斷,還是可屏蔽中斷,
只要滿(mǎn)足響應(yīng)條件,在執(zhí)行完當(dāng)前指令后,
CPU內(nèi)部硬件會(huì)自動(dòng)完成下列響應(yīng)中斷的過(guò)程:
①取中斷類(lèi)型號(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和總線(xiàn)控制邏輯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)類(lèi)型碼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í)行類(lèi)型號(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)
類(lèi)型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如何獲取中斷類(lèi)型號(hào)
由前面介紹知,當(dāng)中斷源產(chǎn)生中斷請(qǐng)求后,
不論是內(nèi)中斷、非屏蔽中斷,還是可屏蔽中斷,
只要滿(mǎn)足響應(yīng)條件,在執(zhí)行完當(dāng)前指令后,
CPU內(nèi)部硬件會(huì)自動(dòng)完成響應(yīng)中斷的過(guò)程,共七個(gè)步驟
而第一步就是獲取中斷類(lèi)型號(hào)。
不同的中斷源,8088CPU獲取中斷類(lèi)型號(hào)的方法不同。
36
根據(jù)8088CPU對(duì)中斷的分類(lèi),各中斷獲取類(lèi)型號(hào)的方法
①CPU執(zhí)行除零或OF為1執(zhí)行INTO指令
除零固定類(lèi)型號(hào)00H
內(nèi)OF為1執(zhí)行INTO指令固定類(lèi)型號(hào)04H
②使用DEBUG下的單步和斷點(diǎn)操作
中
單步固定類(lèi)型號(hào)01H
斷點(diǎn)固定類(lèi)型號(hào)03H
斷
③執(zhí)行中斷調(diào)用指令I(lǐng)NTN
由指令中給出指令中指定類(lèi)型號(hào)N
①非屏蔽中斷
外引腳NMI上有中斷申請(qǐng)信號(hào)(上升沿信號(hào))
非屏蔽中斷固定類(lèi)型號(hào)02H
中②可屏蔽中斷(參看中斷響應(yīng)時(shí)序圖)
當(dāng)IF=1,引腳INTR上有中斷申請(qǐng)信號(hào)(高電平信號(hào))
斷
CPU按中斷響應(yīng)周期時(shí)序,從數(shù)據(jù)總線(xiàn)上獲取中斷類(lèi)型號(hào)
可屏蔽中斷外部接口送上類(lèi)型號(hào)
37
中斷響應(yīng)周期時(shí)序
接口芯片接收此信號(hào),把中斷類(lèi)型號(hào)準(zhǔn)備好;同時(shí)ISRi=l,IRRi=O。
?CPU再?gòu)囊_而X發(fā)中斷響應(yīng)信號(hào),
接口芯片接此信號(hào)后,將中斷類(lèi)型號(hào)送至數(shù)據(jù)總線(xiàn)上;
?CPU從數(shù)據(jù)總線(xiàn)獲取中斷類(lèi)型號(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由稱(chēng)為門(mén)的8字節(jié)中斷描述符組成,每個(gè)描述
符為IDT中的一項(xiàng),對(duì)應(yīng)一個(gè)中斷類(lèi)型,共有256個(gè)中
斷類(lèi)型號(hào),IDT中最多可容納256個(gè)項(xiàng)。
IDT中每一項(xiàng)可能含有3種特殊類(lèi)型描述符之一:
中斷門(mén);陷阱門(mén);任務(wù)門(mén)。
可用中斷類(lèi)型號(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類(lèi)型未用
4
代碼段選擇器
2
便移量
0
150
偏移量(高)
80386/804866
中斷或陷阱門(mén)1L型1
PDPL0000保留
4
代碼段選擇器
2
偏移量(低1)
0
保留
任務(wù)門(mén)
PDPL0類(lèi)型保留
TSS段選擇器
保留41
中斷描述符格式0
通過(guò)中斷門(mén)及陷阱門(mén)的轉(zhuǎn)移
線(xiàn)性地址空間42
若通過(guò)中斷類(lèi)型號(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ǔ)段描述符的類(lèi)型及DPL
字段,用來(lái)確定中斷或異常是轉(zhuǎn)移到當(dāng)前特權(quán)級(jí)的某一
處理程序,還是轉(zhuǎn)移到一個(gè)新的特權(quán)級(jí)的處理程序。中
斷和異??梢赞D(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ò)中斷類(lèi)型號(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.送中斷類(lèi)型號(hào)
在CPU中斷響應(yīng)周期,針對(duì)不同外設(shè)的中斷請(qǐng)求,
向CPU傳送不同的中斷類(lèi)型號(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í)
器
總線(xiàn)Hz
18.2波
方
數(shù)據(jù)線(xiàn)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)部總線(xiàn)
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)
處理部分
總線(xiàn)mIR0
ISRnrIRRIR1
DO數(shù)據(jù)線(xiàn)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§戶(hù)華基AOA。
碼口。卜1沖1。|1|。1。|1|。1”。1。11
中斷類(lèi)型號(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特殊屏蔽,查詢(xún)方式設(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)益歸上傳用戶(hù)所有。
- 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 主管的自我約束與職業(yè)操守計(jì)劃
- 戰(zhàn)略規(guī)劃與執(zhí)行框架計(jì)劃
- 九下必考名著《簡(jiǎn)愛(ài)》考點(diǎn)匯編及中考真題
- 會(huì)計(jì)職業(yè)認(rèn)證與持續(xù)教育計(jì)劃
- 足浴店客戶(hù)服務(wù)的語(yǔ)言藝術(shù)與禮儀
- 零售店面裝飾趨勢(shì)與消費(fèi)者購(gòu)物體驗(yàn)
- 跨境電商的物流模式創(chuàng)新與實(shí)踐
- 高海拔地區(qū)的特殊營(yíng)養(yǎng)餐策略
- 非課改地區(qū)專(zhuān)用2024-2025版高中政治第二單元周練過(guò)關(guān)五新人教版必修1
- 浙江國(guó)企招聘2025金華市數(shù)字紅人文化傳媒有限公司招聘2人筆試參考題庫(kù)附帶答案詳解
- 學(xué)前比較教育(學(xué)前教育專(zhuān)業(yè))第3版全套教學(xué)課件
- 企業(yè)人力資源內(nèi)部審核檢查表
- 《素描》課件-第一章 素描入門(mén)
- GB/T 42828.1-2023鹽堿地改良通用技術(shù)第1部分:鐵尾砂改良
- 工資條(標(biāo)準(zhǔn)模版)
- 第四講 搜索引擎檢索
- 法語(yǔ)的發(fā)音規(guī)則及法語(yǔ)單詞分類(lèi)記憶
- 衛(wèi)生和微生物基礎(chǔ)知識(shí)培訓(xùn)-
- ICU輪轉(zhuǎn)護(hù)士培訓(xùn)計(jì)劃和手冊(cè)
- GB/T 9787-1988熱軋等邊角鋼尺寸、外形、重量及允許偏差
- GB/T 17614.1-2015工業(yè)過(guò)程控制系統(tǒng)用變送器第1部分:性能評(píng)定方法
評(píng)論
0/150
提交評(píng)論