第10章中斷與中斷管理_第1頁
第10章中斷與中斷管理_第2頁
第10章中斷與中斷管理_第3頁
第10章中斷與中斷管理_第4頁
第10章中斷與中斷管理_第5頁
已閱讀5頁,還剩126頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第第1010章章 中斷與中斷管理中斷與中斷管理 第第1010章章 中斷與中斷管理中斷與中斷管理第第1010章章 中斷與中斷管理中斷與中斷管理 本章重點本章重點1 1 中斷概念和中斷系統(tǒng)中斷概念和中斷系統(tǒng)2 8259A2 8259A的初始化和應(yīng)用的初始化和應(yīng)用3 3 中斷程序設(shè)計中斷程序設(shè)計第第1010章章 中斷與中斷管理中斷與中斷管理 思考如下問題,你怎么看。思考如下問題,你怎么看。1 1 如何理解中斷?如何理解中斷?2 2 中斷源是什么?中斷源是什么?3 3 中斷的分類是什么?中斷的分類是什么?4 4 中斷系統(tǒng)包括哪些部分?每個部分有什么中斷系統(tǒng)包括哪些部分?每個部分有什么 作用?作用?第第

2、1010章章 中斷與中斷管理中斷與中斷管理 本章主要內(nèi)容本章主要內(nèi)容8086的中斷系統(tǒng)的中斷系統(tǒng) 2中斷程序設(shè)計中斷程序設(shè)計 41中斷概念中斷概念 1可編程中斷控制器可編程中斷控制器8259A 3第第1010章章 中斷與中斷管理中斷與中斷管理 10.1 10.1 中斷概念中斷概念 1 1、中斷中斷v 在在CPUCPU正常執(zhí)行程序的過程中,如果發(fā)生內(nèi)正常執(zhí)行程序的過程中,如果發(fā)生內(nèi)部部/ /外部事件或是程序預(yù)先安排的事件急需外部事件或是程序預(yù)先安排的事件急需CPUCPU處理時,處理時,CPUCPU會暫時中斷正在執(zhí)行的程會暫時中斷正在執(zhí)行的程序,轉(zhuǎn)去執(zhí)行相應(yīng)的事件處理程序。待事序,轉(zhuǎn)去執(zhí)行相應(yīng)的事

3、件處理程序。待事件處理完畢后,件處理完畢后,CPUCPU再返回到被暫時中斷的再返回到被暫時中斷的程序繼續(xù)執(zhí)行。這個過程就稱為程序繼續(xù)執(zhí)行。這個過程就稱為中斷中斷。v 中斷中斷是微處理器是微處理器CPUCPU與外部設(shè)備交換信息的與外部設(shè)備交換信息的一種方式,是一種方式,是CPUCPU處理隨機事件和外部請求處理隨機事件和外部請求的主要手段。的主要手段。 10.1.1 10.1.1 中斷與中斷源中斷與中斷源第第1010章章 中斷與中斷管理中斷與中斷管理 1 1、中斷、中斷 v 最初,中斷技術(shù)引入計算機系統(tǒng),只是為了解決最初,中斷技術(shù)引入計算機系統(tǒng),只是為了解決快速的快速的CPUCPU與慢速的外部設(shè)備

4、之間傳送數(shù)據(jù)的矛與慢速的外部設(shè)備之間傳送數(shù)據(jù)的矛盾。盾。v 例如:打印輸出時,例如:打印輸出時,CPUCPU傳送數(shù)據(jù)的速度高,而傳送數(shù)據(jù)的速度高,而打印機打印的速度低。如果不采用中斷技術(shù),打印機打印的速度低。如果不采用中斷技術(shù),CPUCPU將經(jīng)常處于等待狀態(tài),效率極低。采用中斷將經(jīng)常處于等待狀態(tài),效率極低。采用中斷技術(shù)后,技術(shù)后,CPUCPU可以正常進行其它的工作,只在打可以正常進行其它的工作,只在打印機緩沖區(qū)中的當(dāng)前內(nèi)容打印完畢發(fā)出中斷請求印機緩沖區(qū)中的當(dāng)前內(nèi)容打印完畢發(fā)出中斷請求之后,才予以響應(yīng)。這時,之后,才予以響應(yīng)。這時,CPUCPU暫時停止執(zhí)行當(dāng)暫時停止執(zhí)行當(dāng)前程序而轉(zhuǎn)去執(zhí)行向緩沖區(qū)

5、傳送數(shù)據(jù)的程序,傳前程序而轉(zhuǎn)去執(zhí)行向緩沖區(qū)傳送數(shù)據(jù)的程序,傳送完成后又返回原來的程序執(zhí)行。這樣就大大地送完成后又返回原來的程序執(zhí)行。這樣就大大地提高了提高了CPUCPU的效率。的效率。第第1010章章 中斷與中斷管理中斷與中斷管理 1 1、中斷、中斷 v 隨著計算機技術(shù)的發(fā)展,中斷技術(shù)不斷被隨著計算機技術(shù)的發(fā)展,中斷技術(shù)不斷被賦予新的功能,它可以使計算機系統(tǒng)完成賦予新的功能,它可以使計算機系統(tǒng)完成如下功能:如下功能:CPUCPU與外部設(shè)備并行工作與外部設(shè)備并行工作實時信息處理實時信息處理故障檢測和自動處理故障檢測和自動處理分時處理分時處理第第1010章章 中斷與中斷管理中斷與中斷管理 2 2、

6、中斷源、中斷源 v 產(chǎn)生中斷請求的設(shè)備或事件產(chǎn)生中斷請求的設(shè)備或事件稱為稱為“中斷源中斷源”。v 根據(jù)中斷源不同,中斷可分為三類:根據(jù)中斷源不同,中斷可分為三類:由計算機硬件異常或故障引起的中斷,也稱由計算機硬件異常或故障引起的中斷,也稱為為內(nèi)部異常中斷內(nèi)部異常中斷;程序中執(zhí)行了中斷指令引起的中斷,也稱為程序中執(zhí)行了中斷指令引起的中斷,也稱為軟件中斷或軟中斷軟件中斷或軟中斷;外部設(shè)備(如輸入、輸出設(shè)備)請求引起的外部設(shè)備(如輸入、輸出設(shè)備)請求引起的中斷,也稱為中斷,也稱為硬件中斷或外部中斷硬件中斷或外部中斷。第第1010章章 中斷與中斷管理中斷與中斷管理 10.1.2 10.1.2 中斷系統(tǒng)

7、的功能中斷系統(tǒng)的功能 中斷請求中斷請求中斷判優(yōu)中斷判優(yōu)中斷響應(yīng)中斷響應(yīng)中斷返回中斷返回中斷服務(wù)中斷服務(wù)第第1010章章 中斷與中斷管理中斷與中斷管理 v 中斷過程需要由計算機的軟、硬件共同完成,中斷過程需要由計算機的軟、硬件共同完成,能完成中斷過程的所有硬件和軟件構(gòu)成能完成中斷過程的所有硬件和軟件構(gòu)成中斷系中斷系統(tǒng)統(tǒng)。v 中斷系統(tǒng)應(yīng)具備如下功能:中斷系統(tǒng)應(yīng)具備如下功能:接收中斷請求接收中斷請求中斷源識別中斷源識別中斷源判優(yōu)中斷源判優(yōu)中斷嵌套中斷嵌套 中斷處理與返回中斷處理與返回10.1.2 10.1.2 中斷系統(tǒng)的功能中斷系統(tǒng)的功能 第第1010章章 中斷與中斷管理中斷與中斷管理 v 對于不同

