第八章中斷系統_第1頁
第八章中斷系統_第2頁
第八章中斷系統_第3頁
第八章中斷系統_第4頁
第八章中斷系統_第5頁
已閱讀5頁,還剩57頁未讀, 繼續免費閱讀

下載本文檔

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

文檔簡介

1、第第8 8章章 中斷系統中斷系統 當當CPUCPU與外設用查詢方式傳送數據時,與外設用查詢方式傳送數據時,CPUCPU將大量將大量時間花在等待上,降低了工作效率。因此在計算機技時間花在等待上,降低了工作效率。因此在計算機技術中引入了中斷的概念。中斷是現代計算機必須具備術中引入了中斷的概念。中斷是現代計算機必須具備的重要功能,也是計算機發展史上的一個重要里程碑,的重要功能,也是計算機發展史上的一個重要里程碑,它的出現給計算機結構與應用帶來了新的突破。它的出現給計算機結構與應用帶來了新的突破。 本章介紹微機中斷系統的功能、中斷過程、中斷本章介紹微機中斷系統的功能、中斷過程、中斷管理,管理,8086

2、8086的中斷系統,可編程中斷控制器的中斷系統,可編程中斷控制器8259A8259A的的工作原理及應用工作原理及應用 1 1中斷中斷 所謂所謂“中斷中斷”是指是指CPUCPU執行程序過程中,由于某種事件發執行程序過程中,由于某種事件發生,迫使生,迫使CPUCPU暫時暫時中止正在執行的程序,轉去執行該事件的處中止正在執行的程序,轉去執行該事件的處理程序,待處理完畢后,又理程序,待處理完畢后,又返回返回到原程序的斷點處,繼續往下到原程序的斷點處,繼續往下執行的過程。執行的過程。 2中斷源中斷源 引起中斷的原因或發出中斷請求的來源稱為中斷源。引起中斷的原因或發出中斷請求的來源稱為中斷源。8.1 8.

3、1 中斷概述中斷概述 8.1.1 8.1.1 中斷的基本概念中斷的基本概念中斷過程中斷過程繼續執行斷點主程序中斷服務程序有中斷請求中斷處理返回斷點8.1.1 8.1.1 中斷的基本概念中斷的基本概念8.1.1 中斷的基本概念中斷的基本概念中斷系統的功能:中斷系統的功能: 1)實現中斷及返回)實現中斷及返回 包括發現中斷請求,相應中斷請求,中斷處理與包括發現中斷請求,相應中斷請求,中斷處理與中斷返回。中斷返回。 2)實現優先權排隊)實現優先權排隊 通常,在系統中有多個中斷源,會出現兩個或多通常,在系統中有多個中斷源,會出現兩個或多個中斷源同時提出中斷請求的情況。個中斷源同時提出中斷請求的情況。

4、3)高級中斷源能中斷低級的中斷處理)高級中斷源能中斷低級的中斷處理 當當CPU響應某一個中斷源的請求,在中斷處理時,響應某一個中斷源的請求,在中斷處理時,若有優先級別更高的中斷源發出中斷申請。若有優先級別更高的中斷源發出中斷申請。 (3) (3) 能實現中斷的嵌套能實現中斷的嵌套 中斷的嵌套是指高級別的中斷能中斷較低級別的中斷處理,中斷的嵌套是指高級別的中斷能中斷較低級別的中斷處理,它類似于子程序嵌套。它類似于子程序嵌套。8.1.1 8.1.1 中斷的基本概念中斷的基本概念 中斷最初的目的是為了解決高速中斷最初的目的是為了解決高速CPUCPU與低速外設之間的與低速外設之間的速度速度矛盾矛盾。實

5、際上,中斷的功能遠遠。實際上,中斷的功能遠遠超出預期超出預期的設計,被廣泛地應的設計,被廣泛地應用于多方面,大大提高了用于多方面,大大提高了CPUCPU的工作效率。中斷的優點有下面三的工作效率。中斷的優點有下面三點。點。 ( 1 1) 分時操作分時操作 中斷技術實現了中斷技術實現了CPUCPU和外部的并行工作,從而消除和外部的并行工作,從而消除CPUCPU的等的等待時間,提高了待時間,提高了CPUCPU的利用率。另外,的利用率。另外,CPUCPU可同時管理多個外部可同時管理多個外部設備的工作,提高了輸入設備的工作,提高了輸入/ /輸出數據的吞吐量。輸出數據的吞吐量。 8.1.1 8.1.1 中

6、斷的基本概念中斷的基本概念 (2 2) 實時處理實時處理 在實時控制系統中,現場定時或隨機地產生各種參數、信在實時控制系統中,現場定時或隨機地產生各種參數、信息,要求息,要求CPUCPU立即響應。利用中斷機制,計算機就能實時地進行立即響應。利用中斷機制,計算機就能實時地進行處理,特別是對緊急事件的處理。處理,特別是對緊急事件的處理。 (3 3)故障處理)故障處理 計算機運行過程中,如果出現某些故障,如電源掉電、運計算機運行過程中,如果出現某些故障,如電源掉電、運算溢出等,計算機可以利用中斷系統自行處理算溢出等,計算機可以利用中斷系統自行處理。8.1.1 8.1.1 中斷的基本概念中斷的基本概念

