第七章 中斷系統(tǒng)_第1頁(yè)
第七章 中斷系統(tǒng)_第2頁(yè)
第七章 中斷系統(tǒng)_第3頁(yè)
第七章 中斷系統(tǒng)_第4頁(yè)
第七章 中斷系統(tǒng)_第5頁(yè)
已閱讀5頁(yè),還剩44頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、計(jì)算機(jī)硬件技術(shù)基礎(chǔ)計(jì)算機(jī)硬件技術(shù)基礎(chǔ)第七章第七章 中斷系統(tǒng)中斷系統(tǒng)7.1 中斷概述中斷概述7.2 CPU響應(yīng)中斷的條件和過程響應(yīng)中斷的條件和過程7.3 中斷優(yōu)先權(quán)及多重中斷中斷優(yōu)先權(quán)及多重中斷7.4 8088的中斷方式的中斷方式7.5 IBM PC/XT的中斷方式的中斷方式7.6 中斷控制器中斷控制器8259A7.1 中斷概述中斷概述中斷:是指中斷:是指CPU在正常運(yùn)行程序時(shí),由程序預(yù)先安排好在正常運(yùn)行程序時(shí),由程序預(yù)先安排好的事件,或者由內(nèi)、外部事件引起的事件,或者由內(nèi)、外部事件引起CPU中斷正在運(yùn)行的中斷正在運(yùn)行的程序,轉(zhuǎn)到為預(yù)先安排的事件或內(nèi)、外部事件服務(wù)的程程序,轉(zhuǎn)到為預(yù)先安排的事件或

2、內(nèi)、外部事件服務(wù)的程序中去。這些引起程序中斷的事件稱為中斷源。序中去。這些引起程序中斷的事件稱為中斷源。PC的中的中斷指令在斷指令在CPU中預(yù)先設(shè)定。中預(yù)先設(shè)定。7.1.1應(yīng)用中斷的好處:應(yīng)用中斷的好處:1.同步操作同步操作2.實(shí)現(xiàn)實(shí)時(shí)處理實(shí)現(xiàn)實(shí)時(shí)處理3.故障處理故障處理中斷常用術(shù)語(yǔ)中斷常用術(shù)語(yǔ)(1)中斷返回)中斷返回 當(dāng)計(jì)算機(jī)對(duì)緊急事件處理完成后,要返回原程序當(dāng)計(jì)算機(jī)對(duì)緊急事件處理完成后,要返回原程序A,實(shí)際上是將從斷點(diǎn)處繼續(xù)執(zhí)行原程序,這個(gè)過程稱為中實(shí)際上是將從斷點(diǎn)處繼續(xù)執(zhí)行原程序,這個(gè)過程稱為中斷返回。斷返回。 (2)中斷服務(wù)程序)中斷服務(wù)程序 非尋常事件的處理程序非尋常事件的處理程序B

3、,稱為中斷服務(wù)程序。中斷,稱為中斷服務(wù)程序。中斷服務(wù)程序是程序員事先安排好的程序,非尋常事件一般服務(wù)程序是程序員事先安排好的程序,非尋常事件一般是指事件發(fā)生的時(shí)間是無法預(yù)知的,但事件的性質(zhì)及處是指事件發(fā)生的時(shí)間是無法預(yù)知的,但事件的性質(zhì)及處理方法是已知的。理方法是已知的。7.6.1 中斷的概念中斷的概念(3)中斷現(xiàn)場(chǎng)和保護(hù)現(xiàn)場(chǎng))中斷現(xiàn)場(chǎng)和保護(hù)現(xiàn)場(chǎng) 計(jì)算機(jī)正在運(yùn)行程序計(jì)算機(jī)正在運(yùn)行程序A,收到緊急事件的要求,中斷,收到緊急事件的要求,中斷了當(dāng)前程序了當(dāng)前程序A;在中斷時(shí)刻,程序;在中斷時(shí)刻,程序A運(yùn)行的當(dāng)前狀態(tài)稱為運(yùn)行的當(dāng)前狀態(tài)稱為中斷現(xiàn)場(chǎng)。它應(yīng)包括狀態(tài)寄存器的狀態(tài),以及中斷現(xiàn)場(chǎng)。它應(yīng)包括狀態(tài)寄

