第8章中斷系統(tǒng)和中斷控制器8259A_第1頁
第8章中斷系統(tǒng)和中斷控制器8259A_第2頁
第8章中斷系統(tǒng)和中斷控制器8259A_第3頁
第8章中斷系統(tǒng)和中斷控制器8259A_第4頁
第8章中斷系統(tǒng)和中斷控制器8259A_第5頁
已閱讀5頁,還剩60頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第八章第八章 中斷系統(tǒng)和中斷系統(tǒng)和DMADMAl8.1 中斷系統(tǒng)概述中斷系統(tǒng)概述l8.2 中斷控制器中斷控制器8259A8.1 中斷系統(tǒng)概述中斷系統(tǒng)概述l中斷、中斷源中斷、中斷源l中斷處理過程中斷處理過程l中斷優(yōu)先級中斷優(yōu)先級8.1.1 中斷及中斷源中斷及中斷源l中斷的概念中斷的概念中斷中斷:CPU收到外部請求時停止當前任務(wù),收到外部請求時停止當前任務(wù),轉(zhuǎn)而執(zhí)行外設(shè)任務(wù),完成后繼續(xù)執(zhí)行被打轉(zhuǎn)而執(zhí)行外設(shè)任務(wù),完成后繼續(xù)執(zhí)行被打斷的任務(wù)斷的任務(wù)中斷及中斷源中斷及中斷源中斷源中斷源:引起中斷的事件引起中斷的事件斷點斷點:主程序被打斷的位置主程序被打斷的位置中斷服務(wù)程序中斷服務(wù)程序 :中斷源的響應(yīng)和處

2、理函數(shù)中斷源的響應(yīng)和處理函數(shù)斷點斷點中斷源中斷源中斷服務(wù)程序中斷服務(wù)程序中斷源中斷源中斷的用途中斷的用途l響應(yīng)外部事件響應(yīng)外部事件:掉電,除零,報警等:掉電,除零,報警等l實時多任務(wù)調(diào)度實時多任務(wù)調(diào)度:加快響應(yīng)速度:加快響應(yīng)速度lCPU與外設(shè)并行處理與外設(shè)并行處理:提高:提高CPU利用率利用率l分時系統(tǒng)基礎(chǔ)分時系統(tǒng)基礎(chǔ):時鐘中斷驅(qū)動的操作系統(tǒng):時鐘中斷驅(qū)動的操作系統(tǒng)8.1.2 中斷處理過程中斷處理過程l中斷請求中斷請求l優(yōu)先級判別優(yōu)先級判別l中斷響應(yīng)中斷響應(yīng)l保存現(xiàn)場保存現(xiàn)場 l中斷服務(wù)中斷服務(wù)l恢復現(xiàn)場恢復現(xiàn)場l中斷返回中斷返回1.中斷請求中斷請求概念概念:外部設(shè)備需要:外部設(shè)備需要CPU資

3、源時,產(chǎn)生一個中資源時,產(chǎn)生一個中斷信號發(fā)送到斷信號發(fā)送到CPU的中斷輸入引腳。的中斷輸入引腳。原理原理:每個中斷源對應(yīng)一個中斷請求標志位,:每個中斷源對應(yīng)一個中斷請求標志位,由中斷請求寄存器鎖存。中斷請求信號需要保由中斷請求寄存器鎖存。中斷請求信號需要保持到持到CPU對其進行中斷響應(yīng)后才能撤銷。對其進行中斷響應(yīng)后才能撤銷。 2. 優(yōu)先級判別優(yōu)先級判別多個中斷源同時發(fā)起中斷請求時,多個中斷源同時發(fā)起中斷請求時,CPU需要需要對多個中斷源的優(yōu)先級進行判斷,響應(yīng)對多個中斷源的優(yōu)先級進行判斷,響應(yīng)最緊最緊急急的中斷請求。的中斷請求。中斷源的優(yōu)先級需要根據(jù)中斷源的緊迫性、中斷源的優(yōu)先級需要根據(jù)中斷源的

4、緊迫性、重要性以及外設(shè)處理速度等進行綜合考慮重要性以及外設(shè)處理速度等進行綜合考慮不可屏蔽中斷發(fā)生,優(yōu)先響應(yīng)不可屏蔽中斷。不可屏蔽中斷發(fā)生,優(yōu)先響應(yīng)不可屏蔽中斷。 3. 中斷響應(yīng)中斷響應(yīng)l對于內(nèi)部中斷,對于內(nèi)部中斷,CPU通過判斷中斷源自動跳通過判斷中斷源自動跳轉(zhuǎn)到相應(yīng)的轉(zhuǎn)到相應(yīng)的中斷服務(wù)程序入口地址中斷服務(wù)程序入口地址,執(zhí)行中,執(zhí)行中斷服務(wù)子程序。斷服務(wù)子程序。l對于外部中斷,對于外部中斷,CPU判斷標志位判斷標志位IF,若,若CPU允許響應(yīng)外部中斷(允許響應(yīng)外部中斷(IF=1),向發(fā)出中斷請),向發(fā)出中斷請求的外設(shè)返回一個求的外設(shè)返回一個中斷應(yīng)答信號中斷應(yīng)答信號,否則,否則CPU不響應(yīng)該中斷

