第9章中斷控制器_第1頁
第9章中斷控制器_第2頁
第9章中斷控制器_第3頁
第9章中斷控制器_第4頁
第9章中斷控制器_第5頁
已閱讀5頁,還剩81頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第第9 9章章 中斷中斷n中斷原理(概念)中斷原理(概念)n中斷系統(tǒng)組成及其功能中斷系統(tǒng)組成及其功能n中斷響應過程中斷響應過程n中斷識別和中斷優(yōu)先權(quán)中斷識別和中斷優(yōu)先權(quán)n80868086中斷系統(tǒng)中斷系統(tǒng)n8086CPU8086CPU的中斷管理的中斷管理n可編程中斷管理芯片可編程中斷管理芯片8259A8259A概述 當當CPUCPU用查詢的方式與外設交換信息時,用查詢的方式與外設交換信息時,CPUCPU就要浪費很多時間去等待外設。這樣就就要浪費很多時間去等待外設。這樣就引出一個快速的引出一個快速的CPUCPU與慢速的外設之間數(shù)據(jù)與慢速的外設之間數(shù)據(jù)傳送的矛盾,這也是計算機在發(fā)展過程中傳送的矛盾,

2、這也是計算機在發(fā)展過程中遇到的嚴重問題之一。為解決這個問題,遇到的嚴重問題之一。為解決這個問題,一方面要提高外設的工作速度,另一方面一方面要提高外設的工作速度,另一方面發(fā)展了中斷慨念。中斷系統(tǒng)是計算機的重發(fā)展了中斷慨念。中斷系統(tǒng)是計算機的重要部件之一。要部件之一。 檢測狀態(tài)信號狀態(tài)信號有效?外設處理外設處理檢測狀態(tài)信號主程序具有中斷功能的具有中斷功能的CPUCPU中,有一個硬件部件專中,有一個硬件部件專門用于檢測外設的狀態(tài)線。門用于檢測外設的狀態(tài)線。 在中斷傳送方式下,外設應有請求在中斷傳送方式下,外設應有請求CPUCPU服務的權(quán)利,當外部設備準備好向服務的權(quán)利,當外部設備準備好向CPUCPU

3、傳送數(shù)據(jù),或者外設已準備就緒接收傳送數(shù)據(jù),或者外設已準備就緒接收CPUCPU的數(shù)據(jù),或者有某些緊急情況要求處的數(shù)據(jù),或者有某些緊急情況要求處理,或者是定時時間到等等。這時,外理,或者是定時時間到等等。這時,外設向設向CPUCPU發(fā)出中斷請求,發(fā)出中斷請求,CPUCPU接收到請求接收到請求并在一定條件下,暫時停止執(zhí)行原來的并在一定條件下,暫時停止執(zhí)行原來的程序而轉(zhuǎn)去中斷處理,處理好中斷服務程序而轉(zhuǎn)去中斷處理,處理好中斷服務再返回來執(zhí)行原來程序,這就是中斷的再返回來執(zhí)行原來程序,這就是中斷的概念。概念。 9 91 1 中斷原理中斷原理 處理文檔電話鈴響暫停文檔文檔中作暫停記號電話交談找出暫停記號位

4、置繼續(xù)處理文檔執(zhí)行主程序(日常事務程序)中斷申請信號有效(中斷請求)暫停執(zhí)行主程序響應中斷當前PC及寄存器入棧(保護現(xiàn)場)處理外設要求(中斷服務)寄存器及PC出棧(恢復現(xiàn)場及中斷返回)繼續(xù)執(zhí)行主程序中斷應用中斷應用1 1、實時故障處理、實時故障處理存儲器出錯檢測電路存儲器出錯檢測電路 存儲器奇偶檢測電路奇偶位中斷請求信號2 2、分時操作,同時處理、分時操作,同時處理 有了中斷功能,有了中斷功能,CPUCPU可命令多個外設同時工作??擅疃鄠€外設同時工作。雖然雖然CPUCPU在不同的時間點上為不同的任務工作,但在不同的時間點上為不同的任務工作,但宏觀上看宏觀上看CPUCPU幾乎同時為不同的任務工

5、作,極大地幾乎同時為不同的任務工作,極大地發(fā)揮了發(fā)揮了CPUCPU高速性的特點。高速性的特點。 9 92 2 中斷系統(tǒng)組成及其功能中斷系統(tǒng)組成及其功能 一、一、 三個與中斷有關(guān)的觸發(fā)器三個與中斷有關(guān)的觸發(fā)器 1 1、中斷請求觸發(fā)器、中斷請求觸發(fā)器 有兩個特點:有兩個特點:(1 1)它的輸出可以作為中斷請求信號,在滿足一定條)它的輸出可以作為中斷請求信號,在滿足一定條件的情況下把信號發(fā)送給件的情況下把信號發(fā)送給CPUCPU,并在,并在CPUCPU未響應時一直未響應時一直保存下去;保存下去;(2 2)當)當CPUCPU滿足一定條件下響應了該中斷請求信號,滿足一定條件下響應了該中斷請求信號,執(zhí)行了相