7、 2 2中斷源中斷源 所謂所謂中斷源中斷源,就是引起中斷的原因或者發出中斷請求的設,就是引起中斷的原因或者發出中斷請求的設備。中斷源一般分為兩類:內部中斷源和外部中斷源。備。中斷源一般分為兩類:內部中斷源和外部中斷源。 內部中斷源內部中斷源即中斷源在微處理器內部。如計算溢出、中斷即中斷源在微處理器內部。如計算溢出、中斷指令的執行、程序調試中指令的單步運行等都是內部中斷源。指令的執行、程序調試中指令的單步運行等都是內部中斷源。 外部中斷源外部中斷源即引起中斷的原因是處理機的外部設備。如外即引起中斷的原因是處理機的外部設備。如外設的設的I/OI/O請求、定時時間到、設備故障、電源掉電等都是外部中請

8、求、定時時間到、設備故障、電源掉電等都是外部中斷源。斷源。8.1.1 8.1.1 中斷的基本概念中斷的基本概念(1 1)外部設備請求中斷)外部設備請求中斷 (2 2)故障強迫中斷)故障強迫中斷 (3 3)實時時鐘請求中斷。)實時時鐘請求中斷。 (4 4)數據通道中斷。)數據通道中斷。 (5 5)程序中斷。)程序中斷。 8.1.1 8.1.1 中斷的基本概念中斷的基本概念 3. 3. 中斷控制的功能中斷控制的功能 (1) (1) 中斷請求中斷請求 中斷請求就是中斷源向中斷請求就是中斷源向CPUCPU發出的請求中斷的要求。這個中發出的請求中斷的要求。這個中斷請求信號通常加到斷請求信號通常加到CPU

9、CPU的中斷請求輸入端。的中斷請求輸入端。 (2) (2) 能實現中斷判優功能能實現中斷判優功能 中斷判優,即根據中斷源的優先級進行排隊。當系統中出中斷判優,即根據中斷源的優先級進行排隊。當系統中出現多個中斷源同時提出中斷請求的情況時,中斷控制電路能根現多個中斷源同時提出中斷請求的情況時,中斷控制電路能根據各中斷源的優先級進行響應,優先級最高的中斷請求先響應。據各中斷源的優先級進行響應,優先級最高的中斷請求先響應。8.1.2 8.1.2 中斷處理過程中斷處理過程 (3) (3) 中斷響應中斷響應 CPU CPU接收到中斷申請后,從中止現行程序到轉向中斷服務程接收到中斷申請后,從中止現行程序到轉

10、向中斷服務程序入口的過程,稱為中斷響應。必須滿足兩個條件:序入口的過程,稱為中斷響應。必須滿足兩個條件:1.1.中斷是開發的。中斷是開發的。2.CPU2.CPU在現行指令結束后響應中斷。在現行指令結束后響應中斷。中斷響應過程中,中斷響應過程中,CPUCPU自動執行以下操作:自動執行以下操作:關中斷。關中斷。保護斷點和標志。保護斷點和標志。轉入中斷服務程序。轉入中斷服務程序。 8.1.2 8.1.2 中斷處理過程中斷處理過程8.1.2 中斷處理過程中斷處理過程(4) 中斷處理中斷處理 中斷處理就是執行中斷服務程序。中斷處理就是執行中斷服務程序。通常,在中斷服務程序中都可根據需要完成以下工作:通常

11、,在中斷服務程序中都可根據需要完成以下工作:l保護現場保護現場l開中斷開中斷l中斷服務中斷服務l關中斷關中斷l恢復現場恢復現場8.2 80868.2 8086中斷系統中斷系統 8086 CPU8086 CPU可以處理可以處理256256種不同類型的中斷,每一種中斷都種不同類型的中斷,每一種中斷都給定一個編號給定一個編號(0(0 255)255),稱為,稱為中斷類型號中斷類型號,CPUCPU根據中斷類型號根據中斷類型號來識別不同的中斷源。中斷源可分為兩大類:一類來自來識別不同的中斷源。中斷源可分為兩大類:一類來自CPUCPU的外的外部,由外設的請求引起,稱為硬件中斷部,由外設的請求引起,稱為硬件

12、中斷( (又稱又稱外部中斷外部中斷) );另一類;另一類來自來自CPUCPU的內部,由執行指令時引起,稱為軟件中斷的內部,由執行指令時引起,稱為軟件中斷( (又稱又稱內部中內部中斷斷) )。 1. 1. 非屏蔽中斷非屏蔽中斷NMINMI( (中斷類型號為中斷類型號為2)2) 整個系統整個系統只有一個只有一個非屏蔽中斷,它不受非屏蔽中斷,它不受IFIF標志位的屏蔽。標志位的屏蔽。出現在出現在NMINMI上的請求信號是上升沿觸發的,一旦出現,上的請求信號是上升沿觸發的,一旦出現,CPUCPU將將予以響應。非屏蔽中斷一般用于予以響應。非屏蔽中斷一般用于緊急故障處理緊急故障處理。 8.2.1 8.2.

