微機(jī)原理第八章:中斷技術(shù)_第1頁(yè)
微機(jī)原理第八章:中斷技術(shù)_第2頁(yè)
微機(jī)原理第八章:中斷技術(shù)_第3頁(yè)
微機(jī)原理第八章:中斷技術(shù)_第4頁(yè)
微機(jī)原理第八章:中斷技術(shù)_第5頁(yè)
已閱讀5頁(yè),還剩26頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、第八章:中斷技術(shù) 中斷的基本概念 外部中斷響應(yīng)的一般過(guò)程 8086/8088中斷系統(tǒng) 中斷向量表及其初始化81 中斷的基本概念一、中斷 CPU 執(zhí)行程序時(shí),某種隨機(jī)的事件(外部或內(nèi)部)的產(chǎn)生 使 CPU 暫時(shí)中斷正在運(yùn)行的程序,轉(zhuǎn)去執(zhí)行一段特殊的、 為處理該事件的服務(wù)程序(稱(chēng)為中斷服務(wù)程序),用于該 事件的處理。 該服務(wù)程序執(zhí)行完畢后,返回被中斷的程序繼續(xù)執(zhí)行。 這個(gè)過(guò)程稱(chēng)為:中斷 中斷的過(guò)程具有隨機(jī)性81 中斷的基本概念隨機(jī)發(fā)生已安排在程序中執(zhí)行主程序繼續(xù)主程序執(zhí)行中斷服務(wù)程序CALL執(zhí)行過(guò)程服務(wù)程序中斷的過(guò)程過(guò)程調(diào)用的過(guò)程執(zhí)行主程序繼續(xù)主程序81 中斷的基本概念 中斷是計(jì)算機(jī)中一種重要的技

2、術(shù)。最初是為了克服對(duì)I/O接口采用 查詢(xún)方式使 CPU效率低而產(chǎn)生的。因此,最初的中斷都是對(duì)外部 設(shè)備而言,所以稱(chēng)為:外部中斷或硬件中斷。 中斷技術(shù)的使用,主要解決兩個(gè)問(wèn)題 1高速 CPU 和低速 I / O 設(shè)備之間信息傳送 2使 CPU 具有了一種實(shí)時(shí)響應(yīng)和處理隨機(jī)事件的能力 中斷的建立,避免了CPU 不斷檢測(cè)外設(shè)狀態(tài)的過(guò)程,提高了 CPU 的利用率和數(shù)據(jù)傳輸率,實(shí)現(xiàn)對(duì)特殊事件的實(shí)時(shí)響應(yīng)。 隨計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)的不斷提升、應(yīng)用技術(shù)的提高,中斷應(yīng)用范圍 也隨之?dāng)U大,出現(xiàn)了內(nèi)部中斷,簡(jiǎn)稱(chēng):軟中斷。 軟中斷為解決計(jì)算機(jī)運(yùn)行中現(xiàn)的突發(fā)事件及操作系統(tǒng)功能利用提供 了方便。從而形成了一個(gè)完整的中斷系統(tǒng)。8

3、1 中斷的基本概念二、中斷源引起CPU中斷的事件,發(fā)出中斷請(qǐng)求的來(lái)源內(nèi)部中斷外部中斷異常中斷軟件中斷可屏蔽中斷非屏蔽中斷異常事件引起中斷指令引起INTR中斷NMI中斷81 中斷的基本概念三、中斷響應(yīng)(外部中斷) 當(dāng)外設(shè)向CPU發(fā)出中斷請(qǐng)求信號(hào)后,如果CPU暫停了正在執(zhí)行的 程序,接收外設(shè)的中斷請(qǐng)求,并轉(zhuǎn)去執(zhí)行為外設(shè)服務(wù)的程序。對(duì) 這樣的過(guò)程稱(chēng)為:中斷響應(yīng) 中斷響應(yīng)的條件 1IF 1 即:CPU允許中斷。如果 IF 0 ,稱(chēng)為:關(guān)中斷 2必須有外設(shè)提出中斷請(qǐng)求,即CPU的INTR上得到輸入信號(hào)四、中斷服務(wù)程序 CPU響應(yīng)中斷后,轉(zhuǎn)去執(zhí)行為處理中斷請(qǐng)求服務(wù)的程序,該程序 被稱(chēng)為中斷服務(wù)程序。簡(jiǎn)稱(chēng):

