![第7章微型計算機(jī)中斷系統(tǒng)-課件1_第1頁](http://file4.renrendoc.com/view/9ade01b68a4c23c56d8b9b3b780e2710/9ade01b68a4c23c56d8b9b3b780e27101.gif)
![第7章微型計算機(jī)中斷系統(tǒng)-課件1_第2頁](http://file4.renrendoc.com/view/9ade01b68a4c23c56d8b9b3b780e2710/9ade01b68a4c23c56d8b9b3b780e27102.gif)
![第7章微型計算機(jī)中斷系統(tǒng)-課件1_第3頁](http://file4.renrendoc.com/view/9ade01b68a4c23c56d8b9b3b780e2710/9ade01b68a4c23c56d8b9b3b780e27103.gif)
![第7章微型計算機(jī)中斷系統(tǒng)-課件1_第4頁](http://file4.renrendoc.com/view/9ade01b68a4c23c56d8b9b3b780e2710/9ade01b68a4c23c56d8b9b3b780e27104.gif)
![第7章微型計算機(jī)中斷系統(tǒng)-課件1_第5頁](http://file4.renrendoc.com/view/9ade01b68a4c23c56d8b9b3b780e2710/9ade01b68a4c23c56d8b9b3b780e27105.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、第7章 微型計算機(jī)的中斷系統(tǒng)7.1 中斷的基本概念7.2 8086的中斷結(jié)構(gòu)7.3 可編程中斷控制器8259A7.4 中斷調(diào)用本章主要目標(biāo)1.8259A工作原理、工作方式、編程方法及應(yīng)用。2.可屏蔽中斷的中斷響應(yīng)過程。3.中斷程序的設(shè)置與設(shè)計方法。4.常用中斷調(diào)用方法。7.1 中斷的基本概念7.1.1 中斷及中斷源7.1.2 中斷系統(tǒng)的功能7.1.3 中斷處理過程7.1.4 中斷判別的方法7.1.1 中斷與中斷源1.中斷: 在CPU正常運(yùn)行程序時,由于內(nèi)部事件、外部事件或由程序預(yù)先安排的事件所引起的CPU暫時停止正在運(yùn)行的程序,而轉(zhuǎn)去執(zhí)行請求CPU服務(wù)的內(nèi)部/外部事件或預(yù)先安排事件的服務(wù)程序,
2、待服務(wù)程序處理完畢后又返回去繼續(xù)執(zhí)行被暫停的程序。2.中斷源 : 發(fā)出中斷請求的外部設(shè)備或引起中斷的內(nèi)部原因稱為中斷源。常見的中斷源有: (1)故障中斷,如電源掉電、內(nèi)存奇偶錯等;(2)軟件中斷,如CPU執(zhí)行某些指令或操作引起的中斷等;(3)輸入輸出設(shè)備中斷,如打印機(jī)、CRT、磁盤等;(4)實(shí)時時鐘,如定時器提供的實(shí)時信號等。7.1.1 中斷與中斷源3. 中斷識別: 即找出是哪一個中斷源發(fā)出的中斷請求。 中斷識別的目的是要形成該中斷源的中斷服務(wù)程序的入口地址,以便CPU將此地址置入 CS:IP寄存器 ,從而實(shí)現(xiàn)程序的轉(zhuǎn)移。7.1.1 中斷及中斷源此 結(jié)束7.1.2 中斷系統(tǒng)的功能 中斷系統(tǒng)是指
3、實(shí)現(xiàn)中斷功能的軟硬件的統(tǒng)稱。 中斷系統(tǒng)的功能:1.正確識別中斷請求,實(shí)現(xiàn)中斷響應(yīng)、中斷處理及中斷返回。2.實(shí)現(xiàn)中斷優(yōu)先級排隊(duì)。3.實(shí)現(xiàn)中斷嵌套。7.1.2 中斷系統(tǒng)的功能 結(jié)束7.1.3 中斷處理過程中斷請求中斷判優(yōu)中斷響應(yīng)中斷處理中斷返回7.1.3中斷處理過程圖 中斷處理過程-1判優(yōu)邏輯進(jìn)行優(yōu)先排隊(duì)中斷源提出中斷請求CPU執(zhí)行完當(dāng)前指令CPU取下一條指令中斷請求信號有效?CPU允許中斷否?CPU關(guān)閉中斷保護(hù)程序斷點(diǎn)找出中斷源,形成中斷服務(wù)程序入口地址,并轉(zhuǎn)向中斷服務(wù)程序中斷請求中斷判優(yōu)中斷響應(yīng)7.1.3中斷處理過程保護(hù)現(xiàn)場 執(zhí)行中斷服務(wù)程序恢復(fù)現(xiàn)場CPU開放中斷 返回原程序斷點(diǎn)處中斷處理中斷
4、返回圖 中斷處理過程-27.1.3中斷處理過程 結(jié)束開中斷關(guān)中斷7.1.4 中斷判別的方法軟件查詢判優(yōu)鏈?zhǔn)诫娐放袃?yōu)專用硬件方式中斷的多級嵌套1軟件查詢判優(yōu)圖 軟件查詢判優(yōu)電路IRQ0IRQ1IRQ2IRQ3IRQ4IRQ5IRQ6IRQ71 并行輸入接口 INTRD0D7 CPU中斷請求寄存器1軟件查詢判優(yōu)斷點(diǎn)保護(hù)IRQ0?IRQ1?IRQ7?中斷返回中斷源0的中斷服務(wù)程序中斷源1的中斷服務(wù)程序中斷源7的中斷服務(wù)程序NNNYYY圖 軟件查詢程序流程圖2鏈?zhǔn)诫娐放袃?yōu)CPUINTAINTR1 A1B1I/O7I/O接口接口1 1 1 1 1 1 1 1 圖 鏈?zhǔn)絻?yōu)先權(quán)排隊(duì)電路0I/O接口3專用硬件
5、方式 在微型機(jī)中普遍使用一種可編程的中斷控制器(如Intel 8259A)實(shí)現(xiàn)中斷優(yōu)先級的管理。4中斷的多級嵌套請求中斷響應(yīng)中斷響應(yīng)請求中斷返回中斷返回低級中斷服務(wù)程序高級中斷服務(wù)程序圖 兩級中斷嵌套的示意圖 一個中斷請求尚未處理完,又轉(zhuǎn)而處理新的中斷請求,稱為中斷的多級嵌套或稱為多級中斷。 7.1.4 中斷判別的方法 7.1 中斷的基本概念 結(jié)束7.2 8086的中斷結(jié)構(gòu)7.2.1 8086的中斷類型7.2.2 中斷向量和中斷向量表7.2.3 中斷向量的裝入7.2.4 8086的中斷響應(yīng)過程7.2.1 8086的中斷類型外部中斷:由外部硬件請求產(chǎn)生的中斷,所以又稱為硬件中斷。內(nèi)部中斷:由指令
6、的執(zhí)行或者軟件對標(biāo)志寄存器中某個標(biāo)志的設(shè)置產(chǎn)生的中斷,所以又稱為軟件中斷。8086/8088中斷源類型NMIINTR中斷邏輯軟件中斷指令溢出中斷除法錯單步中斷非屏蔽中斷請求中斷控制器8259APIC8086/8088CPU內(nèi)部邏輯斷點(diǎn)中斷n43012可屏蔽中斷請求1外部中斷(1)非屏蔽中斷NMI。用戶不能用軟件屏蔽的中斷。(2)可屏蔽中斷INTR。8086的INTR中斷請求信號來自中斷控制器8259A,是電平觸發(fā)方式,高電平有效。2內(nèi)部中斷(1)專用中斷: 在中斷向量表中,類型號04中除了類型號2的NMI非屏蔽中斷外,其余均為專用的軟件中斷,它們通常是由某個標(biāo)志位引起的中斷。 0型中斷除法出錯
7、中斷。 1型中斷單步中斷(TF=1)。 3型中斷斷點(diǎn)中斷(INT 3)。 4型中斷溢出中斷(INTO指令,條件:OF=1 )(2)指令中斷: INT n指令,其類型號就是給定的n。7.2.1 8086的中斷類型 結(jié)束7.2.2 中斷向量和中斷向量表中斷向量:中斷服務(wù)程序的入口地址。 組成:共4個字節(jié),段地址及偏移地址(CS:IP) 。中斷向量表:把系統(tǒng)中所有的中斷向量集中起來放到存儲器的某一區(qū)域內(nèi),這個存放中斷向量的存儲區(qū)就叫中斷向量表或中斷服務(wù)程序入口地址表。中斷類型號:中斷向量表的每一個向量的序號就是中斷類型號,共256個中斷類型。中斷向量地址:中斷向量在表中的位置稱為中斷向量地址。 中斷
8、向量地址中斷類型號47.2.2 中斷向量和中斷向量表類型0中斷入口(除法出錯)類型1中斷入口(單步中斷)類型2中斷入口(NMI)類型3中斷入口(斷點(diǎn)中斷)類型4中斷入口(溢出中斷)類型5中斷入口類型31中斷入口類型32中斷入口類型255中斷入口IPCSIPCSIPCS00000400800C01001407C0803FC專用中斷系統(tǒng)備用供用戶使用低地址偏移地址低字節(jié)偏移地址高字節(jié)高地址段地址低字節(jié)段地址高字節(jié)偏移地址段地址IBM-PC/XT中斷類型號的功能分配類型碼中斷源類型碼中斷源類型碼中斷源00H被0除0FH并口1中斷1EH磁盤參數(shù)01H單步中斷10H顯示器驅(qū)動程序1FH圖形字符集02HN
9、MI11H設(shè)備檢測20H程序結(jié)束03H斷點(diǎn)中斷12H存儲器檢測21HDOS系統(tǒng)調(diào)用04H溢出中斷13H軟盤驅(qū)動程序22H結(jié)束地址05H屏幕打印中斷14H通信驅(qū)動程序23HCtrl-Break夭折鍵處理06H(保留)15H盒式磁帶機(jī)驅(qū)動程序24H關(guān)鍵性錯誤處理07H(保留)16H硬盤驅(qū)動程序25H磁盤順序讀08H定時電路中斷17H打印機(jī)驅(qū)動程序26H磁盤順序?qū)?9H鍵盤中斷18HBASIC程序27H程序結(jié)束且駐留內(nèi)存0AH保留的硬件(級聯(lián))中斷19H引導(dǎo)(BOOT)程序28HDOS內(nèi)部使用0BH異步串口2中斷1AH年月日定時中斷29-2EDOS保留使用0CH異步串口1中斷1BH用戶鍵盤2FHDO
10、S內(nèi)部使用0DH并口2中斷1CH用戶定時器時標(biāo)30-3FDOS保留使用0EH軟盤中斷1DHCRT初始化參數(shù)實(shí)方式下中斷服務(wù)程序入口地址中斷類型號n與其對應(yīng)的中斷向量存放起始地址之間的關(guān)系:起始地址=4n;末地址=4n+3即中斷向量在4n4n+3指示的內(nèi)存單元中。實(shí)方式下的中斷服務(wù)程序入口地址求法(例子)例:假設(shè)在實(shí)地址方式下,內(nèi)存00140H到00147H中存放的數(shù)據(jù)如右圖所示,求51H號中斷的中斷服務(wù)程序入口地址。解(1)求中斷向量存放的首地址和末地址 由中斷類型號51H可知中斷向量存放的首地址51H4=144H(左移兩位方法)末地址51H4+3=147H(2)從首末地址對應(yīng)的4個單元找出中
11、斷向量,即 00144H到00147H中內(nèi)容就是51H號中斷的中斷向量 對照中斷向量組成及格式可知 段地址=4540H,偏移地址=3430H, 所以中斷服務(wù)程序入口地址為 段地址16+偏移地址=45400H+3430H=48830H中斷向量組成及格式7.2.2 中斷向量和中斷向量表 結(jié)束7.2.3 中斷向量的裝入 中斷向量在開機(jī)上電時,由程序裝入內(nèi)存指定的中斷向量表中。系統(tǒng)配置和使用的中斷所對應(yīng)的中斷向量由系統(tǒng)軟件負(fù)責(zé)裝入。若系統(tǒng)中(如單板機(jī))未配置系統(tǒng)軟件,就要由用戶自行裝入中斷向量。7.2.3 中斷向量的裝入例:將中斷服務(wù)程序的入口地址直接寫入中斷向量表(假設(shè)中斷向量號為60H,中斷服務(wù)程
12、序的段基址是SEG_INTR,偏移地址是OFFSET_INTR)。 MOV AX,00HMOV ES,AXMOV BX,60H*4;中斷號4BXMOV AX,OFFSET_INTR;中斷服務(wù)程序偏移值A(chǔ)XMOV ES:BX,AX;裝入偏移地址MOV AX,SEG_INTR;中斷服務(wù)程序的段基址AXMOV ES:BX+2,AX;裝入段基址 7.2.3 中斷向量的裝入 結(jié)束7.2.4 8086的中斷響應(yīng)過程1內(nèi)部中斷響應(yīng)過程2外部中斷響應(yīng)過1內(nèi)部中斷響應(yīng)過程過程:(1)將類型號乘4,計算出中斷向量的地址;(2)CPU的標(biāo)志寄存器入棧,以保護(hù)各個標(biāo)志位,此操作類似于PUSHF指令。(3)清除IF和T
13、F標(biāo)志,屏蔽新的INTR中斷和單步中斷。(4)保存斷點(diǎn),即把斷點(diǎn)處的IP和CS值壓入堆棧,先壓入CS值,再壓入IP值。(5)根據(jù)第一步計算出來的地址從中斷向量表中取出中斷服務(wù)程序的入口地址(段和偏移),分別送至CS和IP中。(6)轉(zhuǎn)入中斷服務(wù)程序執(zhí)行。1內(nèi)部中斷響應(yīng)過程特點(diǎn): 中斷由CPU內(nèi)部引起,中斷類型號的獲得與外部無關(guān),CPU不需要執(zhí)行中斷響應(yīng)周期去獲得中斷類型號。 除單步中斷外,內(nèi)部中斷無法用軟件禁止,不受中斷允許標(biāo)志IF的影響。 內(nèi)部中斷何時發(fā)生是可以預(yù)測的,這有點(diǎn)類似于子程序調(diào)用。2外部中斷響應(yīng)過程(1)非屏蔽中斷響應(yīng): NMI中斷不受IF標(biāo)志的影響,也不用外部接口給出中斷類型號,
14、CPU響應(yīng)NMI中斷時也沒有中斷響應(yīng)周期。 (2)可屏蔽中斷響應(yīng): 當(dāng)INTR信號有效時,如果中斷允許標(biāo)志IF1,則CPU就在當(dāng)前指令執(zhí)行完畢后,產(chǎn)生兩個連續(xù)的中斷響應(yīng)總線周期。2外部中斷響應(yīng)過程CLKALELOCKINTAD7D0 T1 T2 T3 T4 T1 T2 T3 T4 第一個總線 周期INTA第二個總線 周期INTA中斷類型號圖 8086對INTR的中斷響應(yīng)時序可屏蔽中斷的響應(yīng)過程(1)處理器接到中斷申請,處理完當(dāng)前指令即進(jìn)入響應(yīng)周期。(2)第二階段即中斷響應(yīng)周期,在其間CPU向外部中斷控制器發(fā)送兩個響應(yīng)脈沖信號INTA。 第一個響應(yīng)脈沖通知中斷控制器,已經(jīng)響應(yīng)外部中斷請求,讓中斷
15、控制器提供中斷類型號。 第二個響應(yīng)脈沖,CPU取走中斷類型號。(3)將標(biāo)志寄存器中的內(nèi)容壓入堆棧保護(hù),然后清IF和TF標(biāo)志,以禁止INTR引腳以及陷井和單步中斷。(4)將斷點(diǎn)地址壓入堆棧(CS:EIP或CS:IP)。 斷點(diǎn)地址:指中斷時CPU待執(zhí)行的下一條指令對應(yīng)的邏輯地址。 順序:先壓入斷點(diǎn)地址CS,后壓入偏移地址EIP(或IP)。(5)CPU得到中斷類型號碼n后,通過中斷類型號與中斷服務(wù)程序入口地址的關(guān)系找出該類型對應(yīng)的段基地址和偏移地址,從而轉(zhuǎn)入中斷服務(wù)程序入口地址。完成中斷響應(yīng)任務(wù)。可屏蔽中斷的響應(yīng)過程中斷處理1保護(hù)現(xiàn)場 保護(hù)現(xiàn)場實(shí)質(zhì):將重要信息壓入堆棧。2開中斷 目的:開放所有可屏蔽
16、中斷,以允許高級中斷嵌套。3執(zhí)行中斷服務(wù)程序 中斷服務(wù)程序主體-中斷的目的。4關(guān)中斷 目的:關(guān)中斷以確保可靠有效地恢復(fù)現(xiàn)場。5恢復(fù)現(xiàn)場 恢復(fù)現(xiàn)場實(shí)質(zhì):將原來壓入堆棧中的內(nèi)容彈出來。中斷返回中斷服務(wù)程序的最后一條指令都無一例外地使用中斷返回指令I(lǐng)RET。中斷返回的目的:使原來在中斷響應(yīng)過程中壓入堆棧中的斷點(diǎn)地址和標(biāo)志寄存器中的內(nèi)容,依次從堆棧中彈出,以便繼續(xù)執(zhí)行原來的程序。中斷過程7.2.4 8086的中斷響應(yīng)過程 7.2 8086的中斷結(jié)構(gòu) 結(jié)束7.3 可編程中斷控制器82598259簡介:(1)8位可編程中斷控制器,又稱優(yōu)先級控制器(2)處理8級向量優(yōu)先級中斷(3)具有單一+5V供電(4)8
17、259A芯片級聯(lián)組成強(qiáng)大的中斷管理系統(tǒng)(多至64級外部中斷)。(5)優(yōu)先級方式可編程7.3 可編程中斷控制器82597.3.1 內(nèi)部結(jié)構(gòu)及工作原理7.3.2 引腳信號7.3.3 工作方式7.3.4 編程方法7.3.5 應(yīng)用舉例7.3.1 內(nèi)部結(jié)構(gòu)及工作原理7.3.1內(nèi)部結(jié)構(gòu)及工作原理數(shù)據(jù)總線緩沖器 數(shù)據(jù)總線緩沖器是一個三態(tài)、雙向的8位緩沖器,是8259A與CPU系統(tǒng)數(shù)據(jù)總線的接口。數(shù)據(jù)總線緩沖器的主要功能有:(1) 通過數(shù)據(jù)總線緩沖器,CPU向8259A內(nèi)部發(fā)送命令。(2) CPU接收8259A狀態(tài)信息。(3) 在中斷響應(yīng)周期,CPU從中獲得中斷類型號。讀/寫邏輯 接收CPU送來的讀/寫控制信
18、號、片選信號以及地址選擇信號,對內(nèi)部各個寄存器進(jìn)行讀寫操作。級聯(lián)緩沖/比較器 級聯(lián)緩沖/比較器在級聯(lián)方式的主從結(jié)構(gòu)中(兩個以上的8259A組成的系統(tǒng)),用來存放和比較系統(tǒng)中各8259A的從設(shè)備標(biāo)志(ID)。中斷請求寄存器IRRD7D6D5D4D3D2D1D0IRR7IRR6IRR5IRR4IRR3IRR2IRR1IRR0IR7IR6IR5IR4IR3IR2IR1IR0寄存器位引腳功能:記錄外部中斷源的中斷申請的狀態(tài)。狀態(tài):1對應(yīng)引腳有中斷請求且還未被響應(yīng)。 0對應(yīng)引腳無中斷請求或有但已經(jīng)被響應(yīng)。中斷服務(wù)寄存器ISRD7D6D5D4D3D2D1D0ISR7ISR6ISR5ISR4ISR3ISR2
19、ISR1ISR0IR7IR6IR5IR4IR3IR2IR1IR0寄存器位引腳功能:記錄外部中斷源的中斷申請被服務(wù)的狀態(tài)。狀態(tài):1對應(yīng)引腳的中斷請求已被響應(yīng)(服務(wù))且服務(wù)還沒有結(jié)束。0對應(yīng)引腳的中斷請求未被響應(yīng)。中斷屏蔽寄存器IMRD7D6D5D4D3D2D1D0IMR7IMR6IMR5IMR4IMR3IMR2IMR1IMR0IR7IR6IR5IR4IR3IR2IR1IR0寄存器位引腳功能:設(shè)置外部中斷源的中斷屏蔽狀態(tài)。狀態(tài):1對應(yīng)引腳的中斷被屏蔽。0對應(yīng)引腳的中斷未被屏蔽。注意:只有IMRi相應(yīng)位為0且IF=1,CPU才有可能響應(yīng)可屏蔽中斷。中斷優(yōu)先權(quán)分辨器PR 優(yōu)先權(quán)分辨器PR用來確定存放在
20、IRR中各個中斷請求信號對應(yīng)中斷源的優(yōu)先級。并總是選出當(dāng)前最高優(yōu)先中斷源的中斷申請通知控制邏輯,以便控制邏輯發(fā)送中斷請求信號INT給CPU??刂七壿?控制邏輯是控制8259A內(nèi)部各個部件的主要邏輯電路。主要功能包括:(1) 根據(jù)CPU對8259A編程設(shè)定的工作方式來產(chǎn)生內(nèi)部控制信號。(2) 如果中斷請求寄存器IRR有未被屏蔽的位,則控制邏輯對應(yīng)于當(dāng)時最高優(yōu)先的中斷源,向CPU發(fā)中斷請求信號INT。(3) 接收CPU送來的中斷響應(yīng)信號,并置位中斷服務(wù)寄存器ISR的相應(yīng)位(ISRi) 。(4) 控制發(fā)出相應(yīng)的中斷類型號,以供CPU讀取。7.3.1 內(nèi)部結(jié)構(gòu)及工作原理8259A工作過程1)當(dāng)外部IR
21、i有中斷申請時,IRRi=1。2)PR判別優(yōu)先級,并將當(dāng)前最高優(yōu)先中斷源的請求通知控制邏輯??刂七壿嬒駽PU發(fā)INT信號。3)當(dāng)響應(yīng)中斷時,CPU發(fā)INTA#,控制邏輯收到響應(yīng)后,準(zhǔn)備中斷類型號,同時使ISRi=1,并使IRRi=0。4)當(dāng)CPU處理完中斷服務(wù)程序后發(fā)中斷結(jié)束命令,控制邏輯使ISRi=0,結(jié)束中斷過程。 如果IMRi=1,則對應(yīng)中斷源的中斷請求被屏蔽。7.3.1 內(nèi)部結(jié)構(gòu)及工作原理 結(jié)束7.3.2 引腳信號7.3.2 引腳信號D7D0:為8位雙向的數(shù)據(jù)線A0:端口選擇信號(兩個端口地址)IRi:8個中斷源中斷請求端INT:中斷請求輸出信號INTA#:中斷響應(yīng)輸入信號RD#和WR
22、#:讀/寫控制信號CS#:片選信號SP#/EN#:級聯(lián)/緩沖控制 (1)級聯(lián)時輸入:SP#:1=主片, 0 =從片; (2)緩沖時輸出:EN#:1CPU寫,0CPU讀。7.3.2 引腳信號 結(jié)束7.3.3 工作方式1、中斷優(yōu)先級方式2、中斷嵌套方式3、中斷屏蔽方式4、中斷結(jié)束方式5、中斷觸發(fā)方式6、與系統(tǒng)總線的連接方式7、級聯(lián)工作方式8、查詢方式1、中斷優(yōu)先級方式IR7IR6IR5IR4IR3IR2IR1IR07654321032107654最低級最高級最高級最低級優(yōu)先級IR7IR6IR5IR4IR3IR2IR1IR0默認(rèn)優(yōu)先級優(yōu)先級可編程改變 兩種優(yōu)先級控制方式:固定優(yōu)先級和循環(huán)優(yōu)先級。1、
23、固定優(yōu)先級方式:所有中斷請求IRi的中斷優(yōu)先級固定不變;優(yōu)先級排列順序可編程改變;加電后8259A的默認(rèn)方式,默認(rèn)優(yōu)先級順序從高到低為IR0-IR7。1、中斷優(yōu)先級方式2、循環(huán)優(yōu)先級方式 :中斷源輪流處于最高優(yōu)先級,即自動中斷優(yōu)先級循環(huán);初始優(yōu)先級順序可用編程改變;某中斷請求IRi被處理后,其優(yōu)先級別自動降為最低,原來比它低一級的中斷上升為最高級。IR7IR6IR5IR4IR3IR2IR1IR07654321021076543最低級最高級最高級最低級ISR內(nèi)容IR7IR6IR5IR4IR3IR2IR1IR0IR4的服務(wù)結(jié)束以前0101000001000000IR4的服務(wù)結(jié)束以后ISRi2、中斷
24、嵌套方式 兩種中斷嵌套方式:普通全嵌套方式和特殊全嵌套方式。1、普通全嵌套方式(默認(rèn)方式): 一中斷正被處理時,只有更高優(yōu)先級的事件可以打斷當(dāng)前的中斷處理過程而被服務(wù)。2、特殊全嵌套方式: 一中斷正被處理時,允許同級或更高優(yōu)先級的事件可以打斷當(dāng)前的中斷處理過程而被服務(wù)。 注: 特殊全嵌套僅用于多個8259A級聯(lián)時的主8259A,而不能用于從屬8259A或單8259A系統(tǒng)。一般全嵌套方式與特殊全嵌套方式的區(qū)別 D.主8259AIR0IR1IR2IR3IR4IR5IR6IR7一般嵌套方式:從片的INT被主片封鎖,故更高級別的IR0-IR2中斷也無法得到響應(yīng)特殊嵌套方式:因主片不封鎖從片的INT,故
25、級別高的IR0-IR2中斷可以得到響應(yīng)。(但I(xiàn)R3-IR7仍被本從片封鎖)C.假定IR3發(fā)生中斷,并獲得服務(wù)一般嵌套方式:IR4的中斷被服務(wù)時,這些中斷將被封鎖。B.特殊嵌套方式:IR4的中斷被服務(wù)時,只封鎖IR5-IR7。A.INTE.從8259AINTIR0IR1IR2IR3IR4IR5IR6IR7去CPU3、中斷屏蔽方式 兩種優(yōu)先級控制方式:普通屏蔽方式和特殊屏蔽方式。1、普通屏蔽方式: 當(dāng)一個優(yōu)先級較高的中斷請求正在被處理時,不允許優(yōu)先級較低的中斷進(jìn)入正在處理的高級別中斷。 利用操作命令字OCW1,使屏蔽寄存器IMR中的一位或數(shù)位置1來屏蔽一個或數(shù)個中斷源的中斷請求。3、中斷屏蔽方式2
26、、特殊屏蔽方式: 在某些場合,執(zhí)行某一個中斷服務(wù)程序時,要求允許另一個優(yōu)先級比它低的中斷請求被響應(yīng),特殊屏蔽方式提供了允許較低優(yōu)先級的中斷能夠得到響應(yīng)的特殊手段。 特殊屏蔽方式中只能用特殊EOI命令結(jié)束中斷。4、中斷結(jié)束方式 當(dāng)某一IRi中斷被服務(wù)時,ISR中的相應(yīng)位ISRi=1。當(dāng)服務(wù)結(jié)束后,則必須清零該ISRi位。使ISRi=0是通過向8259A發(fā)出中斷結(jié)束命令(EOI命令)實(shí)現(xiàn)的。 三種EOI方式:自動EOI方式正常EOI方式特殊EOI方式4、中斷結(jié)束方式 (1)中斷自動結(jié)束方式(AUTOMATICAEOI方式) 在第二個INTA#后沿,即完成把對應(yīng)的ISR位復(fù)位。 注意:AEOI方式是
27、在中斷響應(yīng)后,而不是在中斷處理程序結(jié)束后將ISR位清0。這樣,在中斷處理過程中,8259A中就沒有“正在處理”的標(biāo)識。此時,若有中斷請求出現(xiàn),且IF1,則無論其優(yōu)先級如何(比本級高、低或相同),都將得到響應(yīng)。尤其是當(dāng)某一中斷請求信號被CPU響應(yīng)后,如不及時撤銷,就會再次被響應(yīng)“二次中斷”。 所以,AEOI方式適合于中斷請求信號的持續(xù)時間有一定限制以及不出現(xiàn)中斷嵌套的場合。 通過ICW4可以設(shè)置AEOI方式(AEOI=1)。4、中斷結(jié)束方式(2) 一般(常規(guī))中斷結(jié)束方式 CPU發(fā)出正常EOI命令,該EOI命令使ISRi=1的位中優(yōu)先級最高的那一位復(fù)位。 可用于嵌套工作方式。 在級聯(lián)情況下的:先
28、結(jié)束從片上中所有服務(wù)后,再結(jié)束對應(yīng)的主片上的服務(wù)。4、中斷結(jié)束方式 (3)特殊中斷結(jié)束方式(SPECIFIC EOISEOI) 由CPU發(fā)出特殊EOI命令,該EOI命令中指出了所要復(fù)位的ISR的位號,用于特殊屏蔽方式。5、中斷觸發(fā)方式 兩種觸發(fā)方式:邊沿觸發(fā)方式和電平觸發(fā)方式。1、邊沿觸發(fā): IRi出現(xiàn)上升沿表示有中斷請求。 2、電平觸發(fā): IRi出現(xiàn)高電平表示有中斷請求。 在第1個INTA#結(jié)束前,IRi必須保持高電平。 6、與系統(tǒng)總線的連接方式 兩種連接方式:緩沖方式和非緩沖方式。1、緩沖方式: 一般在多片8259A級聯(lián)系統(tǒng)中,8259A通過總線驅(qū)動器與系統(tǒng)總線相連,而不是8259A直接與
29、系統(tǒng)總線相連,這就是緩沖方式。2、非緩沖方式: 當(dāng)系統(tǒng)只有一片8259A或少量幾片8259A時,一般將它直接與數(shù)據(jù)總線相連。這就是所謂的非緩沖方式。7、級聯(lián)工作方式單片8259A可支持8個中斷源;采用多片8259A級連,可最多支持64個中斷源。n片8259A可支持7n+1個中斷源;級連時只能有一片8259A為主片,其余的均為從屬片;涉及到的8259A引腳包括: CAS0-CAS2、SP#/EN#、IRi、INT。級聯(lián)電路連接方法8、查詢方式 CPU禁止外部的中斷請求(IF位為0)。外設(shè)仍然向8259A發(fā)中斷請求信號,要求CPU服務(wù),此時,CPU需要用軟件查詢方法來確認(rèn)中斷源,從而實(shí)現(xiàn)對外設(shè)的服
30、務(wù)。 CPU首先向8259A發(fā)查詢命令,緊接著執(zhí)行一條輸入指令(IN),從8259A的偶地址讀出一個字節(jié)的查詢字,由該指令產(chǎn)生的RD#信號使ISR的相應(yīng)位置1。 CPU讀入查詢字后,判斷其最高位,若最高位為1,說明8259A的IR端已有中斷請求輸入,此時該查詢字的最低三位組成的代碼表示了當(dāng)前中斷請求的最高優(yōu)先級,CPU據(jù)此轉(zhuǎn)入相應(yīng)的中斷服務(wù)程序。7.3.3 工作方式 結(jié)束7.4 中斷調(diào)用及中斷程序設(shè)計7.4.1 中斷調(diào)用指令的執(zhí)行過程7.4.2 BIOS中斷調(diào)用7.4.3 DOS中斷調(diào)用7.4.4 中斷程序設(shè)計7.4.1 中斷調(diào)用指令的執(zhí)行過程INT n指令的執(zhí)行過程IRET 指令的執(zhí)行過程I
31、NT n指令的執(zhí)行過程(1)SP=SP-2(2)PSW (FLAGS) 入棧(3)SP=SP-2(4)斷點(diǎn)地址(INT n 的下一條指令)的CS入棧(5)SP=SP-2(6)斷點(diǎn)地址的IP入棧(7)IP=0000:n*4(8)CS=0000:n*4+2IRET 指令的執(zhí)行過程(1)IP=SS:SP(2)SP=SP+2(3)CS=SS:SP(4)SP=SP+2(6)FLAGS=SS:SP(7)SP=SP+27.4.1 中斷調(diào)用指令的執(zhí)行過程 結(jié)束7.4.2 BIOS中斷調(diào)用BIOS功能調(diào)用: 借助于存于系統(tǒng)板ROM中的BIOS程序?qū)崿F(xiàn)功能調(diào)用,它是最直接控制硬件的系統(tǒng)程序,是其它程序(OS,用戶
32、程序等)與硬件的接口程序。BIOS中斷類型BIOS調(diào)用方法與步驟BIOS調(diào)用示例BIOS中斷類型BIOS調(diào)用方法與步驟1)在AH寄存器中設(shè)置調(diào)用子程序的功能號2)根據(jù)要求設(shè)置入口參數(shù)3)使用INT n指令轉(zhuǎn)入BIOS程序入口,其中n為中斷類型號4)程序運(yùn)行完畢后,如果有出口參數(shù),則按規(guī)定取得出口參數(shù)BIOS調(diào)用示例顯示功能日期和時間鍵盤服務(wù)參見:P414 附錄2 常用BIOS中斷調(diào)用BIOS顯示功能調(diào)用10H示例 在當(dāng)前光標(biāo)處顯示一個字符$,光標(biāo)自動后移。中斷號:10H功能號:AH=0EH入口參數(shù):AL=要顯示的字符編碼調(diào)用方法:MOV AH,0EHMOV AL,$INT 10H利用BIOS日
33、期調(diào)用讀取日期 讀系統(tǒng)日期。中斷號:1AH功能號:AH=04H入口參數(shù):無出口參數(shù):CX=年(帶世紀(jì)),DH=月,DL=日調(diào)用方法:MOV AH,04INT 1AH利用BIOS日期調(diào)用設(shè)置日期 設(shè)置系統(tǒng)日期。中斷號:1AH功能號:AH=05H入口參數(shù):CX=年(帶世紀(jì)),DH=月,DL=日出口參數(shù):無調(diào)用方法:MOV CX,2006H ;2006年MOV DX,0428H ;4月28日MOV AH,05INT 1AH利用BIOS時間調(diào)用讀取時間 讀系統(tǒng)時間。中斷號:1AH功能號:AH=02H入口參數(shù):無出口參數(shù):CH=時,CL=分,DH=秒調(diào)用方法:MOV AH,02INT 1AH利用BIOS
34、時間調(diào)用設(shè)置時間設(shè)置系統(tǒng)時間。中斷號:1AH功能號:AH=03H入口參數(shù):CH=時,CL=分,DH=秒出口參數(shù):無調(diào)用方法: MOV AH,03MOV CX,1145H ;11:45MOV DH,0INT 1AHBIOS鍵盤服務(wù)調(diào)用16H示例 從鍵盤讀取字符。中斷號:1AH入口參數(shù):AH=0出口參數(shù):AH=鍵盤掃描碼,AL=ASCII碼字符調(diào)用方法:MOV AH,0INT 16H7.4.2 BIOS中斷調(diào)用 結(jié)束7.4.3 DOS中斷調(diào)用DOS中斷類型DOS調(diào)用方法DOS調(diào)用示例DOS功能調(diào)用: 借助于DOS操作系統(tǒng)提供的處理程序?qū)崿F(xiàn)功能調(diào)用。DOS中斷類型DOS調(diào)用方法同BIOS在AH寄存器
35、中設(shè)置調(diào)用子程序的功能號。根據(jù)要求設(shè)置入口參數(shù)。使用INT21H指令轉(zhuǎn)入DOS程序入口,其中n為中斷類型號。程序運(yùn)行完畢后,如果有出口參數(shù),則按規(guī)定取得出口參數(shù)。DOS中斷調(diào)用21H示例顯示功能日期和時間鍵盤服務(wù)DOS顯示功能調(diào)用示例在當(dāng)前光標(biāo)處顯示一個字符$,光標(biāo)自動后移,功能號AH=02H入口參數(shù):要顯示的字符在DL中調(diào)用方法:MOV AH,02HMOV DL,$INT 21H與BIOS功能兩點(diǎn)不同: 一是中斷類型號和功能號不同, 二是要顯示的字符存放寄存器不同利用DOS日期調(diào)用2AH讀取日期讀系統(tǒng)日期,功能號2AH入口參數(shù):無出口參數(shù):CX=年(帶世紀(jì)),DH=月,DL=日,AL=星期(
36、0星期日,16星期16)調(diào)用方法:MOV AH,2AHINT 21H注意:CX、DH及DL中為十六進(jìn)制數(shù)利用DOS日期調(diào)用2BH設(shè)置日期讀系統(tǒng)日期,功能號2BH入口參數(shù):CX=年(帶世紀(jì)),DH=月,DL=日出口參數(shù):成功,AL=0;失敗,AL=0FFH調(diào)用方法: MOV CX,2006 ;2006年(07D6H)MOV DH,04MOV DL,28 ;4月28日MOV AH,2BHINT 21H注意:CX,DH,DL均用十六進(jìn)制數(shù)表示DOS鍵盤服務(wù)調(diào)用示例從鍵盤讀字符并回示入口參數(shù):AH=1出口參數(shù):AL=ACII碼字符調(diào)用方法:MOV AH,1INT 21H7.4.3 DOS中斷調(diào)用 結(jié)束7.4.4 中斷程序設(shè)計1、中斷程序設(shè)計的任務(wù)2、中斷向量設(shè)置3、中斷服務(wù)程序駐留內(nèi)存方法4、中斷服務(wù)程序設(shè)計1、中斷程序設(shè)計的任務(wù)加載程序(1)設(shè)置中斷向量(2)初始化中斷控制器(前面已介紹過)(3)利用系統(tǒng)功能調(diào)用駐留中斷服務(wù)程序 【注意】在執(zhí)行上述操作前必須關(guān)中斷,以免影響加載程序的正常運(yùn)行;而當(dāng)加載程序運(yùn)行結(jié)束時,必須開中斷,這樣才能接收中斷請求。中斷服務(wù)程序設(shè)計2、中斷向量設(shè)置直接裝入方法直接利用中斷向量與存放地址關(guān)系存入內(nèi)存利用DOS中斷裝入方法入口:AH=25,AL=中斷類型號,DS:DX=中斷向量,出口:
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 乙肝患者購買合同范本
- 2025年度人工智能與制造業(yè)融合項(xiàng)目合同補(bǔ)充協(xié)議示范文本
- 保羅皮爾斯合同范本
- 出賣公司合同范本
- 買房銀行抵押合同范本
- 2025年度海鮮餐飲連鎖門店食材供應(yīng)合同
- 兔寶寶合同范本
- 上門做飯創(chuàng)業(yè)計劃書國家層面
- 供氣標(biāo)準(zhǔn)合同范本
- 工程量清單及招標(biāo)控制價編制方案
- 納龍心電說明書
- 2023湖北成人學(xué)位英語考試真題及答案1
- 《大數(shù)據(jù)金融》教學(xué)大綱(第六學(xué)期)附課程考核標(biāo)準(zhǔn)
- 物業(yè)管理企業(yè)用工風(fēng)險與防范對策
- 拜耳法氧化鋁生產(chǎn)工藝流程框圖
- 零售藥店處方藥銷售自查整改報告word(范文)
- 叉車日常維護(hù)保養(yǎng)檢查記錄表
- 心源性休克的護(hù)理.ppt課件
- 精品解析:2022年黑龍江省哈爾濱市中考語文試題(原卷版)
- 單位事故隱患排查治理制度及臺賬
評論
0/150
提交評論