13、1 外部中斷外部中斷 2.2.可屏蔽中斷可屏蔽中斷INTRINTR 可屏蔽中斷請求信號從可屏蔽中斷請求信號從INTRINTR引腳送往引腳送往CPUCPU,高電平有效,高電平有效,受受IFIF標志位屏蔽標志位屏蔽,IFIF0 0時,對于所有從時,對于所有從INTRINTR引腳進入的中斷請求,引腳進入的中斷請求,CPUCPU均不予響應;另外,也可以在均不予響應;另外,也可以在CPUCPU外部的中斷控制器外部的中斷控制器(8259A)(8259A)中以及各個中以及各個I/OI/O接口電路中對某一級中斷或某個中斷源單獨進行接口電路中對某一級中斷或某個中斷源單獨進行屏蔽。屏蔽。 8.2.1 8.2.1

14、外部中斷外部中斷 1.1.內部中斷內部中斷( (軟件中斷軟件中斷) ) CPU CPU內部請求信號引起的中斷均為內部中斷,內部中斷根據內部請求信號引起的中斷均為內部中斷,內部中斷根據引起中斷的原因不同可分為以下幾種:引起中斷的原因不同可分為以下幾種: (1 1)除法錯中斷)除法錯中斷(類型號為(類型號為00H00H) 當當CPUCPU執行除法指令執行除法指令(DIV/IDIV)(DIV/IDIV)時,若除數為時,若除數為0 0或所得的商或所得的商超過了寄存器所能表示的最大值,則立即產生一個除法錯中斷。超過了寄存器所能表示的最大值,則立即產生一個除法錯中斷。CPUCPU響應中斷后轉去執行除法錯中

15、斷處理程序。響應中斷后轉去執行除法錯中斷處理程序。8.2.2 .2.2 內部中斷內部中斷 (2 2)單步執行中斷)單步執行中斷(類型號為(類型號為01H01H) 當當TF=1TF=1時,每執行一條指令,時,每執行一條指令,CPUCPU會自動產生一個單步中斷。會自動產生一個單步中斷。單步中斷處理子程序顯示各個寄存器及使用的存儲單元內容,單步中斷處理子程序顯示各個寄存器及使用的存儲單元內容,以便分析單條指令執行的結果。單步中斷又稱為陷阱中斷,主以便分析單條指令執行的結果。單步中斷又稱為陷阱中斷,主要用于程序調試。要用于程序調試。 (3 3)斷點中斷)斷點中斷(類型號為(類型號為03H03H) 提供

16、給用戶一個調試手段,通常在提供給用戶一個調試手段,通常在DEBUGDEBUG調試程序時,可通調試程序時,可通過命令在程序中任意指定斷點地址,當過命令在程序中任意指定斷點地址,當CPUCPU執行到斷點時便產生執行到斷點時便產生中斷,同時顯示當前各寄存器的內容和標志位的值以及下一條中斷,同時顯示當前各寄存器的內容和標志位的值以及下一條要執行的指令,供用戶檢查在斷點以前的程序運行是否正常。要執行的指令,供用戶檢查在斷點以前的程序運行是否正常。8.2.2 8.2.2 內部中斷內部中斷 (4 4)溢出中斷)溢出中斷INTOINTO(類型號為(類型號為04H04H) CPU CPU進行帶符號數的算術運算時

17、,若發生了溢出,則標志位進行帶符號數的算術運算時,若發生了溢出,則標志位OF=1OF=1,如果此時執行,如果此時執行INTOINTO指令,會產生溢出中斷。若指令,會產生溢出中斷。若OF=0OF=0,則,則INTOINTO不產生中斷,不產生中斷,CPUCPU繼續執行下一條指令。繼續執行下一條指令。INTOINTO指令通常安排指令通常安排在算術指令之后,以便在溢出時能及時處理。在算術指令之后,以便在溢出時能及時處理。 (5 5)指令中斷)指令中斷 CPU CPU執行執行INT nINT n指令后,會立即產生一個類型碼為指令后,會立即產生一個類型碼為n n的中斷,的中斷,中斷指令的操作數中斷指令的操

18、作數n n就是中斷類型碼,轉入相應的中斷處理程序。就是中斷類型碼,轉入相應的中斷處理程序。 8.2.2 .2.2 內部中斷內部中斷 2. 2. 內部中斷的特點內部中斷的特點 (1 1)除單步中斷外,所有內部中斷的優先權都比外部中斷)除單步中斷外,所有內部中斷的優先權都比外部中斷的優先權高。的優先權高。80868086的中斷優先級由高到低的順序排列如下:的中斷優先級由高到低的順序排列如下: 除法出錯中斷、除法出錯中斷、INTOINTO、INT nINT n 非屏蔽中斷非屏蔽中斷NMINMI 可屏蔽中斷可屏蔽中斷INTRINTR 單步中斷單步中斷 (2 2)除單步中斷外其它內部中斷均無法禁止。)除

19、單步中斷外其它內部中斷均無法禁止。 (3 3)由于中斷類型碼已確定,所以不用執行中斷響應周期)由于中斷類型碼已確定,所以不用執行中斷響應周期取中斷類型碼。取中斷類型碼。 (4 4)由于內部中斷均處于程序的固定位置處,所以無隨機)由于內部中斷均處于程序的固定位置處,所以無隨機性。性。8.2.2 8.2.2 內部中斷內部中斷NMI(17號引腳)中 斷 邏 輯非屏蔽中斷請求INT 2硬件(外部)中斷軟件(內部)中斷可屏蔽中斷請求中斷類型號32255INTR(18號引腳)中斷指令INT nN32255溢出中斷INTOINT 4斷點中斷INT 3單步中斷(TF1)INT 1除法錯誤INT 08086/8