4、中服。 中服程序是程序設(shè)計(jì)人員根據(jù)產(chǎn)生中斷的原因而專(zhuān)門(mén)編制的程序。五、中斷的優(yōu)先級(jí)別 多個(gè)外設(shè)同時(shí)向CPU提出中斷請(qǐng)求時(shí),CPU面臨解決的問(wèn)題?81 中斷的基本概念六、中斷嵌套: CPU在執(zhí)行為低級(jí)別外設(shè)的中斷程序的過(guò)程中,響應(yīng)高級(jí)別外設(shè) 的中斷請(qǐng)求,暫停了對(duì)低級(jí)別外設(shè)的中斷服務(wù)而轉(zhuǎn)去為更高級(jí)別 外設(shè)進(jìn)行中斷服務(wù)的過(guò)程。稱(chēng)為:中斷嵌套A學(xué)生提問(wèn)B學(xué)生提問(wèn)允許打斷允許打斷為A解釋為B解釋教師講課繼續(xù)講課繼續(xù)解釋81 中斷的基本概念七、中斷的分類(lèi): 按轉(zhuǎn)向中斷服務(wù)程序的方法來(lái)分類(lèi) 1查詢(xún)中斷方式: 中斷源不提供中斷服務(wù)程序的入口地址。 CPU響應(yīng)中斷后,通過(guò) 對(duì)外設(shè)進(jìn)行的識(shí)別,用軟件跳轉(zhuǎn)到相應(yīng)的中

5、斷服務(wù)程序去執(zhí)行。 2向量中斷方式: 中斷源提供外設(shè)的中斷類(lèi)型號(hào),CPU根據(jù)外設(shè)提供的中斷類(lèi)型號(hào), 根據(jù)中斷類(lèi)型號(hào)從中斷向量表中 查找并獲得中斷服務(wù)程序的入口 地址,從而轉(zhuǎn)移去執(zhí)行相應(yīng)的中斷服務(wù)程序。中斷向量 中斷向量表8外部中斷響應(yīng)的一般過(guò)程1中斷請(qǐng)求2中斷判優(yōu)及中斷源識(shí)別3中斷響應(yīng)4中斷處理(服務(wù))5中斷返回8外部中斷響應(yīng)的一般過(guò)程一、中斷請(qǐng)求 中斷請(qǐng)求信號(hào)應(yīng)保持到中斷被接受為止 CPU響應(yīng)中斷后,中斷請(qǐng)求信號(hào)應(yīng)及時(shí)撤銷(xiāo)NMIINTR取一條指令執(zhí)行指令中斷響應(yīng)關(guān)中斷保存斷點(diǎn)轉(zhuǎn)中斷服務(wù)程序IRET指令結(jié)束?中斷請(qǐng)求?NN關(guān)中斷開(kāi)中斷執(zhí)行中斷服務(wù)程序關(guān)中斷開(kāi)中斷保存斷點(diǎn),保存現(xiàn)場(chǎng)恢復(fù)現(xiàn)場(chǎng),恢復(fù)

6、斷點(diǎn)返回?cái)帱c(diǎn)判別中斷源轉(zhuǎn)入中斷服務(wù)程序中斷響應(yīng)及中斷處理過(guò)程8外部中斷響應(yīng)的一般過(guò)程二、中斷源識(shí)別及中斷判優(yōu)1中斷源識(shí)別 軟件查詢(xún)法: 中斷矢量法:中斷源提供中斷類(lèi)型號(hào),CPU根據(jù)類(lèi)型確定中斷源2中斷判優(yōu) 對(duì)同時(shí)產(chǎn)生的中斷,首先處理優(yōu)先級(jí)別較高的中斷; 若優(yōu)先級(jí)別相同,則按先來(lái)先服務(wù)的原則。 對(duì)非同時(shí)產(chǎn)生的中斷: 低優(yōu)先級(jí)的中斷程序允許被高優(yōu)先級(jí)的中斷源所中斷中斷嵌套8外部中斷響應(yīng)的一般過(guò)程3中斷優(yōu)先權(quán)管理 軟件確定中斷優(yōu)先權(quán)(用于查詢(xún)中斷) 順序查詢(xún)中斷請(qǐng)求,先查詢(xún)的先服務(wù),即先查詢(xún)的優(yōu)先級(jí)別高。軟件查詢(xún)中斷的接口電路軟件查詢(xún)程序流程圖外設(shè)ABCDCFGH中斷請(qǐng)求CPUINTRD7D0I/O

