微機(jī)原理第09章中斷_第1頁(yè)
微機(jī)原理第09章中斷_第2頁(yè)
微機(jī)原理第09章中斷_第3頁(yè)
微機(jī)原理第09章中斷_第4頁(yè)
微機(jī)原理第09章中斷_第5頁(yè)
已閱讀5頁(yè),還剩121頁(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、第九章第九章 中斷中斷 當(dāng)當(dāng)CPUCPU用查詢(xún)的方式與外設(shè)交換信息時(shí),用查詢(xún)的方式與外設(shè)交換信息時(shí),CPUCPU就要浪費(fèi)很多時(shí)間去等待外設(shè)。這樣就要浪費(fèi)很多時(shí)間去等待外設(shè)。這樣就引出一個(gè)快速的就引出一個(gè)快速的CPUCPU與慢速的外設(shè)之間與慢速的外設(shè)之間數(shù)據(jù)傳送的矛盾,這也是計(jì)算機(jī)在發(fā)展數(shù)據(jù)傳送的矛盾,這也是計(jì)算機(jī)在發(fā)展過(guò)程中遇到的嚴(yán)重問(wèn)題之一。為解決這過(guò)程中遇到的嚴(yán)重問(wèn)題之一。為解決這個(gè)問(wèn)題,一方面要提高外設(shè)的工作速度,個(gè)問(wèn)題,一方面要提高外設(shè)的工作速度,另一方面發(fā)展了中斷慨念。中斷系統(tǒng)是另一方面發(fā)展了中斷慨念。中斷系統(tǒng)是計(jì)算機(jī)的重要指標(biāo)之一。計(jì)算機(jī)的重要指標(biāo)之一。 9 91 1 中斷原理中斷

2、原理 9 91 11 1 從無(wú)條件傳送、條件傳送到中從無(wú)條件傳送、條件傳送到中斷傳送斷傳送條件傳送最大的缺點(diǎn)就是為了條件傳送最大的缺點(diǎn)就是為了CPUCPU和外設(shè)在時(shí)間上配合正確,和外設(shè)在時(shí)間上配合正確,CPUCPU花大花大量的時(shí)間用無(wú)條件方式對(duì)狀態(tài)線進(jìn)行查量的時(shí)間用無(wú)條件方式對(duì)狀態(tài)線進(jìn)行查詢(xún),從而降低了整個(gè)系統(tǒng)的工作效率。詢(xún),從而降低了整個(gè)系統(tǒng)的工作效率。 具有中斷功能的具有中斷功能的CPUCPU中,有一個(gè)硬中,有一個(gè)硬件部件專(zhuān)門(mén)用于檢測(cè)外設(shè)的狀態(tài)線。件部件專(zhuān)門(mén)用于檢測(cè)外設(shè)的狀態(tài)線。 檢測(cè)狀態(tài)信號(hào)狀態(tài)信號(hào)有效?外設(shè)處理外設(shè)處理檢測(cè)狀態(tài)信號(hào)主程序9 91 1 中斷原理中斷原理9 91 12 2

3、中斷概念中斷概念處理文檔電話鈴響暫停文檔文檔中作暫停記號(hào)電話交談?wù)页鰰和S浱?hào)位置繼續(xù)處理文檔執(zhí)行主程序(日常事務(wù)程序)中斷申請(qǐng)信號(hào)有效(中斷請(qǐng)求)暫停執(zhí)行主程序響應(yīng)中斷當(dāng)前PC及寄存器入棧(保護(hù)現(xiàn)場(chǎng))處理外設(shè)要求(中斷服務(wù))寄存器及PC出棧(恢復(fù)現(xiàn)場(chǎng)及中斷返回)繼續(xù)執(zhí)行主程序9 91 1 中斷原理中斷原理9 91 12 2 中斷概念中斷概念可見(jiàn)在中斷傳送方式下,外設(shè)應(yīng)有請(qǐng)求可見(jiàn)在中斷傳送方式下,外設(shè)應(yīng)有請(qǐng)求CPUCPU服務(wù)的權(quán)利,當(dāng)外部設(shè)備準(zhǔn)備好向服務(wù)的權(quán)利,當(dāng)外部設(shè)備準(zhǔn)備好向CPUCPU傳送數(shù)據(jù),或者外設(shè)已準(zhǔn)備就緒接收傳送數(shù)據(jù),或者外設(shè)已準(zhǔn)備就緒接收CPUCPU的數(shù)據(jù),或者有某些緊急情況要求

4、處的數(shù)據(jù),或者有某些緊急情況要求處理,或者是定時(shí)時(shí)間到等等。這時(shí),外理,或者是定時(shí)時(shí)間到等等。這時(shí),外設(shè)向設(shè)向CPUCPU發(fā)出中斷請(qǐng)求,發(fā)出中斷請(qǐng)求,CPUCPU接收到請(qǐng)求接收到請(qǐng)求并在一定條件下,暫時(shí)停止執(zhí)行原來(lái)的并在一定條件下,暫時(shí)停止執(zhí)行原來(lái)的程序而轉(zhuǎn)去中斷處理,處理好中斷服務(wù)程序而轉(zhuǎn)去中斷處理,處理好中斷服務(wù)再返回來(lái)執(zhí)行原來(lái)程序,這就是中斷概再返回來(lái)執(zhí)行原來(lái)程序,這就是中斷概念。念。 9 91 1 中斷原理中斷原理9 91 13 3 中斷應(yīng)用中斷應(yīng)用一、實(shí)時(shí)故障處理一、實(shí)時(shí)故障處理存儲(chǔ)器出錯(cuò)檢測(cè)電路存儲(chǔ)器出錯(cuò)檢測(cè)電路 存儲(chǔ)器奇偶檢測(cè)電路奇偶位中斷請(qǐng)求信號(hào)9 91 1 中斷原理中斷原理9

5、 91 13 3 中斷應(yīng)用中斷應(yīng)用二、分時(shí)操作,同時(shí)處理二、分時(shí)操作,同時(shí)處理 有了中斷功能,有了中斷功能,CPUCPU可命令多個(gè)外設(shè)同可命令多個(gè)外設(shè)同時(shí)工作。雖然時(shí)工作。雖然CPUCPU在不同的時(shí)間點(diǎn)上為不在不同的時(shí)間點(diǎn)上為不同的任務(wù)工作,但宏觀上看同的任務(wù)工作,但宏觀上看CPUCPU幾乎同時(shí)幾乎同時(shí)為不同的任務(wù)工作,極大地發(fā)揮了為不同的任務(wù)工作,極大地發(fā)揮了CPUCPU高高速性的特點(diǎn)。速性的特點(diǎn)。 處理處理任務(wù)任務(wù)1處理處理任務(wù)任務(wù)2處理處理任務(wù)任務(wù)39 92 2 中斷系統(tǒng)組成及其功能中斷系統(tǒng)組成及其功能9 92 21 1 三個(gè)與中斷有關(guān)的觸發(fā)器三個(gè)與中斷有關(guān)的觸發(fā)器一、中斷請(qǐng)求觸發(fā)器一、

6、中斷請(qǐng)求觸發(fā)器應(yīng)該有兩個(gè)特點(diǎn):應(yīng)該有兩個(gè)特點(diǎn):1 1、它的輸出可以作為中斷請(qǐng)求信號(hào),在、它的輸出可以作為中斷請(qǐng)求信號(hào),在滿足一定條件的情況下把信號(hào)發(fā)送給滿足一定條件的情況下把信號(hào)發(fā)送給CPUCPU,并在并在CPUCPU未響應(yīng)時(shí)一直保存下去;未響應(yīng)時(shí)一直保存下去;2 2、當(dāng)、當(dāng)CPUCPU滿足一定條件下響應(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)可以被撤除。 9 92 2 中斷系統(tǒng)組成及其功能中斷系統(tǒng)組成及其功能9 92 21 1 三個(gè)與中斷有關(guān)的觸發(fā)器三個(gè)與中斷有關(guān)的觸發(fā)器 D QRD狀態(tài)線中斷請(qǐng)求外