20、088中斷源 8.2 8086.2 8086中斷中斷 8086/8088 8086/8088最多可以處理最多可以處理256256個中斷,將這些中斷處理子個中斷,將這些中斷處理子程序的程序的入口地址入口地址統一存放在內存的一個固定區域。每個中斷統一存放在內存的一個固定區域。每個中斷處理子程序的入口地址占用處理子程序的入口地址占用4 4字節字節存儲單元:低地址的兩字節存儲單元:低地址的兩字節存放中斷處理子程序入口地址的偏移量存放中斷處理子程序入口地址的偏移量(IP)(IP);高地址的兩字;高地址的兩字節存放段地址節存放段地址(CS)(CS)。這些中斷處理子程序的入口地址,稱為。這些中斷處理子程序的

21、入口地址,稱為中斷向量中斷向量。256256個中斷向量要使用個中斷向量要使用10241024個字節的內存區域,稱個字節的內存區域,稱中斷向量表中斷向量表。8086/80888086/8088系統的中斷向量表位于內存的前系統的中斷向量表位于內存的前10241024字節,地址范圍為字節,地址范圍為00000H00000H003FFH003FFH。每個中斷源分配一個。每個中斷源分配一個中中斷類型碼斷類型碼。 12_內部中斷過程 標清.flv17_int9寫鍵盤緩沖區 標清.flv8.2.3 8.2.3 中斷向量表中斷向量表8086/80888086/8088的中斷向量表的中斷向量表 8.2.3 8.

22、2.3 中斷向量表中斷向量表 中斷服務程序入口地址在中斷向量表中是按中斷類型碼中斷服務程序入口地址在中斷向量表中是按中斷類型碼順序存放的,位置可由順序存放的,位置可由“中斷類型碼中斷類型碼4 4”計算出來。計算出來。CPUCPU響響應中斷時,把中斷類型碼應中斷時,把中斷類型碼n n乘以乘以4 4,得到對應地址,得到對應地址4n(4n(該中斷該中斷服務程序入口地址所占服務程序入口地址所占4 4個字節的個字節的第一個字節第一個字節的地址的地址) ),然后,然后把由此地址開始的兩個把由此地址開始的兩個低字節低字節單元的內容裝入單元的內容裝入IPIP寄存器,再寄存器,再把兩個把兩個高字節高字節單元的內

23、容裝入單元的內容裝入CSCS寄存器,寄存器,CPUCPU即轉向中斷類即轉向中斷類型碼為型碼為n n的中斷服務程序。的中斷服務程序。8.2.3 8.2.3 中斷向量表中斷向量表 中斷向量表中有中斷向量表中有5 5個個專用中斷專用中斷( (中斷類型碼為中斷類型碼為0 04)4),它們,它們的用途已經確定;的用途已經確定;2727個系統個系統保留的中斷保留的中斷( (中斷類型碼為中斷類型碼為5 531)31)供系統使用,不允許用戶自行定義;供系統使用,不允許用戶自行定義;224224個個用戶自定義中斷用戶自定義中斷( (中斷類型碼為中斷類型碼為3232255)255),這些中斷類型碼可供軟中斷,這些

24、中斷類型碼可供軟中斷INT n INT n 或可屏蔽中斷或可屏蔽中斷INTRINTR使用使用 ( (中斷類型碼中斷類型碼21H21H的中斷已用作的中斷已用作DOSDOS的的系統功能調用系統功能調用) ) 。由用戶確定了中斷類型碼后,還應先將相。由用戶確定了中斷類型碼后,還應先將相應的中斷處理子程序入口地址填入中斷向量表,以便應的中斷處理子程序入口地址填入中斷向量表,以便CPUCPU根據根據提供的中斷類型碼找到相應的中斷向量。提供的中斷類型碼找到相應的中斷向量。8.2.3 8.2.3 中斷向量表中斷向量表8.4 8.4 可編程中斷控制器可編程中斷控制器 8259A 8259A 8259A8259

25、A具有如下功能具有如下功能: : 以以接收多個接收多個外部中斷源的外部中斷源的中斷請求中斷請求,并進行,并進行優先級別判優先級別判斷斷,選中當前優先級別最高的中斷請求,再將此請求送到微,選中當前優先級別最高的中斷請求,再將此請求送到微處理器的中斷輸入端。處理器的中斷輸入端。 具有提供具有提供中斷向量中斷向量、 屏蔽中斷輸入等功能。屏蔽中斷輸入等功能。 可用于管理可用于管理8 8級優先權中斷級優先權中斷,最多構成,最多構成6464級優先權中斷管級優先權中斷管理系統。中斷服務程序入口地址構成的中斷向量表存放在內理系統。中斷服務程序入口地址構成的中斷向量表存放在內存固定區域。存固定區域。 有有多種工

26、作方式多種工作方式,自動提供中斷服務程序,自動提供中斷服務程序入口地址入口地址8.4.2 8259A8.4.2 8259A的內部結構及外部引腳的內部結構及外部引腳內部總線CAS0D7D0數據總線緩沖器控制電路INT讀/寫控制邏輯RDWRA0CS級聯緩沖/比較器CAS1CAS2EN/SPINTA中斷服務寄存器(ISR)優先權判別器(PR)中斷請求寄存器(IRR)中斷屏蔽寄存器(IMR)IR7IR1IR0 18259A的內部結構的內部結構 (1 1)數據總線緩沖器)數據總線緩沖器 8 8位雙向三態緩沖器,是位雙向三態緩沖器,是8259A8259A與系統數據總線的接口。與系統數據總線的接口。8259

