jlmao-微機(jī)原理-ch7-中斷系統(tǒng)-part11_第1頁
jlmao-微機(jī)原理-ch7-中斷系統(tǒng)-part11_第2頁
jlmao-微機(jī)原理-ch7-中斷系統(tǒng)-part11_第3頁
jlmao-微機(jī)原理-ch7-中斷系統(tǒng)-part11_第4頁
jlmao-微機(jī)原理-ch7-中斷系統(tǒng)-part11_第5頁
已閱讀5頁,還剩26頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

微型計算機(jī)原理與接口技術(shù)

—第七章中斷系統(tǒng)-part1

2005-04-261KunmingUniversityofScience&TechnologyOutline7.1中斷概念7.2中斷處理過程7.3中斷優(yōu)先級和中斷嵌套7.4可編程中斷控制器8259A

2005-04-262KunmingUniversityofScience&Technology7.1中斷概念2005-04-263KunmingUniversityofScience&Technology一、中斷概念1、中斷:當(dāng)CPU正常執(zhí)行程序時,由于微處理器內(nèi)部事件或外設(shè)請求,引起CPU中斷正在運(yùn)行的程序,轉(zhuǎn)去執(zhí)行請求中斷的外設(shè)(或內(nèi)部事件)的中斷服務(wù)子程序,中斷服務(wù)程序執(zhí)行完畢,再返回被中止的程序,稱中斷。2、中斷源:引起程序中斷的事件,稱為中斷源。3、中斷響應(yīng):CPU在每條指令的最后一個T周期去檢測INTR引腳,若有中斷請求,則在IF=1的條件下,響應(yīng)中斷,向外設(shè)發(fā)出INTA中斷響應(yīng)信號,并保護(hù)斷點(diǎn)(當(dāng)前CS、IP和FLAG值入棧),繼而轉(zhuǎn)去執(zhí)行中斷服務(wù)子程序,中斷服務(wù)程序執(zhí)行完畢,返回原程序被中斷處繼續(xù)執(zhí)行。2005-04-264KunmingUniversityofScience&Technology4、中斷向量表:中斷服務(wù)程序入口地址表。用于引導(dǎo)程序進(jìn)入中斷服務(wù)子程序。5、中斷優(yōu)先級:多個中斷源請求中斷時,CPU響應(yīng)優(yōu)先級高的中斷,掛起優(yōu)先級低的中斷。6、中斷屏蔽:當(dāng)中斷源申請中斷時,CPU可以由軟件設(shè)置,使之不能響應(yīng),稱為中斷屏蔽。2005-04-265KunmingUniversityofScience&Technology二、中斷分類8086有256種不同的中斷。其分類如下:外部中斷:也稱為硬件中斷由外部設(shè)備或協(xié)處理器向CPU發(fā)出的中斷請求。內(nèi)部中斷:又稱為軟件中斷由中斷指令或CPU運(yùn)算中產(chǎn)生的某些錯誤(如除數(shù)為0,運(yùn)算溢出等)引起,或由調(diào)試程序DEBUG設(shè)置的中斷2005-04-266KunmingUniversityofScience&Technology4#0#1#INTn指令I(lǐng)NTO指令除法出錯單步(TF=1)非屏蔽中斷中斷邏輯INTR8259A2#NMI可屏蔽中斷n#內(nèi)部中斷8086/8088中斷源2005-04-267KunmingUniversityofScience&Technology1、外部中斷(硬中斷)不可屏蔽中斷由CPU的引腳NMI引入,上升沿觸發(fā)CPU必須響應(yīng),不受IF的限制。CPU在指令周期的最后一的T狀態(tài)采樣NMI線,若有中斷請求,則響應(yīng)。緊急事件2號類型中斷可屏蔽中斷由CPU的引腳INTR引入,向CPU請求中斷電平觸發(fā),高電平有效,必須保持,直至CPU響應(yīng)中斷。CPU可根據(jù)情況選擇響應(yīng)或不響應(yīng),受IF的制約,用STI、CLI指令設(shè)置。2005-04-268KunmingUniversityofScience&Technology2、內(nèi)部中斷(軟中斷)中斷指令引起中斷:INTn運(yùn)算錯誤引起中斷除法錯中斷(類型0):除數(shù)為0或商超過了寄存器所能表達(dá)的范圍。溢出中斷(類型4):專用指令I(lǐng)NTO,若運(yùn)算中,OF=1,則可由該指令產(chǎn)生中斷。DEBUG調(diào)試程序設(shè)置的中斷單步中斷(類型1) TF=1時,CPU自動產(chǎn)生單步中斷。斷點(diǎn)中斷(類型3) INT3 或DEBUG中G命令設(shè)置斷點(diǎn)。 注意:這三種軟件中斷都是不可屏蔽中斷。2005-04-269KunmingUniversityofScience&Technology7.2可屏蔽中斷處理過程2005-04-2610KunmingUniversityofScience&Technology一、CPU響應(yīng)可屏蔽中斷過程1、CPU響應(yīng)可屏蔽中斷中斷的條件:外設(shè)提出中斷申請。本中斷位未被屏蔽(接口電路中的中斷屏蔽觸發(fā)器決定)。本中斷的優(yōu)先級最高。CPU中斷允許(由標(biāo)志位IF決定)。2005-04-2611KunmingUniversityofScience&Technology2、可屏蔽中斷過程:中斷請求中斷響應(yīng)保護(hù)現(xiàn)場轉(zhuǎn)入執(zhí)行中斷服務(wù)子程序恢復(fù)現(xiàn)場和中斷返回。由CPU自動完成。2005-04-2612KunmingUniversityofScience&Technology3、中斷響應(yīng)過程:CPU響應(yīng)中斷后,對中斷接口電路發(fā)出兩個中斷響應(yīng)信號INTA,中斷接口電路收到第二個INTA后,通過數(shù)據(jù)線向CPU送中斷類型號。CPU自動完成如下工作:CPU從數(shù)據(jù)總線上讀取中斷類型號Flags進(jìn)棧。標(biāo)志IF清0(關(guān)中斷,屏蔽其它外部中斷請求),標(biāo)志TF清0(關(guān)單步中斷,以避免CPU以單步方式執(zhí)行中斷處理子程序)。保護(hù)斷點(diǎn):當(dāng)前CS及IP進(jìn)棧。根據(jù)中斷類型號,查中斷向量表,轉(zhuǎn)中斷服務(wù)子程序2005-04-2613KunmingUniversityofScience&Technology中斷處理程序結(jié)束后,從堆棧依次彈出IP,CS,Flags,返回斷點(diǎn)處繼續(xù)執(zhí)行原來的程序。以上過程中除了中斷服務(wù)子程序需用戶編程實(shí)現(xiàn)外,其它部分均由CPU的中斷機(jī)制自動完成。2005-04-2614KunmingUniversityofScience&Technology響應(yīng)過程說明通常CPU在當(dāng)前指令結(jié)束后響應(yīng)中斷,但有些指令結(jié)束后還要執(zhí)行下一條指令后才能響應(yīng)如:LOCK指令(封鎖總線,不讓其它處理器使用總線) 對段寄存器的MOV或POP指令