7、設(shè)讀、寫(xiě)操作 CLK+5V8255A工作在方式工作在方式1輸入輸入 A口的選通信號(hào),當(dāng)其有效時(shí),口的選通信號(hào),當(dāng)其有效時(shí),外設(shè)把數(shù)據(jù)打入外設(shè)把數(shù)據(jù)打入A口的輸入緩口的輸入緩沖器沖器 A A口的輸入緩沖器口的輸入緩沖器“滿滿”信號(hào),信號(hào),當(dāng)其有效時(shí)表示當(dāng)其有效時(shí)表示A A口的輸入緩口的輸入緩沖器已暫存一個(gè)有效數(shù)據(jù)。沖器已暫存一個(gè)有效數(shù)據(jù)。 A A口的中斷請(qǐng)求信號(hào)。當(dāng)其有口的中斷請(qǐng)求信號(hào)。當(dāng)其有效時(shí),效時(shí),8255A8255A的的A A口向口向CPUCPU申請(qǐng)申請(qǐng)中斷,要求中斷,要求CPUCPU從從A A口取數(shù)口取數(shù) 中斷允許信中斷允許信號(hào)。號(hào)。 STB數(shù)據(jù)鎖存INTR9 92 2 中斷系統(tǒng)組成及

8、其功能中斷系統(tǒng)組成及其功能9 92 21 1 三個(gè)與中斷有關(guān)的觸發(fā)器三個(gè)與中斷有關(guān)的觸發(fā)器二、中斷屏蔽觸發(fā)器二、中斷屏蔽觸發(fā)器中斷屏蔽觸發(fā)器的功能就是決定中斷請(qǐng)中斷屏蔽觸發(fā)器的功能就是決定中斷請(qǐng)求觸發(fā)器的輸出信號(hào)是否可以作為中斷求觸發(fā)器的輸出信號(hào)是否可以作為中斷請(qǐng)求信號(hào)發(fā)送給請(qǐng)求信號(hào)發(fā)送給CPUCPU,這樣,這樣CPUCPU通過(guò)對(duì)中通過(guò)對(duì)中斷屏蔽觸發(fā)器的設(shè)置就可以達(dá)到對(duì)中斷斷屏蔽觸發(fā)器的設(shè)置就可以達(dá)到對(duì)中斷源的控制。源的控制。 中斷屏蔽中斷屏蔽觸觸 發(fā)發(fā) 器器8255A工作在方式工作在方式1輸入輸入 A口的選通信號(hào),當(dāng)其有效時(shí),口的選通信號(hào),當(dāng)其有效時(shí),外設(shè)把數(shù)據(jù)打入外設(shè)把數(shù)據(jù)打入A口的輸入緩

9、口的輸入緩沖器沖器 A A口的輸入緩沖器口的輸入緩沖器“滿滿”信號(hào),信號(hào),當(dāng)其有效時(shí)表示當(dāng)其有效時(shí)表示A A口的輸入緩口的輸入緩沖器已暫存一個(gè)有效數(shù)據(jù)。沖器已暫存一個(gè)有效數(shù)據(jù)。 A A口的中斷請(qǐng)求信號(hào)。當(dāng)其有口的中斷請(qǐng)求信號(hào)。當(dāng)其有效時(shí),效時(shí),8255A8255A的的A A口向口向CPUCPU申請(qǐng)申請(qǐng)中斷,要求中斷,要求CPUCPU從從A A口取數(shù)口取數(shù) 中斷允許信中斷允許信號(hào)。號(hào)。 MOV AL,00001001 ;允許發(fā)中斷允許發(fā)中斷MOV 控制口,控制口,ALMOV AL,00001000 ;屏蔽中斷屏蔽中斷MOV 控制口,控制口,AL9 92 2 中斷系統(tǒng)組成及其功能中斷系統(tǒng)組成及其功

10、能9 92 21 1 三個(gè)與中斷有關(guān)的觸發(fā)器三個(gè)與中斷有關(guān)的觸發(fā)器CPUCPU內(nèi)部的中斷允許觸發(fā)器內(nèi)部的中斷允許觸發(fā)器IF IF CPUCPU通過(guò)對(duì)它進(jìn)行設(shè)置來(lái)決定是否對(duì)發(fā)給通過(guò)對(duì)它進(jìn)行設(shè)置來(lái)決定是否對(duì)發(fā)給它的中斷請(qǐng)求信號(hào)進(jìn)行響應(yīng)。它的中斷請(qǐng)求信號(hào)進(jìn)行響應(yīng)。中斷檢測(cè)IF中斷邏輯INTRCLI IFCLI IF0 0 關(guān)中斷關(guān)中斷STI IFSTI IF1 1 開(kāi)中斷開(kāi)中斷 9 92 2 中斷系統(tǒng)組成及其功能中斷系統(tǒng)組成及其功能9 92 21 1 三個(gè)與中斷有關(guān)的觸發(fā)器三個(gè)與中斷有關(guān)的觸發(fā)器CPUCPU內(nèi)部的中斷允許觸發(fā)器內(nèi)部的中斷允許觸發(fā)器IF IF 有些有些CPUCPU,比如,比如8086C

11、PU8086CPU,設(shè)置了兩種中斷類(lèi)型:,設(shè)置了兩種中斷類(lèi)型:可屏蔽中斷和不可屏蔽中斷??善帘沃袛嗍苤锌善帘沃袛嗪筒豢善帘沃袛?。可屏蔽中斷受中斷允許觸發(fā)器控制,只有當(dāng)斷允許觸發(fā)器控制,只有當(dāng)IFIF為為1 1時(shí),時(shí),CPUCPU才能才能響應(yīng)中斷請(qǐng)求信號(hào)。而不可屏蔽中斷不受中斷響應(yīng)中斷請(qǐng)求信號(hào)。而不可屏蔽中斷不受中斷允許觸發(fā)器的控制,只要中斷請(qǐng)求信號(hào)有效,允許觸發(fā)器的控制,只要中斷請(qǐng)求信號(hào)有效,不管不管IFIF是否為是否為1 1,CPUCPU就必須響應(yīng)。因此不可屏就必須響應(yīng)。因此不可屏蔽中斷的中斷優(yōu)先級(jí)要大于可屏蔽中斷的中斷蔽中斷的中斷優(yōu)先級(jí)要大于可屏蔽中斷的中斷優(yōu)先級(jí)。優(yōu)先級(jí)。 中斷檢測(cè)IF中

12、斷邏輯INTRNMI不可屏蔽中斷可屏蔽中斷9 92 2 中斷系統(tǒng)組成及其功能中斷系統(tǒng)組成及其功能 9 92 22 2 再談中斷條件再談中斷條件外設(shè)的中斷請(qǐng)求信號(hào)要想發(fā)給外設(shè)的中斷請(qǐng)求信號(hào)要想發(fā)給CPUCPU并能最并能最終得到終得到CPUCPU的響應(yīng),必須要滿足如下兩個(gè)的響應(yīng),必須要滿足如下兩個(gè)條件:一個(gè)是中斷屏蔽觸發(fā)器處于非屏條件:一個(gè)是中斷屏蔽觸發(fā)器處于非屏蔽狀態(tài)。在這種情況下,中斷請(qǐng)求信號(hào)蔽狀態(tài)。在這種情況下,中斷請(qǐng)求信號(hào)才能發(fā)給才能發(fā)給CPUCPU。但。但CPUCPU是否相應(yīng)這個(gè)中斷,是否相應(yīng)這個(gè)中斷,還要看中斷允許觸發(fā)器是否處于開(kāi)中斷還要看中斷允許觸發(fā)器是否處于開(kāi)中斷狀態(tài)。只有狀態(tài)。只

