第七章中斷技術(shù)_第1頁
第七章中斷技術(shù)_第2頁
第七章中斷技術(shù)_第3頁
第七章中斷技術(shù)_第4頁
第七章中斷技術(shù)_第5頁
已閱讀5頁,還剩88頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、1第七章第七章 中斷技術(shù)中斷技術(shù)2本章的主要內(nèi)容本章的主要內(nèi)容本章主要介紹:本章主要介紹: I/O的基本知識的基本知識(接口的功能與作用,端口編址方式,信(接口的功能與作用,端口編址方式,信息傳送方式,端口地址分配與地址譯碼等)息傳送方式,端口地址分配與地址譯碼等) 中斷的基本原理中斷的基本原理(中斷請求、判優(yōu)、響應(yīng)、處理、返回)(中斷請求、判優(yōu)、響應(yīng)、處理、返回) 8086中斷系統(tǒng)中斷系統(tǒng)(中斷源,中斷向量表,中斷類型號,中斷(中斷源,中斷向量表,中斷類型號,中斷響應(yīng)過程等)響應(yīng)過程等) 中斷控制器中斷控制器8259A(內(nèi)部結(jié)構(gòu),工作原理,工作方式及編(內(nèi)部結(jié)構(gòu),工作原理,工作方式及編程)程

2、) PC XT/AT機(jī)中的外部中斷邏輯機(jī)中的外部中斷邏輯3第一節(jié)第一節(jié) I/O 接口接口4一、一、I/O 接口的重要作用接口的重要作用 輸入和輸出設(shè)備是計(jì)算機(jī)系統(tǒng)的重要組成部分。外設(shè)與計(jì)算輸入和輸出設(shè)備是計(jì)算機(jī)系統(tǒng)的重要組成部分。外設(shè)與計(jì)算機(jī)主機(jī)連接是通過各種機(jī)主機(jī)連接是通過各種I/O接口實(shí)現(xiàn)的。所以,接口實(shí)現(xiàn)的。所以,I/O接口在系接口在系統(tǒng)中起著重要的橋梁作用。如圖:統(tǒng)中起著重要的橋梁作用。如圖: 總總線線主主設(shè)設(shè)備備(CPU)總總線線I I/ /O O接接口口外外設(shè)設(shè)數(shù)數(shù)據(jù)據(jù)狀狀態(tài)態(tài)命命令令/ /控控制制圖圖7 7. .1 1 I I/ /O O接接口口在在系系統(tǒng)統(tǒng)中中的的位位置置5一、

3、一、I/O接口的重要作用(續(xù))接口的重要作用(續(xù)) I/O I/O接口:連接外設(shè)與總線之間的邏輯電路的總接口:連接外設(shè)與總線之間的邏輯電路的總稱。即總線主設(shè)備與外設(shè)之間的橋梁。稱。即總線主設(shè)備與外設(shè)之間的橋梁。 通過通過I/OI/O接口,總線與外設(shè)可以交換數(shù)據(jù),主設(shè)備可以控接口,總線與外設(shè)可以交換數(shù)據(jù),主設(shè)備可以控制該制該I/OI/O口的工作(向口的工作(向I/OI/O口寫入命令);監(jiān)測與管理口寫入命令);監(jiān)測與管理I/OI/O口的口的工作狀態(tài);必要時(shí),工作狀態(tài);必要時(shí),I/OI/O口還可產(chǎn)生中斷請求??谶€可產(chǎn)生中斷請求。 主設(shè)備與外設(shè)交換數(shù)據(jù)還存在以下問題需要解決:主設(shè)備與外設(shè)交換數(shù)據(jù)還存在

4、以下問題需要解決: 速度不匹配速度不匹配 信號電平不匹配(信號電平不匹配(TTL, CMOS, RS-232TTL, CMOS, RS-232等)等) 信號格式不匹配(并行、串行、模擬、數(shù)字等)信號格式不匹配(并行、串行、模擬、數(shù)字等) 時(shí)序不匹配(外設(shè)有自己的定時(shí)與控制邏輯)時(shí)序不匹配(外設(shè)有自己的定時(shí)與控制邏輯)6微機(jī)系統(tǒng)中的各種微機(jī)系統(tǒng)中的各種I/O接口接口內(nèi)存內(nèi)存CPU內(nèi)存接口內(nèi)存接口電源電源輸入接口輸入接口輸出接口輸出接口通信接口通信接口過程控制接口過程控制接口外存接口外存接口智能儀器接口智能儀器接口 鍵盤 鍵盤 光筆 光筆數(shù)字化儀數(shù)字化儀聲音輸入聲音輸入圖形輸入圖形輸入打印機(jī)打印機(jī)

5、顯示器顯示器繪圖儀繪圖儀記錄儀記錄儀終端終端MODEMMODEM電傳機(jī)電傳機(jī)通信通信儀表儀表 ADC ADC DAC DAC開關(guān)量開關(guān)量 輸入 輸入/輸出/輸出磁帶機(jī)磁帶機(jī)磁盤機(jī)磁盤機(jī) 光 光 存 存 儲 儲 器 器 各種 各種 數(shù)字 數(shù)字化儀器化儀器圖7.2 微機(jī)系統(tǒng)各種I/O接口示意圖圖7.2 微機(jī)系統(tǒng)各種I/O接口示意圖系系統(tǒng)統(tǒng)總總線線7二、二、I/O 接口的主要功能接口的主要功能 數(shù)據(jù)緩沖功能(解決速度差異)數(shù)據(jù)緩沖功能(解決速度差異) 設(shè)備選擇(端口地址,譯碼)設(shè)備選擇(端口地址,譯碼) 信號轉(zhuǎn)換功能(電平,并、串,數(shù)、模等轉(zhuǎn)換)信號轉(zhuǎn)換功能(電平,并、串,數(shù)、模等轉(zhuǎn)換) 對外設(shè)的控

6、制與監(jiān)測功能(發(fā)命令,監(jiān)測狀態(tài)等)對外設(shè)的控制與監(jiān)測功能(發(fā)命令,監(jiān)測狀態(tài)等) 中斷請求與管理中斷請求與管理 可編程功能可編程功能8三、三、I/O 端口的編址方式端口的編址方式 I/O 端口端口: 把把I/O接口電路中能被接口電路中能被CPU直接訪問的寄直接訪問的寄存器或某些特定器件稱之為端口(存器或某些特定器件稱之為端口(Port)。)。I/O接口中接口中常設(shè)有數(shù)據(jù)口、命令口和狀態(tài)口。常設(shè)有數(shù)據(jù)口、命令口和狀態(tài)口。 I/O端口的編址方式端口的編址方式 與存儲器統(tǒng)一編址(或存儲器映射方式)與存儲器統(tǒng)一編址(或存儲器映射方式) 優(yōu)點(diǎn):優(yōu)點(diǎn):指令多且齊全;端口空間大。指令多且齊全;端口空間大。 缺

7、點(diǎn):缺點(diǎn):指令長且慢;占用內(nèi)存空間。指令長且慢;占用內(nèi)存空間。 I/O I/O 獨(dú)立編址獨(dú)立編址 優(yōu)點(diǎn):優(yōu)點(diǎn):指令短(設(shè)有單獨(dú)的指令短(設(shè)有單獨(dú)的I/OI/O指令)執(zhí)行快;不占內(nèi)存指令)執(zhí)行快;不占內(nèi)存 空間;程序易讀??臻g;程序易讀。 缺點(diǎn):缺點(diǎn):端口空間?。恍枰獑为?dú)的端口空間?。恍枰獑为?dú)的I/OI/O讀、寫信號。讀、寫信號。 9四、四、CPU與與 I/O 端口之間傳送信息的方式端口之間傳送信息的方式無條件傳送無條件傳送 電路簡單,電路簡單,CPUCPU訪問時(shí)總認(rèn)為訪問時(shí)總認(rèn)為I/OI/O已準(zhǔn)備好。下面是一個(gè)無條已準(zhǔn)備好。下面是一個(gè)無條件傳送的輸入方式電路:件傳送的輸入方式電路:來來自自外外

