第八章:中斷.ppt_第1頁
第八章:中斷.ppt_第2頁
第八章:中斷.ppt_第3頁
第八章:中斷.ppt_第4頁
第八章:中斷.ppt_第5頁
已閱讀5頁,還剩29頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、第 8 章,第8章:教學(xué)重點(diǎn),教學(xué)重點(diǎn) 8088 CPU的中斷系統(tǒng) 中斷控制器8259A的作用,第8章:8.1 8088中斷系統(tǒng)概述,8088的中斷系統(tǒng)采用向量中斷機(jī)制 能夠處理256個(gè)中斷 用中斷向量號(hào)0 255區(qū)別 可屏蔽中斷還需要借助專用中斷控制器Intel 8259A實(shí)現(xiàn)優(yōu)先權(quán)管理,第8章: 8088的中斷類型,內(nèi)部中斷 除法錯(cuò)中斷 指令中斷 溢出中斷 單步中斷 外部中斷 非屏蔽中斷 可屏蔽中斷,第8章:1. 內(nèi)部中斷,內(nèi)部中斷是由于8088內(nèi)部執(zhí)行程序出現(xiàn)異常引起的程序中斷 利用內(nèi)部中斷,微處理器為用戶提供了發(fā)現(xiàn)、調(diào)試并解決程序執(zhí)行時(shí)異常情況的有效途徑 例如,ROM-BIOS和DOS

2、系統(tǒng)利用內(nèi)部中斷為程序員提供了各種功能調(diào)用,第8章: 除法錯(cuò)中斷,在執(zhí)行除法指令時(shí),若除數(shù)為0或商超過了寄存器所能表達(dá)的范圍,則產(chǎn)生一個(gè)向量號(hào)為0的內(nèi)部中斷,稱為除法錯(cuò)中斷 例如:,mov bl,0 idiv bl;除數(shù)BL0,產(chǎn)生除法錯(cuò)中斷,mov ax,200h mov bl,1 div bl;商200H,不能用AL表達(dá) ;產(chǎn)生除法錯(cuò)中斷,第8章: 指令中斷,在執(zhí)行中斷調(diào)用指令I(lǐng)NT n時(shí)產(chǎn)生的一個(gè)向量號(hào)為n(0 255)的內(nèi)部中斷,稱為指令中斷 其中向量號(hào)為3的指令中斷比較特別(生成一個(gè)字節(jié)的指令代碼:11001100),常用于程序調(diào)試,被稱為斷點(diǎn)中斷,第8章: 溢出中斷,在執(zhí)行溢出中斷

3、指令I(lǐng)NTO時(shí),若溢出標(biāo)志OF為1,則產(chǎn)生一個(gè)向量號(hào)為4的內(nèi)部中斷,被稱為溢出中斷 例如:,mov ax,2000h add ax, 7000h ;2000H7000H9000H,溢出:OF1 into;因?yàn)镺F1,所以產(chǎn)生溢出中斷,第8章: 單步中斷,若單步中斷TF為1,則在每條指令執(zhí)行結(jié)束后產(chǎn)生一個(gè)向量號(hào)為1的內(nèi)部中斷,稱為單步中斷,第8章:2. 外部中斷,外部中斷是由于8088外部提出中斷請(qǐng)求引起的程序中斷 利用外部中斷,微機(jī)系統(tǒng)可以實(shí)時(shí)響應(yīng)外部設(shè)備的數(shù)據(jù)傳送請(qǐng)求,能夠及時(shí)處理外部意外或緊急事件 外部中斷的原因是處理器外部隨機(jī)產(chǎn)生的,所以是真正的中斷(Interrupt) 內(nèi)部中斷的原因

