中斷概念及執(zhí)行過程_第1頁
中斷概念及執(zhí)行過程_第2頁
中斷概念及執(zhí)行過程_第3頁
中斷概念及執(zhí)行過程_第4頁
中斷概念及執(zhí)行過程_第5頁
已閱讀5頁,還剩31頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、微型計算機原理與應(yīng)用 -8086中斷系統(tǒng)簡介主要內(nèi)容:一、中斷及中斷過程一、中斷及中斷過程 二、二、8086的中斷系統(tǒng)的中斷系統(tǒng)中斷服務(wù)程序中斷服務(wù)程序發(fā)申請發(fā)申請中斷服務(wù)程序中斷服務(wù)程序發(fā)申請發(fā)申請中斷方式下中斷方式下CPU執(zhí)行程序流程執(zhí)行程序流程外外設(shè)設(shè)n由外設(shè)通過接口電路向CPU發(fā)出中斷請求信號,CPU在滿足一定的條件下,暫停執(zhí)行當前正在執(zhí)行的主程序,轉(zhuǎn)入執(zhí)行相應(yīng)能夠進行輸入/輸出操作的子程序,待輸入/輸出操作執(zhí)行完畢之后CPU即返回繼續(xù)執(zhí)行原來被中斷的主程序 1、什么是中斷?、什么是中斷?PPT比如比如.講課講課相當于子程序相當于子程序正在看書正在看書電話鈴響電話鈴響接電話接電話繼續(xù)看

2、書繼續(xù)看書執(zhí)行程序執(zhí)行程序事件發(fā)生事件發(fā)生事件處理事件處理繼續(xù)執(zhí)行程序繼續(xù)執(zhí)行程序中斷處理中斷處理中斷請求及響應(yīng)中斷請求及響應(yīng)實際場景實際場景計算機計算機中斷返回中斷返回計算機應(yīng)外設(shè)的要求暫停主程序的執(zhí)行,轉(zhuǎn)而執(zhí)行一個子程序這個過程就是中斷計算機應(yīng)外設(shè)的要求暫停主程序的執(zhí)行,轉(zhuǎn)而執(zhí)行一個子程序這個過程就是中斷n中斷與子程序調(diào)用的區(qū)別:中斷與子程序調(diào)用的區(qū)別:n中斷源是隨機產(chǎn)生的;中斷源是隨機產(chǎn)生的;n中斷的處理過程與子程序調(diào)用完全不同中斷的處理過程與子程序調(diào)用完全不同o中斷也是微處理器與外部設(shè)備進行信息交換的一種方式中斷也是微處理器與外部設(shè)備進行信息交換的一種方式。平時平時CPU和外設(shè)和外設(shè)你

3、干你的事我干我的事,有事的時候才聯(lián)系。你干你的事我干我的事,有事的時候才聯(lián)系。o這樣CPU就避免了把大量時間耗費在等待、查詢狀態(tài)信號的操作上,使其工作效率得以大大地提高。作效率得以大大地提高。2、中斷方式的優(yōu)點:、中斷方式的優(yōu)點:程序員:程序員:INT n指令引起中斷外部設(shè)備外部設(shè)備:IO設(shè)備、實時時鐘什么是中斷源?什么是中斷源?引起中斷的原因或發(fā)出中斷請求的設(shè)備稱為中斷源。引起中斷的原因或發(fā)出中斷請求的設(shè)備稱為中斷源。3、中斷源、中斷源PPTn內(nèi)部中斷源內(nèi)部中斷源: vCPU運行時出現(xiàn)的非正常情況(除數(shù)為零、溢出、內(nèi)存不夠) v程序執(zhí)行 (單步執(zhí)行、斷點執(zhí)行) v 中斷指令I(lǐng)NT n q 外

