第8章中斷系統(tǒng)和中斷控制器8259A_第1頁(yè)
第8章中斷系統(tǒng)和中斷控制器8259A_第2頁(yè)
第8章中斷系統(tǒng)和中斷控制器8259A_第3頁(yè)
第8章中斷系統(tǒng)和中斷控制器8259A_第4頁(yè)
第8章中斷系統(tǒng)和中斷控制器8259A_第5頁(yè)
已閱讀5頁(yè),還剩60頁(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、第八章第八章 中斷系統(tǒng)和中斷系統(tǒng)和DMADMAl8.1 中斷系統(tǒng)概述中斷系統(tǒng)概述l8.2 中斷控制器中斷控制器8259A8.1 中斷系統(tǒng)概述中斷系統(tǒng)概述l中斷、中斷源中斷、中斷源l中斷處理過(guò)程中斷處理過(guò)程l中斷優(yōu)先級(jí)中斷優(yōu)先級(jí)8.1.1 中斷及中斷源中斷及中斷源l中斷的概念中斷的概念中斷中斷:CPU收到外部請(qǐng)求時(shí)停止當(dāng)前任務(wù),收到外部請(qǐng)求時(shí)停止當(dāng)前任務(wù),轉(zhuǎn)而執(zhí)行外設(shè)任務(wù),完成后繼續(xù)執(zhí)行被打轉(zhuǎn)而執(zhí)行外設(shè)任務(wù),完成后繼續(xù)執(zhí)行被打斷的任務(wù)斷的任務(wù)中斷及中斷源中斷及中斷源中斷源中斷源:引起中斷的事件引起中斷的事件斷點(diǎn)斷點(diǎn):主程序被打斷的位置主程序被打斷的位置中斷服務(wù)程序中斷服務(wù)程序 :中斷源的響應(yīng)和處

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

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

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

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

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

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

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

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

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

11、供可編程的標(biāo)識(shí)碼(中斷號(hào)),為不能提供中斷號(hào)的外設(shè)提供中斷管理。提供中斷號(hào)的外設(shè)提供中斷管理。l具有五種中斷優(yōu)先權(quán)管理方式:完全嵌套方式、自具有五種中斷優(yōu)先權(quán)管理方式:完全嵌套方式、自動(dòng)循環(huán)方式、特殊循環(huán)方式、特殊屏蔽方式和查詢動(dòng)循環(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ù)總線緩沖器讀/寫(xiě)控制電路級(jí)聯(lián)緩沖/比較器中 斷服 務(wù)寄存器(ISR)優(yōu)先權(quán)判 決電 路中斷請(qǐng)求寄存器(IRR)中斷屏蔽寄存器(IMR)IR0IR1IR2IR3IR4IR5IR6IR7D7D

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

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

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

16、中斷請(qǐng)求時(shí),通過(guò)控制邏輯輸出高電平的通過(guò)控制邏輯輸出高電平的INT信號(hào),向信號(hào),向CPU申請(qǐng)中斷。申請(qǐng)中斷。 當(dāng)當(dāng)CPU允許中斷時(shí),發(fā)出中斷響應(yīng)信號(hào)允許中斷時(shí),發(fā)出中斷響應(yīng)信號(hào)INTA。在中斷響應(yīng)期間,它允許。在中斷響應(yīng)期間,它允許ISR的相應(yīng)的相應(yīng)位置位,并發(fā)送相應(yīng)的位置位,并發(fā)送相應(yīng)的中斷向量中斷向量,通過(guò)數(shù)據(jù),通過(guò)數(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)讀)讀/ /寫(xiě)控制電路寫(xiě)控制電路 該部件接收來(lái)自該部件接收來(lái)自CPUCPU的讀的讀/ /寫(xiě)命令,實(shí)現(xiàn)對(duì)寫(xiě)命令,實(shí)現(xiàn)對(duì)8259A8259A的的讀讀/ /寫(xiě)操作。寫(xiě)操作。 (8 8)級(jí)聯(lián)緩沖器)級(jí)聯(lián)緩沖器/ /比較器比較器 它們實(shí)現(xiàn)它們實(shí)現(xiàn)8259A8259A芯片之間的級(jí)聯(lián),使得中斷源可以芯片之間的級(jí)聯(lián),使得中斷源可以由由8 8級(jí)擴(kuò)展至級(jí)擴(kuò)展至6464級(jí)。級(jí)。3. 8259A3. 8259A的主要工作方式的主要工作方式(1)(1)中斷觸發(fā)方式中斷觸發(fā)方式 按照引入中斷請(qǐng)求的方式,按照引入中斷請(qǐng)求的方式,8259A8259A有下列幾種工作方式:有下列幾種工作方式: 11邊沿觸發(fā)方式邊沿觸發(fā)方

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

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

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

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

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

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

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

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

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

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

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

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

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