13、有CPUCPU是開(kāi)中斷的條件下,是開(kāi)中斷的條件下,CPUCPU才能進(jìn)入中斷響應(yīng)過(guò)程,處理中斷事務(wù)。才能進(jìn)入中斷響應(yīng)過(guò)程,處理中斷事務(wù)。這就是第二個(gè)條件。這就是第二個(gè)條件。中斷中斷響應(yīng)響應(yīng)中斷屏中斷屏蔽蔽FF中斷允中斷允許許FFCPU內(nèi)的中斷邏輯內(nèi)的中斷邏輯中斷申中斷申請(qǐng)信號(hào)請(qǐng)信號(hào)INTR9 92 2 中斷系統(tǒng)組成及其功能中斷系統(tǒng)組成及其功能9 92 23 3 中斷響應(yīng)過(guò)程中斷響應(yīng)過(guò)程中斷過(guò)程主要包括三個(gè)方面中斷過(guò)程主要包括三個(gè)方面外設(shè)發(fā)中斷請(qǐng)求信號(hào)給外設(shè)發(fā)中斷請(qǐng)求信號(hào)給CPUCPU即中斷請(qǐng)求即中斷請(qǐng)求CPUCPU對(duì)中斷請(qǐng)求信號(hào)所作出的反應(yīng)即中斷對(duì)中斷請(qǐng)求信號(hào)所作出的反應(yīng)即中斷響應(yīng)響應(yīng)CPUCP

14、U執(zhí)行對(duì)外設(shè)操作的子程序即中斷處理。執(zhí)行對(duì)外設(shè)操作的子程序即中斷處理。 9 92 2 中斷系統(tǒng)組成及其功能中斷系統(tǒng)組成及其功能9 92 23 3 中斷響應(yīng)過(guò)程中斷響應(yīng)過(guò)程一、中斷申請(qǐng)一、中斷申請(qǐng)當(dāng)中斷屏蔽觸發(fā)器狀態(tài)為當(dāng)中斷屏蔽觸發(fā)器狀態(tài)為1 1,則中斷請(qǐng)求觸,則中斷請(qǐng)求觸發(fā)器輸出的中斷請(qǐng)求信號(hào)發(fā)給發(fā)器輸出的中斷請(qǐng)求信號(hào)發(fā)給CPUCPU。二、中斷響應(yīng)二、中斷響應(yīng)CPUCPU響應(yīng)可屏蔽中斷申請(qǐng)必須滿足的響應(yīng)可屏蔽中斷申請(qǐng)必須滿足的3 3個(gè)條件個(gè)條件: : 無(wú)總線請(qǐng)求;無(wú)總線請(qǐng)求; CPU CPU被允許中斷;被允許中斷; CPU CPU執(zhí)行完現(xiàn)行指令執(zhí)行完現(xiàn)行指令 9 92 2 中斷系統(tǒng)組成及其功能

15、中斷系統(tǒng)組成及其功能9 92 23 3 中斷響應(yīng)過(guò)程中斷響應(yīng)過(guò)程三、中斷處理三、中斷處理 CPU CPU響應(yīng)中斷后要自動(dòng)完成三項(xiàng)任務(wù)響應(yīng)中斷后要自動(dòng)完成三項(xiàng)任務(wù) 1 1、 關(guān)閉中斷;關(guān)閉中斷; 2 2、CSCS、IPIP以及以及FRFR的內(nèi)容推入堆棧;的內(nèi)容推入堆棧; 3 3、中斷服務(wù)程序段地址送、中斷服務(wù)程序段地址送CSCS中中, ,偏偏移地址送移地址送IPIP中。中。 一旦一旦CPUCPU響應(yīng)中斷,就可轉(zhuǎn)入中斷服務(wù)程響應(yīng)中斷,就可轉(zhuǎn)入中斷服務(wù)程序之中。中斷服務(wù)程序的結(jié)構(gòu)如下:序之中。中斷服務(wù)程序的結(jié)構(gòu)如下:push ax;1、保護(hù)現(xiàn)場(chǎng)、保護(hù)現(xiàn)場(chǎng)push bxsti;2、開(kāi)中斷、開(kāi)中斷;3、

16、中斷處理、中斷處理cli;4、關(guān)中斷、關(guān)中斷pop bx;5、恢復(fù)現(xiàn)場(chǎng)、恢復(fù)現(xiàn)場(chǎng)pop axsti;6、開(kāi)中斷和中斷返回、開(kāi)中斷和中斷返回 iret9 93 3 中斷源識(shí)別及中斷優(yōu)先權(quán)中斷源識(shí)別及中斷優(yōu)先權(quán) 在中斷系統(tǒng)中一個(gè)非常關(guān)鍵的問(wèn)題是在中斷系統(tǒng)中一個(gè)非常關(guān)鍵的問(wèn)題是CPU如何知道是哪一個(gè)中斷源發(fā)出的中如何知道是哪一個(gè)中斷源發(fā)出的中斷申請(qǐng)信號(hào)。只有正確地確定中斷源,斷申請(qǐng)信號(hào)。只有正確地確定中斷源,CPU才能轉(zhuǎn)到相應(yīng)的中斷服務(wù)程序?yàn)橹拍苻D(zhuǎn)到相應(yīng)的中斷服務(wù)程序?yàn)橹?wù)。這里,確定中斷源的方法被稱(chēng)為服務(wù)。這里,確定中斷源的方法被稱(chēng)為中斷源識(shí)別或中斷方式。中斷源識(shí)別或中斷方式。 A B CCP

17、UINTR?!9 93 3 中斷源識(shí)別及中斷優(yōu)先權(quán)中斷源識(shí)別及中斷優(yōu)先權(quán)9 93 31 1 中斷源識(shí)別中斷源識(shí)別 包括兩個(gè)方面:包括兩個(gè)方面: 1 1、確定中斷源,、確定中斷源, 2 2、找到該中斷服務(wù)程序的首、找到該中斷服務(wù)程序的首地址。下面我們給出解決問(wèn)題的兩種方地址。下面我們給出解決問(wèn)題的兩種方案。案。9 93 3 中斷源識(shí)別及中斷優(yōu)先權(quán)中斷源識(shí)別及中斷優(yōu)先權(quán)9 93 31 1 中斷源識(shí)別中斷源識(shí)別一、查詢(xún)中斷一、查詢(xún)中斷IN ALIPORT;從輸入接口取中斷信息;從輸入接口取中斷信息TEST AL,80H;是;是0號(hào)設(shè)備請(qǐng)求嗎號(hào)設(shè)備請(qǐng)求嗎?JNZ SEVO;是,轉(zhuǎn);是,轉(zhuǎn)0號(hào)設(shè)備服務(wù)程

18、序號(hào)設(shè)備服務(wù)程序TEST AL40H;否,是;否,是1號(hào)設(shè)備請(qǐng)求嗎號(hào)設(shè)備請(qǐng)求嗎?JNZ SEVl;是,轉(zhuǎn);是,轉(zhuǎn)1號(hào)設(shè)備服務(wù)程序號(hào)設(shè)備服務(wù)程序TEST AL20H;否,是;否,是2號(hào)設(shè)備請(qǐng)求嗎號(hào)設(shè)備請(qǐng)求嗎?JNZ SEV2;是,轉(zhuǎn);是,轉(zhuǎn)2號(hào)設(shè)備服務(wù)程序號(hào)設(shè)備服務(wù)程序TEST AL10H;否,是;否,是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ù)程序條件傳送查詢(xún)中斷?條件傳送查詢(xún)中斷?特點(diǎn):簡(jiǎn)單特點(diǎn):簡(jiǎn)單響應(yīng)慢響應(yīng)慢9 93 3 中斷源識(shí)別及中斷優(yōu)先權(quán)中斷源識(shí)別及中斷優(yōu)先權(quán)9 93 31 1 中斷源識(shí)別中斷源識(shí)別二、矢量中斷二、矢量中斷 中斷申中斷申請(qǐng)