4、存器的狀態(tài),以及CPU內(nèi)部?jī)?nèi)部寄存器的當(dāng)前內(nèi)容。為了使中斷返回后這些信息不會(huì)丟寄存器的當(dāng)前內(nèi)容。為了使中斷返回后這些信息不會(huì)丟失,必須加以保護(hù),這稱為保護(hù)現(xiàn)場(chǎng)。保護(hù)的方法有些失,必須加以保護(hù),這稱為保護(hù)現(xiàn)場(chǎng)。保護(hù)的方法有些是靠硬件自動(dòng)完成的,有些則靠程序來實(shí)現(xiàn)。是靠硬件自動(dòng)完成的,有些則靠程序來實(shí)現(xiàn)。(4)斷點(diǎn))斷點(diǎn) 計(jì)算機(jī)正在執(zhí)行程序計(jì)算機(jī)正在執(zhí)行程序A,由于某一個(gè)非尋常事件發(fā)生,由于某一個(gè)非尋常事件發(fā)生,暫停暫停A程序的運(yùn)行,而執(zhí)行緊急事件處理程序程序的運(yùn)行,而執(zhí)行緊急事件處理程序B,程序,程序A被中斷時(shí)的下一條指令的地址稱為斷點(diǎn)或斷點(diǎn)地址。被中斷時(shí)的下一條指令的地址稱為斷點(diǎn)或斷點(diǎn)地址。7

5、.6.1 中斷的概念中斷的概念7.1 中斷概述中斷概述7.1.2 中斷源中斷源 引起中斷產(chǎn)生的事件或發(fā)出中斷請(qǐng)求的來源,稱為中引起中斷產(chǎn)生的事件或發(fā)出中斷請(qǐng)求的來源,稱為中斷源。斷源。1.一般的輸入輸出一般的輸入輸出2.數(shù)據(jù)通道中斷源數(shù)據(jù)通道中斷源3.實(shí)時(shí)時(shí)鐘實(shí)時(shí)時(shí)鐘4.故障源故障源5.為調(diào)試程序而設(shè)置的中斷源為調(diào)試程序而設(shè)置的中斷源7.1 中斷概述中斷概述7.1.3 中斷系統(tǒng)的功能中斷系統(tǒng)的功能1.實(shí)現(xiàn)中斷及返回實(shí)現(xiàn)中斷及返回2.能實(shí)現(xiàn)優(yōu)先排隊(duì)能實(shí)現(xiàn)優(yōu)先排隊(duì)3.高級(jí)中斷源能中斷低級(jí)的中斷處理高級(jí)中斷源能中斷低級(jí)的中斷處理7.2 CPU響應(yīng)中斷的條件和過程響應(yīng)中斷的條件和過程7.2.1 CPU

6、響應(yīng)中斷的條件響應(yīng)中斷的條件1.設(shè)置中斷請(qǐng)求觸發(fā)器設(shè)置中斷請(qǐng)求觸發(fā)器2.設(shè)置中斷屏蔽觸發(fā)器設(shè)置中斷屏蔽觸發(fā)器3.中斷是開放的中斷是開放的4.CPU在現(xiàn)行指令結(jié)束后響應(yīng)中斷在現(xiàn)行指令結(jié)束后響應(yīng)中斷7.2 CPU響應(yīng)中斷的條件和過程響應(yīng)中斷的條件和過程7.2.2 CPU對(duì)中斷的響應(yīng)對(duì)中斷的響應(yīng)1.關(guān)中斷關(guān)中斷2.保留斷點(diǎn)保留斷點(diǎn)3.保護(hù)現(xiàn)場(chǎng)保護(hù)現(xiàn)場(chǎng)4.給出中斷入口,轉(zhuǎn)入相應(yīng)的中斷服務(wù)程序給出中斷入口,轉(zhuǎn)入相應(yīng)的中斷服務(wù)程序5.恢復(fù)現(xiàn)場(chǎng)恢復(fù)現(xiàn)場(chǎng)6.開中斷與返回開中斷與返回7.2 CPU響應(yīng)中斷的條件和過程響應(yīng)中斷的條件和過程三態(tài)三態(tài)緩沖器緩沖器輸輸入入設(shè)設(shè)備備地址地址譯碼器譯碼器1數(shù)據(jù)數(shù)據(jù)RDYDB

7、ABIO/MRDCPU&中斷請(qǐng)求中斷請(qǐng)求觸發(fā)器觸發(fā)器數(shù)據(jù)數(shù)據(jù)鎖存器鎖存器+5VQDINT狀態(tài)信號(hào)狀態(tài)信號(hào)數(shù)據(jù)數(shù)據(jù)鎖存器鎖存器三態(tài)三態(tài)緩沖器緩沖器1&中斷方式的輸入過程:中斷方式的輸入過程:外設(shè)準(zhǔn)備好數(shù)據(jù),發(fā)出選通信號(hào)外設(shè)準(zhǔn)備好數(shù)據(jù),發(fā)出選通信號(hào)選通信號(hào)將數(shù)據(jù)鎖存,同時(shí)產(chǎn)生中斷信號(hào)選通信號(hào)將數(shù)據(jù)鎖存,同時(shí)產(chǎn)生中斷信號(hào)若中斷屏蔽觸發(fā)器不屏蔽(即允許中斷),則將若中斷屏蔽觸發(fā)器不屏蔽(即允許中斷),則將中斷信號(hào)傳送給中斷信號(hào)傳送給CPUCPU接收到中斷信號(hào),且接收到中斷信號(hào),且IF=1,則,則CPU響應(yīng)中響應(yīng)中斷,發(fā)斷,發(fā)INTA響應(yīng)信號(hào),清除傳來的中斷請(qǐng)求信響應(yīng)信號(hào),清除傳來的中斷請(qǐng)求信號(hào),并獲取