31、M ADI SNGL IC41A5A6A70A0D7D6D5D4D3D2D1D0 1: 需要ICW4(8086模式下總為1) 0: 不需要ICW4 1: 單片8259 0: 多片級(jí)聯(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的標(biāo)志的標(biāo)志。只要。只要CPUCPU向向8259A8259A發(fā)送一條發(fā)送一條A A0 0=0=0和和D D4 4=1=1的命令時(shí),這條命令就被譯碼為對(duì)的命令時(shí),這條命令就被譯碼為對(duì)ICWICW1 1進(jìn)行進(jìn)行操作。它啟動(dòng)操作。它啟動(dòng)8259A8259A的初

32、始化過(guò)程,產(chǎn)生下列動(dòng)作:清的初始化過(guò)程,產(chǎn)生下列動(dòng)作:清除除IMRIMR,把最低優(yōu)先級(jí)分配給,把最低優(yōu)先級(jí)分配給IRIR7 7,把最高優(yōu)先級(jí)分配,把最高優(yōu)先級(jí)分配給給IRIR0 0,將從設(shè)備標(biāo)志置成,將從設(shè)備標(biāo)志置成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、中斷輸入信號(hào)上升沿時(shí)被識(shí)別并送入輸入信號(hào)上升沿時(shí)被識(shí)別并送入IRRIRR。1 1為電平觸發(fā),中斷輸入為電平觸發(fā),中斷輸入信號(hào)為高電平即可進(jìn)入信號(hào)為高電平即可進(jìn)入IRRIRR。這兩種觸發(fā)方式都要求高電平的請(qǐng)。這兩種觸發(fā)方式都要求高電平的請(qǐng)求信號(hào)在置位求信號(hào)在置位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) ):?jiǎn)蝹€(gè)器件單個(gè)器件/ /級(jí)聯(lián)方式指示。級(jí)聯(lián)方式指示。1 1表示系統(tǒng)中只有一個(gè)表示系統(tǒng)中只有一個(gè)8259A8259A,0 0表示級(jí)聯(lián)方式。表示級(jí)聯(lián)方式。ICIC4 4(D(D0 0) ):該位用于設(shè)定有無(wú):該位用于設(shè)定有無(wú)ICWICW4 4。1 1表示使用表示使用ICWICW4 4,在,在8086/80888086/8088方式下,必須使用方式下,必須使用ICWICW4 4。0 0表示不用表示不用ICWICW4 4,此時(shí),此時(shí)ICWICW4 4所所選擇的全部功能位都置成選擇的全部功能位都置成0 0。 2ICW2ICW2 2在在8086/80888086

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

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

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

38、1FFHIR7 3ICW33ICW3的功能:的功能:確定主片和從片的確定主片和從片的級(jí)連級(jí)連狀狀態(tài),即確定態(tài),即確定主片的級(jí)連位主片的級(jí)連位和和從片的編碼從片的編碼 ICWICW3 3用于用于8259A8259A的級(jí)聯(lián),若系統(tǒng)中的級(jí)聯(lián),若系統(tǒng)中只有只有一片一片8259A8259A,則,則不用不用ICWICW3 3;若;若8259A8259A工作于工作于級(jí)聯(lián)方式,級(jí)聯(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端的編號(hào) n從屬I(mǎi)CW3l用兩片用兩片8259A管理中斷,從片管理中斷,從片INT與主片的與主片的IR2連接,主從片的連接,主從片的ICW3分別為(分別為( )。)。 A02H和和04H B04H和和02H C02H和和02H D04H和和04H答案答案:B4ICW4ICW4 4只有在只有在ICWICW1 1的的ICIC4 4=1=1時(shí)才使用,其格式如下圖所示。時(shí)才使用,其格式如下圖所示。主要功能:選擇主要功能:選擇

溫馨提示

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