8、的微機系統(tǒng)和不同的中斷方式對于不同的微機系統(tǒng)和不同的中斷方式(如軟件、硬件中斷),(如軟件、硬件中斷),CPUCPU進行中斷處進行中斷處理的具體過程不完全一樣。理的具體過程不完全一樣。 v 但都要經(jīng)過:但都要經(jīng)過:中斷請求、中斷判優(yōu)、中中斷請求、中斷判優(yōu)、中斷響應(yīng)、中斷處理和中斷返回斷響應(yīng)、中斷處理和中斷返回等階段。等階段。 10.1.3 10.1.3 簡單的中斷處理過程簡單的中斷處理過程 第第1010章章 中斷與中斷管理中斷與中斷管理 (1 1)中斷請求觸發(fā)器置位中斷請求觸發(fā)器置位vCPUCPU只有在只有在當(dāng)前指令執(zhí)行結(jié)束當(dāng)前指令執(zhí)行結(jié)束后才會檢測有無中斷后才會檢測有無中斷請求發(fā)生,因此對于

9、外部中斷,中斷源要向請求發(fā)生,因此對于外部中斷,中斷源要向CPUCPU發(fā)發(fā)出中斷請求,就必須把自己的中斷請求信號保持到出中斷請求,就必須把自己的中斷請求信號保持到CPUCPU響應(yīng),才可以清除。響應(yīng),才可以清除。v故要求每一個中斷源都有一個中斷請求觸發(fā)器,用故要求每一個中斷源都有一個中斷請求觸發(fā)器,用于記錄中斷請求標(biāo)志。當(dāng)提出中斷請求時,該觸發(fā)于記錄中斷請求標(biāo)志。當(dāng)提出中斷請求時,該觸發(fā)器被置位,如下圖所示。器被置位,如下圖所示。1 1、CPUCPU響應(yīng)中斷的條件響應(yīng)中斷的條件第第1010章章 中斷與中斷管理中斷與中斷管理 (2 2)中斷屏蔽觸發(fā)器置位中斷屏蔽觸發(fā)器置位v在通常情況下,往往有多個

10、中斷源。在通常情況下,往往有多個中斷源。v在外設(shè)接口中,為每一個中斷源設(shè)置了一個中斷屏蔽在外設(shè)接口中,為每一個中斷源設(shè)置了一個中斷屏蔽觸發(fā)器,用來開放或關(guān)閉中斷源的請求。觸發(fā)器,用來開放或關(guān)閉中斷源的請求。v只有中斷屏蔽觸發(fā)器設(shè)置為只有中斷屏蔽觸發(fā)器設(shè)置為“1”1”時,外設(shè)的中斷請求時,外設(shè)的中斷請求信號才能被送到信號才能被送到CPUCPU,如下圖所示。,如下圖所示。1 1、CPUCPU響應(yīng)中斷的條件響應(yīng)中斷的條件第第1010章章 中斷與中斷管理中斷與中斷管理 (3 3)中斷是開放的中斷是開放的v外部中斷外部中斷是否響應(yīng),還取決于是否響應(yīng),還取決于CPUCPU是允許中斷還是是允許中斷還是禁止中

11、斷。禁止中斷。CPUCPU通過內(nèi)部設(shè)置的一個中斷允許觸發(fā)通過內(nèi)部設(shè)置的一個中斷允許觸發(fā)器(器(標(biāo)志寄存器標(biāo)志寄存器FRFR的的IFIF位位),來開放或關(guān)閉可屏蔽),來開放或關(guān)閉可屏蔽中斷中斷INTRINTR。執(zhí)行執(zhí)行STISTI指令后,指令后,IFIF置置“1”1”,稱為開中斷,允,稱為開中斷,允許許CPUCPU響應(yīng)響應(yīng)INTRINTR請求;請求;執(zhí)行執(zhí)行CLICLI指令后,指令后,IFIF清清“0”0”時,稱為關(guān)中斷,時,稱為關(guān)中斷,禁止禁止CPUCPU響應(yīng)響應(yīng)INTRINTR請求。請求。1 1、CPUCPU響應(yīng)中斷的條件響應(yīng)中斷的條件第第1010章章 中斷與中斷管理中斷與中斷管理 (4 4

12、)CPUCPU在執(zhí)行當(dāng)前指令的最后一個時鐘周期在執(zhí)行當(dāng)前指令的最后一個時鐘周期vCPUCPU在執(zhí)行在執(zhí)行當(dāng)前指令當(dāng)前指令的最后一個時鐘周期才去查詢的最后一個時鐘周期才去查詢INTRINTR引腳。引腳。v若查詢到該引腳信號為高電平,則表示收到有效中若查詢到該引腳信號為高電平,則表示收到有效中斷請求信號。斷請求信號。v在開中斷(即在開中斷(即IFIF1 1)的情況下,)的情況下,CPUCPU在下一個總線在下一個總線周期不進入取指周期,而是進入中斷響應(yīng)周期處理周期不進入取指周期,而是進入中斷響應(yīng)周期處理中斷。中斷。1 1、CPUCPU響應(yīng)中斷的條件響應(yīng)中斷的條件第第1010章章 中斷與中斷管理中斷與

13、中斷管理 1 1、CPUCPU響應(yīng)中斷的條件響應(yīng)中斷的條件中斷響應(yīng)、服務(wù)中斷響應(yīng)、服務(wù)及返回流程圖及返回流程圖 第第1010章章 中斷與中斷管理中斷與中斷管理 vCPUCPU進入中斷響應(yīng)周期后,自動完成如下操作:進入中斷響應(yīng)周期后,自動完成如下操作:(1 1)關(guān)閉中斷關(guān)閉中斷 vFRFR中的中斷標(biāo)志位中的中斷標(biāo)志位IFIF清零;清零;(2 2)保護斷點保護斷點v將當(dāng)前將當(dāng)前CSCS和和IPIP的內(nèi)容壓入堆棧保存,以便中斷處理的內(nèi)容壓入堆棧保存,以便中斷處理完畢后能返回被中斷的原程序繼續(xù)執(zhí)行;完畢后能返回被中斷的原程序繼續(xù)執(zhí)行;(3 3)送中斷類型號送中斷類型號v在中斷響應(yīng)周期的第二個總線周期中

14、,由中斷控制在中斷響應(yīng)周期的第二個總線周期中,由中斷控制器給出器給出中斷類型號中斷類型號,CPUCPU根據(jù)根據(jù)中斷類型號中斷類型號獲取中斷獲取中斷服務(wù)子程序的入口地址,并裝入服務(wù)子程序的入口地址,并裝入CSCS與與IPIP;v一旦裝入完畢,中斷服務(wù)程序就開始執(zhí)行。一旦裝入完畢,中斷服務(wù)程序就開始執(zhí)行。 2 2、CPUCPU對中斷的響應(yīng)對中斷的響應(yīng)第第1010章章 中斷與中斷管理中斷與中斷管理 v中斷服務(wù)程序中斷服務(wù)程序,就是為實現(xiàn)中斷源所期望達到的功能,就是為實現(xiàn)中斷源所期望達到的功能而編寫的程序。而編寫的程序。v步驟:步驟:(1 1)保護現(xiàn)場保護現(xiàn)場 為使中斷處理程序不破壞主程序中寄存器的內(nèi)

