北京理工大學(xué)微機原理課件 第6章_輸入輸出和中斷技術(shù)()_第1頁
北京理工大學(xué)微機原理課件 第6章_輸入輸出和中斷技術(shù)()_第2頁
北京理工大學(xué)微機原理課件 第6章_輸入輸出和中斷技術(shù)()_第3頁
北京理工大學(xué)微機原理課件 第6章_輸入輸出和中斷技術(shù)()_第4頁
北京理工大學(xué)微機原理課件 第6章_輸入輸出和中斷技術(shù)()_第5頁
已閱讀5頁,還剩122頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第第6章章 節(jié)節(jié) 目目 錄錄l6.1 輸入輸出系統(tǒng)概述輸入輸出系統(tǒng)概述l6.2 簡單接口電路簡單接口電路l6.3 輸入輸出的輸入輸出的控制控制方式方式l6.4 中斷技術(shù)中斷技術(shù)l6.5 可編程中斷控制器可編程中斷控制器8259A章章第6章作業(yè)n6.5 n6.7n6.13n6.14n6.15n6.17章章 6.1 輸入輸出系統(tǒng)概述輸入輸出系統(tǒng)概述 處理器和主存儲器之外的部分統(tǒng)稱為輸入處理器和主存儲器之外的部分統(tǒng)稱為輸入輸出系統(tǒng),它包括輸入輸出設(shè)備、輸入輸出輸出系統(tǒng),它包括輸入輸出設(shè)備、輸入輸出接口和輸入輸出軟件。接口和輸入輸出軟件。 計算機在運行過程中所需要的程序和數(shù)計算機在運行過程中所需要的程

2、序和數(shù)據(jù)由外設(shè)輸入,而結(jié)果要輸出到外設(shè)去。據(jù)由外設(shè)輸入,而結(jié)果要輸出到外設(shè)去。接口接口輸入輸出系統(tǒng)輸入輸出系統(tǒng)電源CPU內(nèi)存內(nèi)存接口鍵盤、鼠標(biāo)、顯示器打印機、聲音輸入輸出、圖形輸入、視頻輸入輸出用戶交互接口外存接口磁盤機磁帶機光盤機通信接口終端MODEM電傳機ADCDAC數(shù)字化儀器測控接口系統(tǒng)總線1、I/O接口要解決的問題接口要解決的問題一、一、I/O接口的基本功能接口的基本功能 速度匹配問題速度匹配問題 外設(shè)與外設(shè)與CPU相比,速度差距很大。相比,速度差距很大。 信號電平和驅(qū)動能力問題信號電平和驅(qū)動能力問題 CPU的信號電平的信號電平0 5V,而外設(shè)的電平范圍寬,需要驅(qū),而外設(shè)的電平范圍寬,

3、需要驅(qū)動功率大。動功率大。 信號形式匹配問題信號形式匹配問題 外設(shè)的信號可以是數(shù)字量、開關(guān)量、模擬量等。外設(shè)的信號可以是數(shù)字量、開關(guān)量、模擬量等。 信息格式問題信息格式問題 外設(shè)可以是串行信號、并行信號等。外設(shè)可以是串行信號、并行信號等。 時序配合問題時序配合問題 外設(shè)有自己的時序與控制邏輯,與外設(shè)有自己的時序與控制邏輯,與CPU不一致。不一致。 I/O地址譯碼與設(shè)備選擇地址譯碼與設(shè)備選擇把選中的外設(shè)與總線相接,未選中的外設(shè)與總線把選中的外設(shè)與總線相接,未選中的外設(shè)與總線隔離(高阻態(tài))隔離(高阻態(tài)) 信息的輸入與輸出信息的輸入與輸出通過接口可以向外設(shè)輸入或輸出數(shù)據(jù)。通過接口可以向外設(shè)輸入或輸出

4、數(shù)據(jù)。 信息轉(zhuǎn)換信息轉(zhuǎn)換 信息格式變換、電平轉(zhuǎn)換、碼制轉(zhuǎn)換、傳送管理及聯(lián)信息格式變換、電平轉(zhuǎn)換、碼制轉(zhuǎn)換、傳送管理及聯(lián)絡(luò)控制等功能。絡(luò)控制等功能。 命令、數(shù)據(jù)和狀態(tài)的緩沖與鎖存命令、數(shù)據(jù)和狀態(tài)的緩沖與鎖存接口電路有信息緩沖能力。可以解決速度匹配問題,接口電路有信息緩沖能力。可以解決速度匹配問題,實現(xiàn)實現(xiàn)CPU與外設(shè)之間的同步。與外設(shè)之間的同步。2、I/O接口的功能接口的功能串行接口的功能串行接口的功能1、發(fā)送時將并行數(shù)據(jù)轉(zhuǎn)、發(fā)送時將并行數(shù)據(jù)轉(zhuǎn) 換為串行。換為串行。2、接收時相反。、接收時相反。3、發(fā)送時將、發(fā)送時將TTL電平轉(zhuǎn)電平轉(zhuǎn)換為換為-15V-+15V 。4、接收時相反。、接收時相反。5

5、、異步發(fā)送與接收。、異步發(fā)送與接收。 接口接口外外 設(shè)設(shè)CPU計算機計算機DBWRRDINTRCS譯碼譯碼電路電路AB二、二、I/O接口的編址方式接口的編址方式1、CPU與與I/O接口通信是通過一組寄存器實現(xiàn)的。接口通信是通過一組寄存器實現(xiàn)的。 I/O信息的三種類型:數(shù)據(jù)、命令、狀態(tài)。信息的三種類型:數(shù)據(jù)、命令、狀態(tài)。 傳送這三類信息的通道分別稱為:傳送這三類信息的通道分別稱為: 數(shù)據(jù)端口數(shù)據(jù)端口(I、O)、命令端口、命令端口(O)、狀態(tài)端口、狀態(tài)端口(I) 接口接口外外 設(shè)設(shè)CPU計算機計算機命令端口命令端口數(shù)據(jù)端口數(shù)據(jù)端口狀態(tài)端口狀態(tài)端口DBWRRDINTRCS譯碼譯碼電路電路AB每個端口

6、有自每個端口有自己的地址編號己的地址編號 統(tǒng)一編址統(tǒng)一編址 把把外設(shè)端口外設(shè)端口與與內(nèi)存內(nèi)存統(tǒng)一進統(tǒng)一進行編址。各占據(jù)統(tǒng)一地址行編址。各占據(jù)統(tǒng)一地址空間的不同部分。空間的不同部分。0地址空間地址空間(共共1MB)內(nèi)存地址內(nèi)存地址(960KB)I/O地址地址(64KB)FFFFFHEFFFFHF0000H端口的兩種編址方式:統(tǒng)一編址和獨立編址端口的兩種編址方式:統(tǒng)一編址和獨立編址l 優(yōu)點:優(yōu)點:l 指令統(tǒng)一,靈活;指令統(tǒng)一,靈活;l 訪問控制信號統(tǒng)一。訪問控制信號統(tǒng)一。 l 缺點:缺點:l 內(nèi)存可用地址空間減小內(nèi)存可用地址空間減小 獨立編址獨立編址外設(shè)地址空間和內(nèi)存地址空間外設(shè)地址空間和內(nèi)存地址