4、部中斷源外部中斷源: 外設(shè)提出的請求(可屏蔽中斷、不可屏蔽中斷) 出現(xiàn)在出現(xiàn)在INTRINTR線上的中斷請求,線上的中斷請求,CPU CPU 是否響應(yīng)要取決于是否響應(yīng)要取決于標志位標志位IFIF的狀態(tài):的狀態(tài): 若若IF=1IF=1,則,則CPUCPU就響應(yīng)就響應(yīng),此時,此時CPUCPU是處在開中斷狀態(tài);是處在開中斷狀態(tài); 若若IF=0IF=0,則,則CPUCPU就不響應(yīng)就不響應(yīng), ,此時此時CPUCPU是處在關(guān)中斷狀態(tài)。是處在關(guān)中斷狀態(tài)。 而而IFIF標志位的狀態(tài),可以用指令標志位的狀態(tài),可以用指令STISTI使其置位,即開使其置位,即開中斷;也可以用中斷;也可以用CLICLI指令來使其復位

5、,即關(guān)中斷。指令來使其復位,即關(guān)中斷。 可屏蔽中斷可屏蔽中斷 n4、可屏蔽中斷與不可屏蔽中斷、可屏蔽中斷與不可屏蔽中斷 出現(xiàn)在出現(xiàn)在NMINMI線上的中斷請求,線上的中斷請求,不受標志位不受標志位IFIF的影響的影響,在當前指令執(zhí),在當前指令執(zhí)行完以后行完以后,CPU,CPU就響應(yīng)。就響應(yīng)。NMINMI線上的中斷請求信號是線上的中斷請求信號是邊沿觸發(fā)邊沿觸發(fā)的,它的的,它的出現(xiàn)是異步的出現(xiàn)是異步的, ,由內(nèi)部把它鎖存。要求由內(nèi)部把它鎖存。要求NMINMI上的中斷請求脈沖的有效寬上的中斷請求脈沖的有效寬度度( (高電平的持續(xù)時間高電平的持續(xù)時間) )要大于兩個時鐘周期。要大于兩個時鐘周期。 非屏

6、蔽中斷非屏蔽中斷5.中斷系統(tǒng)應(yīng)具備的功能o能夠?qū)崿F(xiàn)中斷,并能正確地返回;能夠進行優(yōu)先級排隊和實現(xiàn)中斷嵌套;(多個中斷源的情況)能夠禁止中斷(不響應(yīng)中斷)和中斷屏蔽(不讓中斷請求掛到CPU引腳上)。與硬件中斷與硬件中斷可屏蔽可屏蔽不可屏蔽不可屏蔽軟件中斷軟件中斷中斷源的類型?中斷源的類型?外設(shè)外設(shè)時鐘時鐘 在自動控制中,常采用一個外部時鐘電路控制其時間間隔。需要定時時,CPU發(fā)出啟動時鐘電路開始計時,待定時時間到,就會向CPU發(fā)出中斷請求,由CPU轉(zhuǎn)去完成檢測和控制等任務(wù)。中斷請求中斷請求4??善帘沃袛嗟奶幚磉^程。可屏蔽中斷的處理過程中斷判優(yōu)中斷判優(yōu)中斷響應(yīng)中斷響應(yīng)中斷處理中斷處理中斷返回中斷返

7、回n先以先以官員接待訪客介紹這五個步驟介紹這五個步驟官員接官員接待來訪待來訪者?者?中斷過程的五個步驟:重點介紹其中三個中斷過程的五個步驟:重點介紹其中三個n中斷的處理過程總結(jié)中斷的處理過程總結(jié)INTAIF=01)中斷請求外設(shè)要求外設(shè)要求CPU為他服務(wù)時就輸出一個請求為他服務(wù)時就輸出一個請求信號,加載到信號,加載到CPU的中斷請求輸入引腳的中斷請求輸入引腳n只有一個中斷源的情況只有一個中斷源的情況 外設(shè)(中斷源)發(fā)出中斷請求信號,經(jīng)中斷管理器送到CPU的INTR引腳。-CPU怎么知道來了中斷請求?中斷接口電路來管理中斷請求!客人客人敲門敲門秘書登記、排序、拒絕秘書登記、排序、拒絕1n多個個中斷