15、容,應(yīng)先將斷為使中斷處理程序不破壞主程序中寄存器的內(nèi)容,應(yīng)先將斷點處各寄存器的內(nèi)容壓入堆棧保護起來;點處各寄存器的內(nèi)容壓入堆棧保護起來;(2 2)中斷服務(wù)中斷服務(wù)不同的中斷請求,有各自不同的中斷服務(wù)內(nèi)容;不同的中斷請求,有各自不同的中斷服務(wù)內(nèi)容;需要根據(jù)中斷源所要完成的功能,事先編寫相應(yīng)的中斷服務(wù)需要根據(jù)中斷源所要完成的功能,事先編寫相應(yīng)的中斷服務(wù)程序存入內(nèi)存;程序存入內(nèi)存;(3 3)恢復(fù)現(xiàn)場恢復(fù)現(xiàn)場中斷處理完后,恢復(fù)主程序斷點處各寄存器的內(nèi)容。中斷處理完后,恢復(fù)主程序斷點處各寄存器的內(nèi)容。 3 3、CPUCPU對中斷的處理對中斷的處理第第1010章章 中斷與中斷管理中斷與中斷管理 v在中斷服

16、務(wù)子程序的最后,要開中斷(在中斷服務(wù)子程序的最后,要開中斷(CPUCPU能能響應(yīng)新的中斷請求)并安排一條響應(yīng)新的中斷請求)并安排一條中斷返回指令中斷返回指令I(lǐng)RETIRET。v執(zhí)行指令執(zhí)行指令I(lǐng)RETIRET后,之前壓入堆棧的斷點值及程后,之前壓入堆棧的斷點值及程序狀態(tài)字彈回到序狀態(tài)字彈回到CSCS、IPIP及及FLAGSFLAGS中,中,CPUCPU繼續(xù)執(zhí)繼續(xù)執(zhí)行主程序。行主程序。 4 4、中斷的返回、中斷的返回第第1010章章 中斷與中斷管理中斷與中斷管理 10.1.4 10.1.4 中斷源識別及優(yōu)先權(quán)判斷中斷源識別及優(yōu)先權(quán)判斷1 1、中斷源識別中斷源識別v原因:原因: 當(dāng)系統(tǒng)中有多個中斷

17、源時,一旦發(fā)生中斷,當(dāng)系統(tǒng)中有多個中斷源時,一旦發(fā)生中斷,CPUCPU需確定是哪一個中斷源提出了中斷請求。需確定是哪一個中斷源提出了中斷請求。 v任務(wù):任務(wù): 確定該響應(yīng)的是哪個中斷源;確定該響應(yīng)的是哪個中斷源; 找到該中斷服務(wù)程序的入口地址。找到該中斷服務(wù)程序的入口地址。 第第1010章章 中斷與中斷管理中斷與中斷管理 1 1、中斷源識別的方法、中斷源識別的方法(1 1)軟件查詢法軟件查詢法 v 任一中斷請求,都可向任一中斷請求,都可向CPUCPU發(fā)出發(fā)出INTRINTR信號;信號;v 將中斷請求信號相將中斷請求信號相“或或”后,作為后,作為INTRINTR信號。信號。第第1010章章 中斷

18、與中斷管理中斷與中斷管理 v優(yōu)點優(yōu)點 硬件電路簡單,無需優(yōu)先權(quán)的硬件排隊電硬件電路簡單,無需優(yōu)先權(quán)的硬件排隊電路,可隨時修改優(yōu)先級(改變查詢的先后路,可隨時修改優(yōu)先級(改變查詢的先后順序);順序);v缺點缺點 軟件查詢由詢問轉(zhuǎn)至相應(yīng)中斷服務(wù)程序入軟件查詢由詢問轉(zhuǎn)至相應(yīng)中斷服務(wù)程序入口時間長,尤其在中斷源較多的情況下,口時間長,尤其在中斷源較多的情況下,中斷響應(yīng)的實時性受到影響。中斷響應(yīng)的實時性受到影響。1 1、中斷源識別的方法、中斷源識別的方法第第1010章章 中斷與中斷管理中斷與中斷管理 1 1、中斷源識別、中斷源識別(2 2)中斷向量法中斷向量法v通過硬件控制電路形成一個供通過硬件控制電路

19、形成一個供CPUCPU識別中斷識別中斷源的中斷向量號,并由此中斷向量號實現(xiàn)中源的中斷向量號,并由此中斷向量號實現(xiàn)中斷響應(yīng)。斷響應(yīng)。第第1010章章 中斷與中斷管理中斷與中斷管理 (2 2)中斷向量法中斷向量法v優(yōu)點優(yōu)點 CPUCPU可直接通過中斷向量表轉(zhuǎn)向相應(yīng)的處理程可直接通過中斷向量表轉(zhuǎn)向相應(yīng)的處理程序,不需要序,不需要CPUCPU去逐個檢測和確定中斷源,因去逐個檢測和確定中斷源,因此大大加快了中斷響應(yīng)的速度。此大大加快了中斷響應(yīng)的速度。 1 1、中斷源識別的方法、中斷源識別的方法第第1010章章 中斷與中斷管理中斷與中斷管理 v 系統(tǒng)按任務(wù)的輕重緩急,為每個中斷源進行排系統(tǒng)按任務(wù)的輕重緩急

20、,為每個中斷源進行排隊,并給出順序編號,稱為隊,并給出順序編號,稱為中斷優(yōu)先級中斷優(yōu)先級。v 可事先給各中斷源安排一個中斷優(yōu)先級次序,可事先給各中斷源安排一個中斷優(yōu)先級次序,當(dāng)多個中斷源同時申請時,按優(yōu)先級從高到低當(dāng)多個中斷源同時申請時,按優(yōu)先級從高到低的次序來處理,選中當(dāng)前優(yōu)先級最高的中斷進的次序來處理,選中當(dāng)前優(yōu)先級最高的中斷進行處理,這個過程稱為行處理,這個過程稱為中斷優(yōu)先級判優(yōu)中斷優(yōu)先級判優(yōu)。v 在一般情況下,系統(tǒng)的在一般情況下,系統(tǒng)的內(nèi)部中斷優(yōu)先于外部中內(nèi)部中斷優(yōu)先于外部中斷,不可屏蔽中斷優(yōu)先于可屏蔽中斷斷,不可屏蔽中斷優(yōu)先于可屏蔽中斷。v 中斷源的優(yōu)先級判優(yōu)可以通過中斷源的優(yōu)先級判