8、外設(shè)的中斷向量號(hào),并獲取外設(shè)的中斷向量1. CPU執(zhí)行相應(yīng)的中斷服務(wù)子程序,即讀取數(shù)據(jù)執(zhí)行相應(yīng)的中斷服務(wù)子程序,即讀取數(shù)據(jù)7.2 CPU響應(yīng)中斷的條件和過程響應(yīng)中斷的條件和過程7.3 中斷優(yōu)先權(quán)及多重中斷中斷優(yōu)先權(quán)及多重中斷7.3.1 中斷優(yōu)先權(quán)中斷優(yōu)先權(quán)判別和確定各個(gè)中斷源的優(yōu)先權(quán)可以用軟件和硬件兩種判別和確定各個(gè)中斷源的優(yōu)先權(quán)可以用軟件和硬件兩種方法。方法。1.用軟件確定中斷優(yōu)先權(quán)用軟件確定中斷優(yōu)先權(quán)把把8個(gè)外設(shè)的中斷請(qǐng)求觸發(fā)器組合起來,作為一個(gè)端口,個(gè)外設(shè)的中斷請(qǐng)求觸發(fā)器組合起來,作為一個(gè)端口,并賦以設(shè)備號(hào),把各個(gè)外設(shè)的中斷請(qǐng)求信號(hào)相并賦以設(shè)備號(hào),把各個(gè)外設(shè)的中斷請(qǐng)求信號(hào)相“或或”后,后

9、,作為作為INTR信號(hào),故任一外設(shè)有中斷請(qǐng)求,都可向信號(hào),故任一外設(shè)有中斷請(qǐng)求,都可向CPU送出送出INTR信號(hào)。當(dāng)信號(hào)。當(dāng)CPU響應(yīng)中斷后,把中斷寄存器的響應(yīng)中斷后,把中斷寄存器的狀態(tài),作為一個(gè)外設(shè)讀入狀態(tài),作為一個(gè)外設(shè)讀入CPU,逐位檢測(cè)它們的狀態(tài),逐位檢測(cè)它們的狀態(tài),若有中斷請(qǐng)求就轉(zhuǎn)到相應(yīng)的服務(wù)程序的入口。若有中斷請(qǐng)求就轉(zhuǎn)到相應(yīng)的服務(wù)程序的入口。中斷源有許多個(gè),需要用中斷控制器來進(jìn)行優(yōu)先級(jí)管理:中斷源有許多個(gè),需要用中斷控制器來進(jìn)行優(yōu)先級(jí)管理: a.當(dāng)多個(gè)中斷同時(shí)發(fā)生時(shí),優(yōu)先級(jí)高的得到響應(yīng)。當(dāng)多個(gè)中斷同時(shí)發(fā)生時(shí),優(yōu)先級(jí)高的得到響應(yīng)。 b.優(yōu)先級(jí)高的中斷可以中斷優(yōu)先級(jí)低的中斷優(yōu)先級(jí)高的中斷

10、可以中斷優(yōu)先級(jí)低的中斷7.6.2 8086的中斷系統(tǒng)的中斷系統(tǒng)7.3 中斷優(yōu)先權(quán)及多重中斷中斷優(yōu)先權(quán)及多重中斷7.3.1 中斷優(yōu)先權(quán)中斷優(yōu)先權(quán)查詢程序有兩種實(shí)現(xiàn)方法查詢程序有兩種實(shí)現(xiàn)方法(1)屏蔽法屏蔽法IN AL,20H ;輸入中斷請(qǐng)求觸發(fā)器的狀態(tài)輸入中斷請(qǐng)求觸發(fā)器的狀態(tài)TEST AL,80H ;檢查最高位檢查最高位JNE PWF ;外設(shè)外設(shè)A中斷服務(wù)程序中斷服務(wù)程序TEST AL,40H ;檢查次高位檢查次高位JNE DISS ;外設(shè)外設(shè)B中斷服務(wù)程序中斷服務(wù)程序TEST AL,20H ;檢查次高位檢查次高位JNE MT ;外設(shè)外設(shè)C中斷服務(wù)程序中斷服務(wù)程序7.3 中斷優(yōu)先權(quán)及多重中斷中斷

