第五章中斷技術(shù)課件_第1頁
第五章中斷技術(shù)課件_第2頁
第五章中斷技術(shù)課件_第3頁
第五章中斷技術(shù)課件_第4頁
第五章中斷技術(shù)課件_第5頁
已閱讀5頁,還剩81頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第五章中斷系統(tǒng)中斷的基本概念8086/8088的中斷系統(tǒng)可編程中斷控制器8259A8259A在微機(jī)系統(tǒng)中的應(yīng)用退出.10/3/20231第五章中斷系統(tǒng)中斷的基本概念退出.8/1/20231第一節(jié)中斷的基本概念一CPU與外設(shè)之間的數(shù)據(jù)傳送控制方式(即I/O控制方式),通常有以下三種:程序控制方式中斷方式DMA方式(DirectMemoryAccess)程序控制方式:是在CPU的控制下,通過執(zhí)行程序指令進(jìn)行的數(shù)據(jù)傳送方式。又分為“無條件傳送”和“程序查詢傳送”兩種方式。.10/3/20232長江大學(xué)地物學(xué)院第一節(jié)中斷的基本概念一CPU與外設(shè)之間的數(shù)據(jù)傳送控制程序控制方式無條件傳送方式:是在假定外圍設(shè)備(PeripheralDevice)已經(jīng)準(zhǔn)備好的情況下,直接利用輸入/輸出指令(IN指令,OUT指令)與外圍設(shè)備傳送數(shù)據(jù),而不去檢測外設(shè)的工作狀態(tài)。優(yōu)點:控制程序簡單缺點:數(shù)據(jù)傳送不可靠程序查詢方式(也稱“條件傳送”方式)主要特點:CPU通過執(zhí)行程序不斷讀取并檢測外設(shè)的狀態(tài),只有在外設(shè)確實已準(zhǔn)備就緒的情況下,才進(jìn)行數(shù)據(jù)傳送;否則,還要繼續(xù)不斷地查詢外設(shè)的狀態(tài)。.10/3/20233長江大學(xué)地物學(xué)院程序控制方式無條件傳送方式:是在假定外圍設(shè)備(Periphe程序控制方式查詢式輸入、輸出程序流程圖讀取狀態(tài)信息準(zhǔn)備好?輸入數(shù)據(jù)是否讀取狀態(tài)信息忙?輸出數(shù)據(jù)否是.10/3/20234長江大學(xué)地物學(xué)院程序控制方式查詢式輸入、輸出程序流程圖讀取狀態(tài)信息準(zhǔn)備好?輸程序控制方式程序查詢傳送方式比無條件傳送方式要準(zhǔn)確可靠,但在此種方式下,CPU要不斷查詢外設(shè)的狀態(tài),占用了大量CPU時間,而真正用于數(shù)據(jù)傳送的時間卻很少,即CPU的工作效率很低;另外,采用這種方式,也很難滿足實時系統(tǒng)對I/O處理的要求。因此,出現(xiàn)了中斷控制方式。.10/3/20235長江大學(xué)地物學(xué)院程序控制方式程序查詢傳送方式比無條件傳送方式要準(zhǔn)確可靠,但在二中斷方式中斷定義:在程序運行中,出現(xiàn)了某種緊急事件,CPU必須中止現(xiàn)行程序,轉(zhuǎn)去處理此緊急事件(執(zhí)行中斷服務(wù)程序),并在處理完畢后再返回運行程序的過程。中斷的全過程及有關(guān)概念:一個完整的中斷過程包括:中斷請求;中斷判優(yōu);中斷響應(yīng);中斷處理;中斷返回..10/3/20236長江大學(xué)地物學(xué)院二中斷方式中斷定義:在程序運行中,出現(xiàn)了某種緊急事件,C二中斷方式中斷請求是指中斷源(引起中斷的事件或設(shè)備)向CPU發(fā)出的請求中斷的要求;中斷判優(yōu)當(dāng)有多個中斷源發(fā)出中斷請求時,需要通過適當(dāng)?shù)霓k法(軟件的;硬件的;軟、硬件結(jié)合的)決定究竟先處理哪個中斷請求,這就是“中斷判優(yōu)”;中斷響應(yīng)是指CPU中止現(xiàn)行程序轉(zhuǎn)至中斷服務(wù)程序的過程;中斷處理就是指CPU執(zhí)行中斷服務(wù)程序;執(zhí)行完中斷服務(wù)程序后,返回到原先被中斷的程序稱為“中斷返回”。為了能正確返回到原來程序被中斷的地方(也稱斷點-即主程序中當(dāng)前指令下面一條指令的地址),在中斷服務(wù)程序的最后應(yīng)專門放置一條中斷返回指令。另外,為了使主程序在返回后仍能從斷點處繼續(xù)執(zhí)行,還需要在中斷服務(wù)程序的開頭-保護(hù)現(xiàn)場(通過PUSH指令實現(xiàn)),在中斷服務(wù)程序的末尾-恢復(fù)現(xiàn)場(通過POP指令實現(xiàn))。.10/3/20237長江大學(xué)地物學(xué)院二中斷方式中斷請求是指中斷源(引起中斷的事件或設(shè)備)向CP三中斷響應(yīng)和處理過程對于不同的中斷類型(如可屏蔽中斷、不可屏蔽中斷;外部中斷、內(nèi)部中斷…),處理器(CPU)進(jìn)行響應(yīng)和處理的具體過程并不完全相同;另外,就是對同一種中斷類型(如可屏蔽中斷),不同的處理器(如Z80,80X86)進(jìn)行響應(yīng)和處理的過程也不盡相同。.10/3/20238長江大學(xué)地物學(xué)院三中斷響應(yīng)和處理過程對于不同的中斷類型(如可屏蔽中斷、不可三中斷響應(yīng)和處理過程中斷一般由硬件(處理器內(nèi)部)和軟件(由程序設(shè)計者編寫的中斷服務(wù)程序)共同完成,即整個中斷響應(yīng)和處理過程是由CPU內(nèi)部的有關(guān)硬件和中斷處理軟件密切配合完成的。針對一個具體的系統(tǒng)(機(jī)型),中斷服務(wù)程序設(shè)計者應(yīng)該清楚在中斷響應(yīng)時,“硬件”完成了哪些操作(如FR是否已被壓入堆棧),還需要“軟件”(中斷服務(wù)程序)完成哪些操作。.10/3/20239長江大學(xué)地物學(xué)院三中斷響應(yīng)和處理過程.8/1/20239長江大學(xué)地物學(xué)院四中斷優(yōu)先級和中斷嵌套1.中斷優(yōu)先級(Priority)的解決方法系統(tǒng)中多個中斷請求可能同時出現(xiàn),CPU只能按一定的次序(優(yōu)先級策略)予以響應(yīng)和處理,這個響應(yīng)的次序稱為中斷優(yōu)先級。一般的方法有:軟件查詢法(需要少量硬件)菊花鏈(daisychain)優(yōu)先級排隊電路可編程中斷控制器(如8259).10/3/202310長江大學(xué)地物學(xué)院四中斷優(yōu)先級和中斷嵌套1.中斷優(yōu)先級(Priority)的(1)軟件查詢法把各個外設(shè)的中斷請求信號“相或”,產(chǎn)生一個總的INT信號當(dāng)CPU響應(yīng)中斷后,進(jìn)入中斷處理程序,在中斷處理程序的開始部分安排一段帶有優(yōu)先級的查詢程序。優(yōu)點:省硬件缺點:中斷響應(yīng)慢01267INT磁盤磁帶CRT鍵盤打印“或”端口號=XXH.10/3/202311長江大學(xué)地物學(xué)院(1)軟件查詢法把各個外設(shè)的中斷請求信號“相或”,產(chǎn)生一個總(2)菊花鏈優(yōu)先級排隊電路*中斷請求INT1INT2INT3CPU

INTR接口設(shè)備3接口設(shè)備2接口設(shè)備1菊花鏈邏輯電路中斷回答集電極開路門(OC門)INT1+INT2+INT3+5V.10/3/202312長江大學(xué)地物學(xué)院(2)菊花鏈優(yōu)先級排隊電路*中斷請求INT1INT2INT(2)菊花鏈優(yōu)先級排隊電路INTAINTRINTA中斷請求INTR=INT1+INT2+INT3當(dāng)INTA信號沿菊花鏈行進(jìn)時,最靠近CPU并發(fā)出INT請求的接口將首先攔截住INTA信號,并送出中斷類型碼,進(jìn)入相應(yīng)的中斷處理程序;在服務(wù)完成后撤銷其請求(解除對下一級的阻塞和封鎖)。(3)可編程中斷控制器(如8259).10/3/202313長江大學(xué)地物學(xué)院(2)菊花鏈優(yōu)先級排隊電路INTAINTRINTA中斷請求I五中斷嵌套通常,正在執(zhí)行較低級的中斷服務(wù)程序時,可以響應(yīng)較高級的中斷請求,而將正在處理的中斷暫時掛起,稱為中斷嵌套?!?.STI…….IRETSTIIRET可實現(xiàn)“多重嵌套”.10/3/202314長江大學(xué)地物學(xué)院五中斷嵌套通常,正在執(zhí)行較低級的中斷服務(wù)程序時,可以響應(yīng)較第二節(jié)8086/8088的中斷系統(tǒng)一.中斷的分類:在8086/8088系統(tǒng)中,可將中斷分為兩大類(如表5.1表5.2所示):第一類:硬件中斷:是由外部的中斷請求信號啟動的中斷,也稱為外部中斷。又可分為:非屏蔽中斷NMI:整個系統(tǒng)只有一個,不受IF屏蔽可屏蔽中斷INTR:受IF屏蔽,在中斷控制器8259的統(tǒng)一管理下,可屏蔽中斷有幾個至幾十個。.10/3/202315長江大學(xué)地物學(xué)院第二節(jié)8086/8088的中斷系統(tǒng)一.中斷的分類:在808中斷的分類(注意,這里的IF是CPU內(nèi)部的標(biāo)志寄存器的IF位,IF=0,則對所有從INTR引腳進(jìn)入的中斷請求均不予響應(yīng)(“總開關(guān)”);另外,也可以在CPU外部的中斷控制器(8259)中以及各個I/O接口電路(如8255)中對某一級中斷或某個中斷源單獨進(jìn)行屏蔽)。第二類:軟件中斷:是由CPU內(nèi)部的標(biāo)志狀態(tài)(如TF、OF)或執(zhí)行一條中斷指令(INTn),以及除數(shù)為0引起的中斷,也稱為內(nèi)部中斷。.10/3/202316長江大學(xué)地物學(xué)院中斷的分類(注意,這里的IF是CPU內(nèi)部的標(biāo)志寄存器的IF位二中斷向量和中斷向量表中斷向量即中斷服務(wù)程序的入口地址。中斷向量表是存放中斷向量(中斷服務(wù)程序入口地址)的一個特定的內(nèi)存區(qū)域(最低地址區(qū)).一個中斷向量占4個字節(jié)單元,其中:低地址的兩個字節(jié)單元存放中斷服務(wù)程序入口地址的偏移量(IP)-低字節(jié)在前(低地址),高字節(jié)在后(高地址);高地址的兩個字節(jié)單元存放中斷服務(wù)程序入口地址的段地址(CS)-低字節(jié)在前(低地址),高字節(jié)在后(高地址)。.10/3/202317長江大學(xué)地物學(xué)院二中斷向量和中斷向量表中斷向量即中斷服務(wù)程序的入口地中斷向量和中斷向量表8086/8088的中斷向量表如書P80圖5.1所示。解釋:8086/8088可以處理256種中斷,對每種中斷都指定一個中斷類型號(也稱中斷向量號),每個中斷類型號與一個中斷服務(wù)程序的入口地址相對應(yīng)。256個中斷向量要占256*4=1024個字節(jié)單元,地址編號從00000H~003FFH5個專用中斷(類型0~類型4),它們有固定的定義和處理功能;27個保留的中斷(類型5~類型31)。占0000:0014H~0000:007FH,共108個字節(jié)單元。這個區(qū)域供系統(tǒng)使用,不允許用戶自行定義。224個用戶可定義的中斷(類型32~類型255)。占0000:0080H~0000:03FFH單元;使用時,要由用戶自行填寫相應(yīng)的中斷入口地址。(其中有些中斷類型已經(jīng)有了固定用途,例如,類型21H的中斷已用作MS-DOS的系統(tǒng)功能調(diào)用)。.10/3/202318長江大學(xué)地物學(xué)院中斷向量和中斷向量表8086/8088的中斷向量表如書P80中斷向量和中斷向量表由于中斷向量在中斷向量表是按中斷類型號順序存放的,所以每個中斷向量的地址可由中斷類型號×4計算出來。CPU響應(yīng)中斷時,需把中斷類型號N乘以4,得到中斷向量的對應(yīng)地址4N(該中斷向量所占4個字節(jié)單元的第一個字節(jié)單元的地址),然后把由此地址開始的兩個低字節(jié)單元的內(nèi)容裝入IP寄存器:IP

(4N,4N+1),再把兩個高字節(jié)單元的內(nèi)容裝入CS寄存器:CS(4N+2,4N+3),這就是轉(zhuǎn)入中斷類型號為N的中斷服務(wù)程序的控制過程。[N的來源,對于不同的中斷類型(內(nèi)部,外部:NMI、INTR)情況有所不同,詳見后述].10/3/202319長江大學(xué)地物學(xué)院中斷向量和中斷向量表由于中斷向量在中斷向量表是按中斷類型號順中斷向量和中斷向量表例1:若中斷類型號為3,則由中斷類型號取得中斷服務(wù)入口地址的過程如下圖所示:00000H00001H0000CH(0000:000CH)1EA00H(1E00:0A00H)FFFFFH低地址內(nèi)存高地址1E000H+0A00H1EA00H中斷類型號3×4=000CH…….00(IPL)0A(IPH)00(CSL)1E(CSH)…....中斷服務(wù)程序.10/3/202320長江大學(xué)地物學(xué)院中斷向量和中斷向量表例1:若中斷類型號為3,則由中斷類型號取中斷向量和中斷向量表例2.中斷類型號為20H,中斷服務(wù)程序的入口地址存放在0000:0080H開始的4個單元中。若:(0080H)=10H(0081H)=20H(0082H)=30H(0083H)=40H則:中斷服務(wù)程序的入口地址為CS=4030;IP=2010入口地址為:43210.10/3/202321長江大學(xué)地物學(xué)院中斷向量和中斷向量表例2.中斷類型號為20H,中斷服務(wù)程序的中斷向量和中斷向量表例3.中斷類型號為23(17H),中斷服務(wù)程序的入口地址為:2340:7890H,由于中斷類型號17H對應(yīng)的中斷向量存放在0段的0000:005CH(17H×4=5CH)處,所以有:(005CH)=(005DH)=(005EH)=(005FH)=01011100B左移2位:00010111B5CH90784023.10/3/202322長江大學(xué)地物學(xué)院中斷向量和中斷向量表例3.中斷類型號為23(17H),中斷服三8086/8088中斷處理流程圖.10/3/202323長江大學(xué)地物學(xué)院三8086/8088中斷處理流程圖.8/1/202323.10/3/202324長江大學(xué)地物學(xué)院.8/1/202324長江大學(xué)地物學(xué)院8086/8088中斷處理流程圖*8086中斷優(yōu)先級(Priority)說明:(1)~(5)步是CPU的內(nèi)部處理(由硬件自動完成)所有內(nèi)部中斷(除法錯、INTn、INT0、單步)以及NMI中斷不需要從數(shù)據(jù)總線上讀取中斷類型碼,而INTR中斷需讀取中斷類型碼,中斷類型碼由發(fā)出INTR信號的接口提供。中斷優(yōu)先級除法錯,INTn,INT0NMIINTR單步中斷最高最低.10/3/202325長江大學(xué)地物學(xué)院8086/8088中斷處理流程圖*8086中斷優(yōu)先級(Pri單步運行方式時發(fā)生中斷的處理過程.10/3/202326長江大學(xué)地物學(xué)院單步運行方式時發(fā)生中斷的處理過程.8/1/202326長江大.10/3/202327長江大學(xué)地物學(xué)院.8/1/202327長江大學(xué)地物學(xué)院單步運行方式時發(fā)生中斷的處理過程堆棧的情形:60704050(FR)’30401020(FR)低地址高地址IPCSTF=0IPCSTF=1.10/3/202328長江大學(xué)地物學(xué)院單步運行方式時發(fā)生中斷的處理過程堆棧的情形:60704050可屏蔽中斷過程見圖5.3.10/3/202329長江大學(xué)地物學(xué)院可屏蔽中斷過程見圖5.3.8/1/202329長江大學(xué)地物學(xué).10/3/202330長江大學(xué)地物學(xué)院.8/1/202330長江大學(xué)地物學(xué)院四軟件中斷(內(nèi)部中斷)除法錯中斷(也稱除數(shù)為0中斷)-類型0在執(zhí)行DIV(無符號除法)或IDIV(帶符號除法)指令時,若發(fā)現(xiàn)除數(shù)為0,則立即產(chǎn)生一個類型號為0的內(nèi)部中斷,CPU轉(zhuǎn)向除法錯中斷處理程序。溢出中斷-類型4若上一條指令執(zhí)行的結(jié)果使溢出標(biāo)識位OF被置1,則接著執(zhí)行INTO指令時,將引起類型為4的內(nèi)部中斷,CPU轉(zhuǎn)入對溢出錯誤處理程序,若OF=0時,INTO指令執(zhí)行空操作,即INTO指令不起作用。INTO指令通常安排在算術(shù)指令之后,以便在溢出時能及時處理。如下舉例:.10/3/202331長江大學(xué)地物學(xué)院四軟件中斷(內(nèi)部中斷)除法錯中斷(也稱除數(shù)為0中斷)-類軟件中斷軟件(指令)中斷(執(zhí)行INTn指令引起的中斷)雙字節(jié)指令,第一個字節(jié)為操作碼;第二個字節(jié)為中斷類型號,該指令控制CPU轉(zhuǎn)向相應(yīng)的中斷服務(wù)程序。主程序:...ADDAX,BX;若OF=1INTO溢出中斷服務(wù)程序:IRET….10/3/202332長江大學(xué)地物學(xué)院軟件中斷主程序:.ADDAX,BX;若OF=1軟件中斷斷點中斷-類型3INT3或簡寫為INT,是單字節(jié)指令。調(diào)試程序時可以在一些關(guān)鍵性的地方設(shè)置斷點,使CPU在此斷點處執(zhí)行中斷服務(wù)程序。單步中斷-類型1TF=1…..單步執(zhí)行.10/3/202333長江大學(xué)地物學(xué)院軟件中斷斷點中斷-類型3TF=1…..單步執(zhí)行.8/1/20軟件中斷(內(nèi)部中斷)的特點中斷類型號由CPU內(nèi)部自動提供(包括由中斷指令第二字節(jié)提供的中斷類型號),不需去執(zhí)行中斷響應(yīng)總線周期讀取中斷類型號。除單步中斷外,所有內(nèi)部中斷(除法錯,INTO,INTn)均不可以用軟件來屏蔽。除單步中斷外,所有內(nèi)部中斷都比外部中斷優(yōu)先級高。.10/3/202334長江大學(xué)地物學(xué)院軟件中斷(內(nèi)部中斷)的特點中斷類型號由CPU內(nèi)部自動提供(包五中斷服務(wù)程序的一般結(jié)構(gòu)……保護(hù)現(xiàn)場(將需要保護(hù)的寄存器壓入堆棧)STI(可選);恢復(fù)現(xiàn)場IRET中斷處理例如:PUSHAXPUSHBXPUSHCX…POPCXPOPBXPOPAX.10/3/202335長江大學(xué)地物學(xué)院五中斷服務(wù)程序的一般結(jié)構(gòu)……保護(hù)現(xiàn)場(將需要保護(hù)的寄存器壓

指令系統(tǒng)中沒有單獨置“1”或清“0”TF的指令,可實現(xiàn)如下:PUSHFR;FR的內(nèi)容壓入堆棧POPAX;FR的內(nèi)容彈出到AXORAX,0100H;使AX中對應(yīng)TF的位置為“1”,其他位不變PUSHAX;修改后的AX內(nèi)容壓入棧POPF彈回到FR(TF=1)1->TFPUSHFRPOPAXANDAX,PUSHAX;POPF0->TF.10/3/202336長江大學(xué)地物學(xué)院指令系統(tǒng)中沒有單獨置“1”或清“0”TF的指令,可實現(xiàn)如下第三節(jié)可編程中斷控制器8259A

(8259AProgrammableInterruptController-PIC)Intel8259A用于管理和控制80x86的外部中斷請求,實現(xiàn)優(yōu)先級判決,提供中斷矢量碼,屏蔽中斷輸入等功能。使用單片8259A可以管理8級中斷,采用級聯(lián)方式,可擴(kuò)充到64級(用9片8259A)。.10/3/202337長江大學(xué)地物學(xué)院第三節(jié)可編程中斷控制器8259A

(8259AProgr可編程中斷控制器8259A.IR0IR7單片

INTINTA8259AINTRINTACPU...中斷請求

CPU8259A.....IR0IR7級聯(lián)主8259AIR0從...IR78259AIR0從...IR7INTAINTR.10/3/202338長江大學(xué)地物學(xué)院可編程中斷控制器8259A.IR0IR7單片可編程中斷控制器8259A一、8259A的引腳功能封裝形式28腳雙列直插(28-pinDIP),DIP:Dual-In-LinePackage,如圖所示。.10/3/202339長江大學(xué)地物學(xué)院可編程中斷控制器8259A一、8259A的引腳功能.8/1/123456789101112131428272625242322212019181716158259ACSWRRDD7D6D4D5D2D3D0D1CAS0CAS1GNDINTAIR7IR6IR4IR5IR2IR3IR0IR1INTCAS2SP/ENVCCA0可編程中斷控制器8259A.10/3/202340長江大學(xué)地物學(xué)院8259ACSWRRDD7D6D4D5D2D3D0可編程中斷控制器8259A--片選信號(ChipSelect)低電平有效,來自地址譯碼器的輸出只有有效時,CPU才能對8259A進(jìn)行讀寫操作。--寫信號,低電平有效,來自CPU的輸出;當(dāng)有效且有效時,使8259A接受CPU送來的命令字。--讀信號,低電平有效,來自CPU的輸出;且有效且有效時,使8259A將狀態(tài)信息放到數(shù)據(jù)總路線上,供CPU檢測。CSWRCSCSCSRDRDWRWRRD.10/3/202341長江大學(xué)地物學(xué)院可編程中斷控制器8259A--片選信號(ChipS可編程中斷控制器8259AD7~D0:雙向數(shù)據(jù)總線,接到系統(tǒng)數(shù)據(jù)總線的D7~D0上,用來傳送控制字、狀態(tài)字和中斷類型號。IR7~IR0:中斷請求信號,輸入,來自外部接口電路。(單片時)INT:向CPU發(fā)出的中斷請求信號。(單片時)。:中斷響應(yīng)信號,由此接收CPU發(fā)來的中斷響應(yīng)脈沖。INTA.10/3/202342長江大學(xué)地物學(xué)院可編程中斷控制器8259AD7~D0:雙向數(shù)據(jù)總線,接到A0:地址輸入信號,用于對8259A內(nèi)部寄存器的尋址。CAS2~CAS0:級聯(lián)線(CASCADELINES),傳送3位標(biāo) 識碼,用于區(qū)分特定的從控制器。雙向:對于主片為輸出,對于從片為輸入。:從片/允許緩沖器信號。雙功能引腳:作為輸入時,8259A作為主片(=1) 8259A作為從片(=0)見P99圖5.8作為輸出時,用來啟動(允許)數(shù)據(jù)總線收發(fā)器(如8286)。*究竟是作為輸入還是輸出,取決于8259A是否工作于“緩沖方式”(即8259A是否通過一個“數(shù)據(jù)總線收發(fā)器”與系統(tǒng)總線相連)。詳見后面ICW4的格式??删幊讨袛嗫刂破?259ASP/ENSP/ENSP/EN.10/3/202343長江大學(xué)地物學(xué)院A0:地址輸入信號,用于對8259A內(nèi)部寄存器的尋址??删幊潭?、8259A的內(nèi)部結(jié)構(gòu) INTRIR7IR0CPUAD7~AD0INTASP/ENISRICW1OCW1(IMR) ICW2OCW2ICW3OCW3ICW4PRIRRD7~D0地址譯碼...INTINTACSRDWRA0CAS0CAS1CAS2....10/3/202344長江大學(xué)地物學(xué)院二、8259A的內(nèi)部結(jié)構(gòu) INTRIR7IR0CPUAD7~.10/3/202345長江大學(xué)地物學(xué)院.8/1/202345長江大學(xué)地物學(xué)院IRR—InterruptRequestRegisterPR---PriorityResolverISR---In-ServiceRegisterIMR---InterruptMaskRegisterICWs---InitializationCommandWordsOCWs---OperationCommandWords7個CPU可訪問的寄存器,分兩組:初始化命令字ICW1~ICW4---系統(tǒng)初啟時設(shè)定。操作命令字OCW1~OCW3—系統(tǒng)運行時,由應(yīng)用程序設(shè)定(實現(xiàn)對中斷處理的動態(tài)管理和控制).TheOCWscanbewrittenintothe8259Aanytimeafterinitialization。8259A的內(nèi)部結(jié)構(gòu).10/3/202346長江大學(xué)地物學(xué)院IRR—InterruptRequestRegister8259A的內(nèi)部結(jié)構(gòu)7個寄存器的尋址問題:規(guī)定:A0

ICW1:用偶地址寫入,且D4=1ICW2ICW3ICW4緊接著ICW1,用奇地址寫入OCW1:也用奇地址寫入,但不緊跟ICW1OCW2OCW3也用偶地址寫入,但D4=0即:000采用了專門的“標(biāo)識位,以節(jié)省輸入地址的引腳數(shù)(僅用了A0).10/3/202347長江大學(xué)地物學(xué)院8259A的內(nèi)部結(jié)構(gòu)7個寄存器的尋址問題:ICW1:用偶地址8259A的內(nèi)部結(jié)構(gòu)8259A的處理部件:中斷請求寄存器IRR-8位寄存器+控制邏輯

作用:接受并鎖存來自IR0~I(xiàn)R7的中斷請求信號中斷服務(wù)寄存器ISR

作用:保存當(dāng)前正在處理的中斷請求優(yōu)先級裁決器PR

作用:把新進(jìn)入的中斷請求和當(dāng)前正在處理的中斷進(jìn)行比較,以決定哪一個優(yōu)先級更高(見P90圖5.7).10/3/202348長江大學(xué)地物學(xué)院8259A的內(nèi)部結(jié)構(gòu)8259A的處理部件:.8/1/2023.10/3/202349長江大學(xué)地物學(xué)院.8/1/202349長江大學(xué)地物學(xué)院8259A的內(nèi)部結(jié)構(gòu)處理過程:IR0~I(xiàn)R7上出現(xiàn)某一中斷請求信號->IRR對應(yīng)位被置“1”->由IMR的相應(yīng)位決定是否將其屏蔽(屏蔽位=1,不通過;屏蔽位=0,通過)->中斷請求進(jìn)PR->PR把新進(jìn)入的中斷請求和當(dāng)前正在處理的中斷進(jìn)行優(yōu)先級比較->若新進(jìn)入的中斷優(yōu)先級高,該中斷請求被送到CPU。若CPU的IF=1,CPU完成當(dāng)前指令后,響應(yīng)中斷,在引腳上發(fā)出兩個負(fù)脈沖(執(zhí)行兩個中斷響應(yīng)總線周期,參見P90圖5.4):INTA.10/3/202350長江大學(xué)地物學(xué)院8259A的內(nèi)部結(jié)構(gòu)處理過程:INTA.8/1/2023508259A的內(nèi)部結(jié)構(gòu)處理過程(續(xù)):8259A收到第一個負(fù)脈沖后使IRR鎖存允許,不予接受IR0~I(xiàn)R7上的中斷請求信號;直到第二個負(fù)脈沖結(jié)束后,才又使IRR鎖存禁止(輸入輸出透明)使ISR的相應(yīng)位置“1”,以便為優(yōu)先級裁決器以后的裁決提供依據(jù)。清除IRR的相應(yīng)位。8259A收到第二個負(fù)脈沖后:把中斷類型碼寄存器的內(nèi)容(ICW2的內(nèi)容)送到D7~D0如果ICW4的AEOI位為1,則在第二個脈沖結(jié)束時,將ISR中被第一個脈沖置“1”的位清除(自動結(jié)束);否則,要等到中斷結(jié)束命令(EOI)發(fā)送后才能清除。INTAINTA.10/3/202351長江大學(xué)地物學(xué)院8259A的內(nèi)部結(jié)構(gòu)處理過程(續(xù)):INTAINTA.8/1

.10/3/202352長江大學(xué)地物學(xué)院.8/1/202352長江大學(xué)地物學(xué)院三8259A的工作方式設(shè)置優(yōu)先級的方式屏蔽中斷源的方式中斷結(jié)束方式中斷觸發(fā)方式連接系統(tǒng)總線的方式.10/3/202353長江大學(xué)地物學(xué)院三8259A的工作方式設(shè)置優(yōu)先級的方式.8/1/20235三8259A的工作方式1.設(shè)置優(yōu)先級的方式(1)全嵌套方式(FULLYNESTEDMODE) 也稱固定優(yōu)先級方式。在這種方式下,由IRi引入的中斷請求具有固定的優(yōu)先級-IR0(最高)->IR7(最低). Thismodeisenteredafterinitializationunlessanothermodeisprogrammed. 當(dāng)一個中斷請求被響應(yīng)時,ISR中的對應(yīng)位ISn被置“1”,8259A把中斷類型碼放到數(shù)據(jù)總線上,然后,進(jìn)入中斷服務(wù)程序。一般情況下(除了“中斷自動結(jié)束”方式外),在CPU發(fā)出中斷結(jié)束命令(EOI)前,此對應(yīng)位一直保持為“1”-封鎖同級或低級的中斷響應(yīng),但并不禁止比本級優(yōu)先級高的中斷響應(yīng)-實現(xiàn)中斷“嵌套”。.10/3/202354長江大學(xué)地物學(xué)院三8259A的工作方式1.設(shè)置優(yōu)先級的方式.8/1/208259A的工作方式(2)特殊全嵌套方式(SPECIALFULLYNESTEDMODE-SFNM)在處理某一級中斷時,不但允許優(yōu)先級更高的中斷請求進(jìn)入,也允許同級的中斷請求進(jìn)入。用于主從結(jié)構(gòu)的8259系統(tǒng)中,將主片設(shè)置為“特殊全嵌套方式”。通過ICW4的“SFNM”位可以設(shè)置此種方式。CPUIR0IR1IR7…IR0IR1IR7…8259(主片)8259(從片).10/3/202355長江大學(xué)地物學(xué)院8259A的工作方式(2)特殊全嵌套方式(SPECIAL8259A工作方式(3)優(yōu)先級自動循環(huán)方式(AUTOMATICROTATION)優(yōu)先級是循環(huán)變化的(不希望有固定的優(yōu)先級差別)-一個設(shè)備的中斷服務(wù)完成后,其優(yōu)先級自動降為最低,而將最高優(yōu)先級賦給原來比它低一級的中斷請求。開始時,優(yōu)先級隊列還是:IR0->IR7

,若此時出現(xiàn)了IR0請求,響應(yīng)IR0并處理完成后,隊列變?yōu)椋篒R1,IR2,IR3,IR4,IR5,IR6,IR7,IR0。若又出現(xiàn)了IR4請求,處理完IR4后,隊列變?yōu)椋篲_________________________________系統(tǒng)中是否采用“自動循環(huán)優(yōu)先級”,由 操作命令字OCW2來設(shè)定。.10/3/202356長江大學(xué)地物學(xué)院8259A工作方式(3)優(yōu)先級自動循環(huán)方式(AUTOMAT8259A的工作方式(4)優(yōu)先級特殊循環(huán)方式(SPECIFICROTATION)與“優(yōu)先級自動循環(huán)方式”相比,只有一點不同,即可以設(shè)置開始的最低優(yōu)先級。例如,設(shè)定IR4為最低優(yōu)先級,那么IR5就是最高優(yōu)先級,其余各級按循環(huán)方法類推。(OCW2:”11000100”).10/3/202357長江大學(xué)地物學(xué)院8259A的工作方式(4)優(yōu)先級特殊循環(huán)方式(SPECIFI8259A的工作方式2.屏蔽中斷源的方式(中斷屏蔽方式)普通屏蔽方式通過對中斷屏蔽寄存器(IMR)的設(shè)定,實現(xiàn)對相應(yīng)位為“1”的中斷請求的屏蔽??赏ㄟ^OCW1使IMR的一位或幾位置“1”。*特殊屏蔽方式(SPECIALMASKMODE)作用:要求允許另一個低的中斷請求被響應(yīng)實現(xiàn):輸出OCW3(ESMM=1,SMM=1)輸出OCW1(使IMR對應(yīng)于本級的位為“1”)…………輸出OCW1(使IMR對應(yīng)于本級的位為“0”)輸出OCW3(ESMM=1,SMM=0)“中斷級無效”設(shè)置撤銷.10/3/202358長江大學(xué)地物學(xué)院8259A的工作方式2.屏蔽中斷源的方式(中斷屏蔽方式)輸8259A工作方式3.中斷結(jié)束方式(ENDOFINTERRUPT-EOI)(1)中斷自動結(jié)束方式(AUTOMATIC-AEOI方式)在第二個后沿,即完成把對應(yīng)的ISR位復(fù)位。注意:AEOI方式是在中斷響應(yīng)后,而不是在中斷處理程序結(jié)束后將ISR位清0。這樣,在中斷處理過程中,8259A中就沒有“正在處理”的標(biāo)識。此時,若有中斷請求出現(xiàn),且IF=1,則無論其優(yōu)先級如何(比本級高、低或相同),都將得到響應(yīng)。尤其是當(dāng)某一中斷請求信號被CPU響應(yīng)后,如不及時撤銷,就會再次被響應(yīng)-“二次中斷”所以,AEOI方式適合于中斷請求信號的持續(xù)時間有一定限制以及不出現(xiàn)中斷嵌套的場合。通過ICW4可以設(shè)置AEOI方式(AEOI=1)INTA.10/3/202359長江大學(xué)地物學(xué)院8259A工作方式3.中斷結(jié)束方式(ENDOFINTE8259A工作方式(2)一般(常規(guī))中斷結(jié)束方式適合于全嵌套方式。實現(xiàn):在中斷服務(wù)程序結(jié)束時,向8259A發(fā)常規(guī)中斷結(jié)束命令(OCW2:EOI=1,SL=0,R=0)例:MOVAL,20H;OCW2=20HOUT20H,AL;端口地址=20H(偶地址)在全嵌套方式下,ISR中最高優(yōu)先級的置“1”位,正對應(yīng)于當(dāng)前正在處理的中斷,將其清“0”,就完成了當(dāng)前正在處理中斷的結(jié)束操作。1101…IR0IR7.10/3/202360長江大學(xué)地物學(xué)院8259A工作方式(2)一般(常規(guī))中斷結(jié)束方式1101…I8259A工作方式(3)特殊中斷結(jié)束方式(SPECIFICEOI-SEOI)在非全嵌套方式下,無固定的優(yōu)先級序列(使用設(shè)置優(yōu)先權(quán)命令或特殊屏蔽方式),此時,根據(jù)ISR的內(nèi)容就無法確定剛剛所響應(yīng)(處理)的中斷。這種情況下,就不能用上述的EOI方式進(jìn)行中斷結(jié)束處理,而必須用特殊的中斷結(jié)束命令SEOI--用OCW2:EOI=1,SL=1,R=0,L2~L0.由L2~L0指定清除ISR中的哪一位。.10/3/202361長江大學(xué)地物學(xué)院8259A工作方式(3)特殊中斷結(jié)束方式(SPECIFIC8259A工作方式4.中斷觸發(fā)方式電平觸發(fā)方式:由IRi上的有效電平來觸發(fā)“中斷請求觸發(fā)器”。邊沿觸發(fā)方式:由IRi上由低電平向高電平的跳變來觸發(fā)“中斷請求觸發(fā)器”。由ICW1的LTIM位可以設(shè)置中斷觸發(fā)方式。.10/3/202362長江大學(xué)地物學(xué)院8259A工作方式4.中斷觸發(fā)方式.8/1/202362長8259A工作方式5.連接系統(tǒng)總線的方式緩沖方式(ICW4的BUF=1)8259A通過總線驅(qū)動器(如8286)和數(shù)據(jù)總線相連。在緩沖方式下,8259A的作為輸出(有效),此時,由ICW4的M/S位來定義(標(biāo)識)本8259A是主片還是從片。如圖非緩沖方式(ICW4的BUF=0)如圖即8259A直接與數(shù)據(jù)總線相連在“非緩沖方式下”,8259A的作為輸入(有效)此時,由端來標(biāo)識本8259A是主片還是從片。在“非緩沖方式下”,ICW4的BUF=0,M/S位無意義。SP/ENENSP/ENSPSP/EN.10/3/202363長江大學(xué)地物學(xué)院8259A工作方式5.連接系統(tǒng)總線的方式SP/ENEN緩沖方式級聯(lián)圖

.10/3/202364長江大學(xué)地物學(xué)院緩沖方式級聯(lián)圖.8/1/202364長江大學(xué)地物學(xué)院8259A主從級聯(lián)圖

.10/3/202365長江大學(xué)地物學(xué)院8259A主從級聯(lián)圖.8/1/202365長江大學(xué)地物學(xué)院8259A工作方式*“中斷查詢”方式特點:總的說,既有中斷的特點,又有查詢(Polling)的特點。外設(shè)仍然向8259A發(fā)中斷請求信號,要求CPU服務(wù)。CPU的IF=0,不響應(yīng)外部的中斷請求(對CPU的中斷請求信號不起作用)此時,CPU需要用軟件查詢方法來確認(rèn)中斷源,從而實現(xiàn)對設(shè)備的服務(wù)先向8259A發(fā)查詢命令(pollcommand)OCW3:00001100P.10/3/202366長江大學(xué)地物學(xué)院8259A工作方式*“中斷查詢”方式00001100P.8/8259A的工作方式緊接著執(zhí)行一條讀指令(IN指令),讀出專門的“中斷狀態(tài)字”:當(dāng)8259A收到P=1的查詢命令后,在下一個信號將使ISR的相應(yīng)位置“1”,就像收到了一樣,并把上述的“中斷狀態(tài)字”送到數(shù)據(jù)總線上,由CPU讀入AL。0A0IR----W2W1W0D7D01:有設(shè)備請求服務(wù);0:無設(shè)備請求服務(wù)。當(dāng)前最高優(yōu)先級的中斷請求RDINTA.10/3/202367長江大學(xué)地物學(xué)院8259A的工作方式緊接著執(zhí)行一條讀指令(IN指令),讀出專四8259A的控制字及編程使用8259A的初始化流程:.10/3/202368長江大學(xué)地物學(xué)院四8259A的控制字及編程使用8259A的初始化流程:.8初始化命令字ICW1D7D6D5D4D3D2D1D00001LTIMADISNGLIC416位機(jī)無效特征位電平觸發(fā)無效單片使用需要ICW4A0=0.10/3/202369長江大學(xué)地物學(xué)院初始化命令字ICW1D7D6D5D4舉例設(shè)8259A采用電平觸發(fā),單片使用,需要ICW4,則程序段為:MOVAL,1BH;ICW1的內(nèi)容OUT20H,AL;寫入ICW1的端口(A0=0).10/3/202370長江大學(xué)地物學(xué)院舉例設(shè)8259A采用電平觸發(fā),單片使用,需要ICW4,則程序初始化命令字ICW2D7D6D5D4D3D2D1D0T7T6T5T4T3000中斷類型號的高5位16位機(jī)無效A0=1初始化時只寫入高5位,低3位是由中斷請求線Iri的二進(jìn)制編碼決定的,并且是在第一個INTA1到來時,將這個編碼寫入低3位的.同一個8259A上的8個中斷源的中斷號的高5位都相同..10/3/202371長江大學(xué)地物學(xué)院初始化命令字ICW2D7D6D5D4舉例設(shè)硬盤中斷號的高5位為08H,它的中斷請求線連接IR5,則程序段為:MOVAL,08H;ICW2的內(nèi)容OUT21H,AL;寫入ICW2的端口(A0=1).10/3/202372長江大學(xué)地物學(xué)院舉例設(shè)硬盤中斷號的高5位為08H,它的中斷請求線連接IR5,主片和從片初始化命令字ICW3D7D6D5D4D3D2D1D0S7S6S5S4S3S2S1S0xxxxxID2ID1ID0主片從片A0=1主片的輸入IRi上連接有從片的中斷請求INT時,Si=1否則Si=0A0=1從片的3位ID有8種編碼,對應(yīng)其連接的主片的IRi..10/3/202373長江大學(xué)地物學(xué)院主片和從片初始化命令字ICW3D7D6D5舉例見圖5.8,設(shè)主片8259A的IR3和IR6分別連接從片的INT,則主片的ICW3=01001000B,則程序段為:

MOVAL,48H;ICW3的內(nèi)容OUT21H,AL;寫入ICW3的端口(A0=0)對應(yīng)從片A的ICW3=00000011B從片B的ICW3=00000110B.10/3/202374長江大學(xué)地物學(xué)院舉例見圖5.8,設(shè)主片8259A的IR3和IR6分別連接從片初始化命令字ICW4D7D6D5D4D3D2D1D0000SFNMBUFM/SAEOIμPMSFNM位:D4=1主片采用特殊完全嵌套方式;D4=0一般完全嵌套方式.BUF位:D3=1緩沖方式;D3=0非緩沖方式.M/S位:D2=1為表示該片為主片;D2=0為從片.AEOI位:D1=1自動結(jié)束方式;D1=0為非自動結(jié)束,要求中斷服務(wù)完成后,要發(fā)出EOI命令.μPM位:D0=1表示8259A用于16位以上微機(jī),D0=0用于8位微機(jī)A0=1.10

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論