6、關(guān)的操作后,該中斷請求信號可以被撤除。執(zhí)行了相關(guān)的操作后,該中斷請求信號可以被撤除。 D QRD狀態(tài)線中斷請求外設讀、寫操作 CLK+5V2 2、中斷屏蔽觸發(fā)器、中斷屏蔽觸發(fā)器 中斷屏蔽觸發(fā)器的功能就是決定中斷請求觸中斷屏蔽觸發(fā)器的功能就是決定中斷請求觸發(fā)器的輸出信號是否可以作為中斷請求信號發(fā)送發(fā)器的輸出信號是否可以作為中斷請求信號發(fā)送給給CPUCPU,這樣,這樣CPUCPU通過對中斷屏蔽觸發(fā)器的設置就通過對中斷屏蔽觸發(fā)器的設置就可以達到對中斷源的控制。可以達到對中斷源的控制。 屏蔽3 3、CPUCPU內(nèi)部的中斷允許觸發(fā)器。內(nèi)部的中斷允許觸發(fā)器。有些有些CPUCPU,比如,比如8086CPU8

7、086CPU,設置了兩種中斷類型,設置了兩種中斷類型可屏蔽中斷和不可屏蔽中斷??善帘沃袛嗍苤袛嗫善帘沃袛嗪筒豢善帘沃袛???善帘沃袛嗍苤袛嘣试S觸發(fā)器控制,只有當允許觸發(fā)器控制,只有當IFIF為為1 1時,時,CPUCPU才能響應才能響應中斷請求信號。而不可屏蔽中斷不受中斷允許觸中斷請求信號。而不可屏蔽中斷不受中斷允許觸發(fā)器的控制,只要中斷請求信號有效,不管發(fā)器的控制,只要中斷請求信號有效,不管IFIF是是否為否為1 1,CPUCPU就必須響應。因此不可屏蔽中斷的中就必須響應。因此不可屏蔽中斷的中斷優(yōu)先級要大于可屏蔽中斷的中斷優(yōu)先級斷優(yōu)先級要大于可屏蔽中斷的中斷優(yōu)先級。 外設的中斷請求信號要想發(fā)給

8、外設的中斷請求信號要想發(fā)給CPUCPU并能最終得到并能最終得到CPUCPU的響應,必須要滿足如下兩個條件:一個是的響應,必須要滿足如下兩個條件:一個是中斷屏蔽觸發(fā)器處于非屏蔽狀態(tài)。在這種情況中斷屏蔽觸發(fā)器處于非屏蔽狀態(tài)。在這種情況下,中斷請求信號才能發(fā)給下,中斷請求信號才能發(fā)給CPUCPU。但。但CPUCPU是否是否響響應應這個中斷,還要看中斷允許觸發(fā)器是否處于這個中斷,還要看中斷允許觸發(fā)器是否處于開中斷狀態(tài)。只有開中斷狀態(tài)。只有CPUCPU是開中斷的條件下,是開中斷的條件下,CPUCPU才能進入中斷響應過程,處理中斷事務。這就才能進入中斷響應過程,處理中斷事務。這就是第二個條件。是第二個條件

9、。9.3 9.3 中斷響應過程中斷響應過程中斷過程主要包括四個階段:中斷過程主要包括四個階段:n外設發(fā)中斷請求信號給外設發(fā)中斷請求信號給CPUCPU即中斷請求;即中斷請求;nCPUCPU對中斷請求信號所作出反應即中斷響應;對中斷請求信號所作出反應即中斷響應;nCPUCPU執(zhí)行對外設操作的子程序即中斷處理。執(zhí)行對外設操作的子程序即中斷處理。n中斷返回中斷返回 一、中斷申請一、中斷申請 當中斷屏蔽觸發(fā)器狀態(tài)為當中斷屏蔽觸發(fā)器狀態(tài)為1 1,則中斷請,則中斷請求觸發(fā)器輸出的中斷請求信號發(fā)給求觸發(fā)器輸出的中斷請求信號發(fā)給CPUCPU。二、中斷響應二、中斷響應CPUCPU響應可屏蔽中斷申請必須滿足響應可屏

10、蔽中斷申請必須滿足3 3個條件個條件:無總線請求;無總線請求;CPUCPU被允許中斷;被允許中斷;CPUCPU執(zhí)行完現(xiàn)行指令執(zhí)行完現(xiàn)行指令 三、中斷處理三、中斷處理 CPUCPU響應中斷后要自動完成三項任務響應中斷后要自動完成三項任務1、關(guān)閉中斷;2 2、CSCS、IPIP以及以及FRFR的內(nèi)容推入堆棧的內(nèi)容推入堆棧3 3、中斷服務程序段地址送入、中斷服務程序段地址送入CSCS中,偏移地中,偏移地址送入址送入IPIP中。中。 一旦一旦CPU響應中斷,就可轉(zhuǎn)入中斷服響應中斷,就可轉(zhuǎn)入中斷服務程序之中。中斷服務程序的結(jié)構(gòu)如下:務程序之中。中斷服務程序的結(jié)構(gòu)如下:pushax;保護現(xiàn)場;保護現(xiàn)場pu

11、shbxsti;開中斷;開中斷;中斷處理;中斷處理cli;關(guān)中斷;關(guān)中斷popbx;恢復現(xiàn)場;恢復現(xiàn)場popaxsti;開中斷;開中斷reti;中斷返回;中斷返回9.4 9.4 中斷源識別及中斷優(yōu)先權(quán)中斷源識別及中斷優(yōu)先權(quán)在中斷系統(tǒng)中一個非常關(guān)鍵的問題是在中斷系統(tǒng)中一個非常關(guān)鍵的問題是CPUCPU如何知道是哪一個中斷源發(fā)出的中斷申請信如何知道是哪一個中斷源發(fā)出的中斷申請信號。只有正確地確定中斷源,號。只有正確地確定中斷源,CPUCPU才能轉(zhuǎn)到才能轉(zhuǎn)到相應的中斷服務程序為之服務。確定中斷源相應的中斷服務程序為之服務。確定中斷源的方法被稱為中斷源識別。的方法被稱為中斷源識別。 1 1、中斷源識別、