19、信號(hào)請(qǐng)信號(hào)INTRINTR和中斷響和中斷響應(yīng)信號(hào)應(yīng)信號(hào)INTAINTA是一對(duì)握是一對(duì)握手信號(hào)。在驅(qū)動(dòng)一個(gè)手信號(hào)。在驅(qū)動(dòng)一個(gè)中斷事件過(guò)程中,中中斷事件過(guò)程中,中斷請(qǐng)求信號(hào)是外設(shè)發(fā)斷請(qǐng)求信號(hào)是外設(shè)發(fā)給給CPUCPU的,當(dāng)其有效的,當(dāng)其有效時(shí),表示外設(shè)請(qǐng)求時(shí),表示外設(shè)請(qǐng)求CPUCPU為之服務(wù)。而中為之服務(wù)。而中斷響應(yīng)信號(hào)是斷響應(yīng)信號(hào)是CPUCPU發(fā)發(fā)給外設(shè)的,當(dāng)其有效給外設(shè)的,當(dāng)其有效時(shí),表明時(shí),表明CPUCPU可以為可以為這個(gè)外設(shè)服務(wù),同時(shí)這個(gè)外設(shè)服務(wù),同時(shí)要求外設(shè)提供中斷類(lèi)要求外設(shè)提供中斷類(lèi)型號(hào)。型號(hào)。9 93 3 中斷源識(shí)別及中斷優(yōu)先權(quán)中斷源識(shí)別及中斷優(yōu)先權(quán)9 93 31 1 中斷源識(shí)別中斷源

20、識(shí)別二、矢量中斷二、矢量中斷 7 74 4L LS S2 24 45 5D QCLKRDA7A6A5A4A3A2A1A0+5V中斷申請(qǐng)接CPU的D7D0INTAINTRCST9 93 3 中斷源識(shí)別及中斷優(yōu)先權(quán)中斷源識(shí)別及中斷優(yōu)先權(quán) 9 93 32 2 中斷優(yōu)先權(quán)中斷優(yōu)先權(quán)一、軟件方案一、軟件方案 軟件查詢(xún)確定優(yōu)先權(quán)的缺點(diǎn)是,響應(yīng)中斷軟件查詢(xún)確定優(yōu)先權(quán)的缺點(diǎn)是,響應(yīng)中斷慢慢 9 93 3 中斷源識(shí)別及中斷優(yōu)先權(quán)中斷源識(shí)別及中斷優(yōu)先權(quán) 9 93 32 2 中斷優(yōu)先權(quán)中斷優(yōu)先權(quán)二、硬件方案二、硬件方案1 1、鏈形電路、鏈形電路 這種方法是利用外設(shè)在系統(tǒng)中的物這種方法是利用外設(shè)在系統(tǒng)中的物理位置來(lái)決

21、定其中斷優(yōu)先權(quán)的理位置來(lái)決定其中斷優(yōu)先權(quán)的 中斷申請(qǐng)中斷申請(qǐng)中斷申請(qǐng)中斷申請(qǐng)中斷申請(qǐng)中斷申請(qǐng)中斷允許入中斷允許入IEI1,允許發(fā)中斷允許發(fā)中斷中斷允許出中斷允許出 IEOIEI INTR0001易受電路延遲影響!9 93 3 中斷源識(shí)別及中斷優(yōu)先權(quán)中斷源識(shí)別及中斷優(yōu)先權(quán) 9 93 32 2 中斷優(yōu)先權(quán)中斷優(yōu)先權(quán)二、硬件方案二、硬件方案2 2、編碼電路、編碼電路 74LSl48 74LSl48是一個(gè)是一個(gè)8 8到到3 3線的優(yōu)先權(quán)編碼線的優(yōu)先權(quán)編碼器,它是一個(gè)器,它是一個(gè)1616個(gè)管腳雙列直插式個(gè)管腳雙列直插式TTLTTL器器件件 I0I1I7000I0I1I7I0I1I7001中斷申請(qǐng)信號(hào)級(jí)聯(lián)

22、控制信號(hào)7 74 4L LS S2 24 45 5D QCLKRDA7A6A5A4A3A2A1A0TCSB7B6B5B4B3B2B1B0+5V接CPU的D7D0INTAINTR7 74 4L LS S1 14 48 8I7I6I5I4I3I2I1I0A2A1A0INT7INT6INT5INT4INT3INT2INT1INT0Gs9 94 80864 8086中斷系統(tǒng)中斷系統(tǒng) 8086 8086中斷系統(tǒng)有兩大類(lèi)型的中斷源:中斷系統(tǒng)有兩大類(lèi)型的中斷源:一類(lèi)是由外部設(shè)備產(chǎn)生的中斷,我們稱(chēng)之一類(lèi)是由外部設(shè)備產(chǎn)生的中斷,我們稱(chēng)之為硬件中斷,硬件中斷有時(shí)又稱(chēng)外中斷。對(duì)于為硬件中斷,硬件中斷有時(shí)又稱(chēng)外中斷。

23、對(duì)于硬件中斷,又分為不可屏蔽中斷和可屏蔽中斷,硬件中斷,又分為不可屏蔽中斷和可屏蔽中斷,硬件中斷是通過(guò)硬件中斷是通過(guò)CPUCPU芯片的芯片的INTRINTR管腳或管腳或NMINMI管腳管腳從外部引入的。從外部引入的。另一類(lèi)是由指令在某種運(yùn)行結(jié)果時(shí)產(chǎn)生的另一類(lèi)是由指令在某種運(yùn)行結(jié)果時(shí)產(chǎn)生的中斷,我們稱(chēng)之為軟件中斷。中斷,我們稱(chēng)之為軟件中斷。 中斷類(lèi)型號(hào)和中斷服務(wù)子程序的入口地址中斷類(lèi)型號(hào)和中斷服務(wù)子程序的入口地址之間的關(guān)系是什么?之間的關(guān)系是什么? INT_PROC PROC FAR PUSH AX POP AX IRET?中斷類(lèi)型號(hào)n40000:4n+00000:4n+10000:4n+200

24、00:4n+30010002010002000IPCS內(nèi)存9 94 80864 8086中斷系統(tǒng)中斷系統(tǒng)9 94 41 1 不可屏蔽中斷不可屏蔽中斷 所謂不可屏蔽中斷就是用戶不能通所謂不可屏蔽中斷就是用戶不能通過(guò)過(guò)CPUCPU內(nèi)的中斷允許觸發(fā)器內(nèi)的中斷允許觸發(fā)器IFIF控制的中斷,控制的中斷,由由8086CPU8086CPU的的NMINMI管腳引入。管腳引入。NMINMI中斷請(qǐng)求中斷請(qǐng)求采用上升沿觸發(fā)方式,這種中斷一旦產(chǎn)采用上升沿觸發(fā)方式,這種中斷一旦產(chǎn)生,在生,在CPUCPU內(nèi)部直接生成中斷類(lèi)型號(hào)內(nèi)部直接生成中斷類(lèi)型號(hào)0202。 0000:4*2+00000:4*2+10000:4*2+20

25、000:4*2+30010002010002000IPCS內(nèi)存IF0IP,CS,FR進(jìn)棧IP=2*4+0CS=2*4+2如何處理多個(gè)NMI中斷源?9 94 80864 8086中斷系統(tǒng)中斷系統(tǒng)9 94 42 2 可屏蔽中斷可屏蔽中斷 可屏蔽中斷就是用戶可以控制的中斷,可屏蔽中斷就是用戶可以控制的中斷,其途徑是通過(guò)對(duì)其途徑是通過(guò)對(duì)CPUCPU內(nèi)的中斷允許觸發(fā)器內(nèi)的中斷允許觸發(fā)器IFIF的的設(shè)置來(lái)禁止和允許設(shè)置來(lái)禁止和允許CPUCPU響應(yīng)中斷??善帘沃袛囗憫?yīng)中斷??善帘沃袛嘤捎?086CPU8086CPU的的INTRINTR管腳引入。這種中斷請(qǐng)求需管腳引入。這種中斷請(qǐng)求需要設(shè)備提供中斷類(lèi)型號(hào),要設(shè)

