




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、匯編語言與微機接口1第7章 中斷控制技術第第7章章 中斷控制技術中斷控制技術中斷系統(tǒng)概述8086中斷系統(tǒng)中斷控制器8259A8259A的應用234總目錄總目錄137.1.1 中斷基本概念7.1.2 中斷過程7.1.3 中斷優(yōu)先權中斷系統(tǒng)概述4中斷主程序中斷服務子程序斷點中斷識別中斷接口中斷類型碼中斷源 7.1.1 中斷的基本概念現(xiàn)場中斷向量表5 當某事件發(fā)生時,為了對該事件進行處理,CPU中止現(xiàn)行程序的執(zhí)行,轉去執(zhí)行處理該事件的程序(稱中斷處理程序或中斷服務程序)。待中斷服務程序執(zhí)行完畢,再返回斷點繼續(xù)執(zhí)行原來的程序,這個過程稱為中斷。中斷處理主程序KK 1返回N m 7.1.1 中斷的基本概
2、念6中斷方式下,CPU無需完全服務于某個外設,效率高。71.中斷中斷指CPU正在執(zhí)行某程序的過程中,由于出現(xiàn)了某些異常或外設提出了某種請求。CPU暫暫停停當前程序,轉去轉去處理異?;蛲庠O請求的程序。執(zhí)行完后再返回返回原來被終止的程序處繼續(xù)執(zhí)行。該過程稱為中斷。2.主程序主程序未發(fā)生中斷時,CPU正在執(zhí)行的程序稱為主程序。83.中斷服務程序中斷服務程序 ISR處理中斷事件的程序,又稱中斷子程序。不同的中斷對應不同的ISR。4.斷點斷點中斷時,主程序中被終止指令的下一條指令的地址下一條指令的地址CPU轉去執(zhí)行ISR時,斷點被壓入棧壓入棧中進行保護;ISR執(zhí)行完畢后,CPU通過出棧出棧操作從棧頂獲得
3、中斷斷點,確保能返回到主程序處繼續(xù)執(zhí)行。9是指CPU轉去執(zhí)行中斷服務程序前的運行狀態(tài),包括CPU內部各寄存器、斷點地址以及標志寄存器等。10引起中斷的原因或發(fā)出中斷請求的來源,稱為中斷源。一般的輸入、輸出設備:KB 打印機數(shù)據(jù)通道中斷源:硬盤 光驅 U盤實時時鐘:控制中使用故障源:為調試而設置的中斷源11內部中斷內部中斷:在CPU的內部產生。例:CPU執(zhí)行程序時遇到的特殊情況,如:除法錯。外部中斷外部中斷:在CPU的外部產生。例:外設提出的中斷,如電源故障。7. 中斷類型號中斷類型號微機系統(tǒng)中有多個中斷源。為便于區(qū)分,為每個中斷源分配一個編號編號,即中斷類型號。128. 中斷接口中斷接口當中斷
4、源向CPU發(fā)中斷請求時,需由一個電路來進行管理管理,如:接收中斷請求、屏蔽/打開中斷請求、中斷優(yōu)先級排隊、中斷嵌套和中斷結束等。實現(xiàn)中斷管理的邏輯電路邏輯電路稱為中斷接口。本章使用8259A可編程中斷控制器對系統(tǒng)的中斷進行管理。139. 中斷識別中斷識別指CPU確定確定哪一個中斷源發(fā)出中斷請求的過程。目的目的:最終形成該中斷源所對應的中斷服務程序的入口地址入口地址,實現(xiàn)程序的轉移。中斷識別的2種方法:查詢法查詢法:采用軟件或硬件查詢技術來確定發(fā)出中斷請求的中斷源。硬件法硬件法:由可編程中斷控制器來提供中斷類型號。1410. 中斷向量和中斷向量表中斷向量和中斷向量表中斷向量:指中斷服務程序的入口
5、地址入口地址。每個ISR都有一個確定確定的入口地址。入口地址 = 段基址段基址CS : 偏移地址偏移地址IP,共4個字節(jié)。中斷向量表:將系統(tǒng)中所有的中斷向量集中起來將系統(tǒng)中所有的中斷向量集中起來,按中斷類型號從小到大的順序按中斷類型號從小到大的順序存放在內存某區(qū)域。該存儲區(qū)域稱為中斷向量表。PC機中共有256個中斷(0255),每個中斷向量占4個字節(jié),共占1KB的存儲區(qū)域。用 000003FFH 的內存單元存儲中斷向量表。1516若有若有更高級別的新中斷源更高級別的新中斷源發(fā)出發(fā)出請求,且新中斷源請求,且新中斷源滿足響應條件滿足響應條件,則,則CPU中止當前的中斷服務程序,轉而響應高級中止當前
6、的中斷服務程序,轉而響應高級中斷。這種多級(重)中斷的處理方式稱中斷。這種多級(重)中斷的處理方式稱為為“嵌套嵌套”。11.中斷嵌套:17中斷嵌套中斷嵌套 主程序主程序外設1中斷服務程序外設1中斷服務程序外設2中斷服務程序外設2中斷服務程序IRETIRET外設1外設1中斷請求中斷請求外設2外設2中斷請求中斷請求響應中斷1響應中斷1響應中斷2響應中斷2中斷返回中斷返回中斷返回中斷返回18CPU執(zhí)行流程中斷服務程序1非預料事件1中斷服務程序2非預料事件2新到來的中斷應比原中斷的優(yōu)先級高;19中斷嵌套必須具備的幾個條件中斷嵌套必須具備的幾個條件l正處于響應狀態(tài)的中斷服務程序中,應開放總正處于響應狀態(tài)
7、的中斷服務程序中,應開放總中斷(中斷(IF位置位置1)l新中斷應具有比原中斷有新中斷應具有比原中斷有高的優(yōu)先級;高的優(yōu)先級;同級或同級或低級均不能嵌套低級均不能嵌套l為保護各級中斷服務程序的數(shù)據(jù)不被破壞,所為保護各級中斷服務程序的數(shù)據(jù)不被破壞,所有服務程序中均應有有服務程序中均應有保護現(xiàn)場、恢復現(xiàn)場保護現(xiàn)場、恢復現(xiàn)場的指的指令令l每個中斷服務程序末尾必須有每個中斷服務程序末尾必須有IRET指令指令以示以示結束,從而返回被中斷的程序地址處。結束,從而返回被中斷的程序地址處。20。中斷屏蔽標志系統(tǒng)在處理優(yōu)先級別比較高的中斷請求時,不會理睬后來的級別較低的中斷請求。12.中斷屏蔽217.1.2 中斷
8、過程中斷過程22 從中斷源請求請求中斷到完成ISR后返回返回主程序的過程,稱為中斷過程。包含4個階段。1.中斷源請求中斷中斷源請求中斷u外設發(fā)出中斷請求時。中斷接口電路需設置中斷請求觸發(fā)器中斷請求觸發(fā)器。保持保持外設的中斷請求信號,直到CPU響應該中斷后才清除它。中斷接口電路應設置中斷屏蔽寄存器中斷屏蔽寄存器。CPU可通過對其進行設置,使得某些中斷源的中斷請求不能提交到CPU2324由于同一時刻可能會有多個中斷源同時請求中斷服務,因此接口電路需對這些中斷源進行優(yōu)先級優(yōu)先級判別判別和優(yōu)先級排隊優(yōu)先級排隊。這個過程稱為中斷判優(yōu)。2.中斷判優(yōu)中斷判優(yōu)中斷優(yōu)先級中斷優(yōu)先級,是為使系統(tǒng)能及時響應并處理發(fā)
9、生的所有中斷,系統(tǒng)根據(jù)引起中斷事件的重要性和緊迫程度,硬件將中斷源分為若干個級別,稱作中斷優(yōu)先級。CPU按照優(yōu)先級的高低順序來響應中斷。253.中斷響應中斷響應收到中斷請求后,若CPU滿足響應條件,則進入中斷響應周期。CPU響應中斷的條件條件:CPU當前指令執(zhí)行結束。沒有更高級的中斷請求在執(zhí)行。CPU處于開中斷狀態(tài) (IF=1)??捎弥噶罡淖僆F的狀態(tài):STI開中斷;CLI關中斷。26中斷響應及處理過程示意圖中斷響應周期需完成的操作(CPU硬件自動完成)清IF和TF單步陷阱標志,以免在響應過程中被新的中斷源中斷,破壞了當前中斷處理的現(xiàn)場。將標志寄存器FLGAS和中斷斷點 (CS:IP) 壓棧保
10、存。查找中斷向量表,獲得ISR的入口地址,轉去執(zhí)行ISR。27將將FLAGS和斷點地址壓棧和斷點地址壓棧IPLIPHCSLCSHFLAGLFLAGHSP進入中斷服務程序時284.中斷服務中斷服務CPU轉入ISR后,需做以下幾件事情:保護現(xiàn)場保護現(xiàn)場:ISR將要用到的寄存器壓棧壓棧,以免其數(shù)據(jù)破壞。開中斷開中斷:以便在執(zhí)行ISR時,能響應更高級的中斷請求。中斷處理中斷處理:處理中斷請求所要求的操作。關中斷關中斷:保證在恢復現(xiàn)場時不被新的中斷打斷。恢復現(xiàn)場恢復現(xiàn)場:在ISR結束前,執(zhí)行出棧出棧操作,恢復各寄存器的內容,以便主程序正確執(zhí)行。開中斷開中斷:保證返回主程序后仍能響應中斷。中斷返回中斷返回
11、:ISR的最后一條指令為IRET,它將IP、CS和FLAGS的內容依次彈出,以便恢復到主程序的斷點處。297.1.3 中斷優(yōu)先權中斷優(yōu)先權30l多個中斷源產生中斷,多個中斷源產生中斷,CPUCPU首先為誰服務?首先為誰服務?中斷優(yōu)先級排隊問題。中斷優(yōu)先級排隊問題。 1、中斷優(yōu)先權概念u中斷優(yōu)先級控制要處理兩種情況:對同時產生的中斷對同時產生的中斷:應首先處理優(yōu)先級別較高的中斷;若優(yōu)先級別相同,則按先來先服務的原則處理;對非同時產生的中斷對非同時產生的中斷:低優(yōu)先級別的中斷處理程序允許被高優(yōu)先級別的中斷源所中斷即允許中斷嵌套。31軟件查詢方法簡單硬件方法專用硬件方法中斷優(yōu)先級的控制方法:32在中
12、斷服務程序的開始部分安排一段查詢程序在中斷服務程序的開始部分安排一段查詢程序,通過軟件查詢,通過軟件查詢“中斷寄存器中斷寄存器”的狀態(tài)。的狀態(tài)。查詢的順序反映了各個中斷源的優(yōu)先權的高低查詢的順序反映了各個中斷源的優(yōu)先權的高低。顯然,。顯然, 最先查詢的外設,其優(yōu)先權級別最最先查詢的外設,其優(yōu)先權級別最高。高。 2、軟件查詢方式33軟件優(yōu)先權查詢流程圖中斷程序入口 Y N Y N Y N保護現(xiàn)場是 A 設備是 B 設備是 C 設備恢復現(xiàn)場開中斷,返回A 中斷服務程序B 中斷服務程序C 中斷服務程序34優(yōu)點:節(jié)省硬件,優(yōu)先權安排靈活; 缺點:查詢需要耗費時間, 在中斷源較多的情況下,查詢程序較長,
13、可能影響中斷響應的實時性。軟件查詢方法3536+5V 外設 +5V +5V +5V +5V +5V +5V +5V 外設 外設 外設 外設 外設 外設 外設 中斷寄存器中斷請求觸發(fā)器INTR37INTER PROC PUSH AXPUSH BX PUSH CXPUSH DX ;現(xiàn)場保護STI ;開中斷用軟件查詢的程序例子:38MOV DX, 0100HIN AL, DX ;查詢SHR AL,1 ;寄存器邏輯右移1JC SERV_A;為1則執(zhí)行A服務程序SHR AL,1 ;寄存器邏輯右移1JC SERV_B;為1則執(zhí)行B服務程序. SHR AL,1;寄存器邏輯右移1JC SERV_H;為1則執(zhí)行
14、H服務程序JMPDONE用軟件查詢的程序例子:39.SERV A ;A服務程序JMPDONE .SERV B;B服務程序JMPDONE.SERV_H;H服務程序JMPDONE40DONE:CLI ;關中斷 POP DX ;恢復現(xiàn)場 POP CX POP BX POP AX STI ;開中斷 IRET ;中斷返回原斷點INTER ENDP返回本節(jié)41INTAinCPUINTAINTR外設1外設2外設接口1菊花鏈邏輯電路外設接口2外設3外設接口31菊花鏈邏輯電路菊花鏈邏輯電路IREQIREQIREQ中斷確認INTAinINTAin中斷確認中斷確認 3、菊花鏈中斷優(yōu)先權排隊42菊花鏈邏輯電路INTA
15、inIREQINTR&=1 1INTAoutDB三態(tài)門中斷向量碼E外設接口中斷確認菊花鏈邏輯電路431 無0 有中斷響應INTAINTR中斷請求1 有0 無1 封鎖后一級0 開放后一級接口1設備1接口2設備2 優(yōu)先級由設備的位置決定,越靠近CPU的設備其優(yōu)先級越高。44每一個8259A芯片都能直接管理8級中斷最多可以用9片8259A芯片級連,由其構成級連機構可以管理64級中斷。Intel 8259A是可編程中斷控制器可用于管理Intel 8080/8085、8086/8088、80286/80386的可屏蔽中斷 4、專用硬件中斷優(yōu)先權排隊45典型的中斷控制器結構(課本典型的中斷控制器結
16、構(課本P170 圖圖7-12)INTAINT中斷請求寄存器中斷屏蔽寄存器數(shù)據(jù)總線緩沖器IR0IR7讀/寫控制邏輯級聯(lián)緩沖器比較器優(yōu)先級管理邏輯電路當前中斷服務寄存器控制邏輯46包括的主要部件:包括的主要部件: 中斷請求寄存器IRR保存8條外界中斷請求信號IR0IR7的請求狀態(tài)Di位為1表示IRi引腳有中斷請求;為0表示無請求 中斷屏蔽寄存器IMR保存對中斷請求信號IR的屏蔽狀態(tài)Di位為1表示IRi中斷被屏蔽(禁止);為0表示允許 當前中斷服務寄存器ISR保存正在被8259A服務著的中斷狀態(tài)Di位為1表示IRi中斷正在服務中;為0表示沒有被服務 優(yōu)先級管理邏輯電路(優(yōu)先級裁決器) 判斷中斷請求
17、的優(yōu)先級高低477.2 8086中斷系統(tǒng)中斷系統(tǒng)48 Intel80X86系列微機有一個靈活的中斷系統(tǒng),可以處理256個不同的中斷源,每個中斷源都有相應的中斷類型碼(0255)供CPU識別。 中斷源可以來自CPU外部,也可以來自CPU內部,可分成兩大類: 硬件中斷 軟件中斷 7.2.1 外部中斷49 8086/8088中斷分類 INTn指令(軟件中斷)中斷邏輯INT3指令INTO指令單步中斷除數(shù)為0中斷非屏蔽中斷請求中斷控制系統(tǒng)(8259A)硬件中斷可屏蔽中斷請求NMIINTR軟件中斷50 7.2.1 外部中斷(續(xù))NMI NMI 非屏蔽中斷非屏蔽中斷INTR INTR 可屏蔽中斷可屏蔽中斷p
18、由由NMI引腳出現(xiàn)中斷請求信號產生的中斷稱引腳出現(xiàn)中斷請求信號產生的中斷稱為非屏蔽中斷請求,它不受中斷允許標志為非屏蔽中斷請求,它不受中斷允許標志IF的限制。的限制。p其中斷類型碼為其中斷類型碼為2。p當當NMI引腳上出現(xiàn)上升沿觸發(fā)時,表示非屏引腳上出現(xiàn)上升沿觸發(fā)時,表示非屏蔽中斷請求信號有效,蔽中斷請求信號有效,CPU內部會把該信號內部會把該信號鎖存起來,但要求該信號的有效高電平持續(xù)鎖存起來,但要求該信號的有效高電平持續(xù)2個時鐘周期以上。個時鐘周期以上。51 7.2.1 外部中斷(續(xù))NMI NMI 非屏蔽中斷非屏蔽中斷INTR INTR 可屏蔽中斷可屏蔽中斷p從從CPU的的INTR引腳上引
19、入的中斷為可屏蔽中引腳上引入的中斷為可屏蔽中斷。斷。INTR信號是高電平觸發(fā)的??善帘沃袛嘈盘柺歉唠娖接|發(fā)的。可屏蔽中斷受中斷標志受中斷標志IF的影響。的影響。p只有在只有在IF=1的情況下,的情況下,CPU才會在執(zhí)行當前才會在執(zhí)行當前指令后響應可屏蔽中斷請求信號。指令后響應可屏蔽中斷請求信號。 p如果如果IF=0,即使中斷源有中斷請求,即使中斷源有中斷請求, CPU也不會響應,也稱為中斷被屏蔽。也不會響應,也稱為中斷被屏蔽。52 軟件中斷是軟件中斷是CPUCPU根據(jù)軟件的某條指令或者軟件根據(jù)軟件的某條指令或者軟件對標志寄存器的某個標志位的設置而產生的。對標志寄存器的某個標志位的設置而產生的。
20、由于它與外部硬件電路完全無關,故也稱為內部中斷。在80X86系統(tǒng)中,內部中斷主要有以下幾種: 7.2.2 內部中斷除法出錯中斷0型中斷單步中斷1型中斷斷點中斷3型中斷溢出中斷4型中斷指令中斷n型中斷53除法出錯中斷0號中斷。 當執(zhí)行除法指令時, 若發(fā)現(xiàn)除數(shù)為0或商超過了機器所能表達數(shù)的范圍,則立即產生一個中斷類型碼為0的內部中斷, 該中斷稱為除法出錯中斷。一般該中斷的服務處理都由操作系統(tǒng)安排。 54單步中斷1號中斷。 若TF=1,則CPU處于單步工作方式,即每執(zhí)行完一條指令之后就自動產生一個中斷類型碼為1的內部中斷,使得指令的執(zhí)行成為單步執(zhí)行方式。 單步執(zhí)行方式為系統(tǒng)提供了一種方便的調試手段,
21、成為能夠逐條指令地觀察系統(tǒng)操作的一個窗口。如DEBUG中的跟蹤命令,就是將標志TF置1,進而去執(zhí)行一個單步中斷服務程序,以跟蹤程序的具體執(zhí)行過程,找出程序中的問題或錯誤所在。 55 斷點中斷3號中斷。 56 插入INT 3指令之處便是斷點。 在斷點中斷服務程序中,可顯示有關的寄存器、存儲單元的內容,以便程序員分析到斷點為止程序運行是否正確。 57 溢出中斷4號中斷。 若算法操作結果產生溢出(OF=1),則執(zhí)行INTO指令后立即產生一個中斷類型碼為4的中斷。4型中斷為程序員提供了一種處理算術運算出現(xiàn)溢出的手段,它通常和算術指令功能配合使用。 58注意指令中斷n型中斷。 指令INT n的執(zhí)行也會引
22、起內部中斷,其中斷類型碼由指令中的n指定。該指令就稱為軟中斷指令,通常指令的代碼為兩個字節(jié)代碼,第一字節(jié)為操作碼,第二字節(jié)為中斷類型碼。 MOVAH ,01H INT21H ; CD 21 內部中斷的類型碼是預定好的或包含在軟中斷指令中,除單步中斷外,其他的內部中斷不受狀態(tài)標志影響,中斷后的服務處理須由用戶定義。 59 7.2.3 中斷向量表中斷類型碼中斷向量表指針中斷向量表60實際上就是中斷處理程序的入口實際上就是中斷處理程序的入口地址(段地址、偏移地址)。地址(段地址、偏移地址)。p 中斷向量表:中斷向量表:通常在內存的最低通常在內存的最低1 KB1 KB(00000H00000H003F
23、FH003FFH)建立一個中斷向量表。)建立一個中斷向量表。用于存放中斷向量。用于存放中斷向量。p 分成256個組,每組占4個字節(jié),用以存放256個中斷向量。 7.2.3 中斷向量表61p 每個中斷向量占每個中斷向量占4 4個字節(jié)。個字節(jié)。 前前2 2個字節(jié)個字節(jié):存放中斷處理程序入口地址的偏移量偏移量(IP,16位), 后后2 2個字節(jié):個字節(jié):存放中斷處理程序入口地址的段地址段地址(CS,16位)。p 按照中斷類型碼的序號,對應的中斷向量在中斷向量表中按規(guī)則順序排列。 如圖: 7.2.3 中斷向量表62類型0中斷入口(除法出錯)類型1中斷入口(單步中斷)類型2中斷入口(NMI)類型3中斷入
24、口(斷點中斷)類型4中斷入口(溢出中斷)類型5中斷入口類型31中斷入口類型32中斷入口類型255中斷入口1587000000400800C01001407F0803FC供用戶使用系統(tǒng)備用專用中斷IPCSIPCSIPCS 中斷向量表 63 中斷類型碼與中斷向量在向量表中的位置之間的對應關系為: 中斷向量表地址指針地址指針=中斷類型碼中斷類型碼4 例如,中斷類型碼為20H的中斷源對應的中斷向量存放在0000:0080H(420H=80H)開始的4個單元中。64問題1 如果在00080H00083H這4個單元中存放的內容分別為10H、20H、 30H、 40H,那么,在該系統(tǒng)中, ( )號中斷所對應
25、的中斷向量為( ) 。 20H4030H:2010H0000:005CH70563412問題2 若系統(tǒng)中對應于中斷類型碼為17H的中斷處理程序存放在1234:5670H開始的內存區(qū)域中,則對應于17H類型碼的中斷向量存放在( )開始的4個字節(jié)中。這4個單元中的值分別為:( H、 H、 H、 H)。 65 80X86中的各種中斷響應過程是不相同的, 其主要區(qū)別在于如何獲取相應的中斷類型碼。獲取中斷類型碼之后無論那種中斷類型,其后的中斷響應過程和處理過程都是一樣。 (1)中斷類型碼的獲取方式中斷類型碼的獲取方式(2)可屏蔽中斷的響應過程可屏蔽中斷的響應過程(3)可屏蔽中斷的處理過程可屏蔽中斷的處理
26、過程 7.2.4 中斷響應過程66軟件中斷軟件中斷 對于專用中斷,中斷類型碼是自動形成的,而對于INT n指令,其類型碼即為指令中給定的n。 軟件中斷有以下特點: 中斷由CPU內部引起,中斷類型碼的獲得與外部無關, CPU不需要執(zhí)行中斷響應周期去獲得中斷類型碼。 除單步中斷外,內部中斷無法用軟件禁止,不受中斷允許標志位的影響。 內部中斷沒有隨機性,這一點與調用子程序非常相似。 (1 1)中斷類型碼的獲取方式)中斷類型碼的獲取方式67硬件中斷硬件中斷 非屏蔽中斷非屏蔽中斷: : 當CPU采樣到非屏蔽中斷請求時,自動提供中斷類型碼2,然后根據(jù)中斷類型碼查到中斷向量表指針。(1 1)中斷類型碼的獲取
27、方式(續(xù))中斷類型碼的獲取方式(續(xù))68硬件中斷硬件中斷 可屏蔽中斷:可屏蔽中斷: 當INTR信號有效時,如果IF=1,則CPU就會在當前指令執(zhí)行完畢,響應外部的中斷請求,轉入中斷響應周中斷響應周期。期。 中斷響應的第一個總線周期用來通知請求中斷的外設, CPU準備響應中斷,現(xiàn)在應該準備好中斷類型碼;在第二個總線響應周期中,要求外設在接到第二個負脈沖以后(第二個中斷響應周期的T3狀態(tài)前),立即把中斷類型碼通過數(shù)據(jù)總線傳送給CPU。CPU在T4狀態(tài)的前沿采樣數(shù)據(jù)總線,獲取中斷類型碼。如圖所示:通過中斷響應周期來獲取中斷類型碼(1 1)中斷類型碼的獲取方式(續(xù))中斷類型碼的獲取方式(續(xù))6970(
28、2 2)可屏蔽中斷的響應過程)可屏蔽中斷的響應過程 按新的地址指針執(zhí)行中斷服務程序。按新的地址指針執(zhí)行中斷服務程序。 從中斷向量表中取中斷服務程序的入口地址,分從中斷向量表中取中斷服務程序的入口地址,分別送至別送至CSCS和和IPIP中。中。 保存斷點,即把斷點處的保存斷點,即把斷點處的IPIP和和CSCS值壓入堆棧,值壓入堆棧,先壓入先壓入CSCS值,再壓入值,再壓入IPIP值。值。 清除清除IFIF和和TFTF標志,以禁止中斷響應過程中其他標志,以禁止中斷響應過程中其他可屏蔽中斷的進入,同時也禁止了中斷處理過程中出可屏蔽中斷的進入,同時也禁止了中斷處理過程中出現(xiàn)單步中斷?,F(xiàn)單步中斷。 把把
29、CPUCPU的標志寄存器的標志寄存器F F入棧,保護各個標志位入棧,保護各個標志位。 執(zhí)行中斷響應總線周期,執(zhí)行中斷響應總線周期,CPUCPU獲得相應的中斷獲得相應的中斷類型碼,將它左移類型碼,將它左移2 2位形成中斷向量表指針,存入暫位形成中斷向量表指針,存入暫存器存器。 71注意響應過程是由系統(tǒng)硬件自動完成的。響應時CPU執(zhí)行相應的總線周期來實現(xiàn)。 72中斷響應時中斷響應時CPU實際執(zhí)行的總線周期有實際執(zhí)行的總線周期有7個個。 按新的地址指針執(zhí)行中斷服務程序。 從中斷向量表中取中斷服務程序的入口地址,分別送至CS和IP中。 保存斷點,即把斷點處的IP和CS值壓入堆棧。 清除IF和TF標志。
30、 把CPU的標志寄存器F入棧。 執(zhí)行中斷響應總線周期,CPU獲得相應的中斷類型碼。2個中斷響應總線周期1個存儲器寫總線周期2個存儲器寫總線周期2個存儲器讀總線周期73 中斷處理過程就是中斷處理過程就是CPUCPU執(zhí)行中服執(zhí)行中服務子程序完成的。務子程序完成的。 CPUCPU按照新的按照新的CS:IPCS:IP取指令,執(zhí)行。取指令,執(zhí)行。 7.2.5 中斷處理過程74 可屏蔽中斷的處理過程可屏蔽中斷的處理過程(由中斷服務程序中的軟件指令來完成的) 開中斷開中斷IFIF1 1。(。(STISTI命令)命令) 恢復現(xiàn)場。(恢復現(xiàn)場。(POPPOP命令)命令) 關中斷關中斷IFIF0 0。(。(CLI
31、CLI命令)命令) 中斷服務。(相應程序段)中斷服務。(相應程序段) 開中斷開中斷IFIF1 1。(。(STISTI命令)命令) 進一步保護現(xiàn)場。(進一步保護現(xiàn)場。(PUSHPUSH命令)命令) 中斷返回。(中斷返回。(IRETIRET命令)命令)75執(zhí)行中斷返回指令執(zhí)行中斷返回指令IRETIPLIPHCSLCSHFLAGLFLAGHSPIPLIPHCSLCSHFLAGLFLAGHSPIPCSFLAG進入中斷服務程序時中斷返回后IRET指令將使CPU把堆棧內保存的斷點信息彈出到IP、CS和FLAG中,保證被中斷的程序從斷點處能夠繼續(xù)往下執(zhí)行。76p 所有中斷都是在當前指令結束后處理的,在80X
32、86系統(tǒng)中各種中斷源的優(yōu)先權實際上是指被識別出來的先后。p 首先,自動查詢軟件中斷軟件中斷。在指令執(zhí)行過程中是否有除法出錯中斷、溢出中斷和INT n中斷發(fā)生。p 然后,查詢NMINMI和INTRINTR。p 最后,查詢單步中斷單步中斷,先查詢到的先被響應。 77 80X86中斷響應和處理流程 7.1 8259 8259的外部引腳的外部引腳.2 8259 8259的內部結構的內部結構7.3.3 82597.3.3 8259的工作過程的工作過程7.3.4 82597.3.4 8259的工作方式的工作方式7.3.5 82597.3.5 8259的控制字的控制字7.3
33、.1 8259A的外部引腳的外部引腳一、總線連接引腳二、級聯(lián)緩沖引腳三、請求與應答引腳lIntel 8259A是一種可編程中斷控制器,可協(xié)助CPU進行中斷管理管理。其功能:接受和擴充外設的中斷請求中斷優(yōu)先級排隊提供中斷類型號屏蔽或打開中斷接受CPU命令或返回當前工作狀態(tài)l一片8259A可直接管理8級中斷,通過級聯(lián)可擴展至64級中斷。l通過對8259A進行編程,可設置多種工作方式,以滿足不同中斷系統(tǒng)的需要。80 7.3.1 8259A的外部引腳的外部引腳81 7.3.1 8259A的外部引腳的外部引腳82 7.3.1 8259A的外部引腳的外部引腳83 7.3.1 8259A的外部引腳的外部引腳
34、7.3.1 8259A的外部引腳的外部引腳D7D0:8 8位雙向的數(shù)據(jù)線,與系統(tǒng)數(shù)據(jù)總線位雙向的數(shù)據(jù)線,與系統(tǒng)數(shù)據(jù)總線的低的低8 8位相連。位相連。RD和和WR:讀讀/ /寫控制信號(輸入)寫控制信號(輸入)A0:地址信號(輸入),用來選擇芯片內部地址信號(輸入),用來選擇芯片內部的端口。與系統(tǒng)地址總線的的端口。與系統(tǒng)地址總線的A1相連。相連。CS:片選信號(輸入)。為有效低電平時,片選信號(輸入)。為有效低電平時,8259才被選中。才被選中。一、總線連接引腳lCAS0CAS2:級連信號。出現(xiàn)的是發(fā)出中級連信號。出現(xiàn)的是發(fā)出中斷請求的從片的編碼。在斷請求的從片的編碼。在CPU發(fā)出中斷響應發(fā)出中
35、斷響應信號時,主片向從片發(fā)出,指出是哪一個從信號時,主片向從片發(fā)出,指出是哪一個從片的請求被響應了。片的請求被響應了。主片8259A的 CAS2 CAS0 為輸出。從片8259A的 CAS2 CAS0 為輸入。7.1 8259A的外部引腳的外部引腳(續(xù)1)二、級聯(lián)緩沖引腳級聯(lián)緩沖引腳lSP/EN:主從定義主從定義/緩沖器工作信號緩沖器工作信號 當當8259工作在緩沖方式時,為輸出工作在緩沖方式時,為輸出EN:作為總線作為總線驅動器驅動器8286的允許工作信號,連至的允許工作信號,連至8286的的OE端。端。 當當8259工作在非緩沖方式時(未使用總線驅動器工作在非緩沖方式時(未使用總線驅動器)
36、,為輸入),為輸入SP:用來區(qū)分是主片還是從片。輸入為高用來區(qū)分是主片還是從片。輸入為高電平電平1時為主片,輸入為低電平時為主片,輸入為低電平0時為從片(主時為從片(主=1,從從=0)。)。 7.3.1 8259A的外部引腳的外部引腳 (續(xù)3)三、級聯(lián)緩沖引腳級聯(lián)緩沖引腳單片8259A最多可管理8級中斷。當中斷源多于8個時,需將多個8259A芯片級聯(lián)構成主主從模式從模式。系統(tǒng)最多支持8個8259A芯片級聯(lián),即:最多可支持64個中斷源。每個從片的IR7 IR0可直接與8個中斷源相連,經過優(yōu)先級判優(yōu)后向主片主片發(fā)送INT信號。主片對所有從片發(fā)來的INT進行判優(yōu)后,最終向CPU發(fā)INT信號。8782
37、59A 的級聯(lián)方式的級聯(lián)方式CAS0 IR0CAS1 IR1CAS2 IR2 IR3INTA IR4 IR5INT IR6 IR7SP/EN CAS0INTA CAS1 CAS2INT IR0 IR1SP/EN IR7CAS0 IR0CAS1 IR1CAS2 IR2 IR3INTA IR4 IR5INT IR6 IR7SP/ENINTAINTR+5VSP/EN 引腳用于區(qū)分引腳用于區(qū)分8259A是主片還是從片。高電平是主片還是從片。高電平為主片,低電平為從片。為主片,低電平為從片。主主/從片通過從片通過CAS2CAS0 互連。主片的互連。主片的CAS2CAS0為為輸出,從片的輸出,從片的CAS
38、2CAS0 為輸入。為輸入。CPU發(fā)出發(fā)出第一個第一個INTA時,主片使時,主片使ISR相應的位置相應的位置1,使,使IRR的相應位清的相應位清0;并通過;并通過CAS2CAS0 輸出一組輸出一組從片的從片的編碼編碼 ID2ID0。從片收到該編碼后,與自身從片收到該編碼后,與自身 ICW3 中的中的D2D0 編碼進行編碼進行比較比較。若相同,則在。若相同,則在第二個第二個INTA信號將從片的信號將從片的中斷類型中斷類型號號送到數(shù)據(jù)總線。送到數(shù)據(jù)總線。89SP/EN 引腳用于區(qū)分引腳用于區(qū)分8259A是主片還是從片。高電平是主片還是從片。高電平為主片,低電平為從片。為主片,低電平為從片。主主/從
39、片通過從片通過CAS2CAS0 互連。主片的互連。主片的CAS2CAS0為為輸出,從片的輸出,從片的CAS2CAS0 為輸入。為輸入。CPU發(fā)出發(fā)出第一個第一個INTA時,主片使時,主片使ISR相應的位置相應的位置1,使,使IRR的相應位清的相應位清0;并通過;并通過CAS2CAS0 輸出一組輸出一組從片的從片的編碼編碼 ID2ID0。從片收到該編碼后,與自身從片收到該編碼后,與自身 ICW3 中的中的D2D0 編碼進行編碼進行比較比較。若相同,則在。若相同,則在第二個第二個INTA信號將從片的信號將從片的中斷類型中斷類型號號送到數(shù)據(jù)總線。送到數(shù)據(jù)總線。lIR7IR0:8個中斷源中斷請求端(輸
40、入)個中斷源中斷請求端(輸入)lINT:中斷請求輸出信號(輸出)。與中斷請求輸出信號(輸出)。與CPUCPU的的INTRINTR相連。(從片的相連。(從片的INTINT輸出到主片的輸出到主片的IR7IR7IR0IR0)lINTA:中斷響應信號(輸入)。接收中斷響應信號(輸入)。接收CPUCPU送送來的來的INTAINTA中斷響應信號。中斷響應信號。7.3.1 8259A的外部引腳的外部引腳(續(xù)1)三、請求與應答引腳8259端口分配及讀寫功能端口分配及讀寫功能l主主8259A的端口地址為20H20H和和21H21H。l主主片中斷源的中斷類型碼為08H0FH08H0FH。l從從8259A的端口地址
41、為0A0H和0A1H。l從從片中斷源的中斷類型碼為70H77H。92四、PC機中8259A的端口地址分配五、PC機與8259A的連接7.3.2 7.3.2 8259A8259A的內部結構的內部結構一、總線連接部件二、級聯(lián)緩沖/比較器三、中斷處理部件四、控制邏輯95 7.3.2 8259A的內部結構的內部結構1. 數(shù)據(jù)總線緩沖器數(shù)據(jù)總線緩沖器8位的雙向三態(tài)緩沖器,連接8259A與系統(tǒng)數(shù)據(jù)總線的D7D0。用于在CPU與8259A間傳送命令、狀態(tài)和數(shù)據(jù)信息。2. 讀讀/寫控制邏輯寫控制邏輯接收CPU的讀寫命令,完成對8259A內部端口的讀寫操作。具體操作內容由CS、RD、WR 和 A0 信號來決定。
42、96一、8259的總線連接部件 7.3.2 8259A的內部結構的內部結構3. 級聯(lián)緩沖級聯(lián)緩沖/比較器比較器CAS0 CAS2 用于多塊8259A的級聯(lián)。97二、8259的級聯(lián)緩沖級聯(lián)緩沖/比較比較器器 7.3.2 8259A的內部結構的內部結構98 7.3.2 8259A的內部結構的內部結構4. 中斷請求寄存器中斷請求寄存器 (IRR)8位寄存器,通過引腳 IR0 IR7 與8個中斷源相連。若IRi = 1,表明對應的中斷源有中斷請求,則 IRR寄存器相應的第 i 位置1。5. 中斷屏蔽寄存器中斷屏蔽寄存器 (IMR)8位寄存器,第 Mi 位為1,表示屏蔽 IRi 的請求。其值可通過軟件設
43、置或改變。99三、8259的中斷處理部件 7.3.2 8259A的內部結構的內部結構6. 中斷服務寄存器中斷服務寄存器 (ISR)8位寄存器,用來記錄CPU當前正在為哪個或哪幾個中斷源服務。當CPU響應響應 IRi 請求時,請求時,ISR中相應的位置中相應的位置1。當ISR中有多個1時,表明CPU處于中斷嵌套中。當某個中斷處理完畢,中斷處理完畢,ISR相應的位復位相應的位復位。100 7.3.2 8259A的內部結構的內部結構7. 中斷優(yōu)先權判別電路中斷優(yōu)先權判別電路 PR對已進入IRR且未被IMR屏蔽的各中斷請求進行優(yōu)先權判別,確定優(yōu)先級最高的中斷,向CPU發(fā)送中斷請求信號INT。若8259
44、A正在為某一中斷服務時,又出現(xiàn)了新的中斷請求,則PR判斷新的中斷請求新的中斷請求優(yōu)先級是否更高。若是,則進入中斷嵌套中斷嵌套。101 7.3.2 8259A的內部結構的內部結構8. 控制邏輯控制邏輯作用:根據(jù)IRR、IMR和PR的狀態(tài),通過INT信號向CPU發(fā)送中斷請求。接受來自CPU的中斷響應信號INTA,使使 ISR相應的位置相應的位置1,且使,且使 IRR相應的位清相應的位清0,避免該中斷源的一次請求產生多次中斷。102四、8259的控制部件 7.3.2 8259A的內部結構的內部結構8. 控制邏輯(續(xù)控制邏輯(續(xù)1)內部包含7個寄存器:ICW1 ICW4 存放初始化命令字,用來設置82
45、59A的工作方式和工作條件工作方式和工作條件等。OCW1 OCW3 存放操作命令字,用來對中斷處理過程進行動態(tài)控制動態(tài)控制。四、8259的控制部件104ICW1ICW2ICW3ICW4OCW1OCW2OCW38. 控制邏輯(控制邏輯(2)四、8259的控制部件其中:其中:OCW1為為中斷屏蔽寄存器中斷屏蔽寄存器IMRIMR是是8位的位的寄存器寄存器,用于從硬件上屏蔽中斷源。,用于從硬件上屏蔽中斷源。如果如果IMR相應位為相應位為1,則對應中斷源的中斷請求被屏蔽,則對應中斷源的中斷請求被屏蔽(禁止)。(禁止)。只有相應位為只有相應位為0,則對應中斷源的中斷請求才能進入,則對應中斷源的中斷請求才能
46、進入PR。幾個縮寫字母的含義幾個縮寫字母的含義IRR: 中斷請求寄存器中斷請求寄存器(Interrupt Request Register)IMR:中斷屏蔽寄存器中斷屏蔽寄存器(Interrupt Mask Register)ISR: 中斷服務寄存器中斷服務寄存器(In Service Register)PR: 優(yōu)先級裁決器優(yōu)先級裁決器 (Priority Resolver)ICW:初始化命令字初始化命令字(Initialization Command Word)OCW:操作命令字操作命令字 (Operation Command Word)106prart 107 7.3.2 8259A的內部
47、結構的內部結構 7.3.3 8259的工作過程的工作過程 一、單片8259A 二、多片級連的系統(tǒng) 工作時,每次中斷處理過程如下:當當 IR7 IR0 上有中斷請求,則上有中斷請求,則 IRR 中相應的位置中相應的位置1。若中斷屏蔽寄存器若中斷屏蔽寄存器IMR中的對應位為中的對應位為0,表示對此中斷,表示對此中斷未加屏蔽。讓其通過進入未加屏蔽。讓其通過進入PR。PR把新進入的中斷請求與把新進入的中斷請求與ISR中的正在服務的優(yōu)先級比中的正在服務的優(yōu)先級比較,若高于當前的服務級別,則通過較,若高于當前的服務級別,則通過INT(經與門經與門1),向,向CPU發(fā)中斷請求。發(fā)中斷請求。若若ISR=00h
48、H,則優(yōu)先權失效則優(yōu)先權失效=1。中斷請求可以通過與。中斷請求可以通過與門門2并經并經INT引腳向引腳向CPU發(fā)申請。發(fā)申請。 7.3.3 8259的工作過程的工作過程一、單片8259AISR寄存器寄存器中斷屏蔽寄存器中斷屏蔽寄存器IMR中中斷斷請請求求優(yōu)優(yōu)先先級級編編碼碼器器中中斷斷請請求求寄寄存存器器IRR比比較較器器B0B1B2ABA0A1A2ISR編碼編碼ISR7 ISR6 ISR5 ISR4 ISR3 ISR2 ISR1 ISR0D0 D7IR0IR1IR2IR3IR4IR5IR6IR7中斷優(yōu)先權裁決電路優(yōu)先權失效優(yōu)先權失效中斷請求信號中斷請求信號12INTINT111 7.3.2
49、8259A的內部結構的內部結構五、8259的工作過程(續(xù))CPU根據(jù)中斷類型碼,轉入相應的中斷服務子程序進根據(jù)中斷類型碼,轉入相應的中斷服務子程序進 行處理行處理112在中斷響應周期:第一個第一個INTA:使使IRR的鎖存功能失效,直到第的鎖存功能失效,直到第2個個INTA到來。到來。使使ISR中的對應位置中的對應位置1。使使IRR中的對應位清中的對應位清0。第二個第二個INTA : 將將ICW2(中斷類型寄存器)中的類型碼經數(shù)據(jù)(中斷類型寄存器)中的類型碼經數(shù)據(jù)線送線送CPU。 若若8259采用采用“中斷自動結束方式中斷自動結束方式”(由(由ICW4決決定),則自動將定),則自動將ISR中的
50、對應位清中的對應位清0。否則,在。否則,在中斷程序中要通過命令將其清中斷程序中要通過命令將其清0。二、多片級連的系統(tǒng):二、多片級連的系統(tǒng):主片:第一個主片:第一個INTA:使使IRR的鎖存功能失效,直到第的鎖存功能失效,直到第2個個INTA到來。到來。使使ISR中的對應位置中的對應位置1。使使IRR中的對應位清中的對應位清0。發(fā)出被響應的從片的編碼。發(fā)出被響應的從片的編碼。該從片在第一個該從片在第一個INTA : 在第二個在第二個INTA :將將ICW2(中斷類型寄存器)中的類型碼(中斷類型寄存器)中的類型碼送送CPU。若采用中斷自動結束方式(由。若采用中斷自動結束方式(由ICW4決定),則自
51、動將決定),則自動將ISR中的對應位清中的對應位清0。否則,在中斷程序中要通過命令將其清。否則,在中斷程序中要通過命令將其清0。7.3.4 7.3.4 8259A8259A的工作方式的工作方式 一、一、中斷優(yōu)先權方式中斷優(yōu)先權方式 二、中斷嵌套方式中斷嵌套方式 三、三、中斷結束方式中斷結束方式 四、四、中斷屏蔽方式中斷屏蔽方式 五、五、中斷觸發(fā)方式中斷觸發(fā)方式 六、六、數(shù)據(jù)線連接方式數(shù)據(jù)線連接方式 8259A8259A的工作方式的工作方式普通全嵌套方式普通全嵌套方式特殊全嵌套方式特殊全嵌套方式自動循環(huán)方式自動循環(huán)方式特殊循環(huán)方式特殊循環(huán)方式優(yōu)先權固定方式優(yōu)先權固定方式優(yōu)先權循環(huán)
52、方式優(yōu)先權循環(huán)方式普通中斷結束方式普通中斷結束方式特殊中斷結束方式特殊中斷結束方式自動中斷結束方式自動中斷結束方式非自動中斷結束方式非自動中斷結束方式普通屏蔽方式普通屏蔽方式特殊屏蔽方式特殊屏蔽方式邊沿觸發(fā)方式邊沿觸發(fā)方式電平觸發(fā)方式電平觸發(fā)方式設置優(yōu)先權方式設置優(yōu)先權方式結束中斷處理方式結束中斷處理方式屏蔽中斷源方式屏蔽中斷源方式中斷觸發(fā)方式中斷觸發(fā)方式數(shù)據(jù)線連接方式數(shù)據(jù)線連接方式緩沖方式緩沖方式非緩沖方式非緩沖方式一一. 中斷優(yōu)先權方式中斷優(yōu)先權方式 固定優(yōu)先級固定優(yōu)先級-IR0 優(yōu)先級最高,IR7 最低。 循環(huán)優(yōu)先級循環(huán)優(yōu)先級-某中斷被服務后,其優(yōu)先權自動降為最低,而相鄰中斷源的優(yōu)先級升
53、為最高。n優(yōu)先權優(yōu)先權自動自動循環(huán)方式循環(huán)方式初始時,IR0 優(yōu)先級最高,IR7 優(yōu)先級最低。n優(yōu)先權優(yōu)先權特殊特殊循環(huán)方式循環(huán)方式用戶編程來指定指定初始時哪個中斷源的優(yōu)先級最低。例:初始時規(guī)定 IR5 最低,則優(yōu)先級順序為: IR6 IR7 IR0 IR1 IR2 IR3 IR4 IR5 。117IR01234567二二. 中斷嵌套方式中斷嵌套方式普通全嵌套方式普通全嵌套方式簡稱全嵌套方式全嵌套方式,是最基本、最常用的方式。某中斷被響應時,只有更高級更高級的中斷請求才會響應。特殊全嵌套方式特殊全嵌套方式用于級聯(lián)級聯(lián)場合??身憫呒墑e高級別和同級別同級別中斷。級聯(lián)時從片的 INT端連接主片 I
54、Ri 端。從片上不同級別的中斷請求,主片視之為同一級別。普通全嵌套無法響應第二次高級別中斷。而特殊全嵌套方式可正常響應。119l單片8259A時,通常采用普通全嵌套方式即可。l多片級聯(lián)時,從片可采用普通全嵌套方式,而主片主片必須采用特殊全嵌套必須采用特殊全嵌套,以便響應“同級”中斷。D.主主8259AIR0IR1IR2IR3IR4IR5IR6IR7普通嵌套方式:普通嵌套方式:從片的從片的INT被主片封被主片封鎖,故更鎖,故更高高級別的級別的IR0-IR2中斷也無法中斷也無法得到響應得到響應特殊嵌套方式:特殊嵌套方式:因主片不封鎖從片的因主片不封鎖從片的中中斷請求斷請求,故級別高的故級別高的IR
55、0-IR2中斷可以得到響中斷可以得到響應。應。( (但但IR3-IR7仍被本仍被本從片封鎖從片封鎖) )C.假定假定IR3發(fā)生中發(fā)生中斷斷,并獲得服務并獲得服務普 通 嵌 套 方 式 :普 通 嵌 套 方 式 :IR4的中斷被服務的中斷被服務時,這些中斷將被時,這些中斷將被封鎖。封鎖。B.特殊嵌套方式:特殊嵌套方式:IR4的中斷被服的中斷被服務 時 , 只 封 鎖務 時 , 只 封 鎖IR5-IR7。A.INTE.從從8259AINTIR0IR1IR2IR3IR4IR5IR6IR7普通全嵌套方式與特殊全嵌套方式的區(qū)別普通全嵌套方式與特殊全嵌套方式的區(qū)別 去去CPU 在中斷處理過程中允許被更高優(yōu)
56、先級的事件所中斷在中斷處理過程中允許被更高優(yōu)先級的事件所中斷稱為稱為中斷嵌套中斷嵌套。 8259A有兩種中斷嵌套方式:有兩種中斷嵌套方式: 普通全嵌套方式(默認方式)普通全嵌套方式(默認方式) 一中斷正被處理時,只有一中斷正被處理時,只有更高優(yōu)先級更高優(yōu)先級的事件可以的事件可以打斷當前的中斷處理過程而被服務。打斷當前的中斷處理過程而被服務。 特殊全嵌套方式特殊全嵌套方式 一中斷正被處理時,允許一中斷正被處理時,允許同級或更高優(yōu)先級同級或更高優(yōu)先級的事的事件可以打斷當前的中斷處理過程而被服務。件可以打斷當前的中斷處理過程而被服務??偨Y:中斷嵌套總結:中斷嵌套方式方式總結:中斷嵌套總結:中斷嵌套方
57、式方式注意注意: 特殊全嵌套僅用于多個特殊全嵌套僅用于多個8259A級連級連時的主時的主8259A,不能用于從,不能用于從8259A或單或單8259A系統(tǒng)。系統(tǒng)。三、中斷結束方式什么是什么是82598259A A的中斷結束?的中斷結束?8259A利用中斷服務寄存器利用中斷服務寄存器ISR判斷:判斷:n某位為某位為1,表示正在進行中斷服務;,表示正在進行中斷服務;n該位為該位為0,就是該中斷,就是該中斷結束結束服務。服務。如何使如何使ISR某位(某位(ISRn)為為0,就是中斷就是中斷結束。不反映結束。不反映CPU的工作狀態(tài)。的工作狀態(tài)。三三.中斷結束方式中斷結束方式當某個中斷請求得到響應時,其
58、ISR的相應位置1。當其中斷服務結束時,其ISR中的相應位必須清0。中斷結束方式是指使指使ISR相應位復位的方式相應位復位的方式。8259A有2種中斷結束方式自動結束方式(AEOI)非自動結束方式(EOI)124125非自動結束方式(非自動結束方式(EOI)該方式下,由CPU發(fā)發(fā)EOI命令命令來使ISR的相應位復位。n普通中斷結束方式普通中斷結束方式CPU向8259A發(fā)送中斷結束命令EOI,使當前 ISR 中級別最高級別最高的位復位。n特殊中斷結束方式特殊中斷結束方式CPU向8259A發(fā)送EOI命令,該命令字指定指定了要結束哪一級中斷源,從而使ISR相應的位復位。126在級連時:l一般采用非自
59、動結束方式一般采用非自動結束方式l在中斷服務結束時,對主片和從片分別發(fā)出中在中斷服務結束時,對主片和從片分別發(fā)出中斷結束命令,用以對主片、從片中的斷結束命令,用以對主片、從片中的ISR的相的相應位清應位清0主片: MOV AL, 20H; OCW2= 0010 0000B OUT 20H,AL;偶端口四四. 中斷屏蔽方式中斷屏蔽方式普通屏蔽方式普通屏蔽方式中斷屏蔽寄存器IMR的某位為1,則禁止相應的中斷請求;為0,則允許。這種方式下,由于優(yōu)先權判別器PR的作用,只有級級別高的中斷別高的中斷源才允許中斷。若CPU不希望某些中斷源申請中斷,或在處理某中斷時不希望比該中斷級別低的中斷源申請中斷,可采
60、用該方法。128特殊屏蔽方式特殊屏蔽方式在處理某中斷時,若想開放級別較低的中斷請求級別較低的中斷請求,則:(1) 將IMR中本級中斷的相應位置1,屏蔽本級中斷屏蔽本級中斷,為開放級別較低的中斷提供可能。(2) 將本級中斷本級中斷 ISR 的相的相應位復位應位復位,才能夠允許級別較低的中斷請求。即:設置特殊屏蔽方式后,IMR的某位置1,同時使ISR 的對應位復位。這樣既可屏蔽本級中斷,又可真正開放級別較低的中斷。129與普通屏蔽的區(qū)別區(qū)別:特殊屏蔽方式除了在IMR中屏蔽本級中斷源外,還需使當前ISR的相應位復位。五五. 中斷觸發(fā)方式中斷觸發(fā)方式電平觸發(fā)電平觸發(fā):IRi 端出現(xiàn)高電平時,有中斷請求。 邊沿
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 步行街個人店鋪租賃合同書
- 區(qū)商貿城商鋪租賃合同
- 健身場地租賃合同
- 農副產品購銷合同
- 土地租賃建房合同
- 借款抵押擔保合同
- 停車位代理銷售合同
- 知識產權專項法律服務合同
- 焦作師范高等??茖W校《高爾夫球具維護》2023-2024學年第二學期期末試卷
- 長沙航空職業(yè)技術學院《廣播電視技術實務》2023-2024學年第二學期期末試卷
- 產品不良品(PPM)統(tǒng)計表格模板
- 品管圈PDCA提高手衛(wèi)生依從性-手衛(wèi)生依從性品
- 2023年廣州市青年教師初中數(shù)學解題比賽決賽試卷
- 對折剪紙課件
- 公園棧道棧橋施工方案
- 新中國成立后的中國國防
- 熱烈歡迎領導蒞臨指導ppt模板
- 不規(guī)則抗體篩查與鑒定
- 2023-2024人教版小學2二年級數(shù)學下冊(全冊)教案【新教材】
- 中國銀行海爾多聯(lián)機方案書
- 小學《體育與健康》體育基礎理論知識
評論
0/150
提交評論