12、中斷源識別包括兩個方面:包括兩個方面:n確定中斷源。確定中斷源。n找到該中斷服務程序的首地址。找到該中斷服務程序的首地址。下面我們給出解決問題的兩種方案:下面我們給出解決問題的兩種方案:(1)查詢中斷)查詢中斷INAL,IPORT;從輸入接口取中斷信息;從輸入接口取中斷信息TESTAL,80H;是;是0號設備請求嗎號設備請求嗎?JNZSEVO;是,轉(zhuǎn);是,轉(zhuǎn)0號設備服務程序號設備服務程序TESTAL,40H;否,是;否,是1號設備請求嗎號設備請求嗎?JNZSEVl;是,轉(zhuǎn);是,轉(zhuǎn)1號設備服務程序號設備服務程序TESTAL,20H;否,是;否,是2號設備請求嗎號設備請求嗎?JNZSEV2;是,轉(zhuǎn)

13、;是,轉(zhuǎn)2號設備服務程序號設備服務程序TESTAL,10H;否,是;否,是3號設備請求嗎號設備請求嗎?JNZSEV3;是,轉(zhuǎn);是,轉(zhuǎn)3號設備服務程序號設備服務程序(2 2)矢量中斷)矢量中斷 中斷申請信號和中中斷申請信號和中斷響應信號是一對握手斷響應信號是一對握手信號。在驅(qū)動一個中斷信號。在驅(qū)動一個中斷事件過程中,中斷請求事件過程中,中斷請求信號是外設發(fā)給信號是外設發(fā)給CPUCPU的,的,當其有效時,表示外設當其有效時,表示外設請求請求CPUCPU為之服務。而中為之服務。而中斷響應信號是斷響應信號是CPUCPU發(fā)給外發(fā)給外設的,當其有效時,表設的,當其有效時,表明明CPUCPU可以為這個外設服

14、可以為這個外設服務,同時要求外設提供務,同時要求外設提供中斷類型號。中斷類型號。矢量中斷矢量中斷 7 74 4L LS S2 24 45 5D QCLKRDA7A6A5A4A3A2A1A0+5V中斷申請接CPU的D7D0INTAINTR2 2、 中斷優(yōu)先權(quán)中斷優(yōu)先權(quán)(1 1)軟件方案)軟件方案 軟件查詢確定優(yōu)先權(quán)的缺點是,響應中斷慢。軟件查詢確定優(yōu)先權(quán)的缺點是,響應中斷慢。 (2 2)、硬件方案)、硬件方案n鏈形電路鏈形電路 這種方法是利用外設在系統(tǒng)中的物理位置來決這種方法是利用外設在系統(tǒng)中的物理位置來決定其中斷優(yōu)先權(quán)的定其中斷優(yōu)先權(quán)的 n編碼電路編碼電路 74LSl4874LSl48是一個是

15、一個8 8到到3 3線的優(yōu)先權(quán)編碼器,它是線的優(yōu)先權(quán)編碼器,它是一個一個1616個管腳雙列直插式個管腳雙列直插式TTLTTL器件器件 7 74 4L LS S2 24 45 5D QCLKRDA7A6A5A4A3A2A1A0TCSB7B6B5B4B3B2B1B0+5V接CPU的D7D0INTAINTR7 74 4L LS S1 14 48 8I7I6I5I4I3I2I1I0A2A1A0INT7INT6INT5INT4INT3INT2INT1INT09 95 80865 8086中斷系統(tǒng)中斷系統(tǒng) 一、一、80868086的中斷源的中斷源 80868086中斷系統(tǒng)有兩大類型的中斷源,一類中斷系統(tǒng)有

16、兩大類型的中斷源,一類是由外部設備產(chǎn)生的中斷,我們稱之為硬件中是由外部設備產(chǎn)生的中斷,我們稱之為硬件中斷,硬件中斷有時又稱外中斷。另一類是由指斷,硬件中斷有時又稱外中斷。另一類是由指令在某種運行結(jié)果時產(chǎn)生的中斷,我們稱之為令在某種運行結(jié)果時產(chǎn)生的中斷,我們稱之為軟件中斷。另外對于硬件中斷,又分為不可屏軟件中斷。另外對于硬件中斷,又分為不可屏蔽中斷和可屏蔽中斷,硬件中斷是通過蔽中斷和可屏蔽中斷,硬件中斷是通過CPUCPU芯芯片的片的INTRINTR管腳或管腳或NMINMI管腳從外部引入的。管腳從外部引入的。 中斷類型號和中斷服務子程序的入口地址之中斷類型號和中斷服務子程序的入口地址之間的關(guān)系:間