11、優(yōu)先權(quán)及多重中斷7.3.1 中斷優(yōu)先權(quán)中斷優(yōu)先權(quán)(2)移位法移位法XOR AL,ALIN AL,20H ;輸入中斷請(qǐng)求觸發(fā)器的狀態(tài)輸入中斷請(qǐng)求觸發(fā)器的狀態(tài)RCL AL, 1JC PWF ;外設(shè)外設(shè)A中斷服務(wù)程序中斷服務(wù)程序RCL AL, 1JC DISS ;外設(shè)外設(shè)B中斷服務(wù)程序中斷服務(wù)程序7.3 中斷優(yōu)先權(quán)及多重中斷中斷優(yōu)先權(quán)及多重中斷7.3.1 中斷優(yōu)先權(quán)中斷優(yōu)先權(quán)2. 硬件優(yōu)先權(quán)排隊(duì)電路硬件優(yōu)先權(quán)排隊(duì)電路(1)中斷優(yōu)先權(quán)編碼電路中斷優(yōu)先權(quán)編碼電路若有若有8個(gè)中斷源,當(dāng)任意一個(gè)有中斷請(qǐng)求時(shí),通過或門,個(gè)中斷源,當(dāng)任意一個(gè)有中斷請(qǐng)求時(shí),通過或門,即可有一個(gè)中斷請(qǐng)求信號(hào)產(chǎn)生,能否送至即可有一個(gè)

12、中斷請(qǐng)求信號(hào)產(chǎn)生,能否送至CPU的中斷請(qǐng)的中斷請(qǐng)求線,還要受比較器的控制。求線,還要受比較器的控制。(2)雛菊花環(huán)雛菊花環(huán)(Daisy Chain)式或稱為鏈?zhǔn)絻?yōu)先權(quán)排隊(duì)電式或稱為鏈?zhǔn)絻?yōu)先權(quán)排隊(duì)電路路7.3 中斷優(yōu)先權(quán)及多重中斷中斷優(yōu)先權(quán)及多重中斷中斷響應(yīng)中斷響應(yīng)(來自來自CPU)F/F A&F/F B&F/F C&F/F D&中斷請(qǐng)求輸入中斷請(qǐng)求輸入1中斷請(qǐng)求輸入中斷請(qǐng)求輸入2中斷請(qǐng)求輸入中斷請(qǐng)求輸入3中斷請(qǐng)求輸入中斷請(qǐng)求輸入4中斷輸出中斷輸出1中斷輸出中斷輸出2中斷輸出中斷輸出3中斷輸出中斷輸出4鏈?zhǔn)絻?yōu)先權(quán)排隊(duì)電路鏈?zhǔn)絻?yōu)先權(quán)排隊(duì)電路 2)簡(jiǎn)單硬件方式(菊花鏈法)簡(jiǎn)單硬件方式(菊花鏈法)設(shè)備

13、設(shè)備1接口接口菊花鏈邏輯電路設(shè)備設(shè)備2接口接口設(shè)備設(shè)備3接口接口菊花鏈邏輯電路菊花鏈邏輯電路CPU以及以及總線控制器總線控制器INTAINTR中斷請(qǐng)求中斷應(yīng)答7.3 中斷優(yōu)先權(quán)及多重中斷中斷優(yōu)先權(quán)及多重中斷7.3.2 多級(jí)中斷的概念多級(jí)中斷的概念 多級(jí)中斷系統(tǒng)是指計(jì)算機(jī)系統(tǒng)有相當(dāng)多的中斷源,根多級(jí)中斷系統(tǒng)是指計(jì)算機(jī)系統(tǒng)有相當(dāng)多的中斷源,根據(jù)各中斷事件的輕重緩急而分成若干級(jí)別,每一中斷級(jí)據(jù)各中斷事件的輕重緩急而分成若干級(jí)別,每一中斷級(jí)分配一個(gè)優(yōu)先權(quán)。分配一個(gè)優(yōu)先權(quán)。 根據(jù)系統(tǒng)的配置不同,多級(jí)中斷又可分為一維多級(jí)中根據(jù)系統(tǒng)的配置不同,多級(jí)中斷又可分為一維多級(jí)中斷和二維多級(jí)中斷。一維多級(jí)中斷是指每一

