版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第六章中斷系統(tǒng)1第六章中斷系統(tǒng)1、中斷概述1.1中斷及中斷源1.2中斷處理過程1.3中斷系統(tǒng)的結構1.4中斷優(yōu)先權管理2、8086/8088的中斷系統(tǒng)3、8259A中斷控制器21、中斷概述中斷及中斷源CPU工作過程:程序存儲,順序執(zhí)行;有條件、無條件跳轉-分支執(zhí)行子程序調用與返回。宏功能。如果在執(zhí)行程序時,要獲得一些外部信息(比如鍵盤輸入的數(shù)據(jù)),CPU必須等待鍵盤輸入,(顯示器提示)。查詢:CPU主動,外設被動。速度匹配問題。CPU效率低。中斷:外設主動,CPU被動。31、中斷概述中斷及中斷源早期的計算機沒有中斷系統(tǒng),工作過程是根據(jù)預先設計好的流程,順序執(zhí)行。當需要與外界交換信息時,計算機查詢外部設備的狀態(tài),若外設已準備好,則進行信息交換;若外設未準備好,則等待外設,直到可以進行信息交換。這種計算機和外設之間的信息交換方式稱為查詢方式。查詢方式:容易實現(xiàn),方便。矛盾:CPU與外設工作速度不匹配,浪費了寶貴的CPU的工作效率。41、中斷概述中斷及中斷源解決問題的途徑:提高外設的工作速度。對外部設備進行改造或重新設計,代價很高;許多外部設備是其它工程系統(tǒng),它們有自己的工作特點和要求,不可能。此外,還有些事情不定期發(fā)生,但要求CPU盡快處理。對這些事情,盡管沒有發(fā)生,為了處理及時,也必須經(jīng)常查詢。CPU負擔重。2.改變CPU工作方式,以適應外部設備的慢速特性和應對突發(fā)警急事情,中斷技術。51、中斷概述中斷及中斷源所謂中斷,是指計算機在正常運行時,由于某種原因,迫使計算機暫時停止當前工作,而轉向處理臨時發(fā)生的事件;處理完畢后,再返回去繼續(xù)執(zhí)行暫停的工作的過程。中斷技術:使得CPU從主動為外設服務(查詢)變成被動為外設服務(外設申請)。大大提高了CPU的效率。為實現(xiàn)中斷功能而設置的各種硬件和軟件,統(tǒng)稱為中斷系統(tǒng)。中斷源:引起中斷的原因或發(fā)出中斷申請的來源稱為中斷源。61、中斷概述中斷及中斷源隨著計算機技術的發(fā)展,中斷技術不斷被賦予新的功能,不僅有外部來的中斷,還有內部產(chǎn)生的中斷;不僅有硬件引起的中斷,還有軟件引起的中斷。
1)輸入、輸出設備,如鍵盤、打印機等;
2)定時時鐘;
3)軟件設置中斷、軟件陷阱(故障);
4)程序調試過程等。71、中斷概述中斷系統(tǒng)的功能(1)實現(xiàn)中斷及返回(2)實現(xiàn)優(yōu)先權排隊,以確定優(yōu)先處理的中斷源。(3)能屏蔽某些中斷8(1)實現(xiàn)中斷及返回1、中斷概述中斷系統(tǒng)的功能當有一中斷源提出中斷請求時,CPU首先判斷是否響應該中斷?如果CPU正在執(zhí)行的是重要的程序,可以暫不響應,即關中斷;當CPU完成了當前的重要程序后,開中斷予以響應,同時,保存斷點,轉入中斷處理;當中斷處理完后,恢復斷點從而回到被中斷運行的原程序繼續(xù)執(zhí)行;9通過設置CPU內部的中斷允許觸發(fā)器,開關中斷。8086/8088中,中斷標志位IF當IF=1,使中斷允許(開中斷);當IF=0,使中斷不允許(關中斷)。注意:不可屏蔽中斷,要求CPU立即處理。不受中斷標志位IF的控制。可屏蔽中斷,受中斷允許標志位IF的控制。(1)實現(xiàn)中斷及返回1、中斷概述中斷系統(tǒng)的功能101、中斷概述中斷系統(tǒng)的功能(2)實現(xiàn)優(yōu)先權排隊,以確定優(yōu)先處理的中斷源一個系統(tǒng)中有多個中斷源,存在著幾個中斷源同時請求的可能;因此,必須事先根據(jù)中斷源的重要性,給每個中斷源確定一個中斷優(yōu)先級別——優(yōu)先權。中斷響應時,CPU應能首先響應優(yōu)先權級別高的中斷源。111、中斷概述中斷系統(tǒng)的功能在中斷服務處理過程中:若新的中斷申請其優(yōu)先級別更高,則CPU應再一次中斷,轉去優(yōu)先權更高的中斷源服務。處理完后,再回到原來的中斷服務中,這也稱為中斷嵌套。若新的中斷源優(yōu)先權級別為同級或低級,則CPU暫不理會,繼續(xù)正在處理的中斷服務,直到當前中斷處理結束后再去處理新的中斷申請。由中斷允許觸發(fā)器決定是否響應中斷請求。8086/8088中,當中斷標志位IF=1時,才允許響應可屏蔽中斷INTR。(3)能屏蔽某些中斷121、中斷概述中斷過程一個完整的中斷響應過程分中斷處理和中斷服務兩個階段。中斷處理:1.中斷請求。2.中斷源仲裁。3.中斷點信息的保護:IP、CS、FR、CPU中的寄存器。3.查找中斷源,并轉向中斷服務程序。4.中斷返回。中斷服務:對每一中斷源特制的服務程序。131、中斷概述中斷系統(tǒng)的結構中斷請求觸發(fā)器:每一個中斷源有一個中斷請求觸發(fā)器,用來指示中斷源。
中斷屏蔽觸發(fā)器:對每一個中斷請求電路(中斷源),都有一個中斷屏蔽觸發(fā)器,用來禁止該中斷源的請求。
中斷允許觸發(fā)器:在CPU內部有一個中斷允許觸發(fā)器(CPU狀態(tài)字的IF位),它相當于中斷源的總開關,當IF=0時,所有外部中斷全被禁止。
CPU的NMI中斷:不可屏蔽中斷。141、中斷概述中斷系統(tǒng)的結構—中斷請求觸發(fā)器中斷源向CPU發(fā)出中斷請求是隨機的。大多數(shù)CPU都是在當前指令周期結束時,檢測有無中斷請求。因此必須在當前指令執(zhí)行期間,將隨機到來的中斷請求保存起來,直到CPU響應中斷后才可以清除。當有多個中斷源時,為了區(qū)別中斷來源,要求每一個中斷源有一個中斷請求觸發(fā)器。
15左圖為兩個外部設備中斷請求電路。PS外部設備選擇信號INTR1、2分別為向CPU中斷請求信號。只要有需要,就可以向CPU請求,CPU無法阻止。1、中斷概述中斷系統(tǒng)的結構—中斷請求觸發(fā)器161、中斷概述中斷系統(tǒng)的結構—中斷屏蔽觸發(fā)器當有多個中斷源時,某些情況下,不希望響應某個中斷。又要求能響應有些中斷請求。此時要將不希望響應的中斷源關閉(中斷屏蔽)。為達此目的,在每一個中斷請求電路中,增加一個中斷屏蔽觸發(fā)器。通過設置中斷屏蔽觸發(fā)器的狀態(tài),可允許或禁止該中斷源向CPU發(fā)中斷。根據(jù)外部事件的緊急程度,中斷源可以有不同的優(yōu)先級。一般情況下,高優(yōu)先級的中斷可以中斷低優(yōu)先級中斷的服務過程;當服務完成后,再返回被中斷低優(yōu)先級,繼續(xù)完成服務過程。中斷嵌套。中斷屏蔽觸發(fā)器也用于中斷邏輯中,高低優(yōu)先級別仲裁。171、中斷概述中斷系統(tǒng)的結構—中斷屏蔽觸發(fā)器CPU通過中斷屏蔽觸發(fā)器,控制該外部設備的中斷請求。對每一外部設備,可根據(jù)需要,允許其通過中斷,請求CPU服務;或不允許請求CPU服務。每一中斷請求源,都有一中斷屏蔽觸發(fā)器。181、中斷概述中斷系統(tǒng)的結構—中斷允許觸發(fā)器中斷屏蔽觸發(fā)器是針對各個中斷源的,在CPU內部還有一個中斷允許觸發(fā)器(8086/8088CPU狀態(tài)字的IF位),它相當于中斷的總開關。只有當其為“1”(即開中斷)時,CPU才能響應外部中斷(通過INTR線來的);當為“0”(即關中斷)時,即使CPU的INTR線上有中斷請求,CPU也不會響應中斷請求。當CPU復位時,中斷允許觸發(fā)器總為“0”,即處于“關中斷”狀態(tài)。所以必須在程序中用STI指令來開中斷。并且,CPU一旦響應中斷后,CPU內部邏輯會自動關中斷,使得CPU不再響應中斷。因此,若要允許中斷嵌套,必需在中斷服務程序中用STI指令再次開中斷。
191、中斷概述中斷優(yōu)先權管理中斷優(yōu)先權判別方法有軟件和硬件兩種方法。中斷優(yōu)先權是事先根據(jù)中斷源的重要性給每個中斷源確定一個中斷優(yōu)先級別——優(yōu)先權。中斷優(yōu)先權管理就是判別和確定各個中斷源的中斷優(yōu)先權。8086/8088只有一根外部中斷申請引腳INTR。對同時產(chǎn)生的中斷:
首先處理優(yōu)先級別較高的中斷;若優(yōu)先級別相同,則按先來先服務的原則對非同時產(chǎn)生的中斷:
低優(yōu)先級的中斷程序允許被高優(yōu)先級的中斷源所中斷此外,有時為了均衡對相同性質的外部設備提供相同級別的服務,要求動態(tài)更改中斷優(yōu)先級。201、中斷概述中斷優(yōu)先權管理----軟件查詢
軟件法是在CPU響應中斷后,用軟件查詢確定哪個中斷源申請中斷,先被查詢的先響應。查詢次序決定了中斷優(yōu)先權次序,最先被查詢的中斷源具有最高的優(yōu)先權。211、中斷概述中斷優(yōu)先權管理----軟件查詢軟件查詢程序:INAL,80H;端口讀入狀態(tài)TESTAL,80H;JNZSERVE_ATESTAL,40HJNZSERVE_B……TESTAL,01HJNZSERVE_HHLT221、中斷概述中斷優(yōu)先權管理----軟件查詢軟件查詢次序就是優(yōu)先權高低的次序;軟件確定中斷優(yōu)先權不需復雜的硬件電路,簡單易實現(xiàn);中斷源較多時,查詢時間較長,中斷響應較慢。231、中斷概述中斷優(yōu)先權管理----硬件確定優(yōu)先權由硬件實現(xiàn)中斷優(yōu)先權的判別。常用的硬件電路有:中斷向量法,鏈式優(yōu)先權排隊電路及專用硬件電路等。中斷向量法:利用一個中斷優(yōu)先級判別器來判斷中斷請求優(yōu)先級的高低,獲得中斷類型碼并由此獲得中斷服務程序入口地址;如利用中斷控制器8259A,它具有8個優(yōu)先權控制,可以通過級聯(lián),擴展至64級優(yōu)先權控制,且每級中斷都可設置為允許或屏蔽。241、中斷概述中斷優(yōu)先權管理----硬件確定優(yōu)先權鏈式優(yōu)先權排隊電路每個外設都有一個中斷邏輯電路,CPU響應中斷時發(fā)出INTA信號沿這些邏輯電路串接成菊花鏈從前先后傳遞251、中斷概述中斷優(yōu)先權管理----硬件確定優(yōu)先權262、8086/8088的中斷系統(tǒng)8086/8088CPU具有一個功能很強、管理高效且簡便靈活的中斷系統(tǒng),可以處理多達256種中斷源。采用向量中斷方法,對256種中斷只需一次間接訪問就可獲得任一中斷源的中斷服務程序的入口地址,中斷響應快速。8086/8088CPU有兩類中斷:內部中斷由執(zhí)行中斷指令或特殊事件引起;外部中斷由外圍設備接口向CPU的中斷請求引腳INTR和NMI發(fā)出中斷請求信號而引起的。272、8086/8088的中斷系統(tǒng)8086/8088的中斷分類
8086/8088的中斷系統(tǒng)可以處理256種不同的中斷。所有可能產(chǎn)生中斷的中斷源源有:可屏蔽中斷INTR、非屏蔽中斷NMI、指令中斷INTn、特定條件下的中斷分為兩類:內部中斷外部中斷282、8086/8088的中斷系統(tǒng)8086/8088的中斷分類INTn指令中斷邏輯INT3指令除數(shù)為0中斷單步中斷INT0指令
中斷控制系統(tǒng)(8259A)非屏蔽中斷請求…可屏蔽中斷請求NMIINTR軟件中斷硬件中斷292、8086/8088的中斷系統(tǒng)內部中斷(軟件中斷)軟件中斷是CPU根據(jù)軟件中的某條指令或軟件對標記寄存器中某個標志的設置而產(chǎn)生的中斷。進入中斷時,不需要執(zhí)行中斷響應周期,也不從數(shù)據(jù)總線讀取中斷類型碼,不受中斷允許標志位IF的影響,但是和TF的狀態(tài)有關(只有TF為1才執(zhí)行單步中斷)。(1)除法出錯中斷(類型0);(2)單步中斷(類型1);(3)斷點中斷(類型3);(4)溢出中斷(類型4);(5)軟件中斷302、8086/8088的中斷系統(tǒng)外部中斷(硬件中斷)硬件中斷通過外部的硬件產(chǎn)生,由送至CPU引腳NMI和INTR上的信號引起中斷。分為兩類:
(1)非屏蔽中斷(n=2)一旦在NMI引腳有中斷請求,CPU立即響應。不受IF(中斷允許標志位)的影響。系統(tǒng)內只有一個非屏蔽中斷。312、8086/8088的中斷系統(tǒng)(2)可屏蔽中斷從INTR腳引入,必須滿足IF=1,且沒有非屏蔽中斷,CPU可以響應中斷。在中斷控制器(如8259A)的配合下,一個系統(tǒng)可以有幾十個可屏蔽中斷中斷請求信號是由電平觸發(fā),必須保存到CPU響應中斷請求后才能撤除。中斷允許標志IF的標志,可由指令設置:
STI——開中斷,將IF置1CLI——關中斷,將IF置0當系統(tǒng)復位,或CPU響應中斷后,都使IF置0。外部中斷(硬件中斷)322、8086/8088的中斷系統(tǒng)8086/8088的中斷處理過程—不可屏蔽中斷不可屏蔽中斷(NMI)請求的響應不受IF標志的影響。也就是說,任何條件下CPU都會響應NMI。NMI為上升沿觸發(fā),CPU執(zhí)行完當前指令后立即響應。最壞情況是正在執(zhí)行乘、除指令和某些移位指令。NMI通常用于處理一些比INTR請求更緊急事件。對NMI中斷請求,不判斷IF是否為1,也不用給出中斷矢量號,CPU響應時也不發(fā)中斷響應周期,而是自動生成中斷向量號為2,然后轉入相應的中斷服務入口。8086/8088要求NMI的脈沖寬度(高電平)至少應有兩個CPU時鐘周期,以便能使CPU內部的NMI觸發(fā)器可靠置位。
同樣,若系統(tǒng)不需要有NMI中斷,應將該引腳接地,防止由于干擾引起誤觸發(fā)。332、8086/8088的中斷系統(tǒng)8086/8088的中斷處理過程—可屏蔽中斷對INTR中斷,若CPU處于允許中斷狀態(tài),在當前指令運行到最后一個機器周期的最后一個T狀態(tài)結束時,檢測INTR線。若發(fā)現(xiàn)有中斷請求,CPU就進入中斷處理周期:1)響應中斷,并發(fā)出中斷響應信號;()2)在下一個總線周期發(fā)出第二個中斷響應信號,讀取中斷向量號。3)保留斷點:把標志寄存器FR、代碼段寄存器CS、指令地址寄存器IP壓入堆棧保存。并自動關中斷(清IF位)。4)根據(jù)中斷向量號,查找中斷服務程序入口地址,并轉移到該服務程序。上面4步是CPU硬件自動完成的----中斷處理。342、8086/8088的中斷系統(tǒng)8086/8088的中斷處理過程—可屏蔽中斷5)保護現(xiàn)場,6)執(zhí)行中斷服務程序,7)在中斷服務程序的最后,恢復現(xiàn)場,上面三步要根據(jù)服務要求編程序。中斷服務。8)中斷返回。中斷服務程序的最后一條指令必須為IRET(中斷返回指令)。它將堆棧中保存的IP、CS、FR彈出,恢復被中斷程序運行。并開放INTR(中斷允許)。*CPU響應INTR中斷時,自動將中斷時FR、CS、IP寄存器內容壓入堆棧,但對CPU中其它寄存器沒有保護。它們的保護與恢復由中斷服務程序負責。352、8086/8088的中斷系統(tǒng)8086/8088的優(yōu)先權的識別8086/8088只有一根外部中斷申請引腳INTR。當有多個中斷源時,必須要在CPU外部記錄中斷請求,并在外部辨別和比較它們的優(yōu)先級,將級別最高的中斷請求送CPU。有些時候要求當CPU正在進行中斷服務時,除了要能屏蔽相同級或較低級的中斷的能力外,還要允許更高級的中斷請求的能力,并能暫停目前中斷服務過程工作,對更高級中斷服務(中斷嵌套)。服務完成后,恢復被中斷的中斷服務,……此外,有時為了均衡對相同性質的外部設備提供相同級別的服務,要求動態(tài)更改中斷優(yōu)先級。362、8086/8088的中斷系統(tǒng)8086/8088的優(yōu)先權的識別----軟件查詢CPU響應中斷后,通過中斷查詢程序,確定是哪些外設申請中斷,并判斷它們的優(yōu)先級別。例如,從外設A到外設H共有8個中斷源,把這8個外設的中斷請求觸發(fā)器組合起來,作為一個端口,如圖6-3所示。把這8個外設的中斷請求信號相“或”后,作為INTR信號。這樣,任意一個外設有中斷請求,都可以向CPU發(fā)INTR信號。當CPU響應中斷后,通過I/O端口,將8個中斷請求觸發(fā)器的狀態(tài)讀入CPU,逐位檢測它們的狀態(tài),若某一外設有中斷請求,就轉到相應的中斷服務程序。中斷處理的查詢方式。372、8086/8088的中斷系統(tǒng)8086/8088的優(yōu)先權的識別----軟件查詢382、8086/8088的中斷系統(tǒng)
中斷向量即中斷服務程序的入口地址,用兩個字表示,低字是IP,高字是CS。它和斷點不同。所謂斷點就是指響應中斷時,主程序中當前指令下面的一個指令地址。中斷向量表
是指根據(jù)中斷類型和中斷服務子程序對應關系建立的列表。8086/8088的中斷類型碼用8位二進制表示,共有從n=0~FFh,256個中斷向量;每一個中斷向量占4個存儲單元。
中斷向量表建立在內存空間最低1K地址;地址范圍:00000H—003FFH(即CS=0000H)。注意:中斷類型碼只能決定存放中斷向量的地址,并不能決定中斷向量本身和中斷服務程序的功能。8086/8088的優(yōu)先權的識別----向量中斷392、8086/8088的中斷系統(tǒng)8086/8088的優(yōu)先權的識別----向量中斷每個中斷源設備都預先規(guī)定一個中斷向量,這些中斷向量組成一表格形式,中斷向量表。在8086/8088中每個中斷向量為四個字節(jié)(雙字)。其中,低兩字節(jié)存中斷服務程序的IP,高兩字節(jié)存CS。CPU響應中斷時,中斷控制邏輯就將該中斷源設備的代號----中斷向量號(類型碼),從數(shù)據(jù)總線送到CPU。CPU根據(jù)中斷向量號直接從中斷向量表中,查得中斷服務程序的入口地址,并轉向中斷服務程序。這種確定中斷源的方法是由硬件來實現(xiàn)的。速度快,實現(xiàn)過程復雜。
402、8086/8088的中斷系統(tǒng)8086/8088的中斷向量表CSIPCSIPCSIPCSIPCSIPCSIPCSIP0000:0000H0000:0003H0000:0004H0000:0007H0000:0008H0000:000BH0000:000CH0000:000FH0000:0010H0000:0013H0000:0014H0000:007EH0000:007FH0000:03FFH除數(shù)為0的中斷單步中斷非屏蔽中斷斷點中斷溢出中斷類型0類型1類型2類型4類型3類型5類型31類型32類型255(十進制)(十進制)專用中斷(共5個)保留中斷(共27個)供用戶定義的中斷(共256個)412、8086/8088的中斷系統(tǒng)8086/8088的中斷向量表已知類型號為17H的中斷子程序放在2345:7890H開始的內存區(qū)域中,問向量表中如何存放該地址?計算17H型中斷向量17H=00010111B17H×4=01011100=005CH地址存放90H=>0000:005CH78H=>0000:005DH45H=>0000:005EH23H=>0000:005FH422、8086/8088的中斷系統(tǒng)8086/8088可屏蔽中斷處理過程(1)CPU接到外部設備發(fā)出中斷申請INTR后,在當前指令執(zhí)行完后,開始響應中斷請求,發(fā),(2)然后CPU發(fā)第二個,取中斷類型碼(向量號)。外設(8259)接到第一個后,準備中斷類型碼。在CPU發(fā)第二個時,將它送到數(shù)據(jù)總線。(3)CPU從數(shù)據(jù)總線讀取中斷類型碼,在中斷向量表中查找中斷入口,裝入IP,CS。(4)CPU完成:將FR,CS,IP壓入堆棧,關中斷允許IF。保護斷點,開始執(zhí)行中斷服務程序。432、8086/8088的中斷系統(tǒng)8086/8088可屏蔽中斷處理過程(5)保護其它的信息。(6)執(zhí)行中斷服務程序,(7)恢復保護的其它的信息。準備退出中斷服務。(8)中斷服務程序的最后一條指令為IRET。執(zhí)行IRET指令,將IP,CS,F(xiàn)R從堆棧中彈出。
返回到被中斷的程序處,繼續(xù)執(zhí)行。標志寄存器恢復到中斷前狀態(tài)。(允許中斷)。442、8086/8088的中斷系統(tǒng)8086/8088可屏蔽中斷響應時序中斷程序執(zhí)行與其它程序不同,在主程序中沒有入口,因此中斷程序調試必須用斷點。1、在中斷服務程序中設斷點2、將光標置在中斷服務程序中,按F4鍵執(zhí)行運行后,程序連續(xù)執(zhí)行,直到有中斷事件發(fā)生。LA0:INTR,LA1:452、8086/8088的中斷系統(tǒng)8086/8088可屏蔽中斷響應時序462、8086/8088的中斷系統(tǒng)8086/8088可屏蔽中斷響應時序472、8086/8088的中斷系統(tǒng)8086/8088可屏蔽中斷響應時序482、8086/8088的中斷系統(tǒng)8086/8088可屏蔽中斷響應時序492、8086/8088的中斷系統(tǒng)8086/8088可屏蔽中斷返回時序502、8086/8088的中斷系統(tǒng)8086/8088可屏蔽中斷返回時序512、8086/8088的中斷系統(tǒng)8086/8088可屏蔽中斷返回時序522、8086/8088的中斷系統(tǒng)8086/8088可屏蔽中斷返回時序532、8086/8088的中斷系統(tǒng)關于中斷嵌套CPU在響應中斷過程中,自動將中斷允許標志IF清0,禁止在中斷處理過程中再次發(fā)生的中斷申請。此時,即使有更高級中斷也不能得到服務。若系統(tǒng)有多個外部設備,它們都能申請中斷,并且外部設備按其重要程度分為幾種級別。在CPU對某外設進行服務時,允許更重要的外設得到優(yōu)先服務。中斷嵌套。若允許中斷嵌套,中斷服務程序中必須將IF置1。8088、8086只有一根可屏蔽中斷申請線INTR,中斷優(yōu)先級別控制由8259A實現(xiàn)。542、8086/8088的中斷系統(tǒng)小結8086CPU中斷請求中斷響應中斷矢量中斷允許斷點保護有關引腳及作用553、
8259A中斷控制器1、8259A基本構成與引腳信號2、8259A工作過程3、8259A的工作方式4、8259A編程方法5、中斷程序設計563、
8259A中斷控制器3.18259A的基本構成和引腳信號
Intel8259A是8080/8085序列,以及80x86序列CPU兼容的可編程中斷控制器,PC機采用它來管理中斷。每一片8259A具有8級優(yōu)先權控制,并可級聯(lián)工作,采用一級級聯(lián)時最多可擴展至64級硬件優(yōu)先權控制。每一級中斷都可以單獨屏蔽或允許。8259A可提供相應的中斷向量,從而能迅速地轉至中斷服務程序。8259A也具有軟件查詢的能力。573、
8259A中斷控制器3.18259A的基本構成和引腳信號
每一片有8個中斷輸入口允許級聯(lián)擴充,兩級級聯(lián)最多可有64個中斷入口。還可以進一步接8259583、
8259A中斷控制器3.18259A的基本構成----IRR IRR是一個8位寄存器,用于鎖存所有從IRi引腳輸入的中斷請求信號。輸入線IR7—IR0分別連接8個中斷源的中斷請求信號,當中斷源有中斷請求時,在相應的IR引腳上送入有效信號,IRR中相應的位就置位,以鎖存該中斷請求信號。
中斷請求寄存器IRR中斷源593、
8259A中斷控制器3.18259A的基本構成----PR 中斷源PR用于識別各中斷請求的優(yōu)先權級別,并進行優(yōu)先權管理。各中斷請求的優(yōu)先權級別可以由CPU定義或修改。若IRR有幾位被置位,且未被屏蔽,表明有多個中斷源同時申請中斷。則由PR經(jīng)過判斷確定最高優(yōu)先權的中斷請求,并在CPU響應周期內,將它送入ISR中相應的位。優(yōu)先權判別器PR603、
8259A中斷控制器3.18259A的基本構成----ISR 中斷源中斷服務寄存器ISR中斷服務寄存器ISR為8位寄存器,用于記錄已被CPU響應的中斷。在中斷響應周期里,由PR根據(jù)IRR和IMR的狀態(tài),確定先被響應的中斷請求,送至ISR,使相應的位被置位,并一直保持(自動EOI方式例外)。由EOI命令復位。613、
8259A中斷控制器3.18259A的基本構成----IMR 中斷源中斷屏蔽寄存器IMR中斷屏蔽寄存器IMR也是8位寄存器,用于存放對中斷請求的屏蔽信息,其內容可編程設定。IMR中的8個位對應IR7—IR0這8個中斷請求,當IMR中某位被置位,對應的中斷請求就被屏蔽。
IRR對應的位雖被置位,但不能送出它的中斷請求信號給CPU,由此實現(xiàn)對各中斷有選擇的屏蔽。623、
8259A中斷控制器3.18259A的基本構成----數(shù)據(jù)總線緩沖器
數(shù)據(jù)總線緩沖器數(shù)據(jù)總線緩沖器為8位雙向三態(tài)緩沖器,是8259A與CPU間數(shù)據(jù)傳輸?shù)耐ǖ?。CPU通過數(shù)據(jù)總線緩沖器向8259A送初始化命令和操作命令字,或是讀取狀態(tài)信息。在中斷響應周期,8259A通過數(shù)據(jù)總線緩沖器向CPU送出中斷類型碼。633、
8259A中斷控制器3.18259A的基本構成----讀/寫控制邏輯
讀/寫控制邏輯讀/寫控制電路的邏輯功能就是負責接收CPU發(fā)來的控制信號,完成規(guī)定的寫入命令操作以及讀IRR、ISR和IMR的操作。該片8259A的操作過程中,片選CS必須有效。643、
8259A中斷控制器3.18259A的基本構成----級聯(lián)緩沖/比較器
級聯(lián)緩沖/比較器級聯(lián)緩沖/比較器用于實現(xiàn)8259A的級聯(lián),構成主從式中斷管理系統(tǒng),使中斷源由8級擴展到64級。級聯(lián)線CAS2—CAS0在主從式中斷管理系統(tǒng)中,全部8259A對應相連;主片8259A,其為輸出線,CPU響應中斷時,輸出級聯(lián)設備編碼,選中對應的從片;從片的8259A,其為輸入線,接收來自主片的設備編碼。653、
8259A中斷控制器3.18259A的基本構成----級聯(lián)緩沖/比較器
控制電路控制電路邏輯根據(jù)CPU編程設定的工作方式產(chǎn)生片內控制信號,控制片內的工作;同時,根據(jù)IRR、IMR的內容和PR判斷結果,向CPU發(fā)出中斷請求,接受來自CPU的中斷響應信號。663、
8259A中斷控制器3.18259A的引腳圖673、
8259A中斷控制器3.18259A的引腳功能
中斷請求輸入線IR7—IR0接受來自外設或8259A從片的中斷請求信號??稍O置為上升沿觸發(fā)或高電平觸發(fā)。中斷請求輸入線
683、
8259A中斷控制器3.18259A的引腳功能雙向三態(tài)數(shù)據(jù)線
雙向三態(tài)數(shù)據(jù)線D7—D0可與系統(tǒng)數(shù)據(jù)總線直接相連,稱為非緩沖方式工作;也可通過總線緩沖器與系統(tǒng)數(shù)據(jù)總線相連,稱為緩沖方式工作。693、
8259A中斷控制器3.18259A的引腳功能3.18259A的引腳功能片選信號線由CPU的高位地址線控制,低電平時,表示8259A被選中,允許CPU對8259A進行讀或寫操作;高電平時,表示未選中該片。703、
8259A中斷控制器3.18259A的引腳功能地址線
地址線A0用以選擇8259A內部不同寄存器。在8088系統(tǒng)中,A0與CPU的A0相連;在8086系統(tǒng)中,8259A的D7—D0與系統(tǒng)數(shù)據(jù)線低8位相連,而CPU與偶地址傳遞低8位數(shù)據(jù)信息,所以A0應與8086CPU的A1相連。713、
8259A中斷控制器3.18259A的引腳功能讀信號當讀信號低電平時,允許8259A將中斷請求寄存器IRR、中斷服務寄存器ISR、中斷屏蔽寄存器IMR的內容送上數(shù)據(jù)總線,供CPU讀取。723、
8259A中斷控制器3.18259A的引腳功能寫信號寫信號低電平時,允許CPU將命令字寫入8259A。733、
8259A中斷控制器3.18259A與CPU的接口
數(shù)據(jù)總線D7~D0與系統(tǒng)數(shù)據(jù)總線連接(8086為與低字節(jié)數(shù)據(jù)總線),讀信號線
、寫信號線
分別與CPU對應的信號線相連,地址線A0與系統(tǒng)地址總線的A0相連,片選線
一般與譯碼電路輸出相連,確定8259A芯片在系統(tǒng)中的地址。743、
8259A中斷控制器3.18259A的引腳功能中斷請求線INT,輸出信號,通常與CPU的可屏蔽中斷輸入端INTR相連,向CPU發(fā)送中斷請求信號。中斷請求線
753、
8259A中斷控制器3.18259A的引腳功能中斷響應線
接收CPU在中斷響應周期發(fā)來的中斷響應信號,8259A接到此信號后,送上中斷類型碼;中斷類型碼由編程設定。763、
8259A中斷控制器3.18259A的引腳功能級聯(lián)線級聯(lián)線CAS2—CAS0在主從式中斷管理系統(tǒng)中,全部8259A的CAS2—CAS0與對應端相連。作為主片的8259A,其CAS2—CAS0為輸出線,在CPU響應中斷時,用來輸出級聯(lián)設備編碼,選中對應的從片;作為從片的8259A,其CAS2—CAS0為輸入線,接收來自主片的設備編碼。773、
8259A中斷控制器3.18259A的引腳功能從片編程/緩沖使能非緩沖方式工作時,作為輸入線,*高電平時,表示該8259A為主片;*低電平時,表示該8259A為從片。緩沖方式下工作時,作為輸出線,用于控制緩沖器接收和發(fā)送。從片編程/緩沖使能與CAS2-CAS0實現(xiàn)8259A的級聯(lián)78主、從8259A及與8086/8088連接3、
8259A中斷控制器3.18259A的連接793、
8259A中斷控制器3.28259A的工作過程系統(tǒng)通電后,先對8259進行初始化(CPU執(zhí)行一段程序,向8259寫入控制字,使其處于制定的工作方式)初始化完成后,當外設發(fā)出中斷請求時,8259A處理過程:
(1)當中斷請求輸入線(IR0-IR7)上有一個或多個中斷請求信號有效時,則中斷請求寄存器IRR相應位置1。當中斷屏蔽寄存器IMR為0時,則中斷請求進入優(yōu)先權判別器PR,由PR判斷是否當前優(yōu)先權最高?如果是,則8259A通過INT引腳向CPU的INTR發(fā)出中斷請求INTR;803、
8259A中斷控制器3.28259A的工作過程
(2)當CPU的中斷允許標志IF=1(處于開中斷狀態(tài)),CPU響應中斷,發(fā)回信號;
8259A在接受到CPU發(fā)出的第一個脈沖后,并將中斷請求寄存器IRR的相應位清零。
在第二個中斷響應總線周期中,8259A在接受到CPU發(fā)出的第二個脈沖后,使中斷服務寄存器ISR的相應位置1,將送出中斷類型碼放到數(shù)據(jù)總線上,并以此求得中斷服務程序的入口地址并執(zhí)行。813、
8259A中斷控制器3.28259A的工作過程
(3)若允許中斷嵌套,則由8259A的PR依據(jù)ISR中的狀態(tài),判斷新的中斷請求優(yōu)先權是否高于正在服務的中斷。若是,則送出INT=1,向CPU的INTR發(fā)中斷請求信號,從而實現(xiàn)中斷嵌套。(4)當中斷服務結束時,CPU送出中斷結束命令(EOI命令),使8259A清除ISR的相應位,從而結束一個中斷服務。823、
8259A中斷控制器3.28259A的工作時序833、
8259A中斷控制器3.38259A的工作方式
8259A具有十分靈活的運行方式,,可以通過編程設定工作方式,滿足用戶對中斷管理的不同要求。
主要工作方式:
(1)中斷請求觸發(fā)方式 (2)屏蔽中斷源方式 (3)中斷優(yōu)先方式與中斷嵌套 (4)中斷結束(EOI)方式
(5)連接系統(tǒng)總線方式
843、
8259A中斷控制器3.38259A的工作方式—中斷請求觸發(fā)方式
8259A將中斷請求輸入線上出現(xiàn)高電平作為有效的中斷請求信號。
注意:當中斷請求輸入端出現(xiàn)一個高電平并得到CPU響應時,應及時撤消信號。否則,在CPU進入中斷處理過程,開放中斷后,會引起錯誤的第二次中斷。電平觸發(fā)限定中斷源產(chǎn)生的中斷請求觸發(fā)電平的時間,持續(xù)至CPU響應它的第一個INTA脈沖的下降沿。邊沿觸發(fā)8259A將中斷請求輸入線出現(xiàn)的上升沿作為中斷請求信號。上升沿觸發(fā)后,可一直保持高電平,而不會產(chǎn)生重復觸發(fā)。通常用負脈沖的后沿實現(xiàn)邊沿觸發(fā)。853、
8259A中斷控制器3.38259A的工作方式—中斷優(yōu)先方式和嵌套
中斷優(yōu)先權設置方式固定優(yōu)先級方式 優(yōu)先權自動循環(huán)方式
中斷嵌套方式普通全嵌套方式 特殊全嵌套方式在這兩種全嵌套方式中,中斷優(yōu)先級是固定的,IR0優(yōu)先級最高,IR7優(yōu)先級最低863、
8259A中斷控制器3.38259A的工作方式—中斷優(yōu)先方式和嵌套固定優(yōu)先級方式在此方式下,只要不重新設置優(yōu)先級,所有的中斷請求的中斷優(yōu)先級就是固定不變的。8259A加電后就處于這種狀態(tài)。8259A加電后,默認IR0優(yōu)先級最高,IR7優(yōu)先級最低。這種優(yōu)先順序可以通過編程來改變,例如通過程序可初始優(yōu)先權順序由高至低為:IR5、IR6、IR7、IR0、IRl、IR2、IR3、IR4。873、
8259A中斷控制器3.38259A的工作方式—中斷優(yōu)先方式和嵌套3.38259A的工作方式—中斷優(yōu)先方式和嵌套優(yōu)先級自動循環(huán)方式上方式中,優(yōu)先權是固定的。這樣優(yōu)先級別高的設備,獲得服務的機會多,而優(yōu)先級別低的設備,獲得服務的機會少。在中斷源較多時,且若中斷事件也較多時,優(yōu)先權低的設備可能得不到及時服務。當一個系統(tǒng)的幾個中斷源的重要性差別不大時,并不希望它的優(yōu)先權是固定不變的。優(yōu)先權自動循環(huán)方式下,優(yōu)先權順序是在變化的:初始時,IR0為最高優(yōu)先權,IR7為最低優(yōu)先權;當一個中斷被CPU響應后,它的優(yōu)先權自動降為最低的;原在其下一級的中斷升為最高優(yōu)先權,其余循環(huán)類推。假設,初始時有IR3中斷請求,且被CPU響應,當IR3的中斷服務結束后,IR3降為最低優(yōu)先權。此時的優(yōu)先權順序變?yōu)椋篒R4、IR5、IR6、IR7、IR0、IRl、IR2、IR3。883、
8259A中斷控制器3.38259A的工作方式—中斷優(yōu)先方式和嵌套3.38259A的工作方式—中斷優(yōu)先方式和嵌套優(yōu)先級特殊循環(huán)方式這種方式特殊在初始最低優(yōu)先權是由編程確定的,其它與自動循環(huán)方式相同。其排列仍為按IR0、IR1、……IR7的循環(huán)。指定某一IRi為最低后,它后面的為最高,依此循環(huán)。
893、
8259A中斷控制器3.38259A的工作方式—屏蔽中斷源方式普通屏蔽方式特殊屏蔽方式
在中斷服務程序中使用,用于中斷嵌套,實現(xiàn)在高優(yōu)先權的中斷服務程序中開放低優(yōu)先權的中斷請求。實現(xiàn):在中斷服務程序中,用命令字OCW1對中斷屏蔽寄存器IMR中相應的位置1,且清除當前中斷服務寄存器ISR對應的位,從而開放低優(yōu)先權的中斷請求。CPU對8259A的中斷屏蔽寄存器IMR寫入命令字,使IMR中的某個位或幾個位置1,對應的中斷請求就被屏蔽,從而不能被8259A送到CPU。而IMR中被置0的那些位對應的中斷請求允許從8259A送到CPU。對中斷屏蔽可以隨時修改,即通過對命令字OCWl的重新設置,實現(xiàn)對某些中斷的屏蔽。903、
8259A中斷控制器普通全嵌套方式8259A的中斷優(yōu)先權順序固定不變,從高到低依次為IR0、IR1、……IR7。當外設請求后,8259A對當前優(yōu)先權最高的請求中斷IRi予以響應,(當CPU響應時)將其向量號送數(shù)據(jù)總線,對應ISR的Di位置位,直到中斷結束(CPU發(fā)來EOI命令),ISR的Di位復位。在ISR的Di位置位期間,禁止再發(fā)生同級和低級優(yōu)先權的中斷,但允許高級優(yōu)先權中斷(8259A嵌套)。
全嵌套方式是8259A初始化后默認的工作方式,也是最常用的工作方式。
3.38259A的工作方式—中斷優(yōu)先方式和嵌套913、
8259A中斷控制器3.38259A的工作方式—中斷優(yōu)先方式和嵌套特殊全嵌套方式這種方式特殊在當處理某一級中斷時,允許相同級別的中斷源再次申請中斷(嵌套),其它與普通全嵌套方式相同。特殊全嵌套方式用在8259A級連系統(tǒng)。當接有從片時,從片通過主片向CPU請求中斷服務。若主8259設為全嵌套方式,當從片中某一中斷請求中斷后,主8259將屏蔽該中斷源,實際上屏蔽了從片所有中斷。此時無論從8259的中斷優(yōu)先級如何設置,都被屏蔽。因此,要對主片采用特殊全嵌套方式,允許從片中斷。923、
8259A中斷控制器3.38259A的工作方式—中斷優(yōu)先方式和嵌套兩種嵌套方式比較933、
8259A中斷控制器3.38259A的工作方式—中斷結束方式
當一個中斷請求被響應,8259A在中斷服務寄存器ISR的相應位置l。當中斷服務結束時,必須將ISR中相應的位清0,進行中斷結束操作,否則該中斷源無法第二次進入中斷。
EOI自動中斷結束方式非自動中斷結束方式普通中斷結束方式特殊中斷結束方式943、
8259A中斷控制器3.38259A的工作方式—中斷結束方式自動中斷結束方式CPU一旦進入中斷響應周期,在第二個響應周期的INTA信號的后沿,8259A就自動將當前中斷服務寄存器ISR中相應的位清0。這時,盡管CPU正在為某個中斷源服務,但在8259A的ISR中沒有對應位置1,優(yōu)先權判別器PR不能依據(jù)ISR正確判別是否接收新的中斷請求,就會出現(xiàn)低優(yōu)先權中斷打斷高優(yōu)先權中斷的情況。自動中斷結束方式通常用在不允許中斷嵌套的場合。953、
8259A中斷控制器3.38259A的工作方式—中斷結束方式普通中斷結束方式
普通中斷結束方式用在普通全嵌套情況下。在中斷服務結束時,必須由CPU用OUT指令發(fā)來一個普通EOI命令,8259A收到后,將當前中斷服務寄存器ISR中的已置1的最高優(yōu)先權的位復位。特殊中斷結束方式特殊中斷結束方式多用于優(yōu)先權循環(huán)情況下。由CPU在中斷服務結束時,發(fā)出一條特殊EOI命令,指明要清除ISR中的哪一位。注意:在級聯(lián)方式下,一般不用自動EOI方式,而用普通中斷結束或特殊中斷結束方式。而且在級聯(lián)方式下,一個中斷結束可能要發(fā)兩次EOI命令,一次對主片,一次對從片,分別清除主、從片的ISR中相應位。963、
8259A中斷控制器3.38259A的工作方式—連接總線方式緩沖方式非緩沖方式8259A通過總線緩沖器和系統(tǒng)數(shù)據(jù)總線相連。8259A的端和總線緩沖器的允許端相連。輸出的低電平作為總線緩沖器的啟動信號。
8259A直接與數(shù)據(jù)總線相連。作為輸入端。單片的8259A系統(tǒng),接高電平;多片8259A的級聯(lián)系統(tǒng),主片接高電平,從片接低電平。973、
8259A中斷控制器3.38259A的工作方式總結983、
8259A中斷控制器3.48259A的編程方法8259A為可編程的中斷控制器,它的工作狀態(tài)和操作是由接收CPU的命令而確定的。8259A在開始使用前,首先寫入初始化命令字,使其處于預定的初始狀態(tài);初始化命令字設定后,在整個系統(tǒng)工作過程中保持不變;
操作命令字用來控制8259A執(zhí)行不同的操作方式。初始化命令字設置后,在8259A工作期間的任何時刻都可設置操作命令字,且允許重置操作命令字動態(tài)地改變8259A的操作方式。 998259內部有4個初始化命令字和3個操作命令字。8259要能正常工作,必須對這些字設置正確的值----編程。8259只有一根地址線A0,因此必須根據(jù)規(guī)定順序編程。其中4個初始化命令字在程序啟動時設置,工作中不再改變。3個操作命令字在工作時可根據(jù)需要隨時修改。3、
8259A中斷控制器3.48259A的編程方法1001013、
8259A中斷控制器3.48259A的編程方法上述各種工作方式中
(1)全嵌套方式,自動中斷結束方式,中斷請求觸發(fā)方式,緩沖器方式,特殊全嵌套方式和級聯(lián)方式是由初始化命令字確定的
(2)循環(huán)優(yōu)先級方式,特殊屏蔽,查詢,手動中斷結束方式由操作命令字確定3、
8259A中斷控制器3.48259A的編程方法—初始化命令初始化命令字有4個:
①ICW1(初始化字)格式②ICW2(中斷向量碼)格式③ICW3(級聯(lián)控制字)格式④ICW4(中斷結束方式字)格式8259A在使用前首先必須對它進行初始化,使其處于預定的初始狀態(tài),初始化命令字設定后,整個工作過程中保持不變。1023、
8259A中斷控制器ICW1D4=1,A0=0表示設置的是ICW1注意:A0=0,表示輸入8259A低地址端口;3.48259A的編程方法—初始化命令1033、
8259A中斷控制器3.48259A的編程方法ICW2ICW2用于設置中斷類型碼。注意:A0=1,表示輸入8259A高地址端口。3.48259A的編程方法—初始化命令1043、
8259A中斷控制器ICW3ICW3是在級聯(lián)方式下設置的初始化命令字。當ICW1中D1=1,單片使用,不需要ICW3;當ICW1中D1=0,表示8259A工作于級聯(lián)方式,必須設置ICW3。3.48259A的編程方法—初始化命令1053、
8259A中斷控制器ICW4當ICW1的D0=1,需要設置ICW4。D7D6D5=000ICW4的標志SFNM=1,用于指明是否選擇特殊全嵌套方式,一般在使用多片8259A中使用,主片即選用特殊全嵌套方式。3.48259A的編程方法—初始化命令1063、
8259A中斷控制器3.48259A的編程方法—操作命令
向8259A寫入初始化命令字后,8259A就處于設定的工作狀態(tài),隨時準備接受中斷請求信號,按要求管理中斷;自動進入操作命令狀態(tài),在任何時刻都可以設置操作命令字,選擇其不同的操作方式;操作命令字用于規(guī)定中斷屏蔽、中斷結束、優(yōu)先權循環(huán)和中斷狀態(tài)的讀出和查詢等等。操作命令字有三個,根據(jù)需要輸入,無需按順序。
①OCW1(中斷屏蔽字) ②OCW2(中斷結束和優(yōu)先級循環(huán)) ③OCW3(屏蔽方式和狀態(tài)讀出控制字)
1073、
8259A中斷控制器3.48259A的編程方法—操作命令OCW1OCW1的功能用來動態(tài)地設置中斷源的屏蔽狀態(tài)。CPU也可以從8259A的高地址端口讀取中斷屏蔽寄存器
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 東野圭吾作品分析
- 上證50ETF期權介紹
- 《雖有佳肴》課件
- 七大浪費知識
- 宏觀深度報告:2025年十大“不一致”預期
- 單位管理制度展示選集職員管理篇十篇
- 部編版三年級語文上冊期末試卷(無答案)
- IFRS17對保險行業(yè)影響的深度解析:專題二開啟計量“黑盒子”
- 單位管理制度展示匯編【職員管理】
- 單位管理制度品讀選集人事管理篇
- 計算機信息系統(tǒng)分級保護方案
- 二年級豎式計算題720道(打印排版)
- 頂管施工技術全面詳解
- 公路工程質量檢驗評定標準(交安部分)
- 整式的乘法和因式分解純計算題100道
- 東北石油大學學業(yè)預警、留級與退學制度修訂情況說明
- Consent-Letter-for-Children-Travelling-Abroad
- 護士工作量統(tǒng)計表
- 中價協(xié)[2013]35號造價取費
- 玻璃鱗片施工技術規(guī)范
- 初中物理實驗記錄表
評論
0/150
提交評論