




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
1、第七章 中斷系統(tǒng)2掌握:n中斷的基本概念中斷的基本概念n中斷響應的一般過程中斷響應的一般過程n中斷向量表及其初始化中斷向量表及其初始化n8088/8086中斷系統(tǒng)中斷系統(tǒng)n可編程中斷控制器可編程中斷控制器8259An中斷調(diào)用中斷調(diào)用3一、中斷的基本概念n中斷:中斷:nCPU執(zhí)行程序時,由于發(fā)生了某種隨機的事件執(zhí)行程序時,由于發(fā)生了某種隨機的事件(外外部或內(nèi)部部或內(nèi)部),引起,引起CPU暫時中斷正在運行的程序,暫時中斷正在運行的程序,轉(zhuǎn)去執(zhí)行一段特殊的服務程序轉(zhuǎn)去執(zhí)行一段特殊的服務程序(稱為中斷服務程序稱為中斷服務程序或中斷處理程序或中斷處理程序),以處理該事件,該事件處理完,以處理該事件,該事
2、件處理完后又返回被中斷的程序繼續(xù)執(zhí)行,這一過程稱為中后又返回被中斷的程序繼續(xù)執(zhí)行,這一過程稱為中斷。斷。4中斷源n引起引起CPU中斷的事件,發(fā)出中斷請求的來源。中斷的事件,發(fā)出中斷請求的來源。內(nèi)部中斷內(nèi)部中斷外部中斷外部中斷異常中斷異常中斷軟件中斷軟件中斷可屏蔽中斷可屏蔽中斷非屏蔽中斷非屏蔽中斷異常事件引起異常事件引起中斷指令引起中斷指令引起INTR中斷中斷NMI中斷中斷5引入中斷的原因n提高數(shù)據(jù)傳輸率;提高數(shù)據(jù)傳輸率;n避免了避免了CPU不斷檢測外設狀態(tài)的過程,提高了不斷檢測外設狀態(tài)的過程,提高了CPU的利用率。的利用率。n實現(xiàn)對特殊事件的實時響應。實現(xiàn)對特殊事件的實時響應。6中斷系統(tǒng)n正確
3、識別中斷請求,實現(xiàn)中斷響應、中斷處理正確識別中斷請求,實現(xiàn)中斷響應、中斷處理及中斷返回;及中斷返回;n實現(xiàn)中斷優(yōu)先級排隊;實現(xiàn)中斷優(yōu)先級排隊;n實現(xiàn)中斷嵌套實現(xiàn)中斷嵌套中斷系統(tǒng)是指實現(xiàn)中斷功能的中斷系統(tǒng)是指實現(xiàn)中斷功能的軟硬件軟硬件的統(tǒng)稱。功的統(tǒng)稱。功能有:能有:中斷系統(tǒng)的功能n 實現(xiàn)實現(xiàn)中斷及返回中斷及返回 中斷源發(fā)出中斷請求,中斷源發(fā)出中斷請求,CPU決定是否響應:決定是否響應:若若響應響應,則,則保護斷點和現(xiàn)場保護斷點和現(xiàn)場,轉(zhuǎn)入相應中斷服務程序,轉(zhuǎn)入相應中斷服務程序,中斷服務結(jié)束中斷服務結(jié)束后,后,恢復現(xiàn)場和斷點恢復現(xiàn)場和斷點,繼續(xù)執(zhí)行原,繼續(xù)執(zhí)行原程序。程序。CPU執(zhí)行中斷服務程序1
4、非預料事件17非預料事件非預料事件是指事件發(fā)生的時間無法預知,即中是指事件發(fā)生的時間無法預知,即中斷源何時產(chǎn)生中斷不確定,是隨機的。斷源何時產(chǎn)生中斷不確定,是隨機的。中斷源產(chǎn)生中斷的隨機性,使中斷服務程序的執(zhí)行中斷源產(chǎn)生中斷的隨機性,使中斷服務程序的執(zhí)行也具有隨機性,即何時執(zhí)行中斷服務程序不是在程序也具有隨機性,即何時執(zhí)行中斷服務程序不是在程序中安排好的。中安排好的。中斷系統(tǒng)的功能(續(xù))8n 實現(xiàn)實現(xiàn)優(yōu)先權(quán)排隊優(yōu)先權(quán)排隊按各中斷請求的重要程度排列按各中斷請求的重要程度排列CPU響應的次序稱為響應的次序稱為中斷優(yōu)先級中斷優(yōu)先級。 即同時有多個中斷請求到來時,即同時有多個中斷請求到來時,CPU會首
5、先響應和會首先響應和處理優(yōu)先級別最高的中斷請求。處理優(yōu)先級別最高的中斷請求。中斷優(yōu)先級的實現(xiàn)可以用中斷優(yōu)先級的實現(xiàn)可以用軟件軟件或或硬件硬件的辦法。的辦法。中斷系統(tǒng)的功能(續(xù))9n 實現(xiàn)實現(xiàn)中斷嵌套中斷嵌套:n當當CPU在處理某一級中斷時,若有高一級的中斷在處理某一級中斷時,若有高一級的中斷請求,中斷系統(tǒng)應能安排請求,中斷系統(tǒng)應能安排CUP暫時停止現(xiàn)行的中暫時停止現(xiàn)行的中斷處理,響應高一級的中斷斷處理,響應高一級的中斷中斷系統(tǒng)的功能(續(xù))1011二、外部中斷響應的一般過程n中斷請求中斷請求n中斷源識別及中斷判優(yōu)中斷源識別及中斷判優(yōu)n中斷響應中斷響應n中斷處理(服務)中斷處理(服務)n中斷返回中
6、斷返回12中斷請求n中斷請求信號應保持到中斷被處理為止;中斷請求信號應保持到中斷被處理為止;nCPU響應中斷后,中斷請求信號應及時撤銷。響應中斷后,中斷請求信號應及時撤銷。NMI(非屏蔽中斷)(非屏蔽中斷)INTR(可屏蔽中斷)(可屏蔽中斷)13中斷源識別n軟件查詢法軟件查詢法n中斷矢量法中斷矢量法n由中斷源提供中斷類型號,由中斷源提供中斷類型號,CPU根據(jù)類型確定根據(jù)類型確定中斷源。中斷源。中斷源識別及判優(yōu)由硬件系統(tǒng)完成中斷源識別及判優(yōu)由硬件系統(tǒng)完成14中斷判優(yōu)n當有多個中斷源同時提出請求時,需要確定當有多個中斷源同時提出請求時,需要確定首先響應哪一個中斷源。首先響應哪一個中斷源。n優(yōu)先級法
7、則優(yōu)先級法則n低優(yōu)先級的中斷程序允許被高優(yōu)先級的中斷源低優(yōu)先級的中斷程序允許被高優(yōu)先級的中斷源所中斷所中斷n排隊法則排隊法則n先來先響應先來先響應中斷嵌套中斷嵌套15中斷判優(yōu)n軟件判優(yōu)軟件判優(yōu)n順序查詢中斷請求,先查詢的先服務順序查詢中斷請求,先查詢的先服務n即先查詢的優(yōu)先級別高即先查詢的優(yōu)先級別高n硬件判優(yōu)硬件判優(yōu)n鏈式判優(yōu)、并行判優(yōu)(中斷向量法)鏈式判優(yōu)、并行判優(yōu)(中斷向量法)16中斷響應n向中斷源發(fā)出向中斷源發(fā)出INTA中斷響應信號;中斷響應信號;n關中斷關中斷n保護硬件現(xiàn)場保護硬件現(xiàn)場n將將FLAGS壓入堆棧壓入堆棧n保護斷點保護斷點n將將CS、IP壓入堆棧壓入堆棧n獲得中斷服務程序入
8、口地址獲得中斷服務程序入口地址由由硬硬件件系系統(tǒng)統(tǒng)完完成成17中斷處理n保護現(xiàn)場保護現(xiàn)場n執(zhí)行中斷服務程序執(zhí)行中斷服務程序n恢復現(xiàn)場恢復現(xiàn)場n中斷服務程序的特點:中斷服務程序的特點:n為為“遠過程遠過程”n用用IRET指令返回指令返回18中斷服務子程序完成的工作n關中斷,保護現(xiàn)場,保護斷點,找入口地址關中斷,保護現(xiàn)場,保護斷點,找入口地址n保護軟件現(xiàn)場(參數(shù))保護軟件現(xiàn)場(參數(shù))n開中斷(開中斷(STI)n中斷處理中斷處理n關中斷(關中斷(CLI)n恢復現(xiàn)場恢復現(xiàn)場n中斷返回中斷返回19中斷返回n執(zhí)行執(zhí)行IRET指令,使指令,使IP、CS和和FLAGS從堆棧彈從堆棧彈出出n如要實現(xiàn)中斷嵌套,則
9、在保護現(xiàn)場后,要執(zhí)行如要實現(xiàn)中斷嵌套,則在保護現(xiàn)場后,要執(zhí)行開中斷指令開中斷指令恢復斷點和硬件現(xiàn)場恢復斷點和硬件現(xiàn)場中斷處理過程流程20中斷請求識別中斷源關中斷保護硬件現(xiàn)場保護斷點確定中斷服務程序入口地址保護軟件現(xiàn)場開中斷執(zhí)行中斷服務程序關中斷恢復軟件現(xiàn)場恢復斷點開中斷中斷返回恢復硬件現(xiàn)場n當前當前CPU正在進行某一優(yōu)先權(quán)級別的中斷源的處正在進行某一優(yōu)先權(quán)級別的中斷源的處理;理;n有更高級別的中斷源發(fā)出請求,且新中斷源滿足有更高級別的中斷源發(fā)出請求,且新中斷源滿足響應條件;響應條件;nCPU中止當前的中斷服務程序,保護斷點和現(xiàn)場中止當前的中斷服務程序,保護斷點和現(xiàn)場,轉(zhuǎn)而響應高級中斷,轉(zhuǎn)而響應
10、高級中斷 這種多級中斷的處理方式即為這種多級中斷的處理方式即為“嵌套嵌套”。某些。某些中斷系統(tǒng)對中斷嵌套的層數(shù)有一定限制。中斷系統(tǒng)對中斷嵌套的層數(shù)有一定限制。中斷嵌套21n高級中斷源能中斷低級的中斷處理高級中斷源能中斷低級的中斷處理 當當CPU正在處理某個中斷時,如果外部又有一正在處理某個中斷時,如果外部又有一個優(yōu)先級別比本優(yōu)先級別更高的中斷請求,則可以個優(yōu)先級別比本優(yōu)先級別更高的中斷請求,則可以實現(xiàn)實現(xiàn)中斷嵌套中斷嵌套。22中斷嵌套CPU正常執(zhí)行正常執(zhí)行中斷服務程序中斷服務程序1非預料事件非預料事件1中斷服務程序中斷服務程序2非預料事件非預料事件223中斷服務程序中斷服務程序(用戶自行編制)
11、:(用戶自行編制):n保護現(xiàn)場保護現(xiàn)場:保存:保存CPU內(nèi)部各寄存器的內(nèi)容,以便在服務程內(nèi)部各寄存器的內(nèi)容,以便在服務程序中使用;序中使用;n開總中斷開總中斷:將:將IF置置1,使,使CPU在中斷服務期間仍能響應更高在中斷服務期間仍能響應更高級的級的INTR請求;請求;n具體處理具體處理:用戶的中斷服務用戶的中斷服務n關總中斷關總中斷:將:將IF位清位清0;n恢復現(xiàn)場恢復現(xiàn)場:將入棧保護的各寄存器內(nèi)容依次彈出;:將入棧保護的各寄存器內(nèi)容依次彈出;n中斷返回中斷返回:執(zhí)行:執(zhí)行IRET指令,指令,CPU將自動彈出給將自動彈出給IP、CS、FLAGS,就可以接著執(zhí)行被中斷的原程序;,就可以接著執(zhí)行
12、被中斷的原程序; n開總中斷開總中斷:再次將:再次將IF位置位置1,使返回后能夠重新響應,使返回后能夠重新響應24257.2 8086中斷系統(tǒng)內(nèi)部中斷內(nèi)部中斷外部中斷外部中斷異常中斷異常中斷軟件中斷軟件中斷非屏蔽中斷非屏蔽中斷可屏蔽中斷可屏蔽中斷256個中個中斷源斷源除法錯中斷除法錯中斷溢出中斷溢出中斷單步中斷單步中斷 根據(jù)根據(jù)8086內(nèi)部的中斷邏輯電路,各種中斷源的優(yōu)先權(quán)順序為:內(nèi)部的中斷邏輯電路,各種中斷源的優(yōu)先權(quán)順序為:被被0除中斷除中斷軟件中斷軟件中斷INTO NMI INTR 單步中斷。單步中斷。 CPU內(nèi)的中斷邏輯內(nèi)的中斷邏輯NMI自動產(chǎn)生的中斷自動產(chǎn)生的中斷除法錯除法錯單步(單步
13、(TF=1)軟件中斷軟件中斷INT nINTOCPUCPU內(nèi)部內(nèi)部8259AINTRIRQ1鍵盤鍵盤IRQ2彩色彩色/ /圖形接口圖形接口IRQ3保留保留( (串口串口) )IRQ4 串口串口IRQ5保留保留(LPT)(LPT)IRQ0系統(tǒng)定時器系統(tǒng)定時器IRQ7 LPTLPTIRQ6軟盤軟盤8086中斷系統(tǒng)26中斷類型碼、中斷向量表和中斷向量n中斷類型碼中斷類型碼:8086可以處理可以處理256個中斷請求,每個中個中斷請求,每個中斷請求均對應于惟一固定的類型碼。斷請求均對應于惟一固定的類型碼。被被0除類型碼是除類型碼是0,單步為,單步為1;NMI為為2;斷點中斷為;斷點中斷為3,溢出中斷為,
14、溢出中斷為4 等等。n中斷向量中斷向量:即中斷服務程序的入口地址,包括段地址:即中斷服務程序的入口地址,包括段地址(高字單元)和偏移地址(低字單元)。(高字單元)和偏移地址(低字單元)。n中斷向量表中斷向量表:存放中斷向量的表,位于內(nèi)存空間的最:存放中斷向量的表,位于內(nèi)存空間的最低地址單元,長低地址單元,長1KB。共可容納。共可容納256個中斷向量(個中斷向量(25641024)。)。27中斷類型碼一、中斷類型碼一、中斷類型碼:8086可以處理可以處理256個中斷請求。每個中斷個中斷請求。每個中斷請求均對應于唯一固定的類型碼。請求均對應于唯一固定的類型碼。被被0除類型碼是除類型碼是0,單步,單
15、步為為1; NMI為為2;斷點中斷為;斷點中斷為3,溢出中斷為,溢出中斷為4;等。;等。類型類型碼碼中斷源中斷源類型碼類型碼中斷源中斷源類型碼類型碼中斷源中斷源00H 被被0 0除除0FH并口并口1 1(打印機)(打印機)中斷中斷1EH 磁盤參數(shù)磁盤參數(shù)01H 單步中斷單步中斷10H顯示器驅(qū)動程序顯示器驅(qū)動程序1FH圖形字符集圖形字符集02H NMINMI11H設備檢測設備檢測20H程序結(jié)束程序結(jié)束03H 斷點中斷斷點中斷12H存儲器檢測存儲器檢測21HDOSDOS系統(tǒng)調(diào)用系統(tǒng)調(diào)用28IBM PC/XT中斷源的功能類型碼類型碼中斷源中斷源類型碼類型碼中斷源中斷源類型碼類型碼中斷源中斷源00H被
16、被0除除0FH并口并口1(打印機)中斷(打印機)中斷1EH磁盤參數(shù)磁盤參數(shù)01H單步中斷單步中斷10H顯示器驅(qū)動程序顯示器驅(qū)動程序1FH圖形字符集圖形字符集02HNMI11H設備檢測設備檢測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夭折鍵處理夭折鍵處理06H(保留)(保留)15H盒式磁帶機驅(qū)動程序盒式磁帶機驅(qū)動程序24H關鍵性錯誤處理關鍵性錯誤處理07H(保留)(保留)16H硬盤驅(qū)動程序硬
17、盤驅(qū)動程序25H磁盤順序讀磁盤順序讀08H定時中斷定時中斷17H打印機驅(qū)動程序打印機驅(qū)動程序26H磁盤順序?qū)懘疟P順序?qū)?9H鍵盤中斷鍵盤中斷18HBASIC程序程序27H程序結(jié)束且駐留內(nèi)存程序結(jié)束且駐留內(nèi)存0AH保留的硬件中斷保留的硬件中斷19H引導(引導(BOOT)程序)程序28HDOS內(nèi)部使用內(nèi)部使用0BH異步串口異步串口2中斷中斷1AH年月日定時中斷年月日定時中斷292EHDOS保留使用保留使用0CH異步串口異步串口1中斷中斷1BH用戶鍵盤用戶鍵盤2FHDOS內(nèi)部使用內(nèi)部使用0DH并口并口2(硬磁盤)中斷(硬磁盤)中斷1CH用戶定時器時標用戶定時器時標303FHDOS保留使用保留使用0E
18、H軟盤中斷軟盤中斷1DHCRT初始化參數(shù)初始化參數(shù)40FFH用戶自定義用戶自定義291、非屏蔽中斷(非屏蔽中斷(NMI):不受中斷標志位的控制,中斷類型:不受中斷標志位的控制,中斷類型號為號為2,所以中斷向量放在,所以中斷向量放在0000:0008開始的開始的4個單元中。個單元中。NMI中斷一般用于緊急情況的處理,不受中斷標志位中斷一般用于緊急情況的處理,不受中斷標志位IF影響影響 。 2、可屏蔽中斷(可屏蔽中斷(INTR):受中斷標志位的控制,:受中斷標志位的控制,IF=1,CPU才能響應才能響應INTR中斷。中斷。CPU響應響應INTR中斷時,往中斷時,往INTA引引腳上發(fā)兩個負脈沖,外設
19、接到第二個負脈沖后,立即往數(shù)據(jù)總腳上發(fā)兩個負脈沖,外設接到第二個負脈沖后,立即往數(shù)據(jù)總線上送出中斷類型碼,供線上送出中斷類型碼,供CPU讀取。讀取。1、外部中斷硬件中斷30非屏蔽中斷NMInIBM PC/XT的的NMI來源于三方面:來源于三方面:n存儲器奇偶校驗錯誤存儲器奇偶校驗錯誤PCKnI/O通道奇偶校驗錯誤通道奇偶校驗錯誤IOCHCKn協(xié)處理器產(chǎn)生異常協(xié)處理器產(chǎn)生異常N.P.NPIn三種信號通過三種信號通過NMI屏蔽觸發(fā)器,向屏蔽觸發(fā)器,向CPU的的NMI引引腳送出;腳送出;n系統(tǒng)上電之初,系統(tǒng)上電之初,RESET信號先將信號先將NMI屏蔽觸發(fā)器屏蔽觸發(fā)器清清0。等系統(tǒng)自檢完成之后,再寫
20、入控制字解除對。等系統(tǒng)自檢完成之后,再寫入控制字解除對NMI的屏蔽。的屏蔽。31外部中斷源的管理 n多個外部硬件中斷源共用一條多個外部硬件中斷源共用一條INTR線時,要在程線時,要在程序中采取一定措施或用外部硬件解決中斷源的序中采取一定措施或用外部硬件解決中斷源的優(yōu)先優(yōu)先權(quán)排列和多級中斷的嵌套權(quán)排列和多級中斷的嵌套等。等。n中斷優(yōu)先權(quán)中斷優(yōu)先權(quán)(優(yōu)先級):中斷優(yōu)先權(quán)就是為每個中(優(yōu)先級):中斷優(yōu)先權(quán)就是為每個中斷源所確定的響應級別。斷源所確定的響應級別。n軟件排序軟件排序:CPU響應中斷后,在程序中用查詢的方響應中斷后,在程序中用查詢的方法判定外設的中斷請求。法判定外設的中斷請求。32外部中斷
21、源的管理n軟件查詢軟件查詢排序的特點是:排序的特點是:查詢次序查詢次序即優(yōu)先權(quán)排即優(yōu)先權(quán)排序,最先被詢問的故障具有最高優(yōu)先級;節(jié)省序,最先被詢問的故障具有最高優(yōu)先級;節(jié)省硬件;修改方便,只要改變程序中的查詢次序硬件;修改方便,只要改變程序中的查詢次序即可;由詢問轉(zhuǎn)至真正的服務程序入口時間長即可;由詢問轉(zhuǎn)至真正的服務程序入口時間長,在中斷源較多的情況下執(zhí)行速度較慢。,在中斷源較多的情況下執(zhí)行速度較慢。n硬件排序硬件排序:采用:采用優(yōu)先權(quán)的編碼電路優(yōu)先權(quán)的編碼電路,對各種外,對各種外部硬中斷進行排隊。還有菊花鏈式硬件排序電部硬中斷進行排隊。還有菊花鏈式硬件排序電路,以及中斷控制集成芯片路,以及中斷
22、控制集成芯片8259A33342、內(nèi)部中斷軟件中斷內(nèi)部中斷指內(nèi)部中斷指由指令的執(zhí)行或軟件對標志寄存器中由指令的執(zhí)行或軟件對標志寄存器中某個標志的設置產(chǎn)生的中斷某個標志的設置產(chǎn)生的中斷專用中斷專用中斷指令中斷指令中斷內(nèi)部中斷的種類(1)除法出錯中斷)除法出錯中斷 類型號為類型號為00H 除法出錯中斷既不是外部硬件產(chǎn)生,也不是用除法出錯中斷既不是外部硬件產(chǎn)生,也不是用軟件指令產(chǎn)生,而是軟件指令產(chǎn)生,而是CPU自身產(chǎn)生的,因此自身產(chǎn)生的,因此0型中型中斷沒有對應的中斷指令,即指令系統(tǒng)中沒有斷沒有對應的中斷指令,即指令系統(tǒng)中沒有INT 0這條指令。這條指令。3536 對單步中斷要注意三點:對單步中斷要
23、注意三點:一、所有類型的中斷在其處理過程中,一、所有類型的中斷在其處理過程中,CPU會自動地把標志會自動地把標志寄存器寄存器FLAGS壓入堆棧,然后清除壓入堆棧,然后清除TF和和IF。因此當。因此當CPU進入進入單步中斷處理程序時,就不再處于單步工作方式,而以正常方單步中斷處理程序時,就不再處于單步工作方式,而以正常方式工作。只有在單步處理結(jié)束時,從堆棧中彈出原來的標志,式工作。只有在單步處理結(jié)束時,從堆棧中彈出原來的標志,才能使才能使CPU又回到單步方式。又回到單步方式。(IF=1, TF=1)二、通常程序編制好后,在二、通常程序編制好后,在DEBUG調(diào)試程序時可使用單步中調(diào)試程序時可使用單
24、步中斷檢查程序,是通過跟蹤命令斷檢查程序,是通過跟蹤命令TF來實現(xiàn)單步運行。來實現(xiàn)單步運行。(2)單步中斷(陷阱中斷)單步中斷(陷阱中斷) 類型號為類型號為01H37三、三、8086/8088指令系統(tǒng)中沒有設置或清除指令系統(tǒng)中沒有設置或清除TF標志的指令,但指令系統(tǒng)中的標志的指令,但指令系統(tǒng)中的PUSHF和和POPF為為程序員提供了置位或復位程序員提供了置位或復位TF的手段。置位和復位的手段。置位和復位TF的程序段如下所示:的程序段如下所示:(2)單步中斷(陷阱中斷)單步中斷(陷阱中斷) 類型號為類型號為01H內(nèi)部中斷的種類置位置位TF標志標志(D8=1)PUSHFPOP AXOR AX, 0
25、100HPUSH AXPOPF;復位復位TF標志標志PUSHFPOP AXAND AX, 0FEFFHPUSH AXPOPF(2)單步中斷(陷阱中斷)單步中斷(陷阱中斷) 類型號為類型號為01H38內(nèi)部中斷的種類39(3) 斷點中斷斷點中斷 類型號為類型號為03H 設置斷點實際上是把一條斷點指令設置斷點實際上是把一條斷點指令INT 3插入程序中,插入程序中,CPU每執(zhí)行到斷點處的每執(zhí)行到斷點處的INT 3指令便產(chǎn)生一個中斷。指令便產(chǎn)生一個中斷。(4)溢出中斷)溢出中斷 類型號為類型號為04H 在執(zhí)行溢出中斷指令在執(zhí)行溢出中斷指令INTO時,若標志寄存器時,若標志寄存器FLAGS中的中的溢出標志
26、溢出標志OF=1,則產(chǎn)生一個類型號為,則產(chǎn)生一個類型號為4的內(nèi)部中斷,稱為溢出的內(nèi)部中斷,稱為溢出中斷。中斷。內(nèi)部中斷的種類 對帶符號數(shù)來說,溢出就意味著出錯(加、減運算對帶符號數(shù)來說,溢出就意味著出錯(加、減運算),一旦產(chǎn)生應立即發(fā)現(xiàn),而),一旦產(chǎn)生應立即發(fā)現(xiàn),而CPU并不知道當前處理的并不知道當前處理的數(shù)據(jù)是無符號數(shù)還是帶符號數(shù),只有程序員才明確這一數(shù)據(jù)是無符號數(shù)還是帶符號數(shù),只有程序員才明確這一點。點。 因此通常在帶符號數(shù)的加、減法運算后面總是跟著因此通常在帶符號數(shù)的加、減法運算后面總是跟著INTO指令指令40(4)溢出中斷)溢出中斷 類型號為類型號為04H41如下面的指令用來測試加法的
27、溢出:如下面的指令用來測試加法的溢出:ADD AX ,VALUINTO當標志寄存器的當標志寄存器的OF=0時,則時,則INTO指令不產(chǎn)生中斷,指令不產(chǎn)生中斷,CPU繼繼續(xù)運行原程序;續(xù)運行原程序;當當OF=1時,進入溢出中斷處理程序,打印出一個出錯信息時,進入溢出中斷處理程序,打印出一個出錯信息,在處理程序結(jié)束時,不返回原程序繼續(xù)運行,而是把控制,在處理程序結(jié)束時,不返回原程序繼續(xù)運行,而是把控制交給操作系統(tǒng)。交給操作系統(tǒng)。(4)溢出中斷)溢出中斷 類型號為類型號為04H42(5) 指令中斷指令中斷 在在8086/8088的指令系統(tǒng)中,當?shù)闹噶钕到y(tǒng)中,當CPU執(zhí)行中執(zhí)行中斷指令斷指令INT n
28、時,也能形成內(nèi)部中斷,其中時,也能形成內(nèi)部中斷,其中n在理在理論上可取值論上可取值0255。當。當n0、1、3、4時,就是時,就是上述的四種內(nèi)部中斷。上述的四種內(nèi)部中斷。內(nèi)部中斷的種類內(nèi)部中斷的特點 (1) 除除單步中斷單步中斷以外,所有內(nèi)部中斷都不能被屏蔽。以外,所有內(nèi)部中斷都不能被屏蔽。(2) 所有內(nèi)部中斷不從外部接口中讀取中斷類型號也所有內(nèi)部中斷不從外部接口中讀取中斷類型號也不發(fā)送中斷響應信號,即不執(zhí)行中斷響應的總線周不發(fā)送中斷響應信號,即不執(zhí)行中斷響應的總線周期。期。(3) 指令中斷沒有隨機性,外中斷是隨機性的。指令指令中斷沒有隨機性,外中斷是隨機性的。指令中斷是由程序中指令引起的,指
29、令位置事先已知。中斷是由程序中指令引起的,指令位置事先已知。外中斷是隨機性的,由外中斷是隨機性的,由I/O設備引起,何時引起事先設備引起,何時引起事先未知。未知。4344(4) 除單步中斷外,所有內(nèi)部中斷的優(yōu)先權(quán)都比除單步中斷外,所有內(nèi)部中斷的優(yōu)先權(quán)都比外部中斷的優(yōu)先權(quán)高。外部中斷的優(yōu)先權(quán)高。內(nèi)部中斷的特點 8086中斷的優(yōu)先級別:中斷的優(yōu)先級別:內(nèi)部中斷(單內(nèi)部中斷(單步中斷除外)步中斷除外)非屏蔽中斷非屏蔽中斷可屏蔽中斷可屏蔽中斷單步中斷單步中斷IBM PC/XT中斷源的功能類型碼類型碼中斷源中斷源類型碼類型碼中斷源中斷源類型碼類型碼中斷源中斷源00H被被0除除0FH并口并口1(打印機)中
30、斷(打印機)中斷1EH磁盤參數(shù)磁盤參數(shù)01H單步中斷單步中斷10H顯示器驅(qū)動程序顯示器驅(qū)動程序1FH圖形字符集圖形字符集02HNMI11H設備檢測設備檢測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夭折鍵處理夭折鍵處理06H(保留)(保留)15H盒式磁帶機驅(qū)動程序盒式磁帶機驅(qū)動程序24H關鍵性錯誤處理關鍵性錯誤處理07H(保留)(保留)16H硬盤驅(qū)動程序硬盤驅(qū)動程序25H磁盤順序讀磁盤順序讀
31、08H定時中斷定時中斷17H打印機驅(qū)動程序打印機驅(qū)動程序26H磁盤順序?qū)懘疟P順序?qū)?9H鍵盤中斷鍵盤中斷18HBASIC程序程序27H程序結(jié)束且駐留內(nèi)存程序結(jié)束且駐留內(nèi)存0AH保留的硬件中斷保留的硬件中斷19H引導(引導(BOOT)程序)程序28HDOS內(nèi)部使用內(nèi)部使用0BH異步串口異步串口2中斷中斷1AH年月日定時中斷年月日定時中斷292EHDOS保留使用保留使用0CH異步串口異步串口1中斷中斷1BH用戶鍵盤用戶鍵盤2FHDOS內(nèi)部使用內(nèi)部使用0DH并口并口2(硬磁盤)中斷(硬磁盤)中斷1CH用戶定時器時標用戶定時器時標303FHDOS保留使用保留使用0EH軟盤中斷軟盤中斷1DHCRT初始化
32、參數(shù)初始化參數(shù)40FFH用戶自定義用戶自定義45中斷向量和中斷向量表一、一、中斷向量中斷向量:中斷服務程序的入口地址中斷服務程序的入口地址,包括段地址,包括段地址(CS, 存放于高存放于高4字節(jié)單元)和偏移地址(字節(jié)單元)和偏移地址(IP, 存放于低存放于低4字節(jié)單元)。字節(jié)單元)。二、二、中斷向量表中斷向量表:存放中斷向量的表格。位于內(nèi)存空間:存放中斷向量的表格。位于內(nèi)存空間的最低地址,長度的最低地址,長度1KB,可容納,可容納256類中斷向量(類中斷向量(256 41024)。)。中斷號與中斷服務程序入口地址中斷號與中斷服務程序入口地址的連接表的連接表46中斷向量和中斷向量表4748中斷向
33、量表的初始化n將用戶自定義的中斷服務程序入口地址放入向?qū)⒂脩糇远x的中斷服務程序入口地址放入向量表量表n注意點:注意點:n向量表所在的段地址向量表所在的段地址=0n存放子程序入口的單元的偏移地址存放子程序入口的單元的偏移地址=n4中斷向量的設置方法用三種方法來為中斷類型用三種方法來為中斷類型N設置中斷向量設置中斷向量1) 直接裝入法直接裝入法MOV AX, 00HMOV DS, AXMOV BX, N*4;中斷號中斷號BXMOV AX, OFFSET NEWINT ;中斷服務程序偏移地址中斷服務程序偏移地址MOV WORD PTR BX,AX;裝入偏移地址裝入偏移地址MOV AX, SEG N
34、EWINT;段基址;段基址MOV WORD PTR BX+2,AX;裝入段基址裝入段基址NEWINT PROCIRETNEWINT ENDP、 、 、 、 、49中斷向量的設置方法2) 使用串送存指令裝入法使用串送存指令裝入法CLI;關中斷關中斷MOV AX, 0MOV ES, AX;ES=0MOV DI, N*4;中斷向量指針;中斷向量指針MOV AX, OFFSET NEWINT;偏移地址偏移地址CLD;DF=0,增地址,增地址STOSW; 存串指令存串指令 AXDIDI+1,再再DI+2MOV AX, SEG NEWINT; 段基段基址址STOSW;存串指令存串指令 AXDI+2DI+3
35、STI;開中斷開中斷50中斷向量的設置方法3) 使用使用DOS功能調(diào)用設置中斷向量功能調(diào)用設置中斷向量 設置中斷向量是把由設置中斷向量是把由AL指指定的中斷類型定的中斷類型N的中斷向量的中斷向量DS:DX放置在中斷向量表中。放置在中斷向量表中。預置:預置:(AH)=25H 功能號功能號 ( AL)=N 中斷類型號中斷類型號 DS:DX=中斷向量中斷向量執(zhí)行:執(zhí)行:INT 21H例如:例如:MOV AX, SEG NEWINTMOV DS, AXMOV DX, OFFSET NEWINTMOV AL, NMOV AH, 25HINT 21H51中斷向量的設置方法n 例:利用例:利用 INT 21
36、H 設置中斷向量設置中斷向量MOV AH,25H; DOS功能調(diào)用號功能調(diào)用號25H AHMOV AL,40H; 將設置的中斷類型碼將設置的中斷類型碼 ALMOV DS,SEG USERINTMOV DX,OFFSET USERINT; 入口參數(shù):入口參數(shù):中斷服務程序的入口地址中斷服務程序的入口地址 DS:DXINT 21H 執(zhí)行之后,中斷服務程序的入口地址值將放入中斷向執(zhí)行之后,中斷服務程序的入口地址值將放入中斷向量表中量表中n4處連續(xù)的處連續(xù)的4個單元中。個單元中。 52537.2.4 中斷響應與處理一、內(nèi)部中斷響應過程一、內(nèi)部中斷響應過程 1. 當內(nèi)部中斷發(fā)生時,當內(nèi)部中斷發(fā)生時, 或
37、由或由INT n指令獲得中斷類型碼,指令獲得中斷類型碼, 或是按預定方式得到中斷類型碼(專用中斷:或是按預定方式得到中斷類型碼(專用中斷:0、1、3、4);); 2. 將類型碼將類型碼4,作為中斷向量表的指針;,作為中斷向量表的指針; 3. FR(PSW)入棧保護;)入棧保護;544. 清除清除IF和和TF標志(標志(0 IF、0 TF,屏蔽新的,屏蔽新的INTR中斷和單步中斷;中斷和單步中斷; 5. 把斷點處的把斷點處的IP和和CS值壓入堆棧:先壓入值壓入堆棧:先壓入CS值,值,再壓入再壓入IP值;值; 6. 取中斷向量(中斷服務程序的入口地址),分別取中斷向量(中斷服務程序的入口地址),分
38、別送至送至CS和和IP。 按新的地址執(zhí)行中斷服務子程序。按新的地址執(zhí)行中斷服務子程序。內(nèi)部中斷響應過程55內(nèi)部中斷的特點:內(nèi)部中斷的特點:1進入中斷時,不需要執(zhí)行中斷響應周期去獲得中進入中斷時,不需要執(zhí)行中斷響應周期去獲得中斷類型碼。斷類型碼。2除單步中斷外,內(nèi)部中斷無法用軟件禁止,不受除單步中斷外,內(nèi)部中斷無法用軟件禁止,不受IF的影響。的影響。3內(nèi)部中斷沒有隨機性,由指令在程序中的位置決內(nèi)部中斷沒有隨機性,由指令在程序中的位置決定。定。4除單步中斷外,內(nèi)部中斷優(yōu)先級高于硬件中斷。除單步中斷外,內(nèi)部中斷優(yōu)先級高于硬件中斷。內(nèi)部中斷響應過程外部中斷響應過程1. 非屏蔽中斷非屏蔽中斷NMI的響應
39、的響應 中斷類型碼為中斷類型碼為2。 當當NMI發(fā)生時,發(fā)生時,CPU在執(zhí)行完當前指令后,轉(zhuǎn)在執(zhí)行完當前指令后,轉(zhuǎn)去中斷類型碼為去中斷類型碼為2的中斷服務子程序。的中斷服務子程序。響應過程(除響應過程(除中斷類型碼中斷類型碼獲得方式外)同獲得方式外)同INT n。 CPU提供,不是外設提供。提供,不是外設提供。5657類型碼類型碼 INTACLKAD7AD0T1T2T3T4第一個第一個中斷響應周期中斷響應周期T1T2T3T4第二個第二個中斷響應周期中斷響應周期 可屏蔽中斷可屏蔽中斷INTR:CPU將執(zhí)行持續(xù)兩個總線周期的中斷將執(zhí)行持續(xù)兩個總線周期的中斷響應周期。響應周期。第一個總線周期第一個總
40、線周期 INTA*有效,向外設送出的中斷有效,向外設送出的中斷應答信號;應答信號;第二個總線周期第二個總線周期INTA*再次有效,表示外設應送再次有效,表示外設應送出中斷類型碼。出中斷類型碼。CPU將在將在T4周期前沿讀取中斷類型碼。周期前沿讀取中斷類型碼。外部中斷響應過程58 在在INTR線上的請求信號(高電平)必須保持到線上的請求信號(高電平)必須保持到當前指令當前指令的的結(jié)束。結(jié)束。當當INTR線有效且線有效且IF=1,則,則CPU在當前指令執(zhí)行完畢后,響在當前指令執(zhí)行完畢后,響應外部中斷請求,轉(zhuǎn)入中斷響應周期。應外部中斷請求,轉(zhuǎn)入中斷響應周期。中斷響應周期有中斷響應周期有2個,每個響應
41、周期由個,每個響應周期由4個個T組成,中間以空組成,中間以空閑狀閑狀 態(tài)(態(tài)(3個)隔開。個)隔開。2. 可屏蔽中斷可屏蔽中斷INTR的響應的響應類型碼類型碼 INTACLKAD7AD0T1T2T3T4第一個第一個中斷響應周期中斷響應周期T1T2T3T4第二個第二個中斷響應周期中斷響應周期59在每個中斷響應周期,在每個中斷響應周期,CPU都往引腳都往引腳INTA*發(fā)一個負脈沖信發(fā)一個負脈沖信號號請求中斷的外設在收到第請求中斷的外設在收到第2個個INTA*時,將中斷類型碼時,將中斷類型碼 DB(通常由(通常由8259傳送)。傳送)。 獲得中斷類型碼后,則轉(zhuǎn)入中斷處理過程(同內(nèi)部中斷)。獲得中斷類
42、型碼后,則轉(zhuǎn)入中斷處理過程(同內(nèi)部中斷)。 INTR共執(zhí)行共執(zhí)行7個總線周期。個總線周期。類型碼類型碼 INTACLKAD7AD0T1T2T3T4第一個第一個中斷響應周期中斷響應周期T1T2T3T4第二個第二個中斷響應周期中斷響應周期中斷響應周期時序CPU從引腳從引腳INTA 發(fā)中斷響應信號,發(fā)中斷響應信號, 接 口 芯 片 接 收 此 信 號 , 把 中 斷 類 型 號 準 備 好 ; 同 時接 口 芯 片 接 收 此 信 號 , 把 中 斷 類 型 號 準 備 好 ; 同 時ISRi=1,IRRi=0。CPU再從引腳再從引腳INTA 發(fā)中斷響應信號,發(fā)中斷響應信號, 接口芯片接此信號后,將
43、中斷類型號送至數(shù)據(jù)總線上;接口芯片接此信號后,將中斷類型號送至數(shù)據(jù)總線上;CPU從數(shù)據(jù)總線獲取中斷類型號。從數(shù)據(jù)總線獲取中斷類型號。向量類型向量類型T1T2T3T4T1T2T3T46061中斷中斷類型碼的獲取類型碼的獲取NMI、斷點中斷、溢出中斷、被、斷點中斷、溢出中斷、被0除、單步中斷等類型除、單步中斷等類型碼固定。碼固定。INT N軟中斷類型碼由立即數(shù)軟中斷類型碼由立即數(shù)N給出。給出。外部中斷讀取中斷類型碼。外部中斷讀取中斷類型碼。中斷響應過程中斷響應過程6263已知中斷類型碼后,如何進入中斷服務程序?已知中斷類型碼后,如何進入中斷服務程序?1、將中斷類型碼乘以、將中斷類型碼乘以4,得到中
44、斷向量表的向量首址指針;,得到中斷向量表的向量首址指針;2、將斷點(當前、將斷點(當前CS、IP的值)入棧保護;的值)入棧保護;3、取中斷向量:把向量表指針所指的、取中斷向量:把向量表指針所指的4個連續(xù)字節(jié)的內(nèi)容作個連續(xù)字節(jié)的內(nèi)容作為中斷服務程序的入口地址,分別送給為中斷服務程序的入口地址,分別送給IP和和CS;4、按新的、按新的CS:IP指針執(zhí)行中斷服務程序。指針執(zhí)行中斷服務程序。中斷響應過程中斷響應過程64(FLAG)1000:150H3000:200H0: N40: N4+20: 0000內(nèi)內(nèi) 存存 、 、 0200H 3000H 、 、 、 MOV AX, 0 ADD AX, DX M
45、OV DI, AX、 MOV BX,CX、 IRET、類型類型N中斷子程中斷子程響應中斷前響應中斷前 SS:SP 01501000堆棧堆棧執(zhí)行執(zhí)行IRET后后 (IP) (CS)(PSW)SS:SP 響應中斷后響應中斷后SS:SP (IP)=0200H(CS)=3000H中斷向量表中斷向量表0:0 3FFH0:3FFH0:0某中斷源發(fā)申請中斷,某中斷源發(fā)申請中斷,申請執(zhí)行類型號為申請執(zhí)行類型號為N的中斷子程序的中斷子程序中斷響應過程中斷響應過程四、中斷過程舉例四、中斷過程舉例 設某輸入設備數(shù)據(jù)準備就緒后向設某輸入設備數(shù)據(jù)準備就緒后向CPU申請可屏蔽中斷,中斷申請可屏蔽中斷,中斷類型碼為類型碼為
46、80H,中斷響應后執(zhí)行的服務子程序名為,中斷響應后執(zhí)行的服務子程序名為INTPROC。 程序開始,首先應對中斷向量表進行安排,即先進行中斷初程序開始,首先應對中斷向量表進行安排,即先進行中斷初始化。程序如下:始化。程序如下: CLIPUSHDSMOVAX,0000H;中斷向量指針的段基址中斷向量指針的段基址MOVDS,AXMOVBX,0200H;中斷向量指針的偏移量中斷向量指針的偏移量MOVAX,OFFSET INTPROCMOVBX,AX;偏移量偏移量 中斷向量表中斷向量表MOVAX,SEG INTPROCMOVBX+2,AX;段基址段基址 中斷向量表中斷向量表POPDSSTI65CLIPU
47、SHDSMOVAX,0000H;中斷向量指針的段基址;中斷向量指針的段基址MOVDS,AXMOVBX,0200H;中斷向量指針的偏移量;中斷向量指針的偏移量MOVAX,OFFSET INTPROCMOVBX,AX;偏移量;偏移量 中斷向量表中斷向量表MOVAX,SEG INTPROCMOVBX+2,AX;段基址;段基址 中斷向量表中斷向量表POPDSSTIMOVAX, 2000HADDAX,AXMOVSI,AX 開中斷后,執(zhí)行任何指令期間都有可能接收到中斷開中斷后,執(zhí)行任何指令期間都有可能接收到中斷申請。申請。 假設執(zhí)行到程序中的假設執(zhí)行到程序中的ADDADD指令時收到中斷申請,且指令時收到中
48、斷申請,且IF=1IF=1,則,則CPUCPU響應中斷。響應中斷。 響應過程如下圖所示:響應過程如下圖所示:66 MOV AX,2000H ADDAX,AX (2)當前指令結(jié)束,)當前指令結(jié)束,CPU響應中斷,執(zhí)行中斷響應中斷,執(zhí)行中斷 響應總線周期,獲得中斷類型碼(響應總線周期,獲得中斷類型碼(80H)1234:5678MOVSI,AX (3)當前)當前FR內(nèi)容壓棧,內(nèi)容壓棧,IF=TF=0 (4)斷點)斷點CS(1234H)、)、IP(5678H)壓棧)壓棧 (5)查中斷向量表,中斷向量送)查中斷向量表,中斷向量送CS、IP (6)執(zhí)行中斷服務處理程序 INTPROCPROC MOV DX
49、,DPORT INAL,DXIRET INTPROCENDP (7)執(zhí)行IRET指令,恢復斷點,恢復FR IP=5678H,CS=1234H,回到斷點執(zhí)行 (1)INTR有效,外設申請中斷67START:MOV AX,DATAMOVDS,AXCLI;關中斷,設置中斷向量;關中斷,設置中斷向量SUB AX,AXMOVES,AX;中斷向量表的段基址為;中斷向量表的段基址為0000HMOVDI,460H;在中斷向量表中的偏移量;在中斷向量表中的偏移量MOVAX,OFFSET INTSVCLDSTOSW;寫中斷向量的偏移量;寫中斷向量的偏移量MOVAX,SEG INTSVSTOSW ;寫中斷向量的段基
50、址;寫中斷向量的段基址STI INT60H ;軟中斷指令;軟中斷指令 MOVAH,4CH;返回;返回DOSINT21H定義一個軟中斷,中斷類型號為定義一個軟中斷,中斷類型號為60H,在中斷服務程序中完成,在中斷服務程序中完成ASCII碼碼加偶校驗位(第加偶校驗位(第7位)的工作,位)的工作,ASCII碼首地址為碼首地址為ASCBUF,字節(jié)數(shù)為,字節(jié)數(shù)為COUNT,加偶校驗位后仍放回原處。,加偶校驗位后仍放回原處。68INTSV PROC ;中斷服務程序;中斷服務程序PUSHAX ;保護現(xiàn)場;保護現(xiàn)場PUSHBXPUSHCXMOVCX,COUNTMOVBX,OFFSETASCBUFL2: MOV
51、AL,BXANDAL,AL;建立標志;建立標志PF, PF=1,有偶數(shù)個有偶數(shù)個1JP L1OR AL,80HMOVBX,AL;加入偶校驗后寫回;加入偶校驗后寫回L1: INCBXLOOP L2POPCX;恢復現(xiàn)場;恢復現(xiàn)場POPBXPOPAXIRET69利用利用DOS功能調(diào)用設置中斷向量表功能調(diào)用設置中斷向量表設置中斷向量:設置中斷向量: 把由把由AL指定中斷類型碼的中斷向量指定中斷類型碼的中斷向量DS:DX置在中斷置在中斷向量表中。向量表中。 預置預置 AH=25H, AL=中斷類型碼中斷類型碼 DS:DX=中斷向量中斷向量 執(zhí)行執(zhí)行 INT 21H讀取中斷向量:讀取中斷向量: 把由把由A
52、L指定中斷類型碼的中斷向量從中斷向量表中取到指定中斷類型碼的中斷向量從中斷向量表中取到ES:BX中。中。 預置預置 AH=35H, AL=中斷類型碼中斷類型碼 執(zhí)行執(zhí)行 INT 21H 返回時送返回時送: ES:BX=中斷向量中斷向量707.3 可編程中斷控制器可編程中斷控制器8259A 專用于系統(tǒng)內(nèi)專用于系統(tǒng)內(nèi)可屏蔽硬件中斷可屏蔽硬件中斷的控制,管理系的控制,管理系統(tǒng)的外部中斷請求。統(tǒng)的外部中斷請求。 主要功能特點:主要功能特點: 1、每片每片8級優(yōu)先級管理,級聯(lián)后可達級優(yōu)先級管理,級聯(lián)后可達64級級 2、自動產(chǎn)生中斷向量自動產(chǎn)生中斷向量 3、每路中斷可分別屏蔽每路中斷可分別屏蔽 4、功能靈
53、活,功能靈活, 優(yōu)先權(quán)等多種工作方式可編程優(yōu)先權(quán)等多種工作方式可編程717.3.1 8259A的結(jié)構(gòu)和功能數(shù)據(jù)數(shù)據(jù)總線總線緩沖器緩沖器讀寫讀寫邏輯邏輯控制邏輯控制邏輯服務服務狀態(tài)狀態(tài)寄存器寄存器ISR優(yōu)先權(quán)優(yōu)先權(quán)處理器處理器PR中斷中斷請求請求寄存器寄存器IRR中斷屏蔽寄存器中斷屏蔽寄存器IMR級聯(lián)緩級聯(lián)緩沖器沖器比較器比較器內(nèi)部總線INTD07A0CSWRRDEN/INTA721. 8259A的內(nèi)部結(jié)構(gòu)的內(nèi)部結(jié)構(gòu)IRR中斷請求寄存器中斷請求寄存器(8位位)保存保存8個個(IR0IR7)外部中斷請求信號外部中斷請求信號Di1,表示表示IRi引腳有中斷請求引腳有中斷請求Di0,表示表示IRi引腳
54、無中斷請求引腳無中斷請求73IR中斷屏蔽寄存器中斷屏蔽寄存器(8位位)保存對中斷請求信號保存對中斷請求信號IRi的屏蔽狀態(tài);的屏蔽狀態(tài);Di1,則,則IRi引入的中斷被屏蔽(關閉);引入的中斷被屏蔽(關閉);Di0,則,則IRi引入的中斷被開放。引入的中斷被開放。1. 8259A的內(nèi)部結(jié)構(gòu)(續(xù))的內(nèi)部結(jié)構(gòu)(續(xù))74當當IR7IR0端有多個中斷請求同時發(fā)生時端有多個中斷請求同時發(fā)生時, 由由PR判定其最高優(yōu)先權(quán);判定其最高優(yōu)先權(quán);在在INTA脈沖期間將它置入中斷服務寄存器脈沖期間將它置入中斷服務寄存器ISR的的相應位。相應位。PR優(yōu)先權(quán)判別器優(yōu)先權(quán)判別器(8位位)1. 8259A的內(nèi)部結(jié)構(gòu)(續(xù))
55、的內(nèi)部結(jié)構(gòu)(續(xù))7576ISR中斷服務寄存器中斷服務寄存器(8位位)保存正在被保存正在被8259A服務著的中斷狀態(tài);服務著的中斷狀態(tài);Di1,表示,表示IRi中斷正在服務中;中斷正在服務中;Di0,表示沒有被服務。,表示沒有被服務。1. 8259A的內(nèi)部結(jié)構(gòu)(續(xù))的內(nèi)部結(jié)構(gòu)(續(xù))8位雙向三態(tài)緩沖器,構(gòu)成位雙向三態(tài)緩沖器,構(gòu)成8259A與系統(tǒng)數(shù)據(jù)線的與系統(tǒng)數(shù)據(jù)線的接口。對接口。對8259A編程寫入的命令字和讀出編程寫入的命令字和讀出8259A狀狀態(tài)信息都是通過它傳送。態(tài)信息都是通過它傳送。數(shù)據(jù)總線緩沖器數(shù)據(jù)總線緩沖器1. 8259A的內(nèi)部結(jié)構(gòu)(續(xù))的內(nèi)部結(jié)構(gòu)(續(xù))7778讀寫控制邏輯讀寫控制邏輯
56、接收讀接收讀/寫控制信號寫控制信號RD / WR、片選信號、片選信號CS和端口和端口選擇信號選擇信號A0 。一片一片8259A在系統(tǒng)中占用在系統(tǒng)中占用2個口地址個口地址, 用地址線用地址線A0來選擇端口;用高位地址線通過譯碼來選擇端口;用高位地址線通過譯碼產(chǎn)生產(chǎn)生8259A的片選信號。的片選信號。1. 8259A的內(nèi)部結(jié)構(gòu)(續(xù))的內(nèi)部結(jié)構(gòu)(續(xù))包括命令字包括命令字(ICW1ICW4)寄存器,操作字寄存器,操作字(OCW1OCW3)寄存器和相關的控制邏輯;寄存器和相關的控制邏輯;通過通過INT端向端向CPU發(fā)中斷請求信號發(fā)中斷請求信號, 從從INTA端接收端接收CPU的的中斷響應信號中斷響應信號
57、, 控制控制8259A進入中斷狀態(tài)。進入中斷狀態(tài)??刂齐娐房刂齐娐芳夁B緩沖級連緩沖/比較器比較器一片一片8259A只能接收只能接收8級中斷級中斷, 當超過當超過8級時級時,可用多片可用多片8259A級連使用級連使用, 構(gòu)成主從結(jié)構(gòu)??蓴U充到構(gòu)成主從結(jié)構(gòu)。可擴充到64級。級。1. 8259A的內(nèi)部結(jié)構(gòu)(續(xù))的內(nèi)部結(jié)構(gòu)(續(xù))79中斷級連方式的連接中斷級連方式的連接一個系統(tǒng)中,一個系統(tǒng)中,8259A可以級連,有一個主可以級連,有一個主8259A,若干個,若干個(最多(最多8個)從個)從8259A級連時,主級連時,主8259A的三條級連線的三條級連線CAS0CAS2作為輸出線,作為輸出線,連至每個從連
58、至每個從8259A的的CAS0CAS2每個從每個從8259A的中斷請求信號的中斷請求信號INT,連至主,連至主8259A的一個中的一個中斷請求輸入端斷請求輸入端IR主主8259A的的INT線連至線連至CPU的中斷請求輸入端的中斷請求輸入端SP/EN在非緩沖方式下,規(guī)定該在非緩沖方式下,規(guī)定該8259A是主片(是主片(SP1)還)還是從片(是從片(SP0)動畫動畫圖示圖示80 CS A0 INTA D CAS0SP 主主8259 CAS1 CAS2 INTIR7 IR6 IR3 IR0CS A0 INTA D CAS0SP 從從8259 CAS1 CAS2IR7 IR0 INTCS A0 INT
59、A D CAS0SP 從從8259 CAS1 CAS2IR7 IR0 INTABCBDBVccD70D70 8259 8259級連電路級連電路812. 8259A的引腳功能的引腳功能D7D0 : 雙向數(shù)據(jù)總線。傳送雙向數(shù)據(jù)總線。傳送控制、狀態(tài)信息和中斷類型號??刂?、狀態(tài)信息和中斷類型號。WR* : 寫信號。輸入寫信號。輸入, 低電平有低電平有效。當有效時效。當有效時, 8259A接收接收CPU送來的命令字。送來的命令字。RD* : 讀信號。輸入讀信號。輸入, 低電平有低電平有效。當有效時效。當有效時, 8259A將狀態(tài)信將狀態(tài)信息放入數(shù)據(jù)總線供息放入數(shù)據(jù)總線供CPU檢測。檢測。82A0 : 內(nèi)
60、部地址信號,輸入。內(nèi)部地址信號,輸入。8259A只占兩個地址只占兩個地址, A0與與CS* 一同構(gòu)成一同構(gòu)成8259A的端口奇的端口奇/偶地址選擇。偶地址選擇。CS*: 片選信號。輸入片選信號。輸入, 低電平有效。有效時低電平有效。有效時, CPU可對該可對該8259A進行讀寫。進行讀寫。2. 8259A的引腳功能(續(xù))的引腳功能(續(xù))83與處理器接口引腳的邏輯功能與處理器接口引腳的邏輯功能 A0 RD* WR* CS*功能功能0 1 0 01 1 0 00 0 1 01 0 1 0 1 1 0 1寫入寫入ICW1、OCW2和和OCW3寫入寫入ICW2ICW4和和OCW1讀出讀出IRR、ISR
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030年中國陳皮市場運營格局及發(fā)展趨勢分析報告
- 2025-2030年中國鋁合金金屬型鑄件行業(yè)十三五規(guī)劃及發(fā)展策略研究報告
- 2025-2030年中國重卡汽車市場發(fā)展狀況及前景趨勢分析報告
- 2025-2030年中國酒精制造行業(yè)運營現(xiàn)狀及發(fā)展規(guī)劃分析報告
- 2025安徽省建筑安全員《C證》考試題庫及答案
- 2025-2030年中國觀光船游覽市場發(fā)展狀況與投資戰(zhàn)略研究報告
- 2025-2030年中國營銷服務行業(yè)市場競爭狀況及發(fā)展前景分析報告
- 2025-2030年中國米爾貝肟市場運營現(xiàn)狀及發(fā)展規(guī)劃分析報告
- 2025-2030年中國電解鋅行業(yè)十三五規(guī)劃與發(fā)展建議分析報告
- 中醫(yī)藥防疫課件
- 統(tǒng)編版(2024新版)七年級下冊歷史教材習題答案
- 第10課《自定主題活動一:用養(yǎng)樂多瓶子做花瓶》(教學實錄)-2023-2024學年三年級下冊綜合實踐活動浙教版
- 熱點主題作文寫作指導:提出問題與解決問題(審題指導與例文)
- 糖尿病肌少癥
- 江蘇書記員考試歷年題庫
- 2024年浙江省中考數(shù)學試卷含答案
- 激光切割價格報價表
- 友情 創(chuàng)可貼 課件 綜合實踐活動四年級下冊
- 紅樓夢閱讀單選題100道及答案解析
- 2024年知識競賽-中小學財務管理知識考試近5年真題集錦(頻考類試題)帶答案
評論
0/150
提交評論