8、源的情況多個個中斷源的情況申請階段的工作o請求需要登記:外設(shè)提出的中斷請求信號,用中斷請求觸發(fā)器保存; o多個中斷源管理:多個中斷源的中斷請求,到底選哪一個中斷請求信號與CPU的INTR引腳相溝通,用中斷屏蔽觸發(fā)器;控制你的請求信號能否到達 CPU的INTR引腳。o允許或禁止CPU響應(yīng)中斷:用中斷允許觸發(fā)器,IF標志來控制(用STI 指令使IF標志為“1”,用CLI 指令使IF標志為“0”)。 秘書處登記,秘書通報秘書處登記,秘書通報-多個中斷源產(chǎn)生中斷,CPU首先為誰服務(wù)?-排序排序看成是申請階段的工作內(nèi)容看成是申請階段的工作內(nèi)容 中斷優(yōu)先級控制兩個含義:n對同時產(chǎn)生的中斷:應(yīng)首先處理優(yōu)先級

9、別較高的中斷;n對非同時產(chǎn)生的中斷:低優(yōu)先級別的中斷處理程序允許被高優(yōu)先級別的中斷源所中斷即允許中斷嵌套中斷嵌套。 優(yōu)先級的問題一般由專門的中斷控制器來處理。秘書給排號秘書給排號(1)從申請進入響應(yīng)階段,要具備一定條件:o外設(shè)提出中斷請求,該請求到達CPU的INTR引腳;(不能被屏蔽)o CPU執(zhí)行完當前指令; o 中斷允許觸發(fā)器IF狀態(tài)為“1”。CPU在指令的最后一個時鐘周期在指令的最后一個時鐘周期去檢查去檢查INTR引腳引腳2)中斷響應(yīng)在每條指令的最后一個時鐘周期,CPU檢測INTR,若某些條件成立,則CPU響應(yīng)中斷:(2)可屏蔽中斷響應(yīng)時序)可屏蔽中斷響應(yīng)時序122)中斷響應(yīng)可屏蔽中斷響

10、應(yīng)周期包含兩個總線周期可屏蔽中斷響應(yīng)周期包含兩個總線周期第一個總線總線周期INTA出現(xiàn)一次低電平,第二個總線周期又出現(xiàn)一次第1個低電平表示響應(yīng)引腳上的中斷申請,由于這個申請已被響應(yīng),那么對應(yīng)的(中斷申請觸發(fā)器內(nèi))請求標志要被清除。告知外設(shè)我響應(yīng)你的請求。第2個低電平:(中斷請求對應(yīng)一個編碼中斷類型號)將中斷類型號讀到CPU;中斷類型號從哪里來?由中斷控制器8259中來的,通過數(shù)據(jù)總線傳給CPU;讀進來后,根據(jù)這個號找到中斷服務(wù)程序的起始地址,然后就執(zhí)行服務(wù)程序。 讀取中斷類型號(在讀取中斷類型號(在-INTA的第的第2個低電平時間,從數(shù)據(jù)總線上讀取個低電平時間,從數(shù)據(jù)總線上讀取中中斷類型號斷類

11、型號N(由中斷控制器提供)(由中斷控制器提供) 。保存保存PSW (F標志寄存器)標志入堆棧標志寄存器)標志入堆棧關(guān)中斷(關(guān)中斷(IF=“0”、TF= “0” ) 保存斷點 (當前的CS、IP入堆棧保存)主要是保證中斷結(jié)束后能返回被中斷的程序。 調(diào)用中斷服務(wù)程序的入口地址調(diào)用中斷服務(wù)程序的入口地址 (比較復雜,單獨介紹)(比較復雜,單獨介紹)執(zhí)行中斷服務(wù)程序 (3)可屏蔽中斷的響應(yīng)處理)可屏蔽中斷的響應(yīng)處理 1斷點沒保護好,中斷服務(wù)程序入口地址沒找到,將IF位置0;暫時不接待其他中斷請求-別打擾我!計算機自動處理的。斷點具體在哪里我計算機自動處理的。斷點具體在哪里我們是不知道的,只知道是們是不

12、知道的,只知道是下一條指令下一條指令的的地址。地址。2)中斷響應(yīng)nCPU自動完成上述過程!自動完成上述過程!中斷類型號N*4=中斷向量表的偏移地址 (內(nèi)部計算)。從中斷向量表0000H: N*4內(nèi)存單元中讀取中斷向量(中斷服務(wù)程序的入口地址)四個字節(jié)將中斷向量送入將中斷向量送入IP、CS中中 怎么找到怎么找到中斷服務(wù)程序的首地址?中斷服務(wù)程序的首地址?小結(jié)中斷服務(wù)程序的首地址是這樣來的:N什么時候讀到的?中斷相應(yīng)開始,INTA引腳第二次等于0的時候,由中斷控制器通過數(shù)據(jù)總線傳到CPU;讀進來做什么呢?把他乘以4,以他為偏移地址與0000段疊加得到一個地址;這個內(nèi)存單元有四個字節(jié)內(nèi)容,低地址兩個