21、優(yōu)可以通過軟件查詢軟件查詢方式和方式和硬件排隊電路硬件排隊電路兩種方法實現(xiàn)。兩種方法實現(xiàn)。2 2、 中斷優(yōu)先級中斷優(yōu)先級第第1010章章 中斷與中斷管理中斷與中斷管理 (1 1) 軟件查詢方式軟件查詢方式v基本原理基本原理 當(dāng)當(dāng)CPUCPU接收到中斷請求信接收到中斷請求信號后,執(zhí)行優(yōu)先級判優(yōu)的號后,執(zhí)行優(yōu)先級判優(yōu)的查詢程序,逐個檢測外設(shè)查詢程序,逐個檢測外設(shè)中斷請求標(biāo)志位的狀態(tài);中斷請求標(biāo)志位的狀態(tài); 檢測的順序:優(yōu)先級的高檢測的順序:優(yōu)先級的高低;低; 最先檢測到的中斷源具有最先檢測到的中斷源具有最高的優(yōu)先級;最高的優(yōu)先級; 最后檢測到的中斷源具有最后檢測到的中斷源具有最低的優(yōu)先級。最低的優(yōu)

22、先級。第第1010章章 中斷與中斷管理中斷與中斷管理 v 優(yōu)點優(yōu)點硬件電路簡單,無需優(yōu)先權(quán)硬件排隊硬件電路簡單,無需優(yōu)先權(quán)硬件排隊電路,可以通過修改程序的方法隨時電路,可以通過修改程序的方法隨時修改優(yōu)先級;修改優(yōu)先級;v 缺點缺點軟件查詢影響中斷響應(yīng)的實時性。軟件查詢影響中斷響應(yīng)的實時性。 (1 1) 軟件查詢方式軟件查詢方式第第1010章章 中斷與中斷管理中斷與中斷管理 v 硬件優(yōu)先權(quán)排隊電路是專門的硬件電路;硬件優(yōu)先權(quán)排隊電路是專門的硬件電路;v 優(yōu)點優(yōu)點節(jié)省節(jié)省CPUCPU的時間,而且中斷響應(yīng)較快;的時間,而且中斷響應(yīng)較快;v 缺點缺點成本比較高。成本比較高。v 菊花鏈菊花鏈(或稱鏈?zhǔn)剑?/p>

23、優(yōu)先權(quán)排隊電路(或稱鏈?zhǔn)剑﹥?yōu)先權(quán)排隊電路在每個中斷源的電路中設(shè)置一個菊花鏈邏輯電路在每個中斷源的電路中設(shè)置一個菊花鏈邏輯電路當(dāng)某設(shè)備有中斷請求時,會向當(dāng)某設(shè)備有中斷請求時,會向CPUCPU發(fā)送中斷請求發(fā)送中斷請求信號信號若若CPUCPU允許中斷,則允許中斷,則CPUCPU發(fā)出中斷響應(yīng)信號信號在發(fā)出中斷響應(yīng)信號信號在菊花鏈中傳遞菊花鏈中傳遞如果某設(shè)備沒有中斷請求,則信號通過菊花鏈邏如果某設(shè)備沒有中斷請求,則信號通過菊花鏈邏輯電路繼續(xù)往下一級傳遞。輯電路繼續(xù)往下一級傳遞。 (2 2) 硬件優(yōu)先權(quán)排隊電路硬件優(yōu)先權(quán)排隊電路第第1010章章 中斷與中斷管理中斷與中斷管理 菊花鏈邏輯電路菊花鏈邏輯電路第

24、第1010章章 中斷與中斷管理中斷與中斷管理 菊花鏈優(yōu)先權(quán)排隊電路菊花鏈優(yōu)先權(quán)排隊電路010111假設(shè)設(shè)備假設(shè)設(shè)備2和設(shè)備和設(shè)備3均有中斷請求均有中斷請求第第1010章章 中斷與中斷管理中斷與中斷管理 vIntel 80X86Intel 80X86系列微機有一個靈活的中斷系統(tǒng),可系列微機有一個靈活的中斷系統(tǒng),可以處理以處理256256種中斷源,每個中斷源都有對應(yīng)的中斷種中斷源,每個中斷源都有對應(yīng)的中斷類型號(類型號(0 0255D255D)供)供CPUCPU識別。識別。10.2 808610.2 8086的中斷系統(tǒng)的中斷系統(tǒng)第第1010章章 中斷與中斷管理中斷與中斷管理 1 1、外部中斷外部中

25、斷v 外部中斷是指由外部設(shè)備通過硬件請求外部中斷是指由外部設(shè)備通過硬件請求的方式產(chǎn)生的中斷;的方式產(chǎn)生的中斷;v 外部中斷也稱為外部中斷也稱為硬件中斷硬件中斷。v 外部中斷可分為:外部中斷可分為:非屏蔽中斷非屏蔽中斷可屏蔽中斷可屏蔽中斷10.2.1 808610.2.1 8086的中斷類型的中斷類型第第1010章章 中斷與中斷管理中斷與中斷管理 (1 1)非屏蔽中斷)非屏蔽中斷NMINMIv當(dāng)外設(shè)向當(dāng)外設(shè)向CPUCPU提出中斷請求時,提出中斷請求時,CPUCPU在當(dāng)前指令執(zhí)行在當(dāng)前指令執(zhí)行結(jié)束后,就立即無條件的予以響應(yīng),這樣的中斷就結(jié)束后,就立即無條件的予以響應(yīng),這樣的中斷就是是非屏蔽中斷非屏

26、蔽中斷。v由由CPUCPU的的NMINMI引腳引入,引腳引入,NMINMI上升沿時觸發(fā),維持上升沿時觸發(fā),維持2 2個個T T高電平。高電平。v不受中斷允許標(biāo)志不受中斷允許標(biāo)志IFIF的影響;的影響;v中斷類型號固定為中斷類型號固定為2 2;v在外部中斷源中優(yōu)先級最高;在外部中斷源中優(yōu)先級最高;v主要用于處理系統(tǒng)的意外或故障,如:電源掉電、主要用于處理系統(tǒng)的意外或故障,如:電源掉電、存儲器讀存儲器讀/ /寫錯誤等。寫錯誤等。 第第1010章章 中斷與中斷管理中斷與中斷管理 (2 2)可屏蔽中斷)可屏蔽中斷INTRINTRv 受受CPUCPU中斷允許標(biāo)志位中斷允許標(biāo)志位IFIF的控制:的控制:I

27、FIF=1=1時,時,CPUCPU響應(yīng)中斷請求;響應(yīng)中斷請求;IFIF=0=0時,時,CPUCPU屏蔽中斷請求,不予響應(yīng);屏蔽中斷請求,不予響應(yīng);v 由由CPUCPU的的INTRINTR引腳引入,高電平有效。引腳引入,高電平有效。v 中斷類型號由中斷請求的設(shè)備提供。中斷類型號由中斷請求的設(shè)備提供。第第1010章章 中斷與中斷管理中斷與中斷管理 2 2、內(nèi)部中斷、內(nèi)部中斷v 內(nèi)部中斷內(nèi)部中斷是由是由CPUCPU運行程序異?;驁?zhí)行內(nèi)部運行程序異?;驁?zhí)行內(nèi)部程序調(diào)用引起的一種中斷;程序調(diào)用引起的一種中斷;v 內(nèi)部中斷內(nèi)部中斷也稱為也稱為軟件中斷。軟件中斷。v 不受不受IFIF影響。影響。v 中斷類型