8、設(shè)設(shè) 數(shù)數(shù)據(jù)據(jù) 三三態(tài)態(tài)緩緩沖沖器器 地地址址譯譯碼碼器器數(shù)數(shù)據(jù)據(jù)總總線線地地址址總總線線AENIORA0A9Y圖圖7 7. .3 3 無無條條件件傳傳送送的的輸輸入入方方式式 圖中,圖中,AEN是地址是地址 允許信號。允許信號。當(dāng)當(dāng)AEN=0由由CPU控制控制總線;總線; 當(dāng)當(dāng)AEN=1時(shí),由時(shí),由DMA控制總線??刂瓶偩€。 CPU讀三態(tài)緩沖器時(shí)讀三態(tài)緩沖器時(shí)總認(rèn)為數(shù)據(jù)已準(zhǔn)備就緒總認(rèn)為數(shù)據(jù)已準(zhǔn)備就緒10四、四、CPU與與 I/O 端口之間傳送信息的方式(續(xù))端口之間傳送信息的方式(續(xù))程序查詢傳送方式程序查詢傳送方式 讀讀I/OI/O端口狀態(tài)信息,若準(zhǔn)備就緒,就輸入或輸出,端口狀態(tài)信息,若準(zhǔn)

9、備就緒,就輸入或輸出,否則,就繼續(xù)查詢等待。顯然,該方式否則,就繼續(xù)查詢等待。顯然,該方式CPUCPU的大部分時(shí)的大部分時(shí)間都用在了查詢和等待了,所以傳送效率不高。間都用在了查詢和等待了,所以傳送效率不高。 下圖是一個(gè)查詢輸入的接口電路。其查詢程序如下:下圖是一個(gè)查詢輸入的接口電路。其查詢程序如下: wait1: mov dx,stport in al,dx test al,80h ;當(dāng)當(dāng)ready=1,數(shù)據(jù)已準(zhǔn)備好。數(shù)據(jù)已準(zhǔn)備好。 jz wait1 ;當(dāng)當(dāng)ready=0,數(shù)據(jù)未準(zhǔn)備好。數(shù)據(jù)未準(zhǔn)備好。 mov dx,dtport ; 準(zhǔn)備好,讀端口數(shù)據(jù)準(zhǔn)備好,讀端口數(shù)據(jù) in al,dx 11

10、四、四、CPU與與 I/O 端口之間傳送信息的方式(續(xù))端口之間傳送信息的方式(續(xù))讀讀狀狀態(tài)態(tài)信信息息READY=1?NY輸輸入入數(shù)數(shù)據(jù)據(jù)輸輸入入設(shè)設(shè)備備鎖鎖存存器器(8 8) 三三態(tài)態(tài)緩緩沖沖器器(8 8)緩緩沖沖器器(1 1)地地址址譯譯碼碼器器狀狀態(tài)態(tài)信信息息A0A9IORAENAENIOR(讀讀狀狀態(tài)態(tài))(讀讀數(shù)數(shù)據(jù)據(jù))到到數(shù)數(shù)據(jù)據(jù)總總線線ReadyDRQ+5V圖圖7 7. .4 4 查查詢詢輸輸入入的的接接口口電電路路與與輸輸入入程程序序流流程程圖圖12四、四、CPU與與 I/O 端口之間傳送信息的方式(續(xù))端口之間傳送信息的方式(續(xù))中斷傳送方式中斷傳送方式 該方式可大大提高該方

11、式可大大提高CPUCPU的工作效率。的工作效率。 該方式是:當(dāng)外設(shè)要求該方式是:當(dāng)外設(shè)要求CPUCPU交換數(shù)據(jù)時(shí),可向交換數(shù)據(jù)時(shí),可向CPUCPU發(fā)出中斷請求,發(fā)出中斷請求,CPUCPU在執(zhí)行完當(dāng)前指令后,即可中斷在執(zhí)行完當(dāng)前指令后,即可中斷當(dāng)前任務(wù)的執(zhí)行,根據(jù)中斷源提供的中斷類型號,當(dāng)前任務(wù)的執(zhí)行,根據(jù)中斷源提供的中斷類型號,轉(zhuǎn)入相應(yīng)的中斷處理程序,以實(shí)現(xiàn)對外設(shè)的數(shù)據(jù)傳轉(zhuǎn)入相應(yīng)的中斷處理程序,以實(shí)現(xiàn)對外設(shè)的數(shù)據(jù)傳送和管理。送和管理。 該方式可實(shí)現(xiàn)該方式可實(shí)現(xiàn)CPUCPU和外設(shè)并行工作。和外設(shè)并行工作。13四、四、CPU與與 I/O 端口之間傳送信息的方式(續(xù))端口之間傳送信息的方式(續(xù))傳傳

12、 送送查查 詢詢 等等 待待I/O 工工 作作傳傳 送送查查 詢詢 等等 待待I/O 工工 作作傳傳 送送tCPU外外 設(shè)設(shè)圖圖 7 7. .5 5 查查 詢詢 傳傳 送送 方方 式式 下下 C CP PU U與與 外外 設(shè)設(shè) 工工 作作 過過 程程 示示 意意 圖圖CPU CPU做做其其 他他 工工 作作I/O工工 作作 CPU做做其其 他他 工工 作作I/O工工 作作外外 設(shè)設(shè)中中 斷斷處處 理理中中 斷斷處處 理理中中 斷斷處處 理理t t圖圖 7 7. .6 6 中中 斷斷 傳傳 送送 方方 式式 下下 C CP PU U與與 外外 設(shè)設(shè) 工工 作作 過過 程程 示示 意意 圖圖14四

13、、四、CPU與與 I/O 端口之間傳送信息的方式(續(xù))端口之間傳送信息的方式(續(xù)) DMA傳送方式傳送方式 DMA (Direct Memory Access)傳送方式又稱直接存儲器)傳送方式又稱直接存儲器存取方式存取方式 。其原理就是在存儲器與外設(shè)之間開辟一條高速數(shù)據(jù)。其原理就是在存儲器與外設(shè)之間開辟一條高速數(shù)據(jù)通道,使外設(shè)與內(nèi)存之間直接交換數(shù)據(jù)。這一數(shù)據(jù)通道是通過通道,使外設(shè)與內(nèi)存之間直接交換數(shù)據(jù)。這一數(shù)據(jù)通道是通過DMA控制器來實(shí)現(xiàn)的。在控制器來實(shí)現(xiàn)的。在DMA傳送期間,不需要傳送期間,不需要CPU的任何的任何干預(yù),而是由干預(yù),而是由DMA控制器控制系統(tǒng)總線,在其控制下完成數(shù)控制器控制系

14、統(tǒng)總線,在其控制下完成數(shù)據(jù)傳送任務(wù)。據(jù)傳送任務(wù)。 對于高速數(shù)據(jù)傳送和與外設(shè)頻繁交換信息的場合,對于高速數(shù)據(jù)傳送和與外設(shè)頻繁交換信息的場合,DMA方方式比中斷傳送方式效率高。因?yàn)橹袛鄠魉鸵粩嗟谋Wo(hù)斷點(diǎn)和式比中斷傳送方式效率高。因?yàn)橹袛鄠魉鸵粩嗟谋Wo(hù)斷點(diǎn)和現(xiàn)場,使現(xiàn)場,使CPU的工作效率大為降低。的工作效率大為降低。15四、四、CPU與與 I/O 端口之間傳送信息的方式(續(xù))端口之間傳送信息的方式(續(xù)) DMA傳送原理示意圖如下:傳送原理示意圖如下:系系統(tǒng)統(tǒng)總總線線CPU存存儲儲器器輸輸出出設(shè)設(shè)備備 DMA控控制制器器HOLDHLDA圖圖7.7 DMA傳傳輸輸原原理理示示意意圖圖16五、五、P