7、空間相互獨立相互獨立。優(yōu)點:內(nèi)存地址空間不受優(yōu)點:內(nèi)存地址空間不受I/O編址的影響編址的影響缺點:需要專用缺點:需要專用I/O指令,功能較少指令,功能較少 應(yīng)用:應(yīng)用:Z-80系列和系列和x86系列均采用此方式。系列均采用此方式。如:存儲器讀寫用如:存儲器讀寫用MOV指令指令I(lǐng)/O接口讀寫用接口讀寫用IN或或OUT指令指令l 8088/8086 CPU的的I/O編址方式編址方式l 采用采用I/O獨立編址獨立編址方式方式(但地址線與存儲器共用但地址線與存儲器共用)l 地址線上的地址信號用地址線上的地址信號用 IO/M 來區(qū)分:來區(qū)分:IO/M =1 時為時為I/O地址,地址, IO/M =0 時

8、為存儲器地時為存儲器地址。址。l I/O操作只使用操作只使用20根地址線中的根地址線中的16根根: A15 A0l 可可尋址的尋址的I/O端口數(shù)為端口數(shù)為64K(65536)個個l I/O地址范圍為地址范圍為0FFFFHl IBM PC只使用了只使用了1024個個I/O地址地址(03FFH)三、三、8086/8088 I/O端口訪問端口訪問 四、四、 8086/8088 I/O端口地址的譯碼端口地址的譯碼2、I/O接口地址譯碼電路的設(shè)計原理與存儲器譯碼接口地址譯碼電路的設(shè)計原理與存儲器譯碼電路的設(shè)計思路一樣,由電路的設(shè)計思路一樣,由 A0 A15與與IO/M信號一信號一起進行譯碼即可。起進行譯

9、碼即可。1、根據(jù)系統(tǒng)提供的三總線信號為、根據(jù)系統(tǒng)提供的三總線信號為A0A19、D0D7、RD、WR、IO/M等設(shè)計譯碼電路并與系統(tǒng)等設(shè)計譯碼電路并與系統(tǒng)進行連接。進行連接。A15A12與與非非門門IO/MA15A12與與非非門門IO/M用于存儲器芯片選通用于存儲器芯片選通用于用于I/O芯片選通芯片選通 8088最小模式下的原理圖最小模式下的原理圖 8284A 地址總線(地址總線(20根)根)READYRESETALEA19 A8AD7AD0地址地址鎖存儲器鎖存儲器8282(三片)(三片)DENDT/RIO/MWRRDHOLDHLDAINTRINTACLK收發(fā)器收發(fā)器8286(一片)(一片)數(shù)據(jù)

10、總線(數(shù)據(jù)總線(8根)根)控制總線控制總線READY RESET8088MN/MX+5VA0 A19D0 D7存存儲儲器器系系統(tǒng)統(tǒng)I/O接接口口節(jié)節(jié)l數(shù)據(jù)輸入數(shù)據(jù)輸入/輸出寄存器輸出寄存器暫存輸入暫存輸入/輸出的輸出的數(shù)據(jù)數(shù)據(jù)l命令寄存器命令寄存器存放控制命令,用來設(shè)定接存放控制命令,用來設(shè)定接口功能、工作參數(shù)和工作方式。口功能、工作參數(shù)和工作方式。l狀態(tài)寄存器狀態(tài)寄存器保存外設(shè)當(dāng)前狀態(tài),以供保存外設(shè)當(dāng)前狀態(tài),以供CPU讀取。讀取。1、接口電路中寄存器的作用、接口電路中寄存器的作用l 數(shù)據(jù)輸入接口數(shù)據(jù)輸入接口l 必須具有三態(tài)輸出能力,以便與總線掛接必須具有三態(tài)輸出能力,以便與總線掛接l 外設(shè)有

11、數(shù)據(jù)保持能力時外設(shè)有數(shù)據(jù)保持能力時可用三態(tài)門實現(xiàn)可用三態(tài)門實現(xiàn)l 外設(shè)無數(shù)據(jù)保持能力時外設(shè)無數(shù)據(jù)保持能力時用三態(tài)輸出的鎖存器用三態(tài)輸出的鎖存器實現(xiàn)實現(xiàn)l 數(shù)據(jù)輸出接口數(shù)據(jù)輸出接口l 常用鎖存器實現(xiàn)常用鎖存器實現(xiàn)2、數(shù)據(jù)輸入、數(shù)據(jù)輸入/輸出接口電路的要求輸出接口電路的要求 l 三態(tài)門:三態(tài)門:l 高電平、低電平、高電平、低電平、高阻態(tài)高阻態(tài)l通常一個器件中包含8個三態(tài)門l常用芯片:74LS244l應(yīng)用例子:開關(guān)接口二、簡單數(shù)據(jù)輸入接口設(shè)計二、簡單數(shù)據(jù)輸入接口設(shè)計。74LS244I0I3。E1數(shù)據(jù)總線數(shù)據(jù)總線E1 =0 輸入輸入E1 =1 高阻高阻數(shù)據(jù)總線數(shù)據(jù)總線CS1CS2地地址址譯譯碼碼器器接

12、口電路圖如下:83FCH83FFH譯碼器n鎖存器:由鎖存器:由D觸發(fā)器構(gòu)成(具有鎖存功能)觸發(fā)器構(gòu)成(具有鎖存功能)n通常一個器件包含8個D觸發(fā)器n常用芯片: n74LS273n74LS374四、簡單的輸出接口舉例四、簡單的輸出接口舉例SCPDiQi0XX0111100S74LS273MOV DX,0FFFFHMOV AL,01000001BOUT DX,AL. 1 1+5VRD0D7CPQ0Q7.D0D774LS273R A0A1A7A8A9A15IOW& 74LS374既可做輸入電路,也可做輸出電路。既可做輸入電路,也可做輸出電路。OEQ0D0D1Q1Q2D2D3Q3GNDVCCQ

13、7D7D6Q6Q5D5D4Q4CP1011155120DiOE CPQi101000 xx1高阻圖圖6-7 74LS374引線圖和真值表引線圖和真值表(D)CPQ1 1Di1 1(CP)OEQi圖6-8 74LS374內(nèi)部結(jié)構(gòu)&A15A14A13A12A11A10A9A8&A7A6A5A4A3A2A1A01 11 11 11LOWD0D7CPQ0Q1Q6Q7OED0D774LS374用作輸出接口74LS374用作輸入接口D0D7CPD0D1D7OED0D7譯碼電路A0A15IOR外設(shè)選通五、輸入五、輸入/輸出接口綜合應(yīng)用例子輸出接口綜合應(yīng)用例子n根據(jù)開關(guān)狀態(tài)在根據(jù)開關(guān)狀態(tài)在7段

14、數(shù)碼管上顯示數(shù)字或符號段數(shù)碼管上顯示數(shù)字或符號l共陽極7段數(shù)碼管結(jié)構(gòu)用74LS273作為輸出接口,把數(shù)據(jù)送到7段數(shù)碼管l用74LS244作為輸入口,讀入開關(guān)K0K3的狀態(tài)l當(dāng)開關(guān)的狀態(tài)分別為00001111時,在7段數(shù)碼管上對應(yīng)顯示0F當(dāng)當(dāng).gfedcba的值為C0H(11000000)時,顯示0O1 I1O2 I2O3 I3O4 I4E1 K0K3+5VGG2AG2BCBA1174LS244D0 Q0 | Q1D7 Q2 Q3 Q4CP Q5 Q6 Q7 abcdefgDP7406反相器反相器74LS273Rx81174LS138D0D7IOWIORY0Y1&1A7A4A15A8A3

15、A2A1A0D0D1D2D3譯碼器譯碼器Rx4F0H = 0000 0000 1111 0000F1H = 0000 0000 1111 0001 符號形狀7段碼.gfedcba符號形狀7段碼.gfedcba000111111801111111100000110901100111201011011A01110111301001111B01111100401100110C00111001501101101D01011110601111101E01111001700000111F01110001相應(yīng)程序段如下相應(yīng)程序段如下:Seg7DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H

