ch07 微型計(jì)算機(jī)的中斷系統(tǒng)_第1頁(yè)
ch07 微型計(jì)算機(jī)的中斷系統(tǒng)_第2頁(yè)
ch07 微型計(jì)算機(jī)的中斷系統(tǒng)_第3頁(yè)
ch07 微型計(jì)算機(jī)的中斷系統(tǒng)_第4頁(yè)
ch07 微型計(jì)算機(jī)的中斷系統(tǒng)_第5頁(yè)
已閱讀5頁(yè),還剩83頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、第七章微機(jī)的中斷系統(tǒng),7.1中斷系統(tǒng)的基本概念,7.1.1中斷的基本概念所謂中斷是指當(dāng)中央處理器執(zhí)行一個(gè)程序時(shí),某個(gè)外部或內(nèi)部事件突然發(fā)生,并要求中央處理器進(jìn)行處理。中央處理器暫停當(dāng)前正在執(zhí)行的程序,并轉(zhuǎn)而執(zhí)行處理該事件的服務(wù)程序。服務(wù)完成后,中央處理器返回原程序被中斷的地方繼續(xù)執(zhí)行。這個(gè)過(guò)程叫做中斷。1.基本概念,中斷源:導(dǎo)致中斷的內(nèi)部或外部事件中斷類型號(hào):每個(gè)中斷源都有一個(gè)唯一編號(hào)的斷點(diǎn):即將在程序中執(zhí)行但由于中斷而未執(zhí)行的指令的地址簡(jiǎn)稱為中斷斷點(diǎn)。包括段地址和偏移地址。中斷服務(wù)程序:處理中斷事件的程序段;2.中斷系統(tǒng)是指實(shí)現(xiàn)中斷功能的一套軟件和硬件。它具有以下功能:可以實(shí)現(xiàn)中斷響應(yīng)、中斷

2、服務(wù)和中斷返回。可以實(shí)現(xiàn)中斷優(yōu)先級(jí)排隊(duì)??梢詫?shí)現(xiàn)中斷嵌套。3、計(jì)算機(jī)系統(tǒng)的性能,并行處理能力,實(shí)現(xiàn)中央處理器和多個(gè)外設(shè)的同時(shí)操作,提高中央處理器的效率。實(shí)時(shí)處理能力當(dāng)計(jì)算機(jī)應(yīng)用于實(shí)時(shí)控制時(shí),它能夠及時(shí)響應(yīng)外部事件并及時(shí)處理故障,而不影響其他程序的運(yùn)行。多任務(wù)在操作系統(tǒng)的調(diào)度下運(yùn)行,多個(gè)任務(wù)交替運(yùn)行。(1)中斷請(qǐng)求:中斷源發(fā)出中斷請(qǐng)求信號(hào)。(2)中斷仲裁:優(yōu)先處理申請(qǐng)中斷的中斷源的過(guò)程稱為中斷仲裁。(3)中斷響應(yīng):是從請(qǐng)求有效的時(shí)間到傳輸中斷服務(wù)程序的入口地址的時(shí)間。實(shí)現(xiàn)程序的切換。(4)中斷服務(wù)(處理):中斷程序的主體。(5)中斷返回:使得中斷響應(yīng)過(guò)程中的斷點(diǎn)地址和標(biāo)志寄存器的內(nèi)容從堆棧中彈出

3、,以便繼續(xù)執(zhí)行原始程序。4、中斷處理,(1)中斷請(qǐng)求,這可能是由內(nèi)部標(biāo)志或指令引起的;它也可能由外部電路引起。(2)中斷仲裁。當(dāng)多個(gè)中斷源同時(shí)請(qǐng)求中斷時(shí),中央處理器應(yīng)該根據(jù)中斷源的優(yōu)先級(jí)順序響應(yīng)中斷。首先響應(yīng)高優(yōu)先級(jí)的請(qǐng)求,然后響應(yīng)低優(yōu)先級(jí)的請(qǐng)求。軟件查詢優(yōu)先級(jí)排隊(duì)方法的執(zhí)行程序按照順序逐位查詢中斷請(qǐng)求寄存器的狀態(tài),查詢順序決定優(yōu)先級(jí)。硬件優(yōu)先級(jí)區(qū)分的菊花鏈方法串聯(lián)每個(gè)接口,靠近中央處理器的高優(yōu)先級(jí)“矢量”優(yōu)先級(jí)排隊(duì)電路的優(yōu)先級(jí)由一個(gè)特殊的中斷控制器管理。(3)中斷響應(yīng),從中央處理器接收到中斷請(qǐng)求到切換執(zhí)行中斷服務(wù)程序的過(guò)程是中斷響應(yīng)。中央處理器從當(dāng)前執(zhí)行的程序切換到中斷服務(wù)程序,硬件完成一系