15、C機(jī)系列機(jī)系列I/O端口地址分配端口地址分配 地址分配:前地址分配:前256個(gè)端口給系統(tǒng)板,后個(gè)端口給系統(tǒng)板,后768個(gè)端口給擴(kuò)展版?zhèn)€端口給擴(kuò)展版 系統(tǒng)板上接口芯片的端口地址系統(tǒng)板上接口芯片的端口地址 (000H00FFH)I/O 芯片 端口地址 DMA 控制器 1 DMA 控制器 2 DMA 頁面寄存器 00001FH 0C00DFH 08009FH 中斷控制器 1 中斷控制器 2 02003FH 0A00BFH 定時(shí)器 并口 CMOS RAM 協(xié)處理器 04005FH 06006FH 07007FH 0F00FFH 17五、五、PC機(jī)系列機(jī)系列I/O端口地址分配(續(xù))端口地址分配(續(xù)) 擴(kuò)

16、展槽上接口控制卡的端口地址(擴(kuò)展槽上接口控制卡的端口地址(100H3FFH)I/O 接口名稱 端口地址 游戲控制卡 20020FH 并行口控制卡 1 并行口控制卡 2 37037FH 27027FH 串行口控制卡 1 串行口控制卡 2 3F83FFH 2F82FFH 用戶實(shí)驗(yàn)卡 30031FH 同步通信卡 1 同步通信卡 2 3A03AFH 38038FH 單顯 MDA 彩顯 CGA 彩顯 EGA/VGA 3B03BFH 3D03DFH 3C03CFH 硬驅(qū)控制卡 軟驅(qū)控制卡 1F01FFH 3F03F7H PC 網(wǎng)卡 36036FH 18六、六、I/O端口地址譯碼端口地址譯碼 譯碼電路的兩種

17、譯碼方式譯碼電路的兩種譯碼方式 固定式端口地址譯碼固定式端口地址譯碼 可選式端口地址譯碼可選式端口地址譯碼 譯碼電路的實(shí)現(xiàn)途徑譯碼電路的實(shí)現(xiàn)途徑 門電路譯碼門電路譯碼 譯碼器譯碼譯碼器譯碼 GAL、FPGA器件實(shí)現(xiàn)譯碼(譯碼電路對外可保密)器件實(shí)現(xiàn)譯碼(譯碼電路對外可保密) (由于涉及到開發(fā)工具與(由于涉及到開發(fā)工具與GAL編程,不要求掌握)編程,不要求掌握) 19六、六、I/O端口地址譯碼(續(xù))端口地址譯碼(續(xù)) 用門電路實(shí)現(xiàn)地址譯碼,有全譯碼和部分譯碼用門電路實(shí)現(xiàn)地址譯碼,有全譯碼和部分譯碼 全譯碼電路:全譯碼電路:I/O所有地址線都參加譯碼的電路稱為全譯碼所有地址線都參加譯碼的電路稱為全

18、譯碼電路。溢出的電路。溢出的I/O地址是唯一的,不會產(chǎn)生地址重疊。地址是唯一的,不會產(chǎn)生地址重疊。 部分譯碼電路:部分譯碼電路:I/O地址線只有部分地址信號參加了譯碼的地址線只有部分地址信號參加了譯碼的電路稱為部分譯碼電路。譯出的電路稱為部分譯碼電路。譯出的I/O地址有重疊。地址有重疊。 IOR和和IOW、AEN等信號也可參加譯碼。等信號也可參加譯碼。20六、六、I/O端口地址譯碼(續(xù))端口地址譯碼(續(xù)) I/O用門電路譯碼實(shí)例:(用門電路譯碼實(shí)例:(a)部分譯碼)部分譯碼 (b)全譯碼)全譯碼AENA3A4A5A6A7A8A974LS32IORCS口口地地址址:348H34FHIORAENA

19、0A1A2A3A4A5A6A7A8A9Y74LS3274LS3074LS20口口地地址址2F4H圖圖7.8 用用門門電電路路完完成成地地址址譯譯碼碼(a) I/O端端口口部部分分譯譯碼碼電電路路(b) I/O端端口口全全譯譯碼碼電電路路21六、六、I/O端口地址譯碼(續(xù))端口地址譯碼(續(xù)) 采用譯碼器可同時(shí)譯出多個(gè)端口地址采用譯碼器可同時(shí)譯出多個(gè)端口地址 常用譯碼器有常用譯碼器有3-8譯碼器譯碼器74LS138、4-16譯碼器譯碼器74LS154,雙雙2-4譯碼器譯碼器74LS139等等ABCG2AG2BG174LS138Y0Y1Y2Y3Y4Y5Y6Y774LS138譯譯 碼碼 器器22六、六

20、、I/O端口地址譯碼(續(xù))端口地址譯碼(續(xù)) 例:采用例:采用74LS138譯碼器實(shí)現(xiàn)全譯碼電路譯碼器實(shí)現(xiàn)全譯碼電路A3A4A6A8A9A5A7AENA0A1A2ABCG2AG2BG174LS138Y0Y1Y2Y3Y4Y5Y6Y7358H359H35AH35BH35CH35DH35EH35FH圖圖7.9 利用譯碼器進(jìn)行譯碼的全譯碼電路利用譯碼器進(jìn)行譯碼的全譯碼電路23六、六、I/O端口地址譯碼(續(xù))端口地址譯碼(續(xù)) 開關(guān)式可選擇譯碼電路,讀者可以計(jì)算譯碼器的地址范圍開關(guān)式可選擇譯碼電路,讀者可以計(jì)算譯碼器的地址范圍 IORIOWA0A1A2A3A4A5A6A7A8A9AEN+5VDIP+5V

21、Q7Q6Q5Q0Q1Q2Q3Q4P0P1P2P3P4P5P6P7P=QLS688LS138+5VG1G2BG2AABCG1G2BG2AABCLS138Y0Y1Y2Y3Y4Y5Y6Y7Y0Y1Y2Y3Y4Y5Y6Y7圖圖7.10 開開關(guān)關(guān)式式可可選選擇擇譯譯碼碼電電路路24第二節(jié)第二節(jié) 中斷的基本概念中斷的基本概念25中斷的概念和全過程中斷的概念和全過程* * 什么是中斷?什么是中斷? 所謂中斷就是當(dāng)所謂中斷就是當(dāng)CPU正常運(yùn)行程序時(shí),由于隨機(jī)的事件包正常運(yùn)行程序時(shí),由于隨機(jī)的事件包括內(nèi)部事件和外部事件)引起括內(nèi)部事件和外部事件)引起CPU暫時(shí)中止正在運(yùn)行的程序,暫時(shí)中止正在運(yùn)行的程序,轉(zhuǎn)去執(zhí)行

22、請求中斷的中斷源的中斷服務(wù)程序,中斷服務(wù)結(jié)束后轉(zhuǎn)去執(zhí)行請求中斷的中斷源的中斷服務(wù)程序,中斷服務(wù)結(jié)束后再返回被中止的程序。這一過程被稱為中斷。再返回被中止的程序。這一過程被稱為中斷。* * 中斷源中斷源 廣義地說,能引起廣義地說,能引起CPUCPU產(chǎn)生程序中斷的隨機(jī)事件就是中斷源。產(chǎn)生程序中斷的隨機(jī)事件就是中斷源。例如:外設(shè)故障、傳輸錯(cuò)誤、定時(shí)器時(shí)間到等都可以是中斷源;例如:外設(shè)故障、傳輸錯(cuò)誤、定時(shí)器時(shí)間到等都可以是中斷源;某外設(shè)需要傳送數(shù)據(jù)向某外設(shè)需要傳送數(shù)據(jù)向CPUCPU發(fā)出中斷請求,該外設(shè)即是中斷源。發(fā)出中斷請求,該外設(shè)即是中斷源。對主機(jī)來說,系統(tǒng)掉電、硬件故障、軟件錯(cuò)誤、設(shè)置斷點(diǎn)、單對主