16、DB7FH,67H,77H,7CH,39H,5EH,79H,71HLEABX, Seg7;取;取7段碼表基地址段碼表基地址MOVAH, 0GO:MOVDX, 0F1H;開關(guān)接口的地址為;開關(guān)接口的地址為F1HINAL, DX;讀入開關(guān)狀態(tài);讀入開關(guān)狀態(tài)ANDAL, 0FH;保留低;保留低4位位MOVSI, AX;作為;作為7段碼表的表內(nèi)位移量段碼表的表內(nèi)位移量MOVAL, BX+SI ;取;取7段碼段碼MOVDX, 0F0H;7段數(shù)碼管接口的地址為段數(shù)碼管接口的地址為F0HOUTDX, ALJMPGO節(jié)節(jié)6.3 輸入輸出的輸入輸出的控制控制方式方式 l無條件傳送無條件傳送l查詢式傳送查詢式傳送

17、l中斷方式傳送中斷方式傳送l直接存儲器存取直接存儲器存取(DMA, Direct Memory Access)主機與外設(shè)之間數(shù)據(jù)傳送的控制方式有以下四種:主機與外設(shè)之間數(shù)據(jù)傳送的控制方式有以下四種:一、一、 無條件傳送方式無條件傳送方式l適用于總是處于準(zhǔn)備好狀態(tài)的外設(shè)適用于總是處于準(zhǔn)備好狀態(tài)的外設(shè)l以下外設(shè)可采用無條件傳送方式:以下外設(shè)可采用無條件傳送方式:l開關(guān)開關(guān)l發(fā)光器件發(fā)光器件(如發(fā)光二極管、如發(fā)光二極管、7段數(shù)碼管、燈泡等段數(shù)碼管、燈泡等)l繼電器繼電器l步進電機步進電機l優(yōu)點:軟件及接口硬件簡單優(yōu)點:軟件及接口硬件簡單l缺點:只適用于簡單外設(shè),適應(yīng)范圍較窄缺點:只適用于簡單外設(shè),適

18、應(yīng)范圍較窄A0A1A2A3A4A5A6A7A8A9A10A11A12A13A14A151&1IORD0圖6-12 開關(guān)K通過輸入接口與系統(tǒng)的連接K+5V10K二、二、 查詢方式查詢方式l適用于外設(shè)并不總是準(zhǔn)備好,而且對傳送速率、適用于外設(shè)并不總是準(zhǔn)備好,而且對傳送速率、傳送效率要求不高的場合。傳送效率要求不高的場合。lCPU在與外設(shè)交換數(shù)據(jù)前必須詢問外設(shè)狀態(tài)在與外設(shè)交換數(shù)據(jù)前必須詢問外設(shè)狀態(tài)“你準(zhǔn)備好沒有?你準(zhǔn)備好沒有?”l對外設(shè)的要求:應(yīng)提供設(shè)備狀態(tài)信息對外設(shè)的要求:應(yīng)提供設(shè)備狀態(tài)信息l對接口的要求:需要提供狀態(tài)端口對接口的要求:需要提供狀態(tài)端口l優(yōu)點優(yōu)點:軟件比較簡單:軟件比較簡單

19、l缺點缺點:CPU效率低,數(shù)據(jù)傳送的實時性差,速度效率低,數(shù)據(jù)傳送的實時性差,速度較慢。較慢。CPU接口接口外設(shè)外設(shè)系統(tǒng)總線狀態(tài)數(shù)據(jù)控制圖6-13 查詢工作方式示意圖取外設(shè)狀態(tài)外設(shè)準(zhǔn)備就緒否傳送數(shù)據(jù)NY傳送完否NY結(jié)束圖6-14 單一外設(shè)時查詢方式流程圖1號外設(shè)準(zhǔn)備就緒NY對1號外設(shè)服務(wù)2號外設(shè)準(zhǔn)備就緒NY對2號外設(shè)服務(wù)3號外設(shè)準(zhǔn)備就緒NY對3號外設(shè)服務(wù)n號外設(shè)準(zhǔn)備就緒NY對n號外設(shè)服務(wù)圖6-15 多個外設(shè)時的查詢工作方式流程圖三、三、 中斷方式中斷方式 lCPU無需循環(huán)查詢外設(shè)狀態(tài),而是外部設(shè)備在無需循環(huán)查詢外設(shè)狀態(tài),而是外部設(shè)備在需要進行數(shù)據(jù)傳送時才中斷需要進行數(shù)據(jù)傳送時才中斷CPU正在進

20、行的工正在進行的工作,讓作,讓CPU來為其服務(wù)。即來為其服務(wù)。即CPU在沒有外設(shè)請在沒有外設(shè)請求時可以去做更重要的事情,有請求時才去傳求時可以去做更重要的事情,有請求時才去傳輸數(shù)據(jù),從而大大提高了輸數(shù)據(jù),從而大大提高了CPU的利用率。的利用率。l優(yōu)點:優(yōu)點:CPU效率高,實時性好,速度快。效率高,實時性好,速度快。l缺點:程序編制較為復(fù)雜。缺點:程序編制較為復(fù)雜。6.3.4 DMA傳輸傳輸 l 前三種前三種I/O方式都需要方式都需要CPU作為中介:作為中介: 1)軟件方面軟件方面:外設(shè)與內(nèi)存之間的數(shù)據(jù)傳送是通過:外設(shè)與內(nèi)存之間的數(shù)據(jù)傳送是通過 CPU執(zhí)行程序來完成的;執(zhí)行程序來完成的;2)硬件

21、方面硬件方面:I/O接口和存儲器的讀寫控制信號、地接口和存儲器的讀寫控制信號、地址信號都是由址信號都是由CPU發(fā)出的(總線由發(fā)出的(總線由CPU控制)。控制)。CPU外設(shè)外設(shè)外設(shè)外設(shè) 存儲器存儲器缺點:程序的執(zhí)行速度限定了傳送的最大速度缺點:程序的執(zhí)行速度限定了傳送的最大速度(約為幾十(約為幾十KB/秒)。秒)。 優(yōu)點:數(shù)據(jù)傳輸由DMA控制器即硬件來控制,數(shù)據(jù)直接在內(nèi)存和外設(shè)之間交換,可以達到很高的傳輸速率(可達幾MB/秒)DMA傳送原理示意圖 系統(tǒng)總線系統(tǒng)總線CPUDMAC存儲器存儲器外設(shè)外設(shè) AENIOWMEMWMEMRIORMEMWMEMRIOWIORAENHOLDHLDA DRQDAC

22、KAENIOWIORMEMWMEMR 外設(shè)發(fā)出外設(shè)發(fā)出DMA請求信號請求信號DRQ DMAC向向CPU申請總線申請總線HOLD CPU響應(yīng),釋放總線控制權(quán),并發(fā)出響應(yīng),釋放總線控制權(quán),并發(fā)出HLDA信號信號 DMAC得到總線控制權(quán),并向外設(shè)發(fā)出響應(yīng)信號得到總線控制權(quán),并向外設(shè)發(fā)出響應(yīng)信號DACK 由由DMAC發(fā)出各種控制信號,控制外設(shè)與存儲器之發(fā)出各種控制信號,控制外設(shè)與存儲器之 間的數(shù)據(jù)傳送間的數(shù)據(jù)傳送 數(shù)據(jù)傳送完后,數(shù)據(jù)傳送完后,DMAC撤銷撤銷HOLD信號信號 CPU釋放釋放HLDA信號,并重新控制總線信號,并重新控制總線節(jié)節(jié)6.4 中斷技術(shù)中斷技術(shù)6.4.1 中斷的基本概念中斷的基本概

