微機(jī)原理與接口技術(shù)-第7章中斷系統(tǒng)-17_第1頁
微機(jī)原理與接口技術(shù)-第7章中斷系統(tǒng)-17_第2頁
微機(jī)原理與接口技術(shù)-第7章中斷系統(tǒng)-17_第3頁
微機(jī)原理與接口技術(shù)-第7章中斷系統(tǒng)-17_第4頁
微機(jī)原理與接口技術(shù)-第7章中斷系統(tǒng)-17_第5頁
已閱讀5頁,還剩33頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

微機(jī)原理與接口技術(shù)第7章中斷系統(tǒng)2主要內(nèi)容7.1

中斷系統(tǒng)概述7.2

8086CPU的中斷系統(tǒng)7.3

可編程中斷控制器8259A7.4

小結(jié)7.1

中斷系統(tǒng)概述7.1.1

中斷的基本概念什么是中斷?與生活場景的比較正在看書電話鈴響接電話繼續(xù)看書執(zhí)行程序事件發(fā)生事件處理繼續(xù)執(zhí)行程序中斷處理中斷請求及響應(yīng)實際場景計算機(jī)中斷返回1.中斷的定義什么是中斷?讓CPU掛起當(dāng)前正在執(zhí)行的程序,轉(zhuǎn)去執(zhí)行處理某一事件的操作。什么是中斷過程?CPU暫停執(zhí)行原來的程序,轉(zhuǎn)去執(zhí)行處理特定事件的服務(wù)程序,處理結(jié)束之后,又返回到原來的程序,從斷點(diǎn)開始繼續(xù)往下執(zhí)行的全過程。中斷過程示意圖7-1指令指令指令指令指令指令指令指令有中斷請求指令指令指令指令返回中斷服務(wù)子程序1指令指令指令指令返回中斷服務(wù)子程序2有中斷請求中斷嵌套2.中斷源引起CPU中斷的事件——中斷源。例如:外設(shè)——請求輸入輸出數(shù)據(jù),報告故障等事件——掉電、硬件故障、軟件錯誤、非法操作、定時時間到等中斷源分為:外部中斷、內(nèi)部中斷內(nèi)部中斷:CPU內(nèi)部執(zhí)行程序時自身產(chǎn)生的中斷外部中斷:CPU以外的設(shè)備、部件產(chǎn)生的中斷73.中斷服務(wù)程序為完成中斷源所期望的功能而編寫的程序稱為中斷服務(wù)程序。每一個中斷都對應(yīng)一個中斷服務(wù)程序,計算機(jī)運(yùn)行時,中斷服務(wù)程序駐留在內(nèi)存。中斷服務(wù)程序的第一條指令所在的地址(即入口地址)稱為該中斷服務(wù)程序的中斷向量。要調(diào)用中斷服務(wù)程序,只需要將程序執(zhí)行跳轉(zhuǎn)到相應(yīng)的中斷服務(wù)程序的入口地址。84.中斷類型號中斷類型號——為了區(qū)別不同的中斷服務(wù)程序,分配給每個中斷服務(wù)程序的唯一編號。用戶調(diào)用中斷服務(wù)程序時,只要給出對應(yīng)的中斷類型號,計算機(jī)即可自動查表獲得中斷向量。在8086/8088CPU中,中斷系統(tǒng)能處理256種不同類型的中斷。其中斷類型號為00H~FFH。95.中斷優(yōu)先權(quán)系統(tǒng)中存在多個中斷源,CPU必須設(shè)法找出發(fā)出中斷請求的中斷源——中斷識別當(dāng)出現(xiàn)多個中斷源同時需要CPU處理的時候,CPU應(yīng)該先響應(yīng)誰?——中斷判優(yōu)這種響應(yīng)中斷的順序,即各種中斷源的優(yōu)先權(quán)順序。107.1.2中斷處理系統(tǒng)一個中斷處理系統(tǒng)需要具備的功能有:實現(xiàn)中斷及返回實現(xiàn)優(yōu)先權(quán)排隊

多個中斷源同時提出中斷請求時,能找到優(yōu)先權(quán)級別最高的中斷源進(jìn)行響應(yīng),處理完后,響應(yīng)級別較低的中斷源。實現(xiàn)中斷嵌套

