輸入輸出及中斷系統_第1頁
輸入輸出及中斷系統_第2頁
輸入輸出及中斷系統_第3頁
輸入輸出及中斷系統_第4頁
輸入輸出及中斷系統_第5頁
已閱讀5頁,還剩115頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、12第八章、輸入第八章、輸入/ /輸出及中斷系統輸出及中斷系統 輸入輸入/輸出接口概述輸出接口概述 PC機機I/O端口布局端口布局 中斷系統中斷系統 DMA控制器控制器 可編程接口芯片及應用可編程接口芯片及應用 3第一節、輸入輸出接口概述第一節、輸入輸出接口概述 n輸入輸入/輸出輸出(I/O)是指微處理器與外界交換信息,即通信。是指微處理器與外界交換信息,即通信。 n外部設備的特點外部設備的特點:l(1)品種繁多:有機械式、機電式和電子式等;品種繁多:有機械式、機電式和電子式等;l(2)工作速度一般要比微處理器慢得多,而且速度的分工作速度一般要比微處理器慢得多,而且速度的分布也相當寬;布也相當

2、寬;l(3)信號類型與電平種類不只一種,既有數字電壓信號,信號類型與電平種類不只一種,既有數字電壓信號,也有連續的電流信號或其它的模擬信號。而且信號電也有連續的電流信號或其它的模擬信號。而且信號電平的高低大小很不統一,范圍廣,離散性大;平的高低大小很不統一,范圍廣,離散性大;l(4)信息的結構格式復雜。常見的例子有電傳打字機、信息的結構格式復雜。常見的例子有電傳打字機、盒式磁帶機與軟盤驅動器等。這些設備之間的信息格盒式磁帶機與軟盤驅動器等。這些設備之間的信息格式也各不相同,這就增加了接口設計的復雜性。式也各不相同,這就增加了接口設計的復雜性。4nI/O端口電路的組成:端口電路的組成:l(1)數

3、據緩沖寄存器數據緩沖寄存器 l(2)控制寄存器控制寄存器l(3)狀態寄存器狀態寄存器l(4)數據總線和地址總線緩沖器數據總線和地址總線緩沖器l(5)端口地址譯碼器端口地址譯碼器l(6)內部控制邏輯內部控制邏輯l(7)聯絡控制邏輯聯絡控制邏輯5信息交換方式信息交換方式61程序查詢方式程序查詢方式由由CPU查詢外設的運行狀態,直接利用查詢外設的運行狀態,直接利用I/O指令指令控制數據的傳送過程。程序查詢方式是在程序控控制數據的傳送過程。程序查詢方式是在程序控制下進行信息傳送的,通過查詢狀態信息,同步制下進行信息傳送的,通過查詢狀態信息,同步CPU和外設的操作。和外設的操作。特點:特點: 接口電路簡

4、單;接口電路簡單; 主機與設備串行工作,效率低;主機與設備串行工作,效率低; 對突發事件不能響應。對突發事件不能響應。72中斷傳送方式中斷傳送方式 當外設數據準備完畢時向當外設數據準備完畢時向CPU發出中斷請求,發出中斷請求,CPU響應響應中斷時完成數據的傳送過程。外設提交中斷請求時,中斷時完成數據的傳送過程。外設提交中斷請求時,CPU才會響應中斷,才會響應中斷,CPU的其它時間可以處理正常的事務。的其它時間可以處理正常的事務。中斷:中斷: 計算機在執行正常程序的過程中,出現某些異計算機在執行正常程序的過程中,出現某些異常事件或某種請求時,處理機暫停執行當前程序,轉而執常事件或某種請求時,處理

5、機暫停執行當前程序,轉而執行更緊急的程序,并在執行結束后,自動恢復執行原先程行更緊急的程序,并在執行結束后,自動恢復執行原先程序的過程。序的過程。 特點:特點: 硬件結構較查詢方式復雜些,服務開銷時間較大;硬件結構較查詢方式復雜些,服務開銷時間較大; 主程序與設備并行運行,主程序與設備并行運行,CPU效率較高;效率較高; 具有實時響應的能力。具有實時響應的能力。 83. 直接存儲器存取直接存儲器存取(DMA)方式方式這種傳送方式是由外圍設備這種傳送方式是由外圍設備(或或DMA控制控制)來控制來控制的,它能直接在外圍設備與存儲器之間進行數據的,它能直接在外圍設備與存儲器之間進行數據傳送,而不需要

6、傳送,而不需要CPU的干預,適用于進行大量的的干預,適用于進行大量的高速數據傳送。高速數據傳送。94.通道方式通道方式CPU將部分權力下放給通道,由通道實現將部分權力下放給通道,由通道實現對外設的統一管理,并負責外設與內存間的對外設的統一管理,并負責外設與內存間的數據傳送。數據傳送。特點:特點: CPU效率更高;效率更高; 硬件開銷更大。硬件開銷更大。105. 外圍處理機方式外圍處理機方式外圍處理機外圍處理機(PPU)方式是通道方式的進一步方式是通道方式的進一步發展。由于發展。由于PPU基本上獨立于主機工作,它基本上獨立于主機工作,它的結構更接近一般處理機,甚至就是微小計的結構更接近一般處理機

7、,甚至就是微小計算機。在一些系統中,設置了多臺算機。在一些系統中,設置了多臺PPU,分,分別承擔別承擔I/O控制、通信、維護診斷等任務。控制、通信、維護診斷等任務。從某種意義上來講,這種系統已變成分布式從某種意義上來講,這種系統已變成分布式的多機系統。的多機系統。11第二節、第二節、PCPC機機I/OI/O端口布局端口布局 nI/O端口尋址方式端口尋址方式 l選擇出選中的選擇出選中的I/O接口芯片接口芯片(稱為片選稱為片選)l選擇出該芯片中的某一寄存器選擇出該芯片中的某一寄存器(稱為字選稱為字選) 121. 1. 獨立的獨立的I/OI/O尋址方式尋址方式又稱獨立編址方式。又稱獨立編址方式。I/