23、念正在看書正在看書電話鈴響電話鈴響接電話接電話繼續(xù)看書繼續(xù)看書實際場景實際場景執(zhí)行程序執(zhí)行程序事件發(fā)生事件發(fā)生事件處理事件處理繼續(xù)執(zhí)行程序繼續(xù)執(zhí)行程序計算機計算機中斷處理中斷處理中斷請求及響應(yīng)中斷請求及響應(yīng)中斷返回中斷返回中斷的定義中斷的定義 lCPU執(zhí)行程序時,由于發(fā)生了某種隨機的事件執(zhí)行程序時,由于發(fā)生了某種隨機的事件(外外部或內(nèi)部部或內(nèi)部),引起,引起CPU暫時中斷正在運行的程序,暫時中斷正在運行的程序,轉(zhuǎn)去執(zhí)行一段特殊的服務(wù)程序轉(zhuǎn)去執(zhí)行一段特殊的服務(wù)程序(稱為中斷服務(wù)程序稱為中斷服務(wù)程序或中斷處理程序或中斷處理程序),以處理該事件,該事件處理完,以處理該事件,該事件處理完后又返回被中斷

24、的程序繼續(xù)執(zhí)行,這一過程稱為后又返回被中斷的程序繼續(xù)執(zhí)行,這一過程稱為中斷。中斷。與子程序的區(qū)別?與子程序的區(qū)別?只有執(zhí)行到只有執(zhí)行到CALL時才調(diào)用時才調(diào)用子程序,而中斷是隨機的。子程序,而中斷是隨機的。中斷源中斷源n引起引起CPU中斷的事件中斷的事件中斷源。例如:中斷源。例如:外設(shè)外設(shè)請求輸入輸出數(shù)據(jù),報告故障等請求輸入輸出數(shù)據(jù),報告故障等事件事件掉電、硬件故障、軟件錯誤、非法操作、定時掉電、硬件故障、軟件錯誤、非法操作、定時時間到等。時間到等。n中斷源分為:外部中斷、內(nèi)部中斷中斷源分為:外部中斷、內(nèi)部中斷內(nèi)部中斷:內(nèi)部中斷:CPU內(nèi)部執(zhí)行程序時自身產(chǎn)生的中斷(如內(nèi)部執(zhí)行程序時自身產(chǎn)生的中

25、斷(如INT指令、溢出、被指令、溢出、被0除等)除等)外部中斷:外部中斷:CPU以外的設(shè)備、部件產(chǎn)生的中斷以外的設(shè)備、部件產(chǎn)生的中斷n 8086/8088的外部中斷信號:的外部中斷信號:INTR、NMIINTR可屏蔽中斷請求,高電平有效,受可屏蔽中斷請求,高電平有效,受IF標(biāo)志的控標(biāo)志的控制。制。IF=1時,執(zhí)行完當(dāng)前指令后時,執(zhí)行完當(dāng)前指令后CPU對它作出響應(yīng)。對它作出響應(yīng)。 NMI非屏蔽中斷請求,上升沿有效,任何時候非屏蔽中斷請求,上升沿有效,任何時候CPU都要響應(yīng)此中斷請求信號。都要響應(yīng)此中斷請求信號。為何計算機中要引入中斷?為何計算機中要引入中斷?l 避免了避免了CPU不斷檢測外設(shè)狀態(tài)

26、的過程,提不斷檢測外設(shè)狀態(tài)的過程,提高了高了CPU的利用率。的利用率。l 實現(xiàn)對特殊事件的實時響應(yīng)。如多任務(wù)系實現(xiàn)對特殊事件的實時響應(yīng)。如多任務(wù)系統(tǒng)操作系統(tǒng)中:統(tǒng)操作系統(tǒng)中: l 缺頁中斷缺頁中斷l(xiāng) 設(shè)備中斷設(shè)備中斷l(xiāng) 各類異常各類異常l 實時鐘,。等實時鐘,。等中斷過程中斷過程n五個步驟:五個步驟:中斷請求中斷請求中斷判優(yōu)中斷判優(yōu)(有時還要進行中斷源識別有時還要進行中斷源識別)中斷響應(yīng)中斷響應(yīng)中斷服務(wù)中斷服務(wù)中斷返回中斷返回以下以以下以外部中斷外部中斷為主介紹這五個步驟。為主介紹這五個步驟。1)中斷請求)中斷請求n外設(shè)接口(中斷源)發(fā)出中斷請求信號,送到外設(shè)接口(中斷源)發(fā)出中斷請求信號,送

27、到CPU的的INTR或或NMI引腳;引腳;中斷請求信號:邊沿請求,電平請求中斷請求信號:邊沿請求,電平請求例如,例如,NMI為邊沿請求,為邊沿請求,INTR為電平請求為電平請求n中斷請求信號應(yīng)保持到中斷被處理為止;中斷請求信號應(yīng)保持到中斷被處理為止;nCPU響應(yīng)中斷后,中斷請求信號應(yīng)及時撤銷。響應(yīng)中斷后,中斷請求信號應(yīng)及時撤銷。n在在8086/8088系統(tǒng)中,外設(shè)的中斷要經(jīng)過系統(tǒng)中,外設(shè)的中斷要經(jīng)過8259A可可編程中斷控制器編程中斷控制器(PIC)的排隊判優(yōu)后向的排隊判優(yōu)后向CPU發(fā)出。發(fā)出。CPUINTRINTAIR0IR1IR7D0D7INTAINTCS A0RDWRD0D7RDWR。8

28、259ASP/ENCAS0CAS1CAS2中斷源中斷源2)中斷判優(yōu))中斷判優(yōu)n多個中斷源產(chǎn)生中斷,多個中斷源產(chǎn)生中斷,CPU首先為誰服務(wù)?首先為誰服務(wù)?中斷優(yōu)先級排隊問題。中斷優(yōu)先級排隊問題。n中斷優(yōu)先級控制要處理兩種情況:中斷優(yōu)先級控制要處理兩種情況:對對同時產(chǎn)生同時產(chǎn)生的中斷:應(yīng)首先處理優(yōu)先級別較高的中斷;若優(yōu)先級的中斷:應(yīng)首先處理優(yōu)先級別較高的中斷;若優(yōu)先級別相同,則按先來先服務(wù)的原則處理;別相同,則按先來先服務(wù)的原則處理;對對非同時產(chǎn)生非同時產(chǎn)生的中斷:低優(yōu)先級別的中斷處理程序允許被高優(yōu)先的中斷:低優(yōu)先級別的中斷處理程序允許被高優(yōu)先級別的中斷源所中斷級別的中斷源所中斷即允許即允許中斷嵌

29、套中斷嵌套。n中斷優(yōu)先級的控制方法中斷優(yōu)先級的控制方法硬件判優(yōu)硬件判優(yōu)鏈?zhǔn)脚袃?yōu)、并行判優(yōu)(中斷向量法)鏈?zhǔn)脚袃?yōu)、并行判優(yōu)(中斷向量法)軟件判優(yōu)軟件判優(yōu)順序查詢中斷請求,先查詢的先服務(wù)(即先查詢的順序查詢中斷請求,先查詢的先服務(wù)(即先查詢的優(yōu)先級別高)優(yōu)先級別高)n通常將通常將中斷判優(yōu)中斷判優(yōu)與與中斷源識別中斷源識別合并在一起進行處理。合并在一起進行處理。x86系統(tǒng)中,這項任務(wù)由系統(tǒng)中,這項任務(wù)由PIC和和CPU共同完成。共同完成。軟件判優(yōu)軟件判優(yōu)CPUD0D7INTR并行輸入接口1中斷請求寄存器IRQ0IRQ1IRQ2IRQ3IRQ4IRQ5IRQ6IRQ7圖6-18 軟件判優(yōu)的結(jié)構(gòu)原理圖斷點

