第9章 中斷及中斷管理ppt_第1頁(yè)
第9章 中斷及中斷管理ppt_第2頁(yè)
第9章 中斷及中斷管理ppt_第3頁(yè)
第9章 中斷及中斷管理ppt_第4頁(yè)
第9章 中斷及中斷管理ppt_第5頁(yè)
已閱讀5頁(yè),還剩28頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、 中斷是為了解決高速中斷是為了解決高速CPU與慢速外設(shè)之間的矛盾而引出的一與慢速外設(shè)之間的矛盾而引出的一個(gè)概念。個(gè)概念。從無(wú)條件傳送、條件傳送到中斷傳送從無(wú)條件傳送、條件傳送到中斷傳送 無(wú)條件傳送特點(diǎn):無(wú)條件傳送特點(diǎn):無(wú)需條件,無(wú)需條件,CPU直接與外設(shè)數(shù)據(jù)傳送。直接與外設(shè)數(shù)據(jù)傳送。 條件傳送特點(diǎn):條件傳送特點(diǎn):CPU主動(dòng)查詢外設(shè)狀態(tài),傳輸條件具備后,主動(dòng)查詢外設(shè)狀態(tài),傳輸條件具備后,才數(shù)據(jù)傳送。才數(shù)據(jù)傳送。 中斷傳送特點(diǎn):中斷傳送特點(diǎn):外設(shè)主動(dòng)向外設(shè)主動(dòng)向CPU發(fā)出請(qǐng)求,發(fā)出請(qǐng)求,CPU與之進(jìn)行數(shù)與之進(jìn)行數(shù)據(jù)傳送。據(jù)傳送。 引入條件傳送根本原因是:引入條件傳送根本原因是:CPU與外設(shè)工作不同

2、步。與外設(shè)工作不同步。引入中斷傳送根本原因是:嫌條件傳送時(shí),引入中斷傳送根本原因是:嫌條件傳送時(shí),CPU的工作效率低。的工作效率低。 中斷指中斷指CPU暫時(shí)中止正在執(zhí)行的主程序,轉(zhuǎn)去執(zhí)行請(qǐng)求中斷暫時(shí)中止正在執(zhí)行的主程序,轉(zhuǎn)去執(zhí)行請(qǐng)求中斷的那個(gè)外設(shè)的中斷服務(wù)程序,處理完后,又返回主程序的過(guò)程。的那個(gè)外設(shè)的中斷服務(wù)程序,處理完后,又返回主程序的過(guò)程。何謂中斷?何謂中斷?某人看書(shū)某人看書(shū)電話鈴響電話鈴響暫??磿?shū)暫停看書(shū)書(shū)中作記號(hào)書(shū)中作記號(hào)電話談話電話談話繼續(xù)看書(shū)繼續(xù)看書(shū)執(zhí)行主程序執(zhí)行主程序中斷信號(hào)中斷信號(hào)INTR暫停執(zhí)行主程序暫停執(zhí)行主程序當(dāng)前當(dāng)前CS:IP入棧入棧執(zhí)行執(zhí)行I/O程序程序 返回主程序

3、返回主程序日常事務(wù)日常事務(wù)中斷請(qǐng)求中斷請(qǐng)求中斷響應(yīng)中斷響應(yīng)保護(hù)斷點(diǎn)保護(hù)斷點(diǎn)中斷服務(wù)中斷服務(wù)中斷返回中斷返回日常事務(wù)程序日常事務(wù)程序中斷服務(wù)程序中斷服務(wù)程序INTRCPU外設(shè) 中斷傳送方式中斷傳送方式: 可以解決可以解決CPU與外設(shè)之間速度匹配的問(wèn)題與外設(shè)之間速度匹配的問(wèn)題, 使計(jì)算機(jī)可以及時(shí)使計(jì)算機(jī)可以及時(shí)處理系統(tǒng)中許多隨機(jī)的參數(shù)和信息。處理系統(tǒng)中許多隨機(jī)的參數(shù)和信息。提高了計(jì)算機(jī)處理故障與應(yīng)變的能力。提高了計(jì)算機(jī)處理故障與應(yīng)變的能力。 為實(shí)現(xiàn)中斷功能而設(shè)置的各種硬件和軟件的集合,稱為中斷系為實(shí)現(xiàn)中斷功能而設(shè)置的各種硬件和軟件的集合,稱為中斷系統(tǒng)。統(tǒng)。一、與中斷有關(guān)的觸發(fā)器一、與中斷有關(guān)的觸發(fā)