4、列中斷響應(yīng)操作,如關(guān)閉中斷、保存斷點(diǎn)、獲取中斷服務(wù)程序的入口地址。(4)中斷服務(wù)(處理),1保護(hù)場(chǎng)景,保護(hù)場(chǎng)景的本質(zhì):將重要信息推入堆棧。2打開中斷目的:打開所有可屏蔽中斷以允許高級(jí)中斷嵌套3執(zhí)行中斷服務(wù)例程中斷服務(wù)例程主體-中斷目的。4.中斷目的:中斷以確??煽坑行У恼军c(diǎn)恢復(fù)。5.恢復(fù)現(xiàn)場(chǎng)。還原場(chǎng)景的本質(zhì):彈出原來(lái)壓入堆棧的內(nèi)容。7.2 8086CPU中斷系統(tǒng),指令中斷INTn,異常中斷包括:故障異常陷阱,異常終止異常,微處理器中的邏輯中斷,irq0irq1irq2: irq15,未屏蔽中斷,屏蔽中斷外部中斷控制器,7.2.1 8086中斷分類,1。外部中斷,非屏蔽中斷常見的非屏蔽中斷包括:

5、(1)電源故障;(2)內(nèi)存檢查錯(cuò)誤;(3)總線奇偶校驗(yàn)錯(cuò)誤等。可屏蔽中斷(INTR):含義:軟件可以用來(lái)控制是否允許外部中斷的中斷。也就是說(shuō),科技創(chuàng)新使中頻=1,允許中斷;命令行界面使中頻=0,中斷禁用。常見的INTR中斷有:所有外部設(shè)備中斷,如鍵盤、內(nèi)部中斷是由8086內(nèi)部執(zhí)行程序異常引起的程序中斷。通過(guò)內(nèi)部中斷,微處理器為用戶提供了發(fā)現(xiàn)、調(diào)試和解決程序執(zhí)行過(guò)程中異常情況的有效途徑。例如,只讀存儲(chǔ)器和操作系統(tǒng)通過(guò)使用內(nèi)部中斷為程序員提供各種函數(shù)調(diào)用,內(nèi)部中斷的中斷類型號(hào)已經(jīng)確定,劃分錯(cuò)誤。如果除數(shù)為0或商超出寄存器所表示的范圍,則會(huì)產(chǎn)生一個(gè)矢量數(shù)為0的內(nèi)部中斷,稱為除法錯(cuò)誤中斷,例如:mov

6、bl,0 idivbl劃分BL0,生成劃分錯(cuò)誤中斷,movax,200h movbl,1 div bl;商200H,不能用AL表示;產(chǎn)生除法錯(cuò)誤中斷,指令中斷,一種在執(zhí)行中斷調(diào)用指令I(lǐng)NT n時(shí)產(chǎn)生的向量數(shù)為n(0 255)的內(nèi)部中斷,稱為指令中斷,其中向量數(shù)為3的指令中斷是特殊的(產(chǎn)生一個(gè)字節(jié)的指令代碼:11001100),它經(jīng)常用于程序調(diào)試,稱為斷點(diǎn)中斷,例如,運(yùn)行DEBUG.EXE調(diào)試程序的命令g設(shè)置的斷點(diǎn)。它是通過(guò)使用INT 3指令,溢出中斷來(lái)實(shí)現(xiàn)的。當(dāng)執(zhí)行溢出中斷指令I(lǐng)NTO時(shí),如果溢出標(biāo)志OF為1,則產(chǎn)生一個(gè)矢量數(shù)為4的內(nèi)部中斷,稱為溢出中斷,例如:movax,2000h adda