17、的關(guān)系: n8086的中斷系統(tǒng)采用向量中斷向量中斷機制n一共可處理256個中斷,采用中斷向量編號0255,對256個中斷加以區(qū)別n可屏蔽中斷需借助專用的中斷控制器 Intel 8259A對系統(tǒng)中的可屏蔽中斷源進行管理:n擴充系統(tǒng)的可屏蔽中斷資源,并管理它們:n實現(xiàn)中斷優(yōu)先權(quán)比較n實現(xiàn)中斷源的識別中斷邏輯中斷邏輯INTO指令指令單步單步中斷中斷除法除法錯誤錯誤INT N指令指令CPUNMI8259A中斷中斷控制器控制器IR0IR1IR2IR3IR4IR5IR6IR7外外設設中中斷斷源源 -INTA可屏蔽中斷申請可屏蔽中斷申請 INTR不可屏蔽中斷申請不可屏蔽中斷申請可屏蔽中斷源可屏蔽中斷源不可屏

18、蔽中斷源不可屏蔽中斷源內(nèi)部中斷內(nèi)部中斷中斷類型號n40000:4n+00000:4n+10000:4n+20000:4n+30010002010002000IPCS內(nèi)存二、不可屏蔽中斷二、不可屏蔽中斷所謂不可屏蔽中斷就是用戶不能通過所謂不可屏蔽中斷就是用戶不能通過CPUCPU內(nèi)的中斷允許觸發(fā)器內(nèi)的中斷允許觸發(fā)器IFIF控制的中斷,控制的中斷,由由8086CPU8086CPU的的NMINMI管腳引入。管腳引入。NMINMI中斷請求中斷請求采用上升沿觸發(fā)方式,這種中斷一旦產(chǎn)采用上升沿觸發(fā)方式,這種中斷一旦產(chǎn)生,在生,在CPUCPU內(nèi)部直接生成中斷類型號內(nèi)部直接生成中斷類型號0202。 0000:4

19、*2+00000:4*2+10000:4*2+20000:4*2+30010002010002000IPCS內(nèi)存IF0IP,CS,FR進棧IP=2*4+0CS=2*4+2三、三、 可屏蔽中斷可屏蔽中斷 可屏蔽中斷就是用戶可以控制的中斷,可屏蔽中斷就是用戶可以控制的中斷,其途徑是通過對其途徑是通過對CPUCPU內(nèi)的中斷允許觸發(fā)器內(nèi)的中斷允許觸發(fā)器IFIF的設置來禁止和允許的設置來禁止和允許CPUCPU響應中斷。可屏蔽響應中斷。可屏蔽中斷由中斷由8086CPU8086CPU的的INTRINTR管腳引入。這種中斷管腳引入。這種中斷請求需要設備提供中斷類型號,請求需要設備提供中斷類型號,CPUCPU響

20、應中響應中斷后,取中斷類型號的斷后,取中斷類型號的4 4倍作為中斷服務入倍作為中斷服務入口地址表的地址,通過查表得到相應的中口地址表的地址,通過查表得到相應的中斷服務程序首地址,轉(zhuǎn)去執(zhí)行相應的中斷斷服務程序首地址,轉(zhuǎn)去執(zhí)行相應的中斷服務程序。服務程序。 0000:4*n+00000:4*n+10000:4*n+20000:4*n+30010002010002000內(nèi)存IF0IP,CS,FR進棧IP=2*n+0CS=2*n+2取中斷類型號n四、軟件中斷四、軟件中斷軟件中斷是由中斷指令引起的。中斷指令軟件中斷是由中斷指令引起的。中斷指令的指令格式為的指令格式為 INT nINT n,操作數(shù),操作數(shù)

21、n n就是中斷類就是中斷類型號。當型號。當CPUCPU執(zhí)行完畢中斷指令執(zhí)行完畢中斷指令I(lǐng)NT nINT n后,就后,就會立即產(chǎn)生一個中斷類型號為會立即產(chǎn)生一個中斷類型號為n的中斷。的中斷。(1)(1)除法中斷除法中斷 當進行除法運算時,若除數(shù)為當進行除法運算時,若除數(shù)為0 0或除數(shù)太或除數(shù)太小,使得商數(shù)大于相應寄存器所能表示的最小,使得商數(shù)大于相應寄存器所能表示的最大值,被稱作除法出錯。這時除法指令就相大值,被稱作除法出錯。這時除法指令就相當于一個中斷源,它向當于一個中斷源,它向CPUCPU發(fā)出類型發(fā)出類型0 0中斷。中斷。 (2) (2) 溢出中斷溢出中斷當算術(shù)運算產(chǎn)生溢出時,將在當算術(shù)運算

22、產(chǎn)生溢出時,將在INTOINTO指令控制下指令控制下向向CPUCPU發(fā)出類型發(fā)出類型4 4的中斷,即溢出中斷。的中斷,即溢出中斷。(3)(3)單步中斷和斷點中斷單步中斷和斷點中斷n單步中斷單步中斷當當8086CPU8086CPU的標志寄存器中的的標志寄存器中的TFTF標志為標志為1 1時,時,8086CPU8086CPU處于單步工作方式,這時處于單步工作方式,這時CPUCPU在每條指令在每條指令執(zhí)行后自動產(chǎn)生類型執(zhí)行后自動產(chǎn)生類型l l的中斷。的中斷。n斷點中斷斷點中斷 INT3INT3指令是指令是1 1字節(jié)指令,可將這條指令的目字節(jié)指令,可將這條指令的目的代碼嵌入任意條指令的操作碼處,從而實