4、器中斷請(qǐng)求觸發(fā)器中斷請(qǐng)求觸發(fā)器其輸出可作為中斷請(qǐng)求信號(hào),其輸出可作為中斷請(qǐng)求信號(hào),在滿足一定條件的情況下把信在滿足一定條件的情況下把信號(hào)發(fā)送給號(hào)發(fā)送給CPU,且在,且在CPU未響未響應(yīng)時(shí)能一直保持。應(yīng)時(shí)能一直保持。當(dāng)當(dāng)CPU滿足一定條件下響應(yīng)該滿足一定條件下響應(yīng)該中斷請(qǐng)求信號(hào),執(zhí)行相關(guān)操作中斷請(qǐng)求信號(hào),執(zhí)行相關(guān)操作后,能撤消該中斷請(qǐng)求信號(hào)。后,能撤消該中斷請(qǐng)求信號(hào)。中斷系統(tǒng)通常包含中斷系統(tǒng)通常包含3個(gè)重要觸發(fā)器。個(gè)重要觸發(fā)器。D QCLK /RD+5V中斷請(qǐng)求中斷請(qǐng)求外設(shè)讀、寫(xiě)操作外設(shè)讀、寫(xiě)操作狀態(tài)線狀態(tài)線中斷請(qǐng)求信號(hào)產(chǎn)生電路中斷請(qǐng)求信號(hào)產(chǎn)生電路其作用就是產(chǎn)生中斷請(qǐng)求信號(hào)給其作用就是產(chǎn)生中斷請(qǐng)

5、求信號(hào)給CPU。能夠發(fā)出中斷請(qǐng)求信號(hào)的外設(shè)稱為中斷源。能夠發(fā)出中斷請(qǐng)求信號(hào)的外設(shè)稱為中斷源。外設(shè)外設(shè):如鍵盤(pán)、打印機(jī)等:如鍵盤(pán)、打印機(jī)等數(shù)據(jù)通道數(shù)據(jù)通道:如磁盤(pán)、磁帶機(jī):如磁盤(pán)、磁帶機(jī)時(shí)鐘電路時(shí)鐘電路:如:如8253故障源故障源:如掉電,需保存信息:如掉電,需保存信息調(diào)試程序時(shí)設(shè)置的中斷源:調(diào)試程序時(shí)設(shè)置的中斷源:如斷點(diǎn)、單步如斷點(diǎn)、單步 中斷請(qǐng)求觸發(fā)器中斷請(qǐng)求觸發(fā)器中斷屏蔽觸發(fā)器中斷屏蔽觸發(fā)器與與門(mén)門(mén)狀態(tài)線狀態(tài)線中斷請(qǐng)求信號(hào)中斷請(qǐng)求信號(hào)中斷屏蔽觸發(fā)器中斷屏蔽觸發(fā)器 其功能是決定中斷請(qǐng)求觸發(fā)器的輸出信號(hào)是否可以作為中斷其功能是決定中斷請(qǐng)求觸發(fā)器的輸出信號(hào)是否可以作為中斷請(qǐng)求信號(hào)向請(qǐng)求信號(hào)向CP

6、U發(fā)送。發(fā)送。 通常通常CPU可以對(duì)中斷屏蔽觸發(fā)器進(jìn)行操作,從而達(dá)到對(duì)中斷可以對(duì)中斷屏蔽觸發(fā)器進(jìn)行操作,從而達(dá)到對(duì)中斷源的控制,如:源的控制,如: CPU不準(zhǔn)備響應(yīng)某個(gè)外設(shè)中斷,可將中斷屏蔽觸發(fā)器復(fù)位,不準(zhǔn)備響應(yīng)某個(gè)外設(shè)中斷,可將中斷屏蔽觸發(fā)器復(fù)位,不讓該外設(shè)的中斷請(qǐng)求觸發(fā)器的輸出信號(hào)通過(guò)與門(mén)。此操作不讓該外設(shè)的中斷請(qǐng)求觸發(fā)器的輸出信號(hào)通過(guò)與門(mén)。此操作稱之為稱之為中斷屏蔽中斷屏蔽。 CPU將中斷屏蔽觸發(fā)器置將中斷屏蔽觸發(fā)器置1,則準(zhǔn)備響應(yīng)該外設(shè)中斷。,則準(zhǔn)備響應(yīng)該外設(shè)中斷。中斷允許觸發(fā)器中斷允許觸發(fā)器 中斷允許觸發(fā)器位于中斷允許觸發(fā)器位于CPU內(nèi)部,其功能類(lèi)似于中斷屏蔽觸發(fā)內(nèi)部,其功能類(lèi)似于中