28、號由指令提供。中斷類型號由指令提供。第第1010章章 中斷與中斷管理中斷與中斷管理 2 2、內(nèi)部中斷、內(nèi)部中斷 內(nèi)部中斷有:內(nèi)部中斷有:v除法錯中斷除法錯中斷 執(zhí)行除法指令時,若除數(shù)為執(zhí)行除法指令時,若除數(shù)為0 0或商超過寄存器所能或商超過寄存器所能表達的范圍,則表達的范圍,則CPUCPU立即產(chǎn)生一個立即產(chǎn)生一個0 0型中斷。型中斷。 v溢出中斷溢出中斷 如果上一條指令使溢出標(biāo)志位如果上一條指令使溢出標(biāo)志位OFOF為為1 1,則執(zhí)行,則執(zhí)行INTOINTO指令產(chǎn)生指令產(chǎn)生4 4型中斷。型中斷。 vINT nINT n指令中斷指令中斷 80868086的指令系統(tǒng)中有一條的指令系統(tǒng)中有一條INT

29、nINT n指令,執(zhí)行這條指指令,執(zhí)行這條指令就會立即產(chǎn)生中斷。令就會立即產(chǎn)生中斷。第第1010章章 中斷與中斷管理中斷與中斷管理 2 2、內(nèi)部中斷、內(nèi)部中斷 v單步中斷單步中斷 當(dāng)單步標(biāo)志(陷阱標(biāo)志)當(dāng)單步標(biāo)志(陷阱標(biāo)志)TFTF置置“1”1”時,時,80 x8680 x86處處于單步工作方式。在單步工作時,每執(zhí)行完一條于單步工作方式。在單步工作時,每執(zhí)行完一條指令,指令,CPUCPU自動產(chǎn)生中斷類型號為自動產(chǎn)生中斷類型號為1 1的中斷。的中斷。v斷點中斷斷點中斷 斷點中斷是斷點中斷是80 x8680 x86提供的一種調(diào)試程序的手段。用提供的一種調(diào)試程序的手段。用于設(shè)置程序中的斷點,中斷類型

30、號為于設(shè)置程序中的斷點,中斷類型號為3 3。第第1010章章 中斷與中斷管理中斷與中斷管理 中斷優(yōu)先級中斷優(yōu)先級由高到低分別為:由高到低分別為:v 除法錯、除法錯、INT nINT n指令、溢出、斷點中斷指令、溢出、斷點中斷v 非屏蔽中斷非屏蔽中斷NMINMIv 可屏蔽中斷可屏蔽中斷INTRINTRv 單步中斷單步中斷第第1010章章 中斷與中斷管理中斷與中斷管理 1 1、中斷向量表的概念、中斷向量表的概念(1 1)中斷類型號)中斷類型號在在80868086系統(tǒng)中,共設(shè)有系統(tǒng)中,共設(shè)有256256類中斷,每類中斷,每類中斷分配到一個類中斷分配到一個8 8位的編號,這個編位的編號,這個編號就叫做

31、中斷類型號。號就叫做中斷類型號。中斷類型號的范圍:中斷類型號的范圍: 0000FFHFFH(0 0255D255D)10.2.2 10.2.2 中斷向量和中斷向量表中斷向量和中斷向量表第第1010章章 中斷與中斷管理中斷與中斷管理 v 需要響應(yīng)的每一類中斷都編寫有相應(yīng)的中需要響應(yīng)的每一類中斷都編寫有相應(yīng)的中斷服務(wù)程序,并預(yù)先裝入內(nèi)存,斷服務(wù)程序,并預(yù)先裝入內(nèi)存,中斷服務(wù)中斷服務(wù)程序在內(nèi)存中的入口地址程序在內(nèi)存中的入口地址叫中斷向量。叫中斷向量。v 每個中斷類型對應(yīng)一個中斷向量。每個中斷類型對應(yīng)一個中斷向量。v 中斷向量的字長是中斷向量的字長是4 4個字節(jié)個字節(jié)2 2個字節(jié)的段地址個字節(jié)的段地址

32、2 2個字節(jié)的偏移地址個字節(jié)的偏移地址(2 2)中斷向量)中斷向量第第1010章章 中斷與中斷管理中斷與中斷管理 v 把系統(tǒng)中所有的中斷向量集中起來放到存儲器把系統(tǒng)中所有的中斷向量集中起來放到存儲器的某一區(qū)域內(nèi),的某一區(qū)域內(nèi),這個存放中斷向量的存儲區(qū)這個存放中斷向量的存儲區(qū)就就叫中斷向量表或中斷服務(wù)程序入口地址表。叫中斷向量表或中斷服務(wù)程序入口地址表。v 80868086系統(tǒng)把中斷向量表安排在內(nèi)存地址系統(tǒng)把中斷向量表安排在內(nèi)存地址00000H00000H003FFH003FFH區(qū)域(區(qū)域(1K1K)。)。v 每四個連續(xù)字節(jié)每四個連續(xù)字節(jié)存放一個中斷向量,存放一個中斷向量,高地址高地址2 2個字

33、節(jié)單元放段地址(個字節(jié)單元放段地址(CSCS)低地址低地址2 2個字節(jié)單元中放偏移地址個字節(jié)單元中放偏移地址(IP)(IP)。(3 3)中斷向量表)中斷向量表第第1010章章 中斷與中斷管理中斷與中斷管理 v 為了便于在中斷向量表中找到中斷向量,通為了便于在中斷向量表中找到中斷向量,通常設(shè)置一種指針,來指出中斷向量存放在中常設(shè)置一種指針,來指出中斷向量存放在中斷向量表的具體位置;斷向量表的具體位置;v 存放中斷向量的存放中斷向量的4 4個存儲單元的個存儲單元的最低地址最低地址稱稱為向量表地址指針。為向量表地址指針。v 計算方法:計算方法: 中斷類型號中斷類型號4 4(4 4)中斷向量表地址指針

34、)中斷向量表地址指針第第1010章章 中斷與中斷管理中斷與中斷管理 v 如果已知一個中斷類型號,則通過兩次地址轉(zhuǎn)如果已知一個中斷類型號,則通過兩次地址轉(zhuǎn)換(換(中斷類型號到中斷向量表地址;中斷向量中斷類型號到中斷向量表地址;中斷向量表地址到中斷處理程序入口地址表地址到中斷處理程序入口地址)后,可到達)后,可到達中斷服務(wù)程序。中斷服務(wù)程序。 (4 4)中斷向量表地址指針)中斷向量表地址指針第第1010章章 中斷與中斷管理中斷與中斷管理 (5 5)80868086中斷向量表中斷向量表第第1010章章 中斷與中斷管理中斷與中斷管理 v中斷向量并非常駐內(nèi)存,而是開機上電時,由程序中斷向量并非常駐內(nèi)存,

35、而是開機上電時,由程序裝入指定的存儲區(qū)內(nèi)。裝入指定的存儲區(qū)內(nèi)。vBIOSBIOS程序只負(fù)責(zé)中斷類型號程序只負(fù)責(zé)中斷類型號00H00H1FH1FH共共3232種中斷的種中斷的中斷向量的裝入。中斷向量的裝入。v用戶在應(yīng)用系統(tǒng)中使用中斷時,用戶在應(yīng)用系統(tǒng)中使用中斷時,需要在初始化程序需要在初始化程序中將中斷服務(wù)子程序的入口地址裝入中斷向量表指中將中斷服務(wù)子程序的入口地址裝入中斷向量表指定的存儲單元中定的存儲單元中,以便在,以便在CPUCPU響應(yīng)中斷請求后,由響應(yīng)中斷請求后,由中斷向量自動引導(dǎo)到中斷服務(wù)子程序。中斷向量自動引導(dǎo)到中斷服務(wù)子程序。2 2、中斷類型的設(shè)置、中斷類型的設(shè)置第第1010章章 中