13、單元內(nèi)容送IP,高地址的內(nèi)容送CS,這樣就找到了中斷服務(wù)程序的入口地址2)中斷響應(yīng)入口地址,學名中斷向量中斷向量,放哪里了呢?放到內(nèi)存中的一片區(qū)域中這片區(qū)域位于0段,范圍是0000:00000000:0325這個區(qū)域,這個區(qū)域由于是存放中斷向量的地方稱為中斷向量表中斷向量表。放在什么地方了呢?由類型號確定,0000:4*N開始的4個單元中段地址在哪兒,偏移地址是多少中斷服務(wù)程序的首地址的講解中斷服務(wù)程序的首地址的講解1)中斷類型碼中斷類型碼 8086可處理256個中斷源,為每個中斷源分配了一個編碼,這個編碼對應(yīng)一個中斷子程序,其取值范圍為0255,稱為中斷類型碼。中斷類型碼。2)中斷向量)中斷

14、向量 中斷服務(wù)子程序都有的入口地址(中斷服務(wù)程序的段基址和偏移量),稱中斷服務(wù)子程序都有的入口地址(中斷服務(wù)程序的段基址和偏移量),稱為為中斷向量。中斷向量。3)中斷向量表)中斷向量表中斷向量放在固定的一塊地址中(中斷向量放在固定的一塊地址中(000H-3FFH)而且按中斷類型)而且按中斷類型碼的順序來放碼的順序來放 形成一個地址表,形成一個地址表,叫中斷向量表叫中斷向量表預備知識預備知識o(1) 保護現(xiàn)場(由一系列的PUSH指令完成)。目的是為了保護那些在子程序中可能改變的寄存器,(如AX,BX,CX等)。o(2) 開中斷(由STI指令實現(xiàn))。目的是為了能實現(xiàn)中斷的嵌套。 (3) 中斷服務(wù)-

15、執(zhí)行子程序o(4) 恢復現(xiàn)場是與保護現(xiàn)場對應(yīng)的。o(5) 返回(使用中斷返回指令I(lǐng)RET)。n在中斷子程序中通過編寫代碼完成上述過程在中斷子程序中通過編寫代碼完成上述過程。n中斷子程序的結(jié)構(gòu)中斷子程序的結(jié)構(gòu)2)中斷響應(yīng)(4)可屏蔽中斷的響應(yīng)處理)可屏蔽中斷的響應(yīng)處理 2執(zhí)行中斷子程序3)中斷返回IPLIPHCSLCSHFLAGLFLAGHSPIPLIPHCSLCSHFLAGLFLAGHSPIPCSFLAG進入中斷服務(wù)程序時中斷返回后PPT執(zhí)行執(zhí)行IRET指令:指令: 。從堆棧頂彈出斷點送IP、CS寄存器SP+4送SP 從堆棧頂彈出現(xiàn)場送F標志寄存器SP+2送SP 根據(jù)根據(jù)IP、CS的值返回原來

16、的程序。的值返回原來的程序。 回顧小結(jié)回顧小結(jié)1 1、中斷處理包括哪幾個階段?、中斷處理包括哪幾個階段?2 2、請求階段涉及那幾個硬件?、請求階段涉及那幾個硬件? 中斷請求觸發(fā)器:用來保存中斷請求信號中斷請求觸發(fā)器:用來保存中斷請求信號 中斷屏蔽觸發(fā)器:管理多個中斷源,讓誰的中斷掛到中斷屏蔽觸發(fā)器:管理多個中斷源,讓誰的中斷掛到CPUCPU的的INTAINTA引腳上)引腳上) 中斷允許觸發(fā)器:常說的中斷允許觸發(fā)器:常說的IFIF標志。標志。3 3、可屏蔽中斷的響應(yīng)有幾步、可屏蔽中斷的響應(yīng)有幾步 讀類型碼讀類型碼 保持保持IFIF 關(guān)中斷關(guān)中斷 斷點保護斷點保護 調(diào)用中斷服務(wù)程序入口地址調(diào)用中斷