30、保護IRQ0IRQ1IRQ7中斷返回YYYNNN中斷源0的中斷服務(wù)程序中斷源1的中斷服務(wù)程序中斷源7的中斷服務(wù)程序圖6-19 軟件中斷優(yōu)先權(quán)查詢流程圖 中斷矢量法:中斷矢量法:為不同的中斷源提供不同的中斷為不同的中斷源提供不同的中斷類型碼(中斷向量碼),即為每一個中斷分配類型碼(中斷向量碼),即為每一個中斷分配一個編號,一個編號,CPU根據(jù)類型碼確定中斷源。根據(jù)類型碼確定中斷源。(8086/8088即采用此種方法)即采用此種方法)硬件判優(yōu)硬件判優(yōu) 鏈?zhǔn)脚袃?yōu):將鏈?zhǔn)脚袃?yōu):將中斷源構(gòu)成一個鏈。中斷源構(gòu)成一個鏈。菊花鏈邏輯電路菊花鏈邏輯電路INTAinIREQINTR&=1 1INTAout

31、DB三態(tài)門中斷向量碼E外設(shè)接口外設(shè)接口中斷確認(rèn)中斷確認(rèn)菊花鏈菊花鏈邏輯電路邏輯電路3)中斷響應(yīng))中斷響應(yīng)n在每條指令的最后一個時鐘周期,在每條指令的最后一個時鐘周期,CPU檢檢測測INTR或或NMI信號。若以下條件成立,則信號。若以下條件成立,則CPU響應(yīng)中斷:響應(yīng)中斷: 當(dāng)前指令執(zhí)行完。對當(dāng)前指令執(zhí)行完。對INTR,還應(yīng)滿足以下條,還應(yīng)滿足以下條件件n當(dāng)前指令是當(dāng)前指令是STI和和IRET,則下條指令也要執(zhí)行完。,則下條指令也要執(zhí)行完。n當(dāng)前指令帶有當(dāng)前指令帶有LOCK、REP等指令前綴時,則把它等指令前綴時,則把它們看成一個整體,要求完整地執(zhí)行完;們看成一個整體,要求完整地執(zhí)行完; 對對I

32、NTR,CPU應(yīng)處于開中斷狀態(tài),即應(yīng)處于開中斷狀態(tài),即IF=1; 當(dāng)前沒有復(fù)位當(dāng)前沒有復(fù)位(RESET)和保持和保持(HOLD)信號。信號。 若若NMI和和 INTR 同時發(fā)生,則首先響應(yīng)同時發(fā)生,則首先響應(yīng)NMI。nCPU中斷響應(yīng)時,要做下述三項工作:中斷響應(yīng)時,要做下述三項工作:向中斷源發(fā)出向中斷源發(fā)出/INTA中斷響應(yīng)信號;中斷響應(yīng)信號;斷點保護,包括斷點保護,包括CS、IP和和PSW(FLAGS)。)。這主要是保證中斷結(jié)束后能返回被中斷的程序。這主要是保證中斷結(jié)束后能返回被中斷的程序。獲得中斷服務(wù)程序首地址(入口地址)。獲得中斷服務(wù)程序首地址(入口地址)。如何得到中斷處理程序的首地址?

33、如何得到中斷處理程序的首地址?n固定入口法固定入口法n中斷向量法(中斷向量法(8086采用的方法)采用的方法)4)中斷處理(中斷服務(wù))中斷處理(中斷服務(wù))n中斷服務(wù)子程序特點中斷服務(wù)子程序特點為為“遠遠”過程(類型為過程(類型為FAR)要用要用IRET指令返回指令返回n中斷服務(wù)子程序要做的工作中斷服務(wù)子程序要做的工作保護現(xiàn)場保護現(xiàn)場(PUSH regs) 開中斷開中斷(STI) 進行中斷處理進行中斷處理 關(guān)中斷關(guān)中斷(CLI)恢復(fù)現(xiàn)場恢復(fù)現(xiàn)場(POP regs) 中斷返回中斷返回(IRET) 6.4.2 8088的中斷系統(tǒng)的中斷系統(tǒng)n 與中斷有關(guān)的控制線為:與中斷有關(guān)的控制線為:NMI、INT

34、R、/INTAn 8088系統(tǒng)的中斷源系統(tǒng)的中斷源 內(nèi)部中斷內(nèi)部中斷n 除法溢出:類型號除法溢出:類型號0,商大于目的操作數(shù)所能表達的范圍時產(chǎn)生。,商大于目的操作數(shù)所能表達的范圍時產(chǎn)生。n 單步中斷:類型號單步中斷:類型號1,TF=1時產(chǎn)生(當(dāng)前指令需執(zhí)行完)時產(chǎn)生(當(dāng)前指令需執(zhí)行完)n 斷點中斷:類型號斷點中斷:類型號3,這是一個軟件中斷,即,這是一個軟件中斷,即INT 3指令。指令。n 溢出中斷:類型號溢出中斷:類型號4,這是一個軟件中斷,即,這是一個軟件中斷,即INTO指令。指令。n 軟件中斷:即軟件中斷:即INT n指令,類型號指令,類型號n(0-255)。 外部中斷外部中斷n 非屏蔽

35、中斷非屏蔽中斷NMI:類型號:類型號2,不可用軟件屏蔽,不可用軟件屏蔽,CPU必須響應(yīng)它。必須響應(yīng)它。n 可屏蔽中斷可屏蔽中斷INTR:類型號由:類型號由PIC提供。提供。IF=1時時CPU才能響應(yīng)。才能響應(yīng)。一、一、8086/8088中斷源類型中斷源類型NMII N TR中斷邏輯中斷邏輯軟件中斷指令軟件中斷指令溢出中斷溢出中斷除法錯除法錯單步中斷單步中斷非屏蔽中斷請求非屏蔽中斷請求中斷控中斷控制器制器8259APIC8086/8088CPU內(nèi)部邏內(nèi)部邏輯輯斷點中斷斷點中斷可可屏屏蔽蔽中中斷斷請請求求n43012n8088系統(tǒng)采用系統(tǒng)采用中斷類型中斷類型(向量向量)碼碼來識別不同的中來識別不同

36、的中斷源,斷源,每個中斷源都有一個與它相對應(yīng)的中斷類每個中斷源都有一個與它相對應(yīng)的中斷類型碼型碼 。溢出、斷點、除法溢出、單步、非屏蔽中斷的類型碼溢出、斷點、除法溢出、單步、非屏蔽中斷的類型碼為為固定值固定值軟件軟件中斷的類型碼由中斷的類型碼由指令指令給出給出可屏蔽中斷的類型碼由可屏蔽中斷的類型碼由PIC給出給出nCPU響應(yīng)響應(yīng)INTR中斷時,會產(chǎn)生兩個中斷響應(yīng)總中斷時,會產(chǎn)生兩個中斷響應(yīng)總線周期,要求線周期,要求PIC在第在第2個中斷響應(yīng)總線周期把中個中斷響應(yīng)總線周期把中斷類型碼放到數(shù)據(jù)總線上,供斷類型碼放到數(shù)據(jù)總線上,供CPU讀入。讀入。二、中斷向量表(二、中斷向量表(IVT) n 存放各

37、類中斷的中斷服務(wù)程序的存放各類中斷的中斷服務(wù)程序的入口地址入口地址(段和(段和偏移)偏移) ;n 表的地址位于內(nèi)存的表的地址位于內(nèi)存的00000H003FFH,共,共256個入口個入口;n 每個入口占用每個入口占用4 Bytes,低字為段內(nèi)偏移,高字,低字為段內(nèi)偏移,高字為段基址為段基址;n 根據(jù)中斷類型號根據(jù)中斷類型號獲得中斷服務(wù)程序入口的方法獲得中斷服務(wù)程序入口的方法: (n為為中斷類型號中斷類型號)中斷向量在中斷向量在IVT中的存放地址中的存放地址 n4CS段基址IP偏移量CS段基址IP偏移量CS段基址IP偏移量CS段基址IP偏移量CS段基址IP偏移量CS段基址IP偏移量CS段基址IP偏

38、移量中斷類型0的中斷向量中斷類型1的中斷向量中斷類型2的中斷向量中斷類型3的中斷向量中斷類型4的中斷向量中斷類型32的中斷向量中斷類型255的中斷向量00000H00004H00008H0000CH00010H00014H00080H00084H003FCH003FFH6-23 中斷向量表結(jié)構(gòu)中斷向量表結(jié)構(gòu)中斷處理程序中斷處理程序STIPUSH DSIRETINT 4AHNOPF0類型類型49H中斷向量中斷向量0600類型類型4BH中斷向量中斷向量180:1240:1250:1260:1270:1280:1290:12A0:12B0:12C0:12D0:12E0:12F1806F000IPCS

39、F000:1806從堆棧中彈出從堆棧中彈出FLAG、CS、IP向量計算向量計算=4AH 4=128HFLAG、CS、IP入棧等入棧等三、軟中斷的執(zhí)行過程三、軟中斷的執(zhí)行過程四、四、8086/8088 CPU的中斷響應(yīng)過程的中斷響應(yīng)過程 n內(nèi)部中斷響應(yīng)過程內(nèi)部中斷響應(yīng)過程 無中斷響應(yīng)周期無中斷響應(yīng)周期中斷類型碼固定或由指令(中斷類型碼固定或由指令(INT n)給出)給出響應(yīng)過程步驟:響應(yīng)過程步驟: 將類型碼乘將類型碼乘4,計算出中斷向量的地址,計算出中斷向量的地址 標(biāo)志寄存器入棧標(biāo)志寄存器入棧 清除清除IF、TF,即屏蔽新的,即屏蔽新的INTR和單步中斷和單步中斷 保存斷點,將斷點處的保存斷點,

40、將斷點處的 CS壓棧壓棧將斷點處的將斷點處的 IP壓棧壓棧 (I P)=(n*4+1):(n*4+0) (CS)=(n*4+3):(n*4+2) 執(zhí)行中斷服務(wù)程序。執(zhí)行中斷服務(wù)程序。中斷響應(yīng)過程(續(xù))中斷響應(yīng)過程(續(xù))n外部中斷響應(yīng)過程外部中斷響應(yīng)過程非屏蔽中斷,與內(nèi)部中斷響應(yīng)過程類似非屏蔽中斷,與內(nèi)部中斷響應(yīng)過程類似 可屏蔽中斷可屏蔽中斷(時序見圖時序見圖6.24) /INTA(1),),PIC進行優(yōu)先級排隊判優(yōu)處理進行優(yōu)先級排隊判優(yōu)處理 /INTA(2),),PIC把中斷類型碼放到把中斷類型碼放到DB上,由上,由CPU讀入讀入 壓棧壓棧 FLAG 清除清除 IF、TF CS入棧入棧 IP入

