版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、2022年1月2日星期日第 1頁2022年1月2日星期日第 2頁第七章 微型計算機中斷系統(tǒng)概述概述中斷處理過程中斷處理過程中斷優(yōu)先級和中斷嵌套中斷優(yōu)先級和中斷嵌套可編程中斷控制器可編程中斷控制器8259A內容提要內容提要2022年1月2日星期日第 3頁CPU正常運行程序時,微處理器內部事件或外設請求,引起正常運行程序時,微處理器內部事件或外設請求,引起CPU中中斷正在運行的程序,轉去執(zhí)行請求中斷的外設斷正在運行的程序,轉去執(zhí)行請求中斷的外設(或內部事件或內部事件)的服務的服務子程序,執(zhí)行完畢,再返回被中止的程序,這一過程稱為子程序,執(zhí)行完畢,再返回被中止的程序,這一過程稱為中斷。 1. 中斷源
2、中斷源 引起中斷的事件。包括外部中斷和內部中斷。引起中斷的事件。包括外部中斷和內部中斷。2022年1月2日星期日第 4頁3中斷向量表中斷向量表 CPU響應中斷后,必須由中斷源提供地址信息,引導程響應中斷后,必須由中斷源提供地址信息,引導程序進入中斷服務子程序,這些序進入中斷服務子程序,這些中斷服務程序的入口地址存放中斷服務程序的入口地址存放在中斷向量表中在中斷向量表中。內存中專門開辟一個區(qū)域,存放中斷向量。內存中專門開辟一個區(qū)域,存放中斷向量表表(也稱中斷矢量表也稱中斷矢量表)。 2022年1月2日星期日第 5頁 5中斷屏蔽中斷屏蔽 當中斷源申請中斷時,當中斷源申請中斷時,CPU可以由軟件設置
3、,使之不能可以由軟件設置,使之不能響應,稱為響應,稱為中斷屏蔽中斷屏蔽。 對于各種計算機系統(tǒng),中斷系統(tǒng)的構成差別很大,但都對于各種計算機系統(tǒng),中斷系統(tǒng)的構成差別很大,但都具有基本功能:具有基本功能: 能實現(xiàn)中斷響應、中斷服務、中斷返回、中斷屏蔽;能實現(xiàn)中斷響應、中斷服務、中斷返回、中斷屏蔽; 能實現(xiàn)中斷優(yōu)先級排隊;能實現(xiàn)中斷優(yōu)先級排隊; 能實現(xiàn)中斷嵌套。能實現(xiàn)中斷嵌套。2022年1月2日星期日第 6頁 2022年1月2日星期日第 7頁 可屏蔽中斷請求2022年1月2日星期日第 8頁 由由CPU的引腳的引腳NMI引入,采用邊沿觸發(fā),上升沿之后維持引入,采用邊沿觸發(fā),上升沿之后維持兩個兩個時鐘周期
4、高電平時鐘周期高電平有效。有效。不能用軟件屏蔽,一旦有不可屏蔽中斷請求,如電源掉電等緊不能用軟件屏蔽,一旦有不可屏蔽中斷請求,如電源掉電等緊急情況,急情況,CPU必須予以響應。必須予以響應。 不可屏蔽中斷請求的不可屏蔽中斷請求的中斷類型號為中斷類型號為2,中斷處理程序的入口地,中斷處理程序的入口地址在址在0段的段的0008H000BH的的4個單元中。個單元中。2022年1月2日星期日第 9頁由由CPU的引腳的引腳INTR引入,采用引入,采用,高電平有效,高電平有效,INTR信號的高電平必須維持到信號的高電平必須維持到CPU響應中斷才結束。響應中斷才結束??捎密浖O置來屏蔽,即使外部設備有可屏蔽
5、中斷請求,可用軟件設置來屏蔽,即使外部設備有可屏蔽中斷請求,CPU可以不予響應??梢圆挥桧憫S赏獠吭O備引起的可屏蔽中斷請求要得到響應有兩個條由外部設備引起的可屏蔽中斷請求要得到響應有兩個條件:一個是外設中斷請求件:一個是外設中斷請求,一個是,一個是CPU中斷。中斷。2022年1月2日星期日第 10頁 內部中斷又稱為軟件中斷。內部中斷又稱為軟件中斷。CPU執(zhí)行一條執(zhí)行一條INT n指令后會立即產生中斷,并且調用系統(tǒng)中相應指令后會立即產生中斷,并且調用系統(tǒng)中相應的中斷處理程序去完成中斷功能,指令中的中斷處理程序去完成中斷功能,指令中n指出了中斷類型號。指出了中斷類型號。類型類型0中斷。中斷。在除
6、法運算中,若除數(shù)為在除法運算中,若除數(shù)為0或商超過寄存器所能表達的范圍,則產或商超過寄存器所能表達的范圍,則產生類型生類型0中斷,轉入類型中斷,轉入類型0中斷處理。中斷處理。類型類型4中斷,專用指令為中斷,專用指令為INTO。在運算中,若溢出標志位在運算中,若溢出標志位OF置置1,下面緊跟溢出中斷指令,下面緊跟溢出中斷指令INTO,則產生類型則產生類型4中斷;若中斷;若OF為為0,INTO指令不起作用。指令不起作用。因此在加、減法運算指令后應安排一條因此在加、減法運算指令后應安排一條INTO指令,否則運算產生指令,否則運算產生溢出后無法向溢出后無法向CPU發(fā)出溢出中斷請求。發(fā)出溢出中斷請求。2
7、022年1月2日星期日第 11頁 類型類型1中斷。中斷。標志位標志位TF1時,每條指令執(zhí)行后,時,每條指令執(zhí)行后,CPU自動產生類型自動產生類型1中斷。中斷。產生單步中斷時,產生單步中斷時,CPU同樣自動地將同樣自動地將PSW、CS和和IP內容入棧,內容入棧,然后清除然后清除TF、IF,進入單步中斷處理程序,單步處理程序結束,進入單步中斷處理程序,單步處理程序結束時,原來的時,原來的PSW從堆棧中取出,從堆棧中取出,CPU重新置成單步方式。重新置成單步方式。類型類型3中斷。中斷。 當當CPU,同時顯示當前各寄存器和有關,同時顯示當前各寄存器和有關存儲器的內容及下條要執(zhí)行的指令,供用戶檢查。存儲
8、器的內容及下條要執(zhí)行的指令,供用戶檢查。設置斷點即把一條斷點指令設置斷點即把一條斷點指令INT 3插入到斷點設置處,插入到斷點設置處,CPU執(zhí)行執(zhí)行到到INT 3指令便產生中斷。指令便產生中斷。2022年1月2日星期日第 12頁 2022年1月2日星期日第 13頁2022年1月2日星期日第 14頁 2022年1月2日星期日第 15頁 2022年1月2日星期日第 16頁 2022年1月2日星期日第 17頁 2022年1月2日星期日第 18頁類型類型255中斷入口中斷入口 類型類型32中斷入口中斷入口類型類型31中斷入口中斷入口 類型類型5中斷入口中斷入口類型類型4中斷入口(溢出中斷)中斷入口(溢
9、出中斷)類型類型3中斷入口(斷點中斷)中斷入口(斷點中斷)類型類型2中斷入口(中斷入口(NMI)類型類型1中斷入口(單步中斷)中斷入口(單步中斷)類型類型0中斷入口(除法出錯)中斷入口(除法出錯)2022年1月2日星期日第 19頁 2022年1月2日星期日第 20頁2022年1月2日星期日第 21頁2022年1月2日星期日第 22頁 2022年1月2日星期日第 23頁 2022年1月2日星期日第 24頁 2022年1月2日星期日第 25頁2022年1月2日星期日第 26頁2022年1月2日星期日第 27頁2022年1月2日星期日第 28頁2022年1月2日星期日第 29頁說明:說明:2022年
10、1月2日星期日第 30頁push ax;1、保護現(xiàn)場、保護現(xiàn)場push bxsti;2、開中斷、開中斷;3、中斷處理、中斷處理cli;4、關中斷、關中斷pop bx;5、恢復現(xiàn)場、恢復現(xiàn)場pop axsti;6、開中斷和、開中斷和中斷返回中斷返回 iret2022年1月2日星期日第 31頁2022年1月2日星期日第 32頁2022年1月2日星期日第 33頁2022年1月2日星期日第 34頁2022年1月2日星期日第 35頁2022年1月2日星期日第 36頁2022年1月2日星期日第 37頁2022年1月2日星期日第 38頁2022年1月2日星期日第 39頁2022年1月2日星期日第 40頁20
11、22年1月2日星期日第 41頁2022年1月2日星期日第 42頁2022年1月2日星期日第 43頁 2022年1月2日星期日第 44頁2022年1月2日星期日第 45頁 2022年1月2日星期日第 46頁2022年1月2日星期日第 47頁 2022年1月2日星期日第 48頁2022年1月2日星期日第 49頁 2022年1月2日星期日第 50頁 2022年1月2日星期日第 51頁 2022年1月2日星期日第 52頁 從上圖中可以看到:從上圖中可以看到:1. 主程序必須有開中斷指令主程序必須有開中斷指令,使,使IF1,才能響應中斷。,才能響應中斷。進入中斷處理程序時,系統(tǒng)自動關中斷,在中斷服務程進
12、入中斷處理程序時,系統(tǒng)自動關中斷,在中斷服務程序中必須有序中必須有STI開中斷指令,這樣才可以允許其它中斷開中斷指令,這樣才可以允許其它中斷進入實現(xiàn)中斷嵌套。進入實現(xiàn)中斷嵌套。2. 中斷結束返回前要有中斷結束返回前要有EOI中斷結束命令中斷結束命令,用來清除中斷,用來清除中斷服務寄存器中的對應位,允許低級中斷進入。最后有中服務寄存器中的對應位,允許低級中斷進入。最后有中斷返回指令斷返回指令IRET,使程序返回到被中斷的程序的斷點處。,使程序返回到被中斷的程序的斷點處。3. 中斷處理程序中中斷處理程序中如果沒有如果沒有EOI指令指令,中斷處理中不會受,中斷處理中不會受其它中斷影響,在其它中斷影響
13、,在執(zhí)行執(zhí)行IRET指令后指令后,因為自動返回中斷,因為自動返回中斷斷點及中斷標志寄存器斷點及中斷標志寄存器PSW的內容,當?shù)膬热?,當IF的值為的值為1,系,系統(tǒng)便統(tǒng)便能開放中斷能開放中斷。 2022年1月2日星期日第 53頁 4. 一個一個正在執(zhí)行的中斷處理程序,中斷服務寄存器相應位正在執(zhí)行的中斷處理程序,中斷服務寄存器相應位置置“1”,在開中斷,在開中斷(IF1)的情況下,能夠被優(yōu)先級高于的情況下,能夠被優(yōu)先級高于它的中斷源中斷。但如果中斷處理中它的中斷源中斷。但如果中斷處理中提前發(fā)出了提前發(fā)出了EOI命令命令,則清除了正在執(zhí)行的中斷服務,中斷服務寄存器置則清除了正在執(zhí)行的中斷服務,中斷服
14、務寄存器置“1”位被清位被清0,允許響應同級或低級的中斷申請。從上圖中可,允許響應同級或低級的中斷申請。從上圖中可以看到在以看到在IR 2處理程序中,由于發(fā)出了處理程序中,由于發(fā)出了EOI命令,清除了命令,清除了IR2的中斷服務寄存器,所以較低優(yōu)先級的的中斷服務寄存器,所以較低優(yōu)先級的IR4請求到達后,請求到達后,轉去處理轉去處理IR4中斷請求。但這種情況要盡量避免,防止重中斷請求。但這種情況要盡量避免,防止重復嵌套,使優(yōu)先級高的中斷不能及時服務,因此復嵌套,使優(yōu)先級高的中斷不能及時服務,因此一般一般EOI結束命令放在中斷返回指令結束命令放在中斷返回指令IRET前面前面 。2022年1月2日星
15、期日第 54頁一、一、8259A8259A的功能的功能具有具有8 8級優(yōu)先權控制級優(yōu)先權控制,通過級聯(lián)可,通過級聯(lián)可擴展到擴展到6464級優(yōu)先權控制(主從式中級優(yōu)先權控制(主從式中斷系統(tǒng))斷系統(tǒng))每一級中斷都可以單獨屏蔽或允每一級中斷都可以單獨屏蔽或允許許可提供中斷類型號傳送給可提供中斷類型號傳送給CPUCPU,從,從而能迅速地轉至中斷服務程序而能迅速地轉至中斷服務程序可通過編程選擇多種不同的工作可通過編程選擇多種不同的工作方式方式2022年1月2日星期日第 55頁內部總線緩沖器讀/寫邏 輯D7D0RDWRA0CS級聯(lián)緩沖器/比較器CAS0SP/ENCAS1CAS2內部總線控制邏輯INTAIN
16、T中斷服務寄存器(ISR)優(yōu)先權裁決器(PR)中斷請求寄存器(IRR)中斷屏蔽寄存器(IMR)IR0IR7a) 內部結構圖CSWRRDD7D0CAS0CAS1GNDVCCA0INTAIR7IR0INTSP/ENCAS21141528b) 引腳圖二、二、8259A的內部結構及引腳的內部結構及引腳2022年1月2日星期日第 56頁8259A的級聯(lián)緩沖的級聯(lián)緩沖/比較器比較器緩沖方式緩沖方式8259A通過總線驅動器和數(shù)據(jù)總線相連通過總線驅動器和數(shù)據(jù)總線相連SP/EN作輸出端作輸出端(連總線驅動器允許端連總線驅動器允許端)EN0,數(shù)據(jù):,數(shù)據(jù):8259ACPU EN1,數(shù)據(jù):,數(shù)據(jù):CPU8259A非
17、緩沖方式非緩沖方式8259A直接與數(shù)據(jù)總線相連直接與數(shù)據(jù)總線相連SP/EN作輸入端作輸入端SP1,主片,主片 SP0,從片,從片2022年1月2日星期日第 57頁1、8259A的編程結構的編程結構SP/ENCA0CA1CA2IORIOW總線總線D0D7數(shù)數(shù) 據(jù)據(jù) 線線D0D7INTAINTRA0片片選選譯譯碼碼A5A9CSA0RD INTAWRINT 1 I3 I4ICW1 芯片控制芯片控制 ICW2 中斷類型號中斷類型號 ICW3 主從片連接關主從片連接關系系 ICW4 方式控制方式控制0111A01 0 0 1 0 1 0 0O C W 1 中 斷 屏 蔽 寄 存 器中 斷 屏 蔽 寄 存
18、 器 IMR 0 0 OCW2 優(yōu)先級設置、發(fā)優(yōu)先級設置、發(fā)EOI 0 1 OCW3特殊屏蔽特殊屏蔽,查詢方式設置查詢方式設置處理部分處理部分控制部分控制部分000 0 0 0 0 0 ISR當前當前中斷中斷服務服務寄存器寄存器PR優(yōu)先級優(yōu)先級裁決器裁決器VCCGND1 10 00 0A0IR0IR1IR2IR3IR4IR5IR6IR7IRR中斷中斷申請申請寄存器寄存器000 0 0 0 0 0 三、三、8259A的中斷管理方式的中斷管理方式2022年1月2日星期日第 58頁4個初始化命令寄存器個初始化命令寄存器 ICW1、ICW2 ICW3、ICW4 3個操作命令寄存器個操作命令寄存器 OC
19、W1(IMR) OCW2、OCW3當前中斷服務寄存器當前中斷服務寄存器 ISR中斷申請寄存器中斷申請寄存器 IRR 8259A內部有內部有9個個 可讀寫的寄存器可讀寫的寄存器8259A的編程結構的編程結構 1 I3 I4ICW1 芯片控制芯片控制 ICW2 中斷類型號中斷類型號 ICW3 主從片關系主從片關系 ICW4 方式控制方式控制處理部分處理部分控制部分控制部分000 0 0 0 0 0 ISR當前當前中斷中斷服務服務寄存器寄存器PR優(yōu)先級優(yōu)先級裁決器裁決器IRR中斷申請中斷申請寄存器寄存器000 0 0 0 0 0 中斷屏蔽寄存器中斷屏蔽寄存器 IMROCW2 1 0 0 1 0 1
20、0 0 0 0 0 1 OCW3OCW18259A中斷控制器中斷控制器2022年1月2日星期日第 59頁(1) 初始化命令字初始化命令字(ICW1- - ICW4) 決定決定8259A的工作方式的工作方式 通常是在計算機系統(tǒng)啟動時在初始程序設置,通常是在計算機系統(tǒng)啟動時在初始程序設置, 一旦設定,一般在系統(tǒng)工作過程不再改變。一旦設定,一般在系統(tǒng)工作過程不再改變。例例 開機后,開機后,BIOS將將8259A初始化為:初始化為: IR0IR7中斷申請信號為上升沿觸發(fā)方式;中斷申請信號為上升沿觸發(fā)方式; IR0IR7對應的中斷類型號分別為對應的中斷類型號分別為08H0FH; 優(yōu)先級優(yōu)先級IR0最高最
21、高, IR7最低;最低;2022年1月2日星期日第 60頁(2) 操作命令字操作命令字(OCW1,OCW2,OCW3) 在應用程序中設定,動態(tài)地控制在應用程序中設定,動態(tài)地控制CPU處理中處理中斷的過程斷的過程(3) ISR和和IRR存放當前存放當前8259A的狀態(tài)的狀態(tài) 通過讀取通過讀取 ISR 和和 IRR 的內容,可了解當前的內容,可了解當前8259A工作情況工作情況2022年1月2日星期日第 61頁(1 1)全嵌套方式)全嵌套方式 8259A8259A的中斷請求輸入端引入的中斷具有固定的優(yōu)先的中斷請求輸入端引入的中斷具有固定的優(yōu)先權排隊順序,權排隊順序,IRIR0 0為最高優(yōu)先級,為最
22、高優(yōu)先級,IRIR1 1為次高優(yōu)先級,為次高優(yōu)先級,依次類推,依次類推,IRIR7 7為最低優(yōu)先級。為最低優(yōu)先級。 2、優(yōu)先級設置方式、優(yōu)先級設置方式2022年1月2日星期日第 62頁(2 2)特殊全嵌套方式)特殊全嵌套方式 特殊全嵌套方式和全嵌套方式基本相同,只有一點特殊全嵌套方式和全嵌套方式基本相同,只有一點不同,就是在特殊全嵌套方式下,當處理某一級中不同,就是在特殊全嵌套方式下,當處理某一級中斷時,如果有同級的中斷請求,那么,也會給予響斷時,如果有同級的中斷請求,那么,也會給予響應,從而實現(xiàn)一種對同級中斷請求的特殊嵌套。應,從而實現(xiàn)一種對同級中斷請求的特殊嵌套。注注: : 特殊全嵌套僅用
23、于多個特殊全嵌套僅用于多個8259A8259A級連時的主級連時的主8259A8259A,而不能用于從屬,而不能用于從屬8259A8259A或單或單8259A8259A系統(tǒng)。系統(tǒng)。 2022年1月2日星期日第 63頁(3 3)優(yōu)先級自動循環(huán)方式。)優(yōu)先級自動循環(huán)方式。初始時,優(yōu)先次序為初始時,優(yōu)先次序為IR0IR7IR0IR7,IR0IR0最高,最高,IR7IR7最低。當最低。當某級中斷響應后,則優(yōu)先級降為最低。而其后的與之相某級中斷響應后,則優(yōu)先級降為最低。而其后的與之相鄰的優(yōu)先級升為最高。如,鄰的優(yōu)先級升為最高。如,IR3IR3響應后的優(yōu)先級次序變響應后的優(yōu)先級次序變?yōu)闉镮R4IR4,IR5
24、IR5,IR6IR6,IR7IR7,IR0IR0,IR1IR1,IR2IR2,IR3IR3。(4 4)優(yōu)先權特殊循環(huán)方式。)優(yōu)先權特殊循環(huán)方式。優(yōu)先權特殊循環(huán)方式與優(yōu)先權循環(huán)方式相比僅有一點不優(yōu)先權特殊循環(huán)方式與優(yōu)先權循環(huán)方式相比僅有一點不同,就是在優(yōu)先權特殊循環(huán)方式下,一開始的最低優(yōu)先同,就是在優(yōu)先權特殊循環(huán)方式下,一開始的最低優(yōu)先權是由編程確定的。權是由編程確定的。 2022年1月2日星期日第 64頁3、中斷結束的管理方式(固定優(yōu)先級的中斷結束)、中斷結束的管理方式(固定優(yōu)先級的中斷結束) 中斷結束的管理就是用不同的方式使中斷結束的管理就是用不同的方式使ISR中相應位中相應位清零。清零。普
25、通結束方式普通結束方式EOI 8259A每得到一次每得到一次EOI命令,就將命令,就將ISR中已置位的中已置位的各位中優(yōu)先級最高的位復位。各位中優(yōu)先級最高的位復位。特殊結束方式特殊結束方式SEOI 該方式的特殊性在于,除了普通該方式的特殊性在于,除了普通EOI方式的功能方式的功能外,將明確指明本次復位的外,將明確指明本次復位的ISR位。位。自動結束方式自動結束方式AEOI 自動自動EOI方式是利用響應中斷時最后一個響應脈方式是利用響應中斷時最后一個響應脈沖的后沿執(zhí)行一次普通沖的后沿執(zhí)行一次普通EOI,而不需要,而不需要CPU發(fā)送發(fā)送EOI指令,這時指令,這時CPU為中斷服務而為中斷服務而ISR
26、沒有指示。沒有指示。2022年1月2日星期日第 65頁4、循環(huán)優(yōu)先級的循環(huán)方法、循環(huán)優(yōu)先級的循環(huán)方法 在循環(huán)優(yōu)先級方式中,與中斷結束方式聯(lián)合,在循環(huán)優(yōu)先級方式中,與中斷結束方式聯(lián)合,有三種循環(huán)結束,結束時并確定下面的優(yōu)先權排隊。有三種循環(huán)結束,結束時并確定下面的優(yōu)先權排隊。(1)普通)普通EOI循環(huán)方式循環(huán)方式當任地級中斷結束處理完后,使當任地級中斷結束處理完后,使CPU給給8259A回送回送普通普通EOI循環(huán)命令,循環(huán)命令,8259A收到收到EOI循環(huán)命令后將循環(huán)命令后將ISR寄存器中最高優(yōu)先級的寄存器中最高優(yōu)先級的IRi置置“1”位清位清“0”并賦并賦給它最低優(yōu)先級,將最高優(yōu)先級賦給它的下
27、一級給它最低優(yōu)先級,將最高優(yōu)先級賦給它的下一級IRi+1。2022年1月2日星期日第 66頁(2)特殊)特殊EOI循環(huán)方式循環(huán)方式特殊特殊EOI循環(huán)方式即指定最低級循環(huán)方式,最低優(yōu)先級循環(huán)方式即指定最低級循環(huán)方式,最低優(yōu)先級由編程決定,最高優(yōu)先級也相應而定,這樣在當前中斷由編程決定,最高優(yōu)先級也相應而定,這樣在當前中斷服務結束前,使服務結束前,使CPU給給8259A回送特殊回送特殊EOI結束命令,結束命令,8259A收到此命令字后,指定最低優(yōu)先級,并重新排列收到此命令字后,指定最低優(yōu)先級,并重新排列優(yōu)先級別。優(yōu)先級別。(3)自動)自動EOI循環(huán)方式循環(huán)方式自動自動EOI方式是利用響應中斷時最后
28、一個響應脈沖的后方式是利用響應中斷時最后一個響應脈沖的后沿執(zhí)行一次普通沿執(zhí)行一次普通EOI,自動將,自動將ISR寄存器中相應位清寄存器中相應位清0,并立即改變各級中斷的優(yōu)先級別,改變方式與普通并立即改變各級中斷的優(yōu)先級別,改變方式與普通EOI循環(huán)循環(huán)方式相同。這時循環(huán)循環(huán)方式相同。這時CPU為中斷服務而為中斷服務而ISR沒有指沒有指示,使用這種方式要小心,防止重復嵌套產生。示,使用這種方式要小心,防止重復嵌套產生。2022年1月2日星期日第 67頁IR7 IR6 IR5 IR4 IR3 IR2 IR1 IR0 ISR 內容內容 0 0 1 0 0 1 0 0 原始原始狀狀 態(tài)態(tài) 優(yōu)先級優(yōu)先級
29、7 6 5 4 3 2 1 0 ISR 內容內容 0 0 1 0 0 0 0 0 處理完處理完IR2 優(yōu)先級優(yōu)先級 4 3 2 1 0 7 6 5 ISR 內容內容 0 0 0 0 0 0 0 0 處理完處理完IR5 優(yōu)先級優(yōu)先級 1 0 7 6 5 4 3 2 IR7 IR6 IR5 IR4 IR3 IR2 IR1 IR0 ISR 內容內容 0 1 0 0 0 1 0 0 原始原始狀狀 態(tài)態(tài) 優(yōu)先級優(yōu)先級 7 6 5 4 3 2 1 0 ISR 內容內容 0 1 0 0 0 1 0 0 執(zhí)行置位執(zhí)行置位 優(yōu)先權優(yōu)先權 優(yōu)先級優(yōu)先級 3 2 1 0 7 6 5 4 ISR內容內容 0 1 0
30、0 0 0 0 0 處理完處理完IR2 優(yōu)先級優(yōu)先級 4 3 2 1 0 7 6 5 普通普通EOIEOI循環(huán)方式循環(huán)方式特殊特殊EOIEOI循環(huán)方式(正在處理循環(huán)方式(正在處理IR2IR2)2022年1月2日星期日第 68頁5 5、中斷屏蔽方式、中斷屏蔽方式 (1 1)普通屏蔽方式。)普通屏蔽方式。這種屏蔽方式是通過編程將中斷屏蔽字寫入這種屏蔽方式是通過編程將中斷屏蔽字寫入IMRIMR而實現(xiàn)的。若寫而實現(xiàn)的。若寫入某位為入某位為1 1,則對應的中斷請求被屏蔽;為,則對應的中斷請求被屏蔽;為0 0,則對應的中斷請求,則對應的中斷請求被開放。被開放。 (2 2)特殊屏蔽方式。)特殊屏蔽方式。在執(zhí)
31、行較高級的中斷服務時,希望開放較低級的中斷請求。在執(zhí)行較高級的中斷服務時,希望開放較低級的中斷請求。采用采用普通屏蔽普通屏蔽方式是不能實現(xiàn)這一要求的,因為用普通方式時,即使方式是不能實現(xiàn)這一要求的,因為用普通方式時,即使把較低級的中斷請求開放,但由于把較低級的中斷請求開放,但由于ISRISR中當前正在服務的較高中中當前正在服務的較高中斷級的對應位仍為斷級的對應位仍為“1”1”,它會禁止所有優(yōu)先級比它低的中斷請,它會禁止所有優(yōu)先級比它低的中斷請求。采用特殊屏蔽方式,可在中斷服務程序中用中斷屏蔽命令字求。采用特殊屏蔽方式,可在中斷服務程序中用中斷屏蔽命令字來屏蔽當前正在服務的中斷級別(即設置來屏蔽
32、當前正在服務的中斷級別(即設置IMRIMR的相應位為的相應位為“1”1”),同時使,同時使ISRISR中對應位清中對應位清“0”0”,這樣就不但屏蔽了當前正在服務,這樣就不但屏蔽了當前正在服務的中斷級,同時真正開放了其它優(yōu)先級較低的中斷請求。的中斷級,同時真正開放了其它優(yōu)先級較低的中斷請求。 2022年1月2日星期日第 69頁6 6、中斷請求引入方式、中斷請求引入方式2022年1月2日星期日第 70頁四四 8259A8259A的編程方法的編程方法初始化命令字初始化命令字ICWICW,操作命令字,操作命令字OCWOCW;系統(tǒng)復位后,應初始化編程,系統(tǒng)復位后,應初始化編程,按次序只寫一次;按次序只
33、寫一次; 設定觸發(fā)方式、緩沖方式、類型號基值、優(yōu)先設定觸發(fā)方式、緩沖方式、類型號基值、優(yōu)先級、級、 結束方式結束方式初始化后,在任何位置可操作編程,沒有嚴格順序初始化后,在任何位置可操作編程,沒有嚴格順序,允許重置,以動態(tài)改變,允許重置,以動態(tài)改變8259A8259A的操作與控制。的操作與控制。2022年1月2日星期日第 71頁1 18259A8259A的初始化命令字的初始化命令字(1 1)初始化命令字)初始化命令字ICW1ICW11LTIMADISNGLICW4D7D6D5D4D3D2D1D0A00D D3 3(LTIMLTIM)表示中斷請求信號起作用的觸發(fā)方式。)表示中斷請求信號起作用的觸
34、發(fā)方式。D D3 3=1=1為電平觸為電平觸發(fā),發(fā),D D3 3=0=0為邊沿觸發(fā)。為邊沿觸發(fā)。 D D1 1(SNGLSNGL)表示系統(tǒng)是使用單片)表示系統(tǒng)是使用單片8259A8259A還是多片還是多片8259A8259A。D D1 1=1=1為單為單片,片,D D1 1=0=0為多片。為多片。 D D0 0(ICW4ICW4)表示是否需要)表示是否需要ICW4ICW4。D D0 0=1=1為需要,為需要,D D0 0=0=0為不需要。為不需要。 D D2 2(ADIADI)在)在808080808085CPU8085CPU模式下用,模式下用,80 x86 CPU80 x86 CPU模式下不
35、用。模式下不用。 2022年1月2日星期日第 72頁(2 2) 初始化命令字初始化命令字ICW2ICW2設定設定8259A8259A的中斷類型號的中斷類型號 T7D7D6D5D4D3D2D1D0A01T6T4T5T3D D7 7D D3 3為中斷類型號的高為中斷類型號的高5 5位,由用戶給出。低位,由用戶給出。低3 3位由位由8259A8259A按按IRIR0 0IRIR7 7三位編碼值自動填入。三位編碼值自動填入。 2022年1月2日星期日第 73頁(3 3)初始化命令字)初始化命令字ICW3ICW3(多片時需要)(多片時需要)8259A8259A作為主片的格式:(作為主片的格式:(Di=1
36、Di=1表示表示IRiIRi接有從片)接有從片)D7D6D5D4D3D2D1D0A01S7S5S6S4S3S2S1S08259A8259A作為從片的格式:作為從片的格式: 0ID2ID1ID0D7D6D5D4D3D2D1D0A010000表示從片的表示從片的INTINT輸出與主片輸出與主片8259A8259A中的哪一個中的哪一個IRiIRi相連接相連接 2022年1月2日星期日第 74頁(4)4) 初始化命令字初始化命令字ICW4ICW4 SFNMM/SAEOIPMD7D6D5D4D3D2D1D0A01000BUFD D0 0(PMPM):):D D0 0=1=1為為80 x8680 x86系
37、統(tǒng),系統(tǒng),D D0 0=0=0為為8080808080858085系統(tǒng)。系統(tǒng)。D D1 1(AEOI)AEOI):表示是否采用自動結束中斷方式,:表示是否采用自動結束中斷方式,D D1 1=1=1為自動中斷為自動中斷結束方式,結束方式,D D1 1=0=0為非自動中斷結束方式。為非自動中斷結束方式。 D D2 2(M/SM/S):):D D2 2=1=1為主片,為主片,D D2 2=0=0為從片。為從片。 D D3 3(BUFBUF):):D D3 3=1=1表示有緩沖器表示有緩沖器D D3 3=0=0表示沒有緩沖器。表示沒有緩沖器。( (決定決定8259A8259A和系統(tǒng)數(shù)據(jù)總線之間是否有緩
38、沖器和系統(tǒng)數(shù)據(jù)總線之間是否有緩沖器) )D D4 4(SFNMSFNM):):D D4 4=1=1為特殊全嵌套方式,為特殊全嵌套方式,D D4 4=0=0為全嵌套方式。(用為全嵌套方式。(用于設定級聯(lián)方式下的優(yōu)先權管理方式)于設定級聯(lián)方式下的優(yōu)先權管理方式) 2022年1月2日星期日第 75頁寫入初始化命令字的流程:寫入初始化命令字的流程: ICW1ICW2級聯(lián)?ICW3需ICW4?ICW4YYNN2022年1月2日星期日第 76頁2 28259A8259A的操作命令字的操作命令字 (1 1) 操作命令字操作命令字OCW1OCW1(屏蔽操作命令字)(屏蔽操作命令字)D7D6D5D4D3D2D1
39、D0A01M7M5M6M4M3M2M1M0Mi=1表示IRi上的中斷請求被屏蔽 2022年1月2日星期日第 77頁(2 2)操作命令字)操作命令字OCW2OCW2(中斷方式命令字)(中斷方式命令字)D D7 7(R R):中斷排隊是否循環(huán)的標志。):中斷排隊是否循環(huán)的標志。R=1R=1為優(yōu)先級循環(huán)方式,為優(yōu)先級循環(huán)方式,R=0R=0為固定優(yōu)為固定優(yōu)先級方式。先級方式。 D D6 6(SLSL):選擇):選擇L L2 2L L1 1L L0 0編碼是否有效的標志。若編碼是否有效的標志。若SL=1SL=1,則,則L L2 2L L1 1L L0 0編碼有效,若編碼有效,若SL=0SL=0,則無效。
40、,則無效。 D D5 5(EOIEOI):中斷結束命令。):中斷結束命令。D D5 5=1=1時,則使現(xiàn)行的時,則使現(xiàn)行的ISRISR中最高優(yōu)先級的相應位中最高優(yōu)先級的相應位復位(一般中斷結束方式),或由復位(一般中斷結束方式),或由L L2 2L L1 1L L0 0指定的指定的ISRISR相應位復位(特殊中相應位復位(特殊中斷結束方式)。斷結束方式)。 D D2 2D D1 1D D0 0(L L2 2L L1 1L L0 0):對應):對應8 8個二進制編碼,有兩個作用:一是用在特殊個二進制編碼,有兩個作用:一是用在特殊EOIEOI命令命令中,表示清除的是中,表示清除的是ISRISR的哪
41、一位;另一是用在優(yōu)先權特殊循環(huán)方式中,表的哪一位;另一是用在優(yōu)先權特殊循環(huán)方式中,表示系統(tǒng)中最低優(yōu)先級編碼。示系統(tǒng)中最低優(yōu)先級編碼。 0L2L1L0D7D6D5D4D3D2D1D0A00EOISLR02022年1月2日星期日第 78頁(3 3) 操作命令字操作命令字OCW3OCW3(狀態(tài)操作命令字)(狀態(tài)操作命令字)D D6 6D D5 5:決定:決定8259A8259A是否工作于特殊屏蔽方式。是否工作于特殊屏蔽方式。D D6 6D D5 5為為1111時,時,8259A8259A為特殊屏蔽方式;為特殊屏蔽方式;D D6 6D D5 5為為1010時,時,8259A8259A為一般屏蔽方為一般
42、屏蔽方式。式。 D D1 1D D0 0:兩位規(guī)定隨后讀取的寄存器。:兩位規(guī)定隨后讀取的寄存器。D D1 1D D0 0為為1111時,表示要讀時,表示要讀ISRISR;D D1 1D D0 0為為1010時,表示要讀時,表示要讀IRRIRR。D2(P)D2(P):決定:決定8259A8259A是否處于程序查詢方式。是否處于程序查詢方式。D2=1D2=1時,時,8259A8259A處處于程序查詢方式。當于程序查詢方式。當8259A8259A發(fā)出查詢命令后,隨后從偶地發(fā)出查詢命令后,隨后從偶地址讀出的數(shù)據(jù)即為中斷請求狀態(tài)字。址讀出的數(shù)據(jù)即為中斷請求狀態(tài)字。0PRRRISD7D6D5D4D3D2D
43、1D0A00SMMESMM01OCW3命令字有三個功能:命令字有三個功能:設置或撤消特殊屏蔽方式;設置或撤消特殊屏蔽方式;設置中斷查詢方式;設置中斷查詢方式;設置讀設置讀8259A內部寄存器方式。內部寄存器方式。 2022年1月2日星期日第 79頁8259A8259A的應用舉例的應用舉例80868086最小模式與最小模式與8259A8259A接口如下接口如下, , 外設中斷請求分別從外設中斷請求分別從IR2 IR2 、IR4 IR4 、IR7IR7引入引入, , 中斷類型號從中斷類型號從0C0H0C0H0C7H0C7H,采,采用上升沿觸發(fā),寫出用上升沿觸發(fā),寫出8259A8259A初始化程序。
44、初始化程序。 D0D7 RD WR A1 A7 A6 A5 A0 M/IO A4 A3 A2 INTR INTAD0D7RDWRA0 IR2 IR4 IR7CSINTINTAGG2AG2BC Y1BA11端口地址:10000100B 84H10000110B 86H2022年1月2日星期日第 80頁CLI ;關中斷;關中斷MOV AL,13H ;ICW1:00010011B邊沿觸發(fā),單片,邊沿觸發(fā),單片, 需要需要 ICW4OUT84H,ALMOV AL,0C0H ;ICW2:中斷類型碼的:中斷類型碼的D7D3位為位為11000OUT86H,ALMOV AL,01H ;ICW4:0000000
45、1B 全嵌套全嵌套,非緩沖非緩沖,非自動非自動EOIOUT86H,ALMOV AL,6BH ;OCW1:01101011B屏蔽屏蔽IR0.1.3.5.6OUT86H,ALSTI ;開中斷;開中斷若要讀若要讀IRR的內容的內容MOV AL,0AH ;OCW3:00001010BOUT 84H,ALNOPIN AL,84H2022年1月2日星期日第 81頁若要讀若要讀ISR的內容的內容MOV AL,0BH ; OCW3: 00001011BOUT 84H,ALNOPIN AL,84H若要讀若要讀IMR的內容,可直接從高地址讀入的內容,可直接從高地址讀入IN AL,86H若中斷是關閉的,可采用查詢方
46、式,看是否有中斷若中斷是關閉的,可采用查詢方式,看是否有中斷NEXT:MOV AL,0CH; OCW3: 00001100B OUT 84H,AL NOP IN AL,84H TEST AL,80H JZ NEXT2022年1月2日星期日第 82頁例例2 2:某:某80868086系統(tǒng)中有兩片系統(tǒng)中有兩片8259A8259A,從片接主片的,從片接主片的IR4IR4,主片,主片IR2IR2、IR5IR5有外部中斷引入,類型號分別為有外部中斷引入,類型號分別為62H62H、65H65H;從片;從片IR0IR0、IR3IR3有外部中斷引入,類型號分別為有外部中斷引入,類型號分別為40H40H、43H
47、43H。設主。設主片的一個端口地址為片的一個端口地址為82H82H,從片的一個端口地址為,從片的一個端口地址為84H84H,分,分別進行初始化編程。別進行初始化編程。分析端口地址:分析端口地址:主片主片 10000010 82H 10000000 80H從片從片 10000100 84H 10000110 86H類型號基值:類型號基值: 主片主片 60H從片從片 40H2022年1月2日星期日第 83頁主片初始化程序主片初始化程序MOV AL,11H;ICW1,00010001B 邊沿觸發(fā)邊沿觸發(fā) 級連級連OUT 80H,AL;MOV AL,60H;類型號基值;類型號基值OUT 82H,AL;
48、MOV AL, 00010000B ;OUT 82H,AL;MOV AL,11H;ICW4,00010001B 特殊嵌套特殊嵌套 非緩沖非緩沖 非自動非自動OUT 82H,AL;MOV AL,11001011B;OUT 82H,AL;2022年1月2日星期日第 84頁從片初始化程序從片初始化程序MOV AL,11H;00010001B 邊沿觸發(fā)邊沿觸發(fā) 級連級連OUT 84H,AL;MOV AL,40H;類型號基值;類型號基值OUT 86H,AL;MOV AL, 00000100B ;OUT 86H,AL;MOV AL,01H;00000001B 完全嵌套完全嵌套 非緩沖非緩沖 非自動非自動
49、80X86OUT 86H,AL;MOV AL,11110110B;OUT 86H,AL;2022年1月2日星期日第 85頁【例【例3 3】 試編程實現(xiàn)主機每試編程實現(xiàn)主機每次響應次響應8259A8259A的的IR2IR2中斷請求,中斷請求,顯示字符串顯示字符串“This is a This is a 8259A interrupt!”8259A interrupt!”,中斷,中斷1010次結束。次結束。8259A8259A偶地址端口為偶地址端口為20H20H,奇地址端口為,奇地址端口為21H21H,IR2IR2的中斷類型號為的中斷類型號為0AH0AH。程序流。程序流程如圖,程序如下:程如圖,程
50、序如下:開始關中斷設置中斷向量8259A初始化中斷次數(shù)初始化開中斷中斷次數(shù)到?禁止IR2中斷結束YN主程序中斷服務程序顯示字符串中斷次數(shù)減1發(fā)中斷結束命令中斷返回2022年1月2日星期日第 86頁DATA SEGMENTDATA SEGMENT MESS DB This is a 8259A interrupt!,0Ah,0Dh,$ MESS DB This is a 8259A interrupt!,0Ah,0Dh,$DATA ENDSDATA ENDSCODE SEGMENTCODE SEGMENT ASSUME CS:CODE, DS:DATA ASSUME CS:CODE, DS:DA
51、TA START:MOV AX, DATA START:MOV AX, DATA MOV DS, AX MOV DS, AX CLI CLI ;關中斷;關中斷 PUSH DSPUSH DS MOV AX, SEG DISPLAY MOV AX, SEG DISPLAY ;取中斷服務程序入口段地址;取中斷服務程序入口段地址 MOV DS, AXMOV DS, AX MOV DX, OFFSET DISPLAY MOV DX, OFFSET DISPLAY ;取中斷服務程序入口偏移地址;取中斷服務程序入口偏移地址 2022年1月2日星期日第 87頁 MOV AX,250AH MOV AX,250A
52、H ;設置中斷向量;設置中斷向量 INT 21HINT 21H POP DS POP DS MOV AL,13H MOV AL,13H ;設置;設置ICWICW1 1,邊沿觸發(fā),單片,邊沿觸發(fā),單片8259A8259A,需,需ICWICW4 4 OUT 20H,AL OUT 20H,AL MOV AL,08H MOV AL,08H ;設置;設置ICWICW2 2,中斷類型號的高,中斷類型號的高5 5位為位為0000100001 OUT 21H,AL OUT 21H,AL MOV AL,05H MOV AL,05H ;設置;設置ICWICW4 4,非,非AEOIAEOI方式,完全嵌套方式方式,完
53、全嵌套方式 OUT 21H,ALOUT 21H,AL IN AL, 21H IN AL, 21H ;讀??;讀取IMRIMR AND AL,0FBH AND AL,0FBH ;開放;開放IRIR2 2 OUT 21H,AL OUT 21H,AL MOV BL,10 MOV BL,10 ;初始化中斷次數(shù);初始化中斷次數(shù) STISTI 2022年1月2日星期日第 88頁WAIT1:CMP BL,0WAIT1:CMP BL,0 NOP NOP JNZ WAIT1 JNZ WAIT1 CLI CLI IN AL,21H IN AL,21H OR AL,04H OR AL,04H ;禁止;禁止IR2IR2
54、 OUT 21H,AL OUT 21H,AL STI STI MOV AH,4CH MOV AH,4CH ;返回;返回DOSDOS INT 21H INT 21H 2022年1月2日星期日第 89頁 DISPLAY PROC NEARDISPLAY PROC NEAR LEA DX, MESS LEA DX, MESS ;顯示字符串;顯示字符串 MOV AH, 09HMOV AH, 09H INT 21H INT 21H DEC BL DEC BL MOV AL, 20H MOV AL, 20H ;發(fā)送中斷結束命令;發(fā)送中斷結束命令 OUT 20H, ALOUT 20H, AL IRET IRET DISPLAY ENDP DISPLAY ENDPCODE ENDSCODE ENDS END START END START 2022年1月2日星期日第 90頁五、 8259A的級聯(lián) 在一個中斷系統(tǒng)中,可以使用多片在一個中斷系統(tǒng)中,可以使用多片8259A8259A,采用級聯(lián)方,采用級聯(lián)方法,使中斷優(yōu)先級從法,使中斷優(yōu)先級從8 8級可擴展到級可擴展到6464級。在級聯(lián)時
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 橋梁橡膠支座合同范例
- 煤礦卡車維修合同范例
- 混凝土勞務單項合同范例
- 公司廢舊回收合同范例
- 原材料合同范例格式
- 采購合同范例封面
- 合作安裝合同范例
- 用電增容改造合同范例
- 豪車托管合同范例
- 蘇科版八年級物理下冊教案 6.3物質的密度
- 提升學生深度閱讀教學設計
- 江蘇省宿遷市宿城區(qū)2023-2024學年一年級上學期期末數(shù)學試題
- 《工業(yè)工程導論》課件
- 廣東省中山市2023-2024學年五年級上學期期末數(shù)學試卷
- 計算機網(wǎng)絡局域網(wǎng)組建與維護
- 個人所得稅稅額計算
- 京東2023審計報告
- IATF16949-程序文件-15供應商管理程序
- 廣東省華南師大附中2024屆化學高一上期中復習檢測試題含解析
- 【語文】陜西省西安市高新一小小學一年級上冊期末試卷
評論
0/150
提交評論