當(dāng)正在處理某個中斷時,若有更高優(yōu)先權(quán)的中斷源發(fā)出中斷請求,則CPU中斷該中斷服務(wù)程序,響應(yīng)更高級的中斷,待執(zhí)行完后,再返回執(zhí)行被中斷的中斷服務(wù)程序。中斷嵌套主程序中斷高級中斷中斷嵌套示意圖主程序中斷源5處理程序中斷源3請求中斷源1請求返回返回返回中斷源5請求(假設(shè)中斷源1~n的優(yōu)先級為從高到低)中斷源3處理程序中斷源1處理程序137.1.3中斷控制方式的優(yōu)點(diǎn)并行處理能力

實現(xiàn)了CPU和多個外部設(shè)備同步工作實時處理能力

中斷系統(tǒng)能處理實時要求故障處理能力CPU出現(xiàn)意想不到的情況或故障,可以利用中斷系統(tǒng)自動處理,而不用關(guān)機(jī)。7.2

8086的中斷系統(tǒng)

與中斷有關(guān)的控制線為:NMI、INTR、INTA#8086系統(tǒng)的中斷源內(nèi)部中斷除法溢出:類型號0,商大于目的操作數(shù)所能表達(dá)的范圍時產(chǎn)生。單步中斷:類型號1,TF=1時產(chǎn)生斷點(diǎn)中斷:類型號3,這是一個軟中斷溢出中斷:類型號4,軟中斷即INTO指令。軟件中斷:即INTn指令,類型號n(0-255)。外部中斷非屏蔽中斷NMI:類型號2,不可用軟件屏蔽,CPU必須響應(yīng)它??善帘沃袛郔NTR:類型號由PIC提供。IF=1時CPU才能響應(yīng)。NMIINTR中斷邏輯軟件中斷指令溢出中斷除法錯單步中斷非屏蔽中斷請求中斷控制器8259APIC8086/8088CPU內(nèi)部邏輯斷點(diǎn)中斷8086/8088中斷源類型可屏蔽中斷請求n43012中斷源的識別8086系統(tǒng)采用中斷類型碼來識別不同的中斷源,每個中斷源都有一個與它相對應(yīng)的中斷類型碼。溢出、斷點(diǎn)、除法溢出、單步、非屏蔽中斷的類型碼為固定值軟件中斷的類型碼由指令給出可屏蔽中斷的類型碼由PIC給出171.

內(nèi)部中斷

CPU中斷:CPU執(zhí)行某些指令時出現(xiàn)錯誤或?qū)?biāo)志寄存器的標(biāo)志位進(jìn)行設(shè)置而引發(fā)的中斷。除法錯中斷 中斷類型號為0單步執(zhí)行中斷 中斷類型號為1斷點(diǎn)中斷 中斷類型號為3溢出中斷 中斷類型號為4INTO:當(dāng)CPU檢測到溢出標(biāo)志OF為1,且當(dāng)前指令是INTO指令時,則立即引起溢出中斷。INT4:如果直接執(zhí)行軟件中斷指令I(lǐng)NT4,無論OF標(biāo)志位如何,CPU都將會調(diào)用4型服務(wù)程序。181.內(nèi)部中斷軟中斷

CPU執(zhí)行在用戶程序中安排的有定義的INTn指令而引發(fā)的中斷。軟中斷的中斷類型號是在指令中直接給出的。軟中斷是在程序中安排而不是隨機(jī)的。在PC系列機(jī)器中,軟件中斷主要分為:BIOS中斷DOS中斷192.外部中斷(硬中斷)硬中斷是由來自CPU外部事件產(chǎn)生的中斷,即由外部設(shè)備提出中斷請求而產(chǎn)生的。硬中斷的產(chǎn)生具有隨機(jī)性,何時產(chǎn)生中斷,CPU預(yù)先并不知道。在PC/AT系統(tǒng)中,硬中斷由兩片8259A中斷控制器引入。PC/AT系統(tǒng)硬件中斷表中斷類型號IRQ標(biāo)準(zhǔn)應(yīng)用02H08H09H0AH70H71H72H73H74H75H76H77H0BH0CH0DH0EH0FHNMI0128910111213141534567奇偶校驗錯、I/O檢測錯中斷定時器OUT0中斷鍵盤輸入中斷接收從片8259A的中斷請求INT實時鐘中斷改向INT0AH(以IRQ2出現(xiàn))保留保留保留協(xié)處理器中斷硬磁盤控制器中斷保留串行通信(COM2)中斷串行通信(COM1)中斷打印機(jī)(LPT2)中斷軟磁盤控制器中斷打印機(jī)(LPT1)中斷212.