41、棧入棧 (I P)=(n*4+1):(n*4+0) (CS)=(n*4+3):(n*4+2)T1T2T3T4T1T2T3T4中斷類型碼CLKALELOCKINTAD0D7第一個INTA總線周期第一個INTA總線周期圖6-24 8086/8088對INTR的中斷響應(yīng)時序IRET1、FLAGS、CS、IP入棧入棧2、清除、清除IF、TF3、轉(zhuǎn)中斷服務(wù)處理程序、轉(zhuǎn)中斷服務(wù)處理程序 INTHAND(通過中斷矢量表)(通過中斷矢量表)產(chǎn)生中斷產(chǎn)生中斷1、FLAGS、CS、IP出棧出棧2、返回斷點,繼續(xù)執(zhí)行、返回斷點,繼續(xù)執(zhí)行 下一條指令下一條指令中斷返回中斷返回INTHAND:;PROGRAM IN E

42、XECUTION可屏蔽中斷的執(zhí)行過程可屏蔽中斷的執(zhí)行過程8088系統(tǒng)中各中斷的優(yōu)先級系統(tǒng)中各中斷的優(yōu)先級l 優(yōu)先級從高到低順序如下:優(yōu)先級從高到低順序如下:l 內(nèi)部中斷內(nèi)部中斷l(xiāng) NMIl INTRl 單步中斷單步中斷節(jié)節(jié)6.5 可編程中斷控制器可編程中斷控制器8259AlPIC,Programmable Interrupt Controllerl可對可對8個中斷源實現(xiàn)優(yōu)先級控制個中斷源實現(xiàn)優(yōu)先級控制 l可擴展至對可擴展至對64個中斷源實現(xiàn)優(yōu)先級控制個中斷源實現(xiàn)優(yōu)先級控制 l可編程設(shè)置不同工作方式可編程設(shè)置不同工作方式l根據(jù)中斷源向根據(jù)中斷源向x86提供不同中斷類型碼提供不同中斷類型碼可編程芯

43、片:可以用程序設(shè)置芯片的工作方式,控制其工作過程。可編程芯片:可以用程序設(shè)置芯片的工作方式,控制其工作過程。 A0:是是8259A內(nèi)部寄存器內(nèi)部寄存器的選擇信號。它與的選擇信號。它與/WR、/RD、/CS等信號相配合,對不同的內(nèi)部寄存器進行讀寫。等信號相配合,對不同的內(nèi)部寄存器進行讀寫。 使用中,通常接地址總線的使用中,通常接地址總線的A1或或A0等。等。 INT:8259A中斷請求輸出信號,直接接到中斷請求輸出信號,直接接到CPU的的INTR輸輸入端。入端。 /INTA:中斷響應(yīng)輸入信號。在中斷響應(yīng)過程中中斷響應(yīng)輸入信號。在中斷響應(yīng)過程中CPU的中斷的中斷響應(yīng)信號響應(yīng)信號由此端進入由此端進入

44、8259A。 CAS0-CAS2:級聯(lián)控制線。當(dāng)多片級聯(lián)控制線。當(dāng)多片8259A級聯(lián)工作時,其級聯(lián)工作時,其中中一片為主片,一片為主片, 其他均為從片其他均為從片。主片主片8259A: CAS0-CAS2為為輸出輸出; 從片從片8259A: CAS0-CAS2為為輸入輸入。 當(dāng)某從片提出中斷請求時,主片通過當(dāng)某從片提出中斷請求時,主片通過CAS0-CAS2送出送出相應(yīng)的編碼給從片,使從片的中斷被允許。相應(yīng)的編碼給從片,使從片的中斷被允許。 SPEN:為雙功能引線。為雙功能引線。當(dāng)當(dāng)8259A工作在工作在緩沖模式緩沖模式時,它為時,它為輸出輸出,用以控制緩,用以控制緩沖器的傳送方向:沖器的傳送方

45、向:當(dāng)數(shù)據(jù)當(dāng)數(shù)據(jù): CPU8259A 時,時,SP/EN輸出為輸出為高電平高電平;當(dāng)數(shù)據(jù)當(dāng)數(shù)據(jù): 8259ACPU 時,時,SP/EN輸出為輸出為低電平低電平。在在8259A工作在工作在非緩沖模式非緩沖模式時,它為時,它為輸入輸入,用于指定,用于指定8259A是主片還是從片:是主片還是從片:SP1的的8259A為主片,為主片,SP0的的 8259A為從片。只為從片。只有一有一 個個8259A時,它應(yīng)接高電平時,它應(yīng)接高電平。IR0-IR7:為中斷請求輸入信號,與外設(shè)的中斷請求線相為中斷請求輸入信號,與外設(shè)的中斷請求線相連。上升沿或高電平連。上升沿或高電平(可通過編程設(shè)定可通過編程設(shè)定)時表示有