27、A8259A通過數據總線緩沖器接收微處理器發來的各種命令控制通過數據總線緩沖器接收微處理器發來的各種命令控制字、有關寄存器狀態的讀取,字、有關寄存器狀態的讀取,8259A8259A也通過數據總線緩沖器向也通過數據總線緩沖器向微處理器送出中斷類型碼等。微處理器送出中斷類型碼等。 (2 2)讀)讀/ /寫控制邏輯寫控制邏輯 該部件接收來自該部件接收來自CPUCPU的讀的讀/ /寫命令,配合片選信號、讀信寫命令,配合片選信號、讀信號、寫信號和地址線號、寫信號和地址線A A0 0共同實現控制,完成規定的操作。共同實現控制,完成規定的操作。8.4.2 8259A8.4.2 8259A的內部結構及外部引腳

28、的內部結構及外部引腳 (3 3)級聯緩沖器)級聯緩沖器/ /比較器比較器 8259A 8259A既可工作于單片方式,也可工作于多片級聯方式。這既可工作于單片方式,也可工作于多片級聯方式。這個部件在級聯方式下用于標識主從設備,在緩沖方式下控制收個部件在級聯方式下用于標識主從設備,在緩沖方式下控制收發器的數據傳送方向。發器的數據傳送方向。 (4 4)中斷請求寄存器)中斷請求寄存器IRRIRR 8 8位寄存器,用來鎖存外部設備送來的位寄存器,用來鎖存外部設備送來的IRIR7 7IRIR0 0中斷請求信中斷請求信號。每位對應著號。每位對應著8259A8259A的的8 8個外部中斷請求輸入端中的一位,當

29、個外部中斷請求輸入端中的一位,當某引腳上有中斷請求信號時,某引腳上有中斷請求信號時,IRRIRR對應位置對應位置1 1,當該中斷請求被,當該中斷請求被響應時,該位復位。響應時,該位復位。INTA8.4.2 8259A8.4.2 8259A的內部結構及外部引腳的內部結構及外部引腳 (5 5)中斷屏蔽寄存器)中斷屏蔽寄存器IMRIMR 8 8位寄存器,用于設置中斷請求的屏蔽信號。每位對應著輸位寄存器,用于設置中斷請求的屏蔽信號。每位對應著輸入端入端IRIR7 7IRIR0 0中的一位。如用軟件將中的一位。如用軟件將IMRIMR的某位置的某位置“1 1”,則其對,則其對應引腳上的中斷請求將被應引腳上

30、的中斷請求將被8259A8259A屏蔽,即使對應屏蔽,即使對應IRIRi i引腳上有中引腳上有中斷請求信號也不會產生中斷請求輸出斷請求信號也不會產生中斷請求輸出 (6 6)中斷服務狀態寄存器)中斷服務狀態寄存器ISRISR 8 8位寄存器,記錄當前正在被服務的所有中斷級,包括尚未位寄存器,記錄當前正在被服務的所有中斷級,包括尚未服務完而中途被更高優先級打斷的中斷級。每位對應輸入端服務完而中途被更高優先級打斷的中斷級。每位對應輸入端IRIR7 7IRIR0 0中的一位。若某個引腳上的中斷請求被響應,則中的一位。若某個引腳上的中斷請求被響應,則ISRISR中中對應位被置對應位被置1 1。ISRIS

31、R的置位也允許嵌套。的置位也允許嵌套。8.4.2 8259A8.4.2 8259A的內部結構及外部引腳的內部結構及外部引腳 (7 7)優先權分析器)優先權分析器PRPR 用于識別和管理各中斷請求信號的優先級別。當在用于識別和管理各中斷請求信號的優先級別。當在IRIR輸輸入端中斷請求信號通過入端中斷請求信號通過IRRIRR送到送到PRPR。PRPR檢查檢查ISRISR的狀態,判的狀態,判別有無優先級更高的中斷正在被服務,若無,則將別有無優先級更高的中斷正在被服務,若無,則將IRRIRR中優中優先級最高的中斷請求送入先級最高的中斷請求送入ISRISR,并通過控制邏輯向,并通過控制邏輯向CPUCPU

32、發出發出中斷請求信號中斷請求信號INTINT,并且將,并且將ISR ISR 中的相應位置中的相應位置“1 1” (8 8)控制邏輯)控制邏輯 8259A 8259A全部功能的控制核心。它包括一組初始化命令字全部功能的控制核心。它包括一組初始化命令字寄存器寄存器ICW1ICW1ICW4ICW4和一組操作命令字寄存器和一組操作命令字寄存器OCW1OCW1OCW3OCW3,以及有關的控制電路。以及有關的控制電路。8.4.2 8259A8.4.2 8259A的內部結構及外部引腳的內部結構及外部引腳CAS28259AD7CAS0GNDVCCA0IR7INT123456789101112131428272

