第08章 中斷技術(shù)及8259A使用_第1頁
第08章 中斷技術(shù)及8259A使用_第2頁
第08章 中斷技術(shù)及8259A使用_第3頁
第08章 中斷技術(shù)及8259A使用_第4頁
第08章 中斷技術(shù)及8259A使用_第5頁
已閱讀5頁,還剩35頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

溫馨提示

  • 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)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論