![《微機(jī)原理與接口技術(shù)(第2版)》第06章中斷技術(shù)_第1頁(yè)](http://file4.renrendoc.com/view/76d8769f0b8b6229f50f9154dfb6696f/76d8769f0b8b6229f50f9154dfb6696f1.gif)
![《微機(jī)原理與接口技術(shù)(第2版)》第06章中斷技術(shù)_第2頁(yè)](http://file4.renrendoc.com/view/76d8769f0b8b6229f50f9154dfb6696f/76d8769f0b8b6229f50f9154dfb6696f2.gif)
![《微機(jī)原理與接口技術(shù)(第2版)》第06章中斷技術(shù)_第3頁(yè)](http://file4.renrendoc.com/view/76d8769f0b8b6229f50f9154dfb6696f/76d8769f0b8b6229f50f9154dfb6696f3.gif)
![《微機(jī)原理與接口技術(shù)(第2版)》第06章中斷技術(shù)_第4頁(yè)](http://file4.renrendoc.com/view/76d8769f0b8b6229f50f9154dfb6696f/76d8769f0b8b6229f50f9154dfb6696f4.gif)
![《微機(jī)原理與接口技術(shù)(第2版)》第06章中斷技術(shù)_第5頁(yè)](http://file4.renrendoc.com/view/76d8769f0b8b6229f50f9154dfb6696f/76d8769f0b8b6229f50f9154dfb6696f5.gif)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第6章中斷技術(shù)本章知識(shí)要點(diǎn):
本章從計(jì)算機(jī)系統(tǒng)的角度說(shuō)明了什么是中斷,為什么在計(jì)算機(jī)系統(tǒng)內(nèi)要使用中斷技術(shù)等概念,描述了在以Pentium為平臺(tái)的微機(jī)系統(tǒng)內(nèi)的中斷類型,以及允許中斷和禁止中斷的條件所在,敘述了Pentium在處理中斷時(shí)采用的中斷技術(shù)—中斷描述符表以及中斷描述符的作用。最后說(shuō)明了Pentium處理中斷時(shí)的過(guò)程。使目前微機(jī)領(lǐng)域內(nèi)的先進(jìn)技術(shù)與實(shí)際應(yīng)用緊密聯(lián)系在一起。本章的重點(diǎn)是中斷的概念,在計(jì)算機(jī)系統(tǒng)內(nèi)為什么要使用中斷,和中斷處理過(guò)程。6.1中斷的概念
6.1.1概述
中斷是現(xiàn)代計(jì)算機(jī)技術(shù)領(lǐng)域里的一項(xiàng)非常重要的技術(shù)。中斷是為快速改變程序的運(yùn)行環(huán)境而提供的一種機(jī)制。程序控制的轉(zhuǎn)換是由計(jì)算機(jī)內(nèi)部事件或者是外部硬件事件啟動(dòng)的。所謂中斷,其實(shí)是CPU在執(zhí)行當(dāng)前程序的過(guò)程中,由于某種隨機(jī)出現(xiàn)的外圍設(shè)備的請(qǐng)求,使得CPU暫時(shí)停止正在執(zhí)行的程序(即中斷),轉(zhuǎn)去執(zhí)行為外圍設(shè)備服務(wù)的程序。當(dāng)為外圍設(shè)備服務(wù)的程序執(zhí)行完后,CPU再返回到暫時(shí)停止正在執(zhí)行的程序處(即斷點(diǎn))繼續(xù)執(zhí)行其原來(lái)的程序。這種中斷就是通常所說(shuō)的外部中斷。1.Pentium的中斷:
有2個(gè)硬件中斷INTR、NMI,和3個(gè)軟件中斷INT、INTO、INT3。外部中斷和內(nèi)部軟件中斷就構(gòu)成了一個(gè)完整的中斷系統(tǒng)。發(fā)出中斷請(qǐng)求的來(lái)源非常多,不管是由于外部事件而引起的外部中斷、還是由于軟件執(zhí)行過(guò)程而引發(fā)的內(nèi)部軟件中斷,凡是能夠提出中斷請(qǐng)求的設(shè)備或異常故障,均被稱其為中斷源。Pentium把中斷分成三種類型。
①中斷:
②異常:
③程序異常:(1)實(shí)模式下的中斷操作當(dāng)微處理器執(zhí)行完當(dāng)前指令之后,它就按給定的順序來(lái)檢查下面一些條件,以便確定一個(gè)中斷是否有效。①檢查指令的執(zhí)行;②檢查是否單步執(zhí)行的指令;③檢查是不是一條不可屏蔽中斷NMI;
④檢查浮點(diǎn)部件的段是否越界;⑤檢查是不是一條可屏蔽中斷INTR;
⑥檢查是不是一條調(diào)用中斷過(guò)程指令I(lǐng)NT。如果在檢查的過(guò)程中發(fā)現(xiàn)一個(gè)或多個(gè)中斷條件與檢查的條件相符合,就按順序執(zhí)行下列操作步驟:
(1)將標(biāo)志寄存器的內(nèi)容下壓入棧。(2)清除標(biāo)志寄存器中的允許中斷標(biāo)志IF位和自陷標(biāo)志TF位。(3)將代碼段寄存器CS的內(nèi)容下壓入棧。(4)將指令指針寄存器IF的內(nèi)容下壓入棧。(5)將中斷向量的內(nèi)容取出,并將其送入指令指針寄存器IF和代碼段寄存器CS.(2)保護(hù)模式下的中斷操作
保護(hù)模式下的中斷操作與實(shí)模式下的中斷操作幾乎是一樣的,但二者的中斷向量表有所不同。
1.在實(shí)模式下,使用的是中斷向量。
2.而在保護(hù)模式下,使用的是保存在中斷描述符表IDT中的中斷描述符。6.1.2中斷系統(tǒng)中斷系統(tǒng)的作用
(1)實(shí)現(xiàn)分時(shí)操作:
(2)處理異常事故:
(3)實(shí)現(xiàn)實(shí)時(shí)操作:
2.中斷響應(yīng)和中斷處理過(guò)程
不論是硬件中斷還是軟件中斷,都是通過(guò)調(diào)用中斷服務(wù)程序或中斷管理程序?yàn)橹袛喾?wù)。系統(tǒng)內(nèi)存在著多個(gè)中斷源,必須為每個(gè)中斷源,預(yù)先編好中斷處理程序中斷進(jìn)行處理。對(duì)于多個(gè)中斷請(qǐng)求,通常的做法是將中斷源按優(yōu)先級(jí)別的高低將其分成幾級(jí),中斷系統(tǒng)則是根據(jù)中斷源級(jí)別的高低給以響應(yīng)。當(dāng)有多個(gè)“中斷請(qǐng)求”存在時(shí),中斷系統(tǒng)是按中斷源優(yōu)先級(jí)別的高低響應(yīng)中斷
6.2異常與中斷
中斷是在程序執(zhí)行期間隨著硬件信號(hào)一起而隨機(jī)出現(xiàn)。而異常則是在執(zhí)行引起異常的指令時(shí)產(chǎn)生。不論是中斷還是異常均有兩個(gè)中斷源:
6.2.1中斷源分類
1.中斷
(1)可屏蔽中斷INTR??善帘沃袛嗍怯布袛啵菑腜entium的管腳INTR輸入端上接收的中斷請(qǐng)求信號(hào)
(2)不可屏蔽中斷NMI
不可屏蔽中斷也是硬件中斷,是從Pentium的NMI管腳上接收到的輸入信號(hào)
2.異常異常是由微處理器檢測(cè)到的。根據(jù)報(bào)告異常的方式以及是否支持重新啟動(dòng)引起異常的指令,可將異常分為故障、自陷和異常終止三種類型。
(1)故障(faults)是指在該指令中檢測(cè)到異常之前,在指令邊界處報(bào)告的異常。
(2)自陷(traps)是指在指令中檢測(cè)到異常之后馬上就在指令邊界處報(bào)告的異常。
(3)異常終止(aborts)是指不總是報(bào)告引起異常的指令的位置,且不允許重新啟動(dòng)引起異常的程序。3.程序異常
Pentium系統(tǒng)內(nèi)的溢出中斷
INTO、
INT3(中斷類型3)、
INTn(中斷類型n),以及按界檢查數(shù)組下標(biāo)BOUND指令等,均可觸發(fā)異常,雖然也把這些指令稱之為“軟中斷”,但是,Pentium是把它們當(dāng)作異常來(lái)處理的。
6.2.2
異常和中斷向量
Pentium微處理器把每個(gè)不同類型的中斷或異常與識(shí)別號(hào)一一對(duì)應(yīng)聯(lián)系起來(lái),以便于識(shí)別,把這個(gè)識(shí)別號(hào)稱之為向量。為不可屏蔽中斷和異常分配的向量在0~31之間。向量號(hào)
說(shuō)
明0除法錯(cuò)1調(diào)試異常2不可屏蔽中斷3斷點(diǎn)4被檢測(cè)出的INTO上溢5超出了BOUND范圍6無(wú)效操作碼7協(xié)同處理器器不存在8雙故障9協(xié)同處理器越段運(yùn)行(保留)10無(wú)效任務(wù)狀態(tài)段11段不存在12堆棧段超界限故障13一般保護(hù)故障14頁(yè)故障15保留,未使用16浮點(diǎn)錯(cuò)17對(duì)準(zhǔn)檢查18機(jī)器檢查,在Pentium~Pentium4中激活系統(tǒng)存儲(chǔ)器管理模式中斷19~31保留,未使用32~255可屏蔽中斷6.3允許及禁止中斷
Pentium在一定的條件和標(biāo)志設(shè)置下將禁止某些類型的中斷和異常。6.3.1不可屏蔽中斷對(duì)未來(lái)的不可屏蔽中斷的屏蔽
當(dāng)執(zhí)行一個(gè)不可屏蔽中斷的中斷服務(wù)程序時(shí),在下一條中斷返回IRET指令執(zhí)行之前,Pentium將禁止對(duì)處理中斷的過(guò)程或任務(wù)進(jìn)行另外的調(diào)用
6.3.2IF屏蔽INTR當(dāng)標(biāo)志寄存器上的允許中斷標(biāo)志IF位被清成“0”時(shí),可屏蔽中斷請(qǐng)求信號(hào)INTR上的中斷信號(hào)被忽略。當(dāng)IF標(biāo)志被置成“1”時(shí),INTR中斷才可得到服務(wù)。6.3.3恢復(fù)標(biāo)志位RF對(duì)調(diào)試故障的屏蔽
Pentium微處理器的標(biāo)志寄存器EFLAGS中的恢復(fù)標(biāo)志RF標(biāo)志位,用來(lái)防止對(duì)一個(gè)指令斷點(diǎn)故障進(jìn)行多次服務(wù)。
6.4中斷描述符表
6.4.1異常和中斷同時(shí)存在時(shí)的優(yōu)先級(jí)如果在一指令邊界處有一個(gè)以上的未決異?;蛑袛啵瑒t微處理器將按預(yù)先定好的順序?yàn)樗鼈兲峁┓?wù)。表中列出了各類異常和中斷源的優(yōu)先級(jí)。雖然這些優(yōu)先級(jí)在整個(gè)體系結(jié)構(gòu)之內(nèi)是一致的,但每一級(jí)別之內(nèi)的異常在實(shí)現(xiàn)時(shí)則是依微處理器而定,不同的微處理器其處理順序是不一樣的。
優(yōu)先級(jí)類說(shuō)
明最高1類上一條指令的自陷
----斷點(diǎn)----調(diào)試異常(標(biāo)志寄存器上的自陷標(biāo)志位TF=1,任務(wù)狀態(tài)段TSS上的T位被置成1,或數(shù)據(jù)/輸入輸出的斷點(diǎn))2類外部中斷------不可屏蔽中斷------可屏蔽中斷3類預(yù)取下一條指令時(shí)的故障-----代碼斷點(diǎn)故障-----代碼段越界-----預(yù)取時(shí)的頁(yè)故障4類下一條指令譯碼時(shí)故障----非法操作碼----指令長(zhǎng)度大于15個(gè)字節(jié)----協(xié)處理器不能使用最低5類執(zhí)行指令時(shí)出現(xiàn)的故障
----一般檢測(cè)故障
----浮點(diǎn)錯(cuò)(來(lái)自前一條浮點(diǎn)指令)
----上溢中斷
----BOUND----無(wú)效任務(wù)狀態(tài)段
----段不存在
----堆棧異常
----一般保護(hù)異常
-----數(shù)據(jù)頁(yè)故障
----對(duì)準(zhǔn)檢查6.4.2中斷描述符表IDT
中斷描述符表IDT把每個(gè)異?;蛑袛嘞蛄俊⒓捌渑c其相對(duì)應(yīng)的中斷服務(wù)程序、或任務(wù)的描述符聯(lián)系了起來(lái)。中斷描述符表也是一種由大小為8個(gè)字節(jié)的描述符組成的一個(gè)描述符陣列。由于僅有256個(gè)向量,所以在中斷描述符表中的描述符個(gè)數(shù)不會(huì)多于256個(gè),但可以少于256個(gè)。中斷描述符表可駐留在物理存儲(chǔ)器的任何位置上,圖展示了微處理器利用中斷描述符表寄存器IDTR裝載中斷描述符表的情況。中斷描述符表寄存器IDTR為中斷描述符表保存著一個(gè)32位基地址和一個(gè)16位的段界限值。
中斷#N的中斷門(mén)
中斷#3的中斷門(mén)中斷#2的中斷門(mén)中斷#1的中斷門(mén)中斷描述符表寄存器0150160470中斷描述符表中斷描述符表界限中斷描述符表基地址中斷描述符表寄存器在存儲(chǔ)器中安置中斷描述符表
6.4.3中斷描述符表內(nèi)描述符在中斷描述符表內(nèi),配備有任務(wù)門(mén)描述符、中斷門(mén)描述符、自陷門(mén)描述符,這樣三種類型的描述符:圖中展示出了任務(wù)門(mén)描述符、中斷門(mén)描述符、自陷門(mén)描述符這三種類型描述符的格式。從圖中可以看出,中斷描述符表中的任務(wù)門(mén)描述符與全局描述符表和局部描述符表中的任務(wù)門(mén)描述符是一樣的00101保留DPL
P任務(wù)狀態(tài)段選擇符078121514133116任務(wù)門(mén)描述符保留保留011100
0
0
保留DPL
P偏移量31~16偏移量15~00段選擇符40781215141353116中斷門(mén)描述符011110
0
0
保留DPL
P偏移量31~16偏移量15~00段選擇符40781215141353116自陷門(mén)描述符
6.5中斷任務(wù)和中斷過(guò)程
正像調(diào)用過(guò)程指令CALL,既可以調(diào)用一個(gè)過(guò)程又可以調(diào)用一項(xiàng)任務(wù)一樣,一個(gè)異常中斷也可以把一個(gè)中斷服務(wù)程序,或當(dāng)作過(guò)程或當(dāng)作任務(wù)進(jìn)行調(diào)用。
若Pentium找到的是一個(gè)中斷門(mén)描述符或自陷門(mén)描述符,則它將以一種與用CALL指令調(diào)用一個(gè)調(diào)用門(mén)相同的方式,調(diào)用與其對(duì)應(yīng)的中斷處理程序。
6.5.1中斷過(guò)程
在運(yùn)行的過(guò)程之中若出現(xiàn)了中斷,Pentium就利用本次中斷的中斷向量,在中斷描述符表中尋找這次中斷的描述符。通過(guò)中斷描述符表中的中斷門(mén)描述符或自陷門(mén)描述符,對(duì)中斷服務(wù)程序的訪問(wèn)是間接訪問(wèn),如圖所示。
中斷門(mén)或自陷門(mén)段描述符目標(biāo)代碼段中斷描述符表中斷服務(wù)程序中斷向量段選擇符基地址偏移量全局描述符表或局部描述符表6.5.2中斷任務(wù)正像圖中所示那樣,通過(guò)中斷描述符表中的任務(wù)門(mén)
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 個(gè)人擔(dān)保借款合同書(shū)范本
- 浙江個(gè)人汽車租賃合同書(shū)
- 橋架施工合同模板
- 代理銷售合同范本
- 品牌商標(biāo)授權(quán)合同
- 離婚協(xié)議書(shū)范文范本
- 建筑機(jī)械設(shè)備租賃合同范本
- 有利于企業(yè)的勞動(dòng)合同范本年
- 夫妻和平離婚協(xié)議書(shū)范文
- 殘疾人就業(yè)勞動(dòng)合同
- 傾聽(tīng)幼兒馬賽克方法培訓(xùn)
- 設(shè)備日常維護(hù)及保養(yǎng)培訓(xùn)
- 2024年建房四鄰協(xié)議范本
- FTTR-H 全光組網(wǎng)解決方案裝維理論考試復(fù)習(xí)試題
- 2024年安全生產(chǎn)月主題2024年學(xué)校安全生產(chǎn)月活動(dòng)方案
- 2024年廣東佛山市中醫(yī)院三水醫(yī)院招聘61人歷年高頻考題難、易錯(cuò)點(diǎn)模擬試題(共500題)附帶答案詳解
- 測(cè)繪保密協(xié)議書(shū)保密協(xié)議(2024版)
- 中級(jí)半導(dǎo)體分立器件和集成電路裝調(diào)工技能鑒定考試題庫(kù)(含答案)
- 固定資產(chǎn)培訓(xùn)課件共-51張
- 2024年高考語(yǔ)文思辨類作文預(yù)測(cè)+考前模擬題+高分范文
- 2024年演出經(jīng)紀(jì)人考試必背1000題一套
評(píng)論
0/150
提交評(píng)論