第6章 中斷技術(shù)_第1頁
第6章 中斷技術(shù)_第2頁
第6章 中斷技術(shù)_第3頁
第6章 中斷技術(shù)_第4頁
第6章 中斷技術(shù)_第5頁
已閱讀5頁,還剩69頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

第6章中斷技術(shù)

本章主要內(nèi)容:1、中斷的基本原理2、8088的中斷方式3、8259A中斷控制器4、微機(jī)的中斷結(jié)構(gòu)5、中斷接口技術(shù)10/17/20231微機(jī)原理及應(yīng)用中斷技術(shù)為什么要用中斷?

早期的計算機(jī)沒有中斷功能,CPU和外設(shè)之間的信息交換采用的是查詢方式,CPU的大部分時間都浪費在反復(fù)查詢上,這妨礙了計算機(jī)高速性能的充分發(fā)揮,產(chǎn)生了快速的CPU與慢速的外設(shè)之間的矛盾,這也是計算機(jī)在發(fā)展過程中遇到的嚴(yán)重問題之一。為解決這個問題,一方面要提高外設(shè)的工作速度,另一方面引入了中斷。隨著計算機(jī)的發(fā)展,中斷被賦予新的功能。例如,計算機(jī)的故障監(jiān)測與自動處理,人機(jī)聯(lián)系,多機(jī)系統(tǒng),多道程序分時操作和實時信息處理等,這些功能均要求CPU具有中斷功能,能夠立即相應(yīng)加以處理。10/17/20232微機(jī)原理及應(yīng)用中斷技術(shù)中斷的基本原理中斷:指計算機(jī)在正常執(zhí)行的過程中,由于種種原因,使CPU暫停當(dāng)前程序的執(zhí)行,而轉(zhuǎn)去處理臨時發(fā)生的事件,處理完畢后后,再返回繼續(xù)執(zhí)行暫停的程序。中斷系統(tǒng):為了實現(xiàn)中斷功能而設(shè)置的各種硬件和軟件,統(tǒng)稱為中斷系統(tǒng)。

中斷系統(tǒng)應(yīng)具有以下功能:(1)實現(xiàn)中斷和返回。(2)能實現(xiàn)優(yōu)先權(quán)排隊。(3)高級中斷源能中斷低級中斷源的中斷請求。10/17/20233微機(jī)原理及應(yīng)用中斷技術(shù)中斷過程

執(zhí)行指令中斷響應(yīng),CS:IP進(jìn)棧關(guān)中斷保護(hù)現(xiàn)場,開中斷轉(zhuǎn)至中斷服務(wù)子程序中斷處理子程序取下條指令開中斷,中斷返回INT有效?允許中斷10/17/20234微機(jī)原理及應(yīng)用中斷技術(shù)中斷過程

每個中斷過程可分為:中斷請求,中斷判優(yōu),中斷響應(yīng),中斷處理,中斷返回。

10/17/20235微機(jī)原理及應(yīng)用中斷技術(shù)中斷請求中斷源:引起中斷的原因或發(fā)出中斷申請的來源。通常的中斷源有以下幾種:(1)一般的輸入輸出設(shè)備,如鍵盤、打印機(jī)等。(2)數(shù)據(jù)通道中斷源,如磁盤驅(qū)動器等。(3)定時時鐘。(4)故障源。例如電壓掉電,就要求把正在執(zhí)行的程序的狀態(tài)—IP、CS、各個寄存器的內(nèi)容和標(biāo)志位的狀態(tài)保留下來,以便重新供電后能從斷點處繼續(xù)運行。(5)為調(diào)試程序而設(shè)置的中斷源。10/17/20236微機(jī)原理及應(yīng)用中斷技術(shù)中斷判優(yōu)當(dāng)系統(tǒng)具有若干個中斷源時,若某一時刻有兩個以上的中斷源同時發(fā)出中斷請求,因為CPU往往只有一條中斷請求線,而CPU任一時刻只能響應(yīng)并處理一個中斷,這就要求CPU判別優(yōu)先級最高的中斷源并響應(yīng)之。中斷判優(yōu)就是要解決請求中斷的事件優(yōu)先級的順序問題。中斷判優(yōu)的方法分為軟件和硬件兩種。10/17/20237微機(jī)原理及應(yīng)用中斷技術(shù)中斷判優(yōu)