14、中斷中只有斷和二維多級(jí)中斷。一維多級(jí)中斷是指每一中斷中只有一個(gè)中斷源,而二維多級(jí)中斷是指每一級(jí)中斷中又有多一個(gè)中斷源,而二維多級(jí)中斷是指每一級(jí)中斷中又有多個(gè)中斷源。個(gè)中斷源。7.3 中斷優(yōu)先權(quán)及多重中斷中斷優(yōu)先權(quán)及多重中斷7.3 中斷優(yōu)先權(quán)及多重中斷中斷優(yōu)先權(quán)及多重中斷7.4 8086/8088的中斷方式的中斷方式1.軟中斷:軟中斷: 軟件中斷是軟件中斷是CPU根據(jù)程序中的某條指令或程序?qū)?biāo)根據(jù)程序中的某條指令或程序?qū)?biāo)志寄存器中某個(gè)標(biāo)志的設(shè)置而產(chǎn)生的。志寄存器中某個(gè)標(biāo)志的設(shè)置而產(chǎn)生的。(1)DIV(除除)或或IDIV(整除整除)指令指令(2)INT指令指令(3)INTO指令指令(4)單步執(zhí)行

15、單步執(zhí)行7.4 8086/8088的中斷方式的中斷方式2.硬中斷:硬中斷: 硬件中斷也稱為外部中斷,硬件中斷也稱為外部中斷,CPU提供了兩個(gè)外部中提供了兩個(gè)外部中斷輸入引腳,斷輸入引腳,18腳(腳(INTR)可屏蔽中斷輸入引腳,)可屏蔽中斷輸入引腳,17腳(腳(NMI)非屏蔽中斷輸入引腳。)非屏蔽中斷輸入引腳。(1)可屏蔽中斷可屏蔽中斷,出現(xiàn)在出現(xiàn)在INTR線上線上(2)非屏蔽中斷非屏蔽中斷,出現(xiàn)在出現(xiàn)在NMI線上線上7.4 8086/8088的中斷方式的中斷方式非屏蔽中斷請(qǐng)求非屏蔽中斷請(qǐng)求中斷邏輯中斷邏輯INT n指令指令I(lǐng)NT0除法除法錯(cuò)誤錯(cuò)誤單步單步(TF=1)8259ANMIINTR8

16、086CPU可屏蔽的可屏蔽的中斷請(qǐng)求中斷請(qǐng)求8086中斷分類中斷分類8086中斷中斷外部中斷外部中斷內(nèi)部中斷內(nèi)部中斷可屏蔽中斷請(qǐng)求通過8259A中斷控制器產(chǎn)生非屏蔽中斷請(qǐng)求包括掉電、存儲(chǔ)器滿、總線信息奇偶錯(cuò)等軟件陷阱軟件中斷類型0中斷除法錯(cuò)誤中斷類型1中斷單步中斷(TF=1)INT n指令類型為n的中斷指令I(lǐng)NT 3指令斷點(diǎn)中斷指令I(lǐng)NT0指令溢出中斷指令I(lǐng)RET指令中斷返回3.中斷向量表中斷向量表 中斷向量:中斷向量:中斷處理子程序的入口地址;中斷處理子程序的入口地址;中斷向量表:中斷向量表:在內(nèi)存的前在內(nèi)存的前1KB(地址為地址為00000H003FFH) 區(qū)域存放著區(qū)域存放著256個(gè)中斷

17、向量個(gè)中斷向量(或或256個(gè)中斷類型個(gè)中斷類型) ,每個(gè)中斷向量占用,每個(gè)中斷向量占用4字節(jié)空間。字節(jié)空間。7.4 8086/8088的中斷方式的中斷方式3.中斷向量表中斷向量表o每一種中斷類型對(duì)應(yīng)一個(gè)中斷向量;每一種中斷類型對(duì)應(yīng)一個(gè)中斷向量;o每個(gè)中斷向量占每個(gè)中斷向量占4個(gè)字節(jié),前兩個(gè)字節(jié)存放中斷處個(gè)字節(jié),前兩個(gè)字節(jié)存放中斷處理子程序入口地址的偏移量(理子程序入口地址的偏移量(IP),后兩個(gè)字節(jié)存放),后兩個(gè)字節(jié)存放中斷處理子程序入口地址的段地址(中斷處理子程序入口地址的段地址(CS););o256個(gè)中斷中:個(gè)中斷中:0-4為專用中斷,為專用中斷,5-31為系統(tǒng)保留為系統(tǒng)保留(21個(gè)),個(gè)

18、),32以上共以上共224個(gè)為用戶自定義中斷。個(gè)為用戶自定義中斷。7.4 8086/8088的中斷方式的中斷方式 80868086中斷向量表中斷向量表 指出了中斷向量類型碼與中斷向量之間的關(guān)系指出了中斷向量類型碼與中斷向量之間的關(guān)系類型類型255255類型類型3333類型類型3232類型類型3131類型類型5 5類型類型4 4類型類型3 3類型類型2 2類型類型1 1類型類型0 03FEH 3FEH 3FCH 3FCH 084H084H080H 080H 07EH07EH014H014H010H010H00CH00CH008H008H004H004H000H000H可使用的可使用的中斷向量中斷