36、斷與中斷管理中斷與中斷管理 v將將中斷向量中斷向量通過通過數(shù)據(jù)傳送指令數(shù)據(jù)傳送指令直接送入直接送入中斷向量表中斷向量表指定的單元中。指定的單元中。v例如,設(shè)某中斷源的中斷類型號例如,設(shè)某中斷源的中斷類型號n n為為40H40H,中斷服務(wù),中斷服務(wù)子程序為子程序為INT_PINT_P,則設(shè)置中斷向量的程序段如下:,則設(shè)置中斷向量的程序段如下: CLICLI ;IFIF0, 0, 關(guān)中斷關(guān)中斷 MOVMOVAXAX,0 0 ;ESES指向指向0 0段段 MOVMOVES, AXES, AX MOV MOVBX, BX, 40H40H4 4 ;向量表地址送;向量表地址送BXBX MOV MOVAX,

37、OFFSET INT_PAX,OFFSET INT_P ;中斷服務(wù)子程序的;中斷服務(wù)子程序的偏移地址偏移地址送送AXAX MOV MOVES:WORD PTRBX,AXES:WORD PTRBX,AX ;中斷服務(wù)子程序的;中斷服務(wù)子程序的偏移地址偏移地址寫入向量寫入向量表表(1 1)用傳送指令直接裝入)用傳送指令直接裝入第第1010章章 中斷與中斷管理中斷與中斷管理 MOVMOV AX, SEG INT_P AX, SEG INT_P ;中斷服務(wù)子程序的;中斷服務(wù)子程序的段基址段基址送送AXAXMOVMOV ES:WORD PTRBX+2, AX ES:WORD PTRBX+2, AX ;中斷

38、服務(wù)子程序的;中斷服務(wù)子程序的段基址段基址寫入寫入向量表向量表STISTI ;IF=1IF=1,開中斷,開中斷INT_PINT_P PROCPROC;中斷服務(wù)子程序;中斷服務(wù)子程序IRETIRET;中斷返回;中斷返回INT_PINT_P ENDPENDP(1 1)用傳送指令直接裝入)用傳送指令直接裝入第第1010章章 中斷與中斷管理中斷與中斷管理 (1) 25H(1) 25H號號DOSDOS功能調(diào)用功能調(diào)用v 入口參數(shù)是:入口參數(shù)是: AH= 25HAH= 25H。AL =AL =中斷類型號。中斷類型號。 DS =DS =中斷服務(wù)子程序入口地址的段地址。中斷服務(wù)子程序入口地址的段地址。DX =

39、DX =中斷服務(wù)子程序入口地址的偏移地址。中斷服務(wù)子程序入口地址的偏移地址。(2 2)用)用DOSDOS系統(tǒng)功能調(diào)用裝入法系統(tǒng)功能調(diào)用裝入法第第1010章章 中斷與中斷管理中斷與中斷管理 CLI CLI;IF=0IF=0,關(guān)中斷,關(guān)中斷 MOV AL,MOV AL, 40H 40H;中斷類型號;中斷類型號40H40H送送ALAL MOV MOV DX, SEG INT_P DX, SEG INT_P;中斷服務(wù)子程序的;中斷服務(wù)子程序的段基址送段基址送DSDS MOV MOV DS, DX DS, DX MOV MOV DX, OFFSET DX, OFFSET INT_PINT_P ;中斷服務(wù)

40、子程序的;中斷服務(wù)子程序的偏移地址送偏移地址送DXDX MOV MOV AH, AH,25H25H;25H25H功能調(diào)用功能調(diào)用 INTINT 21H 21H STI STI;IF=1IF=1,開中斷,開中斷前面的例題用前面的例題用DOSDOS調(diào)用,程序段:調(diào)用,程序段:第第1010章章 中斷與中斷管理中斷與中斷管理 (1)(1)35H35H號號DOSDOS功能調(diào)用功能調(diào)用v 在實際應(yīng)用中,為了不破壞向量表中的原始設(shè)在實際應(yīng)用中,為了不破壞向量表中的原始設(shè)置,通常在裝入新的中斷向量之前,先將原有置,通常在裝入新的中斷向量之前,先將原有的中斷向量取出保存,待中斷處理完畢,再將的中斷向量取出保存,

41、待中斷處理完畢,再將原中斷向量恢復(fù)。原中斷向量恢復(fù)。v 入口參數(shù)是:入口參數(shù)是: AH= 35HAH= 35H。AL =AL =中斷類型號。中斷類型號。v 出口參數(shù)是:出口參數(shù)是:ES =ES =中斷服務(wù)子程序入口地址的段地址。中斷服務(wù)子程序入口地址的段地址。BX =BX =中斷服務(wù)子程序入口地址的偏移地址。中斷服務(wù)子程序入口地址的偏移地址。(2 2)用)用DOSDOS系統(tǒng)功能調(diào)用裝入法系統(tǒng)功能調(diào)用裝入法第第1010章章 中斷與中斷管理中斷與中斷管理 v例如,若從中斷類型號為例如,若從中斷類型號為40H40H對應(yīng)的向量表中取出中斷對應(yīng)的向量表中取出中斷向量,程序段如下向量,程序段如下: : M

42、OV MOVAH, AH, 35H35H MOV MOVAL, AL, 40H40H INT INT21H21Hv該程序段執(zhí)行之后,從中斷向量表中獲取的中斷向量該程序段執(zhí)行之后,從中斷向量表中獲取的中斷向量存放在存放在ESES和和BXBX中,中,ESES中存放段基址,中存放段基址,BXBX中存放偏移地中存放偏移地址。址。 (2 2)用)用DOSDOS系統(tǒng)功能調(diào)用裝入法系統(tǒng)功能調(diào)用裝入法第第1010章章 中斷與中斷管理中斷與中斷管理 v在在80868086系統(tǒng)中各種中斷的響應(yīng)和處理過程是不完全相系統(tǒng)中各種中斷的響應(yīng)和處理過程是不完全相同的,主要區(qū)別還在于同的,主要區(qū)別還在于如何獲取相應(yīng)的中斷類型

43、號如何獲取相應(yīng)的中斷類型號。1 1、順序查詢、順序查詢(1 1)中斷源識別)中斷源識別vCPUCPU在當(dāng)前指令執(zhí)行完后,按內(nèi)部中斷(除法出錯、在當(dāng)前指令執(zhí)行完后,按內(nèi)部中斷(除法出錯、INT nINT n、斷點中斷、溢出中斷)、斷點中斷、溢出中斷)、NMINMI、INTRINTR、單步中、單步中斷的順序來逐個查詢是否有中斷請求,對于斷的順序來逐個查詢是否有中斷請求,對于INTRINTR還要還要判斷判斷CPUCPU是否允許中斷(是否允許中斷(IF=1IF=1)。)。(2 2)80868086的中斷優(yōu)先級的中斷優(yōu)先級vCPUCPU檢測的順序是按優(yōu)先級的高低來進行的,最先檢測檢測的順序是按優(yōu)先級的高