26、備提供中斷類(lèi)型號(hào),CPUCPU響應(yīng)中斷后,取響應(yīng)中斷后,取中斷類(lèi)型號(hào)的中斷類(lèi)型號(hào)的4 4倍作為中斷服務(wù)入口地址表的倍作為中斷服務(wù)入口地址表的地址,通過(guò)查表得到相應(yīng)的中斷服務(wù)程序首地地址,通過(guò)查表得到相應(yīng)的中斷服務(wù)程序首地址,轉(zhuǎn)去執(zhí)行相應(yīng)的中斷服務(wù)程序。址,轉(zhuǎn)去執(zhí)行相應(yīng)的中斷服務(wù)程序。 0000:4*n+00000:4*n+10000:4*n+20000:4*n+30010002010002000內(nèi)存IF0IP,CS,FR進(jìn)棧IP=2*n+0CS=2*n+2取中斷類(lèi)型號(hào)n9 94 80864 8086中斷系統(tǒng)中斷系統(tǒng)9 94 43 3 軟件中斷軟件中斷 軟件中斷是由軟件中斷是由80868086指

27、令系統(tǒng)中指令系統(tǒng)中的某些指令產(chǎn)生,或由這些指令運(yùn)行后的某些指令產(chǎn)生,或由這些指令運(yùn)行后某種特定的結(jié)果產(chǎn)生。某種特定的結(jié)果產(chǎn)生。9 94 80864 8086中斷系統(tǒng)中斷系統(tǒng)9 94 43 3 軟件中斷軟件中斷一、除法中斷一、除法中斷 當(dāng)進(jìn)行除法運(yùn)算時(shí),若除數(shù)為當(dāng)進(jìn)行除法運(yùn)算時(shí),若除數(shù)為0 0或或除數(shù)太小,使得商數(shù)大于相應(yīng)寄存器所除數(shù)太小,使得商數(shù)大于相應(yīng)寄存器所能表示的最大值,被稱(chēng)作除法出錯(cuò)。這能表示的最大值,被稱(chēng)作除法出錯(cuò)。這時(shí)除法指令就相當(dāng)于一個(gè)中斷源,它向時(shí)除法指令就相當(dāng)于一個(gè)中斷源,它向CPUCPU發(fā)出類(lèi)型發(fā)出類(lèi)型0 0中斷。中斷。 9 94 80864 8086中斷系統(tǒng)中斷系統(tǒng)9 9

28、4 43 3 軟件中斷軟件中斷二、溢出中斷二、溢出中斷 當(dāng)算術(shù)運(yùn)算產(chǎn)生溢出時(shí),將在當(dāng)算術(shù)運(yùn)算產(chǎn)生溢出時(shí),將在INTOINTO指令控制下向指令控制下向CPUCPU發(fā)出類(lèi)型發(fā)出類(lèi)型4 4的中斷,的中斷,即溢出中斷。即溢出中斷。 比如比如mov al,40hmov al,40hadd al,40hadd al,40hintointo9 94 80864 8086中斷系統(tǒng)中斷系統(tǒng)9 94 43 3 軟件中斷軟件中斷三、單步中斷和斷點(diǎn)中斷三、單步中斷和斷點(diǎn)中斷(1)(1)單步中斷單步中斷 當(dāng)當(dāng)8086CPU8086CPU的標(biāo)志寄存器中的的標(biāo)志寄存器中的TFTF標(biāo)標(biāo)志為志為1 1時(shí),時(shí),8086CPU80

29、86CPU處于單步工作方式,這時(shí)處于單步工作方式,這時(shí)CPUCPU在每條指令執(zhí)行后自動(dòng)產(chǎn)生類(lèi)型在每條指令執(zhí)行后自動(dòng)產(chǎn)生類(lèi)型l l的中斷。的中斷。 TF TF在標(biāo)志寄存器的第在標(biāo)志寄存器的第8 8位。位。(2)(2)斷點(diǎn)中斷斷點(diǎn)中斷 INT3 INT3指令是指令是1 1字節(jié)指令字節(jié)指令(0CCH)(0CCH), 如何實(shí)現(xiàn)斷點(diǎn)調(diào)試?如何實(shí)現(xiàn)斷點(diǎn)調(diào)試? 9 94 80864 8086中斷系統(tǒng)中斷系統(tǒng)9 94 43 3 軟件中斷軟件中斷四、軟中斷四、軟中斷 軟中斷是由中斷指令引起的。軟中斷是由中斷指令引起的。中斷指令的指令格式為中斷指令的指令格式為 INT n (CD 21) INT n (CD 21

30、),操作數(shù)操作數(shù)n n就是中斷類(lèi)型號(hào)。當(dāng)就是中斷類(lèi)型號(hào)。當(dāng)CPUCPU執(zhí)行完執(zhí)行完畢中斷指令畢中斷指令I(lǐng)NT nINT n后,就會(huì)立即產(chǎn)生一個(gè)后,就會(huì)立即產(chǎn)生一個(gè)中斷類(lèi)型號(hào)為中斷類(lèi)型號(hào)為n n的中斷。的中斷。中斷類(lèi)型號(hào)n40000:4n+00000:4n+10000:4n+20000:4n+30010002010002000IPCS內(nèi)存int n call far 4*n9.4 80869.4 8086中斷系統(tǒng)中斷系統(tǒng)9.49.44 4 中斷概念的再討論中斷概念的再討論一、中斷與調(diào)子程序之間的關(guān)系一、中斷與調(diào)子程序之間的關(guān)系 1 1、中斷過(guò)程實(shí)際上是、中斷過(guò)程實(shí)際上是CPUCPU從執(zhí)行當(dāng)前主程

31、序轉(zhuǎn)從執(zhí)行當(dāng)前主程序轉(zhuǎn)到執(zhí)行為外設(shè)服務(wù)的子程序,因此從這個(gè)角度到執(zhí)行為外設(shè)服務(wù)的子程序,因此從這個(gè)角度來(lái)看,是中斷過(guò)程一個(gè)調(diào)用子程序的過(guò)程。來(lái)看,是中斷過(guò)程一個(gè)調(diào)用子程序的過(guò)程。2 2、但中斷過(guò)程與子程序調(diào)用還是有很大差別、但中斷過(guò)程與子程序調(diào)用還是有很大差別的,比如的,比如首先調(diào)用子程序的過(guò)程是一個(gè)無(wú)條件過(guò)程,但首先調(diào)用子程序的過(guò)程是一個(gè)無(wú)條件過(guò)程,但中斷過(guò)程的中斷服務(wù)程序的調(diào)用一般是有條件中斷過(guò)程的中斷服務(wù)程序的調(diào)用一般是有條件的。的。其次子程序調(diào)用在整個(gè)程序執(zhí)行中的位置是固其次子程序調(diào)用在整個(gè)程序執(zhí)行中的位置是固定的。但對(duì)于硬件中斷過(guò)程,只要條件滿足,定的。但對(duì)于硬件中斷過(guò)程,只要條件滿

32、足,在整個(gè)程序執(zhí)行的任意一時(shí)間點(diǎn)都有可能發(fā)生在整個(gè)程序執(zhí)行的任意一時(shí)間點(diǎn)都有可能發(fā)生從主程序向中斷服務(wù)子程序的轉(zhuǎn)移事件,也就從主程序向中斷服務(wù)子程序的轉(zhuǎn)移事件,也就是說(shuō)硬件中斷產(chǎn)生的調(diào)用過(guò)程是隨機(jī)的,不可是說(shuō)硬件中斷產(chǎn)生的調(diào)用過(guò)程是隨機(jī)的,不可預(yù)測(cè)的。預(yù)測(cè)的。 9.4 80869.4 8086中斷系統(tǒng)中斷系統(tǒng)9.49.44 4 中斷概念的再討論中斷概念的再討論 二、外部中斷和二、外部中斷和 INT n INT n 之間的關(guān)系之間的關(guān)系 結(jié)合中斷指令結(jié)合中斷指令I(lǐng)NT nINT n,我們可以這樣理解,我們可以這樣理解外部中斷:當(dāng)外部中斷源發(fā)中斷給外部中斷:當(dāng)外部中斷源發(fā)中斷給CPUCPU時(shí),如時(shí)