23、機(jī)來說,系統(tǒng)掉電、硬件故障、軟件錯(cuò)誤、設(shè)置斷點(diǎn)、單步操作等也是中斷源。步操作等也是中斷源。26中斷的概念和全過程(續(xù))中斷的概念和全過程(續(xù))* * 中斷過程中斷過程 中斷的全過程分為以下五步:中斷請求,中斷判優(yōu),中斷響中斷的全過程分為以下五步:中斷請求,中斷判優(yōu),中斷響應(yīng),中斷服務(wù)(處理),中斷返回。應(yīng),中斷服務(wù)(處理),中斷返回。 中斷請求中斷請求 中斷請求分為邊沿請求和電平請求。請求信號由低到高或中斷請求分為邊沿請求和電平請求。請求信號由低到高或有高到低的跳變?yōu)檫呇赜|發(fā)請求;請求信號為高電平或低電平有高到低的跳變?yōu)檫呇赜|發(fā)請求;請求信號為高電平或低電平為電平觸發(fā)請求。為電平觸發(fā)請求。 中

24、斷判優(yōu)中斷判優(yōu) 1 1、軟件判優(yōu)、軟件判優(yōu) 2 2、硬件判優(yōu)、硬件判優(yōu) 27中斷的概念和全過程(續(xù))中斷的概念和全過程(續(xù)) 中斷響應(yīng)中斷響應(yīng) 中斷響應(yīng)就是中斷響應(yīng)就是CPU”CPU”中斷中斷”現(xiàn)正在進(jìn)行的處理任現(xiàn)正在進(jìn)行的處理任務(wù),轉(zhuǎn)向中斷請求相對應(yīng)的處理程序的過程。務(wù),轉(zhuǎn)向中斷請求相對應(yīng)的處理程序的過程。 中斷響應(yīng)過程應(yīng)解決如下問題:中斷響應(yīng)過程應(yīng)解決如下問題: * * 保護(hù)斷點(diǎn)保護(hù)斷點(diǎn) * * 保護(hù)現(xiàn)場保護(hù)現(xiàn)場 * * CPU CPU關(guān)中斷關(guān)中斷 * * 轉(zhuǎn)到中斷請求所對應(yīng)的處理程序轉(zhuǎn)到中斷請求所對應(yīng)的處理程序 (控制權(quán)轉(zhuǎn)移:方法有固定入口地址;矢量中斷)(控制權(quán)轉(zhuǎn)移:方法有固定入口地址

25、;矢量中斷) 28中斷的概念和全過程(續(xù))中斷的概念和全過程(續(xù)) 中斷處理(服務(wù))中斷處理(服務(wù)) 中斷處理就是執(zhí)行中斷服務(wù)程序,完成中斷源提中斷處理就是執(zhí)行中斷服務(wù)程序,完成中斷源提出的處理要求。實(shí)際上是軟件編程問題。出的處理要求。實(shí)際上是軟件編程問題。 中服程序與子程序的區(qū)別:隨機(jī)事件與意料之中中服程序與子程序的區(qū)別:隨機(jī)事件與意料之中事件;對主程序透明與不透明。事件;對主程序透明與不透明。 中服程序中如何保護(hù)現(xiàn)場與恢復(fù)現(xiàn)場。中服程序中如何保護(hù)現(xiàn)場與恢復(fù)現(xiàn)場。 若允許中斷嵌套,應(yīng)該在中服程序中開中斷若允許中斷嵌套,應(yīng)該在中服程序中開中斷(STI)STI)。 29中斷的概念和全過程(續(xù))中

26、斷的概念和全過程(續(xù)) 中斷返回中斷返回 中斷返回就是中斷返回就是CPU控制權(quán)由中服程序轉(zhuǎn)移到被中控制權(quán)由中服程序轉(zhuǎn)移到被中斷程序的過程。用斷程序的過程。用IRET指令。指令。IRET指令的功能。指令的功能。30中斷判優(yōu)中斷判優(yōu) 什么是中斷判優(yōu)什么是中斷判優(yōu) CPU管理多個(gè)中斷源時(shí),在收到中斷源發(fā)出的中斷管理多個(gè)中斷源時(shí),在收到中斷源發(fā)出的中斷請求后,需判斷是哪一個(gè)中斷源提出的中斷請求,請求后,需判斷是哪一個(gè)中斷源提出的中斷請求,以便對它進(jìn)行服務(wù)(或處理)以便對它進(jìn)行服務(wù)(或處理) 中斷判優(yōu)的方法中斷判優(yōu)的方法 軟件查詢判優(yōu)法軟件查詢判優(yōu)法 硬件判優(yōu)法(向量中斷和鏈?zhǔn)脚袃?yōu))硬件判優(yōu)法(向量中斷

27、和鏈?zhǔn)脚袃?yōu))31軟件查詢判優(yōu)軟件查詢判優(yōu) CPU響應(yīng)中斷后,轉(zhuǎn)入執(zhí)行一特定地址的中斷服務(wù)程序,該響應(yīng)中斷后,轉(zhuǎn)入執(zhí)行一特定地址的中斷服務(wù)程序,該中斷服務(wù)程序查詢狀態(tài)口,確定發(fā)出中斷請求的外設(shè),然后中斷服務(wù)程序查詢狀態(tài)口,確定發(fā)出中斷請求的外設(shè),然后進(jìn)行相應(yīng)的處理。進(jìn)行相應(yīng)的處理。IRQ0IRQ1IRQ2IRQ3IRQ4IRQ5IRQ6IRQ7D0D1D2D3D4D5D6D7INTR(到CPU)IORY中斷請求F/F圖圖7.11 7.11 軟件判優(yōu)電路軟件判優(yōu)電路32查詢中斷優(yōu)先程序查詢中斷優(yōu)先程序 外設(shè)的中斷優(yōu)先級由查詢的次序決定外設(shè)的中斷優(yōu)先級由查詢的次序決定讀讀各各外外設(shè)設(shè)對對應(yīng)應(yīng)的的狀狀

28、態(tài)態(tài)位位外外設(shè)設(shè) 1 1有有中中斷斷請請求求么么?外外設(shè)設(shè) 2 2有有中中斷斷請請求求么么?外外設(shè)設(shè) 1 1的的中中斷斷處處理理程程序序外外設(shè)設(shè) 2 2的的中中斷斷處處理理程程序序外外設(shè)設(shè) n n有有中中斷斷請請求求么么?外外設(shè)設(shè) n n的的中中斷斷處處理理程程序序主主程程序序中中斷斷查查詢詢處處理理YNYNYN沒沒有有中中斷斷請請求求時(shí)時(shí)返返回回主主程程序序33硬件判優(yōu)(向量中斷法)硬件判優(yōu)(向量中斷法) 多個(gè)外設(shè)經(jīng)中斷控制器向多個(gè)外設(shè)經(jīng)中斷控制器向CPU提出中斷請求,提出中斷請求,CPU響應(yīng)中斷發(fā)出響應(yīng)中斷發(fā)出INTA信號,中斷控制器將相應(yīng)的中信號,中斷控制器將相應(yīng)的中斷向量號(中斷類型號

29、)放在數(shù)據(jù)總線上,斷向量號(中斷類型號)放在數(shù)據(jù)總線上,CPU讀讀取后,即可確定中斷源,查中斷向量表進(jìn)行相應(yīng)處取后,即可確定中斷源,查中斷向量表進(jìn)行相應(yīng)處理。理。 矢量中斷優(yōu)先級控制器原理如下圖,優(yōu)先級判別器矢量中斷優(yōu)先級控制器原理如下圖,優(yōu)先級判別器判別出最高優(yōu)先級請求,將其優(yōu)先級別轉(zhuǎn)換為判別出最高優(yōu)先級請求,將其優(yōu)先級別轉(zhuǎn)換為3位位代碼,送到中斷矢量寄存器的低代碼,送到中斷矢量寄存器的低3位及當(dāng)前在服務(wù)位及當(dāng)前在服務(wù)寄存器;之后,中斷控制邏輯向寄存器;之后,中斷控制邏輯向CPU發(fā)出中斷請求發(fā)出中斷請求信號,信號,CPU中止正執(zhí)行的程序,向中斷控制電路發(fā)中止正執(zhí)行的程序,向中斷控制電路發(fā)回中