46、中斷請求到時表示有中斷請求到達。達。CPUINTRINTAIR0IR1IR7D0D7INTAINTCS A0RDWRD0D7RDWR。8259ASP/ENCAS0CAS1CAS2級連電路連接方法6.5.1 8259A的內(nèi)部結(jié)構(gòu)的內(nèi)部結(jié)構(gòu)數(shù)據(jù)總線緩沖器讀/寫控制電路級聯(lián)緩沖/比較器D0D7CAS0CAS1CAS2SP/ENRDWDA0CS內(nèi)部控制邏輯電路當(dāng)前終端服務(wù)寄存器(ISR)優(yōu)先權(quán)判別電路中斷請求電路(IRR)中斷屏蔽寄存器(IMR)內(nèi)部總線INTINTA圖6-27 8259A內(nèi)部結(jié)構(gòu)框圖n 8259A的內(nèi)部結(jié)構(gòu) 中斷請求寄存器中斷請求寄存器IRRn保存從保存從IR0IR7來的中斷請求信號

47、,某位為來的中斷請求信號,某位為1表示對表示對應(yīng)的應(yīng)的IRi有中斷請求有中斷請求 。中斷服務(wù)寄存器中斷服務(wù)寄存器ISR n保存所有正在服務(wù)的中斷源,某位為保存所有正在服務(wù)的中斷源,某位為1表示對應(yīng)的表示對應(yīng)的IRi中斷中斷正在被服務(wù)正在被服務(wù) ,可能同時有幾位為,可能同時有幾位為1。中斷屏蔽寄存器中斷屏蔽寄存器IMRn存放中斷屏蔽字,某位存放中斷屏蔽字,某位=1表示對應(yīng)的表示對應(yīng)的IRi輸入輸入被屏蔽被屏蔽 。中斷優(yōu)先權(quán)判別電路中斷優(yōu)先權(quán)判別電路 n 確定是否向確定是否向CPU發(fā)出中斷請求,中斷響應(yīng)時確定發(fā)出中斷請求,中斷響應(yīng)時確定ISR的哪位應(yīng)置位及把相應(yīng)中斷的類型碼放到數(shù)據(jù)總線上的哪位應(yīng)置

48、位及把相應(yīng)中斷的類型碼放到數(shù)據(jù)總線上 。 6.5.2 8259A的工作過程的工作過程l 8259A對外部可屏蔽中斷請求的處理過程如下:對外部可屏蔽中斷請求的處理過程如下:l當(dāng)某當(dāng)某IRi有效時,有效時,IRR相應(yīng)位置相應(yīng)位置1。l若有效的若有效的IRi未被屏蔽未被屏蔽,則,則向向CPU發(fā)出中斷請求。發(fā)出中斷請求。l若若CPU處于開中斷狀態(tài),則在當(dāng)前指令執(zhí)行完后,發(fā)處于開中斷狀態(tài),則在當(dāng)前指令執(zhí)行完后,發(fā)/INTA。l檢測到檢測到第第1個個/INTA信號后,信號后,置置ISRi=1,IRRi=0。l檢測到檢測到第第2個個/INTA信號后,信號后,把把ISRi=1中最高優(yōu)先級的中最高優(yōu)先級的中斷中

49、斷類型碼放到類型碼放到DB上。上。l若工作在若工作在AEOI方式,在第方式,在第2個個/INTA結(jié)束時,使結(jié)束時,使ISRi復(fù)位復(fù)位;否則由否則由CPU發(fā)出發(fā)出EOI命令使命令使ISRi復(fù)位。復(fù)位。6.5.3 8259A的工作方式的工作方式l8259A的工作方式:的工作方式:l 中斷觸發(fā)方式中斷觸發(fā)方式l 屏蔽中斷源的方式屏蔽中斷源的方式l 中斷優(yōu)先方式中斷優(yōu)先方式l 中斷嵌套方式中斷嵌套方式l 中斷結(jié)束處理方式中斷結(jié)束處理方式 l 級聯(lián)工作方式級聯(lián)工作方式一、中斷觸發(fā)方式一、中斷觸發(fā)方式l邊沿觸發(fā)邊沿觸發(fā)l IRi出現(xiàn)上升沿表示有中斷請求出現(xiàn)上升沿表示有中斷請求 l電平觸發(fā)電平觸發(fā)l IRi

50、出現(xiàn)高電平表示有中斷請求,但應(yīng)及時撤除出現(xiàn)高電平表示有中斷請求,但應(yīng)及時撤除高電平,否則可能引起第二次中斷。高電平,否則可能引起第二次中斷。l在第在第1個個/INTA結(jié)束前,結(jié)束前,IRi必須保持高電平。必須保持高電平。 二、屏蔽中斷源的方式二、屏蔽中斷源的方式l 普通普通屏蔽方式:屏蔽方式:IMR屏蔽字決定了屏蔽字決定了允許或禁止允許或禁止某某位位IRi所對應(yīng)的中斷所對應(yīng)的中斷:l IMi=1 禁止,禁止,IMi=0 允許(即正常屏蔽方式)。允許(即正常屏蔽方式)。l 特殊特殊屏蔽方式:屏蔽方式:l提供了允許提供了允許較低優(yōu)先級較低優(yōu)先級的中斷能夠得到響應(yīng)的特殊的中斷能夠得到響應(yīng)的特殊手段。

51、手段。l原理原理:假定當(dāng)前正在處理:假定當(dāng)前正在處理IR6,先,先進入特殊屏蔽方式,進入特殊屏蔽方式,然后設(shè)置然后設(shè)置IM6=1。這時,。這時,除除IR6外外的所有中斷請求的所有中斷請求均能得到響應(yīng)。均能得到響應(yīng)。l特殊屏蔽方式中只能用特殊屏蔽方式中只能用SEOI命令結(jié)束中斷。命令結(jié)束中斷。三、中斷優(yōu)先方式三、中斷優(yōu)先方式l 中斷優(yōu)先方式中斷優(yōu)先方式 l兩類優(yōu)先級控制方式:兩類優(yōu)先級控制方式:固定優(yōu)先級固定優(yōu)先級和和循環(huán)優(yōu)先級循環(huán)優(yōu)先級l固定優(yōu)先級方式固定優(yōu)先級方式l所有中斷請求所有中斷請求IRi的中斷優(yōu)先級固定不變的中斷優(yōu)先級固定不變l優(yōu)先級排列順序優(yōu)先級排列順序可通過編程可通過編程改變改變

52、l加電后加電后8259A的默認(rèn)方式,默認(rèn)優(yōu)先級順序從高到低的默認(rèn)方式,默認(rèn)優(yōu)先級順序從高到低為為IR0IR7IR7IR6IR5IR4IR3IR2IR1IR07654321032107654最低級最低級最高級最高級最高級最高級最低級最低級優(yōu)先級優(yōu)先級IR7IR6IR5IR4IR3IR2IR1IR0默認(rèn)優(yōu)先級默認(rèn)優(yōu)先級優(yōu)先級可編程改變優(yōu)先級可編程改變l 循環(huán)優(yōu)先級方式循環(huán)優(yōu)先級方式 l 中斷源中斷源輪流輪流處于最高優(yōu)先級,即自動中斷優(yōu)先級循環(huán)處于最高優(yōu)先級,即自動中斷優(yōu)先級循環(huán)l 初始優(yōu)先級初始優(yōu)先級順序可用編程改變順序可用編程改變l 某中斷請求某中斷請求IRi被處理后,其優(yōu)先級別自動降為被處理后

