版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、熱能與動力工程熱能與動力工程第第7章典型可編程接口芯片及應(yīng)用章典型可編程接口芯片及應(yīng)用熱能與動力工程熱能與動力工程7.1 中斷系統(tǒng)及可編程中斷控制器中斷系統(tǒng)及可編程中斷控制器8259 熱能與動力工程熱能與動力工程熱能與動力工程熱能與動力工程 熱能與動力工程熱能與動力工程中斷服務(wù)程序中斷服務(wù)程序1中斷服務(wù)程序中斷服務(wù)程序 2 2非預(yù)料事件非預(yù)料事件1非預(yù)料事件非預(yù)料事件 2 2CPU執(zhí)行流程執(zhí)行流程熱能與動力工程熱能與動力工程中斷的用途中斷的用途 1、同步處理、同步處理2、實現(xiàn)了實時處理、實現(xiàn)了實時處理3、多道程序或多重任務(wù)的運行、多道程序或多重任務(wù)的運行4、突發(fā)事件處理、突發(fā)事件處理熱能與動力
2、工程熱能與動力工程有關(guān)中斷的基本概念(續(xù))有關(guān)中斷的基本概念(續(xù)) 二、中斷源二、中斷源 能夠引起中斷的原因,或能夠發(fā)出中斷請求信號的能夠引起中斷的原因,或能夠發(fā)出中斷請求信號的外設(shè)。外設(shè)??善帘沃袛嗫善帘沃袛?(INTR)不可屏蔽中斷不可屏蔽中斷 (NMI)外部中斷外部中斷(硬中斷)(硬中斷)內(nèi)部中斷內(nèi)部中斷(軟中斷)(軟中斷)(因執(zhí)行指令而引起)(因執(zhí)行指令而引起)熱能與動力工程熱能與動力工程1000:150H 、 、 、 、 、MOV AH, 01INT 21HCMP AL, 0DH、 PUSH AX 、 、IRET用指令調(diào)用中斷程序用指令調(diào)用中斷程序軟件中斷軟件中斷熱能與動力工程熱能與
3、動力工程斷點:斷點: 通常指被中斷的主程序中,下一條待運行的指令的地址。通常指被中斷的主程序中,下一條待運行的指令的地址。它是中斷返回時的指令指針之值。由于是指它是中斷返回時的指令指針之值。由于是指CPU執(zhí)行的現(xiàn)行程執(zhí)行的現(xiàn)行程序被中斷時的下一條指令的地址序被中斷時的下一條指令的地址,又稱斷點地址。又稱斷點地址。現(xiàn)場:現(xiàn)場: 指中斷發(fā)生前程序的運行狀態(tài),即標(biāo)志寄存器(程序狀指中斷發(fā)生前程序的運行狀態(tài),即標(biāo)志寄存器(程序狀態(tài)字)。為了保證中斷返回后能繼續(xù)正確地執(zhí)行原來的程序,態(tài)字)。為了保證中斷返回后能繼續(xù)正確地執(zhí)行原來的程序,中斷系統(tǒng)必須能在中斷發(fā)生時自動保存現(xiàn)場,并在中斷返回時中斷系統(tǒng)必須能
4、在中斷發(fā)生時自動保存現(xiàn)場,并在中斷返回時自動恢復(fù)現(xiàn)場。(是指自動恢復(fù)現(xiàn)場。(是指CPU轉(zhuǎn)去執(zhí)行中斷服務(wù)程序前的運行狀轉(zhuǎn)去執(zhí)行中斷服務(wù)程序前的運行狀態(tài),包括態(tài),包括CPU內(nèi)部各寄存器、斷點地址等。)內(nèi)部各寄存器、斷點地址等。)三、中斷的斷點和現(xiàn)場三、中斷的斷點和現(xiàn)場熱能與動力工程熱能與動力工程1000:150H 、 、 、 、 、MOV AX, 0ADD AX, DXMOV DI , AX、 PUSH AX 、 、 IRETCPU在執(zhí)行此指令時,在執(zhí)行此指令時,某中斷源發(fā)申請中斷某中斷源發(fā)申請中斷;CPU在執(zhí)行完該指令后,在執(zhí)行完該指令后,轉(zhuǎn)去執(zhí)行中斷子程轉(zhuǎn)去執(zhí)行中斷子程地址地址1000:150
5、H為斷點為斷點斷點概念斷點概念熱能與動力工程熱能與動力工程 系統(tǒng)中的多個中斷源可能同時提出中斷請求,此時需系統(tǒng)中的多個中斷源可能同時提出中斷請求,此時需要按中斷事件的輕重緩急為每個中斷源指定一個處理的優(yōu)先要按中斷事件的輕重緩急為每個中斷源指定一個處理的優(yōu)先級別,即級別,即中斷優(yōu)先級中斷優(yōu)先級。 當(dāng)多個中斷源同時提出中斷請求時,中斷系統(tǒng)按照優(yōu)當(dāng)多個中斷源同時提出中斷請求時,中斷系統(tǒng)按照優(yōu)先級對中斷源進(jìn)行排隊,總是優(yōu)先處理優(yōu)先權(quán)高的中斷。先級對中斷源進(jìn)行排隊,總是優(yōu)先處理優(yōu)先權(quán)高的中斷。 四、中斷優(yōu)先級四、中斷優(yōu)先級熱能與動力工程熱能與動力工程當(dāng)前當(dāng)前CPU正在進(jìn)行某一優(yōu)先權(quán)級別的中斷源的處理;正
6、在進(jìn)行某一優(yōu)先權(quán)級別的中斷源的處理;有更高級別的中斷源發(fā)出請求,且新中斷源滿足響應(yīng)條件;有更高級別的中斷源發(fā)出請求,且新中斷源滿足響應(yīng)條件;CPU中止當(dāng)前的中斷服務(wù)程序,保護(hù)斷點和現(xiàn)場,轉(zhuǎn)而響中止當(dāng)前的中斷服務(wù)程序,保護(hù)斷點和現(xiàn)場,轉(zhuǎn)而響應(yīng)高級中斷應(yīng)高級中斷 這種多級中斷的處理方式即為這種多級中斷的處理方式即為“嵌套嵌套”。某些中斷系。某些中斷系統(tǒng)對中斷嵌套的層數(shù)有一定限制。統(tǒng)對中斷嵌套的層數(shù)有一定限制。五、中斷嵌套五、中斷嵌套熱能與動力工程熱能與動力工程 高級中斷源能中斷低級的中斷處理高級中斷源能中斷低級的中斷處理 當(dāng)當(dāng)CPU正在處理某個中斷時,如果外部又有一個優(yōu)先正在處理某個中斷時,如果外
7、部又有一個優(yōu)先級別比本優(yōu)先級別更高的中斷請求,則可以實現(xiàn)級別比本優(yōu)先級別更高的中斷請求,則可以實現(xiàn)。熱能與動力工程熱能與動力工程CPU正常執(zhí)行正常執(zhí)行中斷服務(wù)程序中斷服務(wù)程序1 1非預(yù)料事件非預(yù)料事件1 1中斷服務(wù)程序中斷服務(wù)程序2非預(yù)料事件非預(yù)料事件2熱能與動力工程熱能與動力工程中斷嵌套必須具備的幾個條件中斷嵌套必須具備的幾個條件1)第一級中斷(已處于響應(yīng)狀態(tài)的原中斷)的服務(wù)程序中,)第一級中斷(已處于響應(yīng)狀態(tài)的原中斷)的服務(wù)程序中,應(yīng)在應(yīng)在保護(hù)現(xiàn)場執(zhí)行完畢后保護(hù)現(xiàn)場執(zhí)行完畢后加上開放總中斷(加上開放總中斷(IF位置位置1)的)的指令;指令;2)新到來的中斷應(yīng)具有比原中斷)新到來的中斷應(yīng)具有
8、比原中斷高的優(yōu)先級高的優(yōu)先級,同級或低級,同級或低級均不能嵌套;均不能嵌套;3)為保護(hù)各級中斷服務(wù)程序的數(shù)據(jù)不被破壞,所有服務(wù)程)為保護(hù)各級中斷服務(wù)程序的數(shù)據(jù)不被破壞,所有服務(wù)程序中均應(yīng)有序中均應(yīng)有保護(hù)現(xiàn)場、恢復(fù)現(xiàn)場保護(hù)現(xiàn)場、恢復(fù)現(xiàn)場的指令;的指令;4)每個中斷服務(wù)程序末尾必須有)每個中斷服務(wù)程序末尾必須有IRET指令指令以示結(jié)束,從而以示結(jié)束,從而返回被中斷的程序地址處返回被中斷的程序地址處熱能與動力工程熱能與動力工程 某些情況下某些情況下CPU可能不對已發(fā)出的中斷請求作出響應(yīng)可能不對已發(fā)出的中斷請求作出響應(yīng)或處理,稱為該中斷請求被或處理,稱為該中斷請求被“屏蔽屏蔽” 。 中斷屏蔽可能在兩種
9、情況下發(fā)生:中斷屏蔽可能在兩種情況下發(fā)生: 中斷系統(tǒng)設(shè)置了中斷屏蔽標(biāo)志(或中斷允許標(biāo)志),以屏中斷系統(tǒng)設(shè)置了中斷屏蔽標(biāo)志(或中斷允許標(biāo)志),以屏蔽某些中斷源的請求;蔽某些中斷源的請求; 當(dāng)系統(tǒng)在處理優(yōu)先級別較高的中斷請求時,不會理睬新來當(dāng)系統(tǒng)在處理優(yōu)先級別較高的中斷請求時,不會理睬新來的級別較低的中斷請求的級別較低的中斷請求中斷系統(tǒng)自動屏蔽優(yōu)先級低的中中斷系統(tǒng)自動屏蔽優(yōu)先級低的中斷。斷。六、中斷屏蔽六、中斷屏蔽熱能與動力工程熱能與動力工程子程序的執(zhí)行由程序員安排(由調(diào)用子程序的指令轉(zhuǎn)子程序的執(zhí)行由程序員安排(由調(diào)用子程序的指令轉(zhuǎn)入),斷點是確知的;而中斷服務(wù)程序的執(zhí)行一般由隨入),斷點是確知的
10、;而中斷服務(wù)程序的執(zhí)行一般由隨機的中斷事件引發(fā),斷點不確定。機的中斷事件引發(fā),斷點不確定。子程序的執(zhí)行受到主程序或上層子程序的控制;而中斷子程序的執(zhí)行受到主程序或上層子程序的控制;而中斷服務(wù)子程序一般與被中斷的現(xiàn)行程序無關(guān)。服務(wù)子程序一般與被中斷的現(xiàn)行程序無關(guān)。不存在同時調(diào)用多個子程序的情況,因此子程序不需要不存在同時調(diào)用多個子程序的情況,因此子程序不需要進(jìn)行優(yōu)先級排隊;而不同的中斷源則可能同時提出服務(wù)進(jìn)行優(yōu)先級排隊;而不同的中斷源則可能同時提出服務(wù)請求。請求。七、中斷服務(wù)程序與子程序的區(qū)別七、中斷服務(wù)程序與子程序的區(qū)別熱能與動力工程熱能與動力工程八、中斷系統(tǒng)的功能八、中斷系統(tǒng)的功能 實現(xiàn)實現(xiàn)
11、中斷及返回中斷及返回 中斷源發(fā)出中斷請求,中斷源發(fā)出中斷請求,CPU決定是否響應(yīng):決定是否響應(yīng):若響應(yīng)若響應(yīng),則則保護(hù)斷點和現(xiàn)場保護(hù)斷點和現(xiàn)場,轉(zhuǎn)入相應(yīng)中斷服務(wù)程序,轉(zhuǎn)入相應(yīng)中斷服務(wù)程序,中斷服務(wù)結(jié)束中斷服務(wù)結(jié)束后,后,恢復(fù)現(xiàn)場和斷點恢復(fù)現(xiàn)場和斷點,繼續(xù)執(zhí)行原程序。,繼續(xù)執(zhí)行原程序。CPU執(zhí)行執(zhí)行中斷服務(wù)程序中斷服務(wù)程序1 1非預(yù)料事件非預(yù)料事件1 1熱能與動力工程熱能與動力工程非預(yù)料事件非預(yù)料事件是指事件發(fā)生的時間無法預(yù)知是指事件發(fā)生的時間無法預(yù)知,即中即中斷源何時產(chǎn)生中斷不確定,是隨機的。斷源何時產(chǎn)生中斷不確定,是隨機的。中斷源產(chǎn)生中斷的隨機性,使中斷服務(wù)程序的執(zhí)行中斷源產(chǎn)生中斷的隨機性,
12、使中斷服務(wù)程序的執(zhí)行也具有隨機性,也具有隨機性,即何時執(zhí)行中斷服務(wù)程序不是在程序即何時執(zhí)行中斷服務(wù)程序不是在程序中安排好的。中安排好的。熱能與動力工程熱能與動力工程 實現(xiàn)實現(xiàn)優(yōu)先權(quán)排隊優(yōu)先權(quán)排隊 按各中斷請求的重要程度排列按各中斷請求的重要程度排列CPU響應(yīng)的次序稱為響應(yīng)的次序稱為中斷優(yōu)先級中斷優(yōu)先級。 即同時有多個中斷請求到來時,即同時有多個中斷請求到來時,CPU會首先響應(yīng)和處理優(yōu)先級會首先響應(yīng)和處理優(yōu)先級別最高的中斷請求。別最高的中斷請求。 中斷優(yōu)先級的實現(xiàn)可以用中斷優(yōu)先級的實現(xiàn)可以用軟件軟件或或硬件硬件的辦法。的辦法。中斷系統(tǒng)的功能(續(xù))中斷系統(tǒng)的功能(續(xù))熱能與動力工程熱能與動力工程
13、讀中斷請求寄存器讀中斷請求寄存器外設(shè)外設(shè)1有請求?有請求?外設(shè)外設(shè)1中斷服務(wù)程序中斷服務(wù)程序外設(shè)外設(shè)2有請求?有請求?外設(shè)外設(shè)2中斷服務(wù)程序中斷服務(wù)程序外設(shè)外設(shè)8有請求?有請求?外設(shè)外設(shè)8中斷服務(wù)程序中斷服務(wù)程序后續(xù)處理后續(xù)處理YNNNNYY熱能與動力工程熱能與動力工程硬件實現(xiàn)的中斷優(yōu)先權(quán)排隊電路硬件實現(xiàn)的中斷優(yōu)先權(quán)排隊電路1 2 3 4 5 6 7 81 2 3 4 5 6 7 8可由程序設(shè)置的可由程序設(shè)置的中斷允許寄存器中斷允許寄存器由外設(shè)設(shè)置的由外設(shè)設(shè)置的中斷請求寄存器中斷請求寄存器編編碼碼器器A2A1A0B2B1B0優(yōu)先優(yōu)先權(quán)寄權(quán)寄存器存器比比較較器器AB12CPU的的INTR優(yōu)先權(quán)失
14、效優(yōu)先權(quán)失效中斷請求中斷請求+CPU寫入寫入熱能與動力工程熱能與動力工程中斷檢測及優(yōu)先級判斷中斷檢測及優(yōu)先級判斷中斷響應(yīng)中斷響應(yīng) 保存保存CPU內(nèi)部各寄存器內(nèi)容,以便在中斷服務(wù)子程序中內(nèi)部各寄存器內(nèi)容,以便在中斷服務(wù)子程序中使用這些寄存器而不致破壞原信息使用這些寄存器而不致破壞原信息 開總中斷(開總中斷(IF =1),以便在該中斷服務(wù)期間仍然能響應(yīng)),以便在該中斷服務(wù)期間仍然能響應(yīng)更高級的中斷請求,即允許中斷嵌套更高級的中斷請求,即允許中斷嵌套用戶中斷服務(wù)的具體處理過程用戶中斷服務(wù)的具體處理過程恢復(fù)恢復(fù)CPU內(nèi)部各寄存器內(nèi)容內(nèi)部各寄存器內(nèi)容執(zhí)行執(zhí)行IRET語句,中斷返回語句,中斷返回自動保存自
15、動保存現(xiàn)場、斷現(xiàn)場、斷點點熱能與動力工程熱能與動力工程CPU響應(yīng)外中斷的條件響應(yīng)外中斷的條件 1具備中斷請求觸發(fā)器具備中斷請求觸發(fā)器2具備中斷屏蔽觸發(fā)器具備中斷屏蔽觸發(fā)器3開放總中斷開放總中斷4在現(xiàn)行指令結(jié)束后響應(yīng)中斷在現(xiàn)行指令結(jié)束后響應(yīng)中斷熱能與動力工程熱能與動力工程7.1.2 8086的中斷系統(tǒng)的中斷系統(tǒng)一、中斷源一、中斷源熱能與動力工程熱能與動力工程二、中斷類型碼、中斷向量表和中斷向量二、中斷類型碼、中斷向量表和中斷向量中斷類型碼中斷類型碼:8086可以處理可以處理256個中斷請求,每個中斷個中斷請求,每個中斷請求均對應(yīng)于惟一固定的類型碼。請求均對應(yīng)于惟一固定的類型碼。被被0除類型碼是除
16、類型碼是0,單,單步為步為1;NMI為為2;斷點中斷為;斷點中斷為3,溢出中斷為,溢出中斷為4 等。等。中斷向量中斷向量:即中斷服務(wù)程序的入口地址,包括段地址:即中斷服務(wù)程序的入口地址,包括段地址(高字單元)和偏移地址(低字單元)。(高字單元)和偏移地址(低字單元)。中斷向量表中斷向量表:存放中斷向量的表,位于內(nèi)存空間的最低:存放中斷向量的表,位于內(nèi)存空間的最低地址單元,長地址單元,長1KB。共可容納。共可容納256個中斷向量(個中斷向量(25641024)。)。熱能與動力工程熱能與動力工程中斷類型碼中斷類型碼1、中斷類型碼:、中斷類型碼:8086可以處理可以處理256個中斷請求。每個中斷個中
17、斷請求。每個中斷請求均對應(yīng)于唯一固定的類型碼。被請求均對應(yīng)于唯一固定的類型碼。被0除類型碼是除類型碼是0,單步,單步為為1; NMI為為2;斷點中斷為;斷點中斷為3,溢出中斷為,溢出中斷為4;等。;等。類型碼類型碼中斷源中斷源類型碼類型碼中斷源中斷源類型碼類型碼中斷源中斷源00H 被被0 0除除0FH并口并口1 1(打印機)中(打印機)中斷斷1EH磁盤參數(shù)磁盤參數(shù)01H 單步中斷單步中斷10H顯示器驅(qū)動程序顯示器驅(qū)動程序1FH圖形字符集圖形字符集02H NMINMI11H設(shè)備檢測設(shè)備檢測20H程序結(jié)束程序結(jié)束03H 斷點中斷斷點中斷12H存儲器檢測存儲器檢測21HDOSDOS系統(tǒng)調(diào)用系統(tǒng)調(diào)用熱
18、能與動力工程熱能與動力工程IBM PC/XT中斷源的功能中斷源的功能類型碼類型碼中斷源中斷源類型碼類型碼中斷源中斷源類型碼類型碼中斷源中斷源00H被被0除除0FH并口并口1(打印機)中斷(打印機)中斷1EH磁盤參數(shù)磁盤參數(shù)01H單步中斷單步中斷10H顯示器驅(qū)動程序顯示器驅(qū)動程序1FH圖形字符集圖形字符集02HNMI11H設(shè)備檢測設(shè)備檢測20H程序結(jié)束程序結(jié)束03H斷點中斷斷點中斷12H存儲器檢測存儲器檢測21HDOS系統(tǒng)調(diào)用系統(tǒng)調(diào)用04H溢出中斷溢出中斷13H軟盤驅(qū)動程序軟盤驅(qū)動程序22H結(jié)束地址結(jié)束地址05H打印屏幕打印屏幕14H通信驅(qū)動程序通信驅(qū)動程序23HCtrl-Break夭折鍵處理夭
19、折鍵處理06H(保留)(保留)15H盒式磁帶機驅(qū)動程序盒式磁帶機驅(qū)動程序24H關(guān)鍵性錯誤處理關(guān)鍵性錯誤處理07H(保留)(保留)16H硬盤驅(qū)動程序硬盤驅(qū)動程序25H磁盤順序讀磁盤順序讀08H定時中斷定時中斷17H打印機驅(qū)動程序打印機驅(qū)動程序26H磁盤順序?qū)懘疟P順序?qū)?9H鍵盤中斷鍵盤中斷18HBASIC程序程序27H程序結(jié)束且駐留內(nèi)存程序結(jié)束且駐留內(nèi)存0AH保留的硬件中斷保留的硬件中斷19H引導(dǎo)(引導(dǎo)(BOOT)程序)程序28HDOS內(nèi)部使用內(nèi)部使用0BH異步串口異步串口2中斷中斷1AH年月日定時中斷年月日定時中斷292EHDOS保留使用保留使用0CH異步串口異步串口1中斷中斷1BH用戶鍵盤用
20、戶鍵盤2FHDOS內(nèi)部使用內(nèi)部使用0DH并口并口2(硬磁盤)中斷(硬磁盤)中斷1CH用戶定時器時標(biāo)用戶定時器時標(biāo)303FHDOS保留使用保留使用0EH軟盤中斷軟盤中斷1DHCRT初始化參數(shù)初始化參數(shù)40FFH用戶自定義用戶自定義熱能與動力工程熱能與動力工程內(nèi)部中斷的種類內(nèi)部中斷的種類熱能與動力工程熱能與動力工程熱能與動力工程熱能與動力工程熱能與動力工程熱能與動力工程內(nèi)部中斷的特點內(nèi)部中斷的特點 熱能與動力工程熱能與動力工程中斷向量和中斷向量表中斷向量和中斷向量表2 中斷向量中斷向量:中斷服務(wù)程序的入口地址中斷服務(wù)程序的入口地址,包括段地址(存放,包括段地址(存放于高字單元)和偏移地址(存放于低
21、字單元)。于高字單元)和偏移地址(存放于低字單元)。3 中斷向量表中斷向量表:存放中斷向量的表格。位于內(nèi)存空間的最低:存放中斷向量的表格。位于內(nèi)存空間的最低地址,長度地址,長度1KB,可容納,可容納256類中斷向量(類中斷向量(256 41024)。)。熱能與動力工程熱能與動力工程中斷向量和中斷向量表中斷向量和中斷向量表熱能與動力工程熱能與動力工程 已知中斷類型碼后,如何進(jìn)入中斷服務(wù)程序?已知中斷類型碼后,如何進(jìn)入中斷服務(wù)程序? 1、將中斷類型碼乘以將中斷類型碼乘以4,得到中斷向量表的向量首址指針;,得到中斷向量表的向量首址指針; 2、將斷點(當(dāng)前將斷點(當(dāng)前CS、IP的值)入棧保護(hù);的值)入
22、棧保護(hù); 3、取中斷向量:把向量表指針?biāo)傅娜≈袛嘞蛄浚喊严蛄勘碇羔標(biāo)傅?個連續(xù)字節(jié)的內(nèi)容作為中個連續(xù)字節(jié)的內(nèi)容作為中斷服務(wù)程序的入口地址,分別送給斷服務(wù)程序的入口地址,分別送給IP和和CS; 4、按新的按新的CS:IP指針執(zhí)行中斷服務(wù)程序。指針執(zhí)行中斷服務(wù)程序。中斷響應(yīng)過程中斷響應(yīng)過程熱能與動力工程熱能與動力工程(FLAG)1000:150H3000:200H0: N40: N4+20: 0000內(nèi)內(nèi) 存存 、 、 0200H 3000H 、 、 、 MOV AX, 0 ADD AX, DX MOV DI, AX、 MOV BX,CX、 IRET、類型類型N中斷子程中斷子程響應(yīng)中斷前響應(yīng)中
23、斷前 SS:SP 01501000堆棧堆棧執(zhí)行執(zhí)行IRET后后 (IP) (CS)(PSW)SS:SP 響應(yīng)中斷后響應(yīng)中斷后SS:SP (IP)=0200H(CS)=3000H中斷向量表中斷向量表0:0 3FFH0:3FFH0:0某中斷源發(fā)申請中斷,某中斷源發(fā)申請中斷,申請執(zhí)行類型號為申請執(zhí)行類型號為N的中斷子程序的中斷子程序中斷響應(yīng)過程中斷響應(yīng)過程熱能與動力工程熱能與動力工程中斷向量的設(shè)置方法中斷向量的設(shè)置方法、 、 、 、 、熱能與動力工程熱能與動力工程中斷向量的設(shè)置方法中斷向量的設(shè)置方法熱能與動力工程熱能與動力工程中斷向量的設(shè)置方法中斷向量的設(shè)置方法例如:例如:PUSH DSMOV AX
24、, SEG NEWINTMOV DS, AXMOV DX, OFFSET NEWINTMOV AL, NMOV AH, 25HINT 21HPOP DS熱能與動力工程熱能與動力工程中斷向量的設(shè)置方法中斷向量的設(shè)置方法 例:利用例:利用 INT 21H 設(shè)置中斷向量設(shè)置中斷向量MOV AH,25H; DOS功能調(diào)用號功能調(diào)用號25H AHMOV AL,40H; 將設(shè)置的中斷類型碼將設(shè)置的中斷類型碼 ALMOV DS,SEG USERINTMOV DX,OFFSET USERINT; 入口參數(shù):入口參數(shù):中斷服務(wù)程序的入口地址中斷服務(wù)程序的入口地址 DS:DXINT 21H 執(zhí)行之后,中斷服務(wù)程序
25、的入口地址值將放入中斷向量執(zhí)行之后,中斷服務(wù)程序的入口地址值將放入中斷向量表中表中n4處連續(xù)的處連續(xù)的4個單元中。個單元中。 熱能與動力工程熱能與動力工程7.1.3 中斷響應(yīng)與處理中斷響應(yīng)與處理 8086的的保留中斷和其它軟件中斷保留中斷和其它軟件中斷由指令給出中斷類型,所以不執(zhí)行中由指令給出中斷類型,所以不執(zhí)行中斷響應(yīng)周期;斷響應(yīng)周期; 非屏蔽中斷非屏蔽中斷NMI的類型碼固定,也不執(zhí)行中斷響應(yīng)周期;的類型碼固定,也不執(zhí)行中斷響應(yīng)周期;INTAINTA類型碼類型碼 INTACLKAD7AD0T1T2T3T4第一個第一個中斷響應(yīng)周期中斷響應(yīng)周期T1T2T3T4第二個第二個中斷響應(yīng)周期中斷響應(yīng)周期
26、熱能與動力工程熱能與動力工程中斷響應(yīng)周期時序中斷響應(yīng)周期時序 CPU從引腳從引腳INTA 發(fā)中斷響應(yīng)信號,發(fā)中斷響應(yīng)信號, 接口芯片接收此信號,把中斷類型號準(zhǔn)備好;同時接口芯片接收此信號,把中斷類型號準(zhǔn)備好;同時ISRi=1,IRRi=0。 CPU再從引腳再從引腳INTA 發(fā)中斷響應(yīng)信號,發(fā)中斷響應(yīng)信號, 接口芯片接此信號后,將中斷類型號送至數(shù)據(jù)總線上;接口芯片接此信號后,將中斷類型號送至數(shù)據(jù)總線上; CPU從數(shù)據(jù)總線獲取中斷類型號。從數(shù)據(jù)總線獲取中斷類型號。向量類型向量類型 INTACLKAD7AD0T1T2T3T4T1T2T3T4熱能與動力工程熱能與動力工程中斷處理的全過程:中斷處理的全過
27、程:檢測檢測響應(yīng)響應(yīng)服務(wù)服務(wù)標(biāo)志寄存器入棧標(biāo)志寄存器入棧令令TEMP=TF清清IF和和TFCS、IP入棧入棧IP、CS 出棧出棧標(biāo)志寄存器出棧標(biāo)志寄存器出棧返回被中斷的返回被中斷的主程序斷點處主程序斷點處當(dāng)前指令當(dāng)前指令結(jié)束否?結(jié)束否?軟件中斷?軟件中斷?INTR?TF=1?IF=1?執(zhí)行下一條指令執(zhí)行下一條指令形形成成中中斷斷類類型型碼碼進(jìn)入中進(jìn)入中斷響應(yīng)斷響應(yīng)周期,取周期,取類型碼類型碼YNMI?YYYYYNNNNNN熱能與動力工程熱能與動力工程中斷服務(wù)程序(用戶自行編制):中斷服務(wù)程序(用戶自行編制): 保護(hù)現(xiàn)場:保存保護(hù)現(xiàn)場:保存CPU內(nèi)部各寄存器的內(nèi)容,以便在服務(wù)程序中使用;內(nèi)部各寄
28、存器的內(nèi)容,以便在服務(wù)程序中使用; 開總中斷:將開總中斷:將IF置置1,使,使CPU在中斷服務(wù)期間仍能響應(yīng)更高級的在中斷服務(wù)期間仍能響應(yīng)更高級的INTR請請求;求; 具體處理:用戶的中斷服務(wù)具體處理:用戶的中斷服務(wù) 關(guān)總中斷:將關(guān)總中斷:將IF位清位清0; 恢復(fù)現(xiàn)場:將入棧保護(hù)的各寄存器內(nèi)容依次彈出;恢復(fù)現(xiàn)場:將入棧保護(hù)的各寄存器內(nèi)容依次彈出; 中斷返回:執(zhí)行中斷返回:執(zhí)行IRET指令,指令,CPU將自動彈出給將自動彈出給IP、CS、FLAGS,就,就可以接著執(zhí)行被中斷的原程序;可以接著執(zhí)行被中斷的原程序; 開總中斷:再次將開總中斷:再次將IF位置位置1,使返回后能夠重新響應(yīng),使返回后能夠重新
29、響應(yīng)熱能與動力工程熱能與動力工程外部中斷源的管理外部中斷源的管理 多個外部硬件中斷源共用一條多個外部硬件中斷源共用一條INTR線時,要在程序中采取線時,要在程序中采取一定措施或用外部硬件解決中斷源的一定措施或用外部硬件解決中斷源的優(yōu)先權(quán)排列和多級中斷優(yōu)先權(quán)排列和多級中斷的嵌套的嵌套等。等。 中斷優(yōu)先權(quán)中斷優(yōu)先權(quán)(優(yōu)先級):中斷優(yōu)先權(quán)就是為每個中斷源所確(優(yōu)先級):中斷優(yōu)先權(quán)就是為每個中斷源所確定的響應(yīng)級別。定的響應(yīng)級別。 軟件排序軟件排序:CPU響應(yīng)中斷后,在程序中用查詢的方法判定外響應(yīng)中斷后,在程序中用查詢的方法判定外設(shè)的中斷請求。設(shè)的中斷請求。熱能與動力工程熱能與動力工程外部中斷源的管理外
30、部中斷源的管理 軟件查詢軟件查詢排序的特點是:排序的特點是:查詢次序查詢次序即優(yōu)先權(quán)排序,最先被即優(yōu)先權(quán)排序,最先被詢問的故障具有最高優(yōu)先級;節(jié)省硬件;修改方便,只要詢問的故障具有最高優(yōu)先級;節(jié)省硬件;修改方便,只要改變程序中的查詢次序即可;由詢問轉(zhuǎn)至真正的服務(wù)程序改變程序中的查詢次序即可;由詢問轉(zhuǎn)至真正的服務(wù)程序入口時間長,在中斷源較多的情況下執(zhí)行速度較慢。入口時間長,在中斷源較多的情況下執(zhí)行速度較慢。 硬件排序硬件排序:采用:采用優(yōu)先權(quán)的編碼電路優(yōu)先權(quán)的編碼電路,對各種外部硬中斷進(jìn),對各種外部硬中斷進(jìn)行排隊。還有菊花鏈?zhǔn)接布判螂娐?,以及中斷控制集成行排隊。還有菊花鏈?zhǔn)接布判螂娐?,以及?/p>
31、斷控制集成芯片芯片8259A熱能與動力工程熱能與動力工程軟件法排序的接口電路示意圖軟件法排序的接口電路示意圖熱能與動力工程熱能與動力工程軟件查詢程序流程圖軟件查詢程序流程圖熱能與動力工程熱能與動力工程硬件優(yōu)先權(quán)排序電路硬件優(yōu)先權(quán)排序電路熱能與動力工程熱能與動力工程7.1.4 非屏蔽中斷非屏蔽中斷NMI IBM PC/XT的的NMI來源于三方面:來源于三方面: 存儲器奇偶校驗錯誤PCK I/O通道奇偶校驗錯誤IOCHCK 協(xié)處理器產(chǎn)生異常N.P.NPI 三種信號通過三種信號通過NMI屏蔽觸發(fā)器,向屏蔽觸發(fā)器,向CPU的的NMI引腳送出;引腳送出; 系統(tǒng)上電之初,系統(tǒng)上電之初,RESET信號先將信
32、號先將NMI屏蔽觸發(fā)器清屏蔽觸發(fā)器清0。等。等系統(tǒng)自檢完成之后,再寫入控制字解除對系統(tǒng)自檢完成之后,再寫入控制字解除對NMI的屏蔽。的屏蔽。熱能與動力工程熱能與動力工程7.1.5 可編程中斷控制器可編程中斷控制器8259一、一、8259性能概述性能概述1. 具有具有8級中斷優(yōu)先控制,通過級連可以擴展至級中斷優(yōu)先控制,通過級連可以擴展至64級優(yōu)先權(quán)控制;級優(yōu)先權(quán)控制;2. 每一級中斷都可以通過初始設(shè)置為允許或屏蔽狀態(tài);每一級中斷都可以通過初始設(shè)置為允許或屏蔽狀態(tài);3. 8259的工作方式,可以通過編程進(jìn)行設(shè)置,因此,使用非常靈的工作方式,可以通過編程進(jìn)行設(shè)置,因此,使用非常靈活;活;4. 825
33、9采用采用NMOS制造工藝,只需要單一的制造工藝,只需要單一的+5V電源。電源。熱能與動力工程熱能與動力工程二、二、8259A的內(nèi)部結(jié)構(gòu)和工作原理的內(nèi)部結(jié)構(gòu)和工作原理熱能與動力工程熱能與動力工程8259A的內(nèi)部結(jié)構(gòu)和工作原理的內(nèi)部結(jié)構(gòu)和工作原理數(shù)據(jù)總線緩沖器:數(shù)據(jù)總線緩沖器:它是它是8259A與系統(tǒng)數(shù)據(jù)總線的接口,是與系統(tǒng)數(shù)據(jù)總線的接口,是8位雙向三態(tài)位雙向三態(tài)緩沖器。緩沖器。CPU與與8259A之間的控制命令信息、狀態(tài)信息以及中斷類型信之間的控制命令信息、狀態(tài)信息以及中斷類型信息,都是通過該緩沖器傳送的。息,都是通過該緩沖器傳送的。讀讀/寫控制邏輯:寫控制邏輯:CPU通過它實現(xiàn)對通過它實現(xiàn)對
34、8259A的讀的讀/寫操作。寫操作。級連緩沖器:級連緩沖器:用以實現(xiàn)用以實現(xiàn)8259A芯片之間的級連,使得中斷源可以由芯片之間的級連,使得中斷源可以由8級級擴展至擴展至64級。級。控制邏輯電路:控制邏輯電路:對整個芯片內(nèi)部各部件的工作進(jìn)行協(xié)調(diào)和控制。對整個芯片內(nèi)部各部件的工作進(jìn)行協(xié)調(diào)和控制。中斷請求寄存器中斷請求寄存器IRR:8位,用以分別保存位,用以分別保存8個中斷請求信號,當(dāng)相應(yīng)的個中斷請求信號,當(dāng)相應(yīng)的中斷請求輸入引腳有中斷請求時,該寄存器的相應(yīng)位置中斷請求輸入引腳有中斷請求時,該寄存器的相應(yīng)位置1。中斷屏蔽寄存器中斷屏蔽寄存器IMR:8位,相應(yīng)位用以對位,相應(yīng)位用以對8個中斷源的中斷請
35、求信號進(jìn)個中斷源的中斷請求信號進(jìn)行屏蔽控制。當(dāng)其中某位置行屏蔽控制。當(dāng)其中某位置”0”時,則相應(yīng)的中斷請求可以向時,則相應(yīng)的中斷請求可以向CPU提出;提出;否則,相應(yīng)的中斷請求被屏蔽,即不允許向否則,相應(yīng)的中斷請求被屏蔽,即不允許向CPU提出中斷請求。該寄存提出中斷請求。該寄存器的內(nèi)容為器的內(nèi)容為8259A的操作命令字的操作命令字OCW1,可以由程序設(shè)置或改變。,可以由程序設(shè)置或改變。中斷服務(wù)寄存器中斷服務(wù)寄存器ISR: 8位,當(dāng)位,當(dāng)CPU正在處理某個中斷源的中斷請求時,正在處理某個中斷源的中斷請求時,ISR寄存器中的相應(yīng)位置寄存器中的相應(yīng)位置1。優(yōu)先級比較器優(yōu)先級比較器PR:用以比較正在處
36、理的中斷和剛剛進(jìn)入的中斷請求之用以比較正在處理的中斷和剛剛進(jìn)入的中斷請求之間的優(yōu)先級別,以決定是否產(chǎn)生多重中斷或中斷嵌套。間的優(yōu)先級別,以決定是否產(chǎn)生多重中斷或中斷嵌套。 熱能與動力工程熱能與動力工程8259A的外部引腳的外部引腳熱能與動力工程熱能與動力工程8259A的外部引腳的外部引腳D7-D0:雙向數(shù)據(jù)輸入雙向數(shù)據(jù)輸入/輸出引腳,用以與輸出引腳,用以與CPU進(jìn)行信息交換。進(jìn)行信息交換。IR7-IR0:8級中斷請求信號輸入引腳。級中斷請求信號輸入引腳。INT:中斷請求信號輸出引腳,高電平有效,用以向中斷請求信號輸出引腳,高電平有效,用以向CPU發(fā)中斷請求,應(yīng)接在發(fā)中斷請求,應(yīng)接在CPU的的I
37、NTR輸入端。輸入端。INTA:中斷響應(yīng)應(yīng)答信號輸入引腳,低電平有效,接在中斷響應(yīng)應(yīng)答信號輸入引腳,低電平有效,接在CPU的中斷應(yīng)答信號輸?shù)闹袛鄳?yīng)答信號輸出端。出端。RD、WR:讀讀/寫控制信號輸入引腳,低電平有效,實現(xiàn)對寫控制信號輸入引腳,低電平有效,實現(xiàn)對8259A內(nèi)部有關(guān)寄存內(nèi)部有關(guān)寄存器內(nèi)容的讀操作。器內(nèi)容的讀操作。CS:片選信號輸入引腳,低電平有效,決定了片選信號輸入引腳,低電平有效,決定了8259A的端口地址范圍。的端口地址范圍。A0:8259A兩組內(nèi)部寄存器的選擇信號輸入引腳,決定兩組內(nèi)部寄存器的選擇信號輸入引腳,決定8259A的端口地址。的端口地址。CAS2-CAS0:級連信號
38、引腳,當(dāng)級連信號引腳,當(dāng)8259A為主片時,為輸出;否則為輸入,與信為主片時,為輸出;否則為輸入,與信號配合,實現(xiàn)芯片的級連,這三個引腳信號的不同組合號配合,實現(xiàn)芯片的級連,這三個引腳信號的不同組合000111,剛好對應(yīng)于,剛好對應(yīng)于8個從片。個從片。SP/EN:為級連管理信號輸入引腳,在非緩沖方式下,若為級連管理信號輸入引腳,在非緩沖方式下,若8259A在系統(tǒng)中作從在系統(tǒng)中作從片使用,則片使用,則SP=1;否則;否則SP=0;在緩沖方式下,用作;在緩沖方式下,用作8259A外部數(shù)據(jù)總線緩沖外部數(shù)據(jù)總線緩沖器的啟動信號。器的啟動信號。+5V、GND:電源和接地引腳。電源和接地引腳。熱能與動力工
39、程熱能與動力工程三、三、8259A的工作過程的工作過程當(dāng)有一條或若干條中斷請求輸入(當(dāng)有一條或若干條中斷請求輸入(IR7-IR0)有效時,則使中斷請求寄存)有效時,則使中斷請求寄存器的器的IRR的相應(yīng)位置位。的相應(yīng)位置位。若若CPU處于開中斷狀態(tài),則在當(dāng)前指令執(zhí)行完之后,響應(yīng)中斷,并且發(fā)處于開中斷狀態(tài),則在當(dāng)前指令執(zhí)行完之后,響應(yīng)中斷,并且發(fā)應(yīng)答信號(兩個連續(xù)的應(yīng)答信號(兩個連續(xù)的INTA#負(fù)脈沖)。負(fù)脈沖)。第一個第一個INTA#負(fù)脈沖到達(dá)時,負(fù)脈沖到達(dá)時,IRR的鎖存功能失效,對于的鎖存功能失效,對于IR7-IR0上發(fā)來上發(fā)來的中斷請求信號不予理睬。的中斷請求信號不予理睬。使中斷服務(wù)寄存器
40、使中斷服務(wù)寄存器ISR的相應(yīng)位置的相應(yīng)位置1,以便為中斷優(yōu)先級比較器的工作做,以便為中斷優(yōu)先級比較器的工作做好準(zhǔn)備。好準(zhǔn)備。使中斷請求寄存器的相應(yīng)位復(fù)位,即清除中斷請求。使中斷請求寄存器的相應(yīng)位復(fù)位,即清除中斷請求。第二個第二個INTA#負(fù)脈沖到達(dá)時,將中斷類型寄存器中的內(nèi)容負(fù)脈沖到達(dá)時,將中斷類型寄存器中的內(nèi)容ICW2,送到數(shù),送到數(shù)據(jù)總線的據(jù)總線的D7-D0上,上,CPU以此作為相應(yīng)中斷的類型碼。以此作為相應(yīng)中斷的類型碼。1. 若若ICW4中的中斷結(jié)束位為中的中斷結(jié)束位為1,那么,第二個,那么,第二個INTA#負(fù)脈沖結(jié)束時,負(fù)脈沖結(jié)束時,8259A將將ISR寄存器的相應(yīng)位清零。否則,直至中
41、斷服務(wù)程序執(zhí)行完畢,寄存器的相應(yīng)位清零。否則,直至中斷服務(wù)程序執(zhí)行完畢,才能通過輸出操作命令字才能通過輸出操作命令字EOI,使該位復(fù)位。,使該位復(fù)位。 熱能與動力工程熱能與動力工程四、四、8259A的工作方式的工作方式 優(yōu)先權(quán)的管理方式優(yōu)先權(quán)的管理方式 中斷源的屏蔽方式中斷源的屏蔽方式 結(jié)束中斷處理的方式結(jié)束中斷處理的方式 系統(tǒng)總線的連接方式系統(tǒng)總線的連接方式 1. 引入中斷的請求方式引入中斷的請求方式熱能與動力工程熱能與動力工程一一) 優(yōu)先權(quán)的管理方式優(yōu)先權(quán)的管理方式1. 全嵌套方式全嵌套方式 這是這是8259A默認(rèn)的優(yōu)先權(quán)設(shè)置方式,在全嵌套方式下,默認(rèn)的優(yōu)先權(quán)設(shè)置方式,在全嵌套方式下,82
42、59A所所管理的管理的8級中斷優(yōu)先權(quán)是固定不變的,其中級中斷優(yōu)先權(quán)是固定不變的,其中IR0的中斷優(yōu)先級最高,的中斷優(yōu)先級最高,IR7的中斷優(yōu)先級最低。的中斷優(yōu)先級最低。 CPU響應(yīng)中斷后,請求中斷的中斷源中,優(yōu)先級最高的中斷源,響應(yīng)中斷后,請求中斷的中斷源中,優(yōu)先級最高的中斷源,在中斷服務(wù)寄存器在中斷服務(wù)寄存器ISR中的相應(yīng)位置位,而且把它的中斷矢量送至系統(tǒng)中的相應(yīng)位置位,而且把它的中斷矢量送至系統(tǒng)數(shù)據(jù)總線,在此中斷源的中斷服務(wù)完成之前,與它同級或優(yōu)先級低的中數(shù)據(jù)總線,在此中斷源的中斷服務(wù)完成之前,與它同級或優(yōu)先級低的中斷源的中斷請求被屏蔽,只有優(yōu)先級比它高的中斷源的中斷請求才是運斷源的中斷請
43、求被屏蔽,只有優(yōu)先級比它高的中斷源的中斷請求才是運算的,從而出現(xiàn)中斷嵌套。算的,從而出現(xiàn)中斷嵌套。2. 特殊全嵌套方式特殊全嵌套方式 特殊全嵌套方式與全嵌套方式基本相同,所不同的是,當(dāng)特殊全嵌套方式與全嵌套方式基本相同,所不同的是,當(dāng)CPU處理處理某一級中斷時,如果有同級中斷請求,那么某一級中斷時,如果有同級中斷請求,那么CPU也會作出響應(yīng),從而形也會作出響應(yīng),從而形成了對同一級中斷的特殊嵌套。成了對同一級中斷的特殊嵌套。 特殊全嵌套方式通常應(yīng)用在有特殊全嵌套方式通常應(yīng)用在有8259A級連的系統(tǒng)中,在這種情況下,級連的系統(tǒng)中,在這種情況下,對主對主8259A編程時,通常使它工作在特殊全嵌套方式
44、下。這樣,一方面,編程時,通常使它工作在特殊全嵌套方式下。這樣,一方面,CPU對于優(yōu)先級別較高的主片的中斷輸入是允許的,另一方面,對于優(yōu)先級別較高的主片的中斷輸入是允許的,另一方面,CPU對對于來自同一從片的優(yōu)先級別較高(但對于主片來講,優(yōu)先級別是相同的)于來自同一從片的優(yōu)先級別較高(但對于主片來講,優(yōu)先級別是相同的)的中斷也是允許、能夠響應(yīng)的。的中斷也是允許、能夠響應(yīng)的。 熱能與動力工程熱能與動力工程3. 優(yōu)先級自動循環(huán)方式優(yōu)先級自動循環(huán)方式 在實際應(yīng)用中,中斷源優(yōu)先級的情況是比較復(fù)雜的,要求在實際應(yīng)用中,中斷源優(yōu)先級的情況是比較復(fù)雜的,要求8級中斷級中斷的優(yōu)先級在系統(tǒng)工作過程中,可以動態(tài)改
45、變。即一個中斷源的中斷請求的優(yōu)先級在系統(tǒng)工作過程中,可以動態(tài)改變。即一個中斷源的中斷請求被響應(yīng)之后,其優(yōu)先級自動降為最低。系統(tǒng)啟動時,被響應(yīng)之后,其優(yōu)先級自動降為最低。系統(tǒng)啟動時,8級中斷優(yōu)先級默級中斷優(yōu)先級默認(rèn)為認(rèn)為IR0IR7,這時,剛好,這時,剛好IR4發(fā)出了中斷請求,發(fā)出了中斷請求,CPU響應(yīng)之后,若響應(yīng)之后,若8259A工作在優(yōu)先級自動循環(huán)方式下,則中斷優(yōu)先級自動變?yōu)楣ぷ髟趦?yōu)先級自動循環(huán)方式下,則中斷優(yōu)先級自動變?yōu)镮R5、IR6、IR7、IR0、 IR1、 IR2、 IR3、 IR4。優(yōu)先級特殊循環(huán)方式優(yōu)先級特殊循環(huán)方式 優(yōu)先級特殊循環(huán)方式與自動循環(huán)方式相比,只有一點不同,即初始優(yōu)先
46、級特殊循環(huán)方式與自動循環(huán)方式相比,只有一點不同,即初始化的優(yōu)先級是由程序控制的,而不是默認(rèn)的化的優(yōu)先級是由程序控制的,而不是默認(rèn)的IR0IR7。 熱能與動力工程熱能與動力工程二二) 中斷源的屏蔽方式中斷源的屏蔽方式1. 普通屏蔽方式普通屏蔽方式 8259A的每個中斷請求輸入,都要受到屏蔽寄存器中相應(yīng)位的控制。的每個中斷請求輸入,都要受到屏蔽寄存器中相應(yīng)位的控制。若相應(yīng)位為若相應(yīng)位為“1”,則中斷請求不能送,則中斷請求不能送CPU。屏蔽是通過對屏蔽寄存器。屏蔽是通過對屏蔽寄存器IMR的編程(操作命令字的編程(操作命令字OCW1),來加以設(shè)置和改變的。),來加以設(shè)置和改變的。2. 特殊屏蔽方式特殊
47、屏蔽方式 有些場合下,希望一個中斷服務(wù)程序的運行過程中,能動態(tài)地改變有些場合下,希望一個中斷服務(wù)程序的運行過程中,能動態(tài)地改變系統(tǒng)中的中斷優(yōu)先級結(jié)構(gòu),即在中斷處理的一部分,禁止低級中斷,而系統(tǒng)中的中斷優(yōu)先級結(jié)構(gòu),即在中斷處理的一部分,禁止低級中斷,而在中斷處理的另一部分,又能夠允許低級中斷,于是引入了對中斷的特在中斷處理的另一部分,又能夠允許低級中斷,于是引入了對中斷的特殊屏蔽方式。殊屏蔽方式。 設(shè)置了特殊屏蔽方式后,用設(shè)置了特殊屏蔽方式后,用OCW1對屏蔽寄存器中的某一位復(fù)位時,對屏蔽寄存器中的某一位復(fù)位時,同時也會使中斷服務(wù)寄存器同時也會使中斷服務(wù)寄存器ISR中的相應(yīng)位復(fù)位,這樣就不只屏蔽
48、了正中的相應(yīng)位復(fù)位,這樣就不只屏蔽了正在處理的等級中斷,而且真正開放了其它優(yōu)先級別較低的中斷請求。在處理的等級中斷,而且真正開放了其它優(yōu)先級別較低的中斷請求。 特殊屏蔽是在中斷處理程序中使用的,用了這種方式之后,盡管系特殊屏蔽是在中斷處理程序中使用的,用了這種方式之后,盡管系統(tǒng)正在處理高級中斷,但對外界來講,只有同級中斷被屏蔽,而允許其統(tǒng)正在處理高級中斷,但對外界來講,只有同級中斷被屏蔽,而允許其它任何級別的中斷請求。它任何級別的中斷請求。 熱能與動力工程熱能與動力工程三三) 結(jié)束中斷的處理方式結(jié)束中斷的處理方式1. 中斷自動結(jié)束方式中斷自動結(jié)束方式 這種方式僅適用于只有單片這種方式僅適用于只
49、有單片8259A的場合,在這種方式下,系統(tǒng)一旦響應(yīng)的場合,在這種方式下,系統(tǒng)一旦響應(yīng)中斷,那么中斷,那么CPU在發(fā)第二個在發(fā)第二個INTA#脈沖時,就會使中斷響應(yīng)寄存器脈沖時,就會使中斷響應(yīng)寄存器ISR中相應(yīng)位中相應(yīng)位復(fù)位,這樣一來,雖然系統(tǒng)在進(jìn)行中斷處理,但對于復(fù)位,這樣一來,雖然系統(tǒng)在進(jìn)行中斷處理,但對于8259A來講,來講,ISR沒有相應(yīng)沒有相應(yīng)的指示,就象中斷處理結(jié)束,返回主程序之后一樣。的指示,就象中斷處理結(jié)束,返回主程序之后一樣。CPU可以再次響應(yīng)任何級可以再次響應(yīng)任何級別的中斷請求。別的中斷請求。2. 一般的中斷結(jié)束方式一般的中斷結(jié)束方式 一般的中斷結(jié)束方式適用用在全嵌套的情況下
50、,當(dāng)一般的中斷結(jié)束方式適用用在全嵌套的情況下,當(dāng)CPU用輸出指令向用輸出指令向8259A發(fā)一般中斷結(jié)束命令發(fā)一般中斷結(jié)束命令OCW2時,時,8259A才會使中斷響應(yīng)寄存器才會使中斷響應(yīng)寄存器ISR中優(yōu)先中優(yōu)先級別最高的位復(fù)位。級別最高的位復(fù)位。3. 特殊的中斷結(jié)束方式特殊的中斷結(jié)束方式 在特殊全嵌套模式下,系統(tǒng)無法確定哪一級中斷為最后相應(yīng)和處理的中斷,在特殊全嵌套模式下,系統(tǒng)無法確定哪一級中斷為最后相應(yīng)和處理的中斷,也就是說,也就是說,CPU無法確定當(dāng)前所處理的是哪級中斷,這時就要采用特殊的中斷無法確定當(dāng)前所處理的是哪級中斷,這時就要采用特殊的中斷結(jié)束方式。結(jié)束方式。 特殊的中斷結(jié)束方式是指在
51、特殊的中斷結(jié)束方式是指在CPU結(jié)束中斷處理之后,向結(jié)束中斷處理之后,向8259A發(fā)送一個特發(fā)送一個特殊的殊的EOI中斷結(jié)束命令,這個特殊的中斷結(jié)束中斷結(jié)束命令,這個特殊的中斷結(jié)束EOI命令,明確指出了中斷響應(yīng)寄命令,明確指出了中斷響應(yīng)寄存器存器ISR中需要復(fù)位的位。中需要復(fù)位的位。 熱能與動力工程熱能與動力工程四四) 系統(tǒng)總線的連接方式系統(tǒng)總線的連接方式1. 緩沖方式緩沖方式 在多片在多片8259A級連的大系統(tǒng)中,級連的大系統(tǒng)中,8259A通過外部總線驅(qū)動器和數(shù)通過外部總線驅(qū)動器和數(shù)據(jù)總線相連,這就是緩沖方式。在緩沖方式下,據(jù)總線相連,這就是緩沖方式。在緩沖方式下,8259的輸出信號作為緩的輸
52、出信號作為緩沖器的啟動信號,用來啟動總線驅(qū)動器,在沖器的啟動信號,用來啟動總線驅(qū)動器,在8259A與與CPU之間進(jìn)行信息之間進(jìn)行信息交換。交換。2. 非緩沖方式非緩沖方式 當(dāng)系統(tǒng)中只有一片或幾片當(dāng)系統(tǒng)中只有一片或幾片8259A芯片時,可以將數(shù)據(jù)總線直接與系芯片時,可以將數(shù)據(jù)總線直接與系統(tǒng)數(shù)據(jù)總線相連,這時統(tǒng)數(shù)據(jù)總線相連,這時8259A處于非緩沖方式下。在這種方式下,處于非緩沖方式下。在這種方式下,8259A的作為輸入端設(shè)置,主片應(yīng)接高電平,從片應(yīng)接低電平。的作為輸入端設(shè)置,主片應(yīng)接高電平,從片應(yīng)接低電平。 熱能與動力工程熱能與動力工程五五) 引入中斷請求的方式引入中斷請求的方式1. 邊沿觸發(fā)方
53、式邊沿觸發(fā)方式 8259A將中斷請求輸入端出現(xiàn)的上升沿,作為中斷請求信號,上升沿后相應(yīng)引腳,將中斷請求輸入端出現(xiàn)的上升沿,作為中斷請求信號,上升沿后相應(yīng)引腳,可以一直保持高電平??梢砸恢北3指唠娖健?. 電平觸發(fā)方式電平觸發(fā)方式 8259A將中斷請求輸入端出現(xiàn)的高電平作為中斷請求信號,在這種方式下,必須將中斷請求輸入端出現(xiàn)的高電平作為中斷請求信號,在這種方式下,必須注意:中斷響應(yīng)之后,高電平必須及時撤除,否則,在注意:中斷響應(yīng)之后,高電平必須及時撤除,否則,在CPU響應(yīng)中斷,開中斷響應(yīng)中斷,開中斷之后,會引起第二次不應(yīng)該有的中斷。之后,會引起第二次不應(yīng)該有的中斷。3. 中斷查詢方式中斷查詢方式
54、 當(dāng)系統(tǒng)中的中斷源很多,超過當(dāng)系統(tǒng)中的中斷源很多,超過64個時,則可以使個時,則可以使8259A工作在查詢方式下,中斷工作在查詢方式下,中斷查詢方式的特點是:查詢方式的特點是:a . 中斷源仍往中斷源仍往8259A發(fā)中斷請求,但發(fā)中斷請求,但8259A卻不使用卻不使用INT信號向信號向CPU發(fā)中斷請求信發(fā)中斷請求信號。號。b. CPU內(nèi)部的中斷允許標(biāo)志復(fù)位,所以內(nèi)部的中斷允許標(biāo)志復(fù)位,所以CPU對對INT引腳上出現(xiàn)的中斷請求呈禁止引腳上出現(xiàn)的中斷請求呈禁止?fàn)顟B(tài)。狀態(tài)。c. CPU 用軟件查詢的方法來確定中斷源,從而實現(xiàn)對設(shè)備的中斷服務(wù),可見,中用軟件查詢的方法來確定中斷源,從而實現(xiàn)對設(shè)備的中斷服務(wù),可見,中斷查詢方式,既有中斷的特點,又有查詢的特點,從外設(shè)的角度來看,是靠中斷查詢方式,既有中斷的特點,又有查詢的特點,從外設(shè)的角度來看,是靠中斷的方式來請求服務(wù),但從斷的方式來請求服務(wù),但從CPU的角度來看,是用查詢方式來確定發(fā)中斷請求的角度來看,是用查詢方式來確定發(fā)中斷請求的中斷源。的中斷源。熱能與動力工程熱能與動力工程五、五、8259A的控制字的控制字 8259A的命令字有兩種。一種是初始化命令字的命令字有兩種。一種是初始化命令字(ICW),在在8259A啟動之前寫入,使其處于預(yù)定的初始狀態(tài)。另一種啟動之前寫入,使其處于預(yù)定的初始狀態(tài)。另一種是操作命令字是操作命令字(OCW
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年中考道德與法治一輪復(fù)習(xí)之民主與法治
- 美容行業(yè)美發(fā)技術(shù)培訓(xùn)心得
- 教研工作推動學(xué)術(shù)進(jìn)步
- 電力系統(tǒng)通信(完整版)資料
- 時尚行業(yè)美工工作總結(jié)
- 電子行業(yè)電子設(shè)備維護(hù)培訓(xùn)總結(jié)
- 2024年管理部門安全管理制度
- 2025屆【首發(fā)】河北省衡水市棗強縣中考試題猜想生物試卷含解析
- 2025關(guān)于押運服務(wù)合同書的范本
- 2024年度天津市公共營養(yǎng)師之二級營養(yǎng)師通關(guān)題庫(附帶答案)
- 農(nóng)村宅基地地籍測繪技術(shù)方案
- 液壓爬模作業(yè)指導(dǎo)書
- 劇院的建筑設(shè)計規(guī)范標(biāo)準(zhǔn)
- 開封辦公樓頂發(fā)光字制作預(yù)算單
- 遺傳分析的一個基本原理是DNA的物理距離和遺傳距離方面...
- 安全生產(chǎn)標(biāo)準(zhǔn)化管理工作流程圖
- 德龍自卸車合格證掃描件(原圖)
- 初一英語單詞辨音專項練習(xí)(共4頁)
- 塔式起重機檢查表(共18頁)
- 河北省建設(shè)工程竣工驗收報告
- 付款申請單打印版模板
評論
0/150
提交評論