33、62524232221201918171615INTAIR6IR5IR4IR3IR2IR1IR0EN / SPCSWRRDD6D5D4D3D2D1D0CAS12 28259A8259A的外部引腳的外部引腳8.4.2 8259A8.4.2 8259A的內部結構及外部引腳的內部結構及外部引腳 1 1中斷優先級管理方式中斷優先級管理方式 (1) (1) 全嵌套方式全嵌套方式 全嵌套方式也稱全嵌套方式也稱固定優先級方式固定優先級方式。在這種方式下,由。在這種方式下,由IRIR端引端引入的中斷請求具有固定的優先級,入的中斷請求具有固定的優先級,IRIR0 0最高,最高,IRIR7 7最低。在對最低。在對

34、8259A8259A初始化后若沒有設置其他優先級方式,則初始化后若沒有設置其他優先級方式,則默認默認為全嵌套方為全嵌套方式。式。 8.4.3 8259A8.4.3 8259A的工作方式的工作方式 (2) (2) 特殊全嵌套方式特殊全嵌套方式 在主從結構的在主從結構的8259A8259A系統中,將系統中,將主片主片設置為特殊全嵌套方設置為特殊全嵌套方式,可以在處理某一級中斷時,不但允許優先級更高的中斷式,可以在處理某一級中斷時,不但允許優先級更高的中斷請求進入,也允許同級的中斷請求進入。請求進入,也允許同級的中斷請求進入。 8.4.3 8259A8.4.3 8259A的工作方式的工作方式 (3)

35、 (3) 優先級自動循環方式優先級自動循環方式 各中斷源優先級是循環變化的,主要用在系統中各中斷各中斷源優先級是循環變化的,主要用在系統中各中斷源優先級相同的情況下。一個設備的中斷服務完成后,其優源優先級相同的情況下。一個設備的中斷服務完成后,其優先級自動降為最低,而將最高優先級賦給原來比它低一級的先級自動降為最低,而將最高優先級賦給原來比它低一級的中斷請求。中斷請求。8.4.3 8259A8.4.3 8259A的工作方式的工作方式 (4) (4) 優先級特殊循環方式優先級特殊循環方式 該方式與優先級自動循環方式相比,只有一點不同,該方式與優先級自動循環方式相比,只有一點不同,即可以設置開始的

36、最低優先級。例如,最初設定即可以設置開始的最低優先級。例如,最初設定IRIR4 4為最低為最低優先級,那么優先級,那么IRIR5 5就是最高優先級,而優先級自動循環方式就是最高優先級,而優先級自動循環方式中,最初的最高優先級一定是中,最初的最高優先級一定是IRIR0 0。 8.4.3 8259A8.4.3 8259A的工作方式的工作方式 2 2中斷屏蔽方式中斷屏蔽方式 (1) (1) 普通屏蔽方式普通屏蔽方式 通過對通過對中斷屏蔽寄存器中斷屏蔽寄存器(IMR)(IMR)的設定,實現對中斷請求的屏的設定,實現對中斷請求的屏蔽。中斷屏蔽寄存器的蔽。中斷屏蔽寄存器的每一位對應了一個級別的中斷請求每一

37、位對應了一個級別的中斷請求,當,當某一位為某一位為1 1時,與之相應的某一級別的中斷請求被屏蔽。時,與之相應的某一級別的中斷請求被屏蔽。 (2) (2) 特殊屏蔽方式特殊屏蔽方式 當一個優先級當一個優先級較高的中斷請求較高的中斷請求正在被處理時,若設置了特正在被處理時,若設置了特殊屏蔽方式,則殊屏蔽方式,則允許優先級較低的中斷進入允許優先級較低的中斷進入正在處理的高級別正在處理的高級別中斷。中斷。8.4.3 8259A8.4.3 8259A的工作方式的工作方式 3 3中斷觸發方式中斷觸發方式 (1) (1) 電平觸發方式電平觸發方式 該方式以該方式以IRIR端上出現的高電平作為中斷請求信號。請

38、求一旦端上出現的高電平作為中斷請求信號。請求一旦被響應,該高電平信號應及時撤除。被響應,該高電平信號應及時撤除。 (2) (2) 邊沿觸發方式邊沿觸發方式 該方式以該方式以IRIR端上出現由低電平向高電平的跳變作為中斷請求端上出現由低電平向高電平的跳變作為中斷請求信號,跳變后高電平一直保持信號,跳變后高電平一直保持,直到被響應,直到被響應。 8.4.3 8259A8.4.3 8259A的工作方式的工作方式 4 4中斷結束方式中斷結束方式 (1) (1)自動結束方式自動結束方式(AEOI)(AEOI) 自動結束方式在第二個負脈沖的后沿將對應的自動結束方式在第二個負脈沖的后沿將對應的ISRISR位

39、清位清0 0。該方式是在中斷響應后,而不是在中斷處理結束時將該方式是在中斷響應后,而不是在中斷處理結束時將ISRISR位清位清0 0。在中斷處理過程中,就沒有在中斷處理過程中,就沒有“正在處理正在處理”的標識。此時若有中斷的標識。此時若有中斷請求出現,沒有屏蔽且請求出現,沒有屏蔽且IFIF1 1,則無論其優先級如何,都將得到,則無論其優先級如何,都將得到響應。所以,中斷自動結束方式是一種最簡單的結束方式,只響應。所以,中斷自動結束方式是一種最簡單的結束方式,只適合于中斷請求信號的持續時間有一定限制、系統中只有適合于中斷請求信號的持續時間有一定限制、系統中只有1 1片片8259A8259A且不會