5、請求。不響應(yīng)該中斷請求。 4. 保存現(xiàn)場保存現(xiàn)場lCPU響應(yīng)中斷,首先需要響應(yīng)中斷,首先需要禁止禁止CPU響應(yīng)中響應(yīng)中斷信號斷信號,并保存中斷返回地址以及其它可,并保存中斷返回地址以及其它可能被破壞的寄存器能被破壞的寄存器l8086/8088 CPU的基本中斷現(xiàn)場保護需要的基本中斷現(xiàn)場保護需要將將CS寄存器和寄存器和IP寄存器寄存器壓入堆棧壓入堆棧5. 執(zhí)行中斷執(zhí)行中斷l(xiāng)CPU通過通過中斷號中斷號確定進入哪個中斷處理確定進入哪個中斷處理l進入中斷處理程序,進入中斷處理程序,可以允許可以允許CPU響應(yīng)其響應(yīng)其它中斷它中斷l(xiāng)8086/8088處理器通過裝入處理器通過裝入CS和和IP寄存器寄存器實現(xiàn)

6、中斷服務(wù)程序跳轉(zhuǎn)實現(xiàn)中斷服務(wù)程序跳轉(zhuǎn)6. 恢復現(xiàn)場恢復現(xiàn)場lCPU關(guān)閉中斷響應(yīng)關(guān)閉中斷響應(yīng) l將保存在堆棧中的所有寄存器內(nèi)容彈出,將保存在堆棧中的所有寄存器內(nèi)容彈出,恢復到中斷前的寄存器原值恢復到中斷前的寄存器原值7.返回返回l8086/8088處理器通過處理器通過IRET指令指令從中斷狀態(tài)從中斷狀態(tài)返回。返回。lIRET指令將自動恢復先前保存的指令將自動恢復先前保存的IP和和CS值值以及標志寄存器以及標志寄存器FR或或EFR的值,從而跳轉(zhuǎn)到的值,從而跳轉(zhuǎn)到主程序斷點地址。主程序斷點地址。l返回之后,返回之后,CPU自動打開中斷自動打開中斷允許響應(yīng)其它允許響應(yīng)其它中斷請求。中斷請求。 8.1.

7、3 中斷的優(yōu)先級中斷的優(yōu)先級1.中斷優(yōu)先級中斷優(yōu)先級2.優(yōu)先級判別方法優(yōu)先級判別方法1.中斷優(yōu)先級中斷優(yōu)先級l原因原因:中斷處理的重要程度和時延要求不同:中斷處理的重要程度和時延要求不同l含義含義:按照中斷源的重要程度為每個中斷源分:按照中斷源的重要程度為每個中斷源分配不同的優(yōu)先級,并以優(yōu)先級大小進行排序,配不同的優(yōu)先級,并以優(yōu)先級大小進行排序,確定多個中斷源請求時對不同中斷源的服務(wù)次確定多個中斷源請求時對不同中斷源的服務(wù)次序,稱之為序,稱之為中斷優(yōu)先級中斷優(yōu)先級。l工作原理:工作原理:多個中斷源同時向多個中斷源同時向CPU請求中斷時,請求中斷時,選擇當前選擇當前優(yōu)先級最高優(yōu)先級最高的中斷進行

8、處理。的中斷進行處理。l規(guī)則規(guī)則:優(yōu)先級可以是固定的,也可以動態(tài)調(diào)整:優(yōu)先級可以是固定的,也可以動態(tài)調(diào)整2.優(yōu)先級判別方法優(yōu)先級判別方法l軟件查詢方式軟件查詢方式CPU接受多個中斷請求后,用軟件查詢的接受多個中斷請求后,用軟件查詢的方法,確定哪個中斷源首先被查詢到;方法,確定哪個中斷源首先被查詢到;先被先被查詢的先響應(yīng)查詢的先響應(yīng);中斷被中斷被查詢的次序查詢的次序就是優(yōu)先權(quán)的高低次序;就是優(yōu)先權(quán)的高低次序;次序需要程序員在編輯查詢程序時設(shè)置約定次序需要程序員在編輯查詢程序時設(shè)置約定2. 優(yōu)先級判別方法優(yōu)先級判別方法l硬連接串行排隊鏈方式:用硬件實現(xiàn)軟件查詢硬連接串行排隊鏈方式:用硬件實現(xiàn)軟件查