STI及IRET

對不可屏蔽中斷即使IF=0,由NMI引腳進(jìn)入的中斷請求,CPU也照??身憫?yīng)。軟件中斷不受IF標(biāo)志的影響2005-04-2615KunmingUniversityofScience&Technology二、中斷向量表中斷向量表在PC系列微機(jī)中:0000:0000~0000:03FF256個中斷入口地址每個中斷入口地址包括段地址和段內(nèi)位移量,即CS:IP,共占4個字節(jié)2005-04-2616KunmingUniversityofScience&Technology中斷類型NN×4→→IPN×4+2→→CS2005-04-2617KunmingUniversityofScience&Technology中斷類型的獲得IntN固定的中斷I/O提供的類型號中斷向量的設(shè)置AH=25HAL=中斷類型號DS:DX=中斷服務(wù)子程序入口地址2005-04-2618KunmingUniversityofScience&Technology中斷向量的訪問通過INT21H的設(shè)置AH=25HAL=中斷類型、DS:DX子程序入口地址通過INT21H獲取向量AH=35HAL=中斷類型、ES:BX獲得的入口地址程序直接訪問向量表0段0地址開始的1KB區(qū)域2005-04-2619KunmingUniversityofScience&Technology中斷向量的讀取入口: AH=35H AL=中斷類型號出口: ES:BX=中斷服務(wù)子程序入口地址中斷類型號的獲取內(nèi)部中斷: 除法錯 0# 固定