23、現(xiàn)斷的代碼嵌入任意條指令的操作碼處,從而實現(xiàn)斷點中斷。點中斷。 五、中斷概念的再討論五、中斷概念的再討論1 1、中斷與調(diào)子程序之間的關(guān)系、中斷與調(diào)子程序之間的關(guān)系 (1)(1)中斷過程實際上是中斷過程實際上是CPUCPU從執(zhí)行當前主程序轉(zhuǎn)到執(zhí)從執(zhí)行當前主程序轉(zhuǎn)到執(zhí)行為外設服務的子程序,因此從這個角度來看,行為外設服務的子程序,因此從這個角度來看,中斷過程是一個調(diào)用子程序的過程。中斷過程是一個調(diào)用子程序的過程。(2)(2)中斷過程與子程序調(diào)用還是有很大差別的:中斷過程與子程序調(diào)用還是有很大差別的:n調(diào)用子程序的過程是一個無條件過程,但中斷過調(diào)用子程序的過程是一個無條件過程,但中斷過程的中斷服務程

24、序的調(diào)用一般是有條件的。程的中斷服務程序的調(diào)用一般是有條件的。n子程序調(diào)用在整個程序執(zhí)行中的位置是固定的。子程序調(diào)用在整個程序執(zhí)行中的位置是固定的。但對于硬件中斷過程,只要條件滿足,在整個程但對于硬件中斷過程,只要條件滿足,在整個程序執(zhí)行的任意一時間點都有可能發(fā)生從主程序向序執(zhí)行的任意一時間點都有可能發(fā)生從主程序向中斷服務子程序的轉(zhuǎn)移事件,也就是說硬件中斷中斷服務子程序的轉(zhuǎn)移事件,也就是說硬件中斷產(chǎn)生的調(diào)用過程是隨機的,不可預測的。產(chǎn)生的調(diào)用過程是隨機的,不可預測的。 2 2、外部中斷和、外部中斷和 INT n INT n 之間的關(guān)系之間的關(guān)系 結(jié)合中斷指令結(jié)合中斷指令I(lǐng)NT nINT n,我

25、們可以這樣理解,我們可以這樣理解外部中斷:當外部中斷源發(fā)中斷給外部中斷:當外部中斷源發(fā)中斷給CPUCPU時,如時,如果果CPUCPU滿足一定的條件,處于開中斷狀態(tài),滿足一定的條件,處于開中斷狀態(tài),CPUCPU就可以響應中斷,這時外設在就可以響應中斷,這時外設在CPUCPU正在執(zhí)正在執(zhí)行指令與其下一個指令之間,等效行指令與其下一個指令之間,等效“插入插入”了一個了一個INT nINT n指令,這里的指令,這里的n n就是外設提供的就是外設提供的中斷類型號。注意這里用中斷類型號。注意這里用“等效等效”兩字表示兩字表示實際過程中是不存在插入實際過程中是不存在插入INT nINT n指令的操作,指令的

26、操作,但但CPUCPU確實完成了類似確實完成了類似INT nINT n指令的功能,實指令的功能,實現(xiàn)了主程序向中斷程序的轉(zhuǎn)移。現(xiàn)了主程序向中斷程序的轉(zhuǎn)移。 9 96 8086CPU6 8086CPU的中斷管理的中斷管理一、一、8086CPU8086CPU的中斷處理順序的中斷處理順序 8086CPU8086CPU的中斷優(yōu)先權(quán)排列從高到低為:的中斷優(yōu)先權(quán)排列從高到低為:n1、除法出錯中斷,溢出中斷,、除法出錯中斷,溢出中斷,INT nINT n;n2 2、NMlNMl;n3 3、INTRINTR;n4 4、單步中斷。、單步中斷。 二、二、8086CPU8086CPU的中斷向量表的中斷向量表 三、三

27、、 中斷入口地址設置中斷入口地址設置1 1、用串指令用串指令 CLICLI;關(guān)中斷;關(guān)中斷MOV AX,0MOV AX,0MOV ES,AXMOV ES,AX;置附加段基地址為;置附加段基地址為0 0MOV DI, nMOV DI, n* *4 4;置附加段偏移地址到;置附加段偏移地址到DIDIMOV AX,OFFSET INT_VCEMOV AX,OFFSET INT_VCE;置中斷程序首地址的偏移量到;置中斷程序首地址的偏移量到AXAXCLDCLDSTOSWSTOSW;填偏移量到中斷地址表;填偏移量到中斷地址表MOV AX, SEG INT_VCEMOV AX, SEG INT_VCE;置

28、中斷程序的段基地址到;置中斷程序的段基地址到AXAXSTOSWSTOSW;填段基地址到中斷地址表;填段基地址到中斷地址表STISTI;開中斷;開中斷 2 2、用偽指令、用偽指令 INTINTTBLTBLSEGMENT AT 0 SEGMENT AT 0 ;定義;定義INTINTTBLTBL段,段基地址為段,段基地址為0 0 ORG nORG n* *4 4;指定偏移地址;指定偏移地址 DD INTDD INTVCEVCE;存中斷程序入口地址;存中斷程序入口地址INTINTTBL TBL ENDSENDS ;其他處理;其他處理 MCODE MCODE SEGMENTSEGMENT;主程序;主程序