軟件判優(yōu) 軟件查詢方式,是將多個外設(shè)的中斷請求信號通過或門相“或”后,送到CPU的INTR端,同時把幾個外設(shè)的中斷請求狀態(tài)位組成一個端口,賦予端口號。任一外設(shè)有中斷請求,CPU響應(yīng)中斷進(jìn)入中斷處理程序,用軟件讀取端口內(nèi)容,逐位查詢端口的每位狀態(tài),查到哪個外設(shè)有請求,就轉(zhuǎn)入外設(shè)的中斷服務(wù)程序。查詢的次序,決定了外設(shè)優(yōu)先級別的高低,先查詢的中斷源優(yōu)先級別高。10/17/20238微機(jī)原理及應(yīng)用中斷技術(shù)中斷優(yōu)先權(quán)

l

用軟件查詢方法確定中斷優(yōu)先權(quán)把8個外設(shè)的中斷請求觸發(fā)器組合起來作為一個端口。確定中斷源的方法主要是由軟件實現(xiàn)的。1.屏蔽法 MOVDX,380H INAL,DX TESTAL,80H JNZAIS TESTAL,40H JNZBIS TESTAL,20H JNZCIS10/17/20239微機(jī)原理及應(yīng)用中斷技術(shù)中斷優(yōu)先權(quán)

2.位移法 MOVDX,380H INAL,DX RCLAL,1 JCAIS RCLAL,1 JCBIS采用查詢中斷,對應(yīng)的中斷輸入線有一個固定的中斷入口地址,進(jìn)入中斷服務(wù)程序后首先就是查詢中斷源。查詢的次序,即優(yōu)先權(quán)的次序。查詢方法的電路比較簡單。單當(dāng)外設(shè)個數(shù)較多時,通過逐位監(jiān)測查詢到轉(zhuǎn)入中斷服務(wù)程序所耗費的時間較長。10/17/202310微機(jī)原理及應(yīng)用中斷技術(shù)中斷判優(yōu)

硬件判優(yōu)

硬件優(yōu)先權(quán)判優(yōu)電路形式很多。下面介紹兩種常用的判優(yōu)電路。(1)并行判優(yōu)網(wǎng)絡(luò)

10/17/202311微機(jī)原理及應(yīng)用中斷技術(shù)中斷判優(yōu)中斷在服務(wù)寄存器優(yōu)先級判別器中斷請求寄存器中斷屏蔽寄存器中斷控制邏輯中斷矢量寄存器矢量優(yōu)先級控制器原理框圖IR0IR1IR2IR7INTAINTR10/17/202312微機(jī)原理及應(yīng)用中斷技術(shù)中斷判優(yōu)0#EIEO中斷源0#EIEO中斷源0#EIEO中斷源+5VINT到CPUINT0INT1INT2(2)鏈?zhǔn)脚袃?yōu)電路與并行判優(yōu)不同,鏈?zhǔn)脚袃?yōu)是根據(jù)中斷源在中斷判優(yōu)鏈上的物理位置來決定優(yōu)先級別的。

鏈?zhǔn)脚袃?yōu)

菊花鏈?zhǔn)絻?yōu)先權(quán)排隊電路見P12410/17/202313微機(jī)原理及應(yīng)用中斷技術(shù)中斷判優(yōu)

除了中斷請求判優(yōu)外,中斷響應(yīng)、中斷返回都需要按優(yōu)先級排隊。中斷請求的判優(yōu)只解決當(dāng)前能否向CPU請求中斷的問題;而中斷響應(yīng)則要解決當(dāng)前的中斷請求(其優(yōu)先級在所有請求源中的級別最高)的級別與CPU現(xiàn)正處理的任務(wù)的級別相比哪個更高的問題,以保證CPU的程序不允許被其同級或低優(yōu)先級的事件所中斷;而中斷返回過程的判優(yōu)是為了解決嵌套問題。 10/17/202314微機(jī)原理及應(yīng)用中斷技術(shù)中斷響應(yīng)