4、是處理器執(zhí)行程序出現(xiàn)異常,所以經(jīng)常被稱為異常(Exception),第8章: 非屏蔽中斷,通過非屏蔽中斷請(qǐng)求信號(hào)向微處理器提出的中斷請(qǐng)求,微處理器無法禁止,將在當(dāng)前指令執(zhí)行結(jié)束予以響應(yīng),這個(gè)中斷被稱為非屏蔽中斷 8088的非屏蔽中斷的向量號(hào)為2,非屏蔽中斷請(qǐng)求信號(hào)為NMI 非屏蔽中斷主要用于處理系統(tǒng)的意外或故障。例如: 電源調(diào)電前的數(shù)據(jù)保護(hù) 存儲(chǔ)器讀寫錯(cuò)誤的處理,第8章: 可屏蔽中斷,外部通過可屏蔽中斷請(qǐng)求信號(hào)向微處理器提出的中斷,微處理器在允許可屏蔽中斷的條件下,在當(dāng)前指令執(zhí)行結(jié)束予以響應(yīng),同時(shí)輸出可屏蔽中斷響應(yīng)信號(hào),這個(gè)中斷就是可屏蔽中斷 8088的可屏蔽中斷請(qǐng)求和響應(yīng)信號(hào)分別是INTR和

5、INTA*;由IF標(biāo)志控制可屏蔽中斷是否允許響應(yīng);向量號(hào)來自外部中斷控制器 8088通常需要配合中斷控制器8259A共同處理可屏蔽中斷 可屏蔽中斷主要用于主機(jī)與外設(shè)交換數(shù)據(jù),第8章:中斷標(biāo)志IF的狀態(tài),IF0:可屏蔽中斷不會(huì)被響應(yīng) 關(guān)中斷、禁止中斷、中斷屏蔽 系統(tǒng)復(fù)位,使IF0 任何一個(gè)中斷被響應(yīng),使IF0 執(zhí)行指令CLI,使IF0 IF1:可屏蔽中斷會(huì)被響應(yīng) 開中斷、允許中斷、中斷開放 執(zhí)行指令STI,使IF1 執(zhí)行指令I(lǐng)RET恢復(fù)原IF狀態(tài),明 確 IF 標(biāo) 志 的 狀 態(tài) 是 關(guān) 鍵,第8章:8.2 8088的中斷響應(yīng)條件與過程,第8章:8.2.1 8088的中斷響應(yīng)過程(續(xù)),8088

6、各種中斷源的優(yōu)先權(quán), 實(shí)際上是指被識(shí)別出來的先后 多種中斷同時(shí)請(qǐng)求時(shí), 最先響應(yīng)的則可能是 單步中斷或NMI中斷,第8章:8.2.2 8088的中斷向量表,中斷向量:中斷服務(wù)程序的入口地址(首地址) 邏輯地址含有段地址CS和偏移地址IP(32位) 每個(gè)中斷向量的低字是偏移地址、高字是段地址,需占用4個(gè)字節(jié) 8088微處理器從物理地址000H開始,依次安排各個(gè)中斷向量,向量號(hào)也從0開始 256個(gè)中斷占用1KB區(qū)域,就形成中斷向量表,向量號(hào)為N的中斷向量的物理地址N4,第8章:8.2.3 內(nèi)部中斷服務(wù)程序,編寫內(nèi)部中斷服務(wù)程序與編寫子程序類似 利用過程定義偽指令PROC/ENDP 第1條指令通常為

7、開中斷指令STI 最后用中斷返回指令I(lǐng)RET 通常采用寄存器傳遞參數(shù) 主程序需要調(diào)用中斷服務(wù)程序 調(diào)用前,需要設(shè)置中斷向量 設(shè)置必要的入口參數(shù) 利用INT n指令調(diào)用中斷服務(wù)程序 處理出口參數(shù),第8章:8.3 中斷優(yōu)先權(quán),1.用軟件確定中斷優(yōu)先權(quán) 采用查詢技術(shù)。當(dāng)CPU響應(yīng)中斷后,就用軟件查詢以確定哪些外設(shè)申請(qǐng)中斷,并判斷它們的優(yōu)先權(quán)。,軟件查詢接口電路,程序流程圖,程序,屏蔽法 IN AL,20H TEST AL,80H JNE PEF AL 40H JNE DISS TEST AL,20H JNE MT ,移位法 XOR AL,AL IN AL,20H RCL AL,1 JC PWF RC