7、斷屏蔽觸發(fā)器。器。 8086CPU的中斷允許標(biāo)志位的中斷允許標(biāo)志位IF就是一個(gè)中斷允許觸發(fā)器。就是一個(gè)中斷允許觸發(fā)器。 IF=1,允許,允許CPU響應(yīng)中斷(響應(yīng)中斷(CPU開(kāi)中)開(kāi)中) IF=0,禁止,禁止CPU響應(yīng)中斷(響應(yīng)中斷(CPU關(guān)中)關(guān)中)8086CPU設(shè)置了兩種類(lèi)型硬件中斷:設(shè)置了兩種類(lèi)型硬件中斷:可屏蔽中斷:受中斷允許觸發(fā)器控制,只有可屏蔽中斷:受中斷允許觸發(fā)器控制,只有IF=1,CPU才響才響應(yīng)中斷請(qǐng)求信號(hào)。應(yīng)中斷請(qǐng)求信號(hào)。 不可屏蔽中斷:不受中斷允許觸發(fā)器控制,有中斷請(qǐng)求信號(hào)不可屏蔽中斷:不受中斷允許觸發(fā)器控制,有中斷請(qǐng)求信號(hào),CPU必須響應(yīng)。必須響應(yīng)。二、中斷條件二、中斷條

8、件中斷屏蔽觸發(fā)器處于非屏蔽狀態(tài),使外設(shè)的中斷請(qǐng)求信號(hào)能中斷屏蔽觸發(fā)器處于非屏蔽狀態(tài),使外設(shè)的中斷請(qǐng)求信號(hào)能發(fā)給發(fā)給CPU。中斷允許觸發(fā)器處于開(kāi)中狀態(tài),中斷允許觸發(fā)器處于開(kāi)中狀態(tài), 使使CPU允許響應(yīng)中斷。此允許響應(yīng)中斷。此觸發(fā)器狀態(tài)可由觸發(fā)器狀態(tài)可由STI(IF=1)和)和CLI(IF=0)指令來(lái)改變。)指令來(lái)改變。中斷請(qǐng)求要獲得中斷請(qǐng)求要獲得CPU響應(yīng),必須滿足兩個(gè)條件:響應(yīng),必須滿足兩個(gè)條件:三、中斷響應(yīng)過(guò)程三、中斷響應(yīng)過(guò)程中斷源進(jìn)行中斷申請(qǐng)中斷源進(jìn)行中斷申請(qǐng) 外設(shè)置中斷請(qǐng)求觸發(fā)器有效,在外設(shè)置中斷請(qǐng)求觸發(fā)器有效,在CPU未響應(yīng)時(shí)能一直保持。未響應(yīng)時(shí)能一直保持。 并且并且中斷屏蔽觸發(fā)器處于

9、非屏蔽狀態(tài)。中斷屏蔽觸發(fā)器處于非屏蔽狀態(tài)。中斷響應(yīng)中斷響應(yīng) 無(wú)總線請(qǐng)求。無(wú)總線請(qǐng)求。 CPU開(kāi)中。開(kāi)中。 CPU執(zhí)行完現(xiàn)行指令。執(zhí)行完現(xiàn)行指令。 CPU響應(yīng)中斷后,首先自動(dòng)完成響應(yīng)中斷后,首先自動(dòng)完成3項(xiàng)工作:項(xiàng)工作: 自動(dòng)關(guān)中斷。自動(dòng)關(guān)中斷。 自動(dòng)保護(hù)斷點(diǎn),即將自動(dòng)保護(hù)斷點(diǎn),即將CS:IP及及FR的內(nèi)容壓棧。的內(nèi)容壓棧。 自動(dòng)給出中斷入口,即將中斷服務(wù)程序的入口地址裝入自動(dòng)給出中斷入口,即將中斷服務(wù)程序的入口地址裝入CS:IP,轉(zhuǎn)入相應(yīng)的中斷服務(wù)程序執(zhí)行。,轉(zhuǎn)入相應(yīng)的中斷服務(wù)程序執(zhí)行。中斷處理中斷處理 可見(jiàn),一旦可見(jiàn),一旦CPU響應(yīng)中斷響應(yīng)中斷后,會(huì)立刻轉(zhuǎn)入中斷服務(wù)程序后,會(huì)立刻轉(zhuǎn)入中斷服務(wù)

10、程序之中,而中斷服務(wù)程序中所要之中,而中斷服務(wù)程序中所要完成的工作通常是:完成的工作通常是:保護(hù)現(xiàn)場(chǎng)保護(hù)現(xiàn)場(chǎng)開(kāi)中斷開(kāi)中斷中斷服務(wù)中斷服務(wù)關(guān)中斷關(guān)中斷恢復(fù)現(xiàn)場(chǎng)恢復(fù)現(xiàn)場(chǎng)開(kāi)中斷返回開(kāi)中斷返回中斷入口中斷入口 一個(gè)微機(jī)系統(tǒng)往往有多個(gè)外設(shè),當(dāng)一個(gè)微機(jī)系統(tǒng)往往有多個(gè)外設(shè),當(dāng)CPU響應(yīng)外設(shè)中斷請(qǐng)求后響應(yīng)外設(shè)中斷請(qǐng)求后,必須識(shí)別出是哪一臺(tái)外設(shè)請(qǐng)求中斷。然后再轉(zhuǎn)入對(duì)應(yīng)于該外設(shè),必須識(shí)別出是哪一臺(tái)外設(shè)請(qǐng)求中斷。然后再轉(zhuǎn)入對(duì)應(yīng)于該外設(shè)的中斷服務(wù)程序。的中斷服務(wù)程序。 常用的中斷源識(shí)別方法有:常用的中斷源識(shí)別方法有:查詢中斷查詢中斷和和矢量中斷矢量中斷。 一、中斷源識(shí)別一、中斷源識(shí)別查詢中斷查詢中斷 需設(shè)置中斷查詢接