33、,如果果CPUCPU滿足一定的條件,處于開(kāi)中斷狀態(tài),滿足一定的條件,處于開(kāi)中斷狀態(tài),CPUCPU就可以響應(yīng)中斷,這時(shí)外設(shè)在就可以響應(yīng)中斷,這時(shí)外設(shè)在CPUCPU正在執(zhí)行指正在執(zhí)行指令與其下一個(gè)指令之間,等效令與其下一個(gè)指令之間,等效“插入插入”了一個(gè)了一個(gè)INT nINT n指令,這里的指令,這里的n n就是外設(shè)提供的中斷類(lèi)型就是外設(shè)提供的中斷類(lèi)型號(hào)。注意這里用號(hào)。注意這里用“等效等效”兩字表示實(shí)際過(guò)程中兩字表示實(shí)際過(guò)程中是不存在插入是不存在插入INT nINT n指令的操作,但指令的操作,但CPUCPU確實(shí)完確實(shí)完成了類(lèi)似成了類(lèi)似INT nINT n指令的功能,實(shí)現(xiàn)了主程序向指令的功能,實(shí)現(xiàn)

34、了主程序向中斷程序的轉(zhuǎn)移。中斷程序的轉(zhuǎn)移。 MOV AL,10MOV BX,100MOV BL,100ADD AL,BLINT nINT n9.5 8086CPU9.5 8086CPU的中斷管理的中斷管理9.5.1 8086CPU9.5.1 8086CPU的中斷處理順序的中斷處理順序8086CPU8086CPU的中斷優(yōu)先權(quán)排列從高到低的中斷優(yōu)先權(quán)排列從高到低為:為:1 1、除法出錯(cuò)中斷,溢出中斷,、除法出錯(cuò)中斷,溢出中斷,INT nINT n;2 2、NMlNMl;3 3、INTRINTR;4 4、單步中斷。、單步中斷。 9.5 8086CPU9.5 8086CPU的中斷管理的中斷管理9.5.

35、2 8086CPU9.5.2 8086CPU的中斷服務(wù)入口地址表的中斷服務(wù)入口地址表已知中斷程序已知中斷程序int_procint_proc和中斷類(lèi)型號(hào)和中斷類(lèi)型號(hào)n nint_proc int_proc farfar pushpush iretiretint_proc int_proc endp endp CPU中斷類(lèi)型號(hào)中斷類(lèi)型號(hào)n?9.5 8086CPU9.5 8086CPU的中斷管理的中斷管理9.5.2 8086CPU9.5.2 8086CPU的中斷服務(wù)入口地址表的中斷服務(wù)入口地址表已知中斷程序已知中斷程序int_procint_proc和中斷類(lèi)型號(hào)和中斷類(lèi)型號(hào)n nint_proc

36、int_proc farfar pushpush iretiretint_proc int_proc endp endp CPU中斷類(lèi)型號(hào)中斷類(lèi)型號(hào)n把地址把地址int_ proc放到放到4*n地址地址9.5 8086CPU9.5 8086CPU的中斷管理的中斷管理9.5.2 8086CPU9.5.2 8086CPU的的中斷服務(wù)入口地址中斷服務(wù)入口地址表表 9.5 8086CPU9.5 8086CPU的中斷管理的中斷管理9.59.53 3 中斷入口地址設(shè)置中斷入口地址設(shè)置一、用串指令一、用串指令 CLICLI;關(guān)中斷;關(guān)中斷MOV AX,0MOV AX,0MOV ES,AXMOV ES,AX;

37、置附件段基地址;置附件段基地址為為0 0MOV DI, nMOV DI, n* *4 4;置附件段偏移地址到;置附件段偏移地址到DIDIMOV AX,OFFSET INT_VCEMOV AX,OFFSET INT_VCE;置中斷程序首地;置中斷程序首地址的偏移量到址的偏移量到AXAXCLDCLDSTOSWSTOSW;填偏移量到中斷地址;填偏移量到中斷地址表表MOV AX, SEG INT_VCEMOV AX, SEG INT_VCE;置中斷程序的段;置中斷程序的段基地址到基地址到AXAXSTOSWSTOSW;填段基地址到中斷地;填段基地址到中斷地址表址表STISTI;開(kāi)中斷;開(kāi)中斷 9.5 8

38、086CPU9.5 8086CPU的中斷管理的中斷管理9.59.53 3 中斷入口地址設(shè)置中斷入口地址設(shè)置二、用偽指令二、用偽指令 INT INTTBLTBLSEGMENT AT 0 SEGMENT AT 0 ;定義;定義INTINTTBLTBL段,段基地址為段,段基地址為0 0 ORG nORG n* *4 4;指定偏移地址;指定偏移地址 DD INTVCEDD INTVCE;存中斷程序入口;存中斷程序入口地址地址INTINTTBL TBL ENDSENDS ;其他處理;其他處理 MCODE MCODE SEGMENTSEGMENT;主程序;主程序 ;其他處理;其他處理 INTVCE PRO

39、C FAR INTVCE PROC FAR;中斷類(lèi)型;中斷類(lèi)型4 4的服的服務(wù)程序務(wù)程序 IRETIRETINTVCEINTVCEENDPENDP 8.5 8086CPU8.5 8086CPU的中斷管理的中斷管理8.58.53 3 中斷入口地址設(shè)置中斷入口地址設(shè)置三、用系統(tǒng)調(diào)用三、用系統(tǒng)調(diào)用使用使用25H25H功能時(shí)要求:功能時(shí)要求:ALAL中斷類(lèi)型號(hào)中斷類(lèi)型號(hào)DSDS:DXDX中斷服務(wù)程序首地址的段、中斷服務(wù)程序首地址的段、偏移地址偏移地址 注意注意DSDS保護(hù)保護(hù) PUSH DSMOV DX,SEG INT60H;段基地址送;段基地址送DSMOV DS,DXMOV DX,OFFSET IN

40、T60H;偏移地址送;偏移地址送DXMOV AL,60H;中斷類(lèi)型號(hào)送;中斷類(lèi)型號(hào)送AL MOV AH,25HINT 21H;25H功能調(diào)用功能調(diào)用 POP DS 8.5 8086CPU8.5 8086CPU的中斷管理的中斷管理8.58.53 3 中斷入口地址設(shè)置中斷入口地址設(shè)置四、直接裝入法四、直接裝入法 若外設(shè)的中斷類(lèi)型號(hào)為若外設(shè)的中斷類(lèi)型號(hào)為6BH6BH,則此中,則此中斷類(lèi)型號(hào)對(duì)應(yīng)的中斷矢量表地址為從斷類(lèi)型號(hào)對(duì)應(yīng)的中斷矢量表地址為從00lACH00lACH開(kāi)始的四個(gè)存儲(chǔ)單元設(shè)中斷服開(kāi)始的四個(gè)存儲(chǔ)單元設(shè)中斷服務(wù)程序段地址是務(wù)程序段地址是1000H1000H,偏移地址為,偏移地址為2000H

41、2000H。 MOV AX,,0 MOV DS,AX;置數(shù)據(jù)段段基地址為;置數(shù)據(jù)段段基地址為0 MOV AX,2000H MOV 01ACH, AX;對(duì)偏移地址為;對(duì)偏移地址為01AC的單元的單元MOV AX,1000H ;送雙字;送雙字MOV 01ACH+2, AX 9.6 9.6 可編程中斷控制器可編程中斷控制器82598259外設(shè)狀態(tài)線狀態(tài)線CPUINTR發(fā)中斷申請(qǐng)信發(fā)中斷申請(qǐng)信號(hào)號(hào)中斷屏蔽觸發(fā)中斷屏蔽觸發(fā)器器發(fā)中斷矢量發(fā)中斷矢量中斷優(yōu)先權(quán)排中斷優(yōu)先權(quán)排隊(duì)隊(duì)中斷控制器9.6 9.6 可編程中斷控制器可編程中斷控制器82598259一、一、8259A8259A的內(nèi)部結(jié)構(gòu)的內(nèi)部結(jié)構(gòu)中中斷斷服