40、出現中斷嵌套的場合。且不會出現中斷嵌套的場合。8.4.3 8259A8.4.3 8259A的工作方式的工作方式 (2)(2)非自動結束方式非自動結束方式(EOI)(EOI) 從中斷程序返回前,需通過程序向從中斷程序返回前,需通過程序向8259A 8259A 輸出一個中斷結輸出一個中斷結束命令束命令(EOI)(EOI),將,將ISRISR中的相應位清中的相應位清0 0。具體方法有以下兩種:。具體方法有以下兩種: 一般結束方式一般結束方式。此方式由。此方式由8259A8259A自動選擇自動選擇ISRISR中優先權中優先權最高位清最高位清0 0。此方式常用于完全嵌套方式下的中斷結束。在級。此方式常用

41、于完全嵌套方式下的中斷結束。在級聯系統中均采用一般結束方式或特殊結束方式。在中斷處理聯系統中均采用一般結束方式或特殊結束方式。在中斷處理程序結束時,必須發兩次中斷結束命令,一次發給主片,另程序結束時,必須發兩次中斷結束命令,一次發給主片,另一次發給從片。一次發給從片。 特殊結束方式特殊結束方式。此方式需由用戶指明將。此方式需由用戶指明將ISRISR中的哪一位中的哪一位清清0 0,常用于特殊全嵌套方式。,常用于特殊全嵌套方式。8.4.3 8259A8.4.3 8259A的工作方式的工作方式 5.5.與系統總線的連接方式與系統總線的連接方式 (1) (1)緩沖方式緩沖方式 在緩沖方式下,在緩沖方式

42、下,8259A8259A通過總線收發器和數據總線相連。通過總線收發器和數據總線相連。8259A8259A的的SP/ENSP/EN作為輸出端,作為輸出端,ENEN有效,使總線收發器使能。有效,使總線收發器使能。 (2)(2)非緩沖方式非緩沖方式 非緩沖方式主要用于單片非緩沖方式主要用于單片8259A8259A或片數不多的或片數不多的8259A8259A級聯級聯的系統中。在該方式下,的系統中。在該方式下,8259A8259A直接與數據總線相連,直接與數據總線相連,8259A8259A的的SP/ENSP/EN為輸入為輸入(SP(SP有效有效) )。只有單片。只有單片8259A8259A時,時, 接高

43、電平;接高電平;有多片有多片8259A8259A時,該引腳用于區分主從芯片。時,該引腳用于區分主從芯片。 接高電平則表接高電平則表示該示該8259A8259A為主片;接低電平,則表示該為主片;接低電平,則表示該8259A8259A為從片。為從片。8.4.3 8259A8.4.3 8259A的工作方式的工作方式 8259A 8259A的工作方式在對其進行初始化編程或操作編程中的工作方式在對其進行初始化編程或操作編程中設置。設置。8259A8259A有兩類命令字有兩類命令字: :初始化命令字初始化命令字ICWICW1 1ICWICW4 4和和操作操作命令字命令字OCWOCW1 1OCWOCW3 3

44、。相應地。相應地, ,在在8259A8259A內部有兩組命令字寄存內部有兩組命令字寄存器組器組, ,分別用來接收這分別用來接收這7 7個命令字。系統開機時個命令字。系統開機時, ,由初始化程由初始化程序將序將ICWICW1 1ICWICW4 4分別寫入分別寫入4 4個初始化命令字寄存器個初始化命令字寄存器, ,稱為稱為8259A8259A的的初始化編程初始化編程。初始化命令字一經寫入。初始化命令字一經寫入, ,系統在整個中斷工系統在整個中斷工作過程中就作過程中就不再改變不再改變。如果希望選擇或改變初始化設定的。如果希望選擇或改變初始化設定的8259A8259A的工作方式的工作方式, ,則可在應

45、用程序中將則可在應用程序中將OCWOCW1 1OCWOCW3 3分別寫入分別寫入3 3個操作命令字寄存器中。所以操作命令字可以被個操作命令字寄存器中。所以操作命令字可以被多次設置多次設置, ,以便對中斷處理方式進行動態控制。以便對中斷處理方式進行動態控制。8.4.4 8259A8.4.4 8259A的編程設置的編程設置 1 1初始化命令字初始化命令字 初始化主要完成以下功能:初始化主要完成以下功能: 設定中斷請求信號觸發方式,即邊沿或電平觸發方式;設定中斷請求信號觸發方式,即邊沿或電平觸發方式; 設定設定8259A8259A工作方式,即緩沖與非緩沖方式;工作方式,即緩沖與非緩沖方式; 設定設定

46、8259A8259A中斷類型號基值,對應中斷類型號基值,對應IR0IR0的類型號;的類型號; 設定優先級方式,即完全嵌套或特殊全嵌套方式;設定優先級方式,即完全嵌套或特殊全嵌套方式; 設定中斷處理結束方式,即自動設定中斷處理結束方式,即自動AEOIAEOI或非自動或非自動EOIEOI方式。方式。8.4.4 8259A8.4.4 8259A的編程設置的編程設置 初始化命令字共預置初始化命令字共預置4 4個命令個命令字:字: ICWICW1 1-ICW-ICW4 4,但并不是任何情,但并不是任何情況下都要預置這況下都要預置這4 4個命令字,用戶個命令字,用戶可根據具體情況而定。由于可根據具體情況而