中斷響應(yīng)就是CPU“中斷”現(xiàn)在正在進(jìn)行的任務(wù),轉(zhuǎn)向中斷請求相對應(yīng)的處理程序的過程。這相當(dāng)于CPU的使用權(quán)(或稱控制權(quán))由一種任務(wù)(被中斷的程序)轉(zhuǎn)移到另一任務(wù)(相應(yīng)的處理子程序)。

CPU是否立即響應(yīng)中斷和中斷類型有關(guān)。NMI:立即響應(yīng)INTR:滿足下列條件后響應(yīng):1)無總線請求2)無非屏蔽中斷請求3)CPU允許中斷4)CPU執(zhí)行完現(xiàn)行指令10/17/202315微機(jī)原理及應(yīng)用中斷技術(shù)中斷響應(yīng)中斷響應(yīng)過程應(yīng)解決的問題如下:(1)保護(hù)被中斷程序下條指令的地址(稱為斷點),以便處理程序執(zhí)行之后能恢復(fù)被中斷程序的執(zhí)行。(2)保護(hù)CPU的其他現(xiàn)場,使其不被中斷處理程序破壞。(3)CPU關(guān)中斷,即在響應(yīng)過程中,不允許被新的中斷源所打擾。(4)轉(zhuǎn)到中斷請求所對應(yīng)的處理程序(實現(xiàn)CPU控制權(quán)的轉(zhuǎn)移,簡稱控制轉(zhuǎn)移)。

10/17/202316微機(jī)原理及應(yīng)用中斷技術(shù)中斷響應(yīng)控制轉(zhuǎn)移,它是中斷響應(yīng)過程的核心任務(wù)。它是中斷源把CPU的控制自動引導(dǎo)到自己的處理程序的關(guān)鍵。其實質(zhì),是如何由中斷源得到相應(yīng)處理程序的入口地址的問題。一般有如下方法:①采用固定入口地址方式,即對于不同的中斷請求輸入,對應(yīng)不同的固定的處理程序入口地址。②通過CPU外部的硬件在中斷響應(yīng)期間插入轉(zhuǎn)入子程序的辦法,而該轉(zhuǎn)子程序給出了相應(yīng)中斷源的服務(wù)程序入口地址。

10/17/202317微機(jī)原理及應(yīng)用中斷技術(shù)中斷響應(yīng)③矢量中斷。這種方式是在中斷響應(yīng)期間,由所響應(yīng)的中斷源給出一個自己的識別號,該識別號與入口地址間有一一對應(yīng)的關(guān)系(即矢量關(guān)系)。 由上所述,可知中斷響應(yīng)實際上相當(dāng)于執(zhí)行一條“轉(zhuǎn)入子程序”指令的過程。但子程序的入口地址是由被響應(yīng)的中斷源直接或間接提供的。10/17/202318微機(jī)原理及應(yīng)用中斷技術(shù)中斷處理

中斷服務(wù)程序一般包括4部分:

保護(hù)現(xiàn)場,中斷服務(wù),恢復(fù)現(xiàn)場,中斷返回。在中斷響應(yīng)期間CPU做以下幾件事:(1)發(fā)出中斷響應(yīng)信號INTA。(2)關(guān)中斷。在CPU發(fā)出中斷響應(yīng)信號的同時,自動關(guān)中斷。(3)保護(hù)斷點。CPU響應(yīng)中斷后把IP和CS推入堆棧保護(hù),以備中斷處理完畢后,能返回被中斷程序。10/17/202319微機(jī)原理及應(yīng)用中斷技術(shù)中斷處理(4)保護(hù)現(xiàn)場。為使中斷處理程序不影響被中斷程序的運行,故要把斷點處的有關(guān)寄存器的內(nèi)容和標(biāo)志寄存器推入堆棧保護(hù)起來。80x86是由軟件(在中斷服務(wù)程序中)把要用到的寄存器的內(nèi)容用PUSH指令推入堆棧,而標(biāo)志寄存器是在保留斷點的同時由硬件推入堆棧的。10/17/202320微機(jī)原理及應(yīng)用中斷技術(shù)中斷處理(5)給出中斷入口的地址,轉(zhuǎn)入相應(yīng)的中斷服務(wù)程序。80x86是根據(jù)中斷源提供的中斷響應(yīng)類型碼讀取中斷向量表得到中斷服務(wù)程序的入口地址的。(6)恢復(fù)現(xiàn)場。把所保存的各個內(nèi)部寄存器的內(nèi)容和標(biāo)志位的狀態(tài),從堆棧彈出,送回CPU原來的位置,這個操作是用POP指令來完成的。80x86的標(biāo)志位的狀態(tài)由硬件恢復(fù)。10/17/202321微機(jī)原理及應(yīng)用中斷技術(shù)中斷返回中斷返回就是CPU控制權(quán)由中斷服務(wù)程序轉(zhuǎn)移到內(nèi)中斷程序的過程。位于中斷服務(wù)程序最后的IRET指令完成斷點地址和狀態(tài)字PSW的恢復(fù)。將堆棧內(nèi)保存的IP和CS值彈出,運行就恢復(fù)到被中斷程序。返回10/17/202322微機(jī)原理及應(yīng)用中斷技術(shù)8088的中斷方式

8088有兩類中斷:外部(硬件)中斷:

由外部(主要是外設(shè))的請求引起的中斷。內(nèi)部(軟件)中斷:

由軟件的執(zhí)行所引起的中斷。10/17/202323微機(jī)原理及應(yīng)用中斷技術(shù)8088的中斷源不可屏蔽中斷請求中斷邏輯INTn中斷INT0中斷除法錯單步中斷可屏蔽中斷源的中斷請求8259A8088的中斷源NMIINTR10/17/202324微機(jī)原理及應(yīng)用中斷技術(shù)內(nèi)部中斷

80X86的內(nèi)部中斷主要有以下三種:l

除法錯誤中斷(類型0中斷)

若發(fā)現(xiàn)除數(shù)為0或商超過了寄存器所能表達(dá)的范圍,即產(chǎn)生此中斷。l

軟件中斷

INTn(類型n中斷)

INTO(類型4中斷,溢出中斷)

若上一條指令執(zhí)行的結(jié)果,使溢出標(biāo)志位置O=1,則INTO指令引起類型為4的中斷。否則,此指令不起作用,程序執(zhí)行下一條指令。l

單步中斷(類型1中斷)

若標(biāo)志位T=1,則CPU在每一條指令執(zhí)行完以后,引起一個類型為1的中斷。這可以做到單步執(zhí)行程序,是一種強有力的調(diào)試手段。10/17/202325微機(jī)原理及應(yīng)用中斷技術(shù)外部中斷

NMI(nonmaskableinterrupt):

非屏蔽中斷INTR:可屏蔽中斷10/17/202326微機(jī)原理及應(yīng)用中斷技術(shù)外部中斷

l

INTR可屏蔽中斷

當(dāng)發(fā)現(xiàn)有INTR中斷請求時,若IF=0,則CPU不理睬INTR,因此,CPU對INTR處理與否取決于IF狀態(tài)。CPU可用STI指令是IF=1以響應(yīng)INTR請求,也可以用CLI指令使IF=0,以屏蔽INTR請求。中斷控制器8259A可將許多可屏蔽中斷請求接到CPU。

NMI非屏蔽中斷與INTR請求不同,NMI請求的響應(yīng)不受IF標(biāo)志的影響。也就是說不管IF的狀態(tài)怎樣,CPU都該響應(yīng)NMI。NMI請求通常用于處理一些比INTR請求更緊迫的處理要求,它的優(yōu)先級比INTR高。10/17/202327微機(jī)原理及應(yīng)用中斷技術(shù)外部中斷l(xiāng)