42、服務(wù)務(wù)寄寄存存器器中斷請(qǐng)求中斷請(qǐng)求寄存器寄存器IR0IR1IR7IR2IR3IR4IR5IR6IR0IR1IR2IR3IR4IR5IR6IR7001、工作原理、工作原理0001中中斷斷服服務(wù)務(wù)寄寄存存器器中斷請(qǐng)求中斷請(qǐng)求寄存器寄存器IR0IR1IR7IR2IR3IR4IR5IR6IR0IR1IR2IR3IR4IR5IR6IR7001、工作原理、工作原理0000中中斷斷服服務(wù)務(wù)寄寄存存器器中斷請(qǐng)求中斷請(qǐng)求寄存器寄存器IR0IR1IR7IR2IR3IR4IR5IR6IR0IR1IR2IR3IR4IR5IR6IR7001、工作原理、工作原理02、單級(jí)、單級(jí)8259與與8086CPU聯(lián)接聯(lián)接RRDWR

43、3、接口電路、接口電路(設(shè)置偶地址設(shè)置偶地址)CS(138) Yi A09.6 9.6 可編程中斷控制器可編程中斷控制器82598259二、二、8259A8259A的中斷管理方式的中斷管理方式(一)、中斷優(yōu)先權(quán)管理(一)、中斷優(yōu)先權(quán)管理1 1完全嵌套方式完全嵌套方式 8259A 8259A的中斷請(qǐng)求輸入端引入的中斷的中斷請(qǐng)求輸入端引入的中斷具有固定的優(yōu)先權(quán)排隊(duì)順序,具有固定的優(yōu)先權(quán)排隊(duì)順序,IR0IR0為最高為最高優(yōu)先級(jí),優(yōu)先級(jí),IR1IR1為次高優(yōu)先級(jí),依次類(lèi)推,為次高優(yōu)先級(jí),依次類(lèi)推,IR7IR7為最低優(yōu)先級(jí)。為最低優(yōu)先級(jí)。 9.6 9.6 可編程中斷控制器可編程中斷控制器82598259

44、2 2特殊全嵌套方式特殊全嵌套方式 特殊全嵌套方式和全嵌套方式基本相同,特殊全嵌套方式和全嵌套方式基本相同,只有一點(diǎn)不同,就是在特殊全嵌套方式下,當(dāng)只有一點(diǎn)不同,就是在特殊全嵌套方式下,當(dāng)處理某一級(jí)中斷時(shí),如果有同級(jí)的中斷請(qǐng)求,處理某一級(jí)中斷時(shí),如果有同級(jí)的中斷請(qǐng)求,那么,也會(huì)給予響應(yīng),從而實(shí)現(xiàn)一種對(duì)同級(jí)中那么,也會(huì)給予響應(yīng),從而實(shí)現(xiàn)一種對(duì)同級(jí)中斷請(qǐng)求的特殊嵌套。斷請(qǐng)求的特殊嵌套。 特殊全嵌套方式一般用在特殊全嵌套方式一般用在8259A8259A級(jí)連的級(jí)連的系統(tǒng)中。系統(tǒng)中。 9.6 9.6 可編程中斷控制器可編程中斷控制器825982593 3自動(dòng)循環(huán)方式自動(dòng)循環(huán)方式 從從IR0IR7IR0I

45、R7引入的中斷輪流具有最高優(yōu)先引入的中斷輪流具有最高優(yōu)先權(quán)。權(quán)。 初始優(yōu)先級(jí)隊(duì)列規(guī)定為初始優(yōu)先級(jí)隊(duì)列規(guī)定為IR0IR1IR2IR3IR4IR5IR6IR7IR0IR1IR2IR3IR4IR5IR6IR7 如果如果IR0IR0端正好有中斷請(qǐng)求,處理完后端正好有中斷請(qǐng)求,處理完后IR1IR2IR3IR4IR5IR6IR7IR0IR1IR2IR3IR4IR5IR6IR7IR0 如果如果IR4IR4端正好有中斷請(qǐng)求,處理完后端正好有中斷請(qǐng)求,處理完后IR5IR6IR7IR0IR1IR2IR3IR4IR5IR6IR7IR0IR1IR2IR3IR4 9.6 9.6 可編程中斷控制器可編程中斷控制器8259

46、8259 4 4優(yōu)先級(jí)特殊循環(huán)方式優(yōu)先級(jí)特殊循環(huán)方式 最低優(yōu)先級(jí)是由編程確定的,從而最高優(yōu)最低優(yōu)先級(jí)是由編程確定的,從而最高優(yōu)先級(jí)也由此而定。先級(jí)也由此而定。比如定比如定IR5IR5最低,則最低,則IR6IR6最高最高 IR6IR7IR0IR1IR2IR3IR4IR5 IR6IR7IR0IR1IR2IR3IR4IR5 9.6 9.6 可編程中斷控制器可編程中斷控制器82598259(三)中斷屏蔽方式(三)中斷屏蔽方式 有兩種方法:有兩種方法:第一、普通屏蔽方式。第一、普通屏蔽方式。第二、采用特殊屏蔽方式。第二、采用特殊屏蔽方式。系統(tǒng)正在處理高級(jí)中斷時(shí),系統(tǒng)正在處理高級(jí)中斷時(shí),可以響可以響應(yīng)低級(jí)

47、別中斷應(yīng)低級(jí)別中斷9.6 9.6 可編程中斷控制器可編程中斷控制器82598259(四)、(四)、 8259A 8259A中斷結(jié)束的管理方式中斷結(jié)束的管理方式 中中斷斷服服務(wù)務(wù)寄寄存存器器中斷請(qǐng)求中斷請(qǐng)求寄存器寄存器IR0IR1IR7IR2IR3IR4IR5IR6IR0IR1IR2IR3IR4IR5IR6IR70000009.6 9.6 可編程中斷控制器可編程中斷控制器82598259(四)、(四)、 8259A 8259A中斷結(jié)束的管理方式中斷結(jié)束的管理方式 可采用三種中斷結(jié)束方式:可采用三種中斷結(jié)束方式: 自動(dòng)自動(dòng)EOIEOI方式方式/INTA/INTA清除中斷服務(wù)寄存器高級(jí)清除中斷服務(wù)寄

48、存器高級(jí)別位別位一般一般EOIEOI方式方式程序?qū)Τ绦驅(qū)?2598259發(fā)中斷結(jié)束命令,發(fā)中斷結(jié)束命令,清除清除中斷服務(wù)寄存器高級(jí)別位中斷服務(wù)寄存器高級(jí)別位特殊特殊EOIEOI方式方式程序?qū)Τ绦驅(qū)?2598259發(fā)中斷結(jié)束命令,發(fā)中斷結(jié)束命令,清除清除中斷服務(wù)寄存器指定位中斷服務(wù)寄存器指定位9.6 9.6 可編程中斷控制器可編程中斷控制器82598259三、三、 8259A 8259A編程編程(一)、(一)、8259A8259A的初始化命令字的初始化命令字ICW1ICW1的格式和含義的格式和含義主要功能是中斷信號(hào)的觸發(fā)方式主要功能是中斷信號(hào)的觸發(fā)方式例如:上升沿觸發(fā),級(jí)聯(lián)0 0 0 1 0 0

49、 0 18086級(jí)聯(lián)沿觸發(fā)9.6 9.6 可編程中斷控制器可編程中斷控制器82598259三、三、 8259A 8259A編程編程(一)、(一)、8259A8259A的初始化命令字的初始化命令字ICW2ICW2的格式和含義的格式和含義功能是中斷類(lèi)型號(hào)功能是中斷類(lèi)型號(hào)例如:中斷類(lèi)型號(hào)為080F0 0 0 0 1 x x x9.6 9.6 可編程中斷控制器可編程中斷控制器82598259三、三、 8259A 8259A編程編程(一)、(一)、8259A8259A的初始化命令字的初始化命令字ICW3ICW3的格式和含義的格式和含義在在8259A8259A有級(jí)聯(lián)情況下使用有級(jí)聯(lián)情況下使用主主從從ICW