8、L AL,1 JC DISS ,查詢法的優(yōu)點(diǎn): 1.詢問的次序,即是優(yōu)先權(quán)的次序。顯然,最先詢問的,優(yōu)先權(quán)的級(jí)別最高; 2.省硬件。不需要有判斷與確定優(yōu)先權(quán)的硬件排隊(duì)電路。 查詢法的缺點(diǎn): 由詢問轉(zhuǎn)至相應(yīng)的服務(wù)程序的入口的時(shí)間長,尤其是在中斷源較多的情況下。,查詢法的優(yōu)缺點(diǎn),2.硬件優(yōu)先權(quán)排隊(duì)電路,中斷優(yōu)先權(quán)編碼電路 鏈?zhǔn)絻?yōu)先權(quán)排隊(duì)電路,中斷優(yōu)先權(quán)編碼電路,注意:,1.若AB”端輸出低電平,封鎖與門1,就不向CPU發(fā)出新的中斷請(qǐng)求,即:當(dāng)CPU正在處理中斷時(shí),當(dāng)有同組或低組的中斷源申請(qǐng)中斷時(shí),優(yōu)先權(quán)排隊(duì)線路就屏蔽它們的請(qǐng)求; 2.當(dāng)AB時(shí),比較器輸出端才為高電平,打開與門1,將中斷請(qǐng)求信號(hào)送至

9、CPU的INTR輸入端,CPU就中斷正在進(jìn)行的中斷處理程序,轉(zhuǎn)去響應(yīng)更高級(jí)的中斷。,鏈?zhǔn)絻?yōu)先權(quán)排隊(duì)電路,注意:,在鏈?zhǔn)絻?yōu)先權(quán)排隊(duì)電路中,若上級(jí)的輸出信號(hào)為“0”,則屏蔽了本級(jí)和所有的低級(jí)中斷;若上級(jí)輸出為“1”,在本級(jí)有中斷請(qǐng)求時(shí),轉(zhuǎn)去執(zhí)行本級(jí)的中斷程序,且使本級(jí)輸至下級(jí)的輸出為“0”,屏蔽所有低級(jí)中斷;若本級(jí)沒有中斷請(qǐng)求,則輸至下級(jí)的為“1”,允許下一級(jí)中斷。故在鏈?zhǔn)诫娐分?,排在鏈的最前面的?yōu)先權(quán)最高。,第8章:8.4 8259A中斷控制器,Intel 8259A是可編程中斷控制器PIC 用于管理Intel 8080/8085、8086/8088、80286/80386的可屏蔽中斷 8259

10、A的基本功能 一片8259A可以管理8級(jí)中斷,可擴(kuò)展至64級(jí) 每一級(jí)中斷都可單獨(dú)被屏蔽或允許 在中斷響應(yīng)周期,可提供相應(yīng)的中斷向量號(hào) 8259A設(shè)計(jì)有多種工作方式,可通過編程選擇,第8章: 8259A的內(nèi)部結(jié)構(gòu),第8章:8259A的內(nèi)部寄存器,中斷請(qǐng)求寄存器IRR 保存8條外界中斷請(qǐng)求信號(hào)IR0IR7的請(qǐng)求狀態(tài) Di位為1表示IRi引腳有中斷請(qǐng)求;為0表示無請(qǐng)求 中斷服務(wù)寄存器ISR 保存正在被8259A服務(wù)著的中斷狀態(tài) Di位為1表示IRi中斷正在服務(wù)中;為0表示沒有被服務(wù) 中斷屏蔽寄存器IMR 保存對(duì)中斷請(qǐng)求信號(hào)IR的屏蔽狀態(tài) Di位為1表示IRi中斷被屏蔽(禁止);為0表示允許 優(yōu)先權(quán)判別電路 判別IRR中各中斷請(qǐng)求的優(yōu)先權(quán),并在中斷響應(yīng)周期送至ISR,第8章:8259A的引線,D7D0:數(shù)據(jù)線,雙向三

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論