44、低來進行的,最先檢測到的中斷源具有最高的優(yōu)先級,最后檢測到的中斷源到的中斷源具有最高的優(yōu)先級,最后檢測到的中斷源具有最低的優(yōu)先級。具有最低的優(yōu)先級。10.2.3 808610.2.3 8086中的中斷響應(yīng)和處理過程中的中斷響應(yīng)和處理過程第第1010章章 中斷與中斷管理中斷與中斷管理 v當(dāng)當(dāng)內(nèi)部中斷內(nèi)部中斷發(fā)生時,是按預(yù)定方式得到中斷類型號(發(fā)生時,是按預(yù)定方式得到中斷類型號(專用中斷:專用中斷:0 0、1 1、3 3、4 4)v在用在用軟件中斷指令軟件中斷指令I(lǐng)NT nINT n時,中斷指令本身就為時,中斷指令本身就為CPUCPU提提供了中斷類型號供了中斷類型號n n。v非屏蔽中斷非屏蔽中斷類

45、型號固定是類型號固定是2 2。v可屏蔽的中斷可屏蔽的中斷由請求中斷的設(shè)備提供中斷類型號。由請求中斷的設(shè)備提供中斷類型號。2 2、形成中斷類型號、形成中斷類型號第第1010章章 中斷與中斷管理中斷與中斷管理 可屏蔽中斷響應(yīng)周期可屏蔽中斷響應(yīng)周期第第1010章章 中斷與中斷管理中斷與中斷管理 可屏蔽中斷響應(yīng)示意圖可屏蔽中斷響應(yīng)示意圖第第1010章章 中斷與中斷管理中斷與中斷管理 v斷點保護斷點保護。將標(biāo)志寄存器(。將標(biāo)志寄存器(PSWPSW)、當(dāng)前段寄存器()、當(dāng)前段寄存器(CSCS)及指令指針()及指令指針(IPIP)內(nèi)容壓入堆棧。)內(nèi)容壓入堆棧。 v關(guān)閉中斷,并清除關(guān)閉中斷,并清除IFIF及及

46、TFTF位(位(IF0IF0,TF0TF0),),以便以便禁止響應(yīng)可屏蔽中斷或單步中斷。禁止響應(yīng)可屏蔽中斷或單步中斷。v將取得的將取得的中斷類型號乘中斷類型號乘4 4,到中斷向量表中取中斷向量,到中斷向量表中取中斷向量(中斷處理程序的入口地址),其中高(中斷處理程序的入口地址),其中高2 2字節(jié)段地址送字節(jié)段地址送到到CSCS中,低中,低2 2字節(jié)偏移地址送入字節(jié)偏移地址送入IPIP中。一旦中斷處理程中。一旦中斷處理程序的入口地址置入序的入口地址置入IPIP及及CSCS中,程序就被轉(zhuǎn)入并開始執(zhí)中,程序就被轉(zhuǎn)入并開始執(zhí)行中斷處理程序。行中斷處理程序。v中斷服務(wù)程序一般包括:保護現(xiàn)場、中斷服務(wù)、恢

47、復(fù)中斷服務(wù)程序一般包括:保護現(xiàn)場、中斷服務(wù)、恢復(fù)現(xiàn)場等部分。同時,為了能夠處理多重中斷,還可在現(xiàn)場等部分。同時,為了能夠處理多重中斷,還可在中斷處理程序的適當(dāng)?shù)胤郊尤腴_中斷指令(中斷處理程序的適當(dāng)?shù)胤郊尤腴_中斷指令(STISTI)。)。3 3、中斷處理、中斷處理第第1010章章 中斷與中斷管理中斷與中斷管理 v中斷服務(wù)程序執(zhí)行完畢,最后執(zhí)行一條中斷返回指中斷服務(wù)程序執(zhí)行完畢,最后執(zhí)行一條中斷返回指令令I(lǐng)RETIRET,將壓入堆棧的原標(biāo)志寄存器內(nèi)容及斷點地,將壓入堆棧的原標(biāo)志寄存器內(nèi)容及斷點地址彈出,繼續(xù)執(zhí)行原程序。址彈出,繼續(xù)執(zhí)行原程序。 4 4、中斷返回、中斷返回第第1010章章 中斷與中斷

48、管理中斷與中斷管理 v Intel 8259AIntel 8259A是一種可編程序中斷控制器是一種可編程序中斷控制器PICPIC,又稱又稱“優(yōu)先權(quán)中斷控制器優(yōu)先權(quán)中斷控制器”,具有強大的中斷,具有強大的中斷管理功能。管理功能。v 8259A8259A的主要功能有:的主要功能有:可管理具有可管理具有8 8級優(yōu)先權(quán)的中斷源,通過級聯(lián)可擴充級優(yōu)先權(quán)的中斷源,通過級聯(lián)可擴充至管理至管理6464級優(yōu)先權(quán)的中斷源。級優(yōu)先權(quán)的中斷源。通過編程對每一級中斷源都可實現(xiàn)屏蔽或允許。通過編程對每一級中斷源都可實現(xiàn)屏蔽或允許。能向能向CPUCPU提供相應(yīng)的中斷向量,從而能迅速地轉(zhuǎn)至提供相應(yīng)的中斷向量,從而能迅速地轉(zhuǎn)至

49、中斷服務(wù)程序。中斷服務(wù)程序。8259A8259A有多種工作方式,可通過編程來進行選擇。有多種工作方式,可通過編程來進行選擇。10.3 10.3 可編程中斷控制器可編程中斷控制器8259A8259A第第1010章章 中斷與中斷管理中斷與中斷管理 10.3.1 8259A10.3.1 8259A的結(jié)構(gòu)的結(jié)構(gòu)8位位接受并鎖存來自接受并鎖存來自IR0IR7的中斷請求信號的中斷請求信號第第i位位=1:IRi有請求有請求第第i位位=0:IRi沒有請求沒有請求當(dāng)中斷請求響應(yīng)后,當(dāng)中斷請求響應(yīng)后,IRR相應(yīng)位復(fù)位相應(yīng)位復(fù)位 第第1010章章 中斷與中斷管理中斷與中斷管理 10.3.1 8259A10.3.1

50、8259A的結(jié)構(gòu)的結(jié)構(gòu)8位位存放存放CPU送來的送來的屏蔽信號屏蔽信號第第i位位=1:屏蔽:屏蔽IRi的中斷請求的中斷請求第第i位位=0:開放:開放IRi的中斷請求的中斷請求第第1010章章 中斷與中斷管理中斷與中斷管理 10.3.1 8259A10.3.1 8259A的結(jié)構(gòu)的結(jié)構(gòu)8位位記錄正在處理中記錄正在處理中的所有中斷請求的所有中斷請求第第i位位=1:IRi正在正在處理處理在多重中斷時,在多重中斷時,ISR中可能有多位中可能有多位同時被置同時被置“1”第第1010章章 中斷與中斷管理中斷與中斷管理 10.3.1 8259A10.3.1 8259A的結(jié)構(gòu)的結(jié)構(gòu)8位位管理和識別管理和識別IR

