




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、第第6 6章章 中斷控制接口中斷控制接口教學重點n 8088 CPU的中斷系統(tǒng)的中斷系統(tǒng)n 8259A的中斷工作過程和工作方式的中斷工作過程和工作方式n 中斷服務程序的編寫中斷服務程序的編寫6.1中斷的定義 nCPU執(zhí)行程序時,由于發(fā)生了某種隨機執(zhí)行程序時,由于發(fā)生了某種隨機的事件的事件(外部或內部外部或內部),引起,引起CPU暫時中暫時中斷正在運行的程序,轉去執(zhí)行一段特殊斷正在運行的程序,轉去執(zhí)行一段特殊的服務程序的服務程序(稱為中斷服務程序或中斷處稱為中斷服務程序或中斷處理程序理程序),以處理該事件,該事件處理完,以處理該事件,該事件處理完后又返回被中斷的程序繼續(xù)執(zhí)行,這一后又返回被中斷的
2、程序繼續(xù)執(zhí)行,這一過程稱為中斷。過程稱為中斷。中斷源n引起引起CPU中斷的事件中斷的事件中斷源。例如:中斷源。例如:n外設外設請求輸入輸出數據,報告故障等請求輸入輸出數據,報告故障等n事件事件掉電、硬件故障、軟件錯誤、非法操作、定時掉電、硬件故障、軟件錯誤、非法操作、定時時間到等時間到等n中斷源分為:外部中斷、內部中斷中斷源分為:外部中斷、內部中斷n內部中斷:內部中斷:CPU內部執(zhí)行程序時自身產生的中斷內部執(zhí)行程序時自身產生的中斷n外部中斷:外部中斷:CPU以外的設備、部件產生的中斷以外的設備、部件產生的中斷n 8086/8088的外部中斷信號:的外部中斷信號:INTR、NMInINTR可屏蔽
3、中斷請求,高電平有效,受可屏蔽中斷請求,高電平有效,受IF標志的控標志的控制。制。IF=1時,執(zhí)行完當前指令后時,執(zhí)行完當前指令后CPU對它作出響應。對它作出響應。 nNMI非屏蔽中斷請求,上升沿有效,任何時候非屏蔽中斷請求,上升沿有效,任何時候CPU都要響應此中斷請求信號。都要響應此中斷請求信號。為何計算機中要引入中斷?n提高數據傳輸率;提高數據傳輸率;n避免了避免了CPU不斷檢測外設狀態(tài)的過程,提不斷檢測外設狀態(tài)的過程,提高了高了CPU的利用率。的利用率。n實現對特殊事件的實時響應。實現對特殊事件的實時響應。中斷過程n五個步驟:五個步驟:n中斷請求中斷請求n中斷判優(yōu)中斷判優(yōu)(有時還要進行中
4、斷源識別有時還要進行中斷源識別)n中斷響應中斷響應n中斷服務中斷服務n中斷返回中斷返回以下以以下以外部中斷外部中斷為主介紹這五個步驟。為主介紹這五個步驟。1)中斷請求n外設接口(中斷源)發(fā)出中斷請求信號,送到外設接口(中斷源)發(fā)出中斷請求信號,送到CPU的的INTR或或NMI引腳;引腳;n中斷請求信號:邊沿請求,電平請求中斷請求信號:邊沿請求,電平請求例如,例如,NMI為邊沿請求,為邊沿請求,INTR為電平請求為電平請求n中斷請求信號應保持到中斷被處理為止;中斷請求信號應保持到中斷被處理為止;nCPU響應中斷后,中斷請求信號應及時撤銷。響應中斷后,中斷請求信號應及時撤銷。n在在8086/808
5、8系統(tǒng)中,外設的中斷要經過系統(tǒng)中,外設的中斷要經過8259A可編程中斷控制器可編程中斷控制器(PIC)的排隊判優(yōu)后向的排隊判優(yōu)后向CPU發(fā)出:發(fā)出: (I/O接口接口) PIC CPU2.1)中斷源識別n計算機中的中斷源有很多,計算機中的中斷源有很多,CPU必須識別是必須識別是哪一個設備產生中斷。識別中斷源有兩個方哪一個設備產生中斷。識別中斷源有兩個方法:法:n軟件查詢。將中斷信號從數據總線讀入,用程序軟件查詢。將中斷信號從數據總線讀入,用程序進行判別。進行判別。n中斷矢量法。由中斷源提供中斷類型號,中斷矢量法。由中斷源提供中斷類型號,CPU根根據類型確定中斷源。(據類型確定中斷源。(8086
6、/8088即采用此種即采用此種方法)方法)中斷查詢接口A0A15鎖鎖存存器器INTR三態(tài)三態(tài)緩沖器緩沖器譯碼譯碼 8001HD0D7中斷中斷A中斷中斷B中斷中斷CIOR2.2)中斷判優(yōu)n多個中斷源產生中斷,多個中斷源產生中斷,CPU首先為誰服務?首先為誰服務?中斷優(yōu)先級排隊問題。中斷優(yōu)先級排隊問題。n中斷優(yōu)先級控制要處理兩種情況:中斷優(yōu)先級控制要處理兩種情況:n對同時產生的中斷:應首先處理優(yōu)先級別較高的中斷;若優(yōu)先級別對同時產生的中斷:應首先處理優(yōu)先級別較高的中斷;若優(yōu)先級別相同,則按先來先服務的原則處理;相同,則按先來先服務的原則處理;n對非同時產生的中斷:低優(yōu)先級別的中斷處理程序允許被高優(yōu)
7、先級對非同時產生的中斷:低優(yōu)先級別的中斷處理程序允許被高優(yōu)先級別的中斷源所中斷別的中斷源所中斷即允許中斷嵌套。即允許中斷嵌套。n中斷優(yōu)先級的控制方法中斷優(yōu)先級的控制方法n硬件判優(yōu)硬件判優(yōu)鏈式判優(yōu)、并行判優(yōu)(中斷向量法)鏈式判優(yōu)、并行判優(yōu)(中斷向量法)n軟件判優(yōu)軟件判優(yōu)順序查詢中斷請求,先查詢的先服務(即先查詢的優(yōu)先順序查詢中斷請求,先查詢的先服務(即先查詢的優(yōu)先級別高)級別高)n通常將通常將中斷判優(yōu)中斷判優(yōu)與與中斷源識別中斷源識別合并在一起進行處理。合并在一起進行處理。nx86系統(tǒng)中,這項任務由系統(tǒng)中,這項任務由PIC和和CPU共同完成。共同完成。鏈式中斷優(yōu)先權排隊電路A2A1C2C1D2D1
8、B2B1中斷源中斷源A觸發(fā)器觸發(fā)器中斷源中斷源B觸發(fā)器觸發(fā)器中斷源中斷源C觸發(fā)器觸發(fā)器中斷矢量中斷矢量D中斷矢量中斷矢量C中斷矢量中斷矢量B中斷矢量中斷矢量A中斷源中斷源D觸發(fā)器觸發(fā)器緩沖器緩沖器緩沖器緩沖器緩沖器緩沖器緩沖器緩沖器INTA3)中斷響應n在每條指令的最后一個時鐘周期,在每條指令的最后一個時鐘周期,CPU檢測檢測INTR或或NMI信號。若以下條件成立,則信號。若以下條件成立,則CPU響應中斷:響應中斷:n當前指令執(zhí)行完。對當前指令執(zhí)行完。對INTR,還應滿足以下條件,還應滿足以下條件n當前指令是當前指令是STI和和IRET,則下條指令也要執(zhí)行完,則下條指令也要執(zhí)行完。n當前指令帶
9、有當前指令帶有LOCK、REP等指令前綴時,則把它們等指令前綴時,則把它們看成一個整體,要求完整地執(zhí)行完;看成一個整體,要求完整地執(zhí)行完;n對對INTR,CPU應處于開中斷狀態(tài),即應處于開中斷狀態(tài),即IF=1;n當前沒有復位當前沒有復位(RESET)和保持和保持(HOLD)信號。信號。n若若NMI和和 INTR 同時發(fā)生,則首先響應同時發(fā)生,則首先響應NMI。3)中斷響應(續(xù))nCPU中斷響應時,要做下述三項工作:中斷響應時,要做下述三項工作:n向中斷源發(fā)出向中斷源發(fā)出INTA中斷響應信號;中斷響應信號;n斷點保護,包括斷點保護,包括CS、IP和和PSW(FLAGS)。這)。這主要是保證中斷結
10、束后能返回被中斷的程序。主要是保證中斷結束后能返回被中斷的程序。n獲得中斷服務程序首地址(入口)。獲得中斷服務程序首地址(入口)。如何得到中斷處理程序的首地址?如何得到中斷處理程序的首地址?n中斷向量法中斷向量法常用常用4)中斷處理(中斷服務)n中斷服務子程序特點中斷服務子程序特點n為為”遠遠”過程(類型為過程(類型為FAR)n要用要用IRET指令返回指令返回n中斷服務子程序要做的工作中斷服務子程序要做的工作n保護現場保護現場(PUSH regs) n開中斷開中斷(STI) n進行中斷處理進行中斷處理 n恢復現場恢復現場(POP regs) n中斷返回中斷返回(IRET) 5)中斷返回n執(zhí)行中
11、斷返回指令執(zhí)行中斷返回指令IRETnIRET指令將使指令將使CPU把堆棧內保存的斷點信息彈把堆棧內保存的斷點信息彈出到出到IP、CS和和FLAG中,保證被中斷的程序從斷中,保證被中斷的程序從斷點處能夠繼續(xù)往下執(zhí)行。點處能夠繼續(xù)往下執(zhí)行。IPLIPHCSLCSHFLAGLFLAGHSPIPLIPHCSLCSHFLAGLFLAGHSPIPCSFLAG進入中斷服務程序時中斷返回后的中斷系統(tǒng) n與中斷有關的控制線為:與中斷有關的控制線為:NMI、INTR、INTA#n8088系統(tǒng)的中斷源系統(tǒng)的中斷源n內部中斷內部中斷n除法溢出:類型號除法溢出:類型號0,商大于目的操作數所能表達的范圍時產生。,商大于目
12、的操作數所能表達的范圍時產生。n單步中斷:類型號單步中斷:類型號1,TF=1時產生(當前指令需執(zhí)行完)時產生(當前指令需執(zhí)行完)n斷點中斷:類型號斷點中斷:類型號3,這是一個軟件中斷,即,這是一個軟件中斷,即INT 3指令。指令。n溢出中斷:類型號溢出中斷:類型號4,這是一個軟件中斷,即,這是一個軟件中斷,即INTO指令。指令。n軟件中斷:即軟件中斷:即INT n指令,類型號指令,類型號n(0-255)。n外部中斷外部中斷n非屏蔽中斷非屏蔽中斷NMI:類型號:類型號2,不可用軟件屏蔽,不可用軟件屏蔽,CPU必須響應它。必須響應它。n可屏蔽中斷可屏蔽中斷INTR:類型號由:類型號由PIC提供。提
13、供。IF=1時時CPU才能響應。才能響應。的中斷類型非屏蔽中斷源非屏蔽中斷源中斷邏輯中斷邏輯INTO指令指令單步單步中斷中斷除法除法錯誤錯誤INT N指令指令CPUINTRNMI可屏蔽中斷源可屏蔽中斷源8259A中斷中斷控制器控制器IR0IR1IR2IR3IR4IR5IR6IR7外外設設中中斷斷源源 INTAn內部中斷內部中斷n除法錯中斷除法錯中斷n指令中斷指令中斷n溢出中斷溢出中斷n單步中斷單步中斷n外部中斷外部中斷n非屏蔽中斷非屏蔽中斷n可屏蔽中斷可屏蔽中斷中斷源的識別n8088系統(tǒng)采用中斷類型碼來識別不同的中系統(tǒng)采用中斷類型碼來識別不同的中斷源,斷源,每個中斷源都有一個與它相對應的中每個
14、中斷源都有一個與它相對應的中斷類型碼斷類型碼 。n溢出、斷點、除法溢出、單步、非屏蔽中斷的溢出、斷點、除法溢出、單步、非屏蔽中斷的類型碼為類型碼為固定值固定值n軟件中斷的類型碼軟件中斷的類型碼由指令給出由指令給出n可屏蔽中斷的類型碼可屏蔽中斷的類型碼由由PIC給出給出nCPU響應響應INTR中斷時,會產生兩個中斷響中斷時,會產生兩個中斷響應總線周期,要求應總線周期,要求PIC在第在第2個中斷響應總個中斷響應總線周期把中斷類型碼放到數據總線上,供線周期把中斷類型碼放到數據總線上,供CPU讀入。讀入。的中斷向量表n中斷向量:中斷服務程序的入口地址(首地址)中斷向量:中斷服務程序的入口地址(首地址)
15、n邏輯地址含有段地址邏輯地址含有段地址CS和偏移地址和偏移地址IP(32位)位)n每個中斷向量的低字是偏移地址、高字是段地址,每個中斷向量的低字是偏移地址、高字是段地址,需占用需占用4個字節(jié)個字節(jié)n8088微處理器從物理地址微處理器從物理地址000H開始,依次安排各開始,依次安排各個中斷向量,向量號也從個中斷向量,向量號也從0開始開始n256個中斷占用個中斷占用1KB區(qū)域,就形成區(qū)域,就形成中斷向量表中斷向量表向量號為向量號為N的中斷向量的的中斷向量的物理地址物理地址N4中斷向量表的初始化n初始化初始化將中斷服務程序的入口地址放入將中斷服務程序的入口地址放入向量表向量表 例:中斷類型碼為例:中
16、斷類型碼為48H的中斷處理子程序的的中斷處理子程序的名字為名字為int48h,編寫程序段將該中斷處理子,編寫程序段將該中斷處理子程序的入口地址放入向量表。程序的入口地址放入向量表。中斷向量表的初始化 CLI MOV AX,0 MOV DS,AX MOV SI,48H*4 MOV AX,OFFSET int48h MOV SI,AX MOV AX,SEG int48h MOV SI+2,AX STI8086/8088 CPU的中斷響應過程 n內部中斷響應過程內部中斷響應過程 n無無INTA#周期周期n中斷類型碼固定或由指令給出中斷類型碼固定或由指令給出n響應過程主要步驟:響應過程主要步驟: PU
17、SH FLAG IF=0 PUSH CS PUSH IP 取中斷向量送入取中斷向量送入IP和和CS中斷響應過程(續(xù))n外部中斷響應過程外部中斷響應過程n非屏蔽中斷,與內部中斷響應過程類似非屏蔽中斷,與內部中斷響應過程類似 n可屏蔽中斷可屏蔽中斷 INTA#(1),),PIC進行優(yōu)先級排隊判優(yōu)處理進行優(yōu)先級排隊判優(yōu)處理 INTA#(2),),PIC把中斷類型碼放到把中斷類型碼放到DB上,上,CPU讀入讀入 PUSH FLAG IF=0 PUSH CS PUSH IP 取中斷向量送入取中斷向量送入IP和和CS與內部中斷一樣與內部中斷一樣的中斷響應過程NMIN軟件中斷軟件中斷INTRTF=1中斷響應
18、周期中斷響應周期讀中斷向量號讀中斷向量號下條指令下條指令現行指令現行指令IF1NNNNYYYYY查詢中斷的順序,查詢中斷的順序,決定了各種中斷源的優(yōu)先權決定了各種中斷源的優(yōu)先權n軟件中斷軟件中斷n除法錯中斷除法錯中斷n指令中斷指令中斷n溢出中斷溢出中斷n非屏蔽中斷非屏蔽中斷n可屏蔽中斷可屏蔽中斷n單步中斷單步中斷高高低低的中斷響應過程(續(xù))Y還有還有NMITEMP1標志寄存器入棧標志寄存器入棧TEMPTF,IFTF0CS:IP入棧入棧獲取中斷向量獲取中斷向量執(zhí)行服務程序執(zhí)行服務程序彈出彈出CS:IP彈出標志寄存器彈出標志寄存器返回被中斷程序返回被中斷程序(1)(2)(3)(4)(5)NNY(6
19、)n8088各種中斷源的優(yōu)先權,各種中斷源的優(yōu)先權,實際上是指被識別出來的先后實際上是指被識別出來的先后n多種中斷同時請求時,多種中斷同時請求時,最先響應的則可能是最先響應的則可能是單步中斷或單步中斷或NMI中斷中斷7.2 內部中斷服務程序n編寫內部中斷服務程序與編寫子程序類似編寫內部中斷服務程序與編寫子程序類似n利用過程定義偽指令利用過程定義偽指令PROC/ENDPn第第1條指令通常為開中斷指令條指令通常為開中斷指令STIn最后用中斷返回指令最后用中斷返回指令IRETn通常采用寄存器傳遞參數通常采用寄存器傳遞參數n主程序需要調用中斷服務程序主程序需要調用中斷服務程序n調用前,需要設置中斷向量
20、調用前,需要設置中斷向量n利用利用INT n指令調用中斷服務程序指令調用中斷服務程序7.3 8259A中斷控制器nIntel 8259A是可編程中斷控制器是可編程中斷控制器PICn可用于管理可用于管理Intel 8080/8085、8086/8088、80286/80386的可屏蔽中斷的可屏蔽中斷n8259A的基本功能的基本功能n一片一片8259A可以管理可以管理8級中斷,可擴展至級中斷,可擴展至64級級n每一級中斷都可單獨被屏蔽或允許每一級中斷都可單獨被屏蔽或允許n在中斷響應周期,可提供相應的中斷向量號在中斷響應周期,可提供相應的中斷向量號n8259A設計有多種工作方式,可通過編程選擇設計有
21、多種工作方式,可通過編程選擇的內部結構和引腳D7D0INTAINT中斷請求寄存器中斷請求寄存器中斷屏蔽寄存器中斷屏蔽寄存器數據數據總線總線緩沖器緩沖器IR0IR7讀讀/寫寫控制控制邏輯邏輯級聯(lián)級聯(lián)緩沖器緩沖器比較器比較器RDWRA0CSCAS0CSA1CAS2SP/EN優(yōu)先權判別電路優(yōu)先權判別電路中斷服務寄存器中斷服務寄存器控制邏輯控制邏輯1. 中斷控制n中斷請求寄存器中斷請求寄存器IRRn保存保存8條外界中斷請求信號條外界中斷請求信號IR0IR7的請求狀態(tài)的請求狀態(tài)nDi位為位為1表示表示IRi引腳有中斷請求;為引腳有中斷請求;為0表示無請求表示無請求n中斷服務寄存器中斷服務寄存器ISRn保
22、存正在被保存正在被8259A服務著的中斷狀態(tài)服務著的中斷狀態(tài)nDi位為位為1表示表示IRi中斷正在服務中;為中斷正在服務中;為0表示沒有被服務表示沒有被服務n中斷屏蔽寄存器中斷屏蔽寄存器IMRn保存對中斷請求信號保存對中斷請求信號IR的屏蔽狀態(tài)的屏蔽狀態(tài)nDi位為位為1表示表示IRi中斷被屏蔽(禁止);為中斷被屏蔽(禁止);為0表示允許表示允許n中斷優(yōu)先權判別電路中斷優(yōu)先權判別電路 n確定是否向確定是否向CPU發(fā)出中斷請求,中斷響應時確定發(fā)出中斷請求,中斷響應時確定ISR的哪位應置位及把相應中斷的類型碼放到數據總線上的哪位應置位及把相應中斷的類型碼放到數據總線上 2. 與處理器接口 A0 RD
23、* WR* CS*功能功能 0 1 0 0 1 1 0 0 0 0 1 0 1 0 1 0 1 1 0 1寫入寫入ICW1、OCW2和和OCW3寫入寫入ICW2ICW4和和OCW1讀出讀出IRR、ISR和查詢字和查詢字讀出讀出IMR數據總線高阻狀態(tài)數據總線高阻狀態(tài)數據總線高阻狀態(tài)數據總線高阻狀態(tài)3. 中斷級連n一個系統(tǒng)中,一個系統(tǒng)中,8259A可以級連,有一個主可以級連,有一個主8259A,若干個(最多若干個(最多8個)從個)從8259An級連時,主級連時,主8259A的三條級連線的三條級連線CAS0CAS2作作為輸出線,連至每個從為輸出線,連至每個從8259A的的CAS0CAS2n每個從每個
24、從8259A的中斷請求信號的中斷請求信號INT,連至主,連至主8259A的一個中斷請求輸入端的一個中斷請求輸入端IRn主主8259A的的INT線連至線連至CPU的中斷請求輸入端的中斷請求輸入端nSP*/EN*在非緩沖方式下,規(guī)定該在非緩沖方式下,規(guī)定該8259A是主片是主片(SP*1)還是從片()還是從片(SP*0)動畫動畫示例示例的中斷過程CAS0CAS2D0D7SP/ENIR0IR7CPU響應周期響應周期8259A工作波形工作波形INT第一個周期第一個周期T1 T2 T3 T4ALECLK 第二個周期第二個周期T1 T2 T3 T4第一個前保持為高電平第一個前保持為高電平 INTALOCK
25、動畫動畫的工作方式普通全嵌套方式普通全嵌套方式特殊全嵌套方式特殊全嵌套方式自動循環(huán)方式自動循環(huán)方式特殊循環(huán)方式特殊循環(huán)方式優(yōu)先權固定方式優(yōu)先權固定方式優(yōu)先權循環(huán)方式優(yōu)先權循環(huán)方式設置優(yōu)先權方式設置優(yōu)先權方式普通中斷結束方式普通中斷結束方式特殊中斷結束方式特殊中斷結束方式自動中斷結束方式自動中斷結束方式非自動中斷結束方式非自動中斷結束方式結束中斷處理方式結束中斷處理方式屏蔽中斷源方式屏蔽中斷源方式普通屏蔽方式普通屏蔽方式特殊屏蔽方式特殊屏蔽方式中斷觸發(fā)方式中斷觸發(fā)方式邊沿觸發(fā)方式邊沿觸發(fā)方式電平觸發(fā)方式電平觸發(fā)方式數據線連接方式數據線連接方式緩沖方式緩沖方式非緩沖方式非緩沖方式中斷優(yōu)先方式與中斷
26、嵌套n中斷優(yōu)先方式中斷優(yōu)先方式 兩類優(yōu)先級控制方式:兩類優(yōu)先級控制方式:固定優(yōu)先級固定優(yōu)先級和和循環(huán)優(yōu)先級循環(huán)優(yōu)先級n固定優(yōu)先級方式固定優(yōu)先級方式n所有中斷請求所有中斷請求IRi的中斷優(yōu)先級固定不變的中斷優(yōu)先級固定不變n優(yōu)先級排列順序可編程改變優(yōu)先級排列順序可編程改變n加電后加電后8259A的默認方式,默認優(yōu)先級順序從高到的默認方式,默認優(yōu)先級順序從高到低為低為IR0IR7IR7IR6IR5IR4IR3IR2IR1IR07654321032107654最低級最高級最高級最低級優(yōu)先級優(yōu)先級IR7IR6IR5IR4IR3IR2IR1IR0默認優(yōu)先級默認優(yōu)先級優(yōu)先級可編程改變優(yōu)先級可編程改變中斷優(yōu)先
27、方式與中斷嵌套(續(xù))n循環(huán)優(yōu)先級方式循環(huán)優(yōu)先級方式 n中斷源輪流處于最高優(yōu)先級,即自動中斷優(yōu)先級循環(huán)中斷源輪流處于最高優(yōu)先級,即自動中斷優(yōu)先級循環(huán)n初始優(yōu)先級順序可用編程改變初始優(yōu)先級順序可用編程改變n某中斷請求某中斷請求IRi被處理后,其優(yōu)先級別自動降為最低,被處理后,其優(yōu)先級別自動降為最低,原來比它低一級的中斷上升為最高級原來比它低一級的中斷上升為最高級 IR7IR6IR5IR4IR3IR2IR1IR07654321021076543最低級最高級最高級最低級ISR內容內容IR7IR6IR5IR4IR3IR2IR1IR0IR4的服務結束以前的服務結束以前0101000001000000IR4
28、的服務結束以后的服務結束以后ISRi中斷優(yōu)先方式與中斷嵌套(續(xù))n中斷嵌套中斷嵌套方式方式n在中斷處理過程中允許被更高優(yōu)先級的事件所中在中斷處理過程中允許被更高優(yōu)先級的事件所中斷稱為中斷嵌套。斷稱為中斷嵌套。8259A有兩種中斷嵌套方式:有兩種中斷嵌套方式:n普通全嵌套方式(默認方式)普通全嵌套方式(默認方式) 一中斷正被處理時,只有一中斷正被處理時,只有更高優(yōu)先級更高優(yōu)先級的事件可以打的事件可以打斷當前的中斷處理過程而被服務。斷當前的中斷處理過程而被服務。n特殊全嵌套方式特殊全嵌套方式 一中斷正被處理時,允許一中斷正被處理時,允許同級或更高優(yōu)先級同級或更高優(yōu)先級的事件的事件可以打斷當前的中斷
29、處理過程而被服務??梢源驍喈斍暗闹袛嗵幚磉^程而被服務。注注: 特殊全嵌套僅用于多個特殊全嵌套僅用于多個8259A級連時的主級連時的主8259A,而不能用于從屬而不能用于從屬8259A或單或單8259A系統(tǒng)。系統(tǒng)。D.主主8259AIR0IR1IR2IR3IR4IR5IR6IR7一般嵌套方式:一般嵌套方式:從片的從片的INT被主片被主片封鎖,故更封鎖,故更高高級別級別的的IR0-IR2中斷也無中斷也無法得到響應法得到響應特殊嵌套方式:特殊嵌套方式:因主片不封鎖從片的因主片不封鎖從片的INT,故級別高的,故級別高的IR0-IR2中斷可以得到響應。中斷可以得到響應。( (但但IR3-IR7仍被本從仍
30、被本從片封鎖片封鎖) )C.假定假定IR7發(fā)生中發(fā)生中斷斷,并獲得服務并獲得服務一般嵌套方式:一般嵌套方式:IR4的中斷被服務的中斷被服務時,這些中斷將時,這些中斷將被封鎖。被封鎖。B.特殊嵌套方式:特殊嵌套方式:IR4的中斷被服的中斷被服務 時 , 只 封 鎖務 時 , 只 封 鎖IR5-IR7。A.I NTE.從從8259AI NTIR0IR1IR2IR3IR4IR5IR6IR7一般全嵌套方式與特殊全嵌套方式的區(qū)別一般全嵌套方式與特殊全嵌套方式的區(qū)別 去去CPU中斷結束處理方式n當某一當某一IRi中斷被服務時,中斷被服務時,ISR中的相應位中的相應位ISRi=1。當服務結束后,則必須清零該
31、。當服務結束后,則必須清零該ISRi位。使位。使ISRi=0是通過向是通過向8259A發(fā)出中發(fā)出中斷結束命令(斷結束命令(EOI命令)實現的。命令)實現的。n三種三種EOI命令命令n自動自動EOI(AEOI)(自動(自動EOI方式)方式)n非指定非指定EOI(NSEOI)(正常(正常EOI方式)方式)n指定指定EOI(SEOI)(特殊(特殊EOI方式方式) nAEOI:在第在第2個個INTA#結束時,由結束時,由8259A使使ISRi自動復位;自動復位;n因不保留當前正在服務的中斷的狀態(tài),故因不保留當前正在服務的中斷的狀態(tài),故AEOI不能用不能用于中斷嵌套方式于中斷嵌套方式nSEOI:由:由C
32、PU發(fā)出一條發(fā)出一條SEOI命令,該命令,該EOI命令命令中指出了所要復位的中指出了所要復位的ISR的位號。的位號。 n用于特殊屏蔽方式用于特殊屏蔽方式nNSEOI:由由CPU發(fā)出正常發(fā)出正常EOI命令,該命令,該EOI命令命令使使ISRi=1的位中優(yōu)先級最高的那一位復位。的位中優(yōu)先級最高的那一位復位。n用于普通全嵌套方式用于普通全嵌套方式中斷服務程序向從PIC發(fā)EOI命令讀從PIC的ISR全0?向主PIC發(fā)EOI命令YIRET恢復現場N 特殊全嵌套方式特殊全嵌套方式下的下的EOI處理處理只有當從只有當從PIC的中斷的中斷全部處理完后,才全部處理完后,才能向主能向主PIC發(fā)發(fā)EOI命命令令屏蔽
33、中斷源的方式nIMR屏蔽字決定了屏蔽字決定了允許或禁止允許或禁止某位某位IRi所對應所對應的中斷的中斷:IMi=1 禁止,禁止, IMi=0 允許。允許。n特殊屏蔽方式:特殊屏蔽方式:n提供了允許較低優(yōu)先級的中斷能夠得到響應的特提供了允許較低優(yōu)先級的中斷能夠得到響應的特殊手段。殊手段。n原理原理:假定當前正在處理:假定當前正在處理IR6,先,先進入特殊屏蔽進入特殊屏蔽方式,然后方式,然后設置設置IM6=1。這時,除。這時,除IR6外的所有中外的所有中斷請求均能得到響應。斷請求均能得到響應。n特殊屏蔽方式中只能用特殊屏蔽方式中只能用SEOI命令結束中斷。命令結束中斷。n特殊屏蔽例特殊屏蔽例:。
34、;IR4中斷處理程序中斷處理程序CLIMOV AL,68H ;OCW3:0 1 1 0 1 0 0 0OUT 0C0H,AL ;設置特殊屏蔽方式;設置特殊屏蔽方式IN AL,0C2H OR AL,10H ;屏蔽;屏蔽IR4OUT 0C2H,AL STI。 ;IR7請求,響應,返回請求,響應,返回。CLI ;為設命令字;為設命令字IN AL,0C2H ;讀出屏蔽字;讀出屏蔽字AND AL,0EFH ;清除;清除IMR4OUT 0C2H,ALMOV AL,48H ;OCW3:0 1 0 0 1 0 0 0OUT 0C0H,AL ;取消特殊屏蔽;取消特殊屏蔽STI。 ;繼續(xù);繼續(xù)IR4中斷服務中斷服
35、務MOV AL,20H ;OCW2:0 0 1 0 0 0 0 0 (EOI)OUT 0C0,ALIRET 中斷觸發(fā)方式n邊沿觸發(fā)邊沿觸發(fā)nIRi出現上升沿表示有中斷請求出現上升沿表示有中斷請求 n電平觸發(fā)電平觸發(fā)nIRi出現高電平表示有中斷請求出現高電平表示有中斷請求n在第在第1個個INTA#結束前,結束前,IRi必須保持高電平必須保持高電平 級聯(lián)工作方式n單片單片8259A可支持可支持8個中斷源;個中斷源;n采用多片采用多片8259A級連,可最多支持級連,可最多支持64個中斷個中斷源。源。n片片8259A可支持可支持7n+1個中斷源;個中斷源;n級連時只能有一片級連時只能有一片8259A為
36、主片,其余的均為主片,其余的均為從屬片;為從屬片;n涉及到的涉及到的8259A引腳包括:引腳包括:nCAS0-CAS2nSP#/EN#nIRinINT級連電路連接方法的編程使用n8259A的控制命令分為的控制命令分為n初始化命令字初始化命令字ICWnICW1ICW4n向向8259A寫入寫入ICW的過程稱為的過程稱為初始化編程初始化編程n操作命令字操作命令字OCW nOCW1OCW3n向向8259A寫入寫入OCW的過程稱為的過程稱為操作方式編程操作方式編程8259A內部寄存器的尋址方法CS# RD# WR#A0D4D3讀寫操作讀寫操作010000寫OCW2寫OCW3寫ICW1寫ICW2,ICW3
37、,ICW4,OCW1(順序寫入)00101x1xx00101xx讀出IRR、ISR讀出IMR需要需要CS#、A0、RD#、WR#和和D4、D3的配合的配合內部寄存器的訪問方法如下表:內部寄存器的訪問方法如下表: 8259A的初始化順序 n8259的初始化流的初始化流程如圖程如圖n注意次序不可顛倒注意次序不可顛倒 寫寫ICW1寫寫ICW2級連?級連?寫寫ICW3需需ICW4?寫寫ICW4NNYY8259A的控制命令字n初始化初始化8259A必須從必須從ICW1開始開始n寫寫ICW1意味著重新初始化意味著重新初始化8259An寫入寫入ICW1后,后,8259A的狀態(tài)如下:的狀態(tài)如下:n清除清除IS
38、R和和IMR(全全0);n將中斷優(yōu)先級設成初始狀態(tài):將中斷優(yōu)先級設成初始狀態(tài):IR0最高,最高,IR7最低;最低;n設定為一般屏蔽方式;設定為一般屏蔽方式;n采用非自動中斷結束方式;采用非自動中斷結束方式;n狀態(tài)讀出邏輯預置為讀狀態(tài)讀出邏輯預置為讀IRR。ICW1初始化字nLTIM: 觸發(fā)方式觸發(fā)方式n=1 高電平觸發(fā)高電平觸發(fā)n=0 上升沿觸發(fā)上升沿觸發(fā)nSNGL: 級連控制級連控制n=1 單片單片n=0 級連級連nIC4: ICW4控制控制n=1 要寫要寫ICW4n=0 不寫不寫ICW4(默認(默認ICW4為全為全0)A0 D7D6 D5 D4 D3 D2 D1 D0 0 x x x 1
39、LTIM x SNGL IC4ICW2中斷向量碼nT7T3: 中斷向量碼的高中斷向量碼的高5位位nT2T0: 最低最低3位為中斷源的序號位為中斷源的序號IRnn000111分別對應分別對應IR0IR7n由由8259A根據中斷源的序號自動填入根據中斷源的序號自動填入 例如:例如:若若ICW2命令字為命令字為48H,則,則IR0的中斷向量碼為的中斷向量碼為48H,IR7的中斷向量碼為的中斷向量碼為4FH,等等。,等等。 A0 D7D6 D5 D4 D3 D2 D1 D0 1 T7 T6 T5 T4 T3 x x xICW3級連控制字 n主片的級聯(lián)控制字主片的級聯(lián)控制字 nSi=1 對應對應IRi線
40、上連接了從片線上連接了從片 A0 D7D6 D5 D4 D3 D2 D1 D0 1 S7 S6 S5 S4 S3 S2 S1 S0 從片的級聯(lián)控制字從片的級聯(lián)控制字 ID2ID0 標識碼,說明本從片連接到主片的標識碼,說明本從片連接到主片的哪個哪個IR引腳上。引腳上。 000111分別對應分別對應IR0IR7。 A0 D7D6 D5 D4 D3 D2 D1 D0 1 0 0 0 0 0 ID2 ID1 ID0ICW3級連控制字(續(xù))nICW3必須與主從片的連接關系一致:必須與主從片的連接關系一致:例如,主片的例如,主片的IR4與從片的與從片的INT線連接,則主線連接,則主片的片的ICW3=10
41、H,從片的,從片的ICW3=04H。n中斷響應時,主片通過級連線中斷響應時,主片通過級連線CAS2-CAS0送送出被允許中斷的從片標識碼,各從片用自己出被允許中斷的從片標識碼,各從片用自己的的ICW3與與CAS2-CAS0比較,二者一致的從比較,二者一致的從片才可發(fā)送中斷向量碼。片才可發(fā)送中斷向量碼。ICW4中斷結束方式字 nSFNM: 特殊全嵌套特殊全嵌套1 特殊全嵌套方式特殊全嵌套方式0 一般全嵌套方式一般全嵌套方式nAEOI: 自動自動EOI1 自動自動EOI方式方式0 非自動非自動EOI方式方式A0 D7D6 D5 D4 D3 D2 D1 D0 1 0 0 0 SFNMBUF M/S
42、AEOI 1BUF: 緩沖方式緩沖方式 M/S: 主主/從緩沖選擇從緩沖選擇BUF M/S 1 1 緩沖方式緩沖方式/主主PIC 1 0 緩沖方式緩沖方式/從從PIC 0 x 非緩沖方式非緩沖方式/正常正常8259A的操作命令字OCW nOCW用于設置用于設置8259的工作狀態(tài)的工作狀態(tài)n在初始化后寫入在初始化后寫入nOCW的寫入順序可任意的寫入順序可任意n寫入地址要求:寫入地址要求:nOCW1必須寫入奇地址端口必須寫入奇地址端口(A0=1)nOCW2,OCW3必須寫入偶地址端口必須寫入偶地址端口(A0=0) OCW1中斷屏蔽字 nMi=1 中斷請求線中斷請求線IRi被屏蔽被屏蔽(不允許中斷不
43、允許中斷) =0 允許該允許該IRi中斷中斷 nOCW1將寫入將寫入IMR寄存器。寄存器。nA0=1時讀時讀OCW1可讀出設置的可讀出設置的IMR內容。內容。 A0 D7D6 D5 D4 D3 D2 D1 D0 1 M7 M6 M5 M4 M3 M2 M1 M0OCW2中斷結束和優(yōu)先級循環(huán) nL2L0: 優(yōu)先級編碼優(yōu)先級編碼nR: 優(yōu)先級自動循環(huán)優(yōu)先級自動循環(huán)nSL: 指定優(yōu)先級指定優(yōu)先級nEOI: 結束中斷命令結束中斷命令 R SL EOI 0 0 1 非指定非指定EOI 命令命令(NSEOI),全嵌套方式,全嵌套方式 0 1 1 指定指定EOI 命令命令(SEOI),全嵌套方式,按,全嵌套
44、方式,按L2-L0編碼復位編碼復位ISR 1 0 1 NSEOI 命令,優(yōu)先級自動循環(huán)命令,優(yōu)先級自動循環(huán) 1 0 0 自動自動EOI,設置優(yōu)先級自動循環(huán),設置優(yōu)先級自動循環(huán) 0 0 0 自動自動EOI,取消優(yōu)先級自動循環(huán),取消優(yōu)先級自動循環(huán)(固定優(yōu)先級固定優(yōu)先級) 1 1 1 SEOI 命令,按命令,按L2-L0編碼循環(huán)優(yōu)先級編碼循環(huán)優(yōu)先級(L2-L0設為最低優(yōu)先級設為最低優(yōu)先級) 1 1 0 按按L2-L0編碼循環(huán)優(yōu)先級編碼循環(huán)優(yōu)先級(L2-L0設為最低優(yōu)先級設為最低優(yōu)先級) A0 D7D6 D5 D4 D3 D2 D1 D0 0 R SL EOI 0 0 L2 L1 L0OCW3屏蔽方式
45、和讀出控制字 nESMM: 允許使能特殊屏蔽方式允許使能特殊屏蔽方式nSMM: 特殊屏蔽方式特殊屏蔽方式ESMM SMM1 1 特殊屏蔽方式置位特殊屏蔽方式置位1 0 特殊屏蔽方式復位特殊屏蔽方式復位0 x 非特殊屏蔽方式非特殊屏蔽方式P(Polling): =1 查詢方式查詢方式 =0 非查詢方式非查詢方式A0 D7D6 D5 D4 D3 D2 D1 D0 0 0 ESMM SMM 0 1 P RR RISRR: 讀寄存器讀寄存器RIS: ISR/IRR選擇選擇RR RIS1 1 讀讀ISR1 0 讀讀IRR0 x 無效無效OCW3(續(xù))n查詢方式允許查詢方式允許8259A不工作于中斷方式,
46、而不工作于中斷方式,而是以查詢方式工作。是以查詢方式工作。nCPU先寫一個先寫一個D2=1的的OCW3,再對同一地址讀入,再對同一地址讀入,即可得到如下狀態(tài)字節(jié):即可得到如下狀態(tài)字節(jié): I x x x x R2 R1 R0 I=1表示有中斷請求,中斷請求號為表示有中斷請求,中斷請求號為R2-R0 此查詢步驟可反復執(zhí)行,以響應多個同時發(fā)生此查詢步驟可反復執(zhí)行,以響應多個同時發(fā)生 的中斷。的中斷。 n讀讀IRR/ISR:寫入此命令后,隨后再對同一:寫入此命令后,隨后再對同一地址讀,即可得到地址讀,即可得到IRR或或ISR的內容。的內容。8259A編程舉例n按以下要求初始化按以下要求初始化8259A
47、:n接口地址為接口地址為20H和和21H;n中斷為上升沿觸發(fā);單片中斷為上升沿觸發(fā);單片8259A;不寫;不寫ICW4;n與與IR0-IR3對應的中斷向量碼為對應的中斷向量碼為08H-0BH;nIR4-IR7不使用。不使用。n根據要求,各初始化參數及工作參數如下:根據要求,各初始化參數及工作參數如下:nICW1 = 00010010 = 12HnICW2 = 08H 中斷向量碼中斷向量碼 nOCW1 = 11110000 = 0F0H 中斷屏蔽字中斷屏蔽字 8259A編程舉例(續(xù))初始化程序如下:初始化程序如下:INIT8259A:MOV DX,20H;A0=0,寫,寫ICW1MOV AL,12H;上升沿觸發(fā),單片,不寫;上升沿觸發(fā),單片,不寫ICW4OUTDX,ALMOV DX,21H;A0=1,寫,寫ICW2,OCW1
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 湖南理工職業(yè)技術學院《生物信息學》2023-2024學年第二學期期末試卷
- 教育技術創(chuàng)新推動下的師資隊伍素質提升
- 給藥注射法講課件
- 湖北交通職業(yè)技術學院《大學生心理健康教育理論教學》2023-2024學年第二學期期末試卷
- 教育心理學在幼兒教育評估中的運用
- 天津藝術職業(yè)學院《科技教育資源開發(fā)與應用》2023-2024學年第二學期期末試卷
- 泉州華光職業(yè)學院《基礎英語二》2023-2024學年第二學期期末試卷
- DB13T 5607-2022 南水北調中線隧洞進出口邊坡失穩(wěn)預防指南
- 益陽師范高等??茖W?!栋踩茖W與工程學科論文寫作指導》2023-2024學年第二學期期末試卷
- 神經康復電刺激儀行業(yè)深度調研及發(fā)展項目商業(yè)計劃書
- 走進黃帝內經文化殿堂智慧樹知到答案2024年上海中醫(yī)藥大學
- 配電房預試驗服務和維保方案
- 東南亞文化智慧樹知到期末考試答案章節(jié)答案2024年天津外國語大學
- 安徽省阜陽市太和縣2023-2024學年八年級下學期期末英語試題
- 個體診所備案承諾書模板
- QCT1164-2022汽車用天然氣濾清器
- 2023-2024學年新疆阿克蘇市農一師高級中學高一下數學期末統(tǒng)考試題含解析
- 2024年云南省曲靖經開區(qū)政法委招聘2人歷年高頻考題難、易錯點模擬試題(共500題)附帶答案詳解
- 班組長生產管理能力考試題庫(濃縮500題)
- 2024中國成人健康管理洞察之益生菌部分-益普索-202405
- 魯科版高中化學選擇性必修第三冊知識點復習資料
評論
0/150
提交評論