9、詢 I/O DATA BUS 中 斷 請 求IRQ SYN POL 1號 設(shè) 備 接 口 2號 設(shè) 備 接 口 n號 設(shè) 備 接 口 CPU 8.2 中斷控制器中斷控制器8259A l 8259A的主要功能的主要功能l 8259A的結(jié)構(gòu)及引腳功能的結(jié)構(gòu)及引腳功能l 8259A的工作方式的工作方式l 8259A的初始化命令字的初始化命令字l 8259A的初始化編程的初始化編程1. 8259A的主要功能的主要功能l中斷控制器的功能:中斷控制器的功能:在多個中端源的系統(tǒng)中,在多個中端源的系統(tǒng)中,接收外部中斷請求并判斷,選擇優(yōu)先級最高接收外部中斷請求并判斷,選擇優(yōu)先級最高的外部中斷請求,向的外部中斷請

10、求,向CPU發(fā)起中斷請求信號。發(fā)起中斷請求信號。l使用中斷控制器的原因使用中斷控制器的原因:CPU的中斷管腳太少(的中斷管腳太少(8086/8088兩根中斷管腳:兩根中斷管腳:INTR和和NMI););中斷控制方式比較單一(屏蔽、優(yōu)先級管理、嵌中斷控制方式比較單一(屏蔽、優(yōu)先級管理、嵌套等)套等)1. 8259A的主要功能的主要功能l每片每片8259A可管理可管理8級級優(yōu)先權(quán)中斷源,通過級聯(lián),優(yōu)先權(quán)中斷源,通過級聯(lián),最多可管理最多可管理64級級優(yōu)先權(quán)的中斷源。優(yōu)先權(quán)的中斷源。l對任何一級中斷源都可單獨進行屏蔽。對任何一級中斷源都可單獨進行屏蔽。l向向CPU提供可編程的標識碼(中斷號),為不能提

11、供可編程的標識碼(中斷號),為不能提供中斷號的外設(shè)提供中斷管理。提供中斷號的外設(shè)提供中斷管理。l具有五種中斷優(yōu)先權(quán)管理方式:完全嵌套方式、自具有五種中斷優(yōu)先權(quán)管理方式:完全嵌套方式、自動循環(huán)方式、特殊循環(huán)方式、特殊屏蔽方式和查詢動循環(huán)方式、特殊循環(huán)方式、特殊屏蔽方式和查詢方式方式l可編程,提高中斷優(yōu)先管理的靈活性??删幊?,提高中斷優(yōu)先管理的靈活性。 2. 8259A外部結(jié)構(gòu)外部結(jié)構(gòu) V C C A 0 I N T A I R 7 I R 6 I R 5 I R 4 I R 3 I R 2 I R 1 I R 0 I N T S P / E N C A S 2 C S WR R D D 7 D

12、6 D 5 D 4 D 3 D 2 D 1 D 0 C A S 0 C A S 1 G N D 1 8 2 5 9 A 2 8 2 2 7 3 2 6 4 2 5 5 2 4 6 2 3 7 2 2 8 2 1 9 2 0 1 0 1 9 1 1 1 8 1 2 1 7 1 3 1 6 1 4 1 5 8259A8259A的內(nèi)部結(jié)構(gòu)的內(nèi)部結(jié)構(gòu) 8259A8259A的內(nèi)部結(jié)構(gòu)框圖的內(nèi)部結(jié)構(gòu)框圖控 制 邏 輯數(shù)據(jù)總線緩沖器讀/寫控制電路級聯(lián)緩沖/比較器中 斷服 務(wù)寄存器(ISR)優(yōu)先權(quán)判 決電 路中斷請求寄存器(IRR)中斷屏蔽寄存器(IMR)IR0IR1IR2IR3IR4IR5IR6IR7D7D

13、0RDWRCS0ACAS0CAS1CAS2EN/SPINTAINT 其內(nèi)部各組成模塊有如下功能:其內(nèi)部各組成模塊有如下功能: (1 1) 中斷請求寄存器中斷請求寄存器IRRIRR 8259A 8259A有有8 8條外部中斷請求輸入信號線條外部中斷請求輸入信號線IRIR0 0- -IRIR7 7,每一條請求線上有一個相應(yīng)的觸發(fā)器來保,每一條請求線上有一個相應(yīng)的觸發(fā)器來保存請求信號,當存請求信號,當?shù)诘趇 i個個IRIR端有中斷請求端有中斷請求時,時,IRRIRR中的中的相應(yīng)位置相應(yīng)位置“1”1”;當中斷請求響應(yīng)時,;當中斷請求響應(yīng)時,IRRIRR中的相應(yīng)位置中的相應(yīng)位置“0”0”。(2)中斷屏蔽