11、口電路,需設(shè)置中斷查詢接口電路,利用程序來(lái)查詢?cè)O(shè)備的請(qǐng)求中利用程序來(lái)查詢?cè)O(shè)備的請(qǐng)求中斷狀態(tài)。斷狀態(tài)。 如圖:一旦如圖:一旦CPU響應(yīng)了中響應(yīng)了中斷,先執(zhí)行查詢程序查找中斷斷,先執(zhí)行查詢程序查找中斷源。源。IN AL,IPORT;從輸入接口取中斷信息;從輸入接口取中斷信息TEST AL,80H;是;是0號(hào)設(shè)備請(qǐng)求嗎?號(hào)設(shè)備請(qǐng)求嗎?JNZ SEV0;是轉(zhuǎn);是轉(zhuǎn)0號(hào)設(shè)備服務(wù)程序號(hào)設(shè)備服務(wù)程序TEST AL,40H;是;是1號(hào)設(shè)備請(qǐng)求嗎?號(hào)設(shè)備請(qǐng)求嗎?JNZ SEV1;是轉(zhuǎn);是轉(zhuǎn)1號(hào)設(shè)備服務(wù)程序號(hào)設(shè)備服務(wù)程序TEST AL,20H;是;是2號(hào)設(shè)備請(qǐng)求嗎?號(hào)設(shè)備請(qǐng)求嗎?JNZ SEV2;是轉(zhuǎn);是轉(zhuǎn)2號(hào)設(shè)