30、斷響應(yīng)信號,然后進(jìn)入中斷處理過程?;刂袛囗憫?yīng)信號,然后進(jìn)入中斷處理過程。34硬件判優(yōu)(向量中斷法)硬件判優(yōu)(向量中斷法) 并行判優(yōu)網(wǎng)絡(luò)(向量中斷實(shí)例)并行判優(yōu)網(wǎng)絡(luò)(向量中斷實(shí)例)IRQ0IRQ1IRQ2IRQ3IRQ4IRQ5IRQ6IRQ7中中斷斷屏屏蔽蔽寄寄存存器器IMR中中斷斷在在服服務(wù)務(wù)寄寄存存器器ISR優(yōu)優(yōu)先先級級判判別別器器中中斷斷請請求求寄寄存存器器中中斷斷控控制制邏邏輯輯中中斷斷矢矢量量寄寄存存器器由由中中斷斷請請求求決決定定INTA INTR圖圖7.12 矢矢量量優(yōu)優(yōu)先先級級控控制制器器原原理理圖圖 35硬件判優(yōu)(鏈?zhǔn)脚袃?yōu)法)硬件判優(yōu)(鏈?zhǔn)脚袃?yōu)法) 鏈?zhǔn)脚袃?yōu)電路鏈?zhǔn)脚袃?yōu)電路

31、與并行判優(yōu)不同,鏈?zhǔn)脚袃?yōu)是根據(jù)中斷源在中斷判優(yōu)鏈上與并行判優(yōu)不同,鏈?zhǔn)脚袃?yōu)是根據(jù)中斷源在中斷判優(yōu)鏈上的物理位置來決定其優(yōu)先級別的,越靠近的物理位置來決定其優(yōu)先級別的,越靠近CPU的中斷源的的中斷源的級別越高。其判優(yōu)方法如下圖所示。級別越高。其判優(yōu)方法如下圖所示。+5VINT到CPUINT0INT1INT2EIEOEIEOEIEO中斷源中斷源中斷源0#1#2#圖圖7 7. .1 13 3 鏈鏈?zhǔn)绞脚信袃?yōu)優(yōu)電電路路 36中斷嵌套中斷嵌套 當(dāng)前正在被執(zhí)行的中斷服務(wù)程序可被優(yōu)先級更高的當(dāng)前正在被執(zhí)行的中斷服務(wù)程序可被優(yōu)先級更高的中斷請求中斷中斷請求中斷 優(yōu)先級相同或更低的中斷請求不能中斷當(dāng)前正在被優(yōu)先

32、級相同或更低的中斷請求不能中斷當(dāng)前正在被執(zhí)行的中斷服務(wù)程序執(zhí)行的中斷服務(wù)程序37第三節(jié)第三節(jié) PC機(jī)的中斷系統(tǒng)機(jī)的中斷系統(tǒng)38中斷源類型中斷源類型 外部中斷(硬中斷)外部中斷(硬中斷) 非屏蔽中斷非屏蔽中斷NMI 可屏蔽中斷可屏蔽中斷INTR 內(nèi)部中斷(軟中斷)內(nèi)部中斷(軟中斷) 除法錯(cuò)中斷除法錯(cuò)中斷 溢出錯(cuò)中斷溢出錯(cuò)中斷 斷點(diǎn)中斷斷點(diǎn)中斷 單步中斷單步中斷39PC機(jī)中斷系統(tǒng)機(jī)中斷系統(tǒng) X86的中斷源的中斷源可可屏屏蔽蔽中中斷斷源源的的中中斷斷請請求求INTR單單步步除除法法錯(cuò)錯(cuò)INTnINTO非非屏屏蔽蔽中中斷斷請請求求中中斷斷邏邏輯輯NMI ICPU8259A圖圖7.14 8086的的中中

33、斷斷源源40中斷源的優(yōu)先級中斷源的優(yōu)先級 中斷源中斷源 優(yōu)先級優(yōu)先級 除法錯(cuò),除法錯(cuò),INT n,INTO 最高最高 NMI 次高次高 INTR 次低次低 單步中斷(單步中斷(INT 1) 最低最低41硬中斷與軟中斷的比較硬中斷與軟中斷的比較 硬中斷的特點(diǎn)硬中斷的特點(diǎn) 由外部事件引起,具有隨機(jī)性由外部事件引起,具有隨機(jī)性 CPU需發(fā)中斷響應(yīng)信號(對需發(fā)中斷響應(yīng)信號(對INTR),對),對NMI不發(fā)不發(fā) 可以被屏蔽(對可以被屏蔽(對INTR),對),對NMI不能屏蔽不能屏蔽 由中斷控制器發(fā)中斷類型號(對由中斷控制器發(fā)中斷類型號(對INTR),對),對 NMI,CPU自動(dòng)產(chǎn)生(自動(dòng)產(chǎn)生(02號)號

34、) 軟中斷的特點(diǎn)軟中斷的特點(diǎn) 通常,用中斷指令觸發(fā),中斷的發(fā)生時(shí)刻是可知的通常,用中斷指令觸發(fā),中斷的發(fā)生時(shí)刻是可知的 CPU不發(fā)中斷響應(yīng)信號不發(fā)中斷響應(yīng)信號 中斷類型號(中斷類型號(n)由指令直接給出)由指令直接給出 不可被屏蔽不可被屏蔽42非屏蔽中斷非屏蔽中斷NMI 當(dāng)當(dāng)CPU收到非屏蔽中斷收到非屏蔽中斷NMI請求后,默認(rèn)該請求的請求后,默認(rèn)該請求的中斷類型號為中斷類型號為02H。早期的包括早期的包括3個(gè)非屏蔽中斷源個(gè)非屏蔽中斷源 協(xié)處理器出錯(cuò)協(xié)處理器出錯(cuò) 系統(tǒng)系統(tǒng)RAM奇偶校驗(yàn)錯(cuò)奇偶校驗(yàn)錯(cuò) I/O通道校驗(yàn)錯(cuò)通道校驗(yàn)錯(cuò)43可屏蔽中斷可屏蔽中斷INTR 在在CPU的的INT引腳輸入引腳輸入“

35、高高”有效信號時(shí),則產(chǎn)生有效信號時(shí),則產(chǎn)生硬件可屏蔽中斷請求信號。硬件可屏蔽中斷請求信號。 是否屏蔽由是否屏蔽由FR寄存器的寄存器的IF位決定。位決定。 IF=0,屏蔽中斷(執(zhí)行屏蔽中斷(執(zhí)行CLI指令)指令) IF=1,允許中斷(執(zhí)行允許中斷(執(zhí)行STI指令)指令) 使用中斷控制器管理多個(gè)硬件中斷源使用中斷控制器管理多個(gè)硬件中斷源44內(nèi)部中斷(軟中斷)內(nèi)部中斷(軟中斷) 除法錯(cuò)中斷除法錯(cuò)中斷 執(zhí)行執(zhí)行DIV或或IDIV指令時(shí),商超出機(jī)器表示的最大值,指令時(shí),商超出機(jī)器表示的最大值,即產(chǎn)生即產(chǎn)生0號中斷號中斷 溢出錯(cuò)中斷溢出錯(cuò)中斷 當(dāng)當(dāng)FR的的OF=1時(shí),執(zhí)行時(shí),執(zhí)行INTO指令,即產(chǎn)生指令,

36、即產(chǎn)生4號中斷號中斷 單步中斷單步中斷 當(dāng)當(dāng)FR的的TF=1時(shí),執(zhí)行每條指令,即產(chǎn)生時(shí),執(zhí)行每條指令,即產(chǎn)生1號中斷號中斷 指令中斷指令中斷 斷點(diǎn)中斷斷點(diǎn)中斷 INT 3H(機(jī)器碼為:機(jī)器碼為:CCH),),單字節(jié)指令單字節(jié)指令 INT nH45軟中斷分類軟中斷分類 在在PC系列機(jī)中,系列機(jī)中,INT n分為兩類:分為兩類: ROM-BIOS中斷中斷 I/O設(shè)備控制程序設(shè)備控制程序 BIOS實(shí)用服務(wù)程序?qū)嵱梅?wù)程序 BIOS特殊中斷特殊中斷 BIOS專用參數(shù)中斷專用參數(shù)中斷 DOS中斷中斷 公開的公開的DOS專用中斷(供內(nèi)核代碼專用)專用中斷(供內(nèi)核代碼專用) 未公開的未公開的DOS專用中斷(

37、供內(nèi)核代碼專用)專用中斷(供內(nèi)核代碼專用) DOS可調(diào)用中斷可調(diào)用中斷 系統(tǒng)功能調(diào)用中斷系統(tǒng)功能調(diào)用中斷 DOS保留保留46中斷向量表中斷向量表 中斷向量表及向量號分配中斷向量表及向量號分配 由若干中斷服務(wù)程序入口地址組成的表由若干中斷服務(wù)程序入口地址組成的表 例:例:X86的中斷向量分配表如下圖的中斷向量分配表如下圖 教材后面的附錄教材后面的附錄D給出了中斷向量號的分配給出了中斷向量號的分配I PCSI PCSI PCSI PCS47中斷向量表(續(xù))中斷向量表(續(xù))內(nèi)內(nèi)中中斷斷外外中中斷斷軟軟中中斷斷中中斷斷向向量量地地址址中中斷斷號號0 0- - -0 07 7H H對對應(yīng)應(yīng)的的服服務(wù)務(wù)程