7、端口端口地址80H保護(hù)現(xiàn)場(chǎng)恢復(fù)現(xiàn)場(chǎng)外設(shè)A中斷服務(wù)程序外設(shè)B中斷服務(wù)程序外設(shè)C中斷服務(wù)程序A 申請(qǐng)B 申請(qǐng)C 申請(qǐng)YYY8外部中斷響應(yīng)的一般過(guò)程3中斷優(yōu)先權(quán)管理 硬件確定中斷優(yōu)先權(quán),適用于向量中斷。 如:中斷控制器 8259A 芯片8259A的結(jié)構(gòu)圖控制電路讀/寫(xiě)控制電路優(yōu)先權(quán)判別器PR中斷服務(wù)寄存器ISR中斷請(qǐng)求寄存器IRR數(shù)據(jù)總線緩沖器級(jí)聯(lián)緩沖/比較器中斷屏蔽寄存器IMR8外部中斷響應(yīng)的一般過(guò)程8086 CPU 向量中斷的中斷響應(yīng)周期時(shí)序外設(shè)送入8外部中斷響應(yīng)的一般過(guò)程三、中斷響應(yīng) 向中斷源發(fā)出INTA中斷響應(yīng)信號(hào) CPU自動(dòng)關(guān)中斷 CPU自動(dòng)保護(hù)斷點(diǎn):將 FR、 CS、IP 壓棧 獲得 中

8、斷服務(wù)程序入口地址固定入口法中斷向量法8外部中斷響應(yīng)的一般過(guò)程四、中斷處理(中斷服務(wù)程序)1中斷服務(wù)子程序的特點(diǎn): 為“遠(yuǎn)過(guò)程”,用 IRET 指令返回2中斷服務(wù)程序完成的工作 1)保護(hù)現(xiàn)場(chǎng)(通用寄存器的內(nèi)容) 2)開(kāi)中斷(STI) 3)中斷處理 4)關(guān)中斷(CLI) 5)恢復(fù)現(xiàn)場(chǎng) 6)IRET執(zhí)行IRET執(zhí)行中斷服務(wù)程序關(guān)中斷開(kāi)中斷恢復(fù)有關(guān)寄存器內(nèi)容保護(hù)有關(guān)寄存器內(nèi)容中斷服務(wù)程序結(jié)構(gòu)8外部中斷響應(yīng)的一般過(guò)程五、中斷返回執(zhí)行 IRET 指令,使斷點(diǎn)的 IP、CS 和 FR 從棧中彈出執(zhí)行 IRET,退出中斷,自動(dòng)執(zhí)行 1)關(guān)中斷 2)恢復(fù)斷點(diǎn) 3)恢復(fù)現(xiàn)場(chǎng) 4)開(kāi)中斷外部中斷響應(yīng)的一般過(guò)程 小

9、結(jié)1中斷請(qǐng)求2中斷響應(yīng) 關(guān)中斷(自動(dòng)執(zhí)行) 保護(hù)斷點(diǎn) 保護(hù)現(xiàn)場(chǎng) 形成中斷服務(wù)程序的入口地址3中斷服務(wù)程序 保護(hù)通用寄存器的內(nèi)容 開(kāi)中斷 STI 中斷處理 執(zhí)行 IRET 指令4退出中斷 關(guān)中斷 恢復(fù)現(xiàn)場(chǎng) 恢復(fù)斷點(diǎn) 開(kāi)中斷關(guān)中斷關(guān)中斷執(zhí)行中斷服務(wù)程序IRET保護(hù)寄存器、開(kāi)中斷保存斷點(diǎn),保存現(xiàn)場(chǎng)恢復(fù)現(xiàn)場(chǎng),恢復(fù)斷點(diǎn)開(kāi)中斷判別中斷源轉(zhuǎn)入中斷服務(wù)程序中斷響應(yīng)中斷服務(wù)退出中斷83 8086/8088 的中斷系統(tǒng)一、中斷源分類(lèi) 256 個(gè)中斷源內(nèi)部中斷除法錯(cuò)中斷溢出中斷單步中斷軟件中斷非屏蔽中斷可屏蔽中斷外部中斷83 8086/8088 的中斷系統(tǒng)INT 4INTAINT 2INT 0INT 1INT 3I