53、,其優(yōu)先級別自動降為最低最低,原來比它低一級的中斷上升為原來比它低一級的中斷上升為最高級最高級。 21076543最高級最低級IR7IR6IR5IR4IR3IR2IR1IR001000000IR4的服務(wù)結(jié)束以后的服務(wù)結(jié)束以后IR7IR6IR5IR4IR3IR2IR1IR076543210最低級最高級ISR內(nèi)容內(nèi)容IR4的服務(wù)結(jié)束以前的服務(wù)結(jié)束以前01010000ISRil 在中斷處理過程中允許被更高優(yōu)先級的事件所中斷稱為中斷嵌套。l 8259A有兩種中斷嵌套方式:l 普通全嵌套普通全嵌套方式(默認(rèn)方式)方式(默認(rèn)方式) 一中斷正被處理時,只有更高優(yōu)先級的事件可一中斷正被處理時,只有更高優(yōu)先級的

54、事件可以打斷當(dāng)前的中斷處理過程而被服務(wù)。以打斷當(dāng)前的中斷處理過程而被服務(wù)。l 特殊全嵌套特殊全嵌套方式方式 一中斷正被處理時,允許一中斷正被處理時,允許同級同級或更高優(yōu)先級的或更高優(yōu)先級的事件打斷當(dāng)前的中斷處理過程而被服務(wù)。事件打斷當(dāng)前的中斷處理過程而被服務(wù)。四、中斷嵌套四、中斷嵌套方式方式僅用于多個僅用于多個8259A級連時的主級連時的主8259A。D.主主8259AIR0IR1IR2IR3IR4IR5IR6IR7一般嵌套方式:一般嵌套方式:從片的從片的INT被主片被主片封鎖,故更高級別封鎖,故更高級別的的IR0-IR2中斷也無中斷也無法得到響應(yīng)法得到響應(yīng)特殊嵌套方式:特殊嵌套方式:因主片不

55、封鎖從片的因主片不封鎖從片的INT,故級別高的,故級別高的IR0-IR2中斷可以得到響應(yīng)。中斷可以得到響應(yīng)。(但但IR3-IR7仍被本從片仍被本從片封鎖封鎖)C.假定假定IR3發(fā)生中發(fā)生中斷斷,并獲得服務(wù)并獲得服務(wù)一般嵌套方式:一般嵌套方式:IR4的中斷被服務(wù)的中斷被服務(wù)時,這些中斷將時,這些中斷將被封鎖。被封鎖。B.特殊嵌套方式:特殊嵌套方式:IR4的中斷被服的中斷被服務(wù) 時 , 只 封 鎖務(wù) 時 , 只 封 鎖IR5-IR7。A.I NTE.從從8259AI NTIR0IR1IR2IR3IR4IR5IR6IR7一般全嵌套方式與特殊全嵌套方式的區(qū)別一般全嵌套方式與特殊全嵌套方式的區(qū)別 去去C

56、PU五、中斷結(jié)束處理方式五、中斷結(jié)束處理方式l 當(dāng)某一IRi中斷被服務(wù)時,ISR中的相應(yīng)位ISRi=1。當(dāng)服務(wù)結(jié)束后,則必須清零該ISRi位。使ISRi=0是通過向8259A發(fā)出中斷結(jié)束命令(EOI命令)實現(xiàn)的。l 三種EOI命令l自動EOI(AEOI)(自動EOI方式)l非指定EOI(NSEOI)(正常EOI方式)l指定EOI(SEOI)(特殊EOI方式)l AEOI:在第在第2個個/INTA結(jié)束時,由結(jié)束時,由8259A使使ISRi自自動復(fù)位;動復(fù)位;l因不保留當(dāng)前正在服務(wù)的中斷的狀態(tài),故因不保留當(dāng)前正在服務(wù)的中斷的狀態(tài),故AEOI不能用不能用于中斷嵌套方式于中斷嵌套方式l NSEOI:由

57、由CPU發(fā)出正常發(fā)出正常EOI命令命令,該,該EOI命令使命令使ISRi=1的位中優(yōu)先級最高的那一位復(fù)位。的位中優(yōu)先級最高的那一位復(fù)位。l用于普通全嵌套方式用于普通全嵌套方式l SEOI:由:由CPU發(fā)出一條發(fā)出一條SEOI命令命令,該,該EOI命令中命令中指出了所要復(fù)位的指出了所要復(fù)位的ISR的位號。的位號。 l用于特殊屏蔽方式用于特殊屏蔽方式中斷服務(wù)程序中斷服務(wù)程序向向從從PIC發(fā)發(fā)EOI命令命令讀讀從從PIC的的ISR全全0?向主向主PIC發(fā)發(fā)EOI命令命令YIRET恢復(fù)現(xiàn)場恢復(fù)現(xiàn)場Nn特殊全嵌套方式特殊全嵌套方式下的下的EOI處理處理n只有當(dāng)只有當(dāng)從從8259A的中斷全部處理的中斷全部

58、處理完后,才能向完后,才能向主主8259A發(fā)發(fā)EOI命令。命令。六、級聯(lián)工作方式六、級聯(lián)工作方式l 單片單片8259A可支持可支持8個中斷源;個中斷源;l 采用多片采用多片8259A級聯(lián),可最多支持級聯(lián),可最多支持64個中斷源。個中斷源。 n片片8259A可支持可支持8*(n-1)+8-(n-1)=7n+1個中斷源;個中斷源;l 級聯(lián)時只能有一片級聯(lián)時只能有一片8259A為主片,其余的均為從片;為主片,其余的均為從片;l 涉及到的涉及到的8259A引腳引腳包括:包括:lCAS0 - CAS2lSP/ENlIRilINT 主片主片8259AIR0 IR1IR2IR3IR4IR5 IR6 IR7I

59、NTINTRINTAINTA 從片從片1IR0 IR1IR2IR3IR4IR5 IR6 IR7INTINTA 從片從片8IR0 IR1IR2IR3IR4IR5 IR6 IR7INTINTA6.5.4 8259A的編程使用的編程使用l 8259A的控制命令分為的控制命令分為l 初始化命令字初始化命令字ICWl ICW1ICW4l 向向8259A寫入寫入ICW的過程稱為初始化編程的過程稱為初始化編程l 操作命令字操作命令字OCW l OCW1OCW3l 向向8259A寫入寫入OCW的過程稱為操作方式編程的過程稱為操作方式編程8259A內(nèi)部寄存器的尋址方法內(nèi)部寄存器的尋址方法/CS/RD/WRA0D

60、4D3讀寫操作讀寫操作010000寫寫OCW2寫寫OCW3寫寫ICW1寫寫ICW2,ICW3,ICW4,OCW1(順序?qū)戫樞驅(qū)懭肴?00101x1xx00101xx讀出讀出IRR、ISR(由(由OCW3區(qū)分)區(qū)分)讀出讀出IMRl需要需要/CS、A0、/RD、/WR和和D4、D3的配合的配合l內(nèi)部寄存器的訪問方法如下表:內(nèi)部寄存器的訪問方法如下表: 8259A的控制命令字n初始化8259A必須從ICW1開始寫寫ICW1意味著重新初始化意味著重新初始化8259A寫入寫入ICW1后,后,8259A的狀態(tài)如下:的狀態(tài)如下:n清除清除ISR和和IMR(全全0);n將中斷優(yōu)先級設(shè)成初始狀態(tài):將中斷優(yōu)先級設(shè)成初始狀態(tài):IR0最高,最高,IR7最低

溫馨提示

  • 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

提交評論