版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第第8 8章章 中斷系統(tǒng)中斷系統(tǒng)為何計(jì)算機(jī)中要引入中斷?為何計(jì)算機(jī)中要引入中斷?n提高數(shù)據(jù)傳輸率;提高數(shù)據(jù)傳輸率;l避免避免CPU不斷檢測(cè)外設(shè)狀態(tài),提高不斷檢測(cè)外設(shè)狀態(tài),提高CPU的的利用率。利用率。l實(shí)現(xiàn)對(duì)特殊事件的實(shí)時(shí)響應(yīng)。實(shí)現(xiàn)對(duì)特殊事件的實(shí)時(shí)響應(yīng)。n什么是中斷什么是中斷? ?n與生活場(chǎng)景的比較與生活場(chǎng)景的比較正在看書正在看書電話鈴響電話鈴響接電話接電話繼續(xù)看書繼續(xù)看書事件發(fā)生事件發(fā)生事件處理事件處理繼續(xù)執(zhí)行程序繼續(xù)執(zhí)行程序?qū)嶋H場(chǎng)景實(shí)際場(chǎng)景執(zhí)行程序執(zhí)行程序計(jì)算機(jī)計(jì)算機(jī) 中斷請(qǐng)求及響應(yīng)中斷請(qǐng)求及響應(yīng) 中斷處理中斷處理中斷返回中斷返回8.1. 8.1. 中斷的基本概念中斷的基本概念中斷服務(wù)程序
2、中斷服務(wù)程序發(fā)申請(qǐng)發(fā)申請(qǐng)中斷服務(wù)程序中斷服務(wù)程序發(fā)發(fā) 申申 請(qǐng)請(qǐng)外外設(shè)設(shè)外設(shè)準(zhǔn)備數(shù)據(jù),外設(shè)準(zhǔn)備數(shù)據(jù),CPUCPU執(zhí)行程序執(zhí)行程序, ,此時(shí),此時(shí),CPUCPU與外設(shè)并行工作;與外設(shè)并行工作; 外設(shè)準(zhǔn)備就緒,向外設(shè)準(zhǔn)備就緒,向CPUCPU發(fā)中斷發(fā)中斷申請(qǐng),申請(qǐng),CPUCPU暫停原程序執(zhí)行,響暫停原程序執(zhí)行,響應(yīng)中斷,進(jìn)行數(shù)據(jù)傳輸。此時(shí),應(yīng)中斷,進(jìn)行數(shù)據(jù)傳輸。此時(shí),CPUCPU與外設(shè)是串行工作。與外設(shè)是串行工作。中斷傳送方式中斷傳送方式1.中斷的定義中斷的定義斷點(diǎn)斷點(diǎn)主程序主程序中斷服務(wù)程序中斷服務(wù)程序中斷請(qǐng)求中斷請(qǐng)求 對(duì)外設(shè)對(duì)外設(shè)進(jìn)行處理進(jìn)行處理返回?cái)帱c(diǎn)返回?cái)帱c(diǎn)CPUCPU在執(zhí)行程序在執(zhí)行程序中
3、,被內(nèi)部或外中,被內(nèi)部或外部的事件所打斷,部的事件所打斷,轉(zhuǎn)去執(zhí)行一段預(yù)轉(zhuǎn)去執(zhí)行一段預(yù)先安排好的中斷先安排好的中斷服務(wù)程序;服務(wù)服務(wù)程序;服務(wù)結(jié)束后,又返回結(jié)束后,又返回原來的斷點(diǎn),繼原來的斷點(diǎn),繼續(xù)執(zhí)行原來的程續(xù)執(zhí)行原來的程序序. .1000:150H 主程序主程序 、 、 、MOV AX, 0ADD AX, DXMOV DI , AX、CPU在執(zhí)行此指令時(shí),在執(zhí)行此指令時(shí),某中斷源發(fā)申請(qǐng)中斷某中斷源發(fā)申請(qǐng)中斷;CPU在執(zhí)行完該指令后在執(zhí)行完該指令后,轉(zhuǎn)去執(zhí)行中斷子程轉(zhuǎn)去執(zhí)行中斷子程.斷點(diǎn)概念斷點(diǎn)概念: :PUSH AX 、 、 IRET斷點(diǎn)斷點(diǎn)中斷服務(wù)程序中斷服務(wù)程序中斷源中斷源n引起引起
4、CPU中斷的事件中斷的事件中斷源。中斷源。n外設(shè)外設(shè)請(qǐng)求輸入輸出數(shù)據(jù),報(bào)告故障等請(qǐng)求輸入輸出數(shù)據(jù),報(bào)告故障等n事件事件掉電、硬件故障、軟件錯(cuò)誤、非法操作、定時(shí)到掉電、硬件故障、軟件錯(cuò)誤、非法操作、定時(shí)到l中斷源分為:外部中斷、內(nèi)部中斷中斷源分為:外部中斷、內(nèi)部中斷l(xiāng)內(nèi)部中斷:內(nèi)部中斷:CPU內(nèi)部執(zhí)行程序時(shí)自身產(chǎn)生的中斷內(nèi)部執(zhí)行程序時(shí)自身產(chǎn)生的中斷l(xiāng)外部中斷:外部中斷:CPU以外的設(shè)備、部件產(chǎn)生的中斷以外的設(shè)備、部件產(chǎn)生的中斷l(xiāng)8086/8088的外部中斷信號(hào):的外部中斷信號(hào):INTR、NMIlINTR可屏蔽中斷請(qǐng)求,高電平有效,受可屏蔽中斷請(qǐng)求,高電平有效,受IF標(biāo)志的控制。標(biāo)志的控制。IF=
5、1時(shí),執(zhí)行完當(dāng)前指令后時(shí),執(zhí)行完當(dāng)前指令后CPU對(duì)它作出響應(yīng)。對(duì)它作出響應(yīng)。 lNMI非屏蔽中斷請(qǐng)求,上升沿有效,任何時(shí)候非屏蔽中斷請(qǐng)求,上升沿有效,任何時(shí)候CPU都要都要響應(yīng)此中斷請(qǐng)求信號(hào)。響應(yīng)此中斷請(qǐng)求信號(hào)。8086的引腳圖的引腳圖12345678910111213141516171819204039383736353433323130292827262524232221 GND AD14 AD13 AD12 AD11 AD10 AD9 AD8 AD7 AD6 AD5 AD4 AD3 AD2 AD1 AD0 NMI INTR CLK GNDVCCAD15A16 / S3A17 / S4A1
6、8 / S5A19 / S6SS0* (HIGH)MN / MX*RD*HOLD (RQ*/ GT0*)HLDA (RQ1* /GT1*)WR* (LOCK*)M* / IO ( S2* )DT / R* ( S1* )DEN* ( S0* )ALE (QS0)INTA* (QS1)TEST*READYRESET80863. 中斷請(qǐng)求和響應(yīng)引腳中斷請(qǐng)求和響應(yīng)引腳INTR(Interrupt Request) n可屏蔽中斷請(qǐng)求可屏蔽中斷請(qǐng)求,輸入、高電平有效,輸入、高電平有效n有效時(shí),表示請(qǐng)求設(shè)備向有效時(shí),表示請(qǐng)求設(shè)備向CPU申請(qǐng)可屏申請(qǐng)可屏蔽中斷蔽中斷n該請(qǐng)求的優(yōu)先級(jí)別較低,并可通過關(guān)中該請(qǐng)求
7、的優(yōu)先級(jí)別較低,并可通過關(guān)中斷指令斷指令CLI清除標(biāo)志寄存器中的清除標(biāo)志寄存器中的IF標(biāo)志、標(biāo)志、從而對(duì)中斷請(qǐng)求進(jìn)行屏蔽從而對(duì)中斷請(qǐng)求進(jìn)行屏蔽3. 中斷請(qǐng)求和響應(yīng)引腳中斷請(qǐng)求和響應(yīng)引腳(續(xù)(續(xù)1)INTA*(Interrupt Acknowledge) n可屏蔽中斷響應(yīng)可屏蔽中斷響應(yīng),輸出、低電平有效,輸出、低電平有效n有效時(shí),表示來自有效時(shí),表示來自INTR引腳的中斷請(qǐng)求引腳的中斷請(qǐng)求已被已被CPU響應(yīng),響應(yīng),CPU進(jìn)入中斷響應(yīng)周期進(jìn)入中斷響應(yīng)周期n中斷響應(yīng)周期是連續(xù)的兩個(gè),每個(gè)都發(fā)中斷響應(yīng)周期是連續(xù)的兩個(gè),每個(gè)都發(fā)出有效響應(yīng)信號(hào),以便通知外設(shè)他們的出有效響應(yīng)信號(hào),以便通知外設(shè)他們的中斷請(qǐng)求
8、已被響應(yīng)、并令有關(guān)設(shè)備將中中斷請(qǐng)求已被響應(yīng)、并令有關(guān)設(shè)備將中斷向量號(hào)送到數(shù)據(jù)總線斷向量號(hào)送到數(shù)據(jù)總線 3. 中斷請(qǐng)求和響應(yīng)引腳中斷請(qǐng)求和響應(yīng)引腳(續(xù)(續(xù)2)NMI(Non-Maskable Interrupt) n不可屏蔽中斷請(qǐng)求不可屏蔽中斷請(qǐng)求,輸入、上升沿有效,輸入、上升沿有效n有效時(shí),表示外界向有效時(shí),表示外界向CPU申請(qǐng)不可屏蔽申請(qǐng)不可屏蔽中斷中斷n該請(qǐng)求的優(yōu)先級(jí)別高于該請(qǐng)求的優(yōu)先級(jí)別高于INTR,并且不能,并且不能在在CPU內(nèi)被屏蔽內(nèi)被屏蔽n當(dāng)系統(tǒng)發(fā)生緊急情況時(shí),可通過他向當(dāng)系統(tǒng)發(fā)生緊急情況時(shí),可通過他向CPU申請(qǐng)不可屏蔽中斷服務(wù)申請(qǐng)不可屏蔽中斷服務(wù)主機(jī)與外設(shè)進(jìn)行數(shù)據(jù)交換通常采用可屏
9、蔽中斷主機(jī)與外設(shè)進(jìn)行數(shù)據(jù)交換通常采用可屏蔽中斷不可屏蔽中斷通常用于處理掉電等系統(tǒng)故障不可屏蔽中斷通常用于處理掉電等系統(tǒng)故障2. 中斷傳送方式的特點(diǎn)中斷傳送方式的特點(diǎn)n效率更高的程序傳送方式效率更高的程序傳送方式l中斷服務(wù)程序是預(yù)先設(shè)計(jì)好的中斷服務(wù)程序是預(yù)先設(shè)計(jì)好的l中斷請(qǐng)求是隨機(jī)的中斷請(qǐng)求是隨機(jī)的lCPU對(duì)請(qǐng)求的檢測(cè)是有規(guī)律的:一般是在對(duì)請(qǐng)求的檢測(cè)是有規(guī)律的:一般是在每條指令的最后一個(gè)時(shí)鐘周期采樣中斷請(qǐng)每條指令的最后一個(gè)時(shí)鐘周期采樣中斷請(qǐng)求輸入引腳求輸入引腳3. 中斷處理過程中斷處理過程n五個(gè)步驟:五個(gè)步驟:n中斷請(qǐng)求中斷請(qǐng)求n中斷排隊(duì)中斷排隊(duì)n中斷響應(yīng)中斷響應(yīng)n中斷服務(wù)中斷服務(wù)n中斷返回中斷
10、返回中斷服務(wù)是進(jìn)行數(shù)據(jù)中斷服務(wù)是進(jìn)行數(shù)據(jù)交換的實(shí)質(zhì)性環(huán)節(jié)交換的實(shí)質(zhì)性環(huán)節(jié)中斷請(qǐng)求中斷請(qǐng)求中斷排隊(duì)中斷排隊(duì)中斷響應(yīng)中斷響應(yīng)中斷服務(wù)中斷服務(wù)中斷返回中斷返回1)中斷請(qǐng)求)中斷請(qǐng)求n外設(shè)接口(中斷源)發(fā)出中斷請(qǐng)求信號(hào),送到外設(shè)接口(中斷源)發(fā)出中斷請(qǐng)求信號(hào),送到CPU的的INTR或或NMI引腳;引腳;n中斷請(qǐng)求信號(hào)的類型:邊沿請(qǐng)求,電平請(qǐng)求中斷請(qǐng)求信號(hào)的類型:邊沿請(qǐng)求,電平請(qǐng)求例如,例如,NMI為邊沿請(qǐng)求,為邊沿請(qǐng)求,INTR為電平請(qǐng)求為電平請(qǐng)求l中斷請(qǐng)求信號(hào)應(yīng)保持到中斷被處理為止;中斷請(qǐng)求信號(hào)應(yīng)保持到中斷被處理為止;lCPU響應(yīng)中斷后,中斷請(qǐng)求信號(hào)應(yīng)及時(shí)撤銷。響應(yīng)中斷后,中斷請(qǐng)求信號(hào)應(yīng)及時(shí)撤銷。系
11、統(tǒng)中有多個(gè)中斷源,當(dāng)兩個(gè)以上中斷源同時(shí)系統(tǒng)中有多個(gè)中斷源,當(dāng)兩個(gè)以上中斷源同時(shí)向向CPUCPU發(fā)出中斷請(qǐng)求信號(hào),則發(fā)出中斷請(qǐng)求信號(hào),則CPUCPU必須先響應(yīng)重必須先響應(yīng)重要的、緊急的中斷,即優(yōu)先權(quán)高的中斷源,這要的、緊急的中斷,即優(yōu)先權(quán)高的中斷源,這就是中斷排隊(duì)。就是中斷排隊(duì)。2)中斷排隊(duì))中斷排隊(duì)把從接到中斷請(qǐng)求到中斷處理之前,這一段把從接到中斷請(qǐng)求到中斷處理之前,這一段時(shí)間稱為中斷響應(yīng)階段或中斷響應(yīng)過程。時(shí)間稱為中斷響應(yīng)階段或中斷響應(yīng)過程。中斷響應(yīng)是指中斷響應(yīng)是指CPUCPU在確定中斷源后,響應(yīng)時(shí)自在確定中斷源后,響應(yīng)時(shí)自動(dòng)完成的操作。動(dòng)完成的操作。3)中斷響應(yīng))中斷響應(yīng)n中斷響應(yīng)是指中斷
12、響應(yīng)是指CPU在確定中斷源后,響應(yīng)在確定中斷源后,響應(yīng)時(shí)自動(dòng)完成的操作,時(shí)自動(dòng)完成的操作, CPU中斷響應(yīng)時(shí),要中斷響應(yīng)時(shí),要做以下工作:做以下工作:3)中斷響應(yīng))中斷響應(yīng)l斷點(diǎn)保護(hù):斷點(diǎn)保護(hù):CS、IP和和PSWl獲得中斷服務(wù)程序入口地址,轉(zhuǎn)入中斷獲得中斷服務(wù)程序入口地址,轉(zhuǎn)入中斷服務(wù)程序。服務(wù)程序。l關(guān)中斷關(guān)中斷中斷標(biāo)志IF的狀態(tài)nIF0:可屏蔽中斷不會(huì)被響應(yīng):可屏蔽中斷不會(huì)被響應(yīng)n關(guān)中斷、禁止中斷、中斷屏蔽關(guān)中斷、禁止中斷、中斷屏蔽n系統(tǒng)復(fù)位,使系統(tǒng)復(fù)位,使IF0n任何一個(gè)中斷被響應(yīng),使任何一個(gè)中斷被響應(yīng),使IF0n執(zhí)行指令執(zhí)行指令CLI,使,使IF0lIF1:可屏蔽中斷會(huì)被響應(yīng):可屏蔽
13、中斷會(huì)被響應(yīng)l開中斷、允許中斷、中斷開放開中斷、允許中斷、中斷開放l執(zhí)行指令執(zhí)行指令STI,使,使IF1l執(zhí)行中斷返回指令執(zhí)行中斷返回指令I(lǐng)RET恢復(fù)原恢復(fù)原IF狀態(tài)狀態(tài)n中斷服務(wù)子程序要做的工作中斷服務(wù)子程序要做的工作n保護(hù)現(xiàn)場(chǎng)保護(hù)現(xiàn)場(chǎng)(PUSH regs) n開中斷開中斷(STI) 允許中斷嵌套允許中斷嵌套n進(jìn)行中斷處理進(jìn)行中斷處理 n關(guān)中斷關(guān)中斷(CLI)n恢復(fù)現(xiàn)場(chǎng)恢復(fù)現(xiàn)場(chǎng)(POP regs) 4)中斷處理(中斷服務(wù))中斷處理(中斷服務(wù))CPUCPU響應(yīng)中斷以后,就會(huì)中止當(dāng)前的程序,轉(zhuǎn)去執(zhí)行一個(gè)響應(yīng)中斷以后,就會(huì)中止當(dāng)前的程序,轉(zhuǎn)去執(zhí)行一個(gè)中斷服務(wù)子程序中斷服務(wù)子程序,以完成為相應(yīng)的服務(wù)
14、。,以完成為相應(yīng)的服務(wù)。l中斷服務(wù)子程序特點(diǎn)中斷服務(wù)子程序特點(diǎn)l為為”遠(yuǎn)遠(yuǎn)”過程(類型為過程(類型為FAR)l要用要用IRET指令返回指令返回5)中斷返回)中斷返回n執(zhí)行中斷返回指令執(zhí)行中斷返回指令I(lǐng)RETnIRET指令將使指令將使CPU把堆棧內(nèi)保存的斷點(diǎn)信息彈出到把堆棧內(nèi)保存的斷點(diǎn)信息彈出到IP、CS和和FLAG中,保證被中斷的程序從斷點(diǎn)處能夠繼續(xù)往下執(zhí)行。中,保證被中斷的程序從斷點(diǎn)處能夠繼續(xù)往下執(zhí)行。IPLIPHCSLCSHFLAGLFLAGHSPIPLIPHCSLCSHFLAGLFLAGHSPIPCSFLAG進(jìn)入中斷服進(jìn)入中斷服務(wù)程序時(shí)務(wù)程序時(shí)中斷返回后中斷返回后CPUCPU執(zhí)行中斷服務(wù)
15、程序結(jié)束時(shí),應(yīng)將在中斷響應(yīng)時(shí)保護(hù)的斷點(diǎn)恢復(fù),執(zhí)行中斷服務(wù)程序結(jié)束時(shí),應(yīng)將在中斷響應(yīng)時(shí)保護(hù)的斷點(diǎn)恢復(fù),回到被中斷的主程序,即中斷返回的操作?;氐奖恢袛嗟闹鞒绦颍粗袛喾祷氐牟僮?。4.中斷優(yōu)先級(jí)及中斷嵌套中斷優(yōu)先級(jí)及中斷嵌套n多個(gè)中斷源產(chǎn)生中斷,多個(gè)中斷源產(chǎn)生中斷,CPU首先為誰服務(wù)?首先為誰服務(wù)?中斷優(yōu)先級(jí)排隊(duì)問題。中斷優(yōu)先級(jí)排隊(duì)問題。l中斷優(yōu)先級(jí)控制要處理兩種情況:中斷優(yōu)先級(jí)控制要處理兩種情況:l對(duì)同時(shí)產(chǎn)生的中斷:應(yīng)首先處理對(duì)同時(shí)產(chǎn)生的中斷:應(yīng)首先處理優(yōu)先級(jí)別優(yōu)先級(jí)別較高的較高的中斷;若優(yōu)先級(jí)別相同,則按先來先服務(wù)的原則中斷;若優(yōu)先級(jí)別相同,則按先來先服務(wù)的原則處理;處理;l對(duì)非同時(shí)產(chǎn)生的中斷
16、:低優(yōu)先級(jí)別的中斷處理程對(duì)非同時(shí)產(chǎn)生的中斷:低優(yōu)先級(jí)別的中斷處理程序允許被高優(yōu)先級(jí)別的中斷源所中斷序允許被高優(yōu)先級(jí)別的中斷源所中斷即允許即允許中斷嵌套中斷嵌套。n中斷優(yōu)先級(jí)的控制方法中斷優(yōu)先級(jí)的控制方法4.中斷判優(yōu)(續(xù))中斷判優(yōu)(續(xù))可編程的中斷控制器可編程的中斷控制器 中斷優(yōu)先權(quán)中斷優(yōu)先權(quán)判別方法判別方法軟件查詢軟件查詢硬件排隊(duì)硬件排隊(duì)鏈?zhǔn)絻?yōu)先權(quán)排隊(duì)電路鏈?zhǔn)絻?yōu)先權(quán)排隊(duì)電路n通常將通常將中斷判優(yōu)中斷判優(yōu)與與中斷源識(shí)別中斷源識(shí)別合并處理。合并處理。nx86系統(tǒng)中,該任務(wù)由中斷控制器和CPU共同完成。用軟件查詢哪個(gè)中斷源有中斷用軟件查詢哪個(gè)中斷源有中斷請(qǐng)求,先查詢到的先響應(yīng)。即:請(qǐng)求,先查詢到的先
17、響應(yīng)。即:查詢次序確定各中斷優(yōu)先權(quán)次查詢次序確定各中斷優(yōu)先權(quán)次序序,先查詢的優(yōu)先權(quán)最高。,先查詢的優(yōu)先權(quán)最高。將所有的設(shè)備連成一條鏈,將所有的設(shè)備連成一條鏈,靠近靠近CPUCPU的設(shè)備優(yōu)先級(jí)最高,的設(shè)備優(yōu)先級(jí)最高,越遠(yuǎn)的設(shè)備優(yōu)先級(jí)別越低。越遠(yuǎn)的設(shè)備優(yōu)先級(jí)別越低。用硬件電路實(shí)現(xiàn)中用硬件電路實(shí)現(xiàn)中斷源的優(yōu)先級(jí)排隊(duì)。斷源的優(yōu)先級(jí)排隊(duì)。與與CPUCPU配合來管理和處理配合來管理和處理中斷優(yōu)先級(jí),對(duì)多個(gè)中斷中斷優(yōu)先級(jí),對(duì)多個(gè)中斷請(qǐng)求進(jìn)行優(yōu)先級(jí)判優(yōu)。請(qǐng)求進(jìn)行優(yōu)先級(jí)判優(yōu)。 8.2 80888.2 8088的中斷系統(tǒng)的中斷系統(tǒng)n8088的中斷系統(tǒng)采用向量中斷機(jī)制的中斷系統(tǒng)采用向量中斷機(jī)制n能夠處理能夠處理25
18、6個(gè)中斷,用中斷向量號(hào)個(gè)中斷,用中斷向量號(hào)0255區(qū)別區(qū)別n可屏蔽中斷還需要借助專用中斷控制器可屏蔽中斷還需要借助專用中斷控制器Intel 8259A實(shí)現(xiàn)優(yōu)先權(quán)管理實(shí)現(xiàn)優(yōu)先權(quán)管理n與中斷有關(guān)的控制線為:與中斷有關(guān)的控制線為:NMI、INTR、INTA*1.8086/80881.8086/8088的中斷類型的中斷類型NMIINTR中斷中斷邏輯邏輯軟件中斷指令軟件中斷指令溢出中斷溢出中斷除法錯(cuò)除法錯(cuò)單步中斷單步中斷非屏蔽中斷請(qǐng)求非屏蔽中斷請(qǐng)求中斷控中斷控制器制器8259APIC8086/8088CPU8086/8088CPU內(nèi)部邏輯內(nèi)部邏輯斷點(diǎn)中斷斷點(diǎn)中斷n43012可屏蔽中斷請(qǐng)求可屏蔽中斷請(qǐng)求外
19、部中斷外部中斷n是由于是由于8086外部提出中斷請(qǐng)求引起的外部提出中斷請(qǐng)求引起的l利用外部中斷,微機(jī)系統(tǒng)可以實(shí)時(shí)響應(yīng)外設(shè)利用外部中斷,微機(jī)系統(tǒng)可以實(shí)時(shí)響應(yīng)外設(shè)的數(shù)據(jù)傳送請(qǐng)求,及時(shí)處理外部意外或緊急的數(shù)據(jù)傳送請(qǐng)求,及時(shí)處理外部意外或緊急事件事件l外部中斷的原因是處理器外部外部中斷的原因是處理器外部隨機(jī)隨機(jī)產(chǎn)生的,產(chǎn)生的,所以是真正的中斷(所以是真正的中斷(Interrupt)l內(nèi)部中斷的原因是處理器執(zhí)行程序出現(xiàn)異常,內(nèi)部中斷的原因是處理器執(zhí)行程序出現(xiàn)異常,所以經(jīng)常被稱為異常(所以經(jīng)常被稱為異常(Exception)非屏蔽中斷非屏蔽中斷中斷類型碼中斷類型碼n n2 2可屏蔽中斷可屏蔽中斷中斷類型碼
20、中斷類型碼n n由申請(qǐng)中斷的中斷源提供由申請(qǐng)中斷的中斷源提供 非屏蔽中斷非屏蔽中斷NMIn通過非屏蔽中斷請(qǐng)求信號(hào)通過非屏蔽中斷請(qǐng)求信號(hào)NMI向微處理器向微處理器提出的中斷請(qǐng)求,微處理器無法禁止,將提出的中斷請(qǐng)求,微處理器無法禁止,將在當(dāng)前指令執(zhí)行結(jié)束予以響應(yīng),這個(gè)中斷在當(dāng)前指令執(zhí)行結(jié)束予以響應(yīng),這個(gè)中斷被稱為非屏蔽中斷被稱為非屏蔽中斷l(xiāng)8086的非屏蔽中斷的向量號(hào)為的非屏蔽中斷的向量號(hào)為2l非屏蔽中斷主要用于處理系統(tǒng)的意外或故非屏蔽中斷主要用于處理系統(tǒng)的意外或故障。例如:障。例如:l電源掉電前的數(shù)據(jù)保護(hù)電源掉電前的數(shù)據(jù)保護(hù)l存儲(chǔ)器讀寫錯(cuò)誤的處理存儲(chǔ)器讀寫錯(cuò)誤的處理 可屏蔽中斷n外部通過可屏蔽中
21、斷請(qǐng)求信號(hào)外部通過可屏蔽中斷請(qǐng)求信號(hào)INTR向微處向微處理器提出的中斷,微處理器在允許可屏蔽中理器提出的中斷,微處理器在允許可屏蔽中斷的條件下,在當(dāng)前指令執(zhí)行結(jié)束予以響應(yīng)斷的條件下,在當(dāng)前指令執(zhí)行結(jié)束予以響應(yīng)INTA* ,同時(shí)輸出可屏蔽中斷響應(yīng)信號(hào),這,同時(shí)輸出可屏蔽中斷響應(yīng)信號(hào),這個(gè)中斷就是可屏蔽中斷個(gè)中斷就是可屏蔽中斷IF 控制可屏蔽中斷的響應(yīng)控制可屏蔽中斷的響應(yīng)lIF1,允許中斷;,允許中斷;IF0,禁止中斷。,禁止中斷。l8086通常需要配合中斷控制器通常需要配合中斷控制器8259A共同處共同處理可屏蔽中斷理可屏蔽中斷l(xiāng)可屏蔽中斷主要用于主機(jī)與外設(shè)交換數(shù)據(jù)可屏蔽中斷主要用于主機(jī)與外設(shè)交
22、換數(shù)據(jù) 內(nèi)部中斷內(nèi)部中斷n8086內(nèi)部執(zhí)行程序出現(xiàn)異常引起的內(nèi)部執(zhí)行程序出現(xiàn)異常引起的n利用內(nèi)部中斷,微處理器為用戶提供了發(fā)現(xiàn)、利用內(nèi)部中斷,微處理器為用戶提供了發(fā)現(xiàn)、調(diào)試并解決程序執(zhí)行時(shí)異常情況的有效途徑調(diào)試并解決程序執(zhí)行時(shí)異常情況的有效途徑n例如,例如,ROM-BIOS和和DOS系統(tǒng)利用內(nèi)部中斷系統(tǒng)利用內(nèi)部中斷為程序員提供了各種功能調(diào)用為程序員提供了各種功能調(diào)用內(nèi)部中斷的中斷向量號(hào)已定內(nèi)部中斷的中斷向量號(hào)已定 除法錯(cuò)中斷除法錯(cuò)中斷n在執(zhí)行除法指令時(shí),若除數(shù)為在執(zhí)行除法指令時(shí),若除數(shù)為0或商超過了寄存或商超過了寄存器所能表達(dá)的范圍,則器所能表達(dá)的范圍,則CPU會(huì)會(huì)自動(dòng)產(chǎn)生自動(dòng)產(chǎn)生一個(gè)向一個(gè)向
23、量號(hào)為量號(hào)為0的內(nèi)部中斷,稱為除法錯(cuò)中斷的內(nèi)部中斷,稱為除法錯(cuò)中斷n0號(hào)中斷沒有對(duì)應(yīng)的中斷指令號(hào)中斷沒有對(duì)應(yīng)的中斷指令例如:例如:mov bl,0idiv bl;除數(shù);除數(shù)BL0,產(chǎn)生除法錯(cuò)中斷,產(chǎn)生除法錯(cuò)中斷mov ax,200hmov bl,1div bl;商;商200H,不能用,不能用AL表達(dá)表達(dá);產(chǎn)生除法錯(cuò)中斷;產(chǎn)生除法錯(cuò)中斷(2) 單步中斷單步中斷n若若TF1,則在每條指令執(zhí)行結(jié)束后產(chǎn),則在每條指令執(zhí)行結(jié)束后產(chǎn)生生1號(hào)內(nèi)部中斷,稱為單步中斷號(hào)內(nèi)部中斷,稱為單步中斷n類似類似0號(hào)(除法錯(cuò))中斷:不是由外部號(hào)(除法錯(cuò))中斷:不是由外部硬件或者軟件指令產(chǎn)生,是由硬件或者軟件指令產(chǎn)生,是由C
24、PU對(duì)標(biāo)對(duì)標(biāo)志位志位TF的測(cè)試而產(chǎn)生的。的測(cè)試而產(chǎn)生的。例如:例如:DEBUG.EXE調(diào)試程序的單步命令調(diào)試程序的單步命令T就利就利用單步中斷實(shí)現(xiàn)對(duì)程序的單步調(diào)試用單步中斷實(shí)現(xiàn)對(duì)程序的單步調(diào)試由由CPU對(duì)狀態(tài)標(biāo)志寄存器中的陷阱標(biāo)志對(duì)狀態(tài)標(biāo)志寄存器中的陷阱標(biāo)志TF的測(cè)試而產(chǎn)生的的測(cè)試而產(chǎn)生的1號(hào)中斷。號(hào)中斷。(3) 斷點(diǎn)中斷斷點(diǎn)中斷例如:例如:DEBUG.EXE調(diào)試程序的運(yùn)行命令調(diào)試程序的運(yùn)行命令G設(shè)置設(shè)置的斷點(diǎn),就是利用的斷點(diǎn),就是利用INT 3指令實(shí)現(xiàn)的指令實(shí)現(xiàn)的這是這是CPU執(zhí)行執(zhí)行INT指令而產(chǎn)生的指令而產(chǎn)生的3號(hào)中斷(生成號(hào)中斷(生成一個(gè)字節(jié)的指令代碼:一個(gè)字節(jié)的指令代碼:110011
25、00)。)。這也是這也是8086提供給用戶使用的一種調(diào)試程序手段。提供給用戶使用的一種調(diào)試程序手段。對(duì)較長(zhǎng)程序,通過設(shè)置斷點(diǎn)(插入對(duì)較長(zhǎng)程序,通過設(shè)置斷點(diǎn)(插入INT指令),使程指令),使程序運(yùn)行一段后進(jìn)入斷點(diǎn)中斷,檢查程序是否達(dá)到要序運(yùn)行一段后進(jìn)入斷點(diǎn)中斷,檢查程序是否達(dá)到要求。求。(4) 溢出中斷溢出中斷mov ax,2000hadd ax, 7000h;2000H7000H9000H,溢出:,溢出:OF1into;因?yàn)?;因?yàn)镺F1,所以產(chǎn)生溢出中斷,所以產(chǎn)生溢出中斷由于由于CPU本身不能判別當(dāng)前處理的數(shù)據(jù)是否帶本身不能判別當(dāng)前處理的數(shù)據(jù)是否帶符號(hào),因此,它提供了符號(hào),因此,它提供了INT
26、O指令給用戶。指令給用戶。在帶符號(hào)運(yùn)算后安排一條在帶符號(hào)運(yùn)算后安排一條INTO指令,當(dāng)運(yùn)算指令,當(dāng)運(yùn)算后后OF1,則,則產(chǎn)生產(chǎn)生4號(hào)號(hào)內(nèi)部中斷(溢出中斷),內(nèi)部中斷(溢出中斷),進(jìn)入溢出中斷服務(wù)程序進(jìn)行處理。進(jìn)入溢出中斷服務(wù)程序進(jìn)行處理。(5) 軟件中斷軟件中斷n在執(zhí)行中斷調(diào)用指令在執(zhí)行中斷調(diào)用指令I(lǐng)NT n時(shí)產(chǎn)生的一個(gè)時(shí)產(chǎn)生的一個(gè)向量號(hào)為向量號(hào)為n(0 255)的內(nèi)部中斷,)的內(nèi)部中斷, n為為一個(gè)字節(jié)的中斷類型碼,稱為指令中斷。一個(gè)字節(jié)的中斷類型碼,稱為指令中斷。l用用INT n指令來產(chǎn)生中斷,運(yùn)行用戶自行指令來產(chǎn)生中斷,運(yùn)行用戶自行設(shè)計(jì)的一些中斷服務(wù)程序,這與段間調(diào)設(shè)計(jì)的一些中斷服務(wù)程序
27、,這與段間調(diào)用子程序相似。用子程序相似。如:系統(tǒng)功能調(diào)用如:系統(tǒng)功能調(diào)用INT 21H。2. 8086的中斷向量表中斷向量即中斷向量即中斷服務(wù)程序的入口地址中斷服務(wù)程序的入口地址,用,用3232位邏輯地址表示。位邏輯地址表示。中斷向量表中斷向量表是一個(gè)存儲(chǔ)區(qū),是一個(gè)存儲(chǔ)區(qū),該存儲(chǔ)區(qū)存放了所有的中斷向量。該存儲(chǔ)區(qū)存放了所有的中斷向量。表內(nèi)容:表內(nèi)容:所有中斷服務(wù)程序的入口地址,即所有中斷服務(wù)程序的入口地址,即256個(gè)個(gè)中斷中斷向量。向量。表長(zhǎng)度:表長(zhǎng)度:一個(gè)中斷向量一個(gè)中斷向量4個(gè)字節(jié)個(gè)字節(jié),256256個(gè)中斷向量共個(gè)中斷向量共2562564 410241024字節(jié),即占用字節(jié),即占用1K1K存
28、儲(chǔ)空間。存儲(chǔ)空間。表位置:表位置:物理地址物理地址00000H 00000H (03FFH)開始,依次安開始,依次安排各個(gè)中斷向量,向量號(hào)也從排各個(gè)中斷向量,向量號(hào)也從0 0開始開始存放次序:存放次序:按中斷類型碼從小到大依次存放。每個(gè)中按中斷類型碼從小到大依次存放。每個(gè)中斷向量占用的斷向量占用的4 4個(gè)單元中,個(gè)單元中,小地址存放偏移地址小地址存放偏移地址,大地址大地址存放段地址存放段地址。向量號(hào)為向量號(hào)為N的中斷向量的物理地址的中斷向量的物理地址N4003FFH向量號(hào)向量號(hào)255的的CS值值用戶中斷用戶中斷(向量號(hào)(向量號(hào)FFH)003FCH向量號(hào)向量號(hào)255的的IP值值(中斷向量)(中斷
29、向量)向量號(hào)向量號(hào)2的的CS值值非屏蔽中斷非屏蔽中斷(向量號(hào)(向量號(hào)2)00008H向量號(hào)向量號(hào)2的的IP值值向量號(hào)向量號(hào)1的的CS值值單步中斷單步中斷(向量號(hào)(向量號(hào)1)00004H向量號(hào)向量號(hào)1的的IP值值向量號(hào)向量號(hào)0的的CS值值除法錯(cuò)中斷除法錯(cuò)中斷(向量號(hào)(向量號(hào)0)00000H向量號(hào)向量號(hào)0的的IP值值中斷向量地址中斷類型碼中斷類型碼 FEH3 34H 3F8H 8086的中斷向量表如果在如果在00080H00080H00083H00083H這這4 4個(gè)單元中存放的個(gè)單元中存放的內(nèi)容分別為內(nèi)容分別為 10H10H、20H20H、30H30H、40H40H,那么,那么,在該系統(tǒng)中在該系
30、統(tǒng)中, , 號(hào)中斷所對(duì)應(yīng)的中斷向號(hào)中斷所對(duì)應(yīng)的中斷向量為量為 。 20H4030H:2010H問題問題1 100084H00083H00082H00081H00080H(CSH) 40H(CSL) 30H(IPH) 20H(IPL) 10H若系統(tǒng)中對(duì)應(yīng)于中斷類型碼為若系統(tǒng)中對(duì)應(yīng)于中斷類型碼為17H17H的中斷的中斷處理程序存放在處理程序存放在1234:5670H開始的內(nèi)開始的內(nèi)存區(qū)域中,則對(duì)應(yīng)于存區(qū)域中,則對(duì)應(yīng)于17H17H類型碼的中斷向類型碼的中斷向量存放在量存放在 開始的開始的4 4個(gè)字節(jié)個(gè)字節(jié)中。這中。這4 4個(gè)單元地址由低到高,每個(gè)單元個(gè)單元地址由低到高,每個(gè)單元中的值分別為中的值分別為: : H H、 H H、 H H、 H H。 0000:005CH70563412問題問題2 2練練 習(xí)習(xí)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度年度農(nóng)村土地承包經(jīng)營(yíng)權(quán)流轉(zhuǎn)與農(nóng)村基礎(chǔ)設(shè)施建設(shè)合同
- 二零二五年度船舶租賃合同3篇
- 2025年度農(nóng)業(yè)勞務(wù)用工合同模板(含農(nóng)業(yè)病蟲害防治技術(shù))3篇
- 二零二五年度農(nóng)業(yè)耕地租賃與農(nóng)業(yè)金融服務(wù)合同3篇
- 二零二五年度食堂員工勞動(dòng)權(quán)益維護(hù)合同2篇
- 2025年度特色房屋無償使用與文化旅游合同3篇
- 二零二五年度農(nóng)村土地承包經(jīng)營(yíng)權(quán)流轉(zhuǎn)與生態(tài)農(nóng)業(yè)發(fā)展合同
- 二零二五年度大數(shù)據(jù)中心勞務(wù)承包合同規(guī)定3篇
- 2025年度兼職會(huì)計(jì)財(cái)務(wù)信息處理聘用合同范本2篇
- 2025年度公務(wù)車輛非工作時(shí)間私人使用合同3篇
- 報(bào)關(guān)稅費(fèi)代繳服務(wù)合同
- 耐火材料行業(yè)競(jìng)爭(zhēng)格局分析(如市場(chǎng)份額、競(jìng)爭(zhēng)優(yōu)劣勢(shì)等)
- 僅銷售預(yù)包裝食品經(jīng)營(yíng)者備案信息采集表
- 信息化工程建設(shè)項(xiàng)目可行性研究報(bào)告編制要求
- 床旁教學(xué)方法
- 2024湖南株洲攸縣城關(guān)國(guó)家糧食儲(chǔ)備庫(kù)員工招聘2人歷年高頻難、易錯(cuò)點(diǎn)500題模擬試題附帶答案詳解
- 塵埃粒子95%置信上限UCL計(jì)算公式
- 2023年某公司綜合部業(yè)務(wù)流程綱要
- Python試題庫(kù)(附參考答案)
- DB34∕T 4638-2023 創(chuàng)新型智慧園區(qū)建設(shè)與管理規(guī)范
- 巴渝文化探究課程設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論