19、向量保留的保留的 中斷向量中斷向量專用的專用的 中斷向量中斷向量CSCS基址基址IPIP偏移量偏移量中斷服務(wù)程序起始地址的計(jì)算:中斷服務(wù)程序起始地址的計(jì)算:CSCS基址所在單元基址所在單元 TYPE TYPE* *4+24+2IPIP偏移量所在單元偏移量所在單元 TYPE TYPE* *2 2例:外設(shè)的編碼類型為例:外設(shè)的編碼類型為3333,計(jì)算該外,計(jì)算該外設(shè)的中斷服務(wù)程序入口地址設(shè)的中斷服務(wù)程序入口地址CSCS基址所在單元基址所在單元 3333* *4+2=134=864+2=134=86H HIPIP偏移量所在單元偏移量所在單元 3333* *4=132=844=132=84H H7.4

20、 8086/8088的中斷方式的中斷方式4. 中斷響應(yīng)和處理過程中斷響應(yīng)和處理過程(1)類型碼乘類型碼乘4,作為中斷向量表指針;作為中斷向量表指針;(2)CPU標(biāo)志寄存器入棧;標(biāo)志寄存器入棧;(3)復(fù)制追蹤標(biāo)志復(fù)制追蹤標(biāo)志T的狀態(tài)的狀態(tài),清除清除I和和T標(biāo)志標(biāo)志,屏蔽新的屏蔽新的INTR中斷和單步中斷;中斷和單步中斷;(4)保存主程序中的斷點(diǎn)保存主程序中的斷點(diǎn),即把主程序斷點(diǎn)處的即把主程序斷點(diǎn)處的IP和和CS的的值推入堆棧保護(hù)值推入堆棧保護(hù),先推入先推入CS的值的值,再推入再推入IP的值;的值;(5)從中斷向量表中取中斷服務(wù)程序的入口地址從中斷向量表中取中斷服務(wù)程序的入口地址,分別送分別送至至

21、CS和和IP中中,先取先取CS的值;的值;(6)按新地址執(zhí)行中斷服務(wù)程序。按新地址執(zhí)行中斷服務(wù)程序。 CPU自動(dòng)執(zhí)行自動(dòng)執(zhí)行1、關(guān)中斷、關(guān)中斷2、發(fā)出中斷響應(yīng)信號(hào)、發(fā)出中斷響應(yīng)信號(hào)3、讀入中斷向量地址、讀入中斷向量地址4、PC內(nèi)容壓棧內(nèi)容壓棧1、保護(hù)現(xiàn)場(chǎng)、保護(hù)現(xiàn)場(chǎng)2、設(shè)置本優(yōu)先級(jí)、設(shè)置本優(yōu)先級(jí)3、開中斷、開中斷對(duì)外部設(shè)備的控制程序?qū)ν獠吭O(shè)備的控制程序主機(jī)與外設(shè)數(shù)據(jù)交換主機(jī)與外設(shè)數(shù)據(jù)交換1、關(guān)中斷、關(guān)中斷2、恢復(fù)、恢復(fù)CPU現(xiàn)場(chǎng)現(xiàn)場(chǎng)3、開中斷、開中斷4、返回指令、返回指令CPU響應(yīng)中斷請(qǐng)求響應(yīng)中斷請(qǐng)求中中斷斷服服務(wù)務(wù)程程序序5、中斷服務(wù)過程、中斷服務(wù)過程7.5 IBM PC/XT的中斷方式的中斷

22、方式IBM PC/XT的中斷類型的中斷類型(1)內(nèi)部中斷即軟中斷內(nèi)部中斷即軟中斷(2)非屏蔽中斷非屏蔽中斷NMI(3)可屏蔽中斷可屏蔽中斷INTR7.5 IBM PC/XT的中斷方式的中斷方式7.5 IBM PC/XT的中斷方式的中斷方式2. IBM PC/XT系統(tǒng)保留的中斷系統(tǒng)保留的中斷8086CPU最多能處理最多能處理256種不同的中斷,其中種不同的中斷,其中5個(gè)保留個(gè)保留為為CPU專用;一部分是由磁盤操作系統(tǒng)專用;一部分是由磁盤操作系統(tǒng)DOS保留保留為為系統(tǒng)使用,系統(tǒng)使用,用戶可以使用用戶可以使用200個(gè)左右中斷個(gè)左右中斷。7.5 IBM PC/XT的中斷方式的中斷方式7.6 中斷控制器