29、 ;其他處理;其他處理 INTINTVCE PROC FARVCE PROC FAR;中斷服務程序;中斷服務程序 IRETIRETINTINTVCEVCEENDPENDP 3 3、用系統(tǒng)調(diào)用、用系統(tǒng)調(diào)用使用使用DOS功能調(diào)用的功能調(diào)用的25H25H功能功能要求:要求:ALAL中斷類型號中斷類型號DSDS:DXDX中斷服務程序首地址的段、偏移地中斷服務程序首地址的段、偏移地址址 PUSHDSMOVDX,SEGINT60H;段基地址送;段基地址送DSMOVDS,DXMOVDX,OFFSETINT60H ;偏移地址送;偏移地址送DXMOVAL,60H;中斷類型號送;中斷類型號送ALMOVAH,25H

30、INT21H;25H功能調(diào)用功能調(diào)用POPDS4 4、直接裝入法、直接裝入法 若外設的中斷類型號為若外設的中斷類型號為6BH6BH,則此中斷類型,則此中斷類型號對應的中斷矢量表地址為從號對應的中斷矢量表地址為從00lACH00lACH開始的開始的四個存儲單元設中斷服務程序段地址是四個存儲單元設中斷服務程序段地址是1000H1000H,偏移地址為,偏移地址為2000H2000H。 MOVAX,,0MOVDS,AX;置數(shù)據(jù)段段基地址為;置數(shù)據(jù)段段基地址為0MOVAX,2000HMOVWORDPTR01ACH,AX;對偏移地址為;對偏移地址為01AC的單元的單元MOVAX1000H ;送雙字;送雙字

31、MOVWORDPTR01ACH+2,AXn8086微機的中斷管理著三種中斷源:n(1)內(nèi)部中斷源n(2)非屏蔽中斷NMIn(3)可屏蔽中斷INTRn其中可屏蔽中斷源由8259A中斷控制器進行管理, 之后向CPU發(fā)出INTR中斷請求。9 97 7 可編程中斷管理芯片可編程中斷管理芯片8259A8259A8259的基本功能:n能接收外部的中斷請求,并進行判斷n送出對應中斷源的中斷類別號 n中斷嵌套n中斷屏蔽或允許。n允許兩級級聯(lián)形成主從結(jié)構(gòu)。 VCC A0 INTA IR7 IR6 IR5 IR4 IR3 IR2 IR1 IR0 INT SP/EN CAS2CS WR RD D7 D6 D5 D4

32、 D3 D2 D1 D0 CAS0 CAS1 GND1 8259A 28 2 27 3 26 4 25 5 24 6 23 7 22 8 21 9 20 10 19 11 18 12 17 13 16 14 15一、一、8259A8259A的外部特性的外部特性n1片8259A能管理8級中斷(8個中斷源)。n可由9片8259A構(gòu)成64級的主從式中斷管理系統(tǒng)。8259級聯(lián)工作示意圖CAS0 IR0CAS1 IR1CAS2 IR2 IR3-INTA IR4 IR5INT IR6 IR7-SP/-EN CAS0-INTA CAS1 CAS2INT IR0 IR1-SP/-EN IR7CAS0 IR0C

33、AS1 IR1CAS2 IR2 IR3-INTA IR4 IR5INT IR6 IR7-SP/-EN-INTAINTR+5V輸出得到響應輸出得到響應的從片編號的從片編號D7D0INTAINT中斷請求寄存器中斷請求寄存器中斷屏蔽寄存器中斷屏蔽寄存器數(shù)據(jù)數(shù)據(jù)總線總線緩沖器緩沖器IR0IR7讀讀/寫寫控制控制邏輯邏輯級聯(lián)級聯(lián)緩沖器緩沖器比較器比較器RDWRA0CSCAS0CSA1CAS2SP/EN優(yōu)先權(quán)判別電路優(yōu)先權(quán)判別電路中斷服務寄存器中斷服務寄存器控制邏輯控制邏輯IRRPRISRIMR二、二、8259A8259A的內(nèi)部結(jié)構(gòu)的內(nèi)部結(jié)構(gòu)三、三、8259A8259A的編程結(jié)構(gòu)的編程結(jié)構(gòu)處理部分處理部分

34、編程部分編程部分 8259A控制寄存器及I/O端口的識別8259A讀寫操作及地址CSRDWRA0功能8259A端口PC/XT機端口0010讀IRR,ISR偶地址20H0011讀IMR奇地址21H0100寫ICW1,OCW2,OCW3偶地址20H0101寫ICW2,ICW3,ICW4,OCW1奇地址21H011無操作 1無操作 n8259A可以編程設置各種不同的工作方式可以編程設置各種不同的工作方式n優(yōu)先級方式(優(yōu)先級方式(4種)種)n屏蔽中斷源的方式(屏蔽中斷源的方式(2種)種)n結(jié)束中斷的方式(結(jié)束中斷的方式(3種)種)n連接系統(tǒng)數(shù)據(jù)總線的方式(連接系統(tǒng)數(shù)據(jù)總線的方式(2種)種)n引入中斷請

35、求的觸發(fā)方式(引入中斷請求的觸發(fā)方式(3種)種)1 1、中斷優(yōu)先權(quán)管理、中斷優(yōu)先權(quán)管理 (1 1)完全嵌套方式)完全嵌套方式 8259A8259A的中斷請求輸入端引入的中斷具有固的中斷請求輸入端引入的中斷具有固定的優(yōu)先權(quán)排隊順序,定的優(yōu)先權(quán)排隊順序,IRIR0 0為最高優(yōu)先級,為最高優(yōu)先級,IRIR1 1為次高優(yōu)先級,依次類推,為次高優(yōu)先級,依次類推,IRIR7 7為最低優(yōu)先級。為最低優(yōu)先級。(2 2)特殊完全嵌套方式)特殊完全嵌套方式 用在用在8259A8259A有級聯(lián)的情況有級聯(lián)的情況(3 3)優(yōu)先級自動循環(huán)方式)優(yōu)先級自動循環(huán)方式 從從IRIR0 0IRIR7 7引入的中斷輪流具有最高優(yōu)