NMI非屏蔽中斷

NMI線上的中斷請求是邊沿觸發(fā)的,非屏蔽中斷的優(yōu)先權(quán)高于可屏蔽中斷。CPU采樣到非屏蔽中斷請求時,自動給出中斷類型碼2,而不經(jīng)上述的可屏蔽中斷那樣的中斷響應(yīng)周期。一般用在如電源掉電等事件中,優(yōu)先權(quán)較高。中斷的優(yōu)先權(quán)次序內(nèi)部中斷NMIINTR單步中斷高低返回10/17/202328微機(jī)原理及應(yīng)用中斷技術(shù)8088的中斷管理80X86中斷系統(tǒng)的功能極強,其結(jié)構(gòu)簡單而且靈活。它可以處理256種不同類型的中斷。其中每一種中斷都規(guī)定了一個唯一的中斷類型編碼,即中斷向量。

向量中斷法:不僅要求外設(shè)發(fā)出中斷請求信號,且還需提供該設(shè)備的中斷向量,主要由硬件來實現(xiàn)。10/17/202329微機(jī)原理及應(yīng)用中斷技術(shù)8088的中斷管理

中斷向量表l

位于系統(tǒng)RAM最底端的1024個單元內(nèi),即(00000H~003FFH)單元。l

每個類型碼占用4個字節(jié),其中低位放IP,高位放CS。l

中斷向量表中的前5個中斷向量由Intel專用,系統(tǒng)又保留了若干個中斷向量,余下的就可以由用戶用。用戶使用中斷類型碼建議從40H開始。10/17/202330微機(jī)原理及應(yīng)用中斷技術(shù)中斷向量表類型0FFH中斷入口類型32H中斷入口類型31H中斷入口類型05H中斷入口溢出中斷入口斷點中斷入口NMI中斷入口單步中斷入口除法中斷入口IPCS000H004H008H00CH010H014H0C4H0C8H3FCH系統(tǒng)專用中斷INT0:除法出錯中斷INT1:單步中斷INT2:NMI中斷INT3:斷點中斷INT4(INTO):溢出中斷系統(tǒng)備用中斷05H~31H其中的08~0FH是XT機(jī)上8259A占用的中斷類型號。用戶可使用中斷32H~0FFH10/17/202331微機(jī)原理及應(yīng)用中斷技術(shù)中斷向量表中斷服務(wù)程序INT72HMOVAX,BX矢量地址=72H*4=1C8H矢量71H入口地址502000A0矢量73H入口地址1C41C81C91CA1CB1CC2050A000CSIPA000:2050MM①②③④⑤10/17/202332微機(jī)原理及應(yīng)用中斷技術(shù)8088的中斷管理中斷響應(yīng)和處理過程80X86對各種中斷的響應(yīng)和處理過程的主要區(qū)別在于如何獲取響應(yīng)的中斷類型碼。80X86CPU在取得了類型碼后的處理過程是一樣的,其順序為:l

將類型碼乘4,作為中斷向量表的指針;l

把CPU的標(biāo)志寄存器入棧,保護(hù)各個標(biāo)志位,此操作類似于PUSH指令;l

清除I和T標(biāo)志,屏蔽INTR中斷和單步中斷;l

保護(hù)被中斷程序的斷點,先推入CS,再推入IP入棧保護(hù);l

從中斷向量表中取中斷服務(wù)程序的入口地址,分送CS和IP;l

執(zhí)行中斷服務(wù)程序。返回10/17/202333微機(jī)原理及應(yīng)用中斷技術(shù)8259A中斷控制器