14、寄存器)中斷屏蔽寄存器IMR IMR(Interrupt Mask Register)用來存用來存放屏蔽位信息,放屏蔽位信息,IMR的的每一位可以禁止每一位可以禁止IRR中對應(yīng)位的中斷請求輸入信號進入中對應(yīng)位的中斷請求輸入信號進入。如果。如果屏蔽優(yōu)先權(quán)級別較高的中斷請求輸入時,屏蔽優(yōu)先權(quán)級別較高的中斷請求輸入時,不會影響到優(yōu)先級較低的中斷請求輸入。不會影響到優(yōu)先級較低的中斷請求輸入。 (3)優(yōu)先權(quán)判決電路)優(yōu)先權(quán)判決電路 它在中斷響應(yīng)期間,根據(jù)控制邏輯規(guī)定的它在中斷響應(yīng)期間,根據(jù)控制邏輯規(guī)定的優(yōu)先權(quán)級別和中斷屏蔽寄存器優(yōu)先權(quán)級別和中斷屏蔽寄存器IMR的內(nèi)容,的內(nèi)容,把中斷請求寄存器把中斷請求寄

15、存器IRR中允許中斷的優(yōu)先權(quán)中允許中斷的優(yōu)先權(quán)最最高的中斷請求位送入中斷服務(wù)寄存器高的中斷請求位送入中斷服務(wù)寄存器ISR。(4)中斷服務(wù)寄存器中斷服務(wù)寄存器ISRISR ISR ISR存放存放當前當前正在進行服務(wù)的所有中正在進行服務(wù)的所有中斷。斷。ISRISR中相應(yīng)位的置位是由中相應(yīng)位的置位是由優(yōu)先權(quán)判決優(yōu)先權(quán)判決電路電路根據(jù)根據(jù)IRRIRR中各請求位的優(yōu)先權(quán)級別和中各請求位的優(yōu)先權(quán)級別和IMRIMR中屏蔽位的狀態(tài),將中斷的最高優(yōu)先中屏蔽位的狀態(tài),將中斷的最高優(yōu)先級請求位選通到級請求位選通到ISRISR中。中。 (5) 控制邏輯控制邏輯 當有未被屏蔽的高級別的中斷請求時,當有未被屏蔽的高級別的

16、中斷請求時,通過控制邏輯輸出高電平的通過控制邏輯輸出高電平的INT信號,向信號,向CPU申請中斷。申請中斷。 當當CPU允許中斷時,發(fā)出中斷響應(yīng)信號允許中斷時,發(fā)出中斷響應(yīng)信號INTA。在中斷響應(yīng)期間,它允許。在中斷響應(yīng)期間,它允許ISR的相應(yīng)的相應(yīng)位置位,并發(fā)送相應(yīng)的位置位,并發(fā)送相應(yīng)的中斷向量中斷向量,通過數(shù)據(jù),通過數(shù)據(jù)總線緩沖器輸出到總線上??偩€緩沖器輸出到總線上。 (6) 數(shù)據(jù)總線緩沖器數(shù)據(jù)總線緩沖器 這是這是8 8位雙向三態(tài)緩沖器,用作位雙向三態(tài)緩沖器,用作8259A8259A與數(shù)據(jù)總線與數(shù)據(jù)總線的接口,傳輸命令控制字、狀態(tài)字和中斷向量。的接口,傳輸命令控制字、狀態(tài)字和中斷向量。 (

17、7 7)讀)讀/ /寫控制電路寫控制電路 該部件接收來自該部件接收來自CPUCPU的讀的讀/ /寫命令,實現(xiàn)對寫命令,實現(xiàn)對8259A8259A的的讀讀/ /寫操作。寫操作。 (8 8)級聯(lián)緩沖器)級聯(lián)緩沖器/ /比較器比較器 它們實現(xiàn)它們實現(xiàn)8259A8259A芯片之間的級聯(lián),使得中斷源可以芯片之間的級聯(lián),使得中斷源可以由由8 8級擴展至級擴展至6464級。級。3. 8259A3. 8259A的主要工作方式的主要工作方式(1)(1)中斷觸發(fā)方式中斷觸發(fā)方式 按照引入中斷請求的方式,按照引入中斷請求的方式,8259A8259A有下列幾種工作方式:有下列幾種工作方式: 11邊沿觸發(fā)方式邊沿觸發(fā)方