47、定。由于ICWICW1 1 必須寫入低地址端口必須寫入低地址端口A0=0(A0=0(偶端偶端口口) ),因而,因而ICWICW2 2、ICWICW3 3、ICWICW4 4必須必須寫入高地址端口寫入高地址端口A0=1(A0=1(奇端口奇端口) ),為此為此8259A 8259A 在進行初始化時,利在進行初始化時,利用寫入的順序來區分不同的寄存用寫入的順序來區分不同的寄存器,即必須嚴格地按規定的初始器,即必須嚴格地按規定的初始化順序依次寫入?;樞蛞来螌懭?。8.4.4 8259A8.4.4 8259A的編程設置的編程設置 (1 1)芯片初始化命令字)芯片初始化命令字ICW1ICW1 ICW1 I

48、CW1命令字的格式如圖所示,命令字的格式如圖所示,D4=1D4=1為為ICW1ICW1的特征位的特征位( (標志標志位位) ),用來與寫入同一地址的,用來與寫入同一地址的OCW2OCW2、OCW3OCW3區別。其他命令字區別。其他命令字的含義如圖所示。的含義如圖所示。8.4.4 8259A8.4.4 8259A的編程設置的編程設置 (2 2)中斷類型號初始化命令字)中斷類型號初始化命令字ICW2ICW2 ICW2 ICW2命令字的格式如圖所示,命令字的格式如圖所示,T7T7T3T3為決定中斷類型號的為決定中斷類型號的高高5 5位,位,D2D2D0D0不需編程通常為全不需編程通常為全0 0,表示

49、中斷請求輸入端,表示中斷請求輸入端IR0IR0的中斷類型號,在中斷響應時由中斷源的序號的中斷類型號,在中斷響應時由中斷源的序號000000111111自動填自動填入相應值,因此用一個初始化命令字入相應值,因此用一個初始化命令字ICW2 ICW2 就可決定就可決定8 8個中斷源個中斷源的中斷類型號,的中斷類型號,ICW2ICW2也可以稱為中斷類型號基值寄存器。也可以稱為中斷類型號基值寄存器。8.4.4 8259A8.4.4 8259A的編程設置的編程設置 (3 3)標識主)標識主/ /從片初始化命令字從片初始化命令字ICW3ICW3 ICW3 ICW3命令字的格式如圖所示,對主片、從片分別寫入命

50、令字的格式如圖所示,對主片、從片分別寫入ICW3ICW3,對主片寫入是為確定哪個中斷請求輸入端接的是從片,對主片寫入是為確定哪個中斷請求輸入端接的是從片,由于一片由于一片8259A8259A有有8 8個中斷請求輸入端,因此最多可接個中斷請求輸入端,因此最多可接8 8個從片;個從片;對從片寫入是為確定該從片的中斷請求輸出端接入主片的哪對從片寫入是為確定該從片的中斷請求輸出端接入主片的哪個輸入端。個輸入端。8.4.4 8259A8.4.4 8259A的編程設置的編程設置 (4 4)方式控制初始化命令字)方式控制初始化命令字ICW4ICW4 ICW4 ICW4命令字的格式如圖所示,在命令字的格式如圖

51、所示,在ICW1ICW1中,若中,若D0D01 1才寫入才寫入ICW4ICW4,用來指定中斷嵌套方式及緩沖方式,對,用來指定中斷嵌套方式及緩沖方式,對80X86(80X86(包括包括8086/8088)8086/8088)系統必須預置系統必須預置ICW4ICW4。8.4.4 8259A8.4.4 8259A的編程設置的編程設置 【例】例】 8259A 8259A采用兩片級聯方式,主片設定為:上升沿觸采用兩片級聯方式,主片設定為:上升沿觸發、在發、在IR2IR2引腳連接從片、需寫入引腳連接從片、需寫入ICW4ICW4、非、非AEOI AEOI 方式、中斷類方式、中斷類型碼應設為型碼應設為08H0

52、8H 0FH0FH、采用一般的中斷嵌套方式、主片、采用一般的中斷嵌套方式、主片8259A 8259A 端口地址是端口地址是20H20H、21H21H;從片定義為:上升沿觸發、級聯到主片;從片定義為:上升沿觸發、級聯到主片的的IR2IR2引腳、需設置引腳、需設置ICW4ICW4、非、非AEOIAEOI方式、中斷類型碼為方式、中斷類型碼為70H70H 78H78H、采用一般的中斷嵌套方式、從片、采用一般的中斷嵌套方式、從片8259A 8259A 端口地址是端口地址是A0HA0H、A1HA1H。初始化過程如下:。初始化過程如下:8.4.4 8259A8.4.4 8259A的編程設置的編程設置初始化主片:初始化主片:MOV ALMOV AL,11H 11H ;置;置ICW1ICW1OUT 20HOUT 20H,ALALMOV ALMOV AL,08H 08H ;置;置ICW2ICW2OUT 21HOUT 21H,ALALMOV ALMOV AL,04H 04H ;置;置ICW3ICW3OUT 21HOUT 21H,ALALMOV ALMOV AL,01H 01H ;置;置ICW4ICW4OUT 21H

溫馨提示

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

評論

0/150

提交評論