Intel8259A是一個功能強、使用靈活方便的可編程的中斷控制器(PIC),它可以直接與Intel8085或8086/8088CPU相連而不需要附加其他邏輯電路,用于實現(xiàn)中斷優(yōu)先級管理、中斷屏蔽、自動中斷矢量轉(zhuǎn)移的功能。80x86微處理器是通過8259A來管理中斷的。它具有8級優(yōu)先權(quán)控制,通過級聯(lián)可擴(kuò)展至64級優(yōu)先權(quán)控制。每一級中斷都可以屏蔽或允許。在中斷響應(yīng)期間,8259A可提供相應(yīng)的中斷向量,從而能迅速地轉(zhuǎn)到中斷服務(wù)程序。10/17/202334微機(jī)原理及應(yīng)用中斷技術(shù)8259A的結(jié)構(gòu)及引腳

8259A是28條引線的雙列直插式封裝的芯片。8259A與CPU的連接信號:1、與數(shù)據(jù)總線相連:

D0~D72、8條外部中斷請求輸入線

IR0~IR73、與CPU的控制線相連:RD、WR、A0、CS、INT、INTA4、級聯(lián)信號線:CAS2~CAS0、SP/EN5、電源和地線:Vcc、GND10/17/202335微機(jī)原理及應(yīng)用中斷技術(shù)

數(shù)據(jù)總線緩沖器控制邏輯D7~D0內(nèi)部數(shù)據(jù)總線RDWRA0CS讀/寫控制邏輯在服務(wù)寄存器(ISR)優(yōu)先權(quán)電路級聯(lián)緩沖/比較器IR0IR1IR2IR3IR4IR5IR6IR78259A的內(nèi)部結(jié)構(gòu)CAS0CAS1CAS2SP/EN中斷請求寄存器(IRR)中斷屏蔽寄存器(IMR)INTAINT10/17/202336微機(jī)原理及應(yīng)用中斷技術(shù)8259A的邏輯功能數(shù)據(jù)總線緩沖器:三態(tài)、雙向、8位的緩沖器,用來連接8259A和系統(tǒng)數(shù)據(jù)總線??刂谱趾蜖顟B(tài)信息都通過數(shù)據(jù)總線緩沖器進(jìn)行傳輸。讀寫控制邏輯:接收來自CPU的輸出命令。它包含有初始化命令字寄存器和操作命令字寄存器。這兩組寄存器用來寄存操作的各種控制字,也允許把8259A的狀態(tài)傳送到數(shù)據(jù)總線上。級聯(lián)緩沖/比較器:在級聯(lián)方式的主從結(jié)構(gòu)中,用來存放和比較系統(tǒng)中個8259A的從設(shè)備標(biāo)志。10/17/202337微機(jī)原理及應(yīng)用中斷技術(shù)8259A的邏輯功能控制邏輯按照編程設(shè)置的工作方式管理8259A的全部工作。INT中斷這個輸出端直接送到CPU的中斷請求輸入端,向CPU請求中斷。INTA中斷響應(yīng)系統(tǒng)送來的的中斷響應(yīng)信號將使8259A向數(shù)據(jù)總線上送出中斷向量(類型碼)。中斷屏蔽寄存器IMR(InterruptMaskRegister)可以對IRR中的相應(yīng)的中斷源進(jìn)行屏蔽。10/17/202338微機(jī)原理及應(yīng)用中斷技術(shù)8259A的邏輯功能中斷請求寄存器IRR(InterruptRequestRegister)它由8個寄存器組成。它存儲IR線來的電平請求信號或沿檢測器來的沿觸發(fā)中斷請求信號。優(yōu)先權(quán)電路中斷判優(yōu)電路監(jiān)測從IRR,ISR和IMR來的輸入,并確定控制邏輯是否向CPU發(fā)出中斷請求;在中斷響應(yīng)時,確定哪一個IS寄存器置1(并將其矢量字送給CPU);在EOI命令時,哪一個IS寄存器應(yīng)復(fù)位。10/17/202339微機(jī)原理及應(yīng)用中斷技術(shù)8259A的邏輯功能中斷服務(wù)寄存器ISR(In-ServiceRegister)

