版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
微機(jī)原理與接口技術(shù)第8章中斷技術(shù)與可編程中斷控制器8259A目錄8.1中斷的基本概念及其應(yīng)用8.2中斷系統(tǒng)的功能和中斷優(yōu)先級(jí)8.38086/8088的中斷操作與響應(yīng)8.4可編程中斷控制器8259A8.58259A的應(yīng)用舉例主要內(nèi)容問題導(dǎo)入中斷的基本概念中斷典型應(yīng)用8.1中斷的基本概念及其應(yīng)用34案例視頻1)采用何種數(shù)據(jù)傳輸方式?思考:無條件數(shù)據(jù)傳輸查詢式數(shù)據(jù)傳輸中斷式數(shù)據(jù)傳輸DMA數(shù)據(jù)傳輸只有一個(gè)輸出端口,沒有輸入端口提供按鍵狀態(tài)查詢8086的非屏蔽中斷引腳P20(7)8.1中斷的基本概念及其應(yīng)用問題導(dǎo)入5案例視頻思考:2)燈的亮滅變化和哪條語句的執(zhí)行有關(guān)?8.1中斷的基本概念及其應(yīng)用問題導(dǎo)入6看不懂?端口定義思考:2)燈的亮滅變化和哪條語句的執(zhí)行有關(guān)?8.1中斷的基本概念及其應(yīng)用問題導(dǎo)入700H00000000端口OUT373思考:2)燈的亮滅變化和哪條語句的執(zhí)行有關(guān)?向端口送出00H,點(diǎn)亮8個(gè)小燈8.1中斷的基本概念及其應(yīng)用問題導(dǎo)入8思考:2)燈的亮滅變化和哪條語句的執(zhí)行有關(guān)?NOTAL8.1中斷的基本概念及其應(yīng)用問題導(dǎo)入9思考:3)什么時(shí)候會(huì)執(zhí)行指令“NOTAL”呢?“死循環(huán)指令”8.1中斷的基本概念及其應(yīng)用問題導(dǎo)入10思考:3)什么時(shí)候會(huì)執(zhí)行指令“NOTAL”呢?“死循環(huán)指令”while(1);按鍵按下執(zhí)行“NOTAL”指令8.1中斷的基本概念及其應(yīng)用問題導(dǎo)入11思考:“死循環(huán)指令”4)為什么按鍵按下會(huì)使程序的執(zhí)行發(fā)生跳轉(zhuǎn)呢?8.1中斷的基本概念及其應(yīng)用問題導(dǎo)入12主要內(nèi)容問題導(dǎo)入中斷的基本概念中斷典型應(yīng)用8.1中斷的基本概念及其應(yīng)用中斷基本概念13中斷源斷點(diǎn)中斷服務(wù)程序中斷服務(wù)子程序中斷請(qǐng)求中斷響應(yīng)中斷返回?cái)帱c(diǎn)保護(hù)現(xiàn)場(chǎng)保護(hù)現(xiàn)場(chǎng)恢復(fù)主程序中斷請(qǐng)求保護(hù)斷點(diǎn)保護(hù)主程序現(xiàn)場(chǎng),處理中斷恢復(fù)主程序現(xiàn)場(chǎng)從斷點(diǎn)處繼續(xù)執(zhí)行主程序相關(guān)概念見教材p1788.1中斷的基本概念及其應(yīng)用中斷基本概念14主程序中斷請(qǐng)求保護(hù)斷點(diǎn)保護(hù)主程序現(xiàn)場(chǎng),處理中斷恢復(fù)主程序現(xiàn)場(chǎng)從斷點(diǎn)處繼續(xù)執(zhí)行主程序主程序8.1中斷的基本概念及其應(yīng)用中斷基本概念15主程序中斷請(qǐng)求保護(hù)斷點(diǎn)保護(hù)主程序現(xiàn)場(chǎng),處理中斷恢復(fù)主程序現(xiàn)場(chǎng)從斷點(diǎn)處繼續(xù)執(zhí)行主程序斷點(diǎn)在主程序的任意位置斷點(diǎn)大概率在此中斷服務(wù)程序8.1中斷的基本概念及其應(yīng)用16主要內(nèi)容問題導(dǎo)入中斷的基本概念中斷典型應(yīng)用8.1中斷的基本概念及其應(yīng)用8.1中斷的基本概念及其應(yīng)用中斷典型應(yīng)用17采用中斷方式管理I/O設(shè)備實(shí)時(shí)處理故障處理系統(tǒng)調(diào)度人機(jī)對(duì)話多機(jī)通信中斷是CPU與外設(shè)交換信息的一種方式,是CPU處理隨機(jī)事件和外部請(qǐng)求的主要手段。按鍵的按壓就是一個(gè)隨機(jī)事件目錄8.1中斷的基本概念及其應(yīng)用8.2中斷系統(tǒng)的功能和中斷優(yōu)先級(jí)8.38086/8088的中斷操作與響應(yīng)8.4可編程中斷控制器8259A8.58259A的應(yīng)用舉例19主要內(nèi)容中斷系統(tǒng)的基本功能中斷優(yōu)先級(jí)8.2中斷系統(tǒng)的功能和中斷優(yōu)先級(jí)20中斷系統(tǒng)的功能中斷管理系統(tǒng)至少應(yīng)具有以下功能:中斷源識(shí)別
實(shí)現(xiàn)中斷優(yōu)先級(jí)排隊(duì)能夠正確處理中斷的嵌套問題接收中斷請(qǐng)求
主程序中斷請(qǐng)求1保護(hù)斷點(diǎn)保護(hù)主程序現(xiàn)場(chǎng)恢復(fù)主程序現(xiàn)場(chǎng)從斷點(diǎn)處繼續(xù)執(zhí)行主程序處理中斷1中斷請(qǐng)求2保護(hù)現(xiàn)場(chǎng)1處理中斷2恢復(fù)現(xiàn)場(chǎng)2返回中斷1服務(wù)程序中斷嵌套8.2中斷系統(tǒng)的功能和中斷優(yōu)先級(jí)21中斷系統(tǒng)的功能中斷管理系統(tǒng)至少應(yīng)具有以下功能:中斷源識(shí)別
實(shí)現(xiàn)中斷優(yōu)先級(jí)排隊(duì)能夠正確處理中斷的嵌套問題接收中斷請(qǐng)求
依靠優(yōu)先級(jí)判優(yōu)邏輯確保CPU能按優(yōu)先級(jí)響應(yīng)中斷請(qǐng)求軟件判優(yōu)硬件判優(yōu)中斷處理與返回8.2中斷系統(tǒng)的功能和中斷優(yōu)先級(jí)22主要內(nèi)容中斷系統(tǒng)的基本功能中斷優(yōu)先級(jí)8.2中斷系統(tǒng)的功能和中斷優(yōu)先級(jí)23軟件查詢法中斷源1#4#5#8#82H接數(shù)據(jù)總線AB去CPU的中斷請(qǐng)求輸入端INTR地址譯碼器74LS2441Y11A12Y41A42A11G2G2A4RDM/IOD0D71、各中斷源申請(qǐng)通過或門組合后與INTR連接。2、各中斷源情況通過緩沖器從DB輸入。INAL,82HP20(5)接收中斷請(qǐng)求
識(shí)別中斷源
8.2中斷系統(tǒng)的功能和中斷優(yōu)先級(jí)24軟件查詢法查詢程序的次序,決定了外設(shè)優(yōu)先級(jí)的高低,先測(cè)試的中斷源優(yōu)先級(jí)最高。保護(hù)現(xiàn)場(chǎng)1#有請(qǐng)求嗎?2#有請(qǐng)求嗎?3#有請(qǐng)求嗎?現(xiàn)場(chǎng)恢復(fù)中斷返回為1#外設(shè)服務(wù)為2#外設(shè)服務(wù)為3#外設(shè)服務(wù)NNNYYY右圖中1#,2#,3#外設(shè)的優(yōu)先級(jí)排序如何?1#>2#>3#越先被查詢的優(yōu)先級(jí)越高優(yōu)先級(jí)排隊(duì)固定優(yōu)先級(jí)8.2中斷系統(tǒng)的功能和中斷優(yōu)先級(jí)25PINTR:PUSHAX ;現(xiàn)場(chǎng)保護(hù) PUSHBX IN AL,82H ;從端口讀入中斷源請(qǐng)求的狀態(tài)信號(hào) MOV BL,AL ;保存在BL中FAN1: ROR BL,1 ;ROR指令把BL的最低位移入CF JC ISP1 ;CF=1表示1#中斷源有中斷請(qǐng)求FAN2:RORBL,1 JC ISP2 ;CF=1表示2#中斷源有中斷請(qǐng)求FAN3:ROR BL,1 JC ISP3 ;CF=1表示3#中斷源有中斷請(qǐng)求
FAN: POPBX ;現(xiàn)場(chǎng)恢復(fù) POPAX
IRET ;中斷返回ISP1: ;1#中斷源的處理程序 JMPFANISP2: ;2#中斷源的處理程序 JMPFANISP3: ;3#中斷源的處理程序 JMPFAN
固定優(yōu)先級(jí)26硬件判優(yōu)法0#設(shè)備INTA0INTR01#設(shè)備INTA1INTR12#設(shè)備INTA2INTR2CPUINTAINTR0314256P21(1)P20(5)串行優(yōu)先級(jí)排隊(duì)模式8.2中斷系統(tǒng)的功能和中斷優(yōu)先級(jí)27硬件判優(yōu)法串行優(yōu)先級(jí)排隊(duì)模式0#設(shè)備INTA0INTR01#設(shè)備INTA1INTR12#設(shè)備INTA2INTR2CPUINTAINTR03142560110001111111接收中斷請(qǐng)求
001000中斷請(qǐng)求被響應(yīng)11識(shí)別中斷源
圖中0#,1#,2#外設(shè)的優(yōu)先級(jí)排序如何?離CPU越近優(yōu)先級(jí)越高1封鎖了后繼設(shè)備18.2中斷系統(tǒng)的功能和中斷優(yōu)先級(jí)28硬件判優(yōu)法并行優(yōu)先級(jí)排隊(duì)模式優(yōu)點(diǎn):響應(yīng)速度快缺點(diǎn):擴(kuò)展性不靈活。高低~74LS138Y0Y1Y2Y3Y4Y5Y6Y7G2AG2BG1CBA74LS148I7I6I5I4I3I2I1I0Y2Y1Y0STYEXYSINTR0INTR7來自CPU的INTA5VINTA0INTA7~10xxxxxx001INTA1INTR18.2中斷系統(tǒng)的功能和中斷優(yōu)先級(jí)29專用硬件法專用硬件法用可編程中斷控制器芯片來管理中斷。通過編程可以設(shè)置或改變芯片的工作方式。使用靈活。CPUD0~D7INTAINTR中斷控制器D0~D7IR0IR1IR7INTR0
設(shè)備0INTR1
設(shè)備1INTR7
設(shè)備7INTRINTA8.4節(jié)8.2中斷系統(tǒng)的功能和中斷優(yōu)先級(jí)目錄8.1中斷的基本概念及其應(yīng)用8.2中斷系統(tǒng)的功能和中斷優(yōu)先級(jí)8.38086/8088的中斷操作與響應(yīng)8.4可編程中斷控制器8259A8.58259A的應(yīng)用舉例31主要內(nèi)容中斷的分類中斷類型碼、中斷向量和中斷向量表中斷響應(yīng)過程與時(shí)序8.38086/8088的中斷操作與響應(yīng)中斷分類32CPU中斷邏輯除法錯(cuò)中斷0型單步中斷1型斷點(diǎn)中斷3型溢出中斷4型INTn指令軟件中斷(內(nèi)部中斷)硬件中斷(外部中斷)NMI非屏蔽中斷(2型)中斷控制系統(tǒng)可屏蔽中斷INTRP18⑨DEBUG的T命令DEBUG的G命令執(zhí)行了軟中斷指令或由CPU本身引起的中斷不受IF影響P20(7)P18⑧“1”IF=1時(shí)才可能被響應(yīng)P20(5)關(guān)中斷指令:CLI(IF=0)開中斷指令:STI(IF=1)P58(表3.6-1)8.38086/8088的中斷操作與響應(yīng)中斷分類33內(nèi)部中斷不需要外部硬件支持,不受IF控制在上述內(nèi)部中斷中,除單步中斷外,其余都不可屏蔽。所有類型(內(nèi)、外)的中斷在其處理過程中,CPU會(huì)自動(dòng)地把狀態(tài)標(biāo)志壓入堆棧,然后清除TF和IF。8086/8088規(guī)定這些中斷的優(yōu)先級(jí)次序(高到低)為:內(nèi)部中斷、NMI、INTR,優(yōu)先級(jí)最低的是單步中斷。受
TF
位控制P18⑨在中斷響應(yīng)過程中:禁止單步中斷和可屏蔽中斷8.38086/8088的中斷操作與響應(yīng)34主要內(nèi)容中斷的分類中斷類型碼、中斷向量和中斷向量表中斷響應(yīng)過程與時(shí)序8.38086/8088的中斷操作與響應(yīng)中斷類型碼、中斷向量和中斷向量表35中斷類型碼8086/8088為每個(gè)中斷源分配了一個(gè)0~255范圍內(nèi)的中斷類型碼。其中部分為專用中斷,40H~FFH號(hào)中斷原則上可以由用戶程序安排使用。中斷類型碼中斷功能中斷類型碼中斷功能00H除法錯(cuò)中斷04H溢出中斷01H單步中斷05H打印中斷02HNMI中斷08H電子鐘定時(shí)中斷03H斷點(diǎn)中斷09H鍵盤中斷…………以上幾個(gè)應(yīng)該熟悉8.38086/8088的中斷操作與響應(yīng)36中斷向量
中斷服務(wù)程序的入口地址稱為一個(gè)中斷向量,由段基址CS和段內(nèi)偏移量IP兩部分組成。4個(gè)字節(jié)中斷服務(wù)程序要執(zhí)行的第1條指令的地址中斷向量表在8086/8088中,所有中斷服務(wù)程序的入口地址(中斷向量)集中放在內(nèi)存的最低1K區(qū)域(00000H~003FFH),構(gòu)成一個(gè)中斷向量表
8.38086/8088的中斷操作與響應(yīng)中斷類型碼、中斷向量和中斷向量表37中斷向量表位于內(nèi)存0段的0000H~03FFH的存儲(chǔ)區(qū)內(nèi)。8086/8088的中斷向量表由三個(gè)部分組成:5個(gè)專用中斷(0#~4#)27個(gè)系統(tǒng)使用或保留中斷(5#~31#)224個(gè)用戶定義中斷(32#~255#)每個(gè)中斷向量占4個(gè)內(nèi)存單元前兩個(gè)單元存放中斷向量的偏移地址(IP)后兩個(gè)單元存放中斷向量的段地址(CS)物理地址的范圍是多少?共256個(gè)8.38086/8088的中斷操作與響應(yīng)中斷類型碼、中斷向量和中斷向量表38類型0類型1類型2類型3類型4類型5類型63IPCS除數(shù)為零單步(TF=1)非屏蔽中斷斷點(diǎn)中斷溢出(OF=1)類型28000H004H008H00CH010H014H070H0FCHCPU使用(5)DOS使用(59)1/18.2S定時(shí)類型64類型65類型66類型67類型255100H104H108H10CH3FCH用戶使用(192)中斷服務(wù)程序入口地址表(中斷向量表)中斷服務(wù)程序入口地址在表中的起始地址=4×中斷類型碼中斷向量8.38086/8088的中斷操作與響應(yīng)中斷類型碼、中斷向量和中斷向量表這幾個(gè)應(yīng)該熟悉39類型0類型1類型2類型3類型4類型5類型63IPCS除數(shù)為零單步(TF=1)非屏蔽中斷斷點(diǎn)中斷溢出(OF=1)類型28000H004H008H00CH010H014H070H0FCHCPU使用(5)DOS使用(59)1/18.2S定時(shí)類型64類型65類型66類型67類型255100H104H108H10CH3FCH用戶使用(192)中斷服務(wù)程序入口地址表(中斷向量表)中斷服務(wù)程序入口地址在表中的起始地址=4×中斷類型碼中斷向量地址8.38086/8088的中斷操作與響應(yīng)中斷類型碼、中斷向量和中斷向量表40中斷向量的查找設(shè)某個(gè)中斷源的中斷類型碼為n。中斷向量在中斷向量表的起始位置:n×4中斷向量位于中斷向量表:n×4~n×4+3這四個(gè)單元內(nèi)CPU會(huì)自動(dòng)根據(jù)n值找到這個(gè)位置取出中斷向量,依次裝入IP和CS,從而轉(zhuǎn)入相應(yīng)的中斷服務(wù)程序。8.38086/8088的中斷操作與響應(yīng)中斷類型碼、中斷向量和中斷向量表41某中斷的中斷類型號(hào)為68H,其中斷過程為:(1)計(jì)算存放中斷服務(wù)程序入口地址的地址=68H×4=1A0H;(2)取中斷入口地址的段內(nèi)偏移量裝入IP,IP=2050H
,段碼裝入CS,CS=A000H;(3)轉(zhuǎn)向中斷服務(wù)程序;(4)中斷返回502000A0001A0H001A2H001A4H存放地址=68H×4=1A0HIP=2050
CS=A000STIPUSHDSIRET中斷服務(wù)程序A000H:2050HINT68HMOVAX,0①②③④中斷類型號(hào)→中斷向量表地址→中斷服務(wù)程序入口地址中斷向量表注意與RET區(qū)別8.38086/8088的中斷操作與響應(yīng)中斷類型碼、中斷向量和中斷向量表
例8.6-1根據(jù)下面所提供的某80x86微機(jī)內(nèi)存中的數(shù)據(jù),判斷INT11H
中斷服務(wù)程序的入口地址是
。A.F000:F84DB.A019:8ACCC.00F0:4DF8D.4DF8:00F0
中斷向量地址=中斷類型碼×4=11H×4=0044H0000:0040B3188ACC4DF800F0-41F800F0C5188ACC0000:005039E700F0A0198ACC-2EE800F0D2EF00F0IPCS注意低字節(jié)在低地址,高字節(jié)在高地址(小尾順序)中斷類型號(hào)→中斷向量表地址→中斷服務(wù)程序入口地址分析:8.38086/8088的中斷操作與響應(yīng)中斷類型碼、中斷向量和中斷向量表類型碼為________的中斷所對(duì)應(yīng)的中斷向量存放在0000H:0040H開始的4個(gè)連續(xù)單元中,若這4個(gè)單元的內(nèi)容分別為_________________,則相應(yīng)的中斷服務(wù)程序入口地址為5060H:7080H。中斷向量表起始地址=中斷類型碼×4中斷類型碼=0040H/4=10H中斷向量表80H70H60H50H10H×4=40H10H×4+1=41H10H×4+2=42H10H×4+3=43H8.38086/8088的中斷操作與響應(yīng)中斷類型碼、中斷向量和中斷向量表10H80H70H60H50H要掌握初始化方法,自己會(huì)編寫初始化程序。由BIOS提供的中斷服務(wù),其中斷向量是在系統(tǒng)加電后由BIOS負(fù)責(zé)初始化。由DOS提供的中斷服務(wù),其中斷向量是在啟動(dòng)DOS后由DOS負(fù)責(zé)初始化。用戶自己開發(fā)的中斷服務(wù)程序,其中斷向量由用戶自己進(jìn)行向量表的初始化。將中斷服務(wù)程序入口地址寫入中斷向量表的相應(yīng)位置8.38086/8088的中斷操作與響應(yīng)中斷類型碼、中斷向量和中斷向量表中斷向量表的初始化45例8.3-1設(shè)某中斷類型號(hào)為72H的用戶程序的入口地址為USEINT,請(qǐng)初始化向量表。中斷向量起始地址=72H×4=1C8HMOVAX,0MOVES,AX ;中斷向量表位于內(nèi)存0段MOVBX,01C8H ;中斷向量的地址送BXMOVAX,OFFSETUSEINT;中斷服務(wù)程序的入口偏移地址送AXMOVES:[BX],AX ;中斷服務(wù)程序的入口偏移地址寫入中斷向量表INCBXINCBXMOVAX,SEGUSEINT ;中斷服務(wù)程序的入口段地址送AXMOVES:[BX],AX ;中斷服務(wù)程序的入口段地址寫入中斷向量表中斷服務(wù)程序的過程名MOVAX,SEGUSEINTMOVES:[BX+2],AX直接裝入法
為什么要用ES?8.38086/8088的中斷操作與響應(yīng)中斷類型碼、中斷向量和中斷向量表為了方便中斷向量的讀出和寫入,DOS系統(tǒng)為此設(shè)計(jì)了兩個(gè)子功能供用戶程序調(diào)用?!?/p>
從中斷向量表讀取中斷向量:“INT21H”的35H號(hào)子功能入口參數(shù):AL=中斷類型號(hào);出口參數(shù):ES:BX=中斷向量●
把中斷向量寫入中斷向量表:“INT
21H”的25H號(hào)子功能入口參數(shù):AL=中斷類型號(hào);DS:DX=要寫入的中斷向量出口參數(shù):無8.38086/8088的中斷操作與響應(yīng)中斷類型碼、中斷向量和中斷向量表中斷向量表的初始化DOS系統(tǒng)調(diào)用法例8.3-2某用戶設(shè)計(jì)了一個(gè)“定時(shí)中斷服務(wù)程序”,其過程名為TIMER,取代系統(tǒng)原先的1CH型服務(wù)程序。這種情況下,用戶要先對(duì)原有中斷向量進(jìn)行讀出并保護(hù)以便恢復(fù),然后才能設(shè)置新的中斷向量。READ PROC MOV AL,1CH
MOV AH,35H INT 21H MOV WORDPTROLD1CHXL,BX MOV WORDPTROLD1CHXL+2,ES RETREAD ENDP中斷類型號(hào)DOS系統(tǒng)功能號(hào)出口參數(shù):中斷向量的IP部分出口參數(shù):中斷向量的CS部分8.38086/8088的中斷操作與響應(yīng)中斷類型碼、中斷向量和中斷向量表事先定義的變量OLD1CHXLDD?WRITE PROC PUSH DS ;TIMER服務(wù)程序入口地址的段基址送AX MOV AX,CS ;(設(shè)TIMER的入口段基址與WRITE的相同)
MOV DS,AX
MOV DX,OFFSETTIMER ;TIMER服務(wù)程序入口地址的偏移量送DX MOV AL,1CH
MOV AH,25H
INT 21H POP DS RETWRITE ENDP如果段地址不相同,則MOVAX,SEGTIMER入口參數(shù):中斷向量的CS部分入口參數(shù):中斷向量的IP部分入口參數(shù):中斷類型號(hào)DOS系統(tǒng)功能號(hào)8.38086/8088的中斷操作與響應(yīng)中斷類型碼、中斷向量和中斷向量表中斷向量表初始化在Proteus環(huán)境下能不能使用DOS系統(tǒng)調(diào)用法初始化中斷向量表?8.38086/8088的中斷操作與響應(yīng)中斷類型碼、中斷向量和中斷向量表50主要內(nèi)容中斷的分類中斷類型碼、中斷向量和中斷向量表中斷響應(yīng)過程與時(shí)序8.38086/8088的中斷操作與響應(yīng)51主要內(nèi)容8.38086/8088的中斷操作與響應(yīng)中斷源的優(yōu)先級(jí)排序硬件中斷的響應(yīng)過程和中斷服務(wù)軟件中斷的響應(yīng)過程和中斷服務(wù)231中斷源的優(yōu)先級(jí)排序52取指令執(zhí)行當(dāng)前指令執(zhí)行完?軟件中斷?NMI?INTR?TF=1?IF=1?取走中斷類型碼FR壓棧TF→TEMPIF=0,TF=0CS、IP入棧中斷向量表地址=類型碼×4中斷向量表地址取1字→IP中斷向量表地址+2取1字→CSNYNNNYYYYNY各類中斷源的優(yōu)先級(jí)排序(響應(yīng)次序)如何?見教材p1860型、3型、4型等保護(hù)斷點(diǎn)8.38086/8088的中斷操作與響應(yīng)中斷源的優(yōu)先級(jí)排序53下面優(yōu)先級(jí)最高的是
。A.NMI中斷
B.INTR中斷C.單步中斷D.斷點(diǎn)中斷屬于內(nèi)部(軟件)中斷3型8086各類中斷響應(yīng)的順序是:
軟件中斷→NMI端中斷→INTR端中斷→單步中斷8.38086/8088的中斷操作與響應(yīng)54主要內(nèi)容8.38086/8088的中斷操作與響應(yīng)中斷源的優(yōu)先級(jí)排序硬件中斷的響應(yīng)過程和中斷服務(wù)軟件中斷的響應(yīng)過程和中斷服務(wù)231硬件中斷的響應(yīng)過程和中斷服務(wù)55硬件中斷指的是NMI引腳引入的非屏蔽中斷
INTR引腳引入的可屏蔽中斷CPU響應(yīng)條件執(zhí)行完現(xiàn)行指令CPU開中斷(IF=1)執(zhí)行完現(xiàn)行指令8.38086/8088的中斷操作與響應(yīng)硬件中斷的響應(yīng)過程56A.當(dāng)前時(shí)鐘周期
B.當(dāng)前總線周期C.當(dāng)前指令周期D.下一個(gè)指令周期當(dāng)8086CPU的INTR=“1”,且中斷允許標(biāo)志IF=“1”時(shí),則CPU完成
后,響應(yīng)該中斷請(qǐng)求,進(jìn)行中斷處理可屏蔽中斷響應(yīng)的兩個(gè)條件1、CPU開中斷(IF=1)2、執(zhí)行完現(xiàn)行指令
8.38086/8088的中斷操作與響應(yīng)硬件中斷的響應(yīng)過程和中斷服務(wù)578086/8088響應(yīng)INTR的中斷后,從INTA引腳連續(xù)發(fā)兩個(gè)負(fù)脈沖,中斷源在接到第二個(gè)負(fù)脈沖后,通過數(shù)據(jù)線發(fā)送中斷類型碼,CPU收到類型碼后,進(jìn)行如下操作:將中斷類型碼放入暫存器保存將標(biāo)志寄存器的內(nèi)容加入系統(tǒng)堆棧將IF和TF標(biāo)志清零保護(hù)斷點(diǎn)根據(jù)中斷類型碼取出中斷向量,裝入IP和CS轉(zhuǎn)向中斷服務(wù)程序。為什么?見p187見p21(1)8.38086/8088的中斷操作與響應(yīng)硬件中斷的響應(yīng)過程和中斷服務(wù)硬件中斷的響應(yīng)過程58現(xiàn)場(chǎng)保護(hù)中斷處理現(xiàn)場(chǎng)恢復(fù)中斷返回不允許中斷嵌套的結(jié)構(gòu)為了使中斷返回后能繼續(xù)主程序的運(yùn)行。用堆棧指令保護(hù)那些在主、子程序中均用到的通用寄存器。IRET指令:把中斷響應(yīng)時(shí)保護(hù)的標(biāo)志寄存器內(nèi)容恢復(fù);把斷點(diǎn)地址彈出送至IP和CS從而實(shí)現(xiàn)返回。見教材p189~1908.38086/8088的中斷操作與響應(yīng)硬件中斷的響應(yīng)過程和中斷服務(wù)中斷服務(wù)程序的結(jié)構(gòu)59現(xiàn)場(chǎng)保護(hù)中斷處理現(xiàn)場(chǎng)恢復(fù)中斷返回允許中斷嵌套的結(jié)構(gòu)開中斷關(guān)中斷對(duì)于可屏蔽中斷而言,不論中斷返回前CPU是處于開中斷還是關(guān)中斷,返回后中斷總是開放的。STICLI為什么?見p1888.38086/8088的中斷操作與響應(yīng)硬件中斷的響應(yīng)過程和中斷服務(wù)中斷服務(wù)程序的結(jié)構(gòu)60中斷類型碼第一響應(yīng)周期第二響應(yīng)周期T1T2T3T4T1T2T3T4CLKALEINTAD7-D01.送出第1個(gè)中斷響應(yīng)信號(hào),通知外部中斷控制邏輯,CPU接受了中斷請(qǐng)求2.送出第2個(gè)中斷響應(yīng)信號(hào),啟動(dòng)外部中斷控制邏輯,把中斷類型碼置于數(shù)據(jù)總線,CPU從數(shù)據(jù)總線讀取中斷類型碼中斷類型碼通過數(shù)據(jù)總線低8位傳送,外設(shè)的數(shù)據(jù)線必須掛接在808616位數(shù)據(jù)總線的低8位。端口地址必須為偶地址A0=0見教材p1898.38086/8088的中斷操作與響應(yīng)硬件中斷的響應(yīng)過程和中斷服務(wù)硬件中斷的時(shí)序IF=1(開中斷)時(shí),當(dāng)INTR端加入中斷請(qǐng)求信號(hào)(高電平有效)時(shí),待當(dāng)前指令結(jié)束后,CPU產(chǎn)生兩個(gè)連續(xù)的中斷響應(yīng)總線周期,其時(shí)序關(guān)系如圖613.保護(hù)斷點(diǎn)和標(biāo)志,將當(dāng)前的FR、CS和IP內(nèi)容依次壓入堆棧,以便返回時(shí)恢復(fù);4.將FR中的IF標(biāo)志和TF標(biāo)志清0;5.根據(jù)讀取的中斷類型碼,控制轉(zhuǎn)入中斷服務(wù)程序入口教材p188圖8.3-5請(qǐng)回去仔細(xì)理解8.38086/8088的中斷操作與響應(yīng)硬件中斷的響應(yīng)過程和中斷服務(wù)硬件中斷的時(shí)序62主要內(nèi)容8.38086/8088的中斷操作與響應(yīng)中斷源的優(yōu)先級(jí)排序硬件中斷的響應(yīng)過程和中斷服務(wù)軟件中斷的響應(yīng)過程和中斷服務(wù)23163軟件中斷的響應(yīng)過程和中斷服務(wù)INTn指令格式:INTn說明:產(chǎn)生一個(gè)中斷類型號(hào)為n的軟中斷操作:①
標(biāo)志寄存器入棧②
斷點(diǎn)地址入棧:CS先入棧,然后IP入棧③
從中斷向量表中獲取中斷服務(wù)程序入口地址,即 IP
(0:4n+1,0:4n) CS(0:4n+3,0:4n+2)FRCSIP棧底棧頂8.38086/8088的中斷操作與響應(yīng)中斷指令64溢出中斷指令格式:INTO說明:檢測(cè)OF標(biāo)志位。
當(dāng)OF=1時(shí),產(chǎn)生中斷類型為4的中斷;當(dāng)OF=0時(shí),不起作用。操作:①
標(biāo)志寄存器入棧②
斷點(diǎn)地址入棧:CS先入棧,然后IP入棧③
從中斷向量表中獲取中斷服務(wù)程序入口地址,即 IP
(0000H:0010H) CS(0000H:0012H)8.38086/8088的中斷操作與響應(yīng)軟件中斷的響應(yīng)過程和中斷服務(wù)65中斷返回指令格式:IRET說明:從中斷服務(wù)程序返回?cái)帱c(diǎn)處,并將標(biāo)志寄存器的值從堆棧彈出,繼續(xù)執(zhí)行原程序。本指令用于中斷服務(wù)程序中。操作:①
斷點(diǎn)出棧:IP先出棧,CS后出棧②
標(biāo)志寄存器出棧注意這一點(diǎn)與RET指令不同。中斷服務(wù)程序返回一定要用IRET。FRCSIP棧底棧頂8.38086/8088的中斷操作與響應(yīng)軟件中斷的響應(yīng)過程和中斷服務(wù)66軟件中斷的響應(yīng)過程用戶程序(主程序)MOVAH,1INT21HMOVDL,ALNEXT:中斷向量表34H12H00H20H21H×421H×4+121H×4+221H×4+3IRET21H型服務(wù)程序2000H:1234HNEXT的偏移地址NEXT的段基址標(biāo)志寄存器的內(nèi)容堆棧區(qū)①②IPCS③④⑤⑥8.38086/8088的中斷操作與響應(yīng)軟件中斷的響應(yīng)過程和中斷服務(wù)67軟件中斷的響應(yīng)過程包括:除數(shù)為0引起的中斷(0),單步中斷(1),斷點(diǎn)中斷(3)和溢出中斷(4)四種。系統(tǒng)初始化時(shí)已將相應(yīng)的中斷向量定位裝配在中斷向量表中。當(dāng)中斷發(fā)生時(shí),只需直接查找中斷向量表即可,其余動(dòng)作與硬件中斷相同。
8.38086/8088的中斷操作與響應(yīng)軟件中斷的響應(yīng)過程和中斷服務(wù)微機(jī)原理與接口技術(shù)第8章中斷技術(shù)與可編程中斷控制器8259A目錄8.1中斷的基本概念及其應(yīng)用8.2中斷系統(tǒng)的功能和中斷優(yōu)先級(jí)8.38086/8088的中斷操作與響應(yīng)8.4可編程中斷控制器8259A8.58259A的應(yīng)用舉例70主要內(nèi)容8259A的主要功能結(jié)構(gòu)8259A的工作過程8259A的中斷管理8.4可編程中斷控制器8259A8259A的編程8259A的主要功能結(jié)構(gòu)718.4可編程中斷控制器8259A8259A的主要功能1片8259A可以管理8級(jí)中斷,且可以多片級(jí)聯(lián),最多可以用9片構(gòu)成64級(jí)的主從式中斷管理。對(duì)任何一級(jí)中斷都可以單獨(dú)屏蔽。可以通過編程,使8259A工作在不同方式下,使用靈活。能根據(jù)編程提供中斷源的中斷類型碼。8259A的主要功能結(jié)構(gòu)728.4可編程中斷控制器8259A8259A的引腳及功能中斷請(qǐng)求中斷響應(yīng)數(shù)據(jù)線中斷請(qǐng)求輸入VCCA0INTAIR7IR6IR5IR4IR3IR2IR1IR0INTSP/ENCAS28259A28272625242322212019181716151234567891011121314CSWRRDD7D6D5D4D3D2D1D0CAS0CAS1GND8259A的主要功能結(jié)構(gòu)738.4可編程中斷控制器8259A8259A的引腳及功能級(jí)聯(lián)信號(hào)從設(shè)備編程/緩沖器允許引腳內(nèi)部寄存器選擇。A0=0:ICW1,OCW2,OCW3A0=1:ICW2~ICW4,OCW1片選信號(hào)讀、寫信號(hào)VCCA0INTAIR7IR6IR5IR4IR3IR2IR1IR0INTSP/ENCAS28259A28272625242322212019181716151234567891011121314CSWRRDD7D6D5D4D3D2D1D0CAS0CAS1GND8259A的主要功能結(jié)構(gòu)748.4可編程中斷控制器8259A8259A的內(nèi)部結(jié)構(gòu)IR0IR1IR2IR3IR4IR5IR6IR7數(shù)據(jù)總線緩沖讀/寫控制邏輯級(jí)聯(lián)緩沖比較控制電路初始化命令寄存器組操作命令寄存器組內(nèi)部控制邏輯中斷服務(wù)寄存器(ISR)中斷優(yōu)先級(jí)分析器(PR)中斷請(qǐng)求寄存器(IRR)中斷屏蔽寄存器(IMR)D7~D0CAS0CAS1CAS2CSRDWRA0SP/ENINTINTA內(nèi)部數(shù)據(jù)總線888位的寄存器,用來接收來自IR0~IR7上的中斷請(qǐng)求輸入信號(hào),當(dāng)收到請(qǐng)求信號(hào)時(shí)就在IRR的相應(yīng)位置位。外設(shè)產(chǎn)生中斷請(qǐng)求的方式有兩種:一種是邊沿觸發(fā)方式,另一種是電平觸發(fā)方式。用戶可根據(jù)需要通過編程來設(shè)置。010010018259A的主要功能結(jié)構(gòu)758.4可編程中斷控制器8259A8259A的內(nèi)部結(jié)構(gòu)IR0IR1IR2IR3IR4IR5IR6IR7數(shù)據(jù)總線緩沖讀/寫控制邏輯級(jí)聯(lián)緩沖比較控制電路初始化命令寄存器組操作命令寄存器組內(nèi)部控制邏輯中斷服務(wù)寄存器(ISR)中斷優(yōu)先級(jí)分析器(PR)中斷請(qǐng)求寄存器(IRR)中斷屏蔽寄存器(IMR)D7~D0CAS0CAS1CAS2CSRDWRA0SP/ENINTINTA內(nèi)部數(shù)據(jù)總線88存放對(duì)中斷請(qǐng)求的屏蔽信息。軟件編程使得IMR的某位為“1”時(shí),相應(yīng)IRR中的中斷請(qǐng)求被屏蔽;反之允許相應(yīng)IRR中的中斷請(qǐng)求進(jìn)入中斷優(yōu)先級(jí)判別器PR。010010010000000101001000IR6IR38259A的主要功能結(jié)構(gòu)768.4可編程中斷控制器8259A8259A的內(nèi)部結(jié)構(gòu)IR0IR1IR2IR3IR4IR5IR6IR7數(shù)據(jù)總線緩沖讀/寫控制邏輯級(jí)聯(lián)緩沖比較控制電路初始化命令寄存器組操作命令寄存器組內(nèi)部控制邏輯中斷服務(wù)寄存器(ISR)中斷優(yōu)先級(jí)分析器(PR)中斷請(qǐng)求寄存器(IRR)中斷屏蔽寄存器(IMR)D7~D0CAS0CAS1CAS2CSRDWRA0SP/ENINTINTA內(nèi)部數(shù)據(jù)總線88存放正在服務(wù)的中斷源級(jí)別,當(dāng)某個(gè)中斷被響應(yīng)后,CPU發(fā)出第一個(gè)INTA信號(hào),ISR中的相應(yīng)位置“1”,一直被保存到該中斷處理結(jié)束。當(dāng)多重中斷時(shí),ISR的多位同時(shí)被置1。00000010IR18259A的主要功能結(jié)構(gòu)778.4可編程中斷控制器8259A8259A的內(nèi)部結(jié)構(gòu)IR0IR1IR2IR3IR4IR5IR6IR7數(shù)據(jù)總線緩沖讀/寫控制邏輯級(jí)聯(lián)緩沖比較控制電路初始化命令寄存器組操作命令寄存器組內(nèi)部控制邏輯中斷服務(wù)寄存器(ISR)中斷優(yōu)先級(jí)分析器(PR)中斷請(qǐng)求寄存器(IRR)中斷屏蔽寄存器(IMR)D7~D0CAS0CAS1CAS2CSRDWRA0SP/ENINTINTA內(nèi)部數(shù)據(jù)總線88對(duì)IRR保持的各中斷請(qǐng)求(已屏蔽的除外)進(jìn)行優(yōu)先權(quán)判別,并在CPU的中斷響應(yīng)周期將其送ISR。在出現(xiàn)多重中斷時(shí),由PR判定是否允許所出現(xiàn)的中斷去打斷正在處理的中斷,讓優(yōu)先級(jí)更高的中斷優(yōu)先處理。01001000
IR6IR3
00000010IR1>新的中斷請(qǐng)求優(yōu)先級(jí)低,不被響應(yīng)8259A的主要功能結(jié)構(gòu)788.4可編程中斷控制器8259A8259A的內(nèi)部結(jié)構(gòu)IR0IR1IR2IR3IR4IR5IR6IR7數(shù)據(jù)總線緩沖讀/寫控制邏輯級(jí)聯(lián)緩沖比較控制電路初始化命令寄存器組操作命令寄存器組內(nèi)部控制邏輯中斷服務(wù)寄存器(ISR)中斷優(yōu)先級(jí)分析器(PR)中斷請(qǐng)求寄存器(IRR)中斷屏蔽寄存器(IMR)D7~D0CAS0CAS1CAS2CSRDWRA0SP/ENINTINTA內(nèi)部數(shù)據(jù)總線8801001000
IR6IR3
10000000<10001000中斷嵌套IR3IR78259A的主要功能結(jié)構(gòu)798.4可編程中斷控制器8259A8259A的內(nèi)部結(jié)構(gòu)ISR寄存器中斷屏蔽寄存器IMR中斷請(qǐng)求優(yōu)先級(jí)編碼器中斷請(qǐng)求寄存器IRR比較器B0B1B2A>BA0A1A2ISR編碼ISR7ISR6ISR5ISR4ISR3ISR2ISR1ISR0INTD0……D7IR0IR1IR2IR3IR4IR5IR6IR7優(yōu)先級(jí)裁決過程工作原理圖10010010100000000001001010110000001011001000000000018259A的主要功能結(jié)構(gòu)808.4可編程中斷控制器8259A8259A的內(nèi)部結(jié)構(gòu)按照編程所設(shè)置的工作方式來管理8259A的工作。在IRR中有未被屏蔽的中斷請(qǐng)求位時(shí),它輸出高電平的INT信號(hào)向CPU申請(qǐng)中斷。在中斷響應(yīng)期間,它使ISR的相應(yīng)位置位,并控制向CPU發(fā)送相應(yīng)的中斷類型碼。在中斷服務(wù)結(jié)束時(shí),它按照編程指定的方式進(jìn)行結(jié)束處理。IR0IR1IR2IR3IR4IR5IR6IR7數(shù)據(jù)總線緩沖讀/寫控制邏輯級(jí)聯(lián)緩沖比較控制電路初始化命令寄存器組操作命令寄存器組內(nèi)部控制邏輯中斷服務(wù)寄存器(ISR)中斷優(yōu)先級(jí)分析器(PR)中斷請(qǐng)求寄存器(IRR)中斷屏蔽寄存器(IMR)D7~D0CAS0CAS1CAS2CSRDWRA0SP/ENINTINTA內(nèi)部數(shù)據(jù)總線88中斷類型碼8259A的主要功能結(jié)構(gòu)818.4可編程中斷控制器8259A8259A的內(nèi)部結(jié)構(gòu)IR0IR1IR2IR3IR4IR5IR6IR7數(shù)據(jù)總線緩沖讀/寫控制邏輯級(jí)聯(lián)緩沖比較控制電路初始化命令寄存器組操作命令寄存器組內(nèi)部控制邏輯中斷服務(wù)寄存器(ISR)中斷優(yōu)先級(jí)分析器(PR)中斷請(qǐng)求寄存器(IRR)中斷屏蔽寄存器(IMR)D7~D0CAS0CAS1CAS2CSRDWRA0SP/ENINTINTA內(nèi)部數(shù)據(jù)總線888位的雙向三態(tài)緩沖器,用作8259A與系統(tǒng)數(shù)據(jù)總線的接口。用來傳輸初始化命令字、操作命令字、狀態(tài)字和中斷類型碼。8259A的主要功能結(jié)構(gòu)828.4可編程中斷控制器8259A8259A的內(nèi)部結(jié)構(gòu)IR0IR1IR2IR3IR4IR5IR6IR7數(shù)據(jù)總線緩沖讀/寫控制邏輯級(jí)聯(lián)緩沖比較控制電路初始化命令寄存器組操作命令寄存器組內(nèi)部控制邏輯中斷服務(wù)寄存器(ISR)中斷優(yōu)先級(jí)分析器(PR)中斷請(qǐng)求寄存器(IRR)中斷屏蔽寄存器(IMR)D7~D0CAS0CAS1CAS2CSRDWRA0SP/ENINTINTA內(nèi)部數(shù)據(jù)總線88
它接收來自CPU的讀/寫命令,完成規(guī)定的操作。具體動(dòng)作由片選信號(hào)CS,地址輸入信號(hào)A0,以及讀(RD)和寫(WR)信號(hào)共同控制。8259A的主要功能結(jié)構(gòu)838.4可編程中斷控制器8259A8259A的內(nèi)部結(jié)構(gòu)IR0IR1IR2IR3IR4IR5IR6IR7數(shù)據(jù)總線緩沖讀/寫控制邏輯級(jí)聯(lián)緩沖比較控制電路初始化命令寄存器組操作命令寄存器組內(nèi)部控制邏輯中斷服務(wù)寄存器(ISR)中斷優(yōu)先級(jí)分析器(PR)中斷請(qǐng)求寄存器(IRR)中斷屏蔽寄存器(IMR)D7~D0CAS0CAS1CAS2CSRDWRA0SP/ENINTINTA內(nèi)部數(shù)據(jù)總線88CAS0~CAS2是8259A相互間連接用的專用總線,用來構(gòu)成8259A的主?從式級(jí)聯(lián)控制結(jié)構(gòu)。SP/EN:在緩沖方式下產(chǎn)生總線啟動(dòng)信號(hào),以控制總線緩沖器的接收和發(fā)送.
在非緩沖方式下,控制主片(高)和從片(低)8259A的主要功能結(jié)構(gòu)848.4可編程中斷控制器8259A8259A的內(nèi)部結(jié)構(gòu)若要CPU不響應(yīng)可屏蔽中斷,可以通過CPU的
寄存器中的
來實(shí)現(xiàn)。還可以通過設(shè)置中斷控制器中的
寄存器來實(shí)現(xiàn)。當(dāng)希望系統(tǒng)中有的可屏蔽中斷被響應(yīng),有的不被響應(yīng),只能通過設(shè)置
來實(shí)現(xiàn)。8259A中斷請(qǐng)求觸發(fā)器(IRRi)IRi中斷屏蔽觸發(fā)器(IMRi)CPU中斷邏輯開/關(guān)中斷IF(中斷允許觸發(fā)器)101IF=1開中斷可屏蔽中斷IRi能被響應(yīng)8259A的主要功能結(jié)構(gòu)858.4可編程中斷控制器8259A8259A的內(nèi)部結(jié)構(gòu)若要CPU不響應(yīng)可屏蔽中斷,可以通過CPU的
寄存器中的
來實(shí)現(xiàn)。還可以通過設(shè)置中斷控制器中的
寄存器來實(shí)現(xiàn)。當(dāng)希望系統(tǒng)中有的可屏蔽中斷被響應(yīng),有的不被響應(yīng),只能通過設(shè)置
來實(shí)現(xiàn)。8259A中斷請(qǐng)求觸發(fā)器(IRRi)IRi中斷屏蔽觸發(fā)器(IMRi)CPU中斷邏輯開/關(guān)中斷IF(中斷允許觸發(fā)器)101IF=0關(guān)中斷所有可屏蔽中斷請(qǐng)求均被屏蔽8259A的主要功能結(jié)構(gòu)868.4可編程中斷控制器8259A8259A的內(nèi)部結(jié)構(gòu)若要CPU不響應(yīng)可屏蔽中斷,可以通過CPU的
寄存器中的
來實(shí)現(xiàn)。還可以通過設(shè)置中斷控制器中的
寄存器來實(shí)現(xiàn)。當(dāng)希望系統(tǒng)中有的可屏蔽中斷被響應(yīng),有的不被響應(yīng),只能通過設(shè)置
來實(shí)現(xiàn)。8259A中斷請(qǐng)求觸發(fā)器(IRRi)IRi中斷屏蔽觸發(fā)器(IMRi)CPU中斷邏輯開/關(guān)中斷IF(中斷允許觸發(fā)器)110IF=1開中斷中斷請(qǐng)求IRi被屏蔽標(biāo)志IF位IMRIMR8259A的主要功能結(jié)構(gòu)878.4可編程中斷控制器8259A8259A的內(nèi)部結(jié)構(gòu)若要CPU不響應(yīng)可屏蔽中斷,可以通過CPU的
寄存器中的
來實(shí)現(xiàn)。還可以通過設(shè)置中斷控制器中的
寄存器來實(shí)現(xiàn)。當(dāng)希望系統(tǒng)中有的可屏蔽中斷被響應(yīng),有的不被響應(yīng),只能通過設(shè)置
來實(shí)現(xiàn)。標(biāo)志IF位IMRIMR標(biāo)志寄存器的IF位相當(dāng)于一個(gè)總開關(guān),控制著所有可屏蔽中斷是開放(IF=1)還是屏蔽(IF=0)IMR寄存器的每一位相當(dāng)于一個(gè)分開關(guān),獨(dú)立控制單個(gè)可屏蔽中斷是開放(IMRi=0)還是屏蔽(IMRi=1)。使用中斷控制器的系統(tǒng)中,某個(gè)可屏蔽中斷如果要被響應(yīng),兩級(jí)“開關(guān)”都要開放中斷。88主要內(nèi)容8259A的主要功能結(jié)構(gòu)8259A的工作過程8259A的中斷管理8.4可編程中斷控制器8259A8259A的編程8259A的工作過程898.4可編程中斷控制器8259A單片8259A的工作過程IR7IR6IR5IR4IR3IR2IR1IR0中斷服務(wù)寄存器(ISR)中斷優(yōu)先級(jí)分析器(PR)D7~D0高位地址線IOWA0INTINTA8中斷請(qǐng)求寄存器(IRR)D7~D0A0WRIORRDCSINTAINTR中斷屏蔽寄存器(IMR)總線初始化命令寄存器組操作命令寄存器組8259A注:8086此為A1,8086的A0=0。8259A的工作過程908.4可編程中斷控制器8259A單片8259A的工作過程IR7IR6IR5IR4IR3IR2IR1IR0中斷服務(wù)寄存器(ISR)中斷優(yōu)先級(jí)分析器(PR)D7~D0高位地址線IOWA0INTINTA8中斷請(qǐng)求寄存器(IRR)D7~D0A0WRIORRDCSINTAINTR中斷屏蔽寄存器(IMR)初始化命令寄存器組操作命令寄存器組(1)中斷源通過IR0~IR7向8259A發(fā)中斷請(qǐng)求,使得IRR的相應(yīng)位置位。01000010總線8259A8259A的工作過程918.4可編程中斷控制器8259A單片8259A的工作過程IR7IR6IR5IR4IR3IR2IR1IR0中斷服務(wù)寄存器(ISR)中斷優(yōu)先級(jí)分析器(PR)D7~D0IOWA0INTINTA8中斷請(qǐng)求寄存器(IRR)D7~D0A0WRIORRDCSINTAINTR中斷屏蔽寄存器(IMR)總線初始化命令寄存器組操作命令寄存器組8259A(2)若此時(shí)IMR中的相應(yīng)位為0,即該中斷請(qǐng)求沒有被屏蔽,則進(jìn)入優(yōu)先級(jí)排隊(duì)。8259A分析這些請(qǐng)求,若條件滿足,則通過INT向CPU發(fā)中斷請(qǐng)求010000100100000000000000高位地址線當(dāng)前無中斷服務(wù)程序在執(zhí)行。000000108259A的工作過程8.4可編程中斷控制器8259A單片8259A的工作過程IR7IR6IR5IR4IR3IR2IR1IR0中斷服務(wù)寄存器(ISR)中斷優(yōu)先級(jí)分析器(PR)D7~D0IOWA0INTINTA8中斷請(qǐng)求寄存器(IRR)D7~D0A0WRIORRDCSINTAINTR中斷屏蔽寄存器(IMR)總線初始化命令寄存器組操作命令寄存器組8259A(3)
CPU接收到中斷請(qǐng)求信號(hào)后,如果滿足條件,則進(jìn)入中斷響應(yīng),通過INTA引腳發(fā)出兩個(gè)連續(xù)負(fù)脈沖。010000100100000000000000高位地址線000000108259A的工作過程8.4可編程中斷控制器8259A單片8259A的工作過程93IR7IR6IR5IR4IR3IR2IR1IR0中斷服務(wù)寄存器(ISR)中斷優(yōu)先級(jí)分析器(PR)D7~D0IOWA0INTINTA8中斷請(qǐng)求寄存器(IRR)D7~D0A0WRIORRDCSINTAINTR中斷屏蔽寄存器(IMR)總線初始化命令寄存器組操作命令寄存器組8259A(3)8259A收到第一個(gè)INTA時(shí),做如下動(dòng)作:010000100100000000000000①使IRR的鎖存功能失效,到第二個(gè)INTA時(shí)再有效。第一個(gè)高位地址線000000108259A的工作過程8.4可編程中斷控制器8259A單片8259A的工作過程94IR7IR6IR5IR4IR3IR2IR1IR0中斷服務(wù)寄存器(ISR)中斷優(yōu)先級(jí)分析器(PR)D7~D0IOWA0INTINTA8中斷請(qǐng)求寄存器(IRR)D7~D0A0WRIORRDCSINTAINTR中斷屏蔽寄存器(IMR)總線初始化命令寄存器組操作命令寄存器組8259A010000100100000000000000②使ISR的相應(yīng)位置位,表示已為該中斷請(qǐng)求服務(wù)。00000010第一個(gè)高位地址線00000010(3)8259A收到第一個(gè)INTA時(shí),做如下動(dòng)作:8259A的工作過程8.4可編程中斷控制器8259A單片8259A的工作過程95IR7IR6IR5IR4IR3IR2IR1IR0中斷服務(wù)寄存器(ISR)中斷優(yōu)先級(jí)分析器(PR)D7~D0IOWA0INTINTA8中斷請(qǐng)求寄存器(IRR)D7~D0A0WRIORRDCSINTAINTR中斷屏蔽寄存器(IMR)總線初始化命令寄存器組操作命令寄存器組8259A0100001001000000③使IRR相應(yīng)位清0,表明對(duì)應(yīng)的中斷請(qǐng)求被響應(yīng)。0000001001000000第一個(gè)高位地址線(3)8259A收到第一個(gè)INTA時(shí),做如下動(dòng)作:8259A的工作過程8.4可編程中斷控制器8259A單片8259A的工作過程96IR7IR6IR5IR4IR3IR2IR1IR0中斷服務(wù)寄存器(ISR)中斷優(yōu)先級(jí)分析器(PR)D7~D0IOWA0INTINTA8中斷請(qǐng)求寄存器(IRR)D7~D0A0WRIORRDCSINTAINTR中斷屏蔽寄存器(IMR)總線初始化命令寄存器組操作命令寄存器組8259A(3)8259A收到第二個(gè)INTA時(shí),做如下動(dòng)作:01000000①把中斷類型碼送往數(shù)據(jù)總線。0000001001000000第二個(gè)中斷類型碼高位地址線8259A的工作過程8.4可編程中斷控制器8259A單片8259A的工作過程97IR7IR6IR5IR4IR3IR2IR1IR0中斷服務(wù)寄存器(ISR)中斷優(yōu)先級(jí)分析器(PR)D7~D0IOWA0INTINTA8中斷請(qǐng)求寄存器(IRR)D7~D0A0WRIORRDCSINTAINTR中斷屏蔽寄存器(IMR)總線初始化命令寄存器組操作命令寄存器組8259A01000000②如果8259A工作在中斷自動(dòng)結(jié)束方式,此時(shí)將清零ISR的相應(yīng)位。0000001001000000第二個(gè)00000000高位地址線(3)8259A收到第二個(gè)INTA時(shí),做如下動(dòng)作:8259A的工作過程8.4可編程中斷控制器8259A單片8259A的工作過程98IR7IR6IR5IR4IR3IR2IR1IR0中斷服務(wù)寄存器(ISR)中斷優(yōu)先級(jí)分析器(PR)D7~D0IOWA0INTINTA8中斷請(qǐng)求寄存器(IRR)D7~D0A0WRIORRDCSINTAINTR中斷屏蔽寄存器(IMR)總線初始化命令寄存器組操作命令寄存器組8259A01000000③如果8259A工作在非中斷自動(dòng)結(jié)束方式,此時(shí)不清零ISR的任何位,只有在中斷服務(wù)結(jié)束時(shí)發(fā)出中斷結(jié)束命令才會(huì)使ISR中的相應(yīng)位清零。0000001001000000第二個(gè)高位地址線(3)8259A收到第二個(gè)INTA時(shí),做如下動(dòng)作:8259A的工作過程8.4可編程中斷控制器8259A單片8259A的工作過程99中斷類型碼n第一響應(yīng)周期第二響應(yīng)周期T1T2T3T4T1T2T3T4CLKALEINTAD7-D0初始化接口IRR鎖存失效,不接收新的請(qǐng)求當(dāng)前最高的ISR置位(響應(yīng)中斷)IRR相應(yīng)位清零接口送出nCPU讀入nIRR鎖存有效,接收新的請(qǐng)求ICW2→D7~D0(中斷類型碼)若ICW4D1=1(中斷自動(dòng)結(jié)束方式),則相應(yīng)ISR位自動(dòng)清0。硬件中斷時(shí)序8259A的工作過程8.4可編程中斷控制器8259A級(jí)聯(lián)使用時(shí):示例:一個(gè)由3片8259A組成的級(jí)聯(lián)系統(tǒng)至少要2片8259A(1片主片,1片從片),可管理15級(jí)外部中斷。最多允許9片8259A級(jí)聯(lián)(其中1片為主片,8片從片),可管理64級(jí)中斷。
多片8259A級(jí)聯(lián)的工作過程8259A的工作過程8.4可編程中斷控制器8259A主IR0~IR2>從A的IR0~IR7>主IR4~IR5>從B的IR0~IR7>主IR78259A從片ACSSP/ENINTAINTCAS0CAS1CAS2A0IR7IR0IR7IR0…………GND8259A從片BCSSP/ENINTAINTCAS0CAS1CAS2A0IR7IR0IR7IR0…………GND8259A主控制器CSSP/ENINTAINTCAS0CAS1CAS2A0IR7IR0IR7IR0……3VCC地址總線譯碼譯碼譯碼控制總線數(shù)據(jù)總線中斷申請(qǐng)(輸出)62154id:011id:110多片8259A級(jí)聯(lián)的工作過程8259A的工作過程8.4可編程中斷控制器8259A級(jí)聯(lián)時(shí),從片上中斷源的請(qǐng)求與響應(yīng)過程:從片上的中斷源通過IR0~IR7向從8259A發(fā)中斷請(qǐng)求,使得IRR的相應(yīng)位置位。IRR00000001多片8259A級(jí)聯(lián)的工作過程8259A的工作過程8.4可編程中斷控制器8259A多片8259A級(jí)聯(lián)的工作過程若此時(shí)IMR中的相應(yīng)位為0,即該中斷請(qǐng)求沒有被屏蔽,則進(jìn)入優(yōu)先級(jí)排隊(duì)。8259A分析這些請(qǐng)求,若條件滿足,則通過INT向主8259A發(fā)中斷請(qǐng)求。IRR00000001IRR00001000IMRxxxxxxx08259A的工作過程8.4可編程中斷控制器8259A多片8259A級(jí)聯(lián)的工作過程
主8259A收到請(qǐng)求后若滿足條件則通過INT向CPU發(fā)中斷請(qǐng)求。8259A的工作過程8.4可編程中斷控制器8259A多片8259A級(jí)聯(lián)的工作過程
CPU接收到中斷請(qǐng)求信號(hào)后,如果滿足條件,則進(jìn)入中斷響應(yīng),通過INTA引腳發(fā)出兩個(gè)連續(xù)負(fù)脈沖,該INTA信號(hào)送給所有的8259A。8259A的工作過程8.4可編程中斷控制器8259A多片8259A級(jí)聯(lián)的工作過程在各8259A收到第一個(gè)INTA時(shí),使各自的IRR的鎖存功能失效(目的是防止此時(shí)再來中斷導(dǎo)致中斷響應(yīng)的錯(cuò)誤),到第二個(gè)INTA時(shí)再有效。8259A的工作過程8.4可編程中斷控制器8259A多片8259A級(jí)聯(lián)的工作過程主片收到第一個(gè)INTA后使對(duì)應(yīng)的ISR位置,并通過CAS0~CAS2輸出當(dāng)前被響應(yīng)的中斷源所屬從片的設(shè)備代碼ID。8259A從片ACSSP/ENINTAINTCAS0CAS1CAS2A0IR7IR0IR7IR0…………GND8259A從片BCSSP/ENINTAINTCAS0CAS1CAS2A0IR7IR0IR7IR0…………GND8259A主控制器CSSP/ENINTAINTCAS0CAS1CAS2A0IR7IR0IR7IR0……3VCC地址總線譯碼譯碼譯碼控制總線數(shù)據(jù)總線中斷申請(qǐng)(輸出)62154011BISR000010008259A的工作過程8.4可編程中斷控制器8259A多片8259A級(jí)聯(lián)的工作過程
每個(gè)從片均收到這一設(shè)備代碼并和自身的代碼進(jìn)行比較。8259A從片ACSSP/ENINTAINTCAS0CAS1CAS2A0IR7IR0IR7IR0…………GND8259A從片BCSSP/ENINTAINTCAS0CAS1CAS2A0IR7IR0IR7IR0…………GND8259A主控制器CSSP/ENINTAINTCAS0CAS1CAS2A0IR7IR0IR7IR0……3VCC地址總線譯碼譯碼譯碼控制總線數(shù)據(jù)總線中斷申請(qǐng)(輸出)62154011B8259A的工作過程8.4可編程中斷控制器8259A多片8259A級(jí)聯(lián)的工作過程8259A從片ACSSP/ENINTAINTCAS0CAS1CAS2A0IR7IR0IR7IR0…………GND8259A從片BCSSP/ENINTAINTCAS0CAS1CAS2A0IR7IR0IR7IR0…………GND8259A主控制器CSSP/ENINTAINTCAS0CAS1CAS2A0IR7IR0IR7IR0……3VCC地址總線譯碼譯碼譯碼控制總線數(shù)據(jù)總線中斷申請(qǐng)(輸出)62154011B與主片送出的代碼一致的從片則清零被響應(yīng)的中斷源的IRR位,置位被響應(yīng)的中斷源的ISR位,并做好把自身被響應(yīng)的中斷源的類型碼送到數(shù)據(jù)總線的準(zhǔn)備。IRR0000000100000000ISR00000001中斷類型碼n8259A的工作過程8.4可編程中斷控制器8259A多片8259A級(jí)聯(lián)的工作過程在第二個(gè)INTA脈沖有效期間,由被選中的從8259A將中斷類型碼送上數(shù)據(jù)總線。CPU在中斷響應(yīng)周期的第二周期讀取類型碼,并生成中斷向量表的地址,然后從向量表中讀出中斷向量轉(zhuǎn)入相應(yīng)的中斷服務(wù)程序。中斷類型碼n8259A的工作過程8.4可編程中斷控制器8259A多片8259A級(jí)聯(lián)的工作過程中斷類型碼n第一響應(yīng)周期第二響應(yīng)周期T1T2T3T4T1T2T3T4CLKALEINTAD7-D0初始化接口IRR鎖存失效,不接收新的請(qǐng)求當(dāng)前最高的ISR置位(響應(yīng)中斷)IRR相應(yīng)位清零級(jí)聯(lián)CAS2~0主片→從片接口送出nCPU讀入nIRR鎖存有效,接收新的請(qǐng)求ICW2→D7~D0(主片,從片)若ICW4
的D1=1(中斷自動(dòng)結(jié)束方式),則相應(yīng)ISR位自動(dòng)清0。硬件中斷時(shí)序8259A的工作過程8.4可編程中斷控制器8259A若有40個(gè)外部中斷請(qǐng)求信號(hào),至少需要
片8259A中斷控制器來管理。85+(85)1
=43個(gè)(6片)從片主片84+(84)1
=36個(gè)(5片)從片主片6典型題:已知8259A片數(shù),求在級(jí)聯(lián)方式下最多管理幾級(jí)中斷。已知中斷源個(gè)數(shù),求最少需要多少片8259A來管理。主要內(nèi)容8259A的主要功能結(jié)構(gòu)8259A的工作過程8259A的中斷管理8.4可編程中斷控制器8259A8259A的編程難點(diǎn)8259A的中斷管理8.4可編程中斷控制器8259A中斷優(yōu)先級(jí)管理1中斷結(jié)束管理2中斷嵌套管理3中斷屏蔽管理4中斷優(yōu)先級(jí)管理8.4.38259A的中斷管理固定優(yōu)先級(jí)方式8259A復(fù)位后自動(dòng)處于固定優(yōu)先級(jí)方式,8個(gè)中斷源的優(yōu)先級(jí)別是固定的,依次為IR0>IR1>IR2>IR3>IR4>IR5>IR6>IR7。循環(huán)優(yōu)先級(jí)方式設(shè)置為此方式后瞬時(shí)優(yōu)先級(jí)為IR0>IR1>IR2>IR3>IR4>IR5>IR6>IR7,一旦某中斷源的請(qǐng)求被響應(yīng)后它就變成最低優(yōu)先級(jí),它的下一級(jí)上升為最高優(yōu)先級(jí)。當(dāng)前正在服務(wù)IR2被響應(yīng)后,優(yōu)先級(jí)順序?yàn)椋篒R3>IR4>IR5>IR6>IR7>IR0>IR1>IR2
中斷優(yōu)先級(jí)管理8.4.38259A的中斷管理特殊循環(huán)優(yōu)先級(jí)方式在設(shè)置8259A為循環(huán)優(yōu)先級(jí)的同時(shí),還指明循環(huán)起始時(shí)的最低優(yōu)先級(jí)。查詢排序優(yōu)先級(jí)方式一般用于中斷級(jí)數(shù)多于64級(jí)的場(chǎng)合。由程序讀取8259A的查詢字來判斷該8259A的中斷源是否有請(qǐng)求。指明IR4優(yōu)先級(jí)最低后,優(yōu)先級(jí)順序?yàn)椋篒R5
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 嬰幼兒早期教育服務(wù)質(zhì)量研究-洞察分析
- 小微企業(yè)網(wǎng)絡(luò)營銷效果評(píng)估-洞察分析
- 藥品價(jià)格與社會(huì)保險(xiǎn)聯(lián)動(dòng)-洞察分析
- 稀疏概率圖學(xué)習(xí)-洞察分析
- 心理彈性培養(yǎng)在教育中的實(shí)踐-洞察分析
- 舞蹈藝術(shù)中的身體審美觀念變遷-洞察分析
- 藝術(shù)社區(qū)發(fā)展評(píng)價(jià)體系-洞察分析
- 虛擬化技術(shù)安全挑戰(zhàn)-洞察分析
- 投資咨詢行業(yè)國際化挑戰(zhàn)-洞察分析
- 現(xiàn)代藝術(shù)與生態(tài)材料應(yīng)用-洞察分析
- 課程教學(xué)目標(biāo)達(dá)成度評(píng)價(jià)表
- 造紙行業(yè)崗位安全操作規(guī)程匯編
- 陜西西安浐灞生態(tài)區(qū)管理委員會(huì)招聘考試真題2022
- 保安先進(jìn)班組事跡范文(28篇)
- DRG付費(fèi)改革理論考核試題題庫與答案
- 氣動(dòng)輸送管道安裝工藝
- 2006年考研英語一真題及答案詳細(xì)解析
- 新時(shí)代職業(yè)英語《 通用英語1》教學(xué)課件U5
- 物業(yè)企業(yè)安全生產(chǎn)責(zé)任清單參考模板
- 建筑給水鋼塑復(fù)合管管道工程技術(shù)規(guī)程
- 機(jī)架結(jié)構(gòu)設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論