中斷技術及A的使用_第1頁
中斷技術及A的使用_第2頁
中斷技術及A的使用_第3頁
中斷技術及A的使用_第4頁
中斷技術及A的使用_第5頁
已閱讀5頁,還剩35頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、中斷技術及中斷技術及8259A的使用的使用教學重點 (1)中斷基本概念 (2)8086中斷系統 (3)可編程中斷控制器8259A教學要求理解: 1)中斷、中斷源、中斷向量、中斷過程; 2)8086中斷系統結構、中斷類型碼、中斷過程; 3)8259A 的功能、編程及使用方法;掌握: 1)8086中斷方式及中斷入口地址形成方式; 2)8086中斷處理過程; 3)8259A的初始化方法;第第8章章 中斷技術及中斷技術及8259A的使用的使用8.1 中斷的概述中斷的概述 8.2 中斷的一般過程中斷的一般過程 8.3 8086中斷系統中斷系統 8.4 中斷控制器中斷控制器8259A8.1 中斷的概述中斷

2、的概述 中斷是微機原理中的一種非常重要的技術,也是CPU和外部設備進行數據交換的一種很有效的方法 中斷的概念中斷的概念 所謂中斷(Interrupt),是指計算機在運行過程中,當有某些緊急事件或外設請求發生時,迫使CPU暫時中斷現行程序的運行而去處理緊急情況或外設請求,即去執行其對應的中斷服務程序;等到事件處理完畢,又返回原程序的中斷點處,繼續執行被中斷的程序。這個過程和機制稱為中斷。 中斷的用途中斷的用途 CPU與I/O設備并行工作實現實時處理多道程序或多重任務的運行故障處理中斷源及其來源分類中斷源及其來源分類 引起中斷的原因,或能發出中斷申請的來源,稱為中斷源。 通常中斷源有以下幾種:一般

3、的輸入、輸出設備。如鍵盤、紙帶讀入機、行打印機等。數據通道中斷源。如磁盤、磁帶等。實時時鐘 故障源 為調試程序而設置的中斷源中斷的分類 就其性質講,可分為內部中斷和外部中斷 所謂外部中斷,一般是指I/O設備或其它硬件電路所引起的中斷。它的特點是通過硬件向CPU發出中斷請求信號,經常稱外部中斷為硬件中斷。外部中斷又分為非屏蔽中斷(NMI)和可屏蔽中斷(INTR)。 所謂內部中斷,主要指CPU內部的中斷,是通過指令設置的中斷。所以內部中斷也稱為軟件中斷。使用軟件中斷,其功能類似于子程序調用。只是這些子程序大部分是系統提供的,所以這類子程序的調用相當于高級語言中的庫函數的調用。 8.2 中斷的一般過

4、程中斷的一般過程 中斷請求中斷響應中斷服務中斷返回中斷請求 中斷請求信號是由中斷源向CPU發出的。中斷源可以是外部事件,也可以是CPU的內部事件。外部事件的中斷請求是外部設備向CPU中斷請求引腳發出的電平或邊沿信號。內部事件的中斷請求可以是CPU執行一條中斷指令使CPU進入中斷處理過程,也可以是CPU執行程序的結果使CPU進入中斷處理過程。 中斷響應 若為非屏蔽中斷申請,則CPU執行完正在執行的那一條指令后,做好保護工作即可去響應; 若為可屏蔽中斷申請,CPU只有得到允許才能去響應。這就是說CPU能否在接到中斷申請后立即響應要視情況而定。 對可屏蔽的中斷申請,CPU要響應,必須滿足以下三個條件

