版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、第章 中斷控制接口,7.1中斷和中斷系統(tǒng),CPU在正常執(zhí)行程序的過程中,當出現(xiàn)某些異常事件或某種外部請求時,暫時停止當前程序的執(zhí)行,而轉(zhuǎn)去處理臨時發(fā)生的事件,處理完畢后,再返回去繼續(xù)執(zhí)行暫停的程序,這個過程稱為中斷。,CPU執(zhí)行流程,非預(yù)料事件是指事件發(fā)生的時間無法預(yù)知,即中斷源何時產(chǎn)生中斷不確定,是隨機的。,中斷源產(chǎn)生中斷的隨機性,使中斷服務(wù)程序的執(zhí)行也具有隨機性,即何時執(zhí)行中斷服務(wù)程序不是在程序中安排好的。,非預(yù)料事件,中斷系統(tǒng),中斷系統(tǒng)是微機中實現(xiàn)中斷功能的各種軟、硬件的總稱 中斷系統(tǒng)一般包括CPU內(nèi)部相應(yīng)的中斷邏輯、接口中的中斷控制電路及各類中斷服務(wù)子程序,中斷系統(tǒng)相關(guān)概念,可屏蔽中斷
2、 (INTR) 不可屏蔽中斷 (NMI),外部中斷 (硬件中斷) 內(nèi)部中斷 (軟件中斷),(執(zhí)行指令所引起的),中斷源:引起中斷的原因,或能夠發(fā)出中斷請求信號的外設(shè) 中斷類型號:處理器對各類中斷的中斷源進行的統(tǒng)一編號N,N的取值范圍是0255,中斷系統(tǒng)相關(guān)概念,中斷向量:中斷向量即中斷服務(wù)子程序的入口地址,也就是中斷服務(wù)子程序的第一條指令的地址在存儲器中的存放位置 中斷向量表:中斷向量構(gòu)成的表格,位于存儲器的最低地址單元 中斷優(yōu)先級:在系統(tǒng)中多個中斷源可能同時提出中斷請求時,需要按中斷的輕重緩急給每個中斷源指定一個優(yōu)先級別,中斷系統(tǒng)相關(guān)概念,斷點:是指CPU執(zhí)行的現(xiàn)行程序被中斷時的下一條指令的
3、地址,又稱斷點地址,、 、 、 、 、 MOV AX, 0 ADD AX, DX MOV DI , AX 、 、 、 、 、 PUSH AX 、 、 IRET,地址1000:150H為斷點,斷點概念,中斷系統(tǒng)相關(guān)概念,中斷現(xiàn)場:是指CPU轉(zhuǎn)去執(zhí)行中斷服務(wù)程序前的運行狀態(tài),包括CPU內(nèi)部各寄存器、斷點地址等。,中斷嵌套:當CPU正在進行某一級別中斷源的中斷處理時,若有更高級別的新中斷源發(fā)出請求,且新中斷源滿足響應(yīng)條件,則CPU應(yīng)中止當前的中斷服務(wù)程序,保護此程序的斷點和現(xiàn)場,轉(zhuǎn)而響應(yīng)高級中斷。這種多級(重)中斷的處理方式稱為“嵌套”。,中斷嵌套過程示意圖,中斷嵌套必須具備的幾個條件,正處于響應(yīng)狀
4、態(tài)的中斷服務(wù)程序中,應(yīng)開放總中斷(IF位置1) 新中斷應(yīng)具有比原中斷有高的優(yōu)先級;同級或低級均不能嵌套 為保護各級中斷服務(wù)程序的數(shù)據(jù)不被破壞,所有服務(wù)程序中均應(yīng)有保護現(xiàn)場、恢復(fù)現(xiàn)場的指令 每個中斷服務(wù)程序末尾必須有IRET指令以示結(jié)束,從而返回被中斷的程序地址處,中斷系統(tǒng)相關(guān)概念,中斷屏蔽:在某些情況下,CPU可能不對中斷請求信號作出響應(yīng)或處理,這就是中斷屏蔽。 屏蔽情況 中斷屏蔽標志IF 接口電路中的中斷屏蔽寄存器 系統(tǒng)在處理優(yōu)先級別較高的中斷請求時,不會理睬后來的級別較低的中斷請求 。,程序中斷與子程序調(diào)用的區(qū)別,子程序的執(zhí)行是程序員事先安排好的(由調(diào)用子程序的指令轉(zhuǎn)入);中斷服務(wù)子程序的
5、執(zhí)行一般由隨機的中斷事件引發(fā)。 子程序的執(zhí)行受到主程序或上層子程序的控制;中斷服務(wù)子程序一般與被中斷的現(xiàn)行程序無關(guān)。 不存在同時調(diào)用多個子程序的情況,因此子程序不需要進行優(yōu)先級排隊;而不同中斷源則可能同時向CPU提出服務(wù)請求,因此需要中斷仲裁及優(yōu)先級排隊。,中斷系統(tǒng)的功能,一、實現(xiàn)中斷及返回 中斷源發(fā)出中斷請求,CPU決定是否響應(yīng),若響應(yīng),則保護斷點和現(xiàn)場,轉(zhuǎn)入相應(yīng)中斷服務(wù)程序,中斷服務(wù)結(jié)束后,恢復(fù)現(xiàn)場和斷點,繼續(xù)執(zhí)行原程序。,中斷系統(tǒng)的功能,二、能實現(xiàn)優(yōu)先權(quán)排隊 按各中斷請求的重要程度排列CPU響應(yīng)的次序稱為中斷優(yōu)先級。 即同時有多個中斷請求到來時,CPU會首先響應(yīng)和處理優(yōu)先級別最高的中斷請
6、求。 中斷優(yōu)先級的實現(xiàn)可以用軟件或硬件設(shè)置,中斷的過程,中斷請求 中斷響應(yīng) 中斷處理 關(guān)中斷 保留斷點 保護現(xiàn)場 給出中斷入口,轉(zhuǎn)入相應(yīng)的中斷服務(wù)程序 恢復(fù)現(xiàn)場 開中斷與返回,中斷處理過程,中斷檢測 CPU內(nèi)部硬件自動完成 中斷響應(yīng) CPU內(nèi)部硬件自動完成 中斷服務(wù) 中斷服務(wù)是根據(jù)用戶自行編制的指令順序完成各項操作的。,中斷優(yōu)先權(quán),軟件查詢確定中斷優(yōu)先權(quán),軟件查詢確定中斷優(yōu)先權(quán),軟件查詢確定中斷優(yōu)先權(quán),查詢程序 XORAL,AL;CF=0 MOVDX,340H INAL,DX;讀入中斷寄存器狀態(tài) RCRAL,1 JCSERV0;若有請求,則轉(zhuǎn)中斷服務(wù)程序 RCRAL,1 JCSERV1 RCR
7、AL,1 JCSERV2 RCRAL,1 JCSERV3,中斷優(yōu)先權(quán),鏈式電路判優(yōu) 專用硬件方式,硬件優(yōu)先權(quán)排序電路,菊花鏈優(yōu)先排隊,7.2 8086 CPU的中斷系統(tǒng),7.2.1 8086的中斷類型,中斷源的優(yōu)先級順序為:被0除中斷軟件中斷INTO NMI INTR 單步中斷。,CPU內(nèi)的中斷邏輯,中斷類型碼,一、中斷類型碼:8086可以處理256個中斷請求。每個中斷請求均對應(yīng)于唯一固定的類型碼。被0除類型碼是0,單步為1; NMI為2;斷點中斷為3,溢出中斷為4,IBM-PC/XT中斷類型號的功能分配,8086中斷系統(tǒng)中斷源的優(yōu)先級,X86系列微機的硬中斷控制邏輯,INTR NMI,中斷向
8、量和中斷向量表,二、中斷向量:中斷服務(wù)程序的入口地址,包括段地址(存放于高字單元)和偏移地址(存放于低字單元)。 三、中斷向量表:存放中斷向量的表格。位于內(nèi)存空間的最低地址(000H-3FFH),長度1KB,可容納256類中斷向量(25641024)。,7.2.2 8086的中斷向量與中斷向量表,8086的中斷向量表,中斷向量地址,中斷向量地址就是中斷向量在中斷向量表中的位置,中斷向量地址與中斷類型號之間的關(guān)系表示為: 中斷向量地址=中斷向量類型號*4,7.2.3 8086 CPU中斷處理過程,中斷處理的基本過程,中斷向量和中斷向量表,中斷響應(yīng)與處理,中斷類型碼的獲取 NMI、斷點中斷、溢出中
9、斷、被0除、單步中斷等類型碼固定。 INT N軟中斷類型碼由立即數(shù)N給出。 外部中斷由接口電路提供中斷類型碼。 獲得中斷類型碼后,如何進入中斷服務(wù)程序 中斷類型碼乘以4,得中斷向量表的向量首址指針 取中斷向量:把向量表指針所指的4個連續(xù)字節(jié)的內(nèi)容作為中斷服務(wù)程序的入口地址,分別送給IP和CS 按新的CS:IP指針執(zhí)行中斷服務(wù)程序,(FLAG),0150,1000,中斷響應(yīng)過程,中斷響應(yīng)周期時序,CPU從引腳/INTA 發(fā)中斷響應(yīng)信號,接口芯片接收此信號,把中斷類型號準備好;同時ISRi=1,IRRi=0 CPU再從引腳/INTA 發(fā)中斷響應(yīng)信號,接口芯片接此信號后,將中斷類型號送至數(shù)據(jù)總線上;
10、 CPU從數(shù)據(jù)總線獲取中斷類型號。,系統(tǒng)的中斷分配情況,我的電腦/控制面板/系統(tǒng)/計算機管理/計算機/屬性/中斷請求,8086的中斷過程,結(jié)束當前指令,內(nèi)部中斷?,NMI中斷?,N,Y,INTR中斷?,TF=1?,N,Y,IF=1?,Y,從總線上取中斷類型號,N,N,執(zhí)行下一條指令,FLAG壓棧,IF=0,TF=0,保護斷點:CS、IP壓棧,根據(jù)中斷類型號獲取中斷 向量,進入中斷處理過程,恢復(fù)斷點:CS、IP出棧,FLAG出棧,中斷響應(yīng)過程,中斷返回過程,外部中斷源的管理,多個外部硬件中斷源共用一條INTR線時,要在程序中采取一定措施或用外部硬件解決中斷源的優(yōu)先權(quán)排列和多級中斷的嵌套等。 中斷
11、優(yōu)先權(quán)(優(yōu)先級):中斷優(yōu)先權(quán)就是為每個中斷源所確定的響應(yīng)級別。 軟件排序:CPU響應(yīng)中斷后,在程序中用查詢的方法判定外設(shè)的中斷請求。,外部中斷源的管理,INTR中斷接口電路,7.3 中斷控制器8259A,單片8259能管理8級中斷,并且可級聯(lián)管理64級 有中斷判優(yōu)邏輯功能,可對任一級中斷單獨屏蔽 中斷被響應(yīng)后,可直接提供中斷類型號 可通過編程選擇其工作方式 中斷觸發(fā)方式的設(shè)置 中斷響應(yīng)方式的設(shè)置 中斷嵌套方式的設(shè)置 中斷結(jié)束方式的設(shè)置 總線連接方式的設(shè)置及優(yōu)先權(quán)的設(shè)置,7.3 中斷控制器8259A,7.3.1 8259A的引腳信號、內(nèi)部結(jié)構(gòu)和工作原理,8259A內(nèi)部結(jié)構(gòu),專用中斷控制芯片825
12、9,單片8259能管理8級中斷,并且可級聯(lián)管理64級 有中斷判優(yōu)邏輯功能,可對任一級中斷單獨屏蔽 中斷被響應(yīng)后,可直接提供中斷類型號 可通過編程選擇其工作方式 中斷觸發(fā)方式的設(shè)置 中斷響應(yīng)方式的設(shè)置 中斷嵌套方式的設(shè)置 中斷結(jié)束方式的設(shè)置 總線連接方式的設(shè)置及優(yōu)先權(quán)的設(shè)置,7.3.2 8259A的工作方式,中斷請求方式 邊沿觸發(fā)方式 電平觸發(fā)方式 中斷查詢方式 中斷源屏蔽方式 普通屏蔽方式 特殊屏蔽方式 設(shè)置優(yōu)先級的方式 全嵌套方式 特殊全嵌套方式 優(yōu)先級自動循環(huán)方式 優(yōu)先級特殊循環(huán)方式,8259A的工作方式,中斷結(jié)束方式 中斷自動結(jié)束方式(AEOI) 普通EOI結(jié)束方式 特殊EOI結(jié)束方式
13、讀8259A狀態(tài) 連接系統(tǒng)總線的方式 緩沖方式 非緩沖方式,8259A緩沖方式下級聯(lián)結(jié)構(gòu),8259A緩沖方式下級聯(lián)結(jié)構(gòu),8259A非緩沖方式下級聯(lián)結(jié)構(gòu),8259A非緩沖方式下級聯(lián)結(jié)構(gòu),7.3.3 8259A的初始化命令字和操作命令字,8259A的初始化命令字ICW 初始化命令字通常是系統(tǒng)開機時由初始化程序設(shè)置的,寫入相應(yīng)的初始化命令字寄存器中,用于設(shè)定8259A的工作方式、中斷類型碼等,在整個系統(tǒng)工作過程中保持不變。8259A的初始化命令字共有4個:ICW1ICW4。,(1)ICW1的格式和含義,(2)ICW2的格式和含義,(3)ICW3的格式和含義,(4)ICW4的格式和含義,8259A的初
14、始化編程,初始化編程,按照如下要求對8259A設(shè)置初始化命令字:系統(tǒng)中僅用一片8259A,中斷請求信號采用邊沿觸發(fā)方式;中斷類型碼為08H0FH;用全嵌套、緩沖、非自動結(jié)束中斷方式。8259A的端口地址為20H和21H。 MOV AL, 13H ;ICW1:邊沿觸發(fā),單片,設(shè)置ICW4 OUT 20H, AL MOV AL, 8 ;ICW2:中斷類型碼為08H0FH OUT 21H, AL MOV AL, 0DH ;ICW4:全嵌套、緩沖、非自動結(jié)束中斷方式 OUT 21H,AL,初始化編程,試對一個主從式8259A進行初始化命令字的設(shè)置。從片的INT與主片的IR2相連。從片的中斷類型碼為70
15、H77H,端口地址為A0H和A1H;主片的中斷類型碼為08H0FH,端口地址為20H和21H。中斷請求信號采用邊沿觸發(fā),采用全嵌套、緩沖、非自動結(jié)束中斷方式。,初始化編程,主片初始化程序段: MOVAL,11H ;ICW1 OUT20H,AL MOVAL,8 ;ICW2:中斷類型碼為08H0FH OUT21H,AL MOVAL,4 ;ICW3:IR2上連接從片 OUT21H,AL MOVAL,0DH ;ICW4 OUT21H,AL,初始化編程,從片初始化程序段: MOV AL, 11H;ICW1 OUT 0A0H,AL MOV AL, 70H ;ICW2:中斷類型碼為70H77H OUT 0A
16、1H,AL MOVAL,2 ;ICW3:從片的識別地址,即主片的IR2 OUT0A1H,AL MOVAL,9 OUT0A1H,AL,8259A的操作命令字OCW,8259A操作命令字共有3個,即OCW1OCW3。操作命令字是在應(yīng)用程序中內(nèi)部設(shè)置,設(shè)置時,次序上沒有嚴格的要求。但是,對端口地址有嚴格規(guī)定,即OCW1必須寫入奇地址端口(A0=1),OCW2和OCW3必須寫入偶地址端口(A0=0)。,OCW1的格式和含義,OCW2的格式和含義,OCW3的格式和含義,OCW1的編程,OCW1的編程 OCW1是一個中斷屏蔽操作控制字,直接寫入中斷屏蔽寄存器IMR。由于地址用A0=1尋址,故在IBM PC
17、 和XT機中,該控制字的寫入由端口21H寫操作完成。在IBM PC/AT中,主片用端口21H寫入,從片用端口A1H寫入。在中斷服務(wù)程序內(nèi)部和其他子程序中,均可使用該命令。例如對主片屏蔽IR4IR7,對從片屏蔽IR15 和IR8,則應(yīng)該向主片寫入11110000=F0H,向從片寫入10000001=81H,分別寫入端口21H和A1H。,OCW1的編程,MOV021H, 0F0H OUT021H, AL MOV AL,81H OUT0A1H,AL,7.3.4 8259A應(yīng)用舉例,讀8259A相關(guān)寄存器的內(nèi)容。 設(shè)8259A的端口地址為20H、21H,讀出IRR、ISR、IMR寄存器的內(nèi)容,并相繼保
18、存在數(shù)據(jù)段2000H開始的內(nèi)存單元中;若該8259A為主片,請用查詢方式,查詢哪個從片有中斷請求。,編程,MOV AL,xxx01010B;發(fā)OCW3,欲讀取IRR的內(nèi)容 OUT 20H,AL INAL,20H;讀入并保存IRR的內(nèi)容 MOV 2000H,AL MOV AL,xxx01011B;發(fā)OCW3,欲讀取ISR的內(nèi)容 OUT 20H,AL,編程,IN AL,20H;讀入并保存ISR的內(nèi)容 MOV2001H,AL IN AL,21H;讀入并保存IMR的內(nèi)容 MOV 2002H,AL MOV AL,xxx0110 xb;發(fā)OCW3,欲查詢是否有中斷請求 OUT 20H,AL INAL,20
19、H;讀入相應(yīng)狀態(tài),并判斷最高位是否是1 TEST AL,80H JZDONE AND AL,07H;判斷中斷源的編碼 DONE:HLT,初始化編程,8259A 在IBM PC/XT機中的初始化編程。 IBM PC/XT使用一片8259A 管理可屏蔽中斷,其連接線路如圖7-15所示。 工作在8086/8088系統(tǒng)(即有ICW4)、單片8259A、邊沿觸發(fā)方式。 中斷類型碼初始值為08H,即IRQ0IRQ7對應(yīng)的中斷類型碼為08H0FH。 中斷服務(wù)結(jié)束時,用常規(guī)的中斷結(jié)束命令,固定優(yōu)先權(quán)級別。即IRQ0優(yōu)先權(quán)最高,IRQ7最低。,連接線路,初始化編程,MOVAL,13H;寫入ICW1:邊沿觸發(fā),單
20、片,要ICW4 OUT20H,AL MOVAL,08H;寫入ICW2:中斷類型號的初值為08H OUT21H,AL MOVAL,09H;寫入ICW4:8086系統(tǒng),非自動EOI,非緩沖 OUT21H,AL MOVAL,0FFH;OCW4:屏蔽所有中斷 OUT21H,AL,7.4 中斷程序設(shè)計用戶中斷服務(wù)子程序的裝載,將用戶中斷服務(wù)子程序的入口地址放入中斷向量表的相應(yīng)位置的過程稱為用戶中斷服務(wù)子程序的裝載 。 常用的裝載方法有三種,用戶中斷服務(wù)子程序的裝載,1、定義數(shù)據(jù)段與向量表重合 DATA SEGMENT AT 0000H ; 定義數(shù)據(jù)段(DS) = 0000H ORG n * 4 ; n為
21、中斷類型號 SUP DW noffset ; 中斷服務(wù)程序的入口IP DW nseg ; 中斷服務(wù)程序的入口CS DATA ENDS,用戶中斷服務(wù)子程序的裝載,2、程序初始化部分用數(shù)據(jù)傳送指令 DATA SEGMENT AT 0000H ORG n * 4 SUP DW 2DUP(?) DATA ENDS CODE SEGMENT ASSUME CS:CODE, ES:DATA MOV AX, DATA MOV ES, AX MOV ES:SUP, OFFSET INISUP ; 中斷服務(wù)程序的入口IP MOV ES:SUP+2, SEG INISUP ; 中斷服務(wù)程序的入口CS,用戶中斷服務(wù)
22、子程序的裝載,3、DOS中斷功能調(diào)用 INT 21H置中斷向量功能 功能號 25H AH 中斷號 n AL 入口參數(shù) 中斷服務(wù)程的入口地址CS:IP DS:DX INT 21H 注: 中斷服務(wù)程的入口地址CS:IP值將放入 中斷向量表的n*4處連續(xù)4個存儲單元中,用戶中斷服務(wù)子程序的裝載,INT 21H讀中斷向量功能 功能號 35H AH 中斷號 n AL INT 21H 出口參數(shù) ES:BX 注: ES:BX中為中斷號n的中斷服務(wù)程 的入口地址CS:IP值,用戶中斷服務(wù)子程序的裝載,3、DOS中斷功能調(diào)用 ;-保存原向量- MOV AL, N; AL中預(yù)置中斷類型號 MOV AH, 35H;
23、 AH中預(yù)置功能號35H INT 21H; 調(diào)用DOS中斷將取中 斷向量到ES:BX中 PUSHES; 保存原中斷向量的段 基址部分 PUSH BX; 保存原中斷向量的段 內(nèi)偏移量部分,用戶中斷服務(wù)子程序的裝載,;-設(shè)置新向量- PUSHDS MOVAX, SEG INTSUB MOV DS, AX; DS中預(yù)置段基址 MOV DX, OFFSET INTSUB; DX中預(yù)置偏移量 MOV AL, N; AL中預(yù)置中斷類型號 MOV AH, 25H; AH中預(yù)置功能號25H INT 21H; 調(diào)用DOS中斷將用戶中斷向量置入中斷向量表 POPDS ,置中斷向量例,某中斷服務(wù)程序的 中斷號為40H,中斷 務(wù)程序的入口地址 CS:IP =3500H:4830H 用INT 21H功能置 中斷向量到中斷向 量表中,MOV AH, 25H MOV AL, 40H PUSH DS 40H*4 MOV BX, 3500H MOV DS, BX MOV DX, 4830H INT 21H POP DS,中斷服務(wù)程序,保護現(xiàn)場:保存
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 蜜蜂養(yǎng)殖場生產(chǎn)制度
- 消毒生產(chǎn)設(shè)備采購制度
- 生產(chǎn)指揮車輛管理制度
- 車站安全生產(chǎn)告誡制度
- 農(nóng)業(yè)生產(chǎn)廢棄物制度
- 林業(yè)生產(chǎn)用工管理制度
- 2026浙江南方水泥有限公司校園招聘參考考試試題附答案解析
- 直接生產(chǎn)費用報銷制度
- 廚房生產(chǎn)內(nèi)控制度
- 車間設(shè)備生產(chǎn)安全制度
- 2024-2025學年湖北省新高考聯(lián)考協(xié)作體高一上學期12月聯(lián)考生物B及答案
- 攻擊面管理技術(shù)應(yīng)用指南 2024
- 波形護欄施工質(zhì)量控制方案
- 電梯井道腳手架搭設(shè)方案
- DL∕T 622-2012 立式水輪發(fā)電機彈性金屬塑料推力軸瓦技術(shù)條件
- 傳染病學-病毒性肝炎
- 重慶市沙坪壩小學小學語文五年級上冊期末試卷
- 陶瓷巖板應(yīng)用技術(shù)規(guī)程
- 中藥制劑技術(shù)中職PPT完整全套教學課件
- 龍虎山正一日誦早晚課
- WORD版A4橫版密封條打印模板(可編輯)
評論
0/150
提交評論