它有8個寄存器。在中斷響應(yīng)時,判優(yōu)電路的當(dāng)前優(yōu)先級最高的IS寄存器被置1,以表示該級請求正在處理中。某一IS寄存器置1可阻止與它同級以及比其優(yōu)先級低的請求被響應(yīng),但不阻止比它優(yōu)先級高的中斷請求被響應(yīng),這就是中斷嵌套。所以,ISR中可能不止一個IS寄存器置1。10/17/202340微機(jī)原理及應(yīng)用中斷技術(shù)中斷響應(yīng)過程

8259A處理中斷的過程如下:1)在中斷請求輸入端IR7~IR0上接受中斷請求。2)中斷請求鎖存在IRR中,并與IMR相“與”,送給優(yōu)先權(quán)判定電路。3)優(yōu)先權(quán)判定電路檢出優(yōu)先級最高的中斷請求位,并置位該位的ISR。4)控制邏輯接受中斷請求,輸出INT信號。5)CPU接受INT信號,進(jìn)入兩個連續(xù)的中斷響應(yīng)周期。6)CPU讀取中斷向量,轉(zhuǎn)移到相應(yīng)的中斷服務(wù)程序。10/17/202341微機(jī)原理及應(yīng)用中斷技術(shù)8259A的工作方式

設(shè)置優(yōu)先級按優(yōu)先級設(shè)置方法可有四種工作方式:(1)全嵌套方式為缺省工作方式,該方式有固定的優(yōu)先權(quán)順序,IR0最高,IR7最低。只允許響應(yīng)高級中斷。通過ICW4進(jìn)行設(shè)置。(2)特殊全嵌套方式多用于多片級聯(lián)的系統(tǒng)中,一般用在級聯(lián)系統(tǒng)的主8259A芯片。它和全嵌套方式基本相同,所不同的是在特殊全嵌套方式下,當(dāng)處理某一級中斷時,可響應(yīng)同級的中斷請求,從而實現(xiàn)對同級中斷請求的特殊嵌套。ICW4中D4(SFNM)位為1。10/17/202342微機(jī)原理及應(yīng)用中斷技術(shù)8259A的工作方式

設(shè)置優(yōu)先級(續(xù))(3)優(yōu)先級自動循環(huán)方式一般用在系統(tǒng)中多個中斷源優(yōu)先級相等的場合。在這種方式下,優(yōu)先級隊列不是固定不變的,一個設(shè)備收到中斷服務(wù)后,其優(yōu)先級自動降為最低。通過OCW2的RSLEOI=100設(shè)置該方式,RSLEOI=000結(jié)束優(yōu)先權(quán)自動循環(huán)方式。(4)優(yōu)先級特殊循環(huán)方式與優(yōu)先級自動循環(huán)方式惟一的區(qū)別是,優(yōu)先級是通過編程確定的,而不是固定IR0為初始最高級。通過OCW2的RSLEOI=110設(shè)置,8259A會按照L2~L0的值確定優(yōu)先權(quán)最低級。10/17/202343微機(jī)原理及應(yīng)用中斷技術(shù)8259A的工作方式

屏蔽中斷源(1)普通屏蔽方式

當(dāng)一個中斷請求被響應(yīng)時,將禁止所有同級的和較低級優(yōu)先權(quán)的中斷請求,這稱為一般屏蔽方式。通過設(shè)置OCW1(對IMR置位、復(fù)位命令字)來設(shè)定。(2)特殊屏蔽方式

在某些場合,可能要求在軟件的控制下動態(tài)地改變系統(tǒng)的優(yōu)先權(quán)結(jié)構(gòu),在執(zhí)行某優(yōu)先級中斷服務(wù)程序時,又要允許比它優(yōu)先級更低的中斷請求被響應(yīng),此時可采用特殊屏蔽方式??赏ㄟ^OCW3的D6、D5位來設(shè)置,D6D5=11,此時除OCW1中置1位對應(yīng)的中斷級被屏蔽外,置0的這些位對應(yīng)的中斷,無論其中斷級別如何,都可被響應(yīng)。若OCW3中的D6=1,D5=0,則恢復(fù)為正常的屏蔽方式。10/17/202344微機(jī)原理及應(yīng)用中斷技術(shù)8259A的工作方式