10、NT NINTRCPU內(nèi)部軟件中斷CPU內(nèi)部軟件陷阱可屏蔽中斷NMI83 8086/8088 的中斷系統(tǒng)二、軟中斷指令1INT n ;軟中斷指令2IRET ;中斷退出指令NMIINTR中斷邏輯軟中斷指令溢出中斷除法錯(cuò)單步中斷非屏蔽中斷請(qǐng)求中斷控制器8259A8086/8088CPU內(nèi)部邏輯斷點(diǎn)中斷可屏蔽中斷請(qǐng)求n4301284 中斷向量表及其初始化一、中斷向量和中斷向量表1中斷向量 中斷服務(wù)程序程序的入口地址,32位二進(jìn)制數(shù) 由程序所在內(nèi)存中段的段基址和段內(nèi)偏移地址組成2中斷向量表 存放各類(lèi)中斷的中斷服務(wù)程序入口地址的“ 表格 ” 入口地址占用 4 個(gè)字節(jié),低字為偏移地址,高字為段基址 表的地

11、址位于內(nèi)存的00000H003FFH,大小為1KB; 共256個(gè)入口地址二、中斷向量表84 中斷向量表及其初始化 三、中斷向量指針和中斷類(lèi)型號(hào) 為便于在向量表中查找中斷向量, 設(shè)置一種指針,由它指出中斷向量 在中斷向量表中的位置,即: 中斷向量的地址59EC00F0004CHIPHIPLCSHCSL向量指針中斷向量 將這種指針?lè)Q為:中斷向量指針; 是由中斷類(lèi)型號(hào)乘于 4 得到 例軟驅(qū)的的中斷為:INT 13H 中斷向量指針為:13H4004CH 由指針在向量表中得到中斷向量為: 0 F 0 0 0H CS 0 EC 5 9H IP四、中斷向量裝入中斷向量表(外部中斷類(lèi)型號(hào)為 60H67H) 用

12、戶將自定義的中服程序入口地址放入向量表,該過(guò)程為 中斷向量表的初始化 可采用以下方法將用戶自定義的中服程序入口地址裝入向量表 1用 串存儲(chǔ)指令將中斷向量寫(xiě)入中斷向量表 2用 MOV將直接中斷向量寫(xiě)入中斷向量表中 3采用DOS功能調(diào)用“INT21H”中的AH25H來(lái)裝入中斷向量 例 :中斷類(lèi)型號(hào)為 60H 中斷服務(wù)程序的段基址:SEG_INTR 中斷服務(wù)程序偏移地址:OFFSET_INTR (006DH)1用 串存儲(chǔ)指令將中斷向量寫(xiě)入中斷向量表 ;填寫(xiě)中斷向量表的程序段為 CLI ;關(guān)中斷 CLD ;置串傳送方向 MOV AX,0 MOV ES,AX ;擴(kuò)展段設(shè)置在內(nèi)存最高端 MOV DI,46

13、0H ;中斷向量指針?biāo)虳I MOV AX,OFFSET_INTR ;中斷服務(wù)程序偏移地址送AX STOSW ;串存儲(chǔ)(字) ;AXESDI、 DI1 MOV AX,SEG_INTR ;中斷服務(wù)程序段基址送AX STOSW ;串存儲(chǔ)(字) STI ;開(kāi)中斷2用 MOV將直接中斷向量寫(xiě)入中斷向量表中 ;將中斷向量直接寫(xiě)入中斷向量表中的程序段為 MOV AX,00H MOV ES,AX MOV BX,60H4 ;中斷號(hào)乘4向量指針,送BX MOV AX,006DH ;中斷服務(wù)程序偏移地址送AX MOV ESBX,AX ;裝入偏移地址 PUSH CS POP AX ;中斷服務(wù)程序段基址送AX MOV ES BX2,AX ;裝入段基

溫馨提示

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

評(píng)論

0/150

提交評(píng)論