38、程序序中中斷斷號號0 08 8H H- - -0 0F FH H對對應(yīng)應(yīng)的的服服務(wù)務(wù)程程序序( (8 82 25 59 9A A的的8 8級級中中斷斷) )中中斷斷號號1 10 0H H- - -1 1F FH H對對應(yīng)應(yīng)的的服服務(wù)務(wù)程程序序( (R RO OM M- -B BI IO OS S中中斷斷調(diào)調(diào)用用) )中中斷斷號號2 20 0H H- - -2 2F FH H對對應(yīng)應(yīng)的的服服務(wù)務(wù)程程序序( (D DO OS S中中斷斷調(diào)調(diào)用用) )中中斷斷號號4 40 0H H- - -F FF FH H對對應(yīng)應(yīng)的的服服務(wù)務(wù)程程序序( (系系統(tǒng)統(tǒng)保保留留) )0 00 00 00 0: :0 0

39、0 0H Hx x4 40 00 00 00 0: :0 08 8H Hx x4 40 00 00 00 0: :1 10 0H Hx x4 40 00 00 00 0: :2 20 0H Hx x4 40 00 00 00 0: :4 40 0H Hx x4 4IPCSIPCS 00000H00004H中中斷斷向向量量號號0中中斷斷向向量量號號1中中斷斷向向量量號號255003FCH003FFHIPCS MEMORY MEMORY 中中斷斷向向量量表表中中斷斷向向量量號號分分配配表表48外部中斷響應(yīng)與處理過程外部中斷響應(yīng)與處理過程 中斷申請中斷申請 外設(shè)向外設(shè)向CPU發(fā)中斷請求信號申請發(fā)中斷

40、請求信號申請CPU給予服務(wù),給予服務(wù),CPU決定是否響應(yīng)決定是否響應(yīng) 中斷響應(yīng)中斷響應(yīng) 發(fā)中斷響應(yīng)信號發(fā)中斷響應(yīng)信號INTA,獲取中斷類型號,保存斷點(diǎn),獲取中斷類型號,保存斷點(diǎn)及及FR于堆棧,查表獲得中斷服務(wù)程序入口地址于堆棧,查表獲得中斷服務(wù)程序入口地址 中斷服務(wù)程序中斷服務(wù)程序 保護(hù)現(xiàn)場,開中斷,對外設(shè)進(jìn)行服務(wù)(保護(hù)現(xiàn)場,開中斷,對外設(shè)進(jìn)行服務(wù)(I/O操作),操作),恢復(fù)現(xiàn)場恢復(fù)現(xiàn)場 中斷返回中斷返回 從堆棧彈出斷點(diǎn)及從堆棧彈出斷點(diǎn)及FR,回到中斷前的地址繼續(xù)執(zhí)行,回到中斷前的地址繼續(xù)執(zhí)行49外部中斷響應(yīng)與處理過程(續(xù))外部中斷響應(yīng)與處理過程(續(xù))現(xiàn)現(xiàn)行行指指令令結(jié)結(jié)束束內(nèi)內(nèi)部部中中斷斷?

41、NMI ?INTR ?TF=1 ?執(zhí)執(zhí)行行下下條條指指令令類類信信號號 n類類型型號號 2IF=1?類類型型號號 1中中斷斷響響應(yīng)應(yīng),得得到到類類型型號號保保護(hù)護(hù)FRTEMP TFIF=0,TF=0保保護(hù)護(hù)CS,IP進(jìn)進(jìn)行行中中斷斷處處理理NMI?TEMP=1?執(zhí)執(zhí)行行中中斷斷處處理理恢復(fù)IP,CS恢恢復(fù)復(fù)FRIRET恢恢復(fù)復(fù)被被中中斷斷程程序序的的執(zhí)執(zhí)行行YYYYNNNNNNYYYN50中斷操作流程中斷操作流程INT 72HMOV AX, BX向量地址向量地址=72H4=1C8H1C8H1C9H1CAH1CBH1CCH1C4HMEMORYMEMORY502000A0向量73H入口地址向量71

42、H入口地址2050A000IPCSA000:2050中斷服務(wù)程序IRET圖圖7.16 中斷操作流程中斷操作流程51中斷操作流程說明中斷操作流程說明例如:某中斷向量號為例如:某中斷向量號為72H,圖,圖7.16示出了中斷操作示出了中斷操作過程,如下所述:過程,如下所述: 取中斷向量號取中斷向量號72H; 計(jì)算中斷向量地址計(jì)算中斷向量地址724=1C8H; 724+2=1CAH; 取中斷服務(wù)程序入口地址的偏移量送入取中斷服務(wù)程序入口地址的偏移量送入IP, IP=2050H,段地址送入,段地址送入CS,CS=A000H; 轉(zhuǎn)入中斷服務(wù)程序轉(zhuǎn)入中斷服務(wù)程序A0000H:2050H; 中斷返回到中斷返回