18、式l 8259A8259A將中斷請求輸入端出現(xiàn)的上升沿,作為中斷請求將中斷請求輸入端出現(xiàn)的上升沿,作為中斷請求信號,上升沿后信號,上升沿后 相應(yīng)引腳,可以一直保持高電平。相應(yīng)引腳,可以一直保持高電平。 22電平觸發(fā)方式電平觸發(fā)方式l 8259A8259A將中斷請求輸入端出現(xiàn)的高電平作為中斷請求將中斷請求輸入端出現(xiàn)的高電平作為中斷請求信號,在這種方式下,必須注意:中斷響應(yīng)之后,高信號,在這種方式下,必須注意:中斷響應(yīng)之后,高電平必須及時撤除,否則,在電平必須及時撤除,否則,在CPUCPU響應(yīng)中斷,開中斷響應(yīng)中斷,開中斷之后,會引起第二次不應(yīng)該有的中斷。之后,會引起第二次不應(yīng)該有的中斷。(2)(2

19、)系統(tǒng)總線的連接方式系統(tǒng)總線的連接方式l當當8259A8259A以級聯(lián)方式用在一個大的系統(tǒng)下時,就以級聯(lián)方式用在一個大的系統(tǒng)下時,就要求對數(shù)據(jù)總線進行驅(qū)動緩沖。要求對數(shù)據(jù)總線進行驅(qū)動緩沖。系統(tǒng)總線的連接系統(tǒng)總線的連接方式方式就是用來設(shè)定系統(tǒng)總線與就是用來設(shè)定系統(tǒng)總線與8259A8259A數(shù)據(jù)總線之數(shù)據(jù)總線之間是否需要進行緩沖。間是否需要進行緩沖。 11非緩沖方式非緩沖方式 22緩沖方式緩沖方式(3)(3)中斷源的屏蔽方式中斷源的屏蔽方式11普通屏蔽方式普通屏蔽方式l8259A8259A的每個中斷請求輸入,都要受到屏蔽寄的每個中斷請求輸入,都要受到屏蔽寄存器中相應(yīng)位的控制。若相應(yīng)位為存器中相應(yīng)位

20、的控制。若相應(yīng)位為“1 1”,則,則中斷請求不能送中斷請求不能送CPUCPU。屏蔽是通過對屏蔽寄存。屏蔽是通過對屏蔽寄存器器IMRIMR的編程,來加以設(shè)置和改變的。的編程,來加以設(shè)置和改變的。22特殊屏蔽方式特殊屏蔽方式l有些場合下,臨時改變中斷優(yōu)先級順序,有些場合下,臨時改變中斷優(yōu)先級順序,允許級別低的事件中斷級別高的事件,允許級別低的事件中斷級別高的事件,引入了對中斷的特殊屏蔽方式。引入了對中斷的特殊屏蔽方式。l需要編程設(shè)置特殊屏蔽方式需要編程設(shè)置特殊屏蔽方式 (4)(4)優(yōu)先權(quán)的管理方式優(yōu)先權(quán)的管理方式1 1 普通全嵌套方式普通全嵌套方式l這是這是8259A8259A默認的優(yōu)先權(quán)設(shè)置方式

21、,在全默認的優(yōu)先權(quán)設(shè)置方式,在全嵌套方式下,嵌套方式下,8259A8259A所管理的所管理的8 8級中斷優(yōu)級中斷優(yōu)先權(quán)是固定不變的,其中先權(quán)是固定不變的,其中IRIR0 0的中斷優(yōu)先的中斷優(yōu)先級最高,級最高,IRIR7 7的中斷優(yōu)先級最低。的中斷優(yōu)先級最低。22特殊全嵌套方式特殊全嵌套方式l特殊全嵌套方式與特殊全嵌套方式與全嵌套方式基本相同全嵌套方式基本相同,所不,所不同的是,當同的是,當CPUCPU處理某一級中斷時,如果有處理某一級中斷時,如果有同級同級中斷請求中斷請求,那么,那么CPUCPU也會作出響應(yīng),從而形成了也會作出響應(yīng),從而形成了對對同一級中斷的特殊嵌套。同一級中斷的特殊嵌套。l特

22、殊全嵌套方式通常應(yīng)用在有特殊全嵌套方式通常應(yīng)用在有8259A8259A級連級連的系統(tǒng)的系統(tǒng)中。中。33優(yōu)先級自動循環(huán)方式優(yōu)先級自動循環(huán)方式l即一個中斷源的中斷請求被響應(yīng)之后,其即一個中斷源的中斷請求被響應(yīng)之后,其優(yōu)先優(yōu)先級自動降為最低級自動降為最低。l系統(tǒng)啟動時,系統(tǒng)啟動時,8 8級中斷優(yōu)先級默認為級中斷優(yōu)先級默認為IR0IR0IR7IR7,這時,剛好這時,剛好IR4IR4發(fā)出了中斷請求,發(fā)出了中斷請求,CPUCPU響應(yīng)之后,響應(yīng)之后,若若8259A8259A工作在優(yōu)先級自動循環(huán)方式下,則中工作在優(yōu)先級自動循環(huán)方式下,則中斷優(yōu)先級自動變?yōu)閿鄡?yōu)先級自動變?yōu)镮R5IR5、IR6IR6、IR7IR7