36、先權(quán)。引入的中斷輪流具有最高優(yōu)先權(quán)。 (4 4)優(yōu)先級特殊循環(huán)方式)優(yōu)先級特殊循環(huán)方式2 2、中斷屏蔽方式、中斷屏蔽方式n普通屏蔽方式: 通過IMR設置,0允許,1屏蔽 n特殊屏蔽方式(允許發(fā)生低級的中斷嵌套)3 3、 8259A8259A中斷結(jié)束的方式(中斷結(jié)束的方式(EOIEOI命令)命令) n中斷自動結(jié)束方式n一般的中斷結(jié)束方式n特殊的中斷結(jié)束方式4 4、連接系統(tǒng)數(shù)據(jù)總線的方式、連接系統(tǒng)數(shù)據(jù)總線的方式緩沖方式:8259A通過總線驅(qū)動器和數(shù)據(jù)總線相連,這就是緩沖方式。n8259A的數(shù)據(jù)線需加緩沖器予以驅(qū)動n8259A把SP*/EN*引腳作為輸出端,輸出允許信號,用以鎖存或開啟緩沖器非緩沖方

37、式:當系統(tǒng)中只有單片8259A時,一般將它直接與數(shù)據(jù)總線相連。 nSP*/EN*引腳為輸入端n若8259A級連,由其確定是主片或從片5 5、引入中斷請求的觸發(fā)方式、引入中斷請求的觸發(fā)方式n邊沿觸發(fā)方式 (上升沿有效)n電平觸發(fā)方式 (高電平有效)n中斷查詢方式初始化命令字初始化命令字ICWnICW1nICW2nICW3nICW4n 初始化命令字的編程順序ICW1命令字 芯片控制初始化命令字芯片控制初始化命令字 ,必須寫入偶地址端口必須寫入偶地址端口 A0 A0 D7 D7 D6 D5 D6 D5 D4 D3 D4 D3 D2 D2 D1 D1 D0 D0 0 0 1 1:要:要 ICW4ICW

38、4 0 0:不要:不要ICW4ICW4 1 1:單片方式:單片方式 0 0:級連方式:級連方式 偶地址端口偶地址端口 8086/80888086/8088系統(tǒng)不用系統(tǒng)不用 特征位特征位 1 1:電平觸發(fā):電平觸發(fā) 0 0:邊沿觸發(fā):邊沿觸發(fā) X X X 1 LTIM ADI SNGL IC4 8086/80888086/8088系系統(tǒng)無意義統(tǒng)無意義8086/80888086/8088系統(tǒng)必須為系統(tǒng)必須為1 1(1) ICW1的格式和含義的格式和含義 ICW2命令字用來設定用來設定中斷類型碼中斷類型碼,必須奇地址端口(,必須奇地址端口(A0=1) A0 A0 D7 D7 D6 D6 D5 D5

39、D4 D4 D3 D3 D2 D2 D1 D1 D0 D0 1 1 中斷類型號的高中斷類型號的高5 5位位由用戶編程確定由用戶編程確定 8259A8259A自動填入自動填入 T7 T6 T5 T4 T3 0 0 0 000:IR0001:IR1、111:IR7奇地址端口奇地址端口(2) ICW2ICW3命令字設定主片設定主片/從片標志,從片標志,奇地址奇地址端口,只有多片級聯(lián)時端口,只有多片級聯(lián)時才設置。才設置。主片的主片的ICW3 ICW3 如下:如下: 1 :IRi輸入引腳接從片的輸入引腳接從片的INT 0:-IRi輸入引腳未接從片的輸入引腳未接從片的INT A0 A0 D7 D7 D6

40、D6 D5 D5 D4 D4 D3 D3 D2 D2 D1D1 D0 D0 IR3IR3 IR2IR2 IR1IR1 IR0IR0 IR4IR4 IR5IR5 IR6IR6 IR7IR7 1 1 奇地址端口奇地址端口(3) ICW3的格式和含義的格式和含義 ICW3命令字設定主片設定主片/從片標志,從片標志,奇地址奇地址端口,只有多片級聯(lián)時端口,只有多片級聯(lián)時才設置。才設置。從片的從片的ICW3 ICW3 如下:如下: A0 A0 D7 D7 D6 D6 D5 D5 D4 D4 D3 D3 D2 D2 D1D1 D0 D0 0 0 ID2ID2ID1ID1 ID0ID00 0 0 0 0 0

41、0 01 1 奇地址端口奇地址端口ICW4命令字 方式控制初始化命令字,必須填入方式控制初始化命令字,必須填入奇地址奇地址端口端口 1 1- -8088/8086CPU8088/8086CPU 0 0- -8080/80858080/8085CPUCPU 1 1- -自動自動 EOIEOI 方式方式 0 0- -非自動非自動 EOIEOI 方式方式 1 1- -特殊完全嵌套方式特殊完全嵌套方式 0 0- -一般完全嵌套方式一般完全嵌套方式 0 0 X 非緩沖方式非緩沖方式 1 1 0 0 緩沖方式從片緩沖方式從片 1 1 1 1 緩沖方式主片緩沖方式主片 A0 A0 D7 D7 D6 D6 D

42、5 D5 D4 D4 D3 D3 D2 D2 D1 D0 D1 D0 1 1 0 0 0 SFNM BUF M/S AEOI 0 0 0 SFNM BUF M/S AEOI uPMuPM (4) ICW4的格式和含義的格式和含義 8086CPU中8259A初始化命令字的順序必須按順序?qū)懭隝CW1(偶地址端口)ICW2(奇地址端口)是級聯(lián)方式嗎?主或從片ICW3 (奇地址端口)ICW4 (奇地址端口)結(jié)束YN ICW1寫入偶端口,ICW2ICW4寫入奇端口 ICW1ICW4的設置次序固定 ICW1和ICW2須設置,ICW3和ICW4非必須 在級聯(lián)時,主片和從片各設置ICW3對對8259A設置初始

