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