23、、IR0IR0、IR1IR1、IR2IR2、IR3IR3、IR4IR4。44優(yōu)先級特殊循環(huán)方式優(yōu)先級特殊循環(huán)方式l優(yōu)先級特殊循環(huán)方式與自動循環(huán)方式相比,優(yōu)先級特殊循環(huán)方式與自動循環(huán)方式相比,只有一點不同,即只有一點不同,即初始化的優(yōu)先級是由程初始化的優(yōu)先級是由程序控制的序控制的,而不是默認的,而不是默認的IR0IR0IR7IR7。(5)(5)結(jié)束中斷處理的方式結(jié)束中斷處理的方式l分為分為自動結(jié)束方式(自動結(jié)束方式(AEOIAEOI)和和非自動結(jié)束方非自動結(jié)束方式式(EOI)(EOI)。l非自動結(jié)束方式又可進一步分為非自動結(jié)束方式又可進一步分為一般的中斷一般的中斷結(jié)束方式結(jié)束方式和和特殊的中斷結(jié)

24、束方式特殊的中斷結(jié)束方式。 11中斷自動結(jié)束方式中斷自動結(jié)束方式(AEOI)(AEOI)l這種方式僅適用于只有單片這種方式僅適用于只有單片8259A8259A的場合,的場合,在這種方式下,系統(tǒng)一旦響應(yīng)中斷,那么在這種方式下,系統(tǒng)一旦響應(yīng)中斷,那么CPUCPU在發(fā)第二個在發(fā)第二個INTAINTA脈沖時,就會使中斷響脈沖時,就會使中斷響應(yīng)寄存器應(yīng)寄存器ISRISR中相應(yīng)位復位,中相應(yīng)位復位,CPUCPU可以可以再次再次響應(yīng)任何級別的中斷請求。響應(yīng)任何級別的中斷請求。22一般的中斷結(jié)束方式一般的中斷結(jié)束方式l一般的中斷結(jié)束方式適用在全嵌套的情一般的中斷結(jié)束方式適用在全嵌套的情況下,當況下,當CPUC

25、PU用輸出指令向用輸出指令向8259A8259A發(fā)一般發(fā)一般中斷中斷結(jié)束命令時,中斷中斷結(jié)束命令時,8259A8259A才會使中斷才會使中斷響應(yīng)寄存器響應(yīng)寄存器ISRISR中優(yōu)先級別最高的位復位。中優(yōu)先級別最高的位復位。 33特殊的中斷結(jié)束方式特殊的中斷結(jié)束方式l在循環(huán)優(yōu)先級模式下,系統(tǒng)無法確定哪一級在循環(huán)優(yōu)先級模式下,系統(tǒng)無法確定哪一級中斷為最后響應(yīng)和處理的中斷,也就是說,中斷為最后響應(yīng)和處理的中斷,也就是說,CPUCPU無法確定當前所處理的是哪級中斷,這時無法確定當前所處理的是哪級中斷,這時就要采用特殊的中斷結(jié)束方式。就要采用特殊的中斷結(jié)束方式。l特殊的中斷結(jié)束方式是指在特殊的中斷結(jié)束方式

26、是指在CPUCPU結(jié)束中斷處理結(jié)束中斷處理之后,向之后,向8259A8259A發(fā)送一個特殊的中斷結(jié)束命令,發(fā)送一個特殊的中斷結(jié)束命令,這個特殊的中斷結(jié)束命令,這個特殊的中斷結(jié)束命令,明確指出了中斷明確指出了中斷響應(yīng)寄存器響應(yīng)寄存器ISRISR中需要復位的位。中需要復位的位。若中斷控制器若中斷控制器8259A工作在工作在優(yōu)先級自動循環(huán)方式優(yōu)先級自動循環(huán)方式下,下,引腳引腳IR3、IR4、IR6、IR7同時發(fā)出了中斷請求,請寫同時發(fā)出了中斷請求,請寫出在整個執(zhí)行過程中優(yōu)先級隊列的變化情況。出在整個執(zhí)行過程中優(yōu)先級隊列的變化情況。時刻時刻0:初始化:初始化優(yōu)先級隊列為優(yōu)先級隊列為IR0、IR1、IR

27、2、IR3、IR4、IR5、IR6、IR7時刻時刻1:IR3被響應(yīng)執(zhí)行后被響應(yīng)執(zhí)行后優(yōu)先級隊列變?yōu)椋簝?yōu)先級隊列變?yōu)椋?時刻時刻2:IR4被響應(yīng)執(zhí)行后被響應(yīng)執(zhí)行后優(yōu)先級隊列變?yōu)椋簝?yōu)先級隊列變?yōu)椋?時刻時刻3:IR6被響應(yīng)執(zhí)行后被響應(yīng)執(zhí)行后優(yōu)先級隊列變?yōu)椋簝?yōu)先級隊列變?yōu)椋簳r刻時刻4:IR7被響應(yīng)執(zhí)行后被響應(yīng)執(zhí)行后優(yōu)先級隊列變?yōu)椋簝?yōu)先級隊列變?yōu)椋?.8259A4.8259A的初始化命令字的初始化命令字l初始化編程初始化編程:指系統(tǒng)在上電或復位后對可編程器:指系統(tǒng)在上電或復位后對可編程器件進行控制字設(shè)定的一段程序。件進行控制字設(shè)定的一段程序。l初始化命令字初始化命令字:一般在系統(tǒng)復位后的初始化編程:一