17、服務(wù)程序入口地址 執(zhí)行子程序執(zhí)行子程序4 4、返回階段執(zhí)行什么操作?、返回階段執(zhí)行什么操作?5 5、怎么通過中斷類型碼找到入口地址、怎么通過中斷類型碼找到入口地址如何將中斷服務(wù)程序的入口地址放入中斷向量表中斷向量表是內(nèi)存當中的一個部分 用來存放中斷向量;表存放的位置是段地址為0000H,偏移地址從0000H-03FH這么一片區(qū)域。共1024個單元,每個中斷向量占4個單元,總共可放256個中斷向量。怎么存放呢?每個中斷向量占4個單元而且按中斷類型碼的順序來放,形成一個地址表,叫中斷向量表。 這樣如果中斷類型碼是0,那么中斷向量放在0000開始的4個單元,如果類型碼是1,就放在0004開始的單元,

18、類推下去,類型碼為N,則放在4*N開始的4個單元中斷向量表中斷向量表中斷向量號(表)的規(guī)定中斷向量號(表)的規(guī)定000H004H008H00CH014H080H3FFHIP偏移地址CS段基地址IP偏移地址CS段基地址IP偏移地址CS段基地址中斷類型碼0(除法錯)中斷類型碼1(單步中斷)中斷類型碼2(NMI中斷)中斷類型碼3(斷點中斷)中斷類型碼4(溢出中斷) 中斷類型碼5(保留)系統(tǒng)保留中斷用戶自定義中斷某些外設(shè)的中斷類型碼由程序員給定范圍是某些外設(shè)的中斷類型碼由程序員給定范圍是32-255中斷類型號0-4是專用中斷, 中斷類型號5-31系統(tǒng)保留的中斷類型號32-255是用戶可以 使用的。如果

19、自己編寫某個中 斷源對應(yīng)的中斷服務(wù)程序,那 么中斷源的編號只 能從32- 255之間選。 入口地址放入中斷向量表程序o例:某個中斷源,程序員將其中斷類型碼設(shè)置為N,并編寫一個名字為int48h中斷子程序,最后要編寫程序?qū)⒃撝袛嗵幚碜映绦虻娜肟诘刂贩湃胂蛄勘?。只需把子程序只需把子程序INT48H的的IP和和CS放到放到地址表地址表-中斷向量表中去就可以了。中斷向量表中去就可以了。如何將中斷服務(wù)程序的入口地址放入中斷向量表中斷向量表的初始化程序中斷向量表的初始化程序 CLI CLI MOV AX MOV AX,0 0 MOV DS MOV DS,AXAX;將;將DSDS內(nèi)容設(shè)為內(nèi)容設(shè)為0-0-0

20、0段段 MOV SI MOV SI,48H48H* *4 4 MOV AXMOV AX,OFFSET int48hOFFSET int48h;中斷程序的偏移地址放到;中斷程序的偏移地址放到 MOV SI MOV SI,AXAX MOV AXMOV AX,SEG int48hSEG int48h MOV SI+2 MOV SI+2,AXAX STISTIIP0LIP0HCS1LCS0LCS0HIP1LIP1HCS1HIP2LIP2HCS2LCS2H000H003H004H4NH000H3FFHSISI+中斷類型號中斷向量表中斷向量的區(qū)別和聯(lián)系q 中斷類型號中斷類型號-中斷源的編號 q 中斷向量中斷向量-中斷源要求CPU執(zhí)行一個中斷服務(wù)程序(子程序)中斷服務(wù)程序的首地址(起始地址) q 中斷向量表中斷向量表-存放中斷服務(wù)程序首地

溫馨提示

  • 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

提交評論