5、:p 無總線請求;p CPU允許中斷;p CPU執行完現行指令。 CPU響應中斷要自動完成三項任務:u 關閉中斷;u CS,IP以及PSW的內容推入堆棧(保護斷點);u 取得中斷服務程序入口地址,進入中斷服務。中斷服務 中斷服務包括以下六個過程: 保護現場 開中斷 中斷服務程序 關中斷 恢復現場 開中斷返回 中斷返回 在中斷服務程序最后安排一條中斷返回指令,使斷點送回程序計數器IP,繼續執行被中斷的程序。 8.3 8086中斷系統中斷系統NMIINTR硬件中斷可屏蔽中斷請求INT n 指令非屏蔽中斷請求中 斷 邏 輯INT3指令INTO指令單步中斷除數為0中 斷中斷控制系統(8259A)808

6、6的中斷分類軟件中斷中斷向量及中斷向量表中斷向量及中斷向量表 所謂中斷向量,實際上就是中斷處理子程序的入口地址,每個中斷類型對應一個中斷向量。 8086的中斷系統是以位于內存0段的03FFH區域的中斷向量表為基礎的,中斷向量表中最多可以容納256個中斷向量。 中斷向量并不是任意存放的。一個中斷向量占4個存儲單元,其中,前2個單元存放中斷處理子程序入口地址的偏移量(IP),低位在前,高位在后,后2個單元存放中斷處理子程序入口地址的段地址(CS),同樣也是低位在前、高位在后。按照中斷類型的序號,對應的中斷向量在內存的0段0單元開始有規則地進行排列。8086中斷處理的優先級中斷處理的優先級 8086

7、CPU的中斷優先權排列從高到低為: 除法出錯中斷,溢出中斷,INT n, 斷點中斷 NMI INTR 單步中斷8086中斷類型號的獲取方法中斷類型號的獲取方法 有兩種方法獲取類型號。 第一種是用指令直接獲取。對于類型號04的中斷,由于8086CPU已規定了產生中斷的原因,所以可以直接獲取類型號。而INT N類型的中斷可以由指令直接得到中斷類型號。 第二種是由外部引入的INTR中斷,當CPU響應中斷時必須由硬件提供中斷類型號。在可屏蔽中斷響應周期進行到第二個周期時,類型號放入數據總線,CPU從數據總線上獲取類型號 8086中斷過程之內部中斷過程中斷過程之內部中斷過程 首先將狀態寄存器的內容壓入堆

8、棧中。置TF=0,暫停單步中斷,并置IF=0,用以屏蔽以后的可屏蔽中斷。斷點地址CS:IP壓入堆棧。識別中斷源,首先獲取中斷類型號,并將其乘4,得到存儲中斷向量的起始地址,進而取得中斷向量。將中斷向量中的高地址的字送入CS寄存器,將低地址的字送IP寄存器中。執行中斷服務程序。中斷服務程序最后一條指令為IRET,這條指令的功能保證了從堆棧中彈出斷點IP和CS的內容,并存入各自的寄存器中,并接著彈出狀態寄存器的內容,恢復斷點的狀態標志。CPU按CS和IP指示的內容正確地返回了程序的斷點處,程序從斷點處繼續運行。8086中斷過程之非屏蔽中斷過程中斷過程之非屏蔽中斷過程 CPU一旦響應了中斷請求,首先

9、將狀態寄存器的內容壓入堆棧中。置TF=0,暫停單步中斷,并置IF=0,用以屏蔽以后的中斷。斷點地址CS:IP壓入堆棧。識別中斷源,首先由中斷類型號02H查中斷向量表讀取中斷服務程序的入口地址到CS和IP中。執行中斷服務程序。執行中斷返回指令IRET,這條指令的功能保證了從堆棧中彈出斷點IP和CS的內容,并存入各自的寄存器中,并接著彈出狀態寄存器的內容,恢復斷點的狀態標志。CPU按CS和IP指示的內容正確地返回了程序的斷點處,程序從斷點處繼續運行。8086中斷過程之可屏蔽中斷過程中斷過程之可屏蔽中斷過程 執行中斷響應周期發出中斷響應信號, 從數據總線讀取中斷類型號。如果當時IF=0,那么可屏蔽的