7、x,7000h2000H7000H9000H,溢出:1進(jìn);溢出中斷和單步中斷是由OF1產(chǎn)生的。如果單步中斷TF為1,則在執(zhí)行每條指令后會(huì)產(chǎn)生一個(gè)矢量編號(hào)為1的內(nèi)部中斷,這稱為單步中斷。例如,DEBUG.EXE調(diào)試程序的單步命令T使用單步中斷來(lái)實(shí)現(xiàn)程序的單步調(diào)試。3.中斷優(yōu)先級(jí)從高到低為:內(nèi)部中斷(單步中斷除外)NMI中斷INTR中斷單步中斷。除單步中斷外,任何內(nèi)部中斷優(yōu)先于外部中斷。7.2.2中斷向量表,含義:中斷服務(wù)程序入口地址(CS:IP)的組成和格式:共4字節(jié),段地址和偏移地址。段地址,偏移地址,返回,1。中斷向量,2。中斷向量表,意思是:存儲(chǔ)256個(gè)中斷向量的存儲(chǔ)區(qū)。也就是說(shuō),存儲(chǔ)中斷

8、服務(wù)程序入口地址的存儲(chǔ)區(qū)稱為中斷向量表。中斷向量表大小:1KB中斷向量表地址范圍:00000H003FFH。中斷向量地址、中斷類型號(hào)n及其對(duì)應(yīng)的中斷向量存儲(chǔ)起始地址之間的關(guān)系是:起始地址=4n最后一個(gè)地址=4n 3意味著中斷向量在由4n 4n 3指示的存儲(chǔ)單元中。例,在實(shí)模式下查找中斷服務(wù)程序入口地址的方法(例),例假設(shè)在實(shí)地址模式下存儲(chǔ)在存儲(chǔ)器00140H至00147H中的數(shù)據(jù)如右圖所示,并為中斷51H查找中斷服務(wù)程序入口地址。解決方案:(1)找到中斷向量的第一個(gè)地址和最后一個(gè)地址。從中斷類型號(hào)51H,我們可以知道中斷向量的第一個(gè)地址是51H4=144H(向左移動(dòng)兩位的方法),最后一個(gè)地址是

9、51H4 3=147h。(2)從對(duì)應(yīng)于第一個(gè)和最后一個(gè)地址的四個(gè)單元中找出中斷向量。也就是說(shuō),從00144H到00147H的內(nèi)容是中斷號(hào)51h的中斷向量可以與中斷向量組成和格式進(jìn)行比較,所以中斷服務(wù)程序的入口地址是段地址16偏移地址=45400H 3430H=48830H,解決方案,中斷向量組成和格式,返回,3,中斷向量設(shè)置方法一個(gè)DOS函數(shù)調(diào)用(21H)保存中斷向量AH=35H AL=中斷類型號(hào)INT 21H并發(fā)送3360BX=中斷向量獲取原始中斷向量,并保存原始中斷向量。DOS函數(shù)調(diào)用(21H)設(shè)置中斷向量AH=25H AL=中斷類型號(hào)ds3360dx=中斷向量int 21h mov ax

10、,segintr proc mov ds,ax mov dx。中斷向量設(shè)置方法(1):通過(guò)發(fā)送類指令直接設(shè)置中斷向量movax,0moves,axmobx,n * 4movex,offset intr procmovax :bx,ax;偏移地址(n * 4) movax,segintr proc movaes:bx2,ax;段地址(N * 4 2)國(guó)際號(hào)碼: IRET,3。中斷向量設(shè)置方法(2),7.2.3 8086響應(yīng)中斷,中央處理器響應(yīng)中斷必須滿足以下條件:(1)中央處理器接收到中斷請(qǐng)求;(2)沒(méi)有直接存儲(chǔ)器存取請(qǐng)求;(3)當(dāng)前指令的執(zhí)行結(jié)束,(4)如果是INTR中斷請(qǐng)求,中央處理器還必須