8、O 設備的地址空間和存貯器地址空間是兩個獨設備的地址空間和存貯器地址空間是兩個獨立的空間。立的空間。CPU 使用專門的使用專門的IN( 輸入輸入) 和和OUT(輸出輸出) 等等I/O指令來實現指令來實現數據傳送。工作時,數據傳送。工作時,CPU 對指令進行譯碼(例如:給出對指令進行譯碼(例如:給出M/IO信號),信號),區分是存儲器讀寫操作還是區分是存儲器讀寫操作還是I/O讀寫操作。讀寫操作。優點:優點: 不占用存儲器地址空間;不占用存儲器地址空間;缺點:缺點: 需專門的需專門的I/O指令。指令。132.2.存儲器映像編址方式存儲器映像編址方式把每一外設端口視為一個存儲單元,統一編排地址,即外

9、把每一外設端口視為一個存儲單元,統一編排地址,即外設和存儲存儲器使用的是同一個地址空間。這樣,就可利設和存儲存儲器使用的是同一個地址空間。這樣,就可利用訪內指令去訪問用訪內指令去訪問I/O端口,而不需要專門的端口,而不需要專門的I/O 指令。指令。CPU 采用存貯器讀寫控制信號采用存貯器讀寫控制信號(如如MEMR、MEMW),并,并經地址譯碼控制來確定是訪問存貯器還是訪問經地址譯碼控制來確定是訪問存貯器還是訪問I/O 設備。設備。優點:簡化指令系統,無需專門的優點:簡化指令系統,無需專門的I/O指令;指令;缺點:缺點:I/O端口地址占用了一部分存儲器地址空間;端口地址占用了一部分存儲器地址空間

10、; I/O指令碼長,執行速度慢。指令碼長,執行速度慢。143.I/O3.I/O端口地址分配端口地址分配lI/O接口硬件分類接口硬件分類 (1) 系統板上的系統板上的I/O芯片芯片 (2) I/O擴展槽上的接口控制卡擴展槽上的接口控制卡 lI/O端口地址分配端口地址分配 lI/O端口地址選用的原則端口地址選用的原則 (1) 凡是被系統配置所占用了的地址一律不能使用;凡是被系統配置所占用了的地址一律不能使用;(2) 未被占用的地址未被占用的地址(計算機廠家申明保留的地址除外計算機廠家申明保留的地址除外),用戶可以使用;用戶可以使用;(3) 一般,用戶可使用一般,用戶可使用30031FH地址,為了避

11、免與其地址,為了避免與其他用戶開發的插板發生地址沖突,最好采用地址開他用戶開發的插板發生地址沖突,最好采用地址開關。關。15第三節第三節 中斷技術中斷技術中斷的基本概念中斷的基本概念8088CPU的中斷系統的中斷系統可編程中斷控制器可編程中斷控制器8259A中斷程序設計中斷程序設計163.1 中斷的基本概念中斷的基本概念什么是中斷什么是中斷中斷源和中斷優先權中斷源和中斷優先權中斷服務程序中斷服務程序斷點和中斷現場斷點和中斷現場硬件中斷和軟件中斷硬件中斷和軟件中斷171、什么是中斷、什么是中斷在在CPU正常運行程序時,正常運行程序時,由于內部或外部某個由于內部或外部某個非預料事件非預料事件的發生

12、,的發生,使使CPU暫停正在運行的程序,暫停正在運行的程序,而轉去執行而轉去執行處理引起中斷事件的程序處理引起中斷事件的程序,然后再返回被中斷了的程序,繼續執行。然后再返回被中斷了的程序,繼續執行。這個過程就是這個過程就是中斷中斷。18中斷服務程序中斷服務程序1中斷服務程序中斷服務程序 2非預料事件非預料事件1CPU執行流程執行流程非預料事件非預料事件 2192、中斷源和中斷優先權、中斷源和中斷優先權q引起中斷的因素很多,引起中斷的因素很多, 將發出中斷申請的外設或內部原因將發出中斷申請的外設或內部原因, ,稱為稱為中斷源中斷源q 給每個中斷源指定一個優先權,稱為給每個中斷源指定一個優先權,稱

13、為中斷優先權中斷優先權q 當多個中斷源同時發出中斷請求時,當多個中斷源同時發出中斷請求時, CPU按照中斷優先權的高低順序按照中斷優先權的高低順序, ,依次響應。依次響應。203、中斷服務程序、中斷服務程序處理中斷源,完成其所要求功能的程序,處理中斷源,完成其所要求功能的程序, 稱稱中斷服務程序中斷服務程序(中斷例行程序、中斷子程)。(中斷例行程序、中斷子程)。CPU執行流程執行流程中斷服務程序中斷服務程序1 1中斷服務程序中斷服務程序2非預料事件非預料事件2非預料事件非預料事件121非預料事件是指事件發生的時間無法預知,非預料事件是指事件發生的時間無法預知, 即中斷源何時產生中斷不確定,是隨

14、機的。即中斷源何時產生中斷不確定,是隨機的。但事件的性質及處理方法則是已知的,但事件的性質及處理方法則是已知的, 確定的,確定的, 即中斷服務程序是事先編寫好的即中斷服務程序是事先編寫好的, 只是何時執行未知。只是何時執行未知。中斷源產生中斷的隨機性,中斷源產生中斷的隨機性,使中斷服務程序的執行也具有隨機性,使中斷服務程序的執行也具有隨機性,即何時執行中斷服務程序不是在程序中安排好的。即何時執行中斷服務程序不是在程序中安排好的。224、斷點和中斷現場、斷點和中斷現場斷點斷點: : 是指是指CPU執行的現行程序被中斷時的下一條指令的地址執行的現行程序被中斷時的下一條指令的地址, ,又稱斷點地址。

15、又稱斷點地址。中斷現場中斷現場: : 是指是指CPU轉去執行中斷服務程序前的運行狀態,轉去執行中斷服務程序前的運行狀態,包括包括CPU內部各寄存器、斷點地址等。內部各寄存器、斷點地址等。231000:150H 、 、 、 、 、MOV AX, 0ADD AX, DXMOV DI , AX、 PUSH AX 、 、 IRETCPU在執行此指令時,在執行此指令時,某中斷源發申請中斷某中斷源發申請中斷;CPU在執行完該指令后,在執行完該指令后,轉去執行中斷子程轉去執行中斷子程地址地址1000:150H為斷點為斷點斷點概念斷點概念: :24l早期早期中斷概念的引入,中斷概念的引入, 是為解決是為解決C