50、301001000ICW300000110ICW300000119.6 9.6 可編程中斷控制器可編程中斷控制器82598259三、三、 8259A 8259A編程編程(一)、(一)、8259A8259A的初始化命令字的初始化命令字ICW4ICW4的格式和含義的格式和含義主要功能是中斷嵌套方式選擇,使能中斷主要功能是中斷嵌套方式選擇,使能中斷結(jié)束方式結(jié)束方式D11為自動(dòng)EOI,Dl0為非自動(dòng)EOID4位SFNM為有級(jí)聯(lián)時(shí)定義的,D41為特殊完全嵌套方式,D4=0完全嵌套方式例如: 0 0 0 0 0 0 0 19.6 9.6 可編程中斷控制器可編程中斷控制器82598259三、三、 8259A

51、 8259A編程編程(二)、(二)、8259A8259A的操作命令字的操作命令字0CW10CW1的格式和含義的格式和含義主要功能是確定屏蔽位主要功能是確定屏蔽位1表示禁止中斷 0 0 0 1 0 0 0 19.6 9.6 可編程中斷控制器可編程中斷控制器82598259三、三、 8259A 8259A編程編程(二)、(二)、8259A8259A的操作命令字的操作命令字0CW20CW2的格式和含義的格式和含義主要功能是控制中斷結(jié)束,優(yōu)先權(quán)循環(huán)等主要功能是控制中斷結(jié)束,優(yōu)先權(quán)循環(huán)等操作操作如果采用一般EOI方式 0 0 1 0 0 0 0 00中中斷斷服服務(wù)務(wù)寄寄存存器器中斷請(qǐng)求中斷請(qǐng)求寄存器寄存

52、器IR0IR1IR7IR2IR3IR4IR5IR6IR0IR1IR2IR3IR4IR5IR6IR700000MOV AL,20HOUT 端口(A0=0),AL9.6 9.6 可編程中斷控制器可編程中斷控制器82598259三、三、 8259A 8259A編程編程(二)、(二)、8259A8259A的操作命令字的操作命令字0CW30CW3的格式和含義的格式和含義主要功能是控制主要功能是控制8259A8259A的中斷屏蔽和讀取寄的中斷屏蔽和讀取寄存器的狀態(tài)存器的狀態(tài) 一般不用9.7 9.7 中斷舉例中斷舉例 中斷傳送方式的設(shè)計(jì)過(guò)程是:中斷傳送方式的設(shè)計(jì)過(guò)程是:一、硬件方面:一、硬件方面:設(shè)定硬件的

53、中斷類(lèi)型號(hào)。設(shè)定硬件的中斷類(lèi)型號(hào)。二、軟件方面:二、軟件方面:分主程序和中斷子程序分主程序和中斷子程序中斷子程序:編寫(xiě)中斷服務(wù)子程序。中斷子程序:編寫(xiě)中斷服務(wù)子程序。 主程序:主程序:1、關(guān)中斷;、關(guān)中斷;2、填寫(xiě)中斷入口地址表;、填寫(xiě)中斷入口地址表;3、設(shè)置、設(shè)置8259A及其他編程芯片;及其他編程芯片;4、開(kāi)中斷;、開(kāi)中斷;舉例一:軟件中斷INTO中斷執(zhí)行結(jié)果由兩個(gè)加數(shù)決定,有溢出:BL0FFH;無(wú)溢出:BL00。 INTO1 PROC;中斷溢出處理PUSH AXMOV BL,0FFHPOP AXIRET;中斷返回INTO1 ENDPDATASEGMENT;定義數(shù)據(jù)段ADD1DB ?ADD

54、2DB ?DATAENDSCODESEGMENT;定義代碼段ASSUME CS: CODE,DS:DATASTART:MOV AS,DATAMOV DS,AX MOV AX,0;填寫(xiě)中斷地址表MOV ES,AXMOV DI,04*4;存中斷程序首地址的偏移量MOV AX,OFFSET INTO1;可用MOV AX,CSCLDSTOSW;存中斷程序首地址的段地址MOV AX,SEG INTO1STOSWMOV BL,0;主程序MOV AL,ADD1;計(jì)算ADD1ADD2ADD AL,ADDD2INTO;若有溢出,轉(zhuǎn)溢出處理MOV AL,BLMOV AX,4C00HINT 21HHLTINTO1

55、PROC;中斷溢出處理MOV BL,0FFHIRET;中斷返回INTO1 ENDP;CODE ENDSEND START 舉例二:硬件中斷 下圖是一個(gè)接口電路,用中斷傳送方式使8255A的A口的發(fā)光二極管依次發(fā)光,要求每個(gè)二極管在一個(gè)循環(huán)中發(fā)光1S。設(shè)8255A端口地址為80H86H,8253端口地址為88H8EH,主8259端口地址為90H92H,從8259端口地址為98H9AHCA0CA1CA2CA0CA1CA2SPSP+5V0V/INTA/INTA/INTAINTINTINTRIR0 IR7IR0 IR7OUT0 GATA0 CLK0+5V1KHzA0 A1 A7+5V825982598

56、25582538255A的A口工作方式可選為方式0的輸出,而8253通道0的工作方式可定為方式0,即計(jì)數(shù)結(jié)束產(chǎn)生中斷信號(hào)。8255A的方式控制字:10001011B。即A輸出,B口輸入,C口輸入。8253通道0的方式控制字:00110001B。即工作方式為方式0,BCD碼計(jì)數(shù)。8259設(shè)置特點(diǎn)1、初始化具有順序性2、順序?yàn)?ICW1、ICW2、ICW3、ICW4主8259設(shè)置ICW1:上升沿觸發(fā),級(jí)聯(lián)端口90H:00010001BICW2:中斷類(lèi)型碼,端口92H:08HICW3:主片從片標(biāo)志,端口92H:00000100BICW4:完全中斷嵌套方式,非自動(dòng)中斷結(jié)束方式端口92H:0000000

57、1B從8259設(shè)置ICW1:上升沿觸發(fā),級(jí)聯(lián)端口98H:00010001BICW2:中斷類(lèi)型碼,端口9AH:30HICW3:主片從片標(biāo)志,端口9AH:00000010BICW4:完全中斷嵌套方式,非自動(dòng)中斷結(jié)束方式端口9AH:00000001BSHIFT_DATDB 0FEHCLI;關(guān)中斷CLD;填寫(xiě)中斷入口地址表MOV AX,0MOV ES,AXMOV DI,4*31HMOV AX,OFFSET INT_31HMOV ES:DI,AXINC DIINC DIMOV AX,SEG INT_31HMOV ES:DI,AX;設(shè)置主8259MOV AL,11H;設(shè)置ICW1;上升沿觸發(fā),級(jí)聯(lián)OUT

58、90H,ALMOV AL,08;設(shè)置ICW2;中斷矢量OUT 92H,ALMOV AL,04;設(shè)置ICW3;IR2級(jí)聯(lián)OUT 92H,ALMOV AL,01;設(shè)置ICW4;非自動(dòng)結(jié)束中斷(清中斷服務(wù)FF)OUT 92H,ALMOV AL,01101011B ;設(shè)置IOW1,開(kāi)放IR2,IR4,IR7中斷OUT 92H,AL;設(shè)置從8259MOV AL,11H;設(shè)置ICW1OUT 98H,ALMOV AL,30H;設(shè)置ICW2OUT 9AH,ALMOV AL,02;設(shè)置ICW3OUT 9AH,ALMOV AL,01;設(shè)置ICW4OUT 9AH,ALMOV AL,00000000B;設(shè)置IOW1,開(kāi)放IR0I

溫馨提示

  • 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)論