10、中斷源被屏蔽。當IF=1時,CPU在執行完當前指令(有重復前綴的字符串操作指令除外)后將響應它所收到的中斷請求。如果有幾個中斷源同時請求中斷,則CPU只響應其中優先級最高的。CPU一旦響應了中斷請求,首先將狀態寄存器的內容壓入堆棧中。置TF=0,暫停單步中斷,并置IF=0,用以禁止CPU響應新的可屏蔽中斷請求。將指示斷點的指令指針寄存器IP及代碼段寄存器CS的內容壓入堆棧。識別中斷源,首先獲取中斷類型號,并將其乘4,得到存儲中斷向量的起始地址,進而取得中斷向量。將中斷向量中的高地址的字送入CS寄存器,將低地址的字送IP寄存器,于是開始執行中斷服務程序。中斷服務程序最后一條指令為IRET,這條指

11、令的功能保證了從堆棧中彈出斷點IP和CS的內容,并存入各自的寄存器中,并接著彈出狀態寄存器的內容,恢復斷點的狀態標志。CPU按CS和IP指示的內容正確地返回了程序的斷點處,程序從斷點處繼續運行。8.4 中斷控制器中斷控制器8259A Intel 8259A的功能的功能 8259A的結構及引腳的結構及引腳 8259A的中斷管理方式的中斷管理方式 Intel 8259A的功能的功能 Intel 8259A是與8080/8085系列以及8088/8086系列兼容的可編程的中斷控制器。它的主要功能為:具有8級優先權控制,通過級連可擴展至64級優先權控制。每一級中斷都可以屏蔽或允許。在中斷響應周期,82

12、59A可提供相應的中斷類型號,從而能迅速地轉至中斷服務程序。 8259A有幾種工作方式,可以通過編程來進行選擇。8259A內部結構圖 中斷請求寄存器(IRR) 該寄存器用來存放由外部輸入的中斷請求信號IR7IR0,當某個輸入端為高電平時,該寄存器的相應位置“1”。 中斷服務寄存器(ISR) 該寄存器記錄正在處理中的中斷請求,當任何一級中斷被響應,CPU正在執行它的中斷服務程序時,ISR寄存器中的相應位置“1”,一直保持到該級中斷處理過程結束為止。多重中斷情況下,ISR寄存器中可有多位被同時置“1”。 優先權判別器(PR) 當輸入端IR7IR0中有多個中斷請求信號同時產生時,由PR判定哪個中斷請

13、求具有最高優先權,并在脈沖期間把它置入中斷服務寄存器ISR的相應位。 8259A內部結構圖的說明8259A內部結構圖的說明(續)中斷屏蔽寄存器(IMR) 該寄存器中存放有關被屏蔽的中斷線上的信息。當某位置“1”時,表示禁止這一級中斷請求進入系統,通過IMR寄存器可實現對各級中斷的有選擇的屏蔽。級聯緩沖/比較器 一片8259A只能接收8級中斷,當超過8級時,可用多片8259A級聯使用,構成主從關系。對于主8259A,其級聯信號CAS2CAS0是輸出信號,而對于從8259A,級聯信號CAS2CAS0是輸入信號。 此時,主8259A的 端為“1”,從8259A的 端為“0”,且從8259A的INT輸

14、出接到主8259的中斷輸入端IR上,因而可把中斷擴展到64級。 SPSP8259A的管腳分配的管腳分配 8259中斷優先權管理方式完全嵌套方式自動循環方式中斷屏蔽方式特殊完全嵌套方式 1.完全嵌套方式 在此種方式下,8259A的中斷請求輸入端引入的中斷具有固定的優先權排隊順序,IR0為最高優先級,IRl為次高優先級,依次類推,IR7為最低優先級。同時,高優先級的中斷可進入低優先級,但低優先級不能進入高優先級或同等優先級。 2.自動循環方式 在完全嵌套方式下,中斷請求IR0IR7的優先級別是固定不變的,使得從IR0引入的中斷總是具有最高優先權。在某些情況下,我們需要能改變這種優先級別,這時,可采