16、PU與外設間的速度匹配問題,與外設間的速度匹配問題, 提高提高CPU 的工作效率。的工作效率。 中斷源主要是由外部硬件產生。中斷源主要是由外部硬件產生。l當今的中斷技術,當今的中斷技術, 不再限于外部硬件產生中斷不再限于外部硬件產生中斷( (稱稱硬件中斷硬件中斷或或外中斷外中斷 ) ), 還可由還可由CPU內部產生內部產生 ( (如被零除操作如被零除操作) ), 或者由程序預先安排,即由指令調用中斷服務程序。或者由程序預先安排,即由指令調用中斷服務程序。 (稱(稱軟件中斷軟件中斷或或內中斷內中斷)5、硬件中斷和軟件中斷、硬件中斷和軟件中斷251000:150H 、 、 、 、 、MOV AH,

17、 01INT 21HCMP AL, 0Dh、 PUSH AX 、 、IRET用指令調用中斷程序用指令調用中斷程序軟件中斷軟件中斷用指令用指令調用中斷程序調用中斷程序263.2 8088CPU的中斷系統的中斷系統一、一、8088CPU的中斷分類的中斷分類二、二、8088CPU的中斷優先權的中斷優先權三、三、8088CPU響應中斷的過程響應中斷的過程四、四、8088CPU如何獲取中斷類型號如何獲取中斷類型號27一、一、 8088CPU的中斷分類的中斷分類按中斷源的不同,中斷分為按中斷源的不同,中斷分為內中斷內中斷和和外中斷外中斷。1、內中斷(軟中斷)、內中斷(軟中斷)指指CPU執行某些特殊操作或由

18、執行某些特殊操作或由INT指令引起的中斷指令引起的中斷 被零除被零除操作或操作或OF=1時執行時執行INTO指令引起指令引起 使用使用DEBUG中的單步或斷點設置操作引起中的單步或斷點設置操作引起 執行執行INTn 指令引起指令引起28指外部芯片通過指外部芯片通過CPU的的INTR引腳或引腳或NMI引腳引腳發出中斷申請引起的中斷。發出中斷申請引起的中斷。當當INTR上有高電平信號上有高電平信號當當NMI上有上升沿信號上有上升沿信號2、外中斷(硬中斷)外中斷(硬中斷)8088GNDA14A13A12A11A10A9A8AD7AD6AD5AD4AD3AD2AD1AD0NMIINTRCLKGND最大

19、組態(最小組態)最大組態(最小組態)VCCA15A16/S3A17/S4A18/S5A19/S6(HIGH)(SSO)MN/MXRDRQ/GT0(HOLD)RQ/GT1(HLDA)LOCK(WR)S2(IO/M)S1(DT/R)S0(DEN)QS0(ALE)QS1(INTA)TESTREADYRESET29l 可屏蔽中斷可屏蔽中斷 由由INTR引腳引起的中斷,稱引腳引起的中斷,稱可屏蔽中斷可屏蔽中斷。 CPU是否響應是否響應INTR引腳上的中斷請求取決于引腳上的中斷請求取決于IF標志:標志: IF=1,CPU響應響應INTR引腳上的中斷請求引腳上的中斷請求 IF=0,CPU不響應不響應INTR

20、引腳上的中斷請求引腳上的中斷請求 即當即當IF=0時,將時,將INTR引腳上的中斷申請屏蔽引腳上的中斷申請屏蔽。 l 非屏蔽中斷非屏蔽中斷 由由NMI引腳引起的中斷,稱引腳引起的中斷,稱非屏蔽中斷非屏蔽中斷。 當當NMI引腳上產生上升沿信號,引腳上產生上升沿信號,CPU必響應此中斷請求,即必響應此中斷請求,即NMI引腳上的中引腳上的中斷請求斷請求不受不受IF標志的控制標志的控制, IF不能屏蔽不能屏蔽NMI引腳上的中斷請求。引腳上的中斷請求。但在系統通電瞬間或屏蔽寄存器最高位置但在系統通電瞬間或屏蔽寄存器最高位置“0 0”可屏蔽可屏蔽NMINMI。將最高位置。將最高位置“1 1”又可以開放又可

21、以開放NMINMI。MOV DXMOV DX,A0HA0H;A0HBFHA0HBFH為屏蔽寄存器為屏蔽寄存器 MOV DXMOV DX,A0HA0H MOV AL MOV AL,00H 00H MOV AL MOV AL,80H80H OUT DX OUT DX,ALAL;屏蔽;屏蔽NMI NMI OUT DX OUT DX,ALAL;開放;開放NMINMI30保留保留(ALT(ALT打印機打印機) )中斷邏輯中斷邏輯INTnINTn指令指令INTOINTO指令指令除法除法錯誤錯誤單步單步TF=1TF=1非屏蔽中斷請求非屏蔽中斷請求IRIR0IRIR6IRIR5IRIR4IRIR3IRIR2I

22、RIR1IRIR7可編程可編程中中 斷斷控制器控制器(PIC)(PIC)8259A8259AINTINTn n4 40 01 12 2CPUCPUINTRINTRNMINMI080809090A0A0B0B0C0C0D0D0E0E0F0F系統定時器系統定時器鍵盤鍵盤保留保留( (打印機打印機) )軟盤軟盤串行通信接口串行通信接口保留保留( (通信通信) )彩色彩色/ /圖形接口圖形接口8086/8088中斷源中斷源31當有多個中斷源同時產生中斷申請時,當有多個中斷源同時產生中斷申請時,CPU先響應優先權最高的中斷源,先響應優先權最高的中斷源,再響應優先級較低的中斷源。再響應優先級較低的中斷源。

23、二、二、8088CPU的中斷優先權的中斷優先權優先級優先級 高高 低低 內中斷內中斷 ( 除零,除零,INT 指令,斷點,指令,斷點,INTO指令指令 ) 非屏蔽中斷非屏蔽中斷 可屏蔽中斷可屏蔽中斷 低低 內中斷內中斷( 單步單步 ) 32三、三、8088CPU響應中斷的過程響應中斷的過程當中斷源產生當中斷源產生中斷申請中斷申請后,后,不論是內中斷、非屏蔽中斷,還是可屏蔽中斷不論是內中斷、非屏蔽中斷,還是可屏蔽中斷,只要只要滿足響應條件滿足響應條件,在執行完當前指令后,在執行完當前指令后,CPU內部硬件會自動完成下列響應中斷的過程:內部硬件會自動完成下列響應中斷的過程: 取中斷類型號取中斷類型

24、號N 當前當前PSW的內容入棧的內容入棧 清清IF、TF標志為標志為0 當前當前CS的內容入棧的內容入棧 當前當前IP的內容入棧的內容入棧 取內存單元取內存單元( 0 : N 4 )字字內容送內容送IP 取中斷子程取中斷子程 取內存單元取內存單元( 0 : N 4 + 2 )字內容送字內容送CS 入口地址入口地址 此時此時CS:IP指向中斷程序的入口,開始執行中斷程序。指向中斷程序的入口,開始執行中斷程序。保存現場保存現場33當前指令執行完的含義當前指令執行完的含義 CPU正在執行一條指令,執行完本條指令,響應中斷;正在執行一條指令,執行完本條指令,響應中斷; 對于帶重復前綴的串指令(如對于帶

25、重復前綴的串指令(如REP MOVSB),執行一次),執行一次重復和串指令即可響應中斷;重復和串指令即可響應中斷; 對對MOV和和POP指令,處理對象為段寄存器,指令,處理對象為段寄存器,以及以及STI和和IRET指令執行完本條指令后,指令執行完本條指令后,再執行一條指令才響應中斷。再執行一條指令才響應中斷。34內內 存存中斷向量表中斷向量表0:0 3FFH1000:150h3000:200h0: N40: N4+20: 0000 、 、 0200h 3000h 、 、 、 MOV AX, 0 ADD AX, DX MOV DI, AX、 MOV BX,CX、 IRET、類型類型N中斷子程中斷

26、子程 某中斷源發申請中斷,某中斷源發申請中斷,申請執行類型號為申請執行類型號為N的中斷子程的中斷子程響應中斷前響應中斷前 SS:SP 響應中斷后響應中斷后SS:SP 堆棧堆棧執行執行IRET后后 (IP) (CS)(PSW)01501000(PSW)SS:SP (IP)=0200h(CS)=3000h0:3FFH0:035從中斷子程返回斷點處,從中斷子程返回斷點處,靠的是執行中斷子程最后的指令靠的是執行中斷子程最后的指令IRET,從堆棧中取出斷點地址給從堆棧中取出斷點地址給CS:IP,繼續執行被中斷的程序。繼續執行被中斷的程序。故中斷子程最后應安排故中斷子程最后應安排 IRET 指令。指令。1

27、000:150h3000:200h0: N40: N4+20: 0000 、 、 0200h 3000h 、 、 、 MOV AX, 0 ADD AX, DX MOV DI, AX、 MOV BX,CX、 IRET、響應中斷前響應中斷前 SS:SP 響應中斷后響應中斷后SS:SP 堆棧堆棧執行執行IRET后后 (IP) (CS)(PSW)01501000(PSW)SS:SP (IP)=0200h(CS)=3000h36四、四、8088CPU如何獲取中斷類型號如何獲取中斷類型號由前面介紹知,當中斷源產生由前面介紹知,當中斷源產生中斷請求中斷請求后,后,不論是內中斷、非屏蔽中斷,還是可屏蔽中斷不論

28、是內中斷、非屏蔽中斷,還是可屏蔽中斷,只要只要滿足響應條件滿足響應條件,在執行完當前指令后,在執行完當前指令后,CPU內部硬件會自動完成響應中斷的過程內部硬件會自動完成響應中斷的過程, ,共七個步驟共七個步驟而而第一步就是獲取中斷類型號。第一步就是獲取中斷類型號。不同的中斷源,不同的中斷源,8088CPU獲取中斷類型號的方法不同獲取中斷類型號的方法不同。37根據根據8088CPU對中斷的分類,各中斷獲取類型號的方法對中斷的分類,各中斷獲取類型號的方法CPU 執執行行除除零零或或 OF 為為 1 執執行行 INTO 指指令令 除除零零 固固定定類類型型號號 00H OF 為為 1 執執行行 IN

29、TO 指指令令 固固定定類類型型號號 04H使使用用 DEBUG 下下的的單單步步和和斷斷點點操操作作 單單步步 固固定定類類型型號號 01H 斷斷點點 固固定定類類型型號號 03H內內中中斷斷執執行行中中斷斷調調用用指指令令 INT N 由由指指令令中中給給出出 指指令令中中指指定定類類型型號號 N非非屏屏蔽蔽中中斷斷 引引腳腳 NMI 上上有有中中斷斷申申請請信信號號(上上升升沿沿信信號號) 非非屏屏蔽蔽中中斷斷 固固定定類類型型號號 02H外外中中斷斷可可屏屏蔽蔽中中斷斷(參參看看中中斷斷響響應應時時序序圖圖) 當當 IF=1,引引腳腳 INTR 上上有有中中斷斷申申請請信信號號( (高

30、高電電平平信信號號) ) CPU 按按中中斷斷響響應應周周期期時時序序,從從數數據據總總線線上上獲獲取取中中斷斷類類型型號號 可可屏屏蔽蔽中中斷斷 外外部部接接口口送送上上類類型型號號38向量類型向量類型 INTACLKAD7AD0T1T2T3T4第第 一一 個個中斷響應周期中斷響應周期T1T2T3T4第第 二二 個個中斷響應周期中斷響應周期 中斷響應周期時序中斷響應周期時序 CPU從引腳從引腳 INTA 發中斷響應信號,發中斷響應信號, 接口芯片接收此信號,把中斷類型號準備好;同時接口芯片接收此信號,把中斷類型號準備好;同時ISRi=1,IRRi=0。 CPU再從引腳再從引腳 INTA 發中

31、斷響應信號,發中斷響應信號, 接口芯片接此信號后,將中斷類型號送至數據總線上;接口芯片接此信號后,將中斷類型號送至數據總線上; CPU從數據總線獲取中斷類型號從數據總線獲取中斷類型號。393.3 可編程中斷控制器可編程中斷控制器8259A 一、一、引言引言 二、二、8259A的引腳、編程結構和工作過程的引腳、編程結構和工作過程 三、三、8259A的編程的編程 1. 設置中斷屏蔽字設置中斷屏蔽字 2. 發中斷結束命令發中斷結束命令EOI 四、四、8259A在在IBM PC/XT系統中的應用系統中的應用五、五、 8259A在在 Pentium機機中中的應用的應用40一、引言一、引言中斷申請中斷申請

32、管理接口管理接口INT中斷申請中斷申請接口接口1網絡網絡接口接口2硬盤硬盤接口接口3軟盤軟盤接口接口4打印機打印機8088CPUINTRIF411. 向向CPU的引腳的引腳INTR發中斷申請信號發中斷申請信號當有多個外設同時發出中斷請求時,當有多個外設同時發出中斷請求時,能按照一定的優先級順序,向能按照一定的優先級順序,向CPU發出中斷申請,發出中斷申請,使使CPU能優先響應優先級最高的外部設備的中斷申請。能優先響應優先級最高的外部設備的中斷申請。2. 送中斷類型號送中斷類型號 在在CPU中斷響應周期,針對不同外設的中斷請求,中斷響應周期,針對不同外設的中斷請求, 向向CPU傳送不同的中斷類型

33、號,傳送不同的中斷類型號,使使CPU執行相應的中斷子程執行相應的中斷子程。中斷申請管理接口的主要功能中斷申請管理接口的主要功能: :在在IBM PC機由機由8259A可編程中斷控制器可編程中斷控制器(PIC)來完成。來完成。42二、二、 8259A的引腳、編程結構和工作過程的引腳、編程結構和工作過程1. 8259A的引腳的引腳2. 8259A的編程結構的編程結構3. 8259A的工作過程的工作過程431. 8259A的引腳的引腳 雙列直插式芯片,雙列直插式芯片,28個引腳個引腳 (參看教材圖(參看教材圖6-37)方方 波波鍵鍵 盤盤保保 留留串串 口口2 硬硬 盤盤軟軟 盤盤打印機打印機IOW

34、18.2HzA0CS8259A總線總線A0數數 據據 線線 IORRDWR片片選選譯譯碼碼IR0IR1IR2IR3IR4IR5IR6IR7A5A9D0D7D0D7VccSP/ENCA0CA1CA2GND+ 5V203FH用于多片用于多片8259A級連情況級連情況INTAINT INTA INTR串串 口口1 定時器定時器4428259A的編程結構的編程結構(參看教材圖(參看教材圖6-36)SP/ENCA0CA1CA2IORIOW總線總線D0D7數數 據據 線線D0D7INTAINTRA0片片選選譯譯碼碼A5A9CSA0RD INTAWRINT 1 I3 I4ICW1 芯片控制芯片控制 ICW2

35、 中斷類型號中斷類型號 ICW3 主從片連接關系主從片連接關系 ICW4 方式控制方式控制0111A01 0 0 1 0 1 0 0OCW1 中斷屏蔽寄存器中斷屏蔽寄存器 IMR 0 0 OCW2 優先級設置、發優先級設置、發EOI 0 1 OCW3特殊屏蔽特殊屏蔽,查詢方式設置查詢方式設置處理部分處理部分控制部分控制部分000 0 0 0 0 0 ISR當前當前中斷中斷服務服務寄存器寄存器PR優先級優先級裁決器裁決器VCCGND1 10 00 0A0IR0IR1IR2IR3IR4IR5IR6IR7IRR中斷中斷申請申請寄存器寄存器000 0 0 0 0 0 454個初始化命令寄存器個初始化命

36、令寄存器 ICW1、ICW2 ICW3、ICW4 3個操作命令寄存器個操作命令寄存器 OCW1(IMR) OCW2、OCW3當前中斷服務寄存器當前中斷服務寄存器 ISR中斷申請寄存器中斷申請寄存器 IRR 8259A內部有內部有9個個 可讀寫的寄存器可讀寫的寄存器8259A的編程結構的編程結構 1 I3 I4ICW1 芯片控制芯片控制 ICW2 中斷類型號中斷類型號 ICW3 主從片關系主從片關系 ICW4 方式控制方式控制處理部分處理部分控制部分控制部分000 0 0 0 0 0 ISR當前當前中斷中斷服務服務寄存器寄存器PR優先級優先級裁決器裁決器IRR中斷申請中斷申請寄存器寄存器000

37、0 0 0 0 0 中斷屏蔽寄存器中斷屏蔽寄存器 IMROCW2 1 0 0 1 0 1 0 0 0 0 0 1 OCW3OCW18259A中斷控制器中斷控制器46(1) 初始化命令字初始化命令字(ICW1- - ICW4) 決定決定8259A的工作方式的工作方式 通常是在計算機系統啟動時在初始程序設置,通常是在計算機系統啟動時在初始程序設置, 一旦設定,一般在系統工作過程不再改變。一旦設定,一般在系統工作過程不再改變。例例 開機后,開機后,BIOS將將8259A初始化為:初始化為: IR0IR7中斷申請信號為上升沿觸發方式;中斷申請信號為上升沿觸發方式; IR0IR7對應的中斷類型號分別為對

38、應的中斷類型號分別為08H0FH; 優先級優先級IR0最高最高, IR7最低;最低;(2) 操作命令字操作命令字(OCW1,OCW2,OCW3) 在應用程序中設定,動態地控制在應用程序中設定,動態地控制CPU處理中斷的過程處理中斷的過程(3) ISR和和IRR存放當前存放當前8259A的狀態的狀態 通過讀取通過讀取 ISR 和和 IRR 的內容,可了解當前的內容,可了解當前8259A工作情況工作情況47分兩步分兩步: (1)處理外設中斷申請,決定是否向處理外設中斷申請,決定是否向CPU發中斷申請信號。發中斷申請信號。(2)若發中斷申請信號,且若發中斷申請信號,且CPU響應,響應, 則在則在CP

39、U中斷響應周期送出中斷類型號。中斷響應周期送出中斷類型號。3. 8259A 的工作過程的工作過程48(1) 處理外設中斷申請,決定是否向處理外設中斷申請,決定是否向CPU發中斷申請信號發中斷申請信號 中斷屏蔽寄存器中斷屏蔽寄存器 IMR 決定決定 IRR 中的中斷申請中的中斷申請 是否進入優先級裁決器是否進入優先級裁決器 PR。 IMR對應位為對應位為 0,允許中斷申請進入優先級裁決器,允許中斷申請進入優先級裁決器, 為為 1,不允許進入,中斷申請被,不允許進入,中斷申請被IMR屏蔽。屏蔽。 中斷申請寄存器中斷申請寄存器IRR 鎖存外部的中斷申請。鎖存外部的中斷申請。 若若 IR0IR7 引腳

40、上有中斷申請,則將引腳上有中斷申請,則將 IRR 相應位置相應位置1 當前中斷服務寄存器當前中斷服務寄存器 ISR 記錄記錄CPU正在響應的中斷。正在響應的中斷。 ISR中的某位為中的某位為1,表示,表示CPU正在響應此級中斷,正在響應此級中斷, ISR中的某位為中的某位為 0,表示,表示CPU沒有或已響應完此級中斷,沒有或已響應完此級中斷, 優先級裁決器優先級裁決器PR 據新進入的中斷申請和據新進入的中斷申請和 ISR的內容的內容, 決定是否發中斷申請信號。決定是否發中斷申請信號。 如果進入的中斷申請比如果進入的中斷申請比 ISR 中記錄的中斷優先級高,中記錄的中斷優先級高, 則通過則通過

41、8259A 的的 INT 引腳向引腳向 CPU發出中斷請求信號;發出中斷請求信號; 如果進入的中斷申請不比如果進入的中斷申請不比 ISR 中記錄的中斷優先級高,中記錄的中斷優先級高, 同級或低級,則不向同級或低級,則不向 CPU 發中斷請求信號。發中斷請求信號。49 中斷申請寄存器中斷申請寄存器IRR 鎖存外部的中斷申請。鎖存外部的中斷申請。 若若 IR0IR7 引腳上有中斷申請,則將引腳上有中斷申請,則將 IRR 相應位置相應位置1IORIOW總線總線數數 據據 線線D0D7INTAA0片片選選譯譯碼碼A5A9CSA0RD INTAWRINTD0D7 ICW1 芯片控制芯片控制 ICW2 中

42、斷類型號中斷類型號 ICW3 主從片關系主從片關系 ICW4 方式控制方式控制000 0 0 0 0 0 ISR當前當前中斷中斷服務服務寄存器寄存器IR0IR1IR2IR3IR4IR5IR6IR7OCW1 中斷屏蔽寄存器中斷屏蔽寄存器 IMR 0 0 OCW2 優先級、發優先級、發EOI OCW3 特殊屏蔽設置特殊屏蔽設置PR優先級優先級裁決器裁決器IRR中斷中斷申請申請寄存器寄存器000 0 0 0 0 0 1 0 0 1 0 1 0 0INTR1150 中斷屏蔽寄存器中斷屏蔽寄存器 IMR 決定決定 IRR 中的中斷申請中的中斷申請 是否進入優先級裁決器是否進入優先級裁決器 PR。 IMR

43、對應位對應位為為 0,允許允許中斷申請進入優先級裁決器,中斷申請進入優先級裁決器, 為為 1,不允許不允許進入,中斷申請被進入,中斷申請被IMR屏蔽。屏蔽。IORIOW總線總線數數 據據 線線D0D7INTAA0片片選選譯譯碼碼A5A9CSA0RD INTAWRINTD0D7 ICW1 芯片控制芯片控制 ICW2 中斷類型號中斷類型號 ICW3 主從片關系主從片關系 ICW4 方式控制方式控制000 0 0 0 0 0 ISR當前當前中斷中斷服務服務寄存器寄存器IR0IR1IR2IR3IR4IR5IR6IR7OCW1 中斷屏蔽寄存器中斷屏蔽寄存器 IMR 0 0 OCW2 優先級、發優先級、發

44、EOI OCW3 特殊屏蔽設置特殊屏蔽設置PR優先級優先級裁決器裁決器IRR中斷中斷申請申請寄存器寄存器100 0 0 0 0 1 1 0 0 1 0 1 0 0INTR51 當前中斷服務寄存器當前中斷服務寄存器 ISR 記錄記錄CPU正在響應的中斷。正在響應的中斷。ISR中的某位中的某位為為1,表示,表示CPU正在響應正在響應此級中斷,此級中斷, 即正在執行此中斷源的中斷子程;即正在執行此中斷源的中斷子程;ISR中的某位中的某位為為 0,表示,表示CPU沒有或已響應完沒有或已響應完此級中斷,此級中斷, 即不在執行此中斷源的中斷子程即不在執行此中斷源的中斷子程IORIOW總線總線數數 據據 線

45、線D0D7INTAA0片片選選譯譯碼碼A5A9CSA0RD INTAWRINTD0D7 ICW1 芯片控制芯片控制 ICW2 中斷類型號中斷類型號 ICW3 主從片關系主從片關系 ICW4 方式控制方式控制001 0 0 0 0 0 ISR當前當前中斷中斷服務服務寄存器寄存器IR0IR1IR2IR3IR4IR5IR6IR7OCW1 中斷屏蔽寄存器中斷屏蔽寄存器 IMR 0 0 OCW2 優先級、發優先級、發EOI OCW3 特殊屏蔽設置特殊屏蔽設置PR優先級優先級裁決器裁決器IRR中斷中斷申請申請寄存器寄存器100 0 0 0 0 1 1 0 0 1 0 1 0 0INTR52 優先級裁決器優

46、先級裁決器PR據新進入的中斷申請和據新進入的中斷申請和 ISR的內容的內容, 決定是否發中斷申請信號。決定是否發中斷申請信號。 如果進入的中斷申請比如果進入的中斷申請比 ISR 中記錄的中記錄的中斷優先級高中斷優先級高, 則通過則通過 8259A 的的 INT 引腳向引腳向 CPU發出中斷請求信號;發出中斷請求信號; 如果進入的中斷申請不比如果進入的中斷申請不比 ISR 中記錄的中斷優先級高,中記錄的中斷優先級高,同級或低級同級或低級, 則不向則不向 CPU 發中斷請求信號。發中斷請求信號。IORIOW總線總線數數 據據 線線D0D7INTAA0片片選選譯譯碼碼A5A9CSA0RD INTAW

47、RINTD0D7 ICW1 芯片控制芯片控制 ICW2 中斷類型號中斷類型號 ICW3 主從片關系主從片關系 ICW4 方式控制方式控制001 0 0 0 0 0 ISR當前當前中斷中斷服務服務寄存器寄存器IR0IR1IR2IR3IR4IR5IR6IR7OCW1 中斷屏蔽寄存器中斷屏蔽寄存器 IMR 0 0 OCW2 優先級、發優先級、發EOI OCW3 特殊屏蔽設置特殊屏蔽設置PR優先級優先級裁決器裁決器IRR中斷中斷申請申請寄存器寄存器100 0 0 0 0 1 1 0 0 1 0 1 0 0INTR53(2) 若發中斷申請信號,且若發中斷申請信號,且CPU響應,響應, 則在則在CPU中斷

48、響應周期送出中斷類型號中斷響應周期送出中斷類型號 CPU接收到接收到 INTR上的中斷申請信號后:上的中斷申請信號后:l如果如果 IF 標志為標志為0,則,則CPU不響應此中斷申請信號不響應此中斷申請信號, 即中斷申請被即中斷申請被IF屏蔽。屏蔽。l如果如果 IF 標志為標志為1, 則處理完當前的指令后則處理完當前的指令后, 進入中斷響應周期進入中斷響應周期 通過通過 INTA 引腳發出兩個負脈沖信號,引腳發出兩個負脈沖信號, 從數據總線上獲取中斷類型號,從數據總線上獲取中斷類型號, 進入中斷響應的過程。進入中斷響應的過程。54向量類型向量類型 INTACLKAD7AD0T1T2T3T4第第

49、一一 個個中斷響應周期中斷響應周期T1T2T3T4第第 二二 個個中斷響應周期中斷響應周期 8088CPU中斷響應周期時序中斷響應周期時序55 將將 ISR 中相應位置中相應位置1,表示表示 CPU 響應此級中斷,執行此中斷源的中斷子程。響應此級中斷,執行此中斷源的中斷子程。8259A在接收到第一個在接收到第一個INTA中斷響應信號后中斷響應信號后:001 0 0 0 0 0 ISR當前當前中斷中斷服務服務寄存器寄存器IR0IR1IR2IR3IR4IR5IR6IR7PR優先級優先級裁決器裁決器IRR中斷中斷申請申請寄存器寄存器100 0 0 0 0 1 ICW1 芯片控制芯片控制 ICW2 中

50、斷類型號中斷類型號 ICW3 主從片關系主從片關系 ICW4 方式控制方式控制OCW1 中斷屏蔽寄存器中斷屏蔽寄存器 IMR 0 0 OCW2 優先級、發優先級、發EOI OCW3 特殊屏蔽設置特殊屏蔽設置1 0 0 1 0 1 0 0IORIOW總線總線數數 據據 線線D0D7INTAA0片片選選譯譯碼碼A5A9CSA0RDWR INTAINTD0D7INTR01 把把 IRR中對應的位清中對應的位清0,清除,清除IRR中鎖存的中斷申請信號。中鎖存的中斷申請信號。56 通過數據線,將被響應申請的中斷類型號送給通過數據線,將被響應申請的中斷類型號送給CPU。類型號由類型號由ICW2提供,在初始

51、化提供,在初始化8259A時已設定好。時已設定好。8259A在接收到第二個在接收到第二個INTA中斷響應信號后:中斷響應信號后:001 0 0 0 0 0 ISR當前當前中斷中斷服務服務寄存器寄存器IR0IR1IR2IR3IR4IR5IR6IR7PR優先級優先級裁決器裁決器IRR中斷中斷申請申請寄存器寄存器100 0 0 0 0 1 ICW1 芯片控制芯片控制 ICW2 中斷類型號中斷類型號 ICW3 主從片關系主從片關系 ICW4 方式控制方式控制OCW1 中斷屏蔽寄存器中斷屏蔽寄存器 IMR 0 0 OCW2 優先級、發優先級、發EOI OCW3 特殊屏蔽設置特殊屏蔽設置1 0 0 1 0

52、 1 0 0IORIOW總線總線數數 據據 線線D0D7INTAA0片片選選譯譯碼碼A5A9CSA0RDWR INTAINTD0D7INTR01 CPU獲得中斷類型號后,進入獲得中斷類型號后,進入CPU響應中斷的過程響應中斷的過程, 執行中斷子程,處理中斷源申請的功能執行中斷子程,處理中斷源申請的功能。57 取中斷類型號取中斷類型號N 當前當前PSW的內容入棧的內容入棧 清清IF、TF標志為標志為0當前當前CS的內容入棧的內容入棧 當前當前IP的內容入棧的內容入棧 取內存單元取內存單元( 0 : N 4 )字內容送字內容送IP 取中斷子程取中斷子程 取內存單元取內存單元( 0 : N 4 +

53、2 )字內容送字內容送CS 入口地址入口地址 此時此時CS:IP指向中斷程序的入口,開始執行中斷程序。指向中斷程序的入口,開始執行中斷程序。保存現場保存現場CPU響應中斷過程:響應中斷過程:執行完中斷子程中最后一條指令執行完中斷子程中最后一條指令IRET后,后,返回被中斷處,繼續執行被中斷的程序。返回被中斷處,繼續執行被中斷的程序。58三、三、8259A的編程的編程1. 8259A的編程的編程2. 8259A的編程方法的編程方法 (1) 設置中斷屏蔽字設置中斷屏蔽字 (2) 發中斷結束命令發中斷結束命令EOI594個初始化命令寄存器個初始化命令寄存器 ICW1、ICW2 ICW3、ICW4 3

54、個操作命令寄存器個操作命令寄存器 OCW1(IMR) OCW2、OCW3當前中斷服務寄存器當前中斷服務寄存器 ISR中斷申請寄存器中斷申請寄存器 IRR 8259A內部有內部有9個個 可讀寫的寄存器可讀寫的寄存器1. 8259A的編程的編程 1 I3 I4ICW1 芯片控制芯片控制 ICW2 中斷類型號中斷類型號 ICW3 主從片關系主從片關系 ICW4 方式控制方式控制處理部分處理部分控制部分控制部分000 0 0 0 0 0 ISR當前當前中斷中斷服務服務寄存器寄存器PR優先級優先級裁決器裁決器IRR中斷申請中斷申請寄存器寄存器000 0 0 0 0 0 中斷屏蔽寄存器中斷屏蔽寄存器 IM

55、ROCW2 1 0 0 1 0 1 0 0 0 0 0 1 OCW3OCW18259A中斷控制器中斷控制器608259A有兩個有兩個I/O端口地址端口地址A0=0 偶地址端口偶地址端口A0=1 奇地址端口奇地址端口 對對 9個寄存器的讀寫個寄存器的讀寫 均通過這兩個端口實現均通過這兩個端口實現 寫入數據的特征位寫入數據的特征位 寫入的先后順序寫入的先后順序 區分是對哪個寄存器區分是對哪個寄存器 進行操作進行操作根據根據 1 I3 I4ICW1 芯片控制芯片控制 ICW2 中斷類型號中斷類型號 ICW3 主從片關系主從片關系 ICW4 方式控制方式控制處理部分處理部分控制部分控制部分000 0

56、0 0 0 0 ISR當前當前中斷中斷服務服務寄存器寄存器PR優先級優先級裁決器裁決器IRR中斷申請中斷申請寄存器寄存器000 0 0 0 0 0 中斷屏蔽寄存器中斷屏蔽寄存器OCW2 1 0 0 1 0 1 0 0 0 0 0 1 OCW3OCW18259A中斷控制器中斷控制器D0D7A0CSRDWR80111A0100A061(1)通過中斷屏蔽寄存器通過中斷屏蔽寄存器IMR的讀寫,的讀寫,設置中斷屏蔽字設置中斷屏蔽字(2) 通過通過OCW2操作命令寄存器,操作命令寄存器,發中斷結束發中斷結束EOI命令命令由于課時所限,只要求掌握如下編程:由于課時所限,只要求掌握如下編程:2. 8259A的

57、編程方法的編程方法8259A有多種工作方式,有多種工作方式,這些工作方式均可編程選擇,這些工作方式均可編程選擇,使用相當靈活。使用相當靈活。62l通過往寄地址端口寫入通過往寄地址端口寫入IMR內容實現內容實現 對應位對應位為為0,允許允許該級中斷申請進入該級中斷申請進入 對應位對應位為為1,禁止禁止該級中斷申請進入該級中斷申請進入(1)設置中斷屏蔽字設置中斷屏蔽字IORIOW總線總線數數 據據 線線D0D7INTAA0片片選選譯譯碼碼A5A9CSA0RD INTAWRINTD0D7 ICW1 芯片控制芯片控制 ICW2 中斷類型號中斷類型號 ICW3 主從片關系主從片關系 ICW4 方式控制方

58、式控制000 0 0 0 0 0 ISR當前當前中斷中斷服務服務寄存器寄存器IR0IR1IR2IR3IR4IR5IR6IR7OCW1 中斷屏蔽寄存器中斷屏蔽寄存器 IMR 0 0 OCW2 優先級、發優先級、發EOI OCW3 特殊屏蔽設置特殊屏蔽設置PR優先級優先級裁決器裁決器IRR中斷中斷申請申請寄存器寄存器100 0 0 0 0 1 1 0 0 1 0 1 0 0INTR63l 新增允許新增允許 IR2 的中斷申請的中斷申請 IN AL, 21H ;讀入原讀入原IMR的內容的內容 AND AL, 1111 1011B ;D2=0,允許允許IR2的中斷申請的中斷申請 OUT 21H, AL

59、 ;寫入寫入IMRl 禁止禁止 IR4 的中斷申請的中斷申請 IN AL, 21H ;讀入原讀入原IMR的內容的內容 OR AL, 0001 0000B ;D4=1,禁止禁止IR4的中斷申請的中斷申請 OUT 21H, AL ;寫入寫入IMR例例 已知已知 IBM PC/XT系統中系統中 8259A的奇地址端口地址為的奇地址端口地址為21H64設置完成后的結果設置完成后的結果: :IORIOW總線總線數數 據據 線線D0D7INTAA0片片選選譯譯碼碼A5A9CSA0RD INTAWRINTD0D7 ICW1 芯片控制芯片控制 ICW2 中斷類型號中斷類型號 ICW3 主從片關系主從片關系 I

60、CW4 方式控制方式控制000 0 0 0 0 0 ISR當前當前中斷中斷服務服務寄存器寄存器IR0IR1IR2IR3IR4IR5IR6IR7OCW1 中斷屏蔽寄存器中斷屏蔽寄存器 IMR 0 0 OCW2 優先級、發優先級、發EOI OCW3 特殊屏蔽設置特殊屏蔽設置PR優先級優先級裁決器裁決器IRR中斷中斷申請申請寄存器寄存器100 0 0 0 0 1 1 0 0 1 0 0 0 0INTR65(2) 發中斷結束命令發中斷結束命令 EOI由由 8259A 的工作過程可知的工作過程可知:lISR中的內容是優先級裁決器進行裁決的重要依據中的內容是優先級裁決器進行裁決的重要依據 CPU響應某級中

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論