51、R中各個中斷中各個中斷源的優(yōu)先級別源的優(yōu)先級別 第第1010章章 中斷與中斷管理中斷與中斷管理 10.3.1 8259A10.3.1 8259A的結(jié)構(gòu)的結(jié)構(gòu)接受和發(fā)出控接受和發(fā)出控制信號制信號INT和和INTA第第1010章章 中斷與中斷管理中斷與中斷管理 10.3.1 8259A10.3.1 8259A的結(jié)構(gòu)的結(jié)構(gòu)8位,雙向,三態(tài)位,雙向,三態(tài)8259A和系統(tǒng)數(shù)據(jù)總和系統(tǒng)數(shù)據(jù)總線的接口,線的接口,傳輸信號:傳輸信號: CPU對對8259A的的控制字控制字8259A送給送給CPU的狀態(tài)信息的狀態(tài)信息8259A送給送給CPU的中斷向量的中斷向量 第第1010章章 中斷與中斷管理中斷與中斷管理 1

52、0.3.1 8259A10.3.1 8259A的結(jié)構(gòu)的結(jié)構(gòu)接收接收CPU送來的讀送來的讀/寫寫信號和地址信息信號和地址信息片內(nèi)地址的選擇片內(nèi)地址的選擇 第第1010章章 中斷與中斷管理中斷與中斷管理 10.3.1 8259A10.3.1 8259A的結(jié)構(gòu)的結(jié)構(gòu)用于控制多片級聯(lián)用于控制多片級聯(lián) 第第1010章章 中斷與中斷管理中斷與中斷管理 10.3.1 8259A10.3.1 8259A的結(jié)構(gòu)的結(jié)構(gòu)編程角度編程角度看,看,8259A有有7個個8位的寄存器:位的寄存器: 4個個初始化命令字初始化命令字寄寄存器(存器(ICW1 ICW4 )系統(tǒng)初啟時設(shè)定系統(tǒng)初啟時設(shè)定3個個操作命令字操作命令字寄存

53、寄存器(器(OCW1 OCW3 )系統(tǒng)運行時,由系統(tǒng)運行時,由應(yīng)用程序設(shè)定應(yīng)用程序設(shè)定第第1010章章 中斷與中斷管理中斷與中斷管理 10.3.2 8259A10.3.2 8259A的引腳的引腳D7231498765111014131228GND19272021222324252618151617A0D1D6CAS1D0D4D5VCCINTIR28259ACSRDWRD3D2CAS0INTAIR3IR1IR0IR6IR7IR5IR4CAS2SP/EN圖10-16 8259A引腳D0D7數(shù)據(jù)線數(shù)據(jù)線三態(tài)、雙向三態(tài)、雙向與與DB的的D0D7相連相連傳遞控制信號、狀傳遞控制信號、狀態(tài)信號、中斷向量態(tài)

54、信號、中斷向量第第1010章章 中斷與中斷管理中斷與中斷管理 10.3.2 8259A10.3.2 8259A的引腳的引腳D7231498765111014131228GND19272021222324252618151617A0D1D6CAS1D0D4D5VCCINTIR28259ACSRDWRD3D2CAS0INTAIR3IR1IR0IR6IR7IR5IR4CAS2SP/EN圖10-16 8259A引腳IR0IR7中斷請求輸入信號中斷請求輸入信號外設(shè)或者從片送入外設(shè)或者從片送入觸發(fā)方式:觸發(fā)方式:邊沿觸發(fā)邊沿觸發(fā)電平觸發(fā)電平觸發(fā)第第1010章章 中斷與中斷管理中斷與中斷管理 10.3.2

55、8259A10.3.2 8259A的引腳的引腳D7231498765111014131228GND19272021222324252618151617A0D1D6CAS1D0D4D5VCCINTIR28259ACSRDWRD3D2CAS0INTAIR3IR1IR0IR6IR7IR5IR4CAS2SP/EN圖10-16 8259A引腳RD讀信號讀信號輸入輸入由由CPU送入送入低電平有效低電平有效有效時有效時CPU讀讀取取8259A狀態(tài)狀態(tài)第第1010章章 中斷與中斷管理中斷與中斷管理 10.3.2 8259A10.3.2 8259A的引腳的引腳D7231498765111014131228GND

56、19272021222324252618151617A0D1D6CAS1D0D4D5VCCINTIR28259ACSRDWRD3D2CAS0INTAIR3IR1IR0IR6IR7IR5IR4CAS2SP/EN圖10-16 8259A引腳WR寫信號寫信號輸入輸入由由CPU送入送入低電平有效低電平有效有效時有效時CPU向向8259A寫入控制字寫入控制字第第1010章章 中斷與中斷管理中斷與中斷管理 10.3.2 8259A10.3.2 8259A的引腳的引腳D7231498765111014131228GND19272021222324252618151617A0D1D6CAS1D0D4D5VCC

57、INTIR28259ACSRDWRD3D2CAS0INTAIR3IR1IR0IR6IR7IR5IR4CAS2SP/EN圖10-16 8259A引腳INT中斷請求信號中斷請求信號輸出輸出單片時單片時由由8259A輸出輸出給給CPU級聯(lián)時級聯(lián)時,主片,主片INT連連接接CPU的的INTR,從片,從片INT連接主片的連接主片的IRi第第1010章章 中斷與中斷管理中斷與中斷管理 10.3.2 8259A10.3.2 8259A的引腳的引腳D7231498765111014131228GND19272021222324252618151617A0D1D6CAS1D0D4D5VCCINTIR28259A

58、CSRDWRD3D2CAS0INTAIR3IR1IR0IR6IR7IR5IR4CAS2SP/EN圖10-16 8259A引腳INTA中斷響應(yīng)信號中斷響應(yīng)信號輸入輸入CPU的中斷應(yīng)答信的中斷應(yīng)答信號輸出給號輸出給8259A第第1010章章 中斷與中斷管理中斷與中斷管理 10.3.2 8259A10.3.2 8259A的引腳的引腳D7231498765111014131228GND19272021222324252618151617A0D1D6CAS1D0D4D5VCCINTIR28259ACSRDWRD3D2CAS0INTAIR3IR1IR0IR6IR7IR5IR4CAS2SP/EN圖10-16

59、 8259A引腳CS片選信號片選信號輸入輸入低電平有效低電平有效有效時有效時CPU才能訪才能訪問問8259A第第1010章章 中斷與中斷管理中斷與中斷管理 10.3.2 8259A10.3.2 8259A的引腳的引腳D7231498765111014131228GND19272021222324252618151617A0D1D6CAS1D0D4D5VCCINTIR28259ACSRDWRD3D2CAS0INTAIR3IR1IR0IR6IR7IR5IR4CAS2SP/EN圖10-16 8259A引腳A0端口地址選擇信號端口地址選擇信號輸入輸入每片每片8259A有有2個端個端口地址:口地址:A0

60、=1A0=0第第1010章章 中斷與中斷管理中斷與中斷管理 10.3.2 8259A10.3.2 8259A的引腳的引腳D7231498765111014131228GND19272021222324252618151617A0D1D6CAS1D0D4D5VCCINTIR28259ACSRDWRD3D2CAS0INTAIR3IR1IR0IR6IR7IR5IR4CAS2SP/EN圖10-16 8259A引腳CAS2CAS0級聯(lián)信號級聯(lián)信號主、從片的連接線主、從片的連接線主片:輸出主片:輸出從片:輸入從片:輸入第第1010章章 中斷與中斷管理中斷與中斷管理 10.3.2 8259A10.3.2 8

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論