單步或陷阱 1#

斷點(diǎn)(INT3) 3#

溢出(INTO) 4# 外部中斷: NMI 2#

INTR

由中斷接口芯片提供中斷類型號中斷指令: INTn n即為中斷類型號2005-04-2620KunmingUniversityofScience&Technology三、中斷服務(wù)子程序中斷服務(wù)子程序的結(jié)構(gòu)說明:保護(hù)中斷時的現(xiàn)場。用PUSH指令。若允許中斷嵌套,用STI開中斷。執(zhí)行中斷處理程序。用CLI指令關(guān)中斷,禁止其它中斷請求進(jìn)入。EOI中斷結(jié)束命令,使當(dāng)前正處理的中斷請求標(biāo)志位被清除,否則同級或低級中斷的請求仍會被屏蔽?;謴?fù)現(xiàn)場。用POP指令。用STI開中斷,允許其它中斷進(jìn)入。IRET返回主程序。2005-04-2621KunmingUniversityofScience&Technology四、中斷響應(yīng)的時序CPU發(fā)INTACPU發(fā)第二個INTA8259A送出中斷類型號CPU把中斷類型號x4查中斷向量表,轉(zhuǎn)中斷服務(wù)子程序注意:此處強(qiáng)調(diào)中斷時硬件動作的時間配合。2005-04-2622KunmingUniversityofScience&TechnologyP291圖8-68086/8088中斷響應(yīng)總線周期的時序第1個INTA周期CLKT1T2T3T4T1T2T3T4第2個INTA周期ALELOCKINTA中斷類型號D7~D0①②2005-04-2623KunmingUniversityofScience&Technology7.3中斷優(yōu)先級和中斷嵌套2005-04-2624KunmingUniversityofScience&Technology一、中斷優(yōu)先級中斷優(yōu)先級

內(nèi)部中斷(包括INTn) 高

NMI INTR

單步中斷(TF=1) 低 軟件查詢中斷源 查詢的次序即為中斷源的優(yōu)先級矢量中斷8259A多中斷源時要考慮中斷優(yōu)先級及中斷嵌套問題2005-04-2625KunmingUniversityofScience&Technology二、對可屏蔽中斷的優(yōu)先級設(shè)定方法優(yōu)先級設(shè)定有三種方法:軟件查詢中斷方式根據(jù)軟件查詢程序的次序,決定外設(shè)優(yōu)先級別的高低。硬件查詢優(yōu)先方式——菊花鏈法矢量中斷優(yōu)先級:采用中斷優(yōu)先級控制器來設(shè)置優(yōu)先級。通常在矢量中斷中,IR0的優(yōu)先級最高,IR7最低。(8259A)2005-04-2626KunmingUniversityofScience&Technology軟件查詢——依優(yōu)先次序查詢2005-04-2627KunmingUniversityofScience&Technology硬件方式——如:菊花鏈2005-04-2628KunmingUniversityofScience&Technology向量中斷控制器——如:8259中斷控制器2005-04-2629KunmingUniversityofScience&Technology三、中斷嵌套

[說明]:a.主程序必須有開中斷指令STI,

溫馨提示

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

評論

0/150

提交評論