23、中斷控制器8259A7.6.1 8259A的內(nèi)部結(jié)構(gòu)的內(nèi)部結(jié)構(gòu) 1.數(shù)據(jù)總線緩沖器數(shù)據(jù)總線緩沖器 2.中斷請(qǐng)求寄存器中斷請(qǐng)求寄存器(IRR) 3.優(yōu)先權(quán)電路優(yōu)先權(quán)電路 4.中斷服務(wù)寄存器中斷服務(wù)寄存器(ISR) 5.中斷屏蔽寄存器中斷屏蔽寄存器(IMR) 6.控制邏輯控制邏輯 7.讀讀/寫邏輯寫邏輯 8.級(jí)聯(lián)緩沖級(jí)聯(lián)緩沖/比較器比較器7.6 中斷控制器中斷控制器8259A7.6 中斷控制器中斷控制器8259A1.數(shù)據(jù)總線緩沖器數(shù)據(jù)總線緩沖器 數(shù)據(jù)總線緩沖器是三態(tài),雙向,數(shù)據(jù)總線緩沖器是三態(tài),雙向,8位的緩沖器,位的緩沖器,D7D0用于和用于和CPU的數(shù)據(jù)總線連接。的數(shù)據(jù)總線連接。2.中斷請(qǐng)求寄