11、打開一個(gè)中斷,即中斷標(biāo)志IF=1。滿足響應(yīng)條件后,進(jìn)入中斷響應(yīng)周期,中斷響應(yīng)操作由硬件自動(dòng)完成。8086中央處理器對(duì)不同類型中斷的響應(yīng)過(guò)程略有不同,主要是獲取中斷類型號(hào)的過(guò)程不同。它可以屏蔽中斷的響應(yīng)過(guò)程。(1)當(dāng)處理器收到中斷申請(qǐng)時(shí),將在處理當(dāng)前指令后進(jìn)入響應(yīng)周期。(2)第二階段是中斷響應(yīng)周期,在此期間,中央處理器向外部中斷控制器發(fā)送兩個(gè)響應(yīng)脈沖信號(hào)INTA。第一個(gè)響應(yīng)脈沖通知中斷控制器它已經(jīng)響應(yīng)了外部中斷請(qǐng)求,并要求中斷控制器提供中斷類型號(hào)。在第二個(gè)響應(yīng)脈沖中,中央處理器獲取中斷類型號(hào)。(3)將標(biāo)志寄存器的內(nèi)容壓入堆棧保護(hù),然后清除中頻和中頻標(biāo)志,以禁止INTR引腳、陷阱和單步中斷。(4)

12、按堆棧上的斷點(diǎn)地址。斷點(diǎn)地址:指中斷期間中央處理器要執(zhí)行的下一條指令對(duì)應(yīng)的邏輯地址。順序:先按斷點(diǎn)地址CS,然后按偏移地址EIP(或IP)。(5)在獲得中斷類型號(hào)n后,中央處理器通過(guò)中斷類型號(hào)和中斷服務(wù)程序入口地址之間的關(guān)系找出與該類型對(duì)應(yīng)的段基址和偏移地址,然后轉(zhuǎn)移到中斷服務(wù)程序入口地址。完成中斷響應(yīng)任務(wù)。7.3中斷控制器8259A,I. 8259A主要功能:(1)8位可編程中斷控制器,也稱為優(yōu)先級(jí)控制器(2)處理8級(jí)矢量?jī)?yōu)先級(jí)中斷(3)提供中斷類型號(hào)(4)8259A芯片級(jí)聯(lián)形成一個(gè)強(qiáng)大的中斷管理系統(tǒng)(多達(dá)64級(jí)外部中斷)。(5)可編程優(yōu)先級(jí)模式(6)多級(jí)中斷管理、7 . 3 . 1 825

13、9 a的引腳信號(hào)、連接到中央處理器的引腳D7D0為8位雙向數(shù)據(jù)線A0:端口選擇信號(hào)CS:芯片選擇信號(hào)RD和WR:讀/寫控制信號(hào)INTA:中斷響應(yīng)輸入信號(hào)INT:中斷請(qǐng)求輸出信號(hào)Pin IRi:8連接到中斷源:8中斷源中斷請(qǐng)求終端級(jí)聯(lián)擴(kuò)展引腳CAS0 CAS2級(jí)聯(lián)信號(hào)SP/EN:從芯片/緩沖區(qū)許可控制(1)無(wú)緩沖作為輸入:sp: 1=主芯片, 0=從芯片(2)緩沖為輸出:en: 1中央處理器寫入,0中央處理器讀取、7.3.2 8259A內(nèi)部結(jié)構(gòu),中斷請(qǐng)求寄存器IRR,功能:記錄外部中斷源的中斷請(qǐng)求狀態(tài)。 狀態(tài):1。相應(yīng)的引腳有中斷請(qǐng)求,但尚未響應(yīng)。0.相應(yīng)的引腳有中斷請(qǐng)求或已被響應(yīng)。寄存器位引腳

14、、中斷優(yōu)先級(jí)鑒別器PR和優(yōu)先級(jí)鑒別器PR用于確定存儲(chǔ)在與中斷so相對(duì)應(yīng)的IRR中的每個(gè)中斷請(qǐng)求信號(hào)的優(yōu)先級(jí)中斷服務(wù)寄存器ISR,功能:記錄外部中斷源中斷應(yīng)用的服務(wù)狀態(tài)。狀態(tài):1相應(yīng)引腳的中斷請(qǐng)求已被響應(yīng)(服務(wù)),服務(wù)尚未結(jié)束。0對(duì)應(yīng)引腳的中斷請(qǐng)求沒(méi)有響應(yīng)。寄存器位引腳,中斷屏蔽寄存器IMR,功能:設(shè)置外部中斷源的中斷屏蔽狀態(tài)。在狀態(tài):1,相應(yīng)引腳的中斷被屏蔽。0對(duì)應(yīng)引腳的中斷未被屏蔽。請(qǐng)注意,在:中,只有當(dāng)IMRi的相應(yīng)位為0且中頻=1時(shí),中央處理器才有可能響應(yīng)可屏蔽中斷。寄存器位引腳,數(shù)據(jù)總線緩沖器,這是一個(gè)三態(tài)雙向8位緩沖器,是8259A和中央處理器系統(tǒng)數(shù)據(jù)總線之間的接口。數(shù)據(jù)總線緩沖器的

