第六章中斷概念_第1頁
第六章中斷概念_第2頁
第六章中斷概念_第3頁
第六章中斷概念_第4頁
第六章中斷概念_第5頁
已閱讀5頁,還剩14頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、6.3節(jié)節(jié) 中斷技術(shù)中斷技術(shù)一、中斷的基本概念一、中斷的基本概念1、中斷:是指、中斷:是指CPU在正常運(yùn)行程序時(shí),由于內(nèi)部在正常運(yùn)行程序時(shí),由于內(nèi)部或外部事件引起或外部事件引起CPU暫時(shí)中止執(zhí)行現(xiàn)行程序,轉(zhuǎn)暫時(shí)中止執(zhí)行現(xiàn)行程序,轉(zhuǎn)去執(zhí)行請求去執(zhí)行請求CPU為其服務(wù)的那個(gè)外設(shè)或事件的服為其服務(wù)的那個(gè)外設(shè)或事件的服務(wù)程序,待該服務(wù)程序執(zhí)行完后又返回到被中止務(wù)程序,待該服務(wù)程序執(zhí)行完后又返回到被中止的程序這樣一個(gè)過程。的程序這樣一個(gè)過程。 2、中斷源:能發(fā)出中斷申請的外設(shè)或引起中斷的原因。、中斷源:能發(fā)出中斷申請的外設(shè)或引起中斷的原因。 3、中斷源種類:、中斷源種類:I/O設(shè)備、實(shí)時(shí)時(shí)鐘、故障源、軟

2、件中斷。設(shè)備、實(shí)時(shí)時(shí)鐘、故障源、軟件中斷。4、中斷過程:有、中斷過程:有中斷請求,中斷判優(yōu),中斷響應(yīng),中斷處理,中斷請求,中斷判優(yōu),中斷響應(yīng),中斷處理,中斷返回中斷返回五個(gè)過程。五個(gè)過程。 5、中斷技術(shù)的優(yōu)點(diǎn):、中斷技術(shù)的優(yōu)點(diǎn): v 并行操作:指并行操作:指CPU和多個(gè)外設(shè)并行操作。和多個(gè)外設(shè)并行操作。v 分時(shí)操作:指分時(shí)操作:指CPU可分時(shí)執(zhí)行多個(gè)用戶程序和多道作業(yè)??煞謺r(shí)執(zhí)行多個(gè)用戶程序和多道作業(yè)。v 實(shí)現(xiàn)實(shí)時(shí)處理、實(shí)現(xiàn)實(shí)時(shí)處理、 故障處理。故障處理。 v 基本功能調(diào)用:通過軟件中斷可實(shí)現(xiàn)基本功能調(diào)用:通過軟件中斷可實(shí)現(xiàn)DOS功能調(diào)用和基本功能調(diào)用和基本BIOS調(diào)用。調(diào)用。 v 提高了提高

3、了CPU的利用效率。的利用效率。二、二、CPU對中斷的響應(yīng)及中斷過程對中斷的響應(yīng)及中斷過程三、中斷源及其優(yōu)先權(quán)的識(shí)別三、中斷源及其優(yōu)先權(quán)的識(shí)別1.查詢中斷2.向量中斷:是指通過向量進(jìn)入中斷服務(wù)程序的一種方法。v中斷向量:中斷服務(wù)程序的入口地址(首地址)v邏輯地址含有段地址CS和偏移地址IP(32位)v每個(gè)中斷向量的低字是偏移地址、高字是段地址,需占用4個(gè)字節(jié)v8088微處理器從物理地址0000H開始,依次安排各個(gè)中斷向量,向量號也從0開始v256個(gè)中斷占用1KB區(qū)域,就形成中斷向量表v向量號為N的中斷向量的物理地址N46.4 8086/8088的中斷系統(tǒng)和中斷處理的中斷系統(tǒng)和中斷處理v8088