43、到INT 72H指令的下一條指令。指令的下一條指令。52中斷響應(yīng)周期(對中斷響應(yīng)周期(對INTR)第第一一個(gè)個(gè)中中斷斷響響應(yīng)應(yīng)周周期期第第二二個(gè)個(gè)中中斷斷響響應(yīng)應(yīng)周周期期T1T1T2T2T3T3T4T4T1T1T2T2T3T3T4T4CLKALELOCKINTAD7- D0向向量量號號 n53第四節(jié)第四節(jié) 可編程中斷控制器可編程中斷控制器 8259A548259A中斷控制器(中斷控制器(PIC)功能)功能 優(yōu)先級排隊(duì)管理優(yōu)先級排隊(duì)管理 完全嵌套完全嵌套 循環(huán)優(yōu)先級循環(huán)優(yōu)先級 特殊完全嵌套方式特殊完全嵌套方式 接受和擴(kuò)充外部設(shè)備的中斷請求接受和擴(kuò)充外部設(shè)備的中斷請求 利用級聯(lián)方式可擴(kuò)展至利用級聯(lián)

44、方式可擴(kuò)展至8片,管理片,管理64個(gè)中斷源個(gè)中斷源 提供中斷類型號提供中斷類型號 中斷請求的允許與屏蔽中斷請求的允許與屏蔽558259A的內(nèi)部結(jié)構(gòu)和外部特性的內(nèi)部結(jié)構(gòu)和外部特性數(shù)數(shù)據(jù)據(jù)總總線線緩緩沖沖讀讀/ /寫寫邏邏輯輯級級聯(lián)聯(lián)緩緩沖沖/ /比比較較控控 制制 電電 路路ISR優(yōu)優(yōu)先先級級分分析析器器A0CSSP/ENCAS0CAS1CAS2內(nèi)內(nèi)部部總總線線INTAIMR中中斷斷屏屏蔽蔽寄寄存存器器I IN NT TR RRDWR在在服服務(wù)務(wù)寄寄存存器器PR中中斷斷請請求求寄寄存存器器D7D0ISRIR0IR1IR2IR78259A(PIC)INTRINTAD7D0A0CSRDWRCAS2C

45、AS1CAS0SP/ENGNDIR0IR1IR2IR3IR4IR5IR6IR7VCC圖圖7.18 8259A的的內(nèi)內(nèi)部部結(jié)結(jié)構(gòu)構(gòu)和和對對外外引引腳腳圖圖568259A的外部特性的外部特性 8259A是是28腳封裝的腳封裝的NMOS芯片,其管腳如上圖所示。芯片,其管腳如上圖所示。18259A與與CPU的連接信號的連接信號 D7D0: CPU與與8259A之間的數(shù)據(jù)線。之間的數(shù)據(jù)線。 RD和和WR: 讀讀/寫命令線,通常分別接寫命令線,通常分別接CPU的的IOR和和IOW信號。信號。 CS和和A0: 片選線和地址線。片選線和地址線。CS由系統(tǒng)的由系統(tǒng)的I/O譯碼器產(chǎn)生,它確定該譯碼器產(chǎn)生,它確定該

46、 8259A在系統(tǒng)在系統(tǒng)I/O空間的基地址。空間的基地址。A0用于選擇用于選擇8259A的內(nèi)部寄存器。的內(nèi)部寄存器。 因只有一條地址線,可知該芯片有兩個(gè)端口地址。因只有一條地址線,可知該芯片有兩個(gè)端口地址。 INT: 中斷請求線,高有效,接到中斷請求線,高有效,接到CPU的的INTR信號。信號。 INTA: CPU或總線控制器或總線控制器8288來的中斷響應(yīng)信號線。在中斷響應(yīng)期來的中斷響應(yīng)信號線。在中斷響應(yīng)期 間,該信號線送間,該信號線送CPU來的負(fù)脈沖。來的負(fù)脈沖。 IR0IR7: 8259A的的8個(gè)異步中斷請求輸入信號。高電平和上升沿表示個(gè)異步中斷請求輸入信號。高電平和上升沿表示 有請求。

47、有請求。578259A的外部特性(續(xù))的外部特性(續(xù)) 2. 8259A與外設(shè)間的連接信號與外設(shè)間的連接信號 CAS2CAS0: 級聯(lián)信號。它是雙向信號,當(dāng)系統(tǒng)的中斷請求多于級聯(lián)信號。它是雙向信號,當(dāng)系統(tǒng)的中斷請求多于8個(gè)時(shí),個(gè)時(shí),可用兩個(gè)或更多的可用兩個(gè)或更多的8259A級聯(lián),其中一個(gè)是主中斷控制器,其余的是從級聯(lián),其中一個(gè)是主中斷控制器,其余的是從控制器。從控制器的控制器。從控制器的INT輸出接到主控制器的一個(gè)輸出接到主控制器的一個(gè)IR輸入上。在中斷響輸入上。在中斷響應(yīng)期間,若主應(yīng)期間,若主8259A判定所響應(yīng)的是由某一從判定所響應(yīng)的是由某一從8259A來的中斷請求,則來的中斷請求,則它在

48、級聯(lián)線上發(fā)出該從它在級聯(lián)線上發(fā)出該從8259A的識別號,并由各個(gè)從的識別號,并由各個(gè)從8259A接收。接收。 SP/EN: 雙向信號線。當(dāng)雙向信號線。當(dāng)8259A與系統(tǒng)數(shù)據(jù)總線之間加雙向總線驅(qū)動(dòng)器與系統(tǒng)數(shù)據(jù)總線之間加雙向總線驅(qū)動(dòng)器以加大以加大8259A的驅(qū)動(dòng)能力時(shí),的驅(qū)動(dòng)能力時(shí),8259A應(yīng)處于應(yīng)處于“緩沖方式緩沖方式”。這時(shí),應(yīng)是。這時(shí),應(yīng)是輸出線,以控制雙向總線驅(qū)動(dòng)器的輸出線,以控制雙向總線驅(qū)動(dòng)器的EN端。若不采用緩沖方式,則是輸端。若不采用緩沖方式,則是輸入線(見圖入線(見圖7.19),由它決定該),由它決定該8259A編程為編程為“從片從片”(=1)還是編程)還是編程為為“主片主片”(

49、=0)。)。 588259A的內(nèi)部結(jié)構(gòu)的內(nèi)部結(jié)構(gòu) 中斷請求寄存器(中斷請求寄存器(IRR) 存放外部中斷源發(fā)出的中斷請求信號,具有鎖存功能存放外部中斷源發(fā)出的中斷請求信號,具有鎖存功能 正在服務(wù)寄存器(正在服務(wù)寄存器(ISR) 存放正在被服務(wù)的中斷請求信號。中斷嵌套時(shí),有多存放正在被服務(wù)的中斷請求信號。中斷嵌套時(shí),有多個(gè)比特同時(shí)被置個(gè)比特同時(shí)被置“1” 中斷屏蔽寄存器(中斷屏蔽寄存器(IMR) “0”允許中斷;允許中斷;“1”屏蔽中斷屏蔽中斷 優(yōu)先權(quán)分析器(優(yōu)先權(quán)分析器(PR) 把把IRR的內(nèi)容與的內(nèi)容與ISR的內(nèi)容進(jìn)行比較,響應(yīng)優(yōu)先級高的的內(nèi)容進(jìn)行比較,響應(yīng)優(yōu)先級高的中斷中斷598259A的

50、內(nèi)部結(jié)構(gòu)(續(xù))的內(nèi)部結(jié)構(gòu)(續(xù)) 數(shù)據(jù)總線緩沖器數(shù)據(jù)總線緩沖器 三態(tài)雙向三態(tài)雙向8位緩沖器作為與系統(tǒng)總線的接口位緩沖器作為與系統(tǒng)總線的接口 讀讀/寫控制邏輯寫控制邏輯 RD WR 一條地址線一條地址線A0,只有兩個(gè)端口。,只有兩個(gè)端口。 (早期的(早期的PC/XT機(jī)器中,兩個(gè)口地址:機(jī)器中,兩個(gè)口地址:20H,21H) 級聯(lián)緩沖器級聯(lián)緩沖器/比較器(比較器(CAS2CAS0) 用于存儲和比較從片中所有用于存儲和比較從片中所有8259的標(biāo)識號的標(biāo)識號608259A的級聯(lián)的級聯(lián) 8259A的級聯(lián),主片可以級聯(lián)的級聯(lián),主片可以級聯(lián)8個(gè)從片個(gè)從片8259A(從從)8259A(主主)I IR R0 0I

51、IR R1 1I IR R2 2I IR R3 3I IR R4 4I IR R5 5I IR R6 6I IR R7 7I IR R8 8I IR R9 9I IR R1111I IR R1212I IR R1313I IR R1414I IR R1515I IR R1010CAS0CAS1CAS2地址地址總線總線控制控制總線總線數(shù)據(jù)數(shù)據(jù)總線總線D7D0D7D0CSA0RD WRINTAINTCS A0RD WR INTAINTSP+5VSP圖圖7.19 8259A7.19 8259A級聯(lián)的級聯(lián)的1515級中斷連接級中斷連接618259A的工作方式的工作方式 中斷觸發(fā)方式中斷觸發(fā)方式 邊沿觸

52、發(fā)方式邊沿觸發(fā)方式 電平觸發(fā)方式電平觸發(fā)方式 中斷查詢方式(若系統(tǒng)中斷源超過中斷查詢方式(若系統(tǒng)中斷源超過64個(gè)時(shí))個(gè)時(shí)) 屏蔽中斷源的方式屏蔽中斷源的方式 普通屏蔽方式普通屏蔽方式 特殊屏蔽方式特殊屏蔽方式 中斷嵌套方式中斷嵌套方式 正常全嵌套方式正常全嵌套方式 特殊全嵌套方式特殊全嵌套方式628259A的工作方式(續(xù))的工作方式(續(xù)) 中斷優(yōu)先級方式中斷優(yōu)先級方式 優(yōu)先級自動(dòng)循環(huán)方式優(yōu)先級自動(dòng)循環(huán)方式 優(yōu)先級指定循環(huán)方式優(yōu)先級指定循環(huán)方式 結(jié)束中斷的處理方式結(jié)束中斷的處理方式 正常中斷結(jié)束方式(正常中斷結(jié)束方式(EOI) 指定中斷結(jié)束方式(指定中斷結(jié)束方式(SEOI) 自動(dòng)中斷結(jié)束方式(自

53、動(dòng)中斷結(jié)束方式(AEOI)638259A的工作方式(續(xù))的工作方式(續(xù)) 幾個(gè)名詞解釋幾個(gè)名詞解釋 正常全嵌套方式正常全嵌套方式 允許比現(xiàn)正處理的優(yōu)先級更高的事件打斷它的處理而被服務(wù)。允許比現(xiàn)正處理的優(yōu)先級更高的事件打斷它的處理而被服務(wù)。 特殊全嵌套方式特殊全嵌套方式 允許同級和高優(yōu)先級的請求可以打斷正進(jìn)行的處理而實(shí)現(xiàn)嵌套。允許同級和高優(yōu)先級的請求可以打斷正進(jìn)行的處理而實(shí)現(xiàn)嵌套。此方式僅用于主片此方式僅用于主片PIC。 中斷結(jié)束命令(中斷結(jié)束命令(EOI) 有三種有三種EOI命令,使得中斷響應(yīng)或處理完后能使相應(yīng)的命令,使得中斷響應(yīng)或處理完后能使相應(yīng)的ISR復(fù)復(fù)位(即位(即ISRi=0)。)。

54、* 正常正常EOI命令:在中斷處理結(jié)束時(shí)使當(dāng)前優(yōu)先級最高的命令:在中斷處理結(jié)束時(shí)使當(dāng)前優(yōu)先級最高的ISR復(fù)位。復(fù)位。 648259A的工作方式(續(xù))的工作方式(續(xù)) 幾個(gè)名詞解釋幾個(gè)名詞解釋 * 指定指定EOI命令(命令(SEOI) :該:該EOI命令指出了所復(fù)位的命令指出了所復(fù)位的ISR的的號。該命令用于不能肯定本級是否最高優(yōu)先級的場合。號。該命令用于不能肯定本級是否最高優(yōu)先級的場合。 * 自動(dòng)自動(dòng)EOI命令(命令(AEOI):該方式下,當(dāng)某一):該方式下,當(dāng)某一IRQ被被CPU響應(yīng)響應(yīng)中斷結(jié)束時(shí)自動(dòng)使其中斷結(jié)束時(shí)自動(dòng)使其ISR為為0。這種方式免除了中斷處理結(jié)束時(shí)。這種方式免除了中斷處理結(jié)束

55、時(shí)一定要向一定要向8259A發(fā)送發(fā)送EOI命令的必要。但是它打亂了正常全嵌套。命令的必要。但是它打亂了正常全嵌套。658259A全嵌套方式流程圖全嵌套方式流程圖主主程程序序STIIR4處處理理 IR3處處理理 IR1處處理理 EOIIRETEOIIRETEOIIRETIF=1IF=1IF=1IF=1IF=1STISTISTIIS10IS30IS40IF=1IS31IF=0IS11IF=0IS41IF=0IR3IR1IR4若若設(shè)設(shè)置置為為固固定定優(yōu)優(yōu)先先級級,順順序序?yàn)闉镮 IR R0 0級級別別最最高高,I IR R7 7最最低低圖圖7 7. .2 23 3 全全嵌嵌套套工工作作方方式式下下的

56、的中中斷斷嵌嵌套套示示意意圖圖IF=1668259A編程(命令字)編程(命令字) 初始化命令字(有初始化命令字(有4個(gè)初始化命令字個(gè)初始化命令字ICW) 芯片控制(工作方式設(shè)置)芯片控制(工作方式設(shè)置)ICW1 中斷類型號中斷類型號ICW2 級聯(lián)方式級聯(lián)方式ICW3 特殊全嵌套、緩沖器方式特殊全嵌套、緩沖器方式ICW4 操作命令字(有操作命令字(有3個(gè)操作命令字個(gè)操作命令字OCW) 中斷屏蔽字中斷屏蔽字OCW1 中斷結(jié)束方式中斷結(jié)束方式OCW2 中斷查詢中斷查詢OCW367初始化命令字初始化命令字1(ICW1) 完成觸發(fā)方式設(shè)置及級聯(lián)方式設(shè)置的功能完成觸發(fā)方式設(shè)置及級聯(lián)方式設(shè)置的功能0 000

57、01ADILTIMSNGLIC40 無無ICW41 有有ICW40 多多片片8259A1 單單片片8259APC機(jī)機(jī)不不用用0 邊邊沿沿觸觸發(fā)發(fā)1 電電位位觸觸發(fā)發(fā)PC機(jī)機(jī)不不用用A0D7D6D5D4D3D2D1D0圖圖7.29 ICW1命命令令字字格格式式 ICW1字字標(biāo)標(biāo)志志68初始化命令字初始化命令字2(ICW2) 完成中斷矢量號設(shè)置的功能完成中斷矢量號設(shè)置的功能 (高(高5位由用戶設(shè)定,低位由用戶設(shè)定,低3位由系統(tǒng)自動(dòng)填入)位由系統(tǒng)自動(dòng)填入)T3T7T6T5T4D3D7D6D5D4D2D1D00 0 0 1 1 1 IR0IR7 A01中中斷斷矢矢量量的的高高5 5位位由由用用戶戶決決

58、定定圖圖7 7. .3 30 0 中中斷斷矢矢量量字字( (I IC CW W2 2) )格格式式69初始化命令字初始化命令字2(ICW2)()(續(xù))續(xù)) 例例 在奇地址端口寫入在奇地址端口寫入00001010B后,對應(yīng)的中斷類型號后,對應(yīng)的中斷類型號為為08-0FH(低(低3位是自動(dòng)填入的)位是自動(dòng)填入的) 在奇地址端口寫入在奇地址端口寫入10000010B后,對應(yīng)的中斷類型號后,對應(yīng)的中斷類型號為為80-87H70初始化命令字初始化命令字3(ICW3) 只在級聯(lián)方式下使用。完成主、從片間連接關(guān)系設(shè)只在級聯(lián)方式下使用。完成主、從片間連接關(guān)系設(shè)置功能置功能 對主片的設(shè)置對主片的設(shè)置IR7IR6

59、IR5IR4IR3IR2IR1IR0A0IRi=1, ,該該IR輸輸入入接接一一從從片片PICIRi=0, ,該該IR直直接接接接主主片片的的中中斷斷輸輸入入171初始化命令字初始化命令字3(ICW3)()(續(xù))續(xù)) 對從片的設(shè)置對從片的設(shè)置ID0ID1ID200000A0從從PIC的的識識別別號號0000號號, ,接接主主PIC的的IR01117號號, ,接接主主PIC的的IR7172初始化命令字初始化命令字3(ICW3)()(續(xù))續(xù)) 例如:一個(gè)主片和兩個(gè)例如:一個(gè)主片和兩個(gè)從片的級聯(lián)如圖,主片從片的級聯(lián)如圖,主片和兩個(gè)從片的和兩個(gè)從片的ICW3分別分別初始化。初始化。INTINTINTI

60、R0IR1IR7IR0IR1IR7IR0IR1IR7IR2IR68259A主主片片8259A從從片片A8259A從從片片BINTA(由由CPU發(fā)發(fā)來來的的中中斷斷響響應(yīng)應(yīng)信信號號)(發(fā)發(fā)到到CPU的的中中斷斷請請求求信信號號)主主片片ICW3=01000100B從從片片AICW3=02H從從片片BICW3=06HCAS0CAS273初始化命令字初始化命令字4(ICW4) ICW4:完成結(jié)束中斷方式、緩沖模式和嵌套模式的設(shè)置功能完成結(jié)束中斷方式、緩沖模式和嵌套模式的設(shè)置功能0SFNM BUFM/SAEOI00PMPIC所所接接的的CPU選選擇擇1:8086/80880: 8080/80851:自

溫馨提示

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

最新文檔

評論

0/150

提交評論