15、主要功能如下:(1)中央處理器通過(guò)數(shù)據(jù)總線緩沖器向8259A發(fā)送命令。(2)中央處理器接收8259A狀態(tài)信息。(3)在中斷響應(yīng)周期中,中央處理器獲得中斷類型號(hào)。讀/寫邏輯接收中央處理器發(fā)送的讀/寫控制信號(hào)、芯片選擇信號(hào)和地址選擇信號(hào),并讀寫內(nèi)部寄存器。級(jí)聯(lián)緩沖器/比較器,用于存儲(chǔ)和比較級(jí)聯(lián)主從結(jié)構(gòu)(由兩個(gè)以上8259A組成的系統(tǒng))中每個(gè)8259A的從設(shè)備標(biāo)識(shí)??刂七壿嫞刂七壿嬍强刂?259A所有內(nèi)部組件的主要邏輯電路。主要功能包括:(1)根據(jù)中央處理器為8259A編程的工作模式產(chǎn)生內(nèi)部控制信號(hào)。(2)如果中斷請(qǐng)求寄存器IRR有未屏蔽的位,控制邏輯發(fā)送一個(gè)中斷請(qǐng)求信號(hào)int給對(duì)應(yīng)于當(dāng)時(shí)最高優(yōu)先

16、級(jí)中斷源的中央處理器。(3)接收中央處理器發(fā)送的中斷響應(yīng)信號(hào),并允許設(shè)置中斷服務(wù)寄存器ISR的相應(yīng)位(ISRi)。(4)控制發(fā)出相應(yīng)的中斷類型號(hào)供中央處理器讀取。8259A工作過(guò)程,(2)如果發(fā)送了中斷應(yīng)用信號(hào),并且中央處理器作出響應(yīng),則在中央處理器中斷響應(yīng)周期內(nèi)發(fā)送中斷類型號(hào)。在中央處理器接收到INTR上的中斷應(yīng)用信號(hào)后,如果中頻標(biāo)志為0,則中央處理器不響應(yīng)中斷應(yīng)用信號(hào),即中斷應(yīng)用被中頻屏蔽。如果中頻標(biāo)志為1,處理當(dāng)前指令后,進(jìn)入中斷響應(yīng)周期:通過(guò)INTA引腳發(fā)出兩個(gè)負(fù)脈沖信號(hào),從數(shù)據(jù)總線獲得中斷類型號(hào),進(jìn)入中斷響應(yīng)過(guò)程。8259A中斷響應(yīng)周期、Cas0cas2、D0D7、SP/EN,在第二個(gè)周期中,T1 T2 T3 T4、8259A、LOCK、2。在什么情況下ISR=FFH?3.FFH,計(jì)算機(jī)系統(tǒng)會(huì)發(fā)生什么?4.內(nèi)部收益率=0ah和內(nèi)部收益率=0ah可能嗎?參考答案:1。所有八個(gè)中斷源都有請(qǐng)求,但沒(méi)有一個(gè)得到中央處理器的響應(yīng)。2.從最低優(yōu)先級(jí)到最高優(yōu)先級(jí)進(jìn)入中斷服務(wù)程序,但沒(méi)有一個(gè)程序完成中斷處理。(8級(jí)中斷嵌套)3。系統(tǒng)將癱瘓(禁止所有硬件中斷)。4.ISR=0AH可能表示對(duì)應(yīng)于IR1和IR3的中斷請(qǐng)求已被響應(yīng),但尚未完成。此時(shí),IR1和IR3已重新應(yīng)用,但尚未響應(yīng)。7.3.3工作模式、優(yōu)先模式、中

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論