結(jié)束中斷的處理方式

在8259中,當(dāng)一個中斷得到響應(yīng)時,會將內(nèi)部的中斷服務(wù)寄存器ISR的相應(yīng)位置位,而當(dāng)中斷服務(wù)結(jié)束時,應(yīng)使相應(yīng)位復(fù)位,這個處理動作即為中斷結(jié)束處理。(1)自動中斷結(jié)束方式(AEOI)

在最后一個中斷響應(yīng)周期的INTA信號的后沿8259A自動地使中斷源在ISR中的相應(yīng)位復(fù)位,這種方式顯然只能用于不要求中斷嵌套的情況。只要使ICW4中的D1=1,8259即處于此方式。10/17/202345微機(jī)原理及應(yīng)用中斷技術(shù)8259A的工作方式

結(jié)束中斷的處理方式(續(xù))(2)非自動中斷結(jié)束方式當(dāng)ICW4的D1=0,8259A即處于非自動結(jié)束方式。此時必須在中斷服務(wù)程序返回之前對8259A發(fā)一條中斷結(jié)束命令EOI,才能使ISR中的當(dāng)前服務(wù)位復(fù)位。10/17/202346微機(jī)原理及應(yīng)用中斷技術(shù)8259A的工作方式

結(jié)束中斷的處理方式(續(xù))(2)非自動中斷結(jié)束方式EOI命令又有兩種形式:特殊的和非特殊的。l

若用于全嵌套方式,當(dāng)CPU用輸出指令往8259A發(fā)出一般中斷結(jié)束命令時,8259A就會把當(dāng)前中斷服務(wù)寄存器中的最高的非零IS位復(fù)位。因為在全嵌套方式中,最高的非零IS位對應(yīng)了最后一次被響應(yīng)的和被處理的中斷,也就是當(dāng)前正在處理的中斷,所以,最高的非零IS位的復(fù)位相當(dāng)于結(jié)束了當(dāng)前正在處理的中斷。10/17/202347微機(jī)原理及應(yīng)用中斷技術(shù)8259A的工作方式l

若用于特殊全嵌套方式,因ISR無法確定最后響應(yīng)的是哪一級中斷,必須發(fā)特殊的EOI命令指定其復(fù)位ISR中的優(yōu)先級。通過設(shè)置OCW2(除高3位為011外,最低3位確定ISR復(fù)位的優(yōu)先級)來實現(xiàn)。

需說明的是,在級連方式下,一般不用中斷自動結(jié)束方式,而用非自動結(jié)束方式,這時,不管是用一般的中斷結(jié)束方式,還是用特殊的中斷結(jié)束方式,一個中斷處理程序結(jié)束時,都必須發(fā)兩次中斷結(jié)束命令,一次是對主片發(fā)的,另一次是對從片發(fā)的。10/17/202348微機(jī)原理及應(yīng)用中斷技術(shù)8259A的工作方式與系統(tǒng)總線的連接方式(1)緩沖方式在多片級聯(lián)的大系統(tǒng)中,要求數(shù)據(jù)總線有總線驅(qū)動緩沖器,此時SP/EN=0和總線驅(qū)動器的允許端相連,啟動緩沖器工作,由ICW4中D3(BUF)位為1來對主片和從片同時進(jìn)行設(shè)定。(2)非緩沖方式若系統(tǒng)只有單片8259A,一般不需要總線緩沖器而是將其直接接至數(shù)據(jù)總線。在這種方式下,8259A的SP/EN端為輸入端。當(dāng)系統(tǒng)中只有單片8259A時,此時SP/EN=1;當(dāng)有多片8259A時,主片的SP/EN接高電平,從片的SP/EN接低電平。通過使ICW4中D3(BUF)位為0設(shè)置。10/17/202349微機(jī)原理及應(yīng)用中斷技術(shù)8259A的工作方式引入中斷請求的方式(1)

邊沿觸發(fā)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論