4、的中斷系統(tǒng)采用向量中斷機(jī)制v能夠處理256個(gè)中斷v用中斷向量號0255區(qū)別v可屏蔽中斷還需要借助專用中斷控制器Intel 8259A實(shí)現(xiàn)優(yōu)先權(quán)管 1、8088的中斷類型的中斷類型1).內(nèi)部中斷內(nèi)部中斷v內(nèi)部中斷是由于8088內(nèi)部執(zhí)行程序出現(xiàn)異常引起的程序中斷v利用內(nèi)部中斷,微處理器為用戶提供了發(fā)現(xiàn)、調(diào)試并解決程序執(zhí)行時(shí)異常情況的有效途徑v例如,ROM-BIOS和DOS系統(tǒng)利用內(nèi)部中斷為程序員提供了各種功能調(diào)用除法錯(cuò)中斷除法錯(cuò)中斷:在執(zhí)行除法指令時(shí),若除數(shù)為0或商超過了寄存器所能表達(dá)的范圍,則產(chǎn)生一個(gè)向量號為0的內(nèi)部中斷,稱為除法錯(cuò)中斷指令中斷指令中斷:在執(zhí)行中斷調(diào)用指令I(lǐng)NT n時(shí)產(chǎn)生的一個(gè)向

5、量號為n(0255)的內(nèi)部中斷,稱為指令中斷,其中向量號為3的指令中斷比較特別(生成一個(gè)字節(jié)的指令代碼:11001100),常用于程序調(diào)試,被稱為斷點(diǎn)中斷溢出中斷溢出中斷:在執(zhí)行溢出中斷指令I(lǐng)NTO時(shí),若溢出標(biāo)志OF為1,則產(chǎn)生一個(gè)向量號為4的內(nèi)部中斷,被稱為溢出中斷單步中斷單步中斷:若單步中斷TF為1,則在每條指令執(zhí)行結(jié)束后產(chǎn)生一個(gè)向量號為1的內(nèi)部中斷,稱為單步中斷2).外部中斷外部中斷v外部中斷是由于8088外部提出中斷請求引起的程序中斷v利用外部中斷,微機(jī)系統(tǒng)可以實(shí)時(shí)響應(yīng)外部設(shè)備的數(shù)據(jù)傳送請求,能夠及時(shí)處理外部意外或緊急事件v外部中斷的原因是處理器外部隨機(jī)產(chǎn)生的,所以是真正的中斷(Int

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

7、和響應(yīng)信號分別是INTR和INTA*;由IF標(biāo)志控制可屏蔽中斷是否允許響應(yīng);向量號來自外部中斷控制器v8088通常需要配合中斷控制器8259A共同處理可屏蔽中斷v可屏蔽中斷主要用于主機(jī)與外設(shè)交換數(shù)據(jù)(3)中斷標(biāo)志IF的狀態(tài)vIF0:可屏蔽中斷不會(huì)被響應(yīng)關(guān)中斷、禁止中斷、中斷屏蔽系統(tǒng)復(fù)位,使IF0任何一個(gè)中斷被響應(yīng),使IF0執(zhí)行指令CLI,使IF0vIF1:可屏蔽中斷會(huì)被響應(yīng)開中斷、允許中斷、中斷開放執(zhí)行指令STI,使IF1v執(zhí)行指令I(lǐng)RET恢復(fù)原IF狀態(tài)2、8088的中斷響應(yīng)過程的中斷響應(yīng)過程3.中斷向量表中斷向量表 中斷向量表也稱中斷入口地址表。該表說明了中斷類型號和中斷服務(wù)程序的入口地址之

8、間的聯(lián)系。中斷向量表放在存儲(chǔ)單元地址的最低部位00000H到003FFH之間,占有1K字節(jié)的存儲(chǔ)空間。中斷向量表分成256組,每組由兩個(gè)字(即4個(gè)字節(jié))組成一個(gè)雙字長的指針。每個(gè)雙字指針指示一種中斷類型,所以8086最多能識(shí)別256種不同類型的中斷.通過這張中斷向量表產(chǎn)生出各個(gè)中斷服務(wù)程序的入口地址。在雙字長指針的高地址中存放的字是中斷服務(wù)程序入口地址所在的代碼段的16位段地址(CS),低地址字是中斷服務(wù)程序入口地址相對于段起始地址的偏移值(IP)。 每個(gè)中斷向量具有一個(gè)相應(yīng)的中斷類型號,由中斷類型號確定在中斷向量表中的中斷向量。中斷類型號乘4,將給出中斷向量表中的中斷向量入口第1字節(jié)的物理地

9、址。例如,若中斷類型號為8,它指出中斷向量表的第9個(gè)入口,則這個(gè)向量的第1字節(jié)的地址為: 類型號8432=00100000B20H 若類型8中,安排的CS=1000H,IP=0200H,則它們形成的服務(wù)程序的入口地址為10200。CPU一旦響應(yīng)中斷類型8,則將轉(zhuǎn)去執(zhí)行從地址10200H開始的類型號為的中斷服務(wù)程序。4.中斷響應(yīng)時(shí)序中斷響應(yīng)時(shí)序 如果在前一個(gè)總線周期中CPU的中斷系統(tǒng)檢測到INTR引腳是高電平,而且程序狀態(tài)字的IF位為1,則CPU在完成當(dāng)前的一條指令后,便執(zhí)行一個(gè)中斷響應(yīng)時(shí)序。8086 的中斷響應(yīng)時(shí)序由兩個(gè)INTA*中斷響應(yīng)總線周期組成,中間由兩個(gè)空閑時(shí)鐘周期T1隔開。在兩個(gè)總線

10、周期中,INTA*輸出為低電平,以響應(yīng)這個(gè)中斷。第1個(gè)INTA*總線周期表示一個(gè)中斷響應(yīng)正在進(jìn)行,這樣可以使申請中斷的設(shè)備有時(shí)間去準(zhǔn)備在第2個(gè)INTA*總線周期內(nèi)發(fā)出中斷類型號。第2個(gè)INTA*總線周期中,中斷類型號必須在16位數(shù)據(jù)總線的低半部分(AD0AD7)上傳送給8086。因此,提供中斷類型號的中斷接口電路(例如8259A)的8位數(shù)據(jù)線是接在16位數(shù)據(jù)總線的低半部上。在中斷響應(yīng)總線周期期間,經(jīng)DT/R和DEN的配合作用,使得8086 可以從申請中斷的接口電路中取得一個(gè)單字節(jié)的中斷類型號。 綜上所述,CPU響應(yīng)可屏蔽中斷的全過程可歸納為如下幾點(diǎn): (1) 執(zhí)行兩個(gè)中斷響應(yīng)總線周期時(shí),中斷接

11、口電路在第2個(gè)中斷響應(yīng)總線周期內(nèi)送出一個(gè)單字節(jié)數(shù)據(jù)作為中斷類型號。這個(gè)數(shù)據(jù)字節(jié)左移兩位(即乘以4)后,得到中斷向量在中斷向量表中的起始地址。 (2) 執(zhí)行一個(gè)寫總線周期時(shí),CPU在這個(gè)周期內(nèi)把程序狀態(tài)字PSW的內(nèi)容壓入堆棧。 (3) 把程序狀態(tài)字中的中斷允許(IF)和單步陷阱(TF)標(biāo)志位復(fù)位成0,這樣就能禁止可屏蔽的和單步的中斷 (4) 執(zhí)行一個(gè)寫總線周期時(shí),斷點(diǎn)的段寄存器CS的內(nèi)容被壓入堆棧。(5) 執(zhí)行一個(gè)寫總線周期時(shí),斷點(diǎn)的指令指示器IP的內(nèi)容被壓入堆棧。(6) 執(zhí)行一個(gè)讀總線周期時(shí),CPU將從4n+的字存儲(chǔ)單元中將中斷服務(wù)程序的代碼段值讀入CS內(nèi)。(7) 執(zhí)行一個(gè)讀總線周期時(shí),CPU將從4n的字存儲(chǔ)單元中將中斷服務(wù)程序的偏移地址讀到指令指示器IP中。于是,CPU根據(jù)CS:IP中

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論