版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(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ū)別可屏蔽中斷還需要借助專(zhuān)用中斷控制器Intel 8259A實(shí)現(xiàn)優(yōu)先權(quán)管理,第8章: 8088的中斷類(lèi)型,內(nèi)部中斷除法錯(cuò)中斷指令中斷溢出中斷單步中斷外部中斷非屏蔽中斷可屏蔽中斷,第8章:1. 內(nèi)部中斷,
2、內(nèi)部中斷是由于8088內(nèi)部執(zhí)行程序出現(xiàn)異常引起的程序中斷利用內(nèi)部中斷,微處理器為用戶提供了發(fā)現(xiàn)、調(diào)試并解決程序執(zhí)行時(shí)異常情況的有效途徑例如,ROM-BIOS和DOS系統(tǒng)利用內(nèi)部中斷為程序員提供了各種功能調(diào)用,第8章:⑴ 除法錯(cuò)中斷,在執(zhí)行除法指令時(shí),若除數(shù)為0或商超過(guò)了寄存器所能表達(dá)的范圍,則產(chǎn)生一個(gè)向量號(hào)為0的內(nèi)部中斷,稱(chēng)為除法錯(cuò)中斷例如:,mov bl,0idiv bl;除數(shù)BL=0,產(chǎn)生除法錯(cuò)中斷,mov ax,200h
3、mov bl,1div 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)部中斷,稱(chēng)為指令中斷其中向量號(hào)為3的指令中斷比較特別(生成一個(gè)字節(jié)的指令代碼:11001100),常用于程序調(diào)試,被稱(chēng)為斷點(diǎn)中斷,第8章:⑶ 溢出中斷,在執(zhí)行溢出中斷指令I(lǐng)NTO時(shí),若溢出標(biāo)志OF為1,則產(chǎn)生一個(gè)向量號(hào)為4的內(nèi)部中斷,被稱(chēng)為溢出中斷例如:,
4、mov ax,2000hadd ax, 7000h;2000H+7000H=9000H,溢出:OF=1into;因?yàn)镺F=1,所以產(chǎn)生溢出中斷,第8章:⑷ 單步中斷,若單步中斷TF為1,則在每條指令執(zhí)行結(jié)束后產(chǎn)生一個(gè)向量號(hào)為1的內(nèi)部中斷,稱(chēng)為單步中斷,第8章:2. 外部中斷,外部中斷是由于8088外部提出中斷請(qǐng)求引起的程序中斷利用外部中斷,微機(jī)系統(tǒng)可以實(shí)時(shí)響應(yīng)外部設(shè)備的數(shù)據(jù)傳送請(qǐng)求,能夠及時(shí)處理外部意外或緊急事件外部中斷的
5、原因是處理器外部隨機(jī)產(chǎn)生的,所以是真正的中斷(Interrupt)內(nèi)部中斷的原因是處理器執(zhí)行程序出現(xiàn)異常,所以經(jīng)常被稱(chēng)為異常(Exception),第8章:⑴ 非屏蔽中斷,通過(guò)非屏蔽中斷請(qǐng)求信號(hào)向微處理器提出的中斷請(qǐng)求,微處理器無(wú)法禁止,將在當(dāng)前指令執(zhí)行結(jié)束予以響應(yīng),這個(gè)中斷被稱(chēng)為非屏蔽中斷8088的非屏蔽中斷的向量號(hào)為2,非屏蔽中斷請(qǐng)求信號(hào)為NMI非屏蔽中斷主要用于處理系統(tǒng)的意外或故障。例如:電源調(diào)電前的數(shù)據(jù)保護(hù)存儲(chǔ)器讀寫(xiě)錯(cuò)
6、誤的處理,第8章:⑵ 可屏蔽中斷,外部通過(guò)可屏蔽中斷請(qǐng)求信號(hào)向微處理器提出的中斷,微處理器在允許可屏蔽中斷的條件下,在當(dāng)前指令執(zhí)行結(jié)束予以響應(yīng),同時(shí)輸出可屏蔽中斷響應(yīng)信號(hào),這個(gè)中斷就是可屏蔽中斷8088的可屏蔽中斷請(qǐng)求和響應(yīng)信號(hào)分別是INTR和INTA*;由IF標(biāo)志控制可屏蔽中斷是否允許響應(yīng);向量號(hào)來(lái)自外部中斷控制器8088通常需要配合中斷控制器8259A共同處理可屏蔽中斷可屏蔽中斷主要用于主機(jī)與外設(shè)交換數(shù)據(jù),第8章:中斷標(biāo)志IF
7、的狀態(tài),IF=0:可屏蔽中斷不會(huì)被響應(yīng)關(guān)中斷、禁止中斷、中斷屏蔽系統(tǒng)復(fù)位,使IF=0任何一個(gè)中斷被響應(yīng),使IF=0執(zhí)行指令CLI,使IF=0IF=1:可屏蔽中斷會(huì)被響應(yīng)開(kāi)中斷、允許中斷、中斷開(kāi)放執(zhí)行指令STI,使IF=1執(zhí)行指令I(lǐng)RET恢復(fù)原IF狀態(tài),明確IF標(biāo)志的狀態(tài)是關(guān)鍵,第8章:8.2 8088的中斷響應(yīng)條件與過(guò)程,第8章:8.2.1 8088的中斷響應(yīng)過(guò)程(續(xù)),8088各種中斷源的優(yōu)先權(quán),
8、實(shí)際上是指被識(shí)別出來(lái)的先后多種中斷同時(shí)請(qǐng)求時(shí),最先響應(yīng)的則可能是單步中斷或NMI中斷,第8章:8.2.2 8088的中斷向量表,中斷向量:中斷服務(wù)程序的入口地址(首地址)邏輯地址含有段地址CS和偏移地址IP(32位)每個(gè)中斷向量的低字是偏移地址、高字是段地址,需占用4個(gè)字節(jié)8088微處理器從物理地址000H開(kāi)始,依次安排各個(gè)中斷向量,向量號(hào)也從0開(kāi)始256個(gè)中斷占用1KB區(qū)域,就形成中斷向量表,向量號(hào)為N的中斷向量的物
9、理地址=N×4,第8章:8.2.3 內(nèi)部中斷服務(wù)程序,編寫(xiě)內(nèi)部中斷服務(wù)程序與編寫(xiě)子程序類(lèi)似利用過(guò)程定義偽指令PROC/ENDP第1條指令通常為開(kāi)中斷指令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) 采用查詢(xún)技
10、術(shù)。當(dāng)CPU響應(yīng)中斷后,就用軟件查詢(xún)以確定哪些外設(shè)申請(qǐng)中斷,并判斷它們的優(yōu)先權(quán)。,軟件查詢(xún)接口電路,程序流程圖,程序,屏蔽法IN AL,[20H]TEST AL,80HJNE PEFAL 40HJNE DISSTEST AL,20HJNE MT……,移位法XOR AL,ALIN AL,[20H]RCL
11、 AL,1JC PWFRCL AL,1JC DISS……,查詢(xún)法的優(yōu)點(diǎn): 1.詢(xún)問(wèn)的次序,即是優(yōu)先權(quán)的次序。顯然,最先詢(xún)問(wèn)的,優(yōu)先權(quán)的級(jí)別最高; 2.省硬件。不需要有判斷與確定優(yōu)先權(quán)的硬件排隊(duì)電路。查詢(xún)法的缺點(diǎn): 由詢(xún)問(wèn)轉(zhuǎn)至相應(yīng)的服務(wù)程序的入口的時(shí)間長(zhǎng),尤其是在中斷源較多的情況下。,查詢(xún)法的優(yōu)缺點(diǎn),2.硬件
12、優(yōu)先權(quán)排隊(duì)電路,中斷優(yōu)先權(quán)編碼電路鏈?zhǔn)絻?yōu)先權(quán)排隊(duì)電路,中斷優(yōu)先權(quán)編碼電路,注意:,1.若AB”端輸出低電平,封鎖與門(mén)1,就不向CPU發(fā)出新的中斷請(qǐng)求,即:當(dāng)CPU正在處理中斷時(shí),當(dāng)有同組或低組的中斷源申請(qǐng)中斷時(shí),優(yōu)先權(quán)排隊(duì)線路就屏蔽它們的請(qǐng)求;2.當(dāng)A>B時(shí),比較器輸出端才為高電平,打開(kāi)與門(mén)1,將中斷請(qǐng)求信號(hào)送至CPU的INTR輸入端,CPU就中斷正在進(jìn)行的中斷處理程序,轉(zhuǎn)去響應(yīng)更高級(jí)的中斷。,鏈?zhǔn)絻?yōu)先權(quán)排隊(duì)電路,注意:,在鏈
13、式優(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í)沒(méi)有中斷請(qǐng)求,則輸至下級(jí)的為“1”,允許下一級(jí)中斷。故在鏈?zhǔn)诫娐分?,排在鏈的最前面的?yōu)先權(quán)最高。,第8章:8.4 8259A中斷控制器,Intel 8259A是可編程中斷控制器PIC用于管理Intel 8080/8085、8086/808
14、8、80286/80386的可屏蔽中斷8259A的基本功能一片8259A可以管理8級(jí)中斷,可擴(kuò)展至64級(jí)每一級(jí)中斷都可單獨(dú)被屏蔽或允許在中斷響應(yīng)周期,可提供相應(yīng)的中斷向量號(hào)8259A設(shè)計(jì)有多種工作方式,可通過(guò)編程選擇,第8章: 8259A的內(nèi)部結(jié)構(gòu),第8章:8259A的內(nèi)部寄存器,中斷請(qǐng)求寄存器IRR保存8條外界中斷請(qǐng)求信號(hào)IR0~I(xiàn)R7的請(qǐng)求狀態(tài)Di位為1表示IRi引腳有中斷請(qǐng)求;為0表示無(wú)請(qǐng)求中斷服務(wù)寄存器ISR保
15、存正在被8259A服務(wù)著的中斷狀態(tài)Di位為1表示IRi中斷正在服務(wù)中;為0表示沒(méi)有被服務(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的引線,D7~D0:數(shù)據(jù)線,雙向三態(tài)IR7~IR0:中斷請(qǐng)求輸入線RD*:讀引線WR*:寫(xiě)引線CS*:片選A0:8259A內(nèi)部寄存器選
溫馨提示
- 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ù)僅提供信息存儲(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)論