24、存器(中斷請(qǐng)求寄存器(IRR) 中斷請(qǐng)求寄存器用來寄存所有中斷請(qǐng)求寄存器用來寄存所有IR輸入線輸入的中斷請(qǐng)輸入線輸入的中斷請(qǐng)求信號(hào),即保存正在請(qǐng)求服務(wù)的中斷級(jí)。求信號(hào),即保存正在請(qǐng)求服務(wù)的中斷級(jí)。 7.6 中斷控制器中斷控制器8259A3.優(yōu)先權(quán)電路優(yōu)先權(quán)電路 優(yōu)先權(quán)電路的主要作用是確定中斷請(qǐng)求寄存器優(yōu)先權(quán)電路的主要作用是確定中斷請(qǐng)求寄存器IRR中中各位的優(yōu)先等級(jí),并確定能否向各位的優(yōu)先等級(jí),并確定能否向CPU申請(qǐng)中斷。申請(qǐng)中斷。4.中斷服務(wù)寄存器中斷服務(wù)寄存器(ISR) 中斷服務(wù)寄存器中斷服務(wù)寄存器ISR的主要作用是保存當(dāng)前被的主要作用是保存當(dāng)前被CPU服服務(wù)的中斷級(jí),也就是記錄正在被處理的

25、中斷請(qǐng)求。務(wù)的中斷級(jí),也就是記錄正在被處理的中斷請(qǐng)求。5.中斷屏蔽寄存器中斷屏蔽寄存器(IMR) 中斷屏蔽寄存器中斷屏蔽寄存器IMR的主要作用是對(duì)各中斷源的中斷的主要作用是對(duì)各中斷源的中斷請(qǐng)求信號(hào)(請(qǐng)求信號(hào)(IROIR7)實(shí)現(xiàn)開關(guān)控制。)實(shí)現(xiàn)開關(guān)控制。7.6 中斷控制器中斷控制器8259A6.控制邏輯控制邏輯 控制邏輯內(nèi)部包括內(nèi)部控制電路,中斷控制電路,初始控制邏輯內(nèi)部包括內(nèi)部控制電路,中斷控制電路,初始化命令寄存器組和操作命令寄存器組,它根據(jù)化命令寄存器組和操作命令寄存器組,它根據(jù)CPU對(duì)對(duì)8259A編程設(shè)定的工作方式產(chǎn)生編程設(shè)定的工作方式產(chǎn)生8259A內(nèi)部控制信號(hào),內(nèi)部控制信號(hào),并根據(jù)中斷

26、請(qǐng)求寄存器并根據(jù)中斷請(qǐng)求寄存器IRR和優(yōu)先權(quán)電路的判別結(jié)果,在和優(yōu)先權(quán)電路的判別結(jié)果,在適當(dāng)時(shí)候向適當(dāng)時(shí)候向CPU發(fā)生中斷請(qǐng)求信號(hào),并接收發(fā)生中斷請(qǐng)求信號(hào),并接收CPU發(fā)來的發(fā)來的中斷響應(yīng)信號(hào)中斷響應(yīng)信號(hào)INTA,控制提供中斷類型號(hào)。,控制提供中斷類型號(hào)。7.6 中斷控制器中斷控制器8259A7.讀寫邏輯讀寫邏輯 接收接收CPU來的控制信號(hào),包括端口控制信號(hào),數(shù)據(jù)方來的控制信號(hào),包括端口控制信號(hào),數(shù)據(jù)方向控制信號(hào),控制將向控制信號(hào),控制將CPU送來的初始化命令送來的初始化命令I(lǐng)CW和操作和操作命令命令OCW存入存入8259A內(nèi)部相應(yīng)的寄存器,用以規(guī)定內(nèi)部相應(yīng)的寄存器,用以規(guī)定8259A的工作方

27、式。的工作方式。8.級(jí)連緩沖級(jí)連緩沖/比較器比較器 一片一片8259A最多構(gòu)成最多構(gòu)成8級(jí)中斷(級(jí)中斷(IROIR7),要想擴(kuò)),要想擴(kuò)展中斷源,必須多片連在一起,叫級(jí)連方式。展中斷源,必須多片連在一起,叫級(jí)連方式。 級(jí)連緩沖級(jí)連緩沖/比較器的功能有兩個(gè):比較器的功能有兩個(gè):提供級(jí)連控制提供級(jí)連控制提供緩沖控制提供緩沖控制 初始化編程是指系統(tǒng)在上電或復(fù)位后對(duì)可編程器件進(jìn)初始化編程是指系統(tǒng)在上電或復(fù)位后對(duì)可編程器件進(jìn)行控制字設(shè)定的一段程序。行控制字設(shè)定的一段程序。1.初始化命令字初始化命令字ICW1、 ICW2、 ICW3、 ICW4ICW1的主要功能:確定級(jí)聯(lián)方式的主要功能:確定級(jí)聯(lián)方式,觸發(fā)

28、方式。觸發(fā)方式。ICW2的主要功能:確定中斷向量的主要功能:確定中斷向量,中斷類型碼。中斷類型碼。ICW3的主要功能:確定主片的主要功能:確定主片/從片的級(jí)聯(lián)狀態(tài)從片的級(jí)聯(lián)狀態(tài),即確定主即確定主片的連接位和從片的編碼。片的連接位和從片的編碼。ICW4的主要功能:選擇的主要功能:選擇CPU系統(tǒng)系統(tǒng),確定中斷結(jié)束方式確定中斷結(jié)束方式,規(guī)規(guī)定是主片還是從片定是主片還是從片,選擇是否采用緩沖方式選擇是否采用緩沖方式7.6.4 8259A的編程的編程7.6.4 8259A的編程的編程寫寫ICW1寫寫ICW2寫寫ICW3寫寫ICW4初始化結(jié)束初始化結(jié)束級(jí)聯(lián)級(jí)聯(lián)要要ICW4NNYY8259A的的ICW寫入順

29、序?qū)懭腠樞?.操作命令字操作命令字OCW1、 OCW2、 OCW3OCW1的主要功能:保存中斷屏蔽字。的主要功能:保存中斷屏蔽字。OCW2的主要功能:控制的主要功能:控制8259A的中斷循環(huán)優(yōu)先級(jí)方式的中斷循環(huán)優(yōu)先級(jí)方式及發(fā)送命令中斷結(jié)束方式。及發(fā)送命令中斷結(jié)束方式。OCW3的主要功能:設(shè)定查詢方式和特殊屏蔽方式。的主要功能:設(shè)定查詢方式和特殊屏蔽方式。7.6.4 8259A的編程的編程例例7-1. 8259A單片應(yīng)用。在某單片應(yīng)用。在某8088系統(tǒng)中擴(kuò)展一片中系統(tǒng)中擴(kuò)展一片中斷控制器斷控制器8259A,其端口地址由,其端口地址由74LS138譯碼器譯碼譯碼器譯碼選擇,假設(shè)選擇,假設(shè)8CH和和

30、8DH.中斷源的中斷請(qǐng)求線連到中斷源的中斷請(qǐng)求線連到IR7輸輸入線上,邊沿觸發(fā)方式,入線上,邊沿觸發(fā)方式,IR7的中斷類型碼為的中斷類型碼為77H,其,其他條件保持他條件保持8259A的復(fù)位設(shè)置狀態(tài)。要求:寫出的復(fù)位設(shè)置狀態(tài)。要求:寫出8259A的初始化程序,中斷類型碼為的初始化程序,中斷類型碼為77H的中斷向量設(shè)置程序。的中斷向量設(shè)置程序。解:解:(1)8259A的初始化程序的初始化程序初始化程序包括寫入初始化程序包括寫入ICW1 、ICW2和和 ICW4(由于單片由于單片使用,不需寫入使用,不需寫入ICW3),并且必須按規(guī)定的順序?qū)懭?。并且必須按?guī)定的順序?qū)懭搿?)ICW1命令字:?jiǎn)纹呇赜|發(fā),需要命令字:?jiǎn)纹?,邊沿觸

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)論