43、化命令字的例子設置初始化命令字的例子 MOV AL,13HOUT 80H,AL;設置ICW1MOV AL,18HOUT 81H,AL;設置ICW2MOV AL,0DHOUT 81H,AL;設置ICW4 操作命令字操作命令字OCWn OCW1n OCW2n OCW3 中斷屏蔽操作命令字,要求寫入奇地址端口中斷屏蔽操作命令字,要求寫入奇地址端口 1 1:輸入引腳對應中斷請求受到屏蔽:輸入引腳對應中斷請求受到屏蔽 0 0:輸入引腳對應中斷請求得到允許:輸入引腳對應中斷請求得到允許 A0 A0 D7 D7 D6 D6 D5 D5 D4 D4 D3 D3 D2 D2 D1D1 D0 D0 M3M3 M2

44、M2 M1M1 M0M0 M4M4 M5M5 M6M6M7M71 1 (1) OCW1的格式和含義的格式和含義 OCW2命令字 優(yōu)先級循環(huán)方式和中斷結(jié)束方式操作命令字,寫入偶地址端口優(yōu)先級循環(huán)方式和中斷結(jié)束方式操作命令字,寫入偶地址端口 由由R R、SLSL、EOIEOI組合實現(xiàn)組合實現(xiàn) A0 A0 D7 D7 D6 D6 D5 D5 D4 D4 D3 D3 D2 D2 D1D1 D0 D0 0 0 L2L2 L1L1 L0L0 0 0 EOIEOI SLSL R R 0 1:優(yōu)先級循環(huán):優(yōu)先級循環(huán)0:固定優(yōu)先級:固定優(yōu)先級1:L2L0有效有效0:L2L0無效無效 1:發(fā)中斷結(jié)束命令:發(fā)中斷結(jié)

45、束命令0:不發(fā)中斷結(jié)束命令:不發(fā)中斷結(jié)束命令標標志志位位 指定中斷源,指定中斷源,0 0 0: IR0、1 1 1:IR7 優(yōu)先級時代表優(yōu)先級時代表最低級最低級(2) OCW2的格式和含義的格式和含義 OCW2的總結(jié)的總結(jié)RSLEOI 功能功能100設置優(yōu)先級自動循環(huán)方式設置優(yōu)先級自動循環(huán)方式000結(jié)束優(yōu)先級自動循環(huán)方式結(jié)束優(yōu)先級自動循環(huán)方式110設置特殊優(yōu)先級循環(huán)方式設置特殊優(yōu)先級循環(huán)方式101發(fā)中斷結(jié)束命令,并用優(yōu)先級自動循環(huán)方式發(fā)中斷結(jié)束命令,并用優(yōu)先級自動循環(huán)方式111發(fā)中斷結(jié)束命令,并用特殊優(yōu)先級循環(huán)方式發(fā)中斷結(jié)束命令,并用特殊優(yōu)先級循環(huán)方式011特殊中斷結(jié)束命令特殊中斷結(jié)束命令00

46、1一般中斷結(jié)束方式一般中斷結(jié)束方式010無效無效(3) OCW3的格式和功能的格式和功能 功能:(1)設置和撤銷特殊屏蔽方式(2)設置中斷查詢方式(3)設置對內(nèi)部寄存器的讀出命令 OCW3命令字 三部分功能三部分功能特殊屏蔽方式、中斷查詢方式、讀特殊屏蔽方式、中斷查詢方式、讀IRR/ISRIRR/ISR命令字命令字 A0 A0 D7 D7 D6 D6 D5 D5 D4 D4 D3 D3 D2 D2 D1D1 D0 D0 1 1 P P RRRR RISRIS 0 0 SMMSMM ESMMESMM 0 0 0 0X:無效:無效10:取消特殊屏蔽方式:取消特殊屏蔽方式11:設置特殊屏蔽方式:設置特殊屏蔽方式 標志標志位位 0X:無效:無效10:準備讀:準備讀IRR11:準備讀:準備讀ISR 1:中斷查詢工作方式:中斷查詢工作方式0:不查詢:不查詢 OCW3命令字(中斷查詢)查詢功能:查詢功能:CPU輸出查詢命令輸出查詢命令0CH,再執(zhí)行一條,再執(zhí)行一條IN指令,讀入查詢字指令,讀入查詢字 A0 A0 D7 D7 D6 D6 D5 D5 D4 D4 D3 D3 D2 D2 D1D1 D0 D0 X X W2W2 W1W1 W0W0 X X X X X X IRIR 0 1:

溫馨提示

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

評論

0/150

提交評論