外部中斷(硬中斷)1)非屏蔽中斷

(邊緣觸發(fā))非屏蔽中斷NMI:不受中斷允許標(biāo)志IF的影響,它總是被CPU接受的。非屏蔽中斷的優(yōu)先權(quán)高于可屏蔽中斷,中端類型號為2。2)可屏蔽中斷(電平觸發(fā)的)可屏蔽中斷INTR:是否響應(yīng)INTR的請求,取決于中斷允許標(biāo)志位IF的狀態(tài)。只有當(dāng)中斷允許標(biāo)志位IF為1時,CPU才能響應(yīng)INTR的中斷請求。如果IF為0,即使INTR端有中斷請求信號CPU也不會響應(yīng)。這種情況稱為中斷屏蔽。223.中斷向量表中斷向量是中斷處理子程序的入口地址,每個中斷類型對應(yīng)一個中斷向量。中斷向量表是在內(nèi)存中00000到00400h開辟的一個區(qū)域,將每個中斷服務(wù)程序的入口地址存放其中。共1KB,可以存放256個中斷向量。查表方法:中斷號*4=中斷向量表地址低16位——偏移量高16位——代碼段地址例:INT13H入口地址CS:IP=0210:045D5D041002IPCS0000:004C類型0中斷入口(除法出錯)類型1中斷入口(單步中斷)類型2中斷入口(NMI)類型3中斷入口(斷點(diǎn)中斷)類型4中斷入口(溢出中斷)類型5中斷入口類型31中斷入口類型32中斷入口類型255中斷入口?-?-?-?-1587000000400800C01001407F0803FC供用戶使用系統(tǒng)備用專用中斷IPCSIPCSIPCS圖8086中斷向量表中斷向量表的初始化初始化——將中斷服務(wù)程序的入口地址放入向量表例:中斷類型碼為48H的中斷處理子程序的名字為int48h,編寫程序段將該中斷處理子程序的入口地址放入向量表。中斷向量表的初始化CLIMOVAX,0MOVDS,AXMOVSI,48H*4MOVAX,OFFSETint48hMOV[SI],AXMOVAX,SEGint48hMOV[SI+2],AX

STI264.中斷響應(yīng)條件向CPU發(fā)出中斷請求CPU處于開中斷狀態(tài)。即IF標(biāo)志為1。CPU復(fù)位時,自動關(guān)中斷,當(dāng)CPU響應(yīng)任何中斷時,也立即自動關(guān)中斷。在中斷服務(wù)程序中用開中斷指令STI開中斷。CPU在一條現(xiàn)行指令結(jié)束之后響應(yīng)中斷。5.中斷處理過程一個中斷處理過程應(yīng)該包含以下五個過程: (1)中斷請求 (2)中斷排隊 (3)中斷響應(yīng) (4)中斷服務(wù) (5)中斷返回1)中斷請求外設(shè)接口(中斷源)發(fā)出中斷請求信號,送到CPU的INTR或NMI引腳;中斷請求信號:邊沿請求,電平請求

例如,NMI為邊沿請求,INTR為電平請求中斷請求信號應(yīng)保持到中斷被處理為止;CPU響應(yīng)中斷后,中斷請求信號應(yīng)及時撤銷。在8086/8088系統(tǒng)中,外設(shè)的中斷要經(jīng)過8259A可編程中斷控制器(PIC)的排隊判優(yōu)后向CPU發(fā)出:

(I/O接口)