15、用自動循環方式。在這種方式下,從IR0IR7引入的中斷輪流具有最高優先權。因為,當任何一級中斷被處理完,它的優先級別就被改變為最低,而最高優先級分配給該中斷的下一級中斷。例如:現正為IR3引入的中斷服務,若服務完畢,IR3為最低優先級,IR4有最高優先級,IR5有次高優先級,依次排列。3.中斷屏蔽方式 用中斷屏蔽方式管理優先權有兩種方法:第一,普通屏蔽方式。這種方式是在中斷屏蔽寄存器IMR中,將某一位或幾位置“1”來屏蔽掉相應級別的中斷請求。CPU在執行主程序時將IMR寄存器的相應位置“1”,也可在CPU執行某級的中斷服務中,禁止比它高的中斷進入,在服務程序中將IMR寄存器的相應位置“1”屏蔽

16、。第二,采用特殊屏蔽方式,這時可以使低優先級別的中斷進入正在服務的高優先級別中。 4.特殊完全嵌套方式 特殊完全嵌套方式用在8259A有級聯的情況。當任何一個8259A片接收到一個中斷請求,經本8259A判別確定為當前最高優先級,則響應這一中斷,通過INT端向8259A主片相應的IR端提出中斷請求。如果這時8259A主片中ISR相應位已置“1”,則說明該8259A從片的其它輸入端已提出過申請,且正在服務。8259A從片的判優電路判別到剛申請的中斷優先級最高,故應停止現行中斷服務轉去為剛申請的中斷服務。在8259A有級聯的情況下,按完全嵌套方式管理優先權:顯然,接在主片IR3上的從片比接在IR4

17、上的從片具有高的優先權,而主片上IR0,IR1,IR2上的中斷比從片具有高優先權。 8259A中斷結束的管理方式完全嵌套情況的方法自動循環情況的方法特殊完全嵌套情況方法完全嵌套情況下的中斷結束方法一般EOI方式,當任何一級中斷服務程序結束時,給8259A傳送一個EOI命令,8259A將ISR寄存器中級別最高的置“1”位清“0”,這種方式只有在當前結束的中斷總是尚未處理完的級別最高的中斷時,才能使用這種結束方式。如果在中斷服務中修改過中斷級別,則不能采用這種方式。特殊EOI方式,在一般EOI方式的基礎上,當中斷服務程序結束給8259A發出 EOI命令的同時,將當前結束的中斷級別也傳送給8259A

18、,這就被稱作特殊EOI方式。在這種情況下,8259A將ISR寄存器中指定級別的相應置“1”位清“0”。這種方式適合于任何情況下使用。自動EOI方式,CPU進入中斷響應總線周期的第二個中斷響應信號結束時,自動將ISR寄存器相應置“1”位清“0”。中斷結束時,不需要向8259A送EOI命令,這是一種最簡單的結束方式。但是存在一個明顯的缺點,任何一級中斷在執行中斷服務程序期間,在8259A中沒有留下任何標志,如果在此過程中,出現了新的中斷請求,則只要CPU允許中斷,不管出現的中斷級別如何,都將打斷正在執行的中斷服務而被優先執行,這顯然是不合理的。因此,使用自動EOI結束方式,只有在一些以預定速率發生中斷,且不會發生同級中斷互相打斷或低級中斷打斷高級中斷的情況下。自動循環情況下的中斷結束方式一般EOI方式 當任何一級中斷服務處理完畢,給8259A送一個一般EOI結束命令,8259A將ISR寄存器中級別最高的置“1”位清“0”,同時賦給它最低優先級,將最高優先級賦給原來比它低一級的中斷請求,其它中斷請求的優先級別以循環方式類推。特殊EOI方式 這種方式主要用在自動循環優先權管理方式下又有嵌套的情況。在一般EOI方式下,結束一個中斷就將它置為最低優先級。若在服務程序中安排了一條優先權置位指令,使得優先權次序發生了變化,就必須使用特殊EOI方式,在向8259A發結束命令的同時,將其中斷

溫馨提示

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

評論

0/150

提交評論