28、般在系統(tǒng)復位后的初始化編程中設(shè)置,用于確定中設(shè)置,用于確定8259A8259A的基本工作方式,設(shè)置的基本工作方式,設(shè)置以后一般保持不變。以后一般保持不變。l初始化命令寄存器組包括初始化命令寄存器組包括4 4個寄存器:個寄存器:ICW1-ICW4ICW1-ICW4l由于由于8259A8259A只有一條地址線只有一條地址線A A0 0,所以它只能有兩個,所以它只能有兩個端口地址,而端口地址,而8259A8259A有有7 7個命令字,每個命令字要個命令字,每個命令字要寫入相應(yīng)的寄存器。寫入相應(yīng)的寄存器。 為此,采取以下幾點措施:為此,采取以下幾點措施: 1 1)以端口地址區(qū)分以端口地址區(qū)分 2 2)

29、把命令字中的某些位作為特征碼來區(qū)分把命令字中的某些位作為特征碼來區(qū)分 3 3)以命令字的寫入順序來區(qū)分以命令字的寫入順序來區(qū)分l在在PC/XTPC/XT中,兩個端口地址分別是:中,兩個端口地址分別是:奇地址奇地址(A A0 0=1,=1,大地址)和大地址)和偶地址偶地址(A A0 0=0,=0,小地址)。小地址)。(1 1)8259A8259A的初始化控制字的初始化控制字 初始化控制字初始化控制字ICW(Initialization Control ICW(Initialization Control Word)Word)是在計算機啟動的過程中設(shè)定完成的,計算機啟是在計算機啟動的過程中設(shè)定完成

30、的,計算機啟動起來后,動起來后,8259A8259A就按初始設(shè)定的狀態(tài)工作。就按初始設(shè)定的狀態(tài)工作。 8259A8259A有四個初始化控制字有四個初始化控制字ICWICWl l、ICWICW2 2、ICWICW3 3和和ICWICW4 4,由于由于8259A8259A只有一根地址線,因此對各個控制字只有一根地址線,因此對各個控制字的操作是按照一定的順序并結(jié)合某些數(shù)據(jù)位來進行尋的操作是按照一定的順序并結(jié)合某些數(shù)據(jù)位來進行尋址設(shè)置的址設(shè)置的。(2) 2) 各初始化控制字的功能各初始化控制字的功能1ICW1ICW1 1的控制字格式如下圖所示。的控制字格式如下圖所示。ICW1ICW1的格式的格式LTI

31、M ADI SNGL IC41A5A6A70A0D7D6D5D4D3D2D1D0 1: 需要ICW4(8086模式下總為1) 0: 不需要ICW4 1: 單片8259 0: 多片級聯(lián) 1: 間隔為4 0: 間隔為8 1: 電平觸發(fā) 0: 邊沿觸發(fā)8080(85)系統(tǒng)中斷向量地址A A0 0=0=0、D D4 4=1=1:是:是ICWICW1 1的標志的標志。只要。只要CPUCPU向向8259A8259A發(fā)送一條發(fā)送一條A A0 0=0=0和和D D4 4=1=1的命令時,這條命令就被譯碼為對的命令時,這條命令就被譯碼為對ICWICW1 1進行進行操作。它啟動操作。它啟動8259A8259A的初

32、始化過程,產(chǎn)生下列動作:清的初始化過程,產(chǎn)生下列動作:清除除IMRIMR,把最低優(yōu)先級分配給,把最低優(yōu)先級分配給IRIR7 7,把最高優(yōu)先級分配,把最高優(yōu)先級分配給給IRIR0 0,將從設(shè)備標志置成,將從設(shè)備標志置成7 7,清除特殊屏蔽方式,設(shè),清除特殊屏蔽方式,設(shè)置讀置讀IRRIRR方式。方式。D D7 7-D-D5 5:在:在8080(85)8080(85)系統(tǒng)中為中斷向量地址位,在系統(tǒng)中為中斷向量地址位,在8086/80888086/8088系統(tǒng)中不用。系統(tǒng)中不用。 LTIMLTIM(D D3 3):中斷輸入寄存器的觸發(fā)方式。:中斷輸入寄存器的觸發(fā)方式。0 0為邊沿觸發(fā),中斷為邊沿觸發(fā),

33、中斷輸入信號上升沿時被識別并送入輸入信號上升沿時被識別并送入IRRIRR。1 1為電平觸發(fā),中斷輸入為電平觸發(fā),中斷輸入信號為高電平即可進入信號為高電平即可進入IRRIRR。這兩種觸發(fā)方式都要求高電平的請。這兩種觸發(fā)方式都要求高電平的請求信號在置位求信號在置位IRRIRR相應(yīng)位后一直保持,直到中斷被響應(yīng)為止。相應(yīng)位后一直保持,直到中斷被響應(yīng)為止。ADIADI(D D2 2) ):設(shè)定:設(shè)定8080(85)8080(85)方式下中斷向量地址間隔字節(jié)數(shù),方式下中斷向量地址間隔字節(jié)數(shù),1 1為為4 4字節(jié),字節(jié),0 0為為8 8字節(jié)。在字節(jié)。在8086/80888086/8088方式下此位不用方式下