→8259A→CPU(INTR)2)中斷排隊中斷源識別中斷源有很多,CPU必須識別是哪一個設(shè)備產(chǎn)生中斷。識別中斷源有兩個方法:軟件查詢。將中斷信號從數(shù)據(jù)總線讀入,用程序進(jìn)行判別。中斷矢量法。由中斷源提供中斷類型號,CPU根據(jù)類型確定中斷源。(8086/8088即采用此種方法)2)中斷排隊中斷判優(yōu)確定當(dāng)前所有中斷請求中優(yōu)先級最高的中斷源。因為CPU一次只能響應(yīng)一個中斷,所以必須首先處理最緊急最重要的中斷。根據(jù)中斷源的輕重緩急給予一個中斷優(yōu)先權(quán)級別,優(yōu)先權(quán)級別最高的中斷源將首先得到響應(yīng)。中斷優(yōu)先級的控制方法硬件判優(yōu)——鏈?zhǔn)脚袃?yōu)、并行判優(yōu)(中斷向量法)軟件判優(yōu)——順序查詢中斷請求,先查詢的先服務(wù)(即先查詢的優(yōu)先級別高)x86系統(tǒng)中,這項任務(wù)由8259A和CPU共同完成。3)中斷響應(yīng)CPU通過中斷排隊確定了要響應(yīng)的中斷源后,進(jìn)入中斷響應(yīng),自動完成以下步驟:

①標(biāo)志寄存器入棧②關(guān)中斷;0→IF③保護(hù)斷點(diǎn),將正要執(zhí)行的程序地址(CS:IP)入棧;④形成中斷服務(wù)程序入口地址。3)中斷響應(yīng)(續(xù))CPU中斷響應(yīng)時,要做下述三項工作:向中斷源發(fā)出INTA中斷響應(yīng)信號;斷點(diǎn)保護(hù),包括FLAGS和CS、IP。這主要是保證中斷結(jié)束后能返回被中斷的程序。獲得中斷服務(wù)程序首地址(入口)。

[中斷類型碼*4]=>IP

[中斷類型碼*4+2]=>CS338086硬件中斷的時序8086從INTA發(fā)出中斷響應(yīng)信號;第一個總線周期用來通知外設(shè),CPU準(zhǔn)備響應(yīng)中斷,第二個總線周期接收外設(shè)發(fā)回的中斷類型碼,該類型碼必須通過16位數(shù)據(jù)總線的低8位傳送。4)中斷處理(中斷服務(wù))中斷服務(wù)是指CPU執(zhí)行中斷服務(wù)程序。中斷服務(wù)程序應(yīng)包括:①保護(hù)現(xiàn)場,CPU響應(yīng)中斷時自動保護(hù)斷點(diǎn),寄存器則由程序員決定是否要入棧;②開中斷,CPU響應(yīng)中斷時,自動執(zhí)行關(guān)中斷操作。要實現(xiàn)中斷嵌套,必須在中斷服務(wù)程序中開中斷;4)中斷處理(中斷服務(wù))③中斷處理,對中斷源作相應(yīng)的處理,是中斷服務(wù)程序的核心;④關(guān)中斷,若中斷服務(wù)程序設(shè)置了開中斷,則此時應(yīng)該關(guān)中斷,以保證恢復(fù)現(xiàn)場的操作不被打斷;⑤恢復(fù)現(xiàn)場,按后進(jìn)先出的原則,PUSH和POP應(yīng)配對使用;⑥中斷返回,從堆棧中彈出斷點(diǎn),返回主程序。5)中斷返回執(zhí)行中斷返回指令I(lǐng)RETIRET指令將使CPU把堆棧內(nèi)保存的斷點(diǎn)信息彈出到IP、CS和FLAG中,保證被中斷的程序從斷點(diǎn)處能夠繼續(xù)往下執(zhí)行。IPLIPHCSLCSHFLAGLFLAGHSPIPLIPHCSLCSHFLAGLFLAGHSPIPCSFLAG進(jìn)入中斷服務(wù)程序時中斷返回后(1)中斷響應(yīng)(2)標(biāo)志寄存器入棧(3)關(guān)中斷:0→IF(4)保存斷點(diǎn):(CS:IP)

溫馨提示

  • 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

提交評論