12、備服務(wù)程序號(hào)設(shè)備服務(wù)程序TEST AL,10H;是;是3號(hào)設(shè)備請(qǐng)求嗎?號(hào)設(shè)備請(qǐng)求嗎?JNZ SEV3;是轉(zhuǎn);是轉(zhuǎn)3號(hào)設(shè)備服務(wù)程序號(hào)設(shè)備服務(wù)程序四個(gè)中斷源四個(gè)中斷源矢量中斷矢量中斷 要求外設(shè):不僅提供中斷請(qǐng)求信號(hào),而且還得提供一個(gè)設(shè)備要求外設(shè):不僅提供中斷請(qǐng)求信號(hào),而且還得提供一個(gè)設(shè)備號(hào)(號(hào)(又稱中斷類(lèi)型號(hào)又稱中斷類(lèi)型號(hào))。)。 CPU響應(yīng)外設(shè)的中斷申請(qǐng)的過(guò)程是:響應(yīng)外設(shè)的中斷申請(qǐng)的過(guò)程是:外設(shè)發(fā)出中斷申請(qǐng)信號(hào)外設(shè)發(fā)出中斷申請(qǐng)信號(hào)CPU回應(yīng)中斷響應(yīng)信號(hào)(回應(yīng)中斷響應(yīng)信號(hào)(/INTA)外設(shè)將設(shè)備號(hào)(中斷類(lèi)型號(hào))經(jīng)數(shù)外設(shè)將設(shè)備號(hào)(中斷類(lèi)型號(hào))經(jīng)數(shù)據(jù)總線送據(jù)總線送CPUCPU根據(jù)該中斷類(lèi)型號(hào)自動(dòng)找到相

13、根據(jù)該中斷類(lèi)型號(hào)自動(dòng)找到相應(yīng)的中斷程序的入口地址,轉(zhuǎn)入中應(yīng)的中斷程序的入口地址,轉(zhuǎn)入中斷服務(wù)斷服務(wù)注意:注意:矢量中斷識(shí)別中斷源的速度最快。矢量中斷識(shí)別中斷源的速度最快。8086CPU采用的就是矢量中斷。采用的就是矢量中斷。#3 中斷類(lèi)型號(hào)可以由專用的中斷控制芯片提供,也可以由接口中斷類(lèi)型號(hào)可以由專用的中斷控制芯片提供,也可以由接口芯片芯片74LS245提供。提供。中斷類(lèi)型號(hào)中斷類(lèi)型號(hào)80H產(chǎn)生電路產(chǎn)生電路8個(gè)中斷類(lèi)型號(hào)產(chǎn)生電路個(gè)中斷類(lèi)型號(hào)產(chǎn)生電路二、中斷優(yōu)先權(quán)二、中斷優(yōu)先權(quán) 多個(gè)外設(shè)同時(shí)申請(qǐng)中斷時(shí),因多個(gè)外設(shè)同時(shí)申請(qǐng)中斷時(shí),因8086CPU只有一條只有一條INTR線,線,這就有一個(gè)優(yōu)先權(quán)問(wèn)題

14、,誰(shuí)優(yōu)先權(quán)高,先響應(yīng)誰(shuí)。這就有一個(gè)優(yōu)先權(quán)問(wèn)題,誰(shuí)優(yōu)先權(quán)高,先響應(yīng)誰(shuí)。 制定優(yōu)先權(quán)有兩種方法:制定優(yōu)先權(quán)有兩種方法:軟件方案軟件方案和和硬件方案硬件方案。軟件方案軟件方案 指各個(gè)中斷源的優(yōu)先權(quán)由軟件安排,按查詢順序決定,先被指各個(gè)中斷源的優(yōu)先權(quán)由軟件安排,按查詢順序決定,先被查詢的中斷源具有高的優(yōu)先權(quán)。查詢的中斷源具有高的優(yōu)先權(quán)。IN AL,IPORTTEST AL,80HJNZ SEV0TEST AL,40HJNZ SEV1TEST AL,20HJNZ SEV2TEST AL,10HJNZ SEV3四個(gè)中斷源四個(gè)中斷源硬件方案(不作要求)硬件方案(不作要求)8086有兩類(lèi)中斷有兩類(lèi)中斷:硬件中

15、斷硬件中斷由外設(shè)的請(qǐng)求引起,又叫由外設(shè)的請(qǐng)求引起,又叫外中斷。外中斷。8086有兩條外有兩條外部中斷請(qǐng)求線部中斷請(qǐng)求線NMI(不可屏蔽中斷)和(不可屏蔽中斷)和INTR(可屏蔽中斷)(可屏蔽中斷) 軟件中斷軟件中斷由執(zhí)行指令所引起,又叫由執(zhí)行指令所引起,又叫內(nèi)中斷內(nèi)中斷 8086采用矢量中斷。即通過(guò)中斷類(lèi)型號(hào)來(lái)尋找中斷服務(wù)程采用矢量中斷。即通過(guò)中斷類(lèi)型號(hào)來(lái)尋找中斷服務(wù)程序入口地址。其方法:序入口地址。其方法: 8086為每個(gè)中斷都安排一個(gè)中斷類(lèi)型號(hào)(為每個(gè)中斷都安排一個(gè)中斷類(lèi)型號(hào)(00HFFH) ,能,能處理處理256個(gè)中斷個(gè)中斷。 8086要求在內(nèi)存前要求在內(nèi)存前1K字節(jié)(字節(jié)(RAM:00

16、000H003FFH)建一)建一個(gè)中斷服務(wù)程序的地址表(或叫中斷向量表),中斷服務(wù)程個(gè)中斷服務(wù)程序的地址表(或叫中斷向量表),中斷服務(wù)程序的入口地址事先存入該區(qū)域中,每個(gè)入口地址占序的入口地址事先存入該區(qū)域中,每個(gè)入口地址占4個(gè)字節(jié)個(gè)字節(jié)。高地址單元放入口地址的段地址,低地址單元放偏移地址。高地址單元放入口地址的段地址,低地址單元放偏移地址。 中斷服務(wù)程序的入口地址從中斷服務(wù)程序的入口地址從“中斷類(lèi)型號(hào)中斷類(lèi)型號(hào) 4”的的RAM區(qū)中找區(qū)中找到。到。中斷類(lèi)型號(hào)和中斷服務(wù)程序入口地址的關(guān)系中斷類(lèi)型號(hào)和中斷服務(wù)程序入口地址的關(guān)系一、不可屏蔽中斷不可屏蔽中斷 由由8086的的NMI腳輸入,不受中斷允許

17、觸發(fā)器控制,有中斷腳輸入,不受中斷允許觸發(fā)器控制,有中斷請(qǐng)求信號(hào),請(qǐng)求信號(hào),CPU必須響應(yīng)。必須響應(yīng)。 中斷類(lèi)型號(hào)中斷類(lèi)型號(hào)=02H,CPU內(nèi)部直接產(chǎn)生,無(wú)須內(nèi)部直接產(chǎn)生,無(wú)須/INTA回應(yīng)?;貞?yīng)。NMI中斷中斷二、可屏蔽中斷可屏蔽中斷 由由8086的的INTR腳輸入,受中斷允許觸發(fā)器控制,只有腳輸入,受中斷允許觸發(fā)器控制,只有IF=1,CPU才響應(yīng)中斷請(qǐng)求信號(hào)。才響應(yīng)中斷請(qǐng)求信號(hào)。 中斷類(lèi)型號(hào)由外設(shè)提供。中斷類(lèi)型號(hào)由外設(shè)提供。INTR中斷中斷1 屬于執(zhí)行指令引起的中斷,分三類(lèi)屬于執(zhí)行指令引起的中斷,分三類(lèi): 處理運(yùn)算過(guò)程中某些錯(cuò)誤的中斷處理運(yùn)算過(guò)程中某些錯(cuò)誤的中斷執(zhí)行程序時(shí),為及時(shí)處理運(yùn)算中

18、某些錯(cuò)誤,執(zhí)行程序時(shí),為及時(shí)處理運(yùn)算中某些錯(cuò)誤,CPU以中斷方以中斷方式中止正在運(yùn)行的程序,提醒程序員改錯(cuò)。式中止正在運(yùn)行的程序,提醒程序員改錯(cuò)。三、軟件中斷軟件中斷除法錯(cuò)中斷(中斷類(lèi)型號(hào)除法錯(cuò)中斷(中斷類(lèi)型號(hào)=0)執(zhí)行除法指令時(shí),若發(fā)現(xiàn)除數(shù)為零或商超過(guò)了寄存器所能執(zhí)行除法指令時(shí),若發(fā)現(xiàn)除數(shù)為零或商超過(guò)了寄存器所能表表 達(dá)的范圍,則立即產(chǎn)生除法錯(cuò)中斷。達(dá)的范圍,則立即產(chǎn)生除法錯(cuò)中斷。例:例: ADD AX,BX INTO ;測(cè)試加法的溢出;測(cè)試加法的溢出溢出中斷溢出中斷INTO(中斷類(lèi)型號(hào)(中斷類(lèi)型號(hào)=4)運(yùn)算時(shí),當(dāng)運(yùn)算時(shí),當(dāng)OF=1,執(zhí)行,執(zhí)行INTO指令,產(chǎn)生溢出中斷,打印指令,產(chǎn)生溢出中

19、斷,打印出一個(gè)錯(cuò)誤信息,結(jié)束時(shí)不返回,而把控制權(quán)交給操作系統(tǒng)。出一個(gè)錯(cuò)誤信息,結(jié)束時(shí)不返回,而把控制權(quán)交給操作系統(tǒng)。若若OF=0,則,則INTO不產(chǎn)生中斷,不產(chǎn)生中斷,CPU執(zhí)行下一條指令。執(zhí)行下一條指令。 單步中斷(中斷類(lèi)型號(hào)單步中斷(中斷類(lèi)型號(hào)=1) 當(dāng)當(dāng)TF=1時(shí),每條指令執(zhí)行后,時(shí),每條指令執(zhí)行后,CPU會(huì)自動(dòng)產(chǎn)生一個(gè)類(lèi)型會(huì)自動(dòng)產(chǎn)生一個(gè)類(lèi)型1的的中斷(單步中斷)。中斷(單步中斷)。 使用單步中斷可一條一條指令地跟蹤程序流程,觀察各個(gè)寄使用單步中斷可一條一條指令地跟蹤程序流程,觀察各個(gè)寄存器及存儲(chǔ)單元變化,幫助分析錯(cuò)誤原因。存器及存儲(chǔ)單元變化,幫助分析錯(cuò)誤原因。為調(diào)試程序而設(shè)置的中斷為調(diào)

20、試程序而設(shè)置的中斷 斷點(diǎn)中斷(中斷類(lèi)型號(hào)斷點(diǎn)中斷(中斷類(lèi)型號(hào)=3) 斷點(diǎn)可設(shè)置在程序的任何地方,它相當(dāng)把一條斷點(diǎn)可設(shè)置在程序的任何地方,它相當(dāng)把一條INT 3 指令插指令插入程序中。入程序中。CPU每執(zhí)行到斷點(diǎn)處,每執(zhí)行到斷點(diǎn)處,INT 3 指令便產(chǎn)生一個(gè)中斷。指令便產(chǎn)生一個(gè)中斷。 CPU執(zhí)行完一條執(zhí)行完一條INT n指令后,會(huì)立即產(chǎn)生中斷,并且調(diào)用系指令后,會(huì)立即產(chǎn)生中斷,并且調(diào)用系統(tǒng)中相應(yīng)的中斷處理程序來(lái)完成中斷功能,中斷指令的操作數(shù)統(tǒng)中相應(yīng)的中斷處理程序來(lái)完成中斷功能,中斷指令的操作數(shù)n指出中斷類(lèi)型。指出中斷類(lèi)型。軟中斷(中斷指令軟中斷(中斷指令I(lǐng)NT引起的中斷)引起的中斷)又例:又例:

21、INT 12H完成對(duì)存儲(chǔ)器容量的測(cè)試。返回時(shí),完成對(duì)存儲(chǔ)器容量的測(cè)試。返回時(shí),AX中的數(shù)中的數(shù)據(jù)即為存儲(chǔ)器容量(據(jù)即為存儲(chǔ)器容量(KB為單位)。為單位)。例:例:DOS功能調(diào)用功能調(diào)用INT 21H,具有很強(qiáng)的功能。,具有很強(qiáng)的功能。中斷邏輯中斷邏輯8086CPUINTO指令指令除法除法錯(cuò)誤錯(cuò)誤單步單步TF=1104nNMI不可屏蔽中斷請(qǐng)求不可屏蔽中斷請(qǐng)求INTR可屏蔽中斷請(qǐng)求可屏蔽中斷請(qǐng)求INT n 指令指令一、一、8086CPU的中斷處理順序的中斷處理順序8086所有中斷源的優(yōu)先權(quán)從高到低次序?yàn)椋核兄袛嘣吹膬?yōu)先權(quán)從高到低次序?yàn)椋?軟件中斷(除法錯(cuò),軟件中斷(除法錯(cuò),INTO,INT n指

22、令)指令) 不可屏蔽中斷(不可屏蔽中斷(NMI) 可屏蔽中斷(可屏蔽中斷(INTR) 單步中斷單步中斷8086對(duì)中斷的處理流程:對(duì)中斷的處理流程:二、二、8086CPU的中斷服務(wù)入口地址表(中斷向量表)的中斷服務(wù)入口地址表(中斷向量表) 中斷向量表建在內(nèi)存的前中斷向量表建在內(nèi)存的前1K字節(jié)字節(jié)(RAM:00000H003FFH)。)。 中斷向量表中存放的是各中斷服務(wù)中斷向量表中存放的是各中斷服務(wù)程序的入口地址(中斷向量)。程序的入口地址(中斷向量)。 每個(gè)入口地址占每個(gè)入口地址占4個(gè)字節(jié)。前個(gè)字節(jié)。前2單元單元放偏移地址,后放偏移地址,后2單元放段地址。單元放段地址。 程序運(yùn)行轉(zhuǎn)入中斷服務(wù)程序

23、時(shí),入程序運(yùn)行轉(zhuǎn)入中斷服務(wù)程序時(shí),入口地址的偏移地址將裝入口地址的偏移地址將裝入IP中,段中,段地址裝入地址裝入CS。 8086對(duì)不同的中斷是以中斷類(lèi)型號(hào)對(duì)不同的中斷是以中斷類(lèi)型號(hào)來(lái)區(qū)別的。來(lái)區(qū)別的。 每種中斷配以固定的每種中斷配以固定的中斷類(lèi)型號(hào)。在中斷發(fā)生時(shí),借助中斷類(lèi)型號(hào)。在中斷發(fā)生時(shí),借助中斷類(lèi)型號(hào),能使程序轉(zhuǎn)入相對(duì)應(yīng)中斷類(lèi)型號(hào),能使程序轉(zhuǎn)入相對(duì)應(yīng)的中斷服務(wù)程序。的中斷服務(wù)程序。8086中斷向量表的基本概念中斷向量表的基本概念 中斷類(lèi)型號(hào)與中斷向量表的關(guān)系如何中斷類(lèi)型號(hào)與中斷向量表的關(guān)系如何? 簡(jiǎn)單地說(shuō),中斷類(lèi)型簡(jiǎn)單地說(shuō),中斷類(lèi)型號(hào)是訪問(wèn)中斷向量表的索引號(hào)。也就是說(shuō),中斷向量在中斷號(hào)是

24、訪問(wèn)中斷向量表的索引號(hào)。也就是說(shuō),中斷向量在中斷向量表中的存儲(chǔ)順序是以中斷類(lèi)型號(hào)為索引的。向量表中的存儲(chǔ)順序是以中斷類(lèi)型號(hào)為索引的。中斷類(lèi)型號(hào)乘中斷類(lèi)型號(hào)乘4就是該種中斷的中斷向量在中斷向量表中的開(kāi)就是該種中斷的中斷向量在中斷向量表中的開(kāi)始地址。始地址。如:如:中斷類(lèi)型號(hào)為中斷類(lèi)型號(hào)為0,其中斷向量在向,其中斷向量在向 量表的量表的00000H00003H地址。地址。 中斷類(lèi)型號(hào)為中斷類(lèi)型號(hào)為1,其中斷向量在,其中斷向量在00004H00007H地址地址, 中斷類(lèi)型號(hào)為中斷類(lèi)型號(hào)為255時(shí),其中斷向量時(shí),其中斷向量應(yīng)在應(yīng)在003FCH003FFH地址。地址。例:例:中斷類(lèi)型號(hào)為中斷類(lèi)型號(hào)為32

25、的中斷源對(duì)應(yīng)的中斷入口地址存放在的中斷源對(duì)應(yīng)的中斷入口地址存放在 0000:0080H(420H=80H)開(kāi)始的)開(kāi)始的4個(gè)單元中。個(gè)單元中。 若在若在00080H00083H這這4個(gè)單元中存放的值分別為:個(gè)單元中存放的值分別為: 10H、20H、 30H、 40H。 則則32號(hào)中斷的程序入口地址為號(hào)中斷的程序入口地址為4030H:2010H。 中斷類(lèi)型號(hào)的范圍為中斷類(lèi)型號(hào)的范圍為0255,即最,即最多多256個(gè)。個(gè)。 類(lèi)型號(hào)類(lèi)型號(hào)04是是8086規(guī)定的專用中斷,規(guī)定的專用中斷,有著固定的意義和處理功能。有著固定的意義和處理功能。 類(lèi)型號(hào)類(lèi)型號(hào)531為系統(tǒng)使用或保留。為系統(tǒng)使用或保留。 類(lèi)型號(hào)

26、類(lèi)型號(hào)32255可由用戶自行使用??捎捎脩糇孕惺褂?。8086中斷向量表的安排中斷向量表的安排三、中斷入口地址設(shè)置三、中斷入口地址設(shè)置 應(yīng)該明確的概念:應(yīng)該明確的概念: 中斷類(lèi)型號(hào)只與存放中斷向量的地址有關(guān),存放中斷向量的中斷類(lèi)型號(hào)只與存放中斷向量的地址有關(guān),存放中斷向量的地址等于中斷類(lèi)型號(hào)乘以地址等于中斷類(lèi)型號(hào)乘以4。 中斷類(lèi)型號(hào)不能決定中斷向量本身和中斷服務(wù)程序的功能。中斷類(lèi)型號(hào)不能決定中斷向量本身和中斷服務(wù)程序的功能。中斷向量(中斷服務(wù)程序的入口地址)和中斷服務(wù)程序是軟中斷向量(中斷服務(wù)程序的入口地址)和中斷服務(wù)程序是軟件開(kāi)發(fā)者確定和設(shè)計(jì)的。件開(kāi)發(fā)者確定和設(shè)計(jì)的。如:如: 在執(zhí)行除法指令出

27、錯(cuò)時(shí),會(huì)引起類(lèi)在執(zhí)行除法指令出錯(cuò)時(shí),會(huì)引起類(lèi)型號(hào)型號(hào)0中斷,存放中斷向量的地址為中斷,存放中斷向量的地址為00000H00003H,這是確定不變的。,這是確定不變的。 但中斷向量本身和中斷服務(wù)程序則但中斷向量本身和中斷服務(wù)程序則是系統(tǒng)軟件開(kāi)發(fā)者確定和設(shè)計(jì)的。是系統(tǒng)軟件開(kāi)發(fā)者確定和設(shè)計(jì)的。 在系統(tǒng)啟動(dòng)時(shí),操作系統(tǒng)不僅要把在系統(tǒng)啟動(dòng)時(shí),操作系統(tǒng)不僅要把這個(gè)中斷服務(wù)程序裝入內(nèi)存,還要把服這個(gè)中斷服務(wù)程序裝入內(nèi)存,還要把服務(wù)程序的入口地址裝入務(wù)程序的入口地址裝入00000H00003H單元。單元。用戶如何設(shè)置中斷入口地址(中斷向量)用戶如何設(shè)置中斷入口地址(中斷向量) 對(duì)用戶而言,運(yùn)行自己編制中斷服務(wù)程序時(shí),需要考慮兩個(gè)對(duì)用戶而言,運(yùn)行自己編制中斷服務(wù)程序時(shí),需要考慮兩個(gè)因素:因素:中斷類(lèi)型號(hào)(可在中斷類(lèi)型號(hào)(可在32255中選擇)。中選擇)。 中斷入口地址。中斷入口地址。中斷入口地址的建立方法通常有中斷入口地址的建立方法通常有:(基本了解)(基本了解) 用串指令建立用串指令建立 用偽指令建立用偽指令建立 用系統(tǒng)調(diào)用方法建立用系統(tǒng)調(diào)用方法建立 直接裝入法。直接裝入法。一、一、8259A芯片特性芯片特性單一的單一的+5V電源電源可管理可管理8個(gè)中斷個(gè)中斷多片多片8259通過(guò)級(jí)聯(lián)可管理通過(guò)級(jí)聯(lián)可管理多達(dá)多達(dá)64個(gè)中斷個(gè)中斷8259A CS12345678910111213142

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論