《中斷系統(tǒng)基本概念》由會員分享,可在線閱讀,更多相關(guān)《中斷系統(tǒng)基本概念(67頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、單擊此處編輯母版標(biāo)題樣式,,,第5章 中斷系統(tǒng),第,5,章,,中斷系統(tǒng),5.1,中斷系統(tǒng)基本概念,,5.2,中斷的處理過程,,5.3,IBM-PC,機(jī)中斷系統(tǒng)結(jié)構(gòu),,5.4,Intel 8259A,可編程中斷控制器,,5.5,中斷程序舉例,本章學(xué)習(xí)目標(biāo),,掌握有關(guān)中斷的基本概念、中斷優(yōu)先級、中斷嵌套、中斷屏蔽、中斷向量等基本概念。,,了解8086/8088中斷系統(tǒng)中的中斷源分類、,IBM-PC,機(jī)中斷系統(tǒng)結(jié)構(gòu)。,,掌握可編程中斷控制器8259,A,的功能、內(nèi)部結(jié)構(gòu)、工作方式及初始化命令和操作命令的定義、使用方法,服務(wù)程序的基本編寫方法。,5.1,中斷系統(tǒng)基本概念,5.1.1,中斷系統(tǒng)的作用,
2、,,5.1.2,中斷源,返回本章首頁,5.1.1,中斷系統(tǒng)的作用,(1)分時處理,,(2)故障處理,,(3)實時處理,返回本,節(jié),5.1.2 中斷源,1.外部設(shè)備請求中斷:,是指系統(tǒng)中外設(shè)所發(fā)生的中斷。,,,2.實時請求中斷:,實時中斷用于實時系統(tǒng)中,在工業(yè)控制中經(jīng)常使用。,,,3.故障請求中斷:,同機(jī)器硬件錯誤有關(guān)的中斷系統(tǒng)稱謂硬件故障中斷。,,4.程序性中斷:,與用戶程序錯誤有關(guān)的中斷,統(tǒng)稱為程序性中斷。,返回本,節(jié),5.2,中斷的處理過程,5.2.1,中斷請求與中斷屏蔽,,5.2.2,中斷優(yōu)先級排隊,,5.2.3,中斷響應(yīng),,5.2.4,中斷處理,返回本章首頁,處理一個中斷的過程,就是
3、妥善處理以下一些基本問題的過程:,1)何時檢查中斷輸入信號及其處理辦法。,,2)如何把控制轉(zhuǎn)給中斷服務(wù)程序。,,3)如何保護(hù)和恢復(fù)中斷的現(xiàn)場。,,4)如何識別中斷源。,,5)如何識別優(yōu)先級較高的中斷。,,6)如何開放和關(guān)閉中斷。,5.2.1,中斷請求與中斷屏蔽,1.中斷請求的定義:,用某種信號通知,CPU,指明某臺外設(shè)正在請求需要中斷現(xiàn)行程序的執(zhí)行。,,2.中斷請求的條件,:第一、外設(shè)本身的準(zhǔn)備工作已完成;第二、系統(tǒng)允許該外設(shè)發(fā)中斷請求。,,3.中斷屏蔽:,當(dāng)此觸發(fā)器在程序控制下,使觸發(fā)器輸出端置“1”時,允許中斷(,EI),,若觸發(fā)器輸出端置“0”時,則關(guān)閉中斷(,DI)。,返回本,節(jié),5.
4、2.2 中斷優(yōu)先級排隊,1.中斷優(yōu)先級:,當(dāng),CPU,正在處理中斷時,能響應(yīng)更高級別的中斷請求,而屏蔽掉同級或較低級別的中斷請求。,,,2.單級中斷處理和多級中斷處理,:單級中斷處理不允許其他設(shè)備再中斷,CPU,的程序;多級中斷處理允許優(yōu)先級高的中斷打斷優(yōu)先級低的中斷服務(wù)程序。,圖,5-2,同時中斷請求的處理方法,(,a,),單級中斷處理,(,b,),多級中斷處理,3.中斷排隊與中斷源的識別,(,如圖5-3~5-7所示),,(1)程序查詢識別(軟件查詢法),,(,2,)單線串行順序鏈識別(硬件查詢法),,(,3,)中斷向量法識別,圖,5-3,多級中斷結(jié)構(gòu),,圖,5-4,單級中斷結(jié)構(gòu),圖,5-
5、5,,程序查詢識別中斷方法,圖5-6 串行順序鏈識別中斷方法,圖,5-7,,向量中斷示意圖,返回本,節(jié),5.2.3 中斷響應(yīng),1.中斷響應(yīng)的方法,,(1)中斷隱指令,,(2)中斷矢量,2.中斷響應(yīng)的條件,,1)設(shè)置中斷請求觸發(fā)器,發(fā)出中斷請求信號,,2)設(shè)置中斷屏蔽觸發(fā)器,當(dāng)此觸發(fā)器為“1”時,允許外設(shè)的中斷請求才能被送出至,CPU。,,3)CPU,處于開中斷狀態(tài)。,,4),CPU,在一條現(xiàn)行指令結(jié)束之后響應(yīng)中斷。,3.中斷響應(yīng)的過程,,1)發(fā)出中斷響應(yīng)信號。,,2)同時自動關(guān)中斷,即置中斷允許觸發(fā)器,IF,為“0”。,,3)保存斷點。,,4)保護(hù)現(xiàn)場。,,5)輸入到中斷服務(wù)程序邏輯的入口
6、地址。,返回本,節(jié),5.2.4 中斷處理,1.起始部分—保護(hù)現(xiàn)場,,2.主體部分—中斷服務(wù),,3.結(jié)尾部分—恢復(fù)現(xiàn)場,圖5-8 中斷服務(wù)程序框圖與程序示例,返回本,節(jié),5.3,IBM-PC,機(jī)中斷系統(tǒng)結(jié)構(gòu),5.3.1 8086/8088,CPU,的中斷結(jié)構(gòu)體系,,5.3.2 8086/8088中斷優(yōu)先級別對中斷源的管理,,5.3.3,IBM-PC/XT,的中斷控制邏輯,,5.3.4,IBM-PC/AT,的中斷控制邏輯,返回本章首頁,5.3.1 8086/8088,CPU,的中斷結(jié)構(gòu)體系,圖5-9 8086/8088的中斷源,1,.內(nèi)部中斷,內(nèi)部中斷的特點是:,,1)是指令中指定的,
7、或隱含的,或是預(yù)定的。,,2),CPU,不執(zhí)行中斷響應(yīng)總線周期,INTA。,,3),除單步中斷外,其他內(nèi)部中斷的優(yōu)先級都比外部中斷的要高,都不能被屏蔽(禁止)。,,4)單步中斷的優(yōu)先級是所有中斷里最低的,它可以用中斷允許標(biāo)志位,TF,置0來屏蔽。,2.外部硬件中斷,(,1,)非屏蔽中斷,NMI:,不受中斷允許標(biāo)志,IF,的影響,它總是被,CPU,接受的,,,(,2,)屏蔽中斷,INTR:,是否響應(yīng),INTR,的請求,取決于中斷允許標(biāo)志位,IF,的狀態(tài)。,3.中斷類型號和中斷向量表,中斷類型號:對每種中斷都指定一個中斷類型號代碼,從0~255,每一個中斷類型號都可以與一個中斷服務(wù)程序相對應(yīng)。中斷
8、服務(wù)程序存放在存儲區(qū)域內(nèi),而中斷服務(wù)程序的入口地址存在內(nèi)存儲器的中斷向量表內(nèi)。,,中斷向量表:是中斷類型號與它相應(yīng)的中斷服務(wù)程序入口地址之間的轉(zhuǎn)換表。,圖5-10 中斷向量表,表,5-1,IBM PC,/,XT,機(jī)的中斷類型號的安排(一),表,5-2,IBM PC,/,XT,機(jī)的中斷類型號的安排(二),中斷類型號,地址(,H,),中斷功能,中斷類型號,地址(,H,),中斷功能,20,80-83,程序結(jié)束,26,98-9,B,絕對磁盤寫,21,84-87,DOS,系統(tǒng)調(diào)用,27,9C-9F,程序結(jié)束,駐留內(nèi)存,22,88-8,B,結(jié)束地址,28,A0-A3,DOS,內(nèi)部使用,23,8C-8
9、F,中止處理,29~2,E,A4-BB,DOS,保留,24,90-93,錯誤處理,2F,BC-BF,DOS,內(nèi)部使用,25,94-97,絕對磁盤讀,30~3,F,C0-FF,DOS,保留,4.中斷向量表的初始化,方法一:采用,DOS,系統(tǒng)功能調(diào)用。即,INT 21H,的25,H,號功能調(diào)用。,,方法二:將中斷服務(wù)程序的入口地址直接裝入中斷向量表中。,返回本,節(jié),5.3.2 8086/8088中斷優(yōu)先級別對中斷源的管理,1.中斷優(yōu)先級別,中斷源,優(yōu)先級,除法錯、,INT n,INT O,最高,NMI,↑,INTR,∣,單步(陷阱),最低,表,5-3,中斷優(yōu)先級順序,2.8086/8088對中斷
10、源的采樣,,有幾條指令是在緊跟其后的一條指令也被執(zhí)行完才去采樣:,,1)對段寄存器的裝入指令,,2),STI,和,IRET,指令,,3),WAIT,指令,,4),HLT,指令,3.8086/8088中斷處理過程,,1)將中斷類型碼乘4,指向中斷向量表中的中斷處理子程序的入口地址。,,2)保存,CPU,的狀態(tài)。,,3)清除,IF,和,TF,的狀態(tài)標(biāo)志位。,,4)保存原來執(zhí)行的主程序的中斷點。,,5)轉(zhuǎn)中斷處理子程序入口地址。,,6)執(zhí)行中斷處理子程序。,,7)返回到被中斷了的主程序的斷點繼續(xù)執(zhí)行。,圖,5-11,中斷處理過程框,返回本,節(jié),5.3.3,IBM-PC/XT,的中斷控制邏輯,(1)內(nèi)
11、部中斷源:除法錯引起的中斷、溢出引起的中斷、執(zhí)行中斷指令,INT(,包括,INT3,斷點中斷)引起的中斷以及單步中斷。,,(2)非屏蔽中斷,NMI:,系統(tǒng)板上存儲器奇偶校驗錯、,I/O,通道中的插件奇偶校驗錯、8087請求中斷。,,(3)可屏蔽中斷,INTR:,外部設(shè)備請求中斷時,是通過,INTR,引腳向8088,CPU,請求屏蔽中斷。,圖5-12 中斷控制邏輯電路如圖,8259,輸入,中斷類型號,中斷源,IRQ0,08,電子鐘時間基準(zhǔn),IRQ1,09,鍵盤,IRQ2,0A,為用戶保留,IRQ3,0B,異步通信:,COM2,IRQ4,0C,異步通信:,COM1,IRQ5,0D,硬盤,IRQ6
12、,0E,軟盤,IRQ7,0F,并行打印機(jī),表,5-4,IBM PC/XT,機(jī)中斷源和中斷類型號,返回本,節(jié),5.3.4,IBM-PC/AT,的中斷控制邏輯,IBM PC/AT,機(jī)的中斷管理著三類中斷源:,,(1)內(nèi)部中斷源,,(2)非屏蔽中斷,NMI,,(3),可屏蔽中斷,INTR,圖5-13,PC/AT,機(jī)兩片8259級聯(lián)硬件連接圖,表,5-5,IBM PC/AT,機(jī)中斷源和中斷類型號,返回本,節(jié),5.4,Intel 8259A,可編程中斷控制器,5.4.1 8259,A,的框圖和引腳,,5.4.2,中斷觸發(fā)方式和中斷響應(yīng)過程,,5.4.3,工作方式,,5.4.4 屏蔽中斷源的方式,,5
13、.4.5 結(jié)束中斷處理的方式,,5.4.6 中斷級聯(lián)方式,,5.4.7 8259,A,初始化命令字和操作方式命令字,返回本章首頁,5.4.1 8259,A,的框圖和引腳,1.功能及工作特點,,1)可用9片8259,A,來構(gòu)成64級的主從式中斷系統(tǒng)。,,2)每一級中斷都可以屏蔽或允許。,,3)8259,A,可提供相應(yīng)的中斷向量,從而能迅速地轉(zhuǎn)至中斷服務(wù)程序。,,4)通過編程使8259,A,工作在多種不同的方式。,,5)工作時只需要一組+5,V,電源。,2.結(jié)構(gòu)框圖,圖5-14 8259,A,的方框圖,3.8259,A,的引腳,圖5-15 8259,A,的引腳,4.8259,A,的工作
14、原理,,,第一個負(fù)脈沖到達(dá)時,8259,A,做到:,,1)使,IRR,的鎖存功能失效。,,2)使當(dāng)前中斷服務(wù)寄存器,ISR,中的相應(yīng)位置1。,,3)便,IRR,寄存器中的相應(yīng)位清零。,,第二個負(fù)脈沖到達(dá)時,8259,A,完成:,,1)將中斷類型寄存器中的內(nèi)容,ICW2,,送到數(shù)據(jù)總線,的,D7~D0,CPU,將此作為中斷類型碼。,,2)第二個脈沖結(jié)束時,8259,A,會將第一個脈沖到來時設(shè)置的當(dāng)前中斷服務(wù)寄存器,ISR,的相應(yīng)位清零。,5.8259,A,寄存器,及,I/O,端口的識別,表,5-6 8259,A,讀寫操作及地址,CS,RD,WR,A0,功能,8259,A,端口,PC/XT,機(jī)端
15、口,0,0,1,0,讀IRR,ISR,偶地址,20,H,0,0,1,1,讀IMR,奇地址,21,H,0,1,0,0,寫ICW1,OCW2,OCW3,偶地址,20,H,0,1,0,1,寫ICW2,ICW3,ICW4,OCW1,奇地址,21,H,0,1,1,×,無操作,,,,,1,×,×,×,無操作,,,,,返回本,節(jié),5.4.2 中斷觸發(fā)方式和中斷響應(yīng)過程,1.中斷觸發(fā)方式,,(,1,)邊沿觸發(fā)方式,,(,2,)電平觸發(fā)方式,,(,3,)中斷查詢方式,2.中斷響應(yīng)過程,,1)當(dāng)它的一條或多條中斷請求線(,IR7~I(xiàn)R0),變?yōu)楦唠娖綍r,它就使中斷請求鎖存器,IRR,相應(yīng)的位置1。,,2)825
16、9,A,分析這些請求,它就向,CPU,發(fā)出高電平有效信號,INT,,請求中斷服務(wù)。,,3)當(dāng)前一條指令執(zhí)行完畢,且,IF=1,時,,CPU,響應(yīng)中斷請求,進(jìn)入中斷響應(yīng)總線周期。,4)8259,A,接到來自,CPU,的第一個脈沖,把允許中斷的最高優(yōu)先級請求位,置入服務(wù)寄存器,ISR,,并把,IRR,中對應(yīng)的位清零。,,5),CPU,在第二個總線周期,再次發(fā)出一個脈沖,8259,A,接到第二個脈沖,送出中斷類型碼,,CPU,讀取該類型碼。第二個中斷響應(yīng)周期,總線封鎖撤銷。,圖5-16 中斷響應(yīng)總線周期時序,返回本,節(jié),5.4.3 工作方式,1.一般完全嵌套方式,,2.特殊完全嵌套方式,,3.優(yōu)
17、先級自動循環(huán)方式,,4.優(yōu)先級特殊循環(huán)方式,返回本,節(jié),5.4.4 屏蔽中斷源的方式,1.普通屏蔽方式,,2.特殊屏蔽方式,返回本,節(jié),5.4.5 結(jié)束中斷處理的方式,1.中斷自動結(jié)束方式,,2.一般的中斷結(jié)束方式,,3.特殊的中斷結(jié)束方式,返回本,節(jié),5.4.6 中斷級聯(lián)方式,1.緩沖方式:,8259,A,通過總線驅(qū)動器和數(shù)據(jù)總線相連,這就是緩沖方式。,,2.非緩沖方式:,當(dāng)系統(tǒng)中只有單片8259,A,時,一般將它直接與數(shù)據(jù)總線相連。,,圖5-17 8259,A,緩沖方式下級連結(jié)構(gòu),圖5-18 8259,A,非緩沖方式下級連結(jié)構(gòu),返回本,節(jié),5.4.7 8259,A,初始化命令字
18、和操作方式命令字,1.初始化命令字,ICW,,(,1,)ICW1,,(,2,)ICW2,,(,3,),ICW3,,(,4,),ICW4,,(,5,),初始化命令字的編程順序,圖5-19,ICW1,命令字,圖5-20,ICW2,命令字,圖5-21 主8259,A,的,ICW3,命令字,圖5-23,ICW4,命令字,圖5-24 8059,A,初始化命令字的順序,返回本,節(jié),5.5,中斷程序舉例,5.5.1,IBM-PC/XT,機(jī)對,8259,A,的初始化,,,5.5.2,IBM-PC/AT,機(jī)對,8259,A,的初始化,返回本章首頁,5.5.1,IBM-PC/XT,機(jī)對,8259,A,的初始
19、化,(,1,)初始化編程,,1,)工作在8086/8088系統(tǒng)、單片8259,A、,邊沿觸發(fā)方式。,,2,)中斷向量初始值為08,H(IRQ0,,電子鐘中斷向量)。,,3,)中斷服務(wù)結(jié)束時,用常規(guī)的中斷結(jié)束命令,固定優(yōu)先權(quán)級別。,(,2,)中斷屏蔽,,1,)屏蔽所有中斷,,2,)屏蔽某中斷源使其不發(fā)中斷請求,,3,)中斷查詢,,4,)中斷結(jié)束命令字,返回本,節(jié),5.5.2,IBM-PC/AT,機(jī)對8259,A,的初始化,(1)初始化8259,A,主片,MOV AL,11H ;ICW1,邊沿觸發(fā),級連,有,ICW4,,OUT 20H,AL,,JMP SHORL$+2 ;I/O,端口
20、的延時要求,,MOV AL,08H ;ICW2,中斷類型號的初值為08,H,,OUT 21H,AL,,MOV AL,04H ;04=00000100B OCW3,從片,INT,接主片,IR2,,OUT 21H,AL,,JMP SHORL$+2 ;I/O,端口的延時要求,,MOV AL,09H ;ICW4 8086,系統(tǒng),非自動,EOI,,非緩沖,,,;特殊完全嵌套,,OUT 21H,AL,(2)初始化8259,A,從片,MOV AL,11H ;ICW1,邊沿觸發(fā),級連,有,ICW4,,OUT 0A0H,AL,,JMP SHORL$+2 ;I/O,端口的延時要求,,MOV AL,70H ;ICW2,中斷類型號的初值為70,H,,OUT 0A1H,AL,,MOV AL,02H ; OCW3,從片,INT,接主片,IR2,,OUT 0A1H,AL,,JMP SHORL$+2 ;I/O,端口的延時要求,,MOV AL,01H ;ICW4 8086,系統(tǒng),非自動,EOI,,非緩沖,,,;一般完全嵌套,OUT 0A1H,AL,返回本,節(jié),THANK YOU VERY MUCH !,本章到此結(jié)束,,,謝謝您的光臨!,返回本章首頁,結(jié) 束,放映,