34、此位不用SNGL(DSNGL(D1 1) ):單個器件單個器件/ /級聯(lián)方式指示。級聯(lián)方式指示。1 1表示系統(tǒng)中只有一個表示系統(tǒng)中只有一個8259A8259A,0 0表示級聯(lián)方式。表示級聯(lián)方式。ICIC4 4(D(D0 0) ):該位用于設(shè)定有無:該位用于設(shè)定有無ICWICW4 4。1 1表示使用表示使用ICWICW4 4,在,在8086/80888086/8088方式下,必須使用方式下,必須使用ICWICW4 4。0 0表示不用表示不用ICWICW4 4,此時,此時ICWICW4 4所所選擇的全部功能位都置成選擇的全部功能位都置成0 0。 2ICW2ICW2 2在在8086/80888086

35、/8088方式下,方式下,用于提供用于提供8 8個中斷源的中個中斷源的中斷向量碼斷向量碼。ICWICW2 2的高的高5 5位位T T7 7-T-T3 3在初始化編程時設(shè)置,初在初始化編程時設(shè)置,初始化低始化低3 3位由位由8259A8259A用中斷源的編號填寫。用中斷源的編號填寫。ICWICW2 2的命令的命令字格式如下圖所示。字格式如下圖所示。 T3T4T5T6T71A0D7D6D5D4D3D2D1D0中斷向量碼高5位(由初始化程序設(shè)定)8259自動將中斷請求輸入引腳的序號IRn填入ICW2ICW2的格式的格式 I C WI C W2 2利 用利 用 A A0 0= 1= 1 和 初 始 化

36、 的 次 序 來 尋 址和 初 始 化 的 次 序 來 尋 址。 在。 在8086/80888086/8088系統(tǒng)中,初始化控制字系統(tǒng)中,初始化控制字ICWICW2 2是比較重要的,是比較重要的,它確定了它確定了8259A8259A外接中斷源的起始中斷向量碼,并實現(xiàn)外接中斷源的起始中斷向量碼,并實現(xiàn)了每個中斷源中斷向量碼的自動生成。下面舉例說明了每個中斷源中斷向量碼的自動生成。下面舉例說明中斷向量碼的形成情況。中斷向量碼的形成情況。 在初始化編程時要保持在初始化編程時要保持ICWICW2 2的低三位為的低三位為“0 0”,如,如設(shè)定設(shè)定ICWICW2 2為為“1111100011111000”

37、(F8H)(F8H)。如果某一中斷源。如果某一中斷源IRnIRn有有中斷請求,將中斷請求,將n n填入填入ICWICW2 2的低的低3 3位,與高位,與高5 5位共同組成該位共同組成該中斷源的中斷向量碼,如下表所示。中斷源的中斷向量碼,如下表所示。中斷向量碼的形成情況表中斷向量碼的形成情況表ICW2 D7D6D5D4D3D2D1D0中斷向量碼中斷向量碼中斷源中斷源11111000F8H 11111000F8HIR011111001F9HIR111111010FAHIR211111011FBHIR311111100FCHIR411111101FDHIR511111110FEHIR61111111

38、1FFHIR7 3ICW33ICW3的功能:的功能:確定主片和從片的確定主片和從片的級連級連狀狀態(tài),即確定態(tài),即確定主片的級連位主片的級連位和和從片的編碼從片的編碼 ICWICW3 3用于用于8259A8259A的級聯(lián),若系統(tǒng)中的級聯(lián),若系統(tǒng)中只有只有一片一片8259A8259A,則,則不用不用ICWICW3 3;若;若8259A8259A工作于工作于級聯(lián)方式,級聯(lián)方式,則則需要用需要用ICWICW3 3設(shè)置設(shè)置8259A8259A的狀態(tài)的狀態(tài)。ICW3ICW3的格式的格式S3S2S1S0S4S5S6S71A0D7D6D5D4D3D2D1D0主控ICW3 1:相應(yīng)的IRn端接有從屬8259A 0:不接82590ID2ID1ID000001A0D7D6D5D4D3D2D1D0 3 位編碼為從屬8259A接入主控8259A相應(yīng)IRn端的編號 n從屬ICW3l用兩片用兩片8259A管理中斷,從片管理中斷,從片INT與主片的與主片的IR2連接,主從片的連接,主從片的ICW3分別為(分別為( )。)。 A02H和和04H B04H和和02H C02H和和02H D04H和和04H答案答案:B4ICW4ICW4 4只有在只有在ICWICW1 1的的ICIC4 4=1=1時才使用,其格式如下圖所示。時才使用,其格式如下圖所示。主要功能:選擇主要功能:選擇

溫馨提示

  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論