版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、7.17.27.37.47.57.6中斷概述CPU響應(yīng)中斷的條件和過(guò)程中斷優(yōu)先權(quán)及多重中斷8088的中斷方式IBM PC/XT的中斷方式中斷控制器8259A第七章 中斷系統(tǒng)7.1中斷概述中斷:是指CPU在正常運(yùn)行程序時(shí),由程序預(yù)先安排好的,或者由內(nèi)、外部引起CPU中斷正在運(yùn)行的程序,轉(zhuǎn)到為預(yù)先安排的這些引起程序中斷的CPU中預(yù)先設(shè)定?;騼?nèi)、外部服務(wù)的程序中去。稱為中斷源。PC的中斷指令在 7.1.1應(yīng)用中斷的好處:1. 同步操作2. 實(shí)現(xiàn)實(shí)時(shí)處理3. 故障處理 7.6.1中斷的概念 中斷常用術(shù)語(yǔ)(1)中斷返回處理完成后,要返回原程序A, 當(dāng)計(jì)算機(jī)對(duì)緊急實(shí)際上是將從斷點(diǎn)處繼續(xù)執(zhí)行原程序,這個(gè)過(guò)程
2、稱為中 斷返回。 (2)中斷服務(wù)程序的處理程序B,稱為中斷服務(wù)程序。中斷非尋常 服務(wù)程序是程序員事先安排好的程序,非尋常一般 是指發(fā)生的時(shí)間是無(wú)法預(yù)知的,但的性質(zhì)及處 理方法是已知的。7.6.1中斷的概念 (3)中斷現(xiàn)場(chǎng)和保護(hù)現(xiàn)場(chǎng)計(jì)算機(jī)正在運(yùn)行程序A,收到緊急的要求,中斷 了當(dāng)前程序A;在中斷時(shí)刻,程序A運(yùn)行的當(dāng)前狀態(tài)稱為 中斷現(xiàn)場(chǎng)。它應(yīng)包括狀態(tài)寄存器的狀態(tài),以及CPU內(nèi)部 寄存器的當(dāng)前內(nèi)容。為了使中斷返回后這些信息不會(huì)丟 失,必須加以保護(hù),這稱為保護(hù)現(xiàn)場(chǎng)。保護(hù)的方法有些是靠硬件自動(dòng)完成的,有些則靠程序來(lái)實(shí)現(xiàn)。(4)斷點(diǎn)計(jì)算機(jī)正在執(zhí)行程序A,由于某一個(gè)非尋常發(fā)生, 暫停A程序的運(yùn)行,而執(zhí)行緊急
3、處理程序B,程序A 被中斷時(shí)的下一條指令的地址稱為斷點(diǎn)或斷點(diǎn)地址。7.1中斷概述7.1.2 中斷源引起中斷產(chǎn)生的斷源。1. 一般的輸入輸出2. 數(shù)據(jù)通道中斷源3. 實(shí)時(shí)時(shí)鐘4. 故障源或發(fā)出中斷請(qǐng)求的來(lái)源,稱為中 5.為調(diào)試程序而設(shè)置的中斷源7.1中斷概述7.1.3 中斷系統(tǒng)的功能1. 實(shí)現(xiàn)中斷及返回2. 能實(shí)現(xiàn)優(yōu)先排隊(duì)3. 高級(jí)中斷源能中斷低級(jí)的中斷處理 7.2CPU響應(yīng)中斷的條件和過(guò)程7.2.1 CPU響應(yīng)中斷的條件1.設(shè)置中斷請(qǐng)求觸發(fā)器2. 設(shè)置中斷屏蔽觸發(fā)器3. 中斷是開放的4. CPU在現(xiàn)行指令結(jié)束后響應(yīng)中斷 7.2CPU響應(yīng)中斷的條件和過(guò)程7.2.2 CPU對(duì)中斷的響應(yīng)1.關(guān)中斷2
4、. 保留斷點(diǎn)3. 保護(hù)現(xiàn)場(chǎng)4. 給出中斷入口,轉(zhuǎn)入相應(yīng)的中斷服務(wù)程序5. 恢復(fù)現(xiàn)場(chǎng)6. 開中斷與返回 數(shù)據(jù)鎖存器三態(tài)緩沖器1&7.2CPU響應(yīng)中斷的條件和過(guò)程DB數(shù)據(jù)數(shù)據(jù)鎖存器輸入RDIO/M& 設(shè)CPUAB 備地址譯碼器中斷請(qǐng)求觸發(fā)器 RDY 狀態(tài)信號(hào)D1QINT +5V三態(tài)緩沖器7.2CPU響應(yīng)中斷的條件和過(guò)程中斷方式的輸入過(guò)程:1.2.3.外設(shè)準(zhǔn)備好數(shù)據(jù),發(fā)出選通信號(hào)選通信號(hào)將數(shù)據(jù)鎖存,同時(shí)產(chǎn)生中斷信號(hào)若中斷屏蔽觸發(fā)器不屏蔽(即允許中斷),則將 中斷信號(hào)傳送給CPUCPU接收到中斷信號(hào),且IF=1,則CPU響應(yīng)中 斷,發(fā)INTA響應(yīng)信號(hào),清除傳來(lái)的中斷請(qǐng)求信號(hào),并獲取外設(shè)的中斷向量CPU
5、執(zhí)行相應(yīng)的中斷服務(wù)子程序,即讀取數(shù)據(jù)4.5.7.3中斷優(yōu)先權(quán)及多重中斷7.3.1 中斷優(yōu)先權(quán)判別和確定各個(gè)中斷源的優(yōu)先權(quán)可以用軟件和硬件兩種 方法。1.用軟件確定中斷優(yōu)先權(quán)把8個(gè)外設(shè)的中斷請(qǐng)求觸發(fā)器組合起來(lái),作為一個(gè)端口, 并賦以設(shè)備號(hào),把各個(gè)外設(shè)的中斷請(qǐng)求信號(hào)相“或”后, 作為INTR信號(hào),故任一外設(shè)有中斷請(qǐng)求,都可向CPU送出INTR信號(hào)。當(dāng)CPU響應(yīng)中斷后,把中斷寄存器的狀態(tài),作為一個(gè)外設(shè)讀入CPU,逐位檢測(cè)它們的狀態(tài),若有中斷請(qǐng)求就轉(zhuǎn)到相應(yīng)的服務(wù)程序的入口。 7.6.28086的中斷系統(tǒng) 中斷源有許多個(gè),需要用中斷控制器來(lái)進(jìn)行優(yōu)先級(jí)管理: a.當(dāng)多個(gè)中斷同時(shí)發(fā)生時(shí),優(yōu)先級(jí)高的得到響應(yīng)。
6、 b.優(yōu)先級(jí)高的中斷可以中斷優(yōu)先級(jí)低的中斷 中斷優(yōu) 先級(jí)除法錯(cuò)誤,INTO,INT n NMIINTR單步中斷最高最低7.3中斷優(yōu)先權(quán)及多重中斷7.3.1 中斷優(yōu)先權(quán)查詢程序有兩種實(shí)現(xiàn)方法(1)屏蔽法 IN TEST JNE TEST JNE TEST JNEAL,20H AL,80H PWF AL,40H DISS AL,20H MT;輸入中斷請(qǐng)求觸發(fā)器的狀態(tài);檢查最高位;外設(shè)A中斷服務(wù)程序;檢查次高位;外設(shè)B中斷服務(wù)程序;檢查次高位;外設(shè)C中斷服務(wù)程序 7.3中斷優(yōu)先權(quán)及多重中斷7.3.1 中斷優(yōu)先權(quán)(2)移位法XORAL,AL AL,20H AL, 1 PWFAL, 1 DISS IN;
7、輸入中斷請(qǐng)求觸發(fā)器的狀態(tài) RCL JC;外設(shè)A中斷服務(wù)程序 RCLJC;外設(shè)B中斷服務(wù)程序7.3中斷優(yōu)先權(quán)及多重中斷7.3.1 中斷優(yōu)先權(quán)2. 硬件優(yōu)先權(quán)排隊(duì)電路(1) 中斷優(yōu)先權(quán)編碼電路若有8個(gè)中斷源,當(dāng)任意一個(gè)有中斷請(qǐng)求時(shí),通過(guò)或門, 即可有一個(gè)中斷請(qǐng)求信號(hào)產(chǎn)生,能否送至CPU的中斷請(qǐng)求線,還要受比較器的控制。(2) 雛菊花環(huán)(Daisy Chain)式或稱為鏈?zhǔn)絻?yōu)先權(quán)排隊(duì)電路 7.3中斷優(yōu)先權(quán)及多重中斷中斷響應(yīng)(來(lái)自CPU)中斷請(qǐng)求輸入1中斷輸出1中斷請(qǐng)求輸入2 中斷輸出2中斷請(qǐng)求輸入3 中斷輸出3中斷請(qǐng)求輸入4 中斷輸出4鏈?zhǔn)絻?yōu)先權(quán)排隊(duì)電路F/F A&F/F B&F/F C&F/F D
8、& 2)簡(jiǎn)單硬件方式(菊花鏈法)設(shè)備1接口 中斷應(yīng)答中斷請(qǐng)求CPU以及總線控制器INTAINTR菊花鏈邏輯電路邏輯電路邏輯電路設(shè)備3接口菊花鏈設(shè)備2接口菊花鏈7.3中斷優(yōu)先權(quán)及多重中斷7.3.2 多級(jí)中斷的概念多級(jí)中斷系統(tǒng)是指計(jì)算機(jī)系統(tǒng)有相當(dāng)多的中斷源,根據(jù)各中斷的輕重緩急而分成若干級(jí)別,每一中斷級(jí)分配一個(gè)優(yōu)先權(quán)。根據(jù)系統(tǒng)的配置不同,多級(jí)中斷又可分為一維多級(jí)中 斷和二維多級(jí)中斷。一維多級(jí)中斷是指每一中斷中只有一個(gè)中斷源,而二維多級(jí)中斷是指每一級(jí)中斷中又有多個(gè)中斷源。7.3中斷優(yōu)先權(quán)及多重中斷7.3中斷優(yōu)先權(quán)及多重中斷7.48086/8088的中斷方式 1.軟中斷:軟件中斷是CPU根據(jù)程序中的某
9、條指令或程序?qū)?biāo)志寄存器中某個(gè)標(biāo)志的設(shè)置而產(chǎn)生的。(1)DIV(除)或IDIV(整除)指令(2)INT指令(3) INTO指令(4) 單步執(zhí)行 7.48086/8088的中斷方式 2.硬中斷:硬件中斷也稱為外部中斷,CPU提供了兩個(gè)外部中斷輸入引腳,18腳(INTR)可屏蔽中斷輸入引腳,17 腳(NMI)非屏蔽中斷輸入引腳。(1)可屏蔽中斷,出現(xiàn)在INTR線上(2)非屏蔽中斷,出現(xiàn)在NMI線上 7.48086/8088的中斷方式NMITR可屏蔽的中斷請(qǐng)求8086中斷分類IN8086CPU)單步(TF=1除法錯(cuò)誤INT0INT n指令中斷邏輯8259A非屏蔽中斷請(qǐng)求可屏蔽中斷請(qǐng)求通過(guò)8259A中
10、斷控制器產(chǎn)生非屏蔽中斷請(qǐng)求包括掉電、存儲(chǔ)器滿、總線信息奇偶錯(cuò)等類型0中斷除法錯(cuò)誤中斷軟件陷阱類型1中斷單步中斷(TF=1)INT n指令類型為n的中斷指令外部中斷 8086中斷 內(nèi)部中斷INT 3指令斷點(diǎn)中斷指令I(lǐng)NT0指令溢出中斷指令I(lǐng)RET指令中斷返回軟件中斷7.48086/8088的中斷方式 3.中斷向量表中斷向量:中斷處理子程序的入口地址; 中斷向量表:在內(nèi)存的前1KB(地址為00000H003FFH) 區(qū)域存放著256個(gè)中斷向量(或256個(gè)中斷類型) ,每個(gè)中斷向量占用4字節(jié)空間。 7.48086/8088的中斷方式 3.中斷向量表 o每一種中斷類型對(duì)應(yīng)一個(gè)中斷向量;o每個(gè)中斷向量占
11、4個(gè)字節(jié),前兩個(gè)字節(jié)存放中斷處理子程序入口地址的偏移量(IP),后兩個(gè)字節(jié)存放中斷處理子程序入口地址的段地址(CS);o256個(gè)中斷中:0-4為專用中斷,5-31為系統(tǒng)保留(21個(gè)),32以上共224個(gè)為用戶自定義中斷。 8086中斷向量表指出了中斷向量類型碼與中斷向量之間的關(guān)系中斷服務(wù)程序起始地址的計(jì)算:3FEH 3FCH CS基址所在單元IP偏移量所在單元TYPE*4+2TYPE*2可使用的中斷向量084H080H 例:外設(shè)的編碼類型為33,計(jì)算該外設(shè)的中斷服務(wù)程序入口地址07EH保留的中斷向量CS基址所在單元IP偏移量所在單元33*4+2=134=86H33*4=132=84H014H0
12、10H00CH專用的中斷向量008H004H000HCS基址IP偏移量 類型255 類型33類型32 類型31類型5類型4類型3類型2類型1類型07.48086/8088的中斷方式4. 中斷響應(yīng)和處理過(guò)程(1)類型碼乘4,作為中斷向量表指針; (2)CPU標(biāo)志寄存器入棧;(3) 復(fù)制追蹤標(biāo)志T的狀態(tài),清除I和T標(biāo)志,屏蔽新的INTR中斷和單步中斷;(4) 保存主程序中的斷點(diǎn),即把主程序斷點(diǎn)處的IP和CS的 值推入堆棧保護(hù),先推入CS的值,再推入IP的值;(5) 從中斷向量表中取中斷服務(wù)程序的入口地址,分別送 至CS和IP中,先取CS的值;(6) 按新地址執(zhí)行中斷服務(wù)程序。 5、中斷服務(wù)過(guò)程 C
13、PU響應(yīng)中斷請(qǐng)求 中斷服務(wù)程序 對(duì)外部設(shè)備的控制程序主機(jī)與外設(shè)數(shù)據(jù)交換1、保護(hù)現(xiàn)場(chǎng)2、設(shè)置本優(yōu)先級(jí)3、開中斷1、關(guān)中斷2、恢復(fù)CPU現(xiàn)場(chǎng)3、開中斷4、返回指令CPU自動(dòng)執(zhí)行1、關(guān)中斷2、發(fā)出中斷響應(yīng)信號(hào)3、讀入中斷向量地址4、PC內(nèi)容壓棧7.5IBM PC/XT的中斷方式 1.IBM PC/XT的中斷類型(1)內(nèi)部中斷即軟中斷(2)非屏蔽中斷NMI(3)可屏蔽中斷INTR 7.5IBM PC/XT的中斷方式7.5IBM PC/XT的中斷方式 2. IBM PC/XT系統(tǒng)保留的中斷8086CPU最多能處理256種不同的中斷,其中5個(gè)保留 為CPU專用;一部分是由磁盤操作系統(tǒng)DOS保留為系統(tǒng)使用,
14、用戶可以使用200個(gè)左右中斷。 7.5IBM PC/XT的中斷方式7.6中斷控制器8259A7.6.1 8259A的內(nèi)部結(jié)構(gòu)1. 數(shù)據(jù)總線緩沖器2. 中斷請(qǐng)求寄存器(IRR)3. 優(yōu)先權(quán)電路4. 中斷服務(wù)寄存器(ISR)5. 中斷屏蔽寄存器(IMR)6. 控制邏輯7. 讀/寫邏輯8. 級(jí)聯(lián)緩沖/比較器 7.6中斷控制器8259A7.6中斷控制器8259A 1. 數(shù)據(jù)總線緩沖器數(shù)據(jù)總線緩沖器是三態(tài),雙向,8位的緩沖器,D7D0用于和CPU的數(shù)據(jù)總線連接。2. 中斷請(qǐng)求寄存器(IRR)中斷請(qǐng)求寄存器用來(lái)寄存所有IR輸入線輸入的中斷請(qǐng) 求信號(hào),即保存正在請(qǐng)求服務(wù)的中斷級(jí)。 7.6中斷控制器8259A
15、 3. 優(yōu)先權(quán)電路優(yōu)先權(quán)電路的主要作用是確定中斷請(qǐng)求寄存器IRR中 各位的優(yōu)先等級(jí),并確定能否向CPU申請(qǐng)中斷。4. 中斷服務(wù)寄存器(ISR)中斷服務(wù)寄存器ISR的主要作用是保存當(dāng)前被CPU服 務(wù)的中斷級(jí),也就是記錄正在被處理的中斷請(qǐng)求。5. 中斷屏蔽寄存器(IMR)中斷屏蔽寄存器IMR的主要作用是對(duì)各中斷源的中斷請(qǐng) 求信號(hào)(IROIR7)實(shí)現(xiàn)開關(guān)控制。 7.6中斷控制器8259A6.控制邏輯控制邏輯內(nèi)部包括內(nèi)部控制電路,中斷控制電路,初始 化命令寄存器組和操作命令寄存器組, 它根據(jù)CPU對(duì)8259A編程設(shè)定的工作方式產(chǎn)生8259A內(nèi)部控制信號(hào), 并根據(jù)中斷請(qǐng)求寄存器IRR和優(yōu)先權(quán)電路的判別結(jié)
16、果,在適當(dāng)時(shí)候向CPU發(fā)生中斷請(qǐng)求信號(hào),并接收CPU發(fā)來(lái)的 中斷響應(yīng)信號(hào)INTA,控制提供中斷類型號(hào)。 7.6中斷控制器8259A 7. 讀寫邏輯接收CPU來(lái)的控制信號(hào),包括端口控制信號(hào),數(shù)據(jù)方 向控制信號(hào),控制將CPU送來(lái)的初始化命令I(lǐng)CW和操作 命令OCW 存入8259A 內(nèi)部相應(yīng)的寄存器, 用以規(guī)定8259A的工作方式。8. 級(jí)連緩沖/比較器一片8259A最多構(gòu)成8級(jí)中斷(IROIR7),要想擴(kuò)展 中斷源,必須多片連在一起,叫級(jí)連方式。級(jí)連緩沖/比較器的功能有兩個(gè): 提供級(jí)連控制 提供緩沖控制 7.6.4 8259A的編程初始化編程是指系統(tǒng)在上電或復(fù)位后對(duì)可編程器件進(jìn)行控制字設(shè)定的一段程
17、序。1.初始化命令字ICW1、 ICW2、 ICW3、 ICW4ICW1的主要功能:確定級(jí)聯(lián)方式,觸發(fā)方式。ICW2的主要功能:確定中斷向量,中斷類型碼。ICW3的主要功能:確定主片/從片的級(jí)聯(lián)狀態(tài),即確定主 片的連接位和從片的編碼。ICW4的主要功能:選擇CPU系統(tǒng),確定中斷結(jié)束方式,規(guī) 定是主片還是從片,選擇是否采用緩沖方式 7.6.4 8259A的編程8259A的ICW寫入順序N級(jí)聯(lián)YN要ICW4Y初始化結(jié)束寫ICW4寫ICW3寫ICW2寫ICW17.6.4 8259A的編程 2.操作命令字OCW1、 OCW2、 OCW3OCW1的主要功能:保存中斷屏蔽字。OCW2的主要功能:控制825
18、9A的中斷循環(huán)優(yōu)先級(jí)方式 及發(fā)送命令中斷結(jié)束方式。OCW3的主要功能:設(shè)定查詢方式和特殊屏蔽方式。 7.6.4 8259A的編程例7-1.8259A單片應(yīng)用。在某8088系統(tǒng)中擴(kuò)展一片中 斷控制器8259A,其端口地址由74LS138譯碼器譯碼 選擇,假設(shè)8CH和8DH.中斷源的中斷請(qǐng)求線連到IR7輸入線上,邊沿觸發(fā)方式,IR7的中斷類型碼為77H,其 他條件保持8259A的復(fù)位設(shè)置狀態(tài)。要求:寫出8259A 的初始化程序,中斷類型碼為77H的中斷向量設(shè)置程序。解:(1)8259A的初始化程序初始化程序包括寫入ICW1 、ICW2和 ICW4(由于單片使用,不需寫入ICW3),并且必須按規(guī)定的順序?qū)懭搿?)ICW1命令字:?jiǎn)纹?,邊沿觸發(fā),需要ICW4,故為00010011B=13H,寫入偶地址。 7.6.4 8259A的編程2) ICW2命令字:IR7的中斷類型碼為77H,即可作為ICW2命令字寫入,寫入奇地址
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 養(yǎng)老院老人心理健康制度
- 養(yǎng)老院老人緊急救援人員職業(yè)發(fā)展規(guī)劃制度
- 質(zhì)量管理體系制度
- 《運(yùn)動(dòng)健康模板》課件
- 房屋權(quán)屬轉(zhuǎn)移合同(2篇)
- 2024年度市政綠化工程土石方施工補(bǔ)充合同6篇
- 2024年教育軟件銷售與授權(quán)合同3篇
- 《修煉執(zhí)行智慧》課件
- 2025年文山道路客貨運(yùn)輸從業(yè)資格證b2考試題庫(kù)
- 2025年昭通下載b2貨運(yùn)從業(yè)資格證模擬考試考試
- 臨床藥理學(xué)第十四章 腎功能不全臨床用藥
- YS/T 682-2008釕粉
- GB/T 5976-2006鋼絲繩夾
- 麗聲妙想英文繪本第一級(jí) My Dad課件
- 部編版五年級(jí)語(yǔ)文上-句子專項(xiàng)課件
- 初中語(yǔ)文人教九年級(jí)下冊(cè)《統(tǒng)一》PPT
- 國(guó)家開放大學(xué)《開放英語(yǔ)4》期末考試復(fù)習(xí)題及參考答案
- 靜脈治療課件
- 社會(huì)學(xué)理論復(fù)習(xí)資料
- 艱苦邊遠(yuǎn)地區(qū)范圍和類別表
- 經(jīng)方論治冠心病(一)課件
評(píng)論
0/150
提交評(píng)論