微型計(jì)算機(jī)的中斷系統(tǒng)_第1頁(yè)
微型計(jì)算機(jī)的中斷系統(tǒng)_第2頁(yè)
微型計(jì)算機(jī)的中斷系統(tǒng)_第3頁(yè)
微型計(jì)算機(jī)的中斷系統(tǒng)_第4頁(yè)
微型計(jì)算機(jī)的中斷系統(tǒng)_第5頁(yè)
已閱讀5頁(yè),還剩49頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

微型計(jì)算機(jī)原理及其應(yīng)用

——第8章:中斷系統(tǒng)與中斷控制器8259A1第8章:中斷系統(tǒng)與中斷控制器8259A8.1中斷的概念及處理過(guò)程8.28086中斷系統(tǒng)8.3中斷控制器8259A2第8章:中斷系統(tǒng)與中斷控制器8259A中斷的概念及處理過(guò)程8086中斷系統(tǒng)中斷控制器8259A3第8章:中斷系統(tǒng)與中斷控制器8259A——概念及處理過(guò)程什么是中斷?

在CPU執(zhí)行程序的過(guò)程中,由于某種突發(fā)事件的發(fā)生,強(qiáng)迫CPU暫時(shí)停止正在執(zhí)行的程序,轉(zhuǎn)向?qū)υ撏话l(fā)事件進(jìn)行處理,對(duì)這個(gè)事件處理結(jié)束后又能回到原中止的程序,接著中止前的狀態(tài)繼續(xù)執(zhí)行原來(lái)的程序,這一個(gè)過(guò)程就稱(chēng)為中斷。把引起中斷的原因或觸發(fā)中斷請(qǐng)求的來(lái)源稱(chēng)為中斷源。4第8章:中斷系統(tǒng)與中斷控制器8259A——概念及處理過(guò)程中斷請(qǐng)求信號(hào)的產(chǎn)生

中斷方式提高了CPU的工作效率,但是它同時(shí)也提高了系統(tǒng)的硬件開(kāi)銷(xiāo)。因?yàn)橄到y(tǒng)需增加含有中斷功能接口電路,用來(lái)產(chǎn)生中斷請(qǐng)求信號(hào)。以輸入方式為例,接口電路如圖所示。

外設(shè)發(fā)STB→數(shù)據(jù)入鎖存器,中斷請(qǐng)求觸發(fā)器置1→若沒(méi)有屏蔽則產(chǎn)生INTR→CPU滿(mǎn)足條件(允許中斷;指令執(zhí)行完)發(fā)→(進(jìn)入中斷服務(wù)子程序)讀數(shù)據(jù),發(fā),和地址→清中斷請(qǐng)求觸發(fā)器,數(shù)據(jù)送D0~D7。

5第8章:中斷系統(tǒng)與中斷控制器8259A——概念及處理過(guò)程中斷優(yōu)先級(jí)中斷優(yōu)先級(jí)(1)如果有多個(gè)不同優(yōu)先級(jí)的中斷源同時(shí)提出中斷請(qǐng)求時(shí),CPU應(yīng)當(dāng)先響應(yīng)最高優(yōu)先級(jí)的中斷源。(2)如果CPU正在對(duì)某一中斷源服務(wù)時(shí),比它優(yōu)先級(jí)更高的中斷源提出中斷請(qǐng)求時(shí),CPU能夠暫停正在執(zhí)行的中斷服務(wù)程序轉(zhuǎn)向?qū)?yōu)先級(jí)高的中斷源進(jìn)行服務(wù),當(dāng)服務(wù)結(jié)束后再返回原優(yōu)先級(jí)較低的中斷服務(wù)程序繼續(xù)執(zhí)行。中斷嵌套正在運(yùn)行的中斷處理程序,被優(yōu)先級(jí)高的中斷源中斷,從而轉(zhuǎn)入新的中斷處理程序,當(dāng)新的中斷處理程序執(zhí)行完再回到原來(lái)的中斷處理程序,這一現(xiàn)象稱(chēng)為中斷嵌套。6第8章:中斷系統(tǒng)與中斷控制器8259A——概念及處理過(guò)程中斷優(yōu)先級(jí)

當(dāng)系統(tǒng)中有多個(gè)設(shè)備提出中斷請(qǐng)求時(shí),就有一個(gè)該響應(yīng)誰(shuí)的問(wèn)題,也就是一個(gè)優(yōu)先級(jí)的問(wèn)題,解決優(yōu)先級(jí)的問(wèn)題一般可有三種方法:軟件查詢(xún)法、簡(jiǎn)單硬件方法及專(zhuān)用硬件方法。

軟件查詢(xún)方法

只需有簡(jiǎn)單的硬件電路,如將A、

B、C三臺(tái)設(shè)備的中斷請(qǐng)求信號(hào)“或”

后作為系統(tǒng)INTR,這時(shí),A、B、C

三臺(tái)設(shè)備中只要至少有一臺(tái)設(shè)備提

出中斷請(qǐng)求,都可以向CPU發(fā)中斷

請(qǐng)求。進(jìn)入中斷服務(wù)子程序后,再

用軟件查詢(xún)的方式分別對(duì)不同的設(shè)

備的服務(wù),查詢(xún)程序的設(shè)計(jì)思想同

查詢(xún)式,查詢(xún)的前后順序就給出了

設(shè)備的優(yōu)先級(jí)。

7第8章:中斷系統(tǒng)與中斷控制器8259A——概念及處理過(guò)程中斷優(yōu)先級(jí)——簡(jiǎn)單硬件方法將所有的設(shè)備連成一條鏈,靠近CPU的設(shè)備優(yōu)先級(jí)最高,越遠(yuǎn)的設(shè)備優(yōu)先級(jí)別越低,則發(fā)出中斷響應(yīng)信號(hào),若級(jí)別高的設(shè)備發(fā)出了中斷請(qǐng)求,在它接到中斷響應(yīng)信號(hào)的同時(shí),封鎖其后的較低級(jí)設(shè)備使得它們的中斷請(qǐng)求不能響應(yīng),只有等它的中斷服務(wù)結(jié)束以后才開(kāi)放,允許為低級(jí)的設(shè)備服務(wù)。

8第8章:中斷系統(tǒng)與中斷控制器8259A——概念及處理過(guò)程中斷優(yōu)先級(jí)——專(zhuān)用硬件方法

采用可編程的中斷控制器芯片,如Intel8259A。9第8章:中斷系統(tǒng)與中斷控制器8259A——概念及處理過(guò)程中斷過(guò)程

是指中斷請(qǐng)求、中斷響應(yīng)、中斷處理、中斷返回這四個(gè)過(guò)程。中段請(qǐng)求、中斷響應(yīng)由硬件完成,中斷處理、中斷返回由軟件完成。

中斷請(qǐng)求

1)外部設(shè)備發(fā)中斷請(qǐng)求的條件:當(dāng)外設(shè)準(zhǔn)備就緒或本身工作已經(jīng)完成時(shí),才向CPU提出中斷請(qǐng)求。

2)外部設(shè)備中斷請(qǐng)求的標(biāo)志:當(dāng)外設(shè)要求和CPU進(jìn)行數(shù)據(jù)交換時(shí),將中斷請(qǐng)求信號(hào)送往中斷請(qǐng)求觸發(fā)器或中斷控制器,經(jīng)它們處理后,向CPU發(fā)出中斷請(qǐng)求。中斷響應(yīng)

如果CPU處于開(kāi)中斷狀態(tài),經(jīng)判優(yōu)后響應(yīng)其中最高優(yōu)先級(jí)的中斷請(qǐng)求,關(guān)中斷,將斷點(diǎn)壓入堆棧中(有的微機(jī)還將程序狀態(tài)字和相關(guān)寄存器的內(nèi)容壓入堆棧)保存,以備返回原程序,緊接著將相應(yīng)的中斷處理程序入口地址或中斷向量送CPU,轉(zhuǎn)入中斷服務(wù)程序。10第8章:中斷系統(tǒng)與中斷控制器8259A——概念及處理過(guò)程中斷過(guò)程

中斷處理

保護(hù)現(xiàn)場(chǎng)。將在中斷處理程序中使用的有關(guān)寄存器的內(nèi)容壓入堆棧保護(hù)起來(lái)。在現(xiàn)場(chǎng)保護(hù)的過(guò)程中,絕對(duì)不允許被中斷(應(yīng)禁止中斷),否則現(xiàn)場(chǎng)將被破壞。當(dāng)現(xiàn)場(chǎng)保護(hù)好后應(yīng)開(kāi)中斷。

中斷服務(wù)。即該中斷所要執(zhí)行的具體指令內(nèi)容。

恢復(fù)現(xiàn)場(chǎng)。當(dāng)中斷服務(wù)結(jié)束后,應(yīng)用中斷結(jié)束命令清除中斷標(biāo)志,立即關(guān)中斷,以保證恢復(fù)現(xiàn)場(chǎng)的過(guò)程不受干擾?;謴?fù)現(xiàn)場(chǎng)就是把原來(lái)壓入堆棧的有關(guān)寄存器的內(nèi)容彈出。現(xiàn)場(chǎng)恢復(fù)后應(yīng)開(kāi)中斷,以便CPU響應(yīng)更高級(jí)的中斷請(qǐng)求。中斷返回將壓入的斷點(diǎn)地址彈出,保證被中斷的程序按原來(lái)狀態(tài)執(zhí)行下去。11第8章:中斷系統(tǒng)與中斷控制器8259A——概念及處理過(guò)程中斷過(guò)程

中斷處理和中斷返回中的所有內(nèi)容,也叫做中斷服務(wù)程序。即:12第8章:中斷系統(tǒng)與中斷控制器8259A中斷的概念及處理過(guò)程8086中斷系統(tǒng)中斷控制器8259A13第8章:中斷系統(tǒng)與中斷控制器8259A——8086的中斷系統(tǒng)中斷分類(lèi)及中斷類(lèi)型碼

中斷源可以分為兩大類(lèi),即外部(硬件)中斷和內(nèi)部(軟件)中斷。硬件中斷:即通過(guò)外部的硬件產(chǎn)生的中斷,如打印機(jī)、鍵盤(pán)等。硬件中斷又可分為:可屏蔽中斷和不可屏蔽中斷。不可屏蔽中斷:由NMI引腳引入,它不受中斷允許標(biāo)志的影響,每個(gè)系統(tǒng)中僅允許有一個(gè),都是用來(lái)處理緊急情況的,如掉電處理。這種中斷一旦發(fā)生,系統(tǒng)會(huì)立即響應(yīng)??善帘沃袛啵河蒊NTR引腳引入,它受中斷允許標(biāo)志的影響,也就是說(shuō),只有當(dāng)IF=1時(shí),可屏蔽中斷才能進(jìn)入,反之則不允許進(jìn)入,可屏蔽中斷可有多個(gè),一般是通過(guò)優(yōu)先級(jí)排隊(duì),從多個(gè)中斷源中選出一個(gè)進(jìn)行處理。軟件中斷:即根據(jù)某條指令或者對(duì)標(biāo)志寄存器中某個(gè)標(biāo)志的設(shè)置而產(chǎn)生,它與硬件電路無(wú)關(guān),常見(jiàn)的如除數(shù)為0,或用INTn指令產(chǎn)生。14第8章:中斷系統(tǒng)與中斷控制器8259A——8086的中斷系統(tǒng)中斷分類(lèi)及中斷類(lèi)型碼

8086/8088系統(tǒng)最多可處理256級(jí)不同類(lèi)型的中斷。15第8章:中斷系統(tǒng)與中斷控制器8259A——8086的中斷系統(tǒng)中斷分類(lèi)及中斷類(lèi)型碼

16第8章:中斷系統(tǒng)與中斷控制器8259A——8086的中斷系統(tǒng)中斷分類(lèi)及中斷類(lèi)型碼

中斷類(lèi)型碼:8086為每個(gè)中斷源分配了一個(gè)中斷類(lèi)型碼,其取值范圍為0~255,即可處理256種中斷。其中包括軟件中斷,系統(tǒng)占用的中斷以及開(kāi)放給用戶(hù)使用的中斷。中斷類(lèi)型碼或者包含在指令中,或者預(yù)先規(guī)定;所有內(nèi)部中斷和NMI中斷都不執(zhí)行INTA總線(xiàn)周期;除單步中斷外,任何內(nèi)部中斷都無(wú)法禁止且都比外部中斷優(yōu)先級(jí)高;

中斷優(yōu)先級(jí)內(nèi)中斷(除法錯(cuò),INTO,INT)最高

最低非屏蔽中斷NMI可屏蔽中斷INTR單步中斷17第8章:中斷系統(tǒng)與中斷控制器8259A——8086的中斷系統(tǒng)中斷向量和中斷向量表中斷向量:把各個(gè)中斷服務(wù)子程序的入口都稱(chēng)為一個(gè)中斷向量;中斷向量表:將這些中斷向量按一定的規(guī)律排列成一個(gè)表,就是所謂的中斷向量表,當(dāng)中斷源發(fā)出中斷請(qǐng)求時(shí),即可查找該表,找出其中斷向量,就可轉(zhuǎn)入相應(yīng)的中斷服務(wù)子程序。向量表地址:中斷向量在中斷向量表中的位置。8086中斷系統(tǒng)中的中斷向量表是位于0段的0~3FFFH的存貯區(qū)內(nèi),每個(gè)中斷向量占四個(gè)單元,其中前兩個(gè)單元存放中斷處理子程序的入口地址的偏移量(IP),低位在前,高位在后;后兩個(gè)單元存放中斷處理子程序入口地址的段地址(CS),也是低位在前,高位在后,整個(gè)中斷向量的排列是按中斷類(lèi)型號(hào)進(jìn)行的。18第8章:中斷系統(tǒng)與中斷控制器8259A——8086的中斷系統(tǒng)中斷向量和中斷向量表0000H0004H0008H000CH0014H0080H03FFHIP偏移地址CS段基地址IP偏移地址CS段基地址IP偏移地址CS段基地址······中斷類(lèi)型碼0(除法錯(cuò))中斷類(lèi)型碼1(單步中斷)中斷類(lèi)型碼2(NMI中斷)中斷類(lèi)型碼3(斷點(diǎn)中斷)中斷類(lèi)型碼4(溢出中斷)中斷類(lèi)型碼5(保留)系統(tǒng)保留中斷用戶(hù)自定義中斷19第8章:中斷系統(tǒng)與中斷控制器8259A——8086的中斷系統(tǒng)中斷向量和中斷向量表00H~04H----系統(tǒng)專(zhuān)用10H~1FH----BIOS用40H~FFH----用戶(hù)用08H~0FH----硬件中斷20H~3FH----DOS用20第8章:中斷系統(tǒng)與中斷控制器8259A——8086的中斷系統(tǒng)中斷響應(yīng)過(guò)程與時(shí)序21第8章:中斷系統(tǒng)與中斷控制器8259A——8086的中斷系統(tǒng)中斷響應(yīng)過(guò)程與時(shí)序22第8章:中斷系統(tǒng)與中斷控制器8259A中斷的概念及處理過(guò)程8086中斷系統(tǒng)中斷控制器8259A23第8章:中斷系統(tǒng)與中斷控制器8259A——中斷控制器8059A8259A性能概述1.具有8級(jí)中斷優(yōu)先控制,通過(guò)級(jí)連可以擴(kuò)展至64級(jí)優(yōu)先權(quán)控制;2.每一級(jí)中斷都可以通過(guò)初始設(shè)置為允許或屏蔽狀態(tài);3.8259A的工作方式,可以通過(guò)編程進(jìn)行設(shè)置,使用非常靈活;4.8259A采用NMOS制造工藝,只需要單一的+5V電源。24第8章:中斷系統(tǒng)與中斷控制器8259A——中斷控制器8059A8259A的內(nèi)部結(jié)構(gòu)和工作原理25第8章:中斷系統(tǒng)與中斷控制器8259A——中斷控制器8059A8259A的內(nèi)部結(jié)構(gòu)和工作原理數(shù)據(jù)總線(xiàn)緩沖器:它是8259A與系統(tǒng)數(shù)據(jù)總線(xiàn)的接口,是8位雙向三態(tài)緩沖器。CPU與8259A之間的控制命令信息、狀態(tài)信息以及中斷類(lèi)型信息,都是通過(guò)該緩沖器傳送的。讀/寫(xiě)控制邏輯:CPU通過(guò)它實(shí)現(xiàn)對(duì)8259A的讀/寫(xiě)操作。級(jí)連緩沖器:用以實(shí)現(xiàn)8259A芯片之間的級(jí)連,使得中斷源可以由8級(jí)擴(kuò)展至64級(jí)??刂七壿嬰娐罚簩?duì)整個(gè)芯片內(nèi)部各部件的工作進(jìn)行協(xié)調(diào)和控制。中斷請(qǐng)求寄存器IRR:8位,用以分別保存8個(gè)中斷請(qǐng)求信號(hào),當(dāng)相應(yīng)的中斷請(qǐng)求輸入引腳有中斷請(qǐng)求時(shí),該寄存器的相應(yīng)位置1。中斷屏蔽寄存器IMR:8位,相應(yīng)位用以對(duì)8個(gè)中斷源的中斷請(qǐng)求信號(hào)進(jìn)行屏蔽控制。當(dāng)其中某位置”0”時(shí),則相應(yīng)的中斷請(qǐng)求可以向CPU提出;否則,相應(yīng)的中斷請(qǐng)求被屏蔽,即不允許向CPU提出中斷請(qǐng)求。該寄存器的內(nèi)容為8259A的操作命令字OCW1,可以由程序設(shè)置或改變。中斷服務(wù)寄存器ISR:

8位,當(dāng)CPU正在處理某個(gè)中斷源的中斷請(qǐng)求時(shí),ISR寄存器中的相應(yīng)位置1。優(yōu)先級(jí)比較器PR:用以比較正在處理的中斷和剛剛進(jìn)入的中斷請(qǐng)求之間的優(yōu)先級(jí)別,以決定是否產(chǎn)生多重中斷或中斷嵌套。

26第8章:中斷系統(tǒng)與中斷控制器8259A——中斷控制器8059A8259A的外部引腳27第8章:中斷系統(tǒng)與中斷控制器8259A——中斷控制器8059A8259A的外部引腳D7-D0:雙向數(shù)據(jù)輸入/輸出引腳,用以與CPU進(jìn)行信息交換。IR7-IR0:8級(jí)中斷請(qǐng)求信號(hào)輸入引腳。INT:中斷請(qǐng)求信號(hào)輸出引腳,高電平有效,用以向CPU發(fā)中斷請(qǐng)求,應(yīng)接在CPU的INTR輸入端。INTA#:中斷響應(yīng)應(yīng)答信號(hào)輸入引腳,低電平有效,接在CPU的中斷應(yīng)答信號(hào)輸出端。RD#、WR#:讀/寫(xiě)控制信號(hào)輸入引腳,低電平有效,實(shí)現(xiàn)對(duì)8259A內(nèi)部有關(guān)寄存器內(nèi)容的讀操作。CS#:片選信號(hào)輸入引腳,低電平有效,決定了8259A的端口地址范圍。A0:8259A兩組內(nèi)部寄存器的選擇信號(hào)輸入引腳,決定8259A的端口地址。CAS2-CAS0:級(jí)連信號(hào)引腳,當(dāng)8259A為主片時(shí),為輸出;否則為輸入,與信號(hào)配合,實(shí)現(xiàn)芯片的級(jí)連,這三個(gè)引腳信號(hào)的不同組合000~111,剛好對(duì)應(yīng)于8個(gè)從片。SP#/EN#:為級(jí)連管理信號(hào)輸入引腳,在非緩沖方式下,若8259A在系統(tǒng)中作從片使用,則SP=1;否則SP=0;在緩沖方式下,用作8259A外部數(shù)據(jù)總線(xiàn)緩沖器的啟動(dòng)信號(hào)。+5V、GND:電源和接地引腳。28第8章:中斷系統(tǒng)與中斷控制器8259A——中斷控制器8059A8259A的工作過(guò)程當(dāng)有一條或若干條中斷請(qǐng)求輸入(IR7-IR0)有效時(shí),則使中斷請(qǐng)求寄存器的IRR的相應(yīng)位置位。若CPU處于開(kāi)中斷狀態(tài),則在當(dāng)前指令執(zhí)行完之后,響應(yīng)中斷,并且發(fā)應(yīng)答信號(hào)(兩個(gè)連續(xù)的INTA#負(fù)脈沖)。第一個(gè)INTA#負(fù)脈沖到達(dá)時(shí),IRR的鎖存功能失效,對(duì)于IR7-IR0上發(fā)來(lái)的中斷請(qǐng)求信號(hào)不予理睬。使中斷服務(wù)寄存器ISR的相應(yīng)位置1,以便為中斷優(yōu)先級(jí)比較器的工作做好準(zhǔn)備。使中斷請(qǐng)求寄存器的相應(yīng)位復(fù)位,即清除中斷請(qǐng)求。第二個(gè)INTA#負(fù)脈沖到達(dá)時(shí),將中斷類(lèi)型寄存器中的內(nèi)容ICW2,送到數(shù)據(jù)總線(xiàn)的D7-D0上,CPU以此作為相應(yīng)中斷的類(lèi)型碼。若ICW4中的中斷結(jié)束位為1,那么,第二個(gè)INTA#負(fù)脈沖結(jié)束時(shí),8259A將ISR寄存器的相應(yīng)位清零。否則,直至中斷服務(wù)程序執(zhí)行完畢,才能通過(guò)輸出操作命令字EOI,使該位復(fù)位。29第8章:中斷系統(tǒng)與中斷控制器8259A——中斷控制器8059A8259A的工作方式優(yōu)先權(quán)的管理方式中斷源的屏蔽方式結(jié)束中斷處理的方式系統(tǒng)總線(xiàn)的連接方式

引入中斷的請(qǐng)求方式30第8章:中斷系統(tǒng)與中斷控制器8259A——中斷控制器8059A8259A的工作方式優(yōu)先權(quán)的管理方式中斷源的屏蔽方式結(jié)束中斷處理的方式系統(tǒng)總線(xiàn)的連接方式

引入中斷的請(qǐng)求方式31第8章:中斷系統(tǒng)與中斷控制器8259A——中斷控制器8059A8259A的工作方式——優(yōu)先權(quán)的管理方式1.全嵌套方式這是8259A默認(rèn)的優(yōu)先權(quán)設(shè)置方式,在全嵌套方式下,8259A所管理的8級(jí)中斷優(yōu)先權(quán)是固定不變的,其中IR0的中斷優(yōu)先級(jí)最高,IR7的中斷優(yōu)先級(jí)最低。CPU響應(yīng)中斷后,請(qǐng)求中斷的中斷源中,優(yōu)先級(jí)最高的中斷源,在中斷服務(wù)寄存器ISR中的相應(yīng)位置位,而且把它的中斷矢量送至系統(tǒng)數(shù)據(jù)總線(xiàn),在此中斷源的中斷服務(wù)完成之前,與它同級(jí)或優(yōu)先級(jí)低的中斷源的中斷請(qǐng)求被屏蔽,只有優(yōu)先級(jí)比它高的中斷源的中斷請(qǐng)求才是運(yùn)算的,從而出現(xiàn)中斷嵌套。2.特殊全嵌套方式特殊全嵌套方式與全嵌套方式基本相同,所不同的是,當(dāng)CPU處理某一級(jí)中斷時(shí),如果有同級(jí)中斷請(qǐng)求,那么CPU也會(huì)作出響應(yīng),從而形成了對(duì)同一級(jí)中斷的特殊嵌套。特殊全嵌套方式通常應(yīng)用在有8259A級(jí)連的系統(tǒng)中,在這種情況下,對(duì)主8259A編程時(shí),通常使它工作在特殊全嵌套方式下。這樣,一方面,CPU對(duì)于優(yōu)先級(jí)別較高的主片的中斷輸入是允許的,另一方面,CPU對(duì)于來(lái)自同一從片的優(yōu)先級(jí)別較高(但對(duì)于主片來(lái)講,優(yōu)先級(jí)別是相同的)的中斷也是允許、能夠響應(yīng)的。

32第8章:中斷系統(tǒng)與中斷控制器8259A——中斷控制器8059A8259A的工作方式——優(yōu)先權(quán)的管理方式3.優(yōu)先級(jí)自動(dòng)循環(huán)方式

在實(shí)際應(yīng)用中,中斷源優(yōu)先級(jí)的情況是比較復(fù)雜的,要求8級(jí)中斷的優(yōu)先級(jí)在系統(tǒng)工作過(guò)程中,可以動(dòng)態(tài)改變。即一個(gè)中斷源的中斷請(qǐng)求被響應(yīng)之后,其優(yōu)先級(jí)自動(dòng)降為最低。系統(tǒng)啟動(dòng)時(shí),8級(jí)中斷優(yōu)先級(jí)默認(rèn)為IR0—IR7,這時(shí),剛好IR4發(fā)出了中斷請(qǐng)求,CPU響應(yīng)之后,若8259A工作在優(yōu)先級(jí)自動(dòng)循環(huán)方式下,則中斷優(yōu)先級(jí)自動(dòng)變?yōu)镮R5、IR6、IR7、IR0、IR1、IR2、IR3、IR4。優(yōu)先級(jí)特殊循環(huán)方式

優(yōu)先級(jí)特殊循環(huán)方式與自動(dòng)循環(huán)方式相比,只有一點(diǎn)不同,即初始化的優(yōu)先級(jí)是由程序控制的,而不是默認(rèn)的IR0—IR7。

33第8章:中斷系統(tǒng)與中斷控制器8259A——中斷控制器8059A8259A的工作方式優(yōu)先權(quán)的管理方式中斷源的屏蔽方式結(jié)束中斷處理的方式系統(tǒng)總線(xiàn)的連接方式

引入中斷的請(qǐng)求方式34第8章:中斷系統(tǒng)與中斷控制器8259A——中斷控制器8059A8259A的工作方式——中斷源的屏蔽方式1.普通屏蔽方式8259A的每個(gè)中斷請(qǐng)求輸入,都要受到屏蔽寄存器中相應(yīng)位的控制。若相應(yīng)位為“1”,則中斷請(qǐng)求不能送CPU。屏蔽是通過(guò)對(duì)屏蔽寄存器IMR的編程(操作命令字OCW1),來(lái)加以設(shè)置和改變的。2.特殊屏蔽方式有些場(chǎng)合下,希望一個(gè)中斷服務(wù)程序的運(yùn)行過(guò)程中,能動(dòng)態(tài)地改變系統(tǒng)中的中斷優(yōu)先級(jí)結(jié)構(gòu),即在中斷處理的一部分,禁止低級(jí)中斷,而在中斷處理的另一部分,又能夠允許低級(jí)中斷,于是引入了對(duì)中斷的特殊屏蔽方式。設(shè)置了特殊屏蔽方式后,用OCW1對(duì)屏蔽寄存器中的某一位復(fù)位時(shí),同時(shí)也會(huì)使中斷服務(wù)寄存器ISR中的相應(yīng)位復(fù)位,這樣就不只屏蔽了正在處理的等級(jí)中斷,而且真正開(kāi)放了其它優(yōu)先級(jí)別較低的中斷請(qǐng)求。特殊屏蔽是在中斷處理程序中使用的,用了這種方式之后,盡管系統(tǒng)正在處理高級(jí)中斷,但對(duì)外界來(lái)講,只有同級(jí)中斷被屏蔽,而允許其它任何級(jí)別的中斷請(qǐng)求。

35第8章:中斷系統(tǒng)與中斷控制器8259A——中斷控制器8059A8259A的工作方式優(yōu)先權(quán)的管理方式中斷源的屏蔽方式結(jié)束中斷處理的方式系統(tǒng)總線(xiàn)的連接方式引入中斷的請(qǐng)求方式

36第8章:中斷系統(tǒng)與中斷控制器8259A——中斷控制器8059A8259A的工作方式——結(jié)束中斷的處理方式1.中斷自動(dòng)結(jié)束方式這種方式僅適用于只有單片8259A的場(chǎng)合,在這種方式下,系統(tǒng)一旦響應(yīng)中斷,那么CPU在發(fā)第二個(gè)INTA#脈沖時(shí),就會(huì)使中斷響應(yīng)寄存器ISR中相應(yīng)位復(fù)位,這樣一來(lái),雖然系統(tǒng)在進(jìn)行中斷處理,但對(duì)于8259A來(lái)講,ISR沒(méi)有相應(yīng)的指示,就象中斷處理結(jié)束,返回主程序之后一樣。CPU可以再次響應(yīng)任何級(jí)別的中斷請(qǐng)求。2.一般的中斷結(jié)束方式一般的中斷結(jié)束方式適用用在全嵌套的情況下,當(dāng)CPU用輸出指令向8259A發(fā)一般中斷結(jié)束命令OCW2時(shí),8259A才會(huì)使中斷響應(yīng)寄存器ISR中優(yōu)先級(jí)別最高的位復(fù)位。3.特殊的中斷結(jié)束方式在特殊全嵌套模式下,系統(tǒng)無(wú)法確定哪一級(jí)中斷為最后相應(yīng)和處理的中斷,也就是說(shuō),CPU無(wú)法確定當(dāng)前所處理的是哪級(jí)中斷,這時(shí)就要采用特殊的中斷結(jié)束方式。特殊的中斷結(jié)束方式是指在CPU結(jié)束中斷處理之后,向8259A發(fā)送一個(gè)特殊的EOI中斷結(jié)束命令,這個(gè)特殊的中斷結(jié)束EOI命令,明確指出了中斷響應(yīng)寄存器ISR中需要復(fù)位的位。37第8章:中斷系統(tǒng)與中斷控制器8259A——中斷控制器8059A8259A的工作方式優(yōu)先權(quán)的管理方式中斷源的屏蔽方式結(jié)束中斷處理的方式系統(tǒng)總線(xiàn)的連接方式

引入中斷的請(qǐng)求方式38第8章:中斷系統(tǒng)與中斷控制器8259A——中斷控制器8059A8259A的工作方式——系統(tǒng)總線(xiàn)的連接方式1.緩沖方式在多片8259A級(jí)連的大系統(tǒng)中,8259A通過(guò)外部總線(xiàn)驅(qū)動(dòng)器和數(shù)據(jù)總線(xiàn)相連,這就是緩沖方式。在緩沖方式下,8259的輸出信號(hào)作為緩沖器的啟動(dòng)信號(hào),用來(lái)啟動(dòng)總線(xiàn)驅(qū)動(dòng)器,在8259A與CPU之間進(jìn)行信息交換。2.非緩沖方式當(dāng)系統(tǒng)中只有一片或幾片8259A芯片時(shí),可以將數(shù)據(jù)總線(xiàn)直接與系統(tǒng)數(shù)據(jù)總線(xiàn)相連,這時(shí)8259A處于非緩沖方式下。在這種方式下,8259A的作為輸入端設(shè)置,主片應(yīng)接高電平,從片應(yīng)接低電平。39第8章:中斷系統(tǒng)與中斷控制器8259A——中斷控制器8059A8259A的工作方式優(yōu)先權(quán)的管理方式中斷源的屏蔽方式結(jié)束中斷處理的方式系統(tǒng)總線(xiàn)的連接方式

引入中斷的請(qǐng)求方式40第8章:中斷系統(tǒng)與中斷控制器8259A——中斷控制器8059A8259A的工作方式——引入中斷請(qǐng)求的方式1.邊沿觸發(fā)方式8259A將中斷請(qǐng)求輸入端出現(xiàn)的上升沿,作為中斷請(qǐng)求信號(hào),上升沿后相應(yīng)引腳,可以一直保持高電平。2.電平觸發(fā)方式8259A將中斷請(qǐng)求輸入端出現(xiàn)的高電平作為中斷請(qǐng)求信號(hào),在這種方式下,必須注意:中斷響應(yīng)之后,高電平必須及時(shí)撤除,否則,在CPU響應(yīng)中斷,開(kāi)中斷之后,會(huì)引起第二次不應(yīng)該有的中斷。3.中斷查詢(xún)方式當(dāng)系統(tǒng)中的中斷源很多,超過(guò)64個(gè)時(shí),則可以使8259A工作在查詢(xún)方式下,中斷查詢(xún)方式的特點(diǎn)是:a.中斷源仍往8259A發(fā)中斷請(qǐng)求,但8259A卻不使用INT信號(hào)向CPU發(fā)中斷請(qǐng)求信號(hào)。b.CPU內(nèi)部的中斷允許標(biāo)志復(fù)位,所以CPU對(duì)INT引腳上出現(xiàn)的中斷請(qǐng)求呈禁止?fàn)顟B(tài)。c.CPU用軟件查詢(xún)的方法來(lái)確定中斷源,從而實(shí)現(xiàn)對(duì)設(shè)備的中斷服務(wù),可見(jiàn),中斷查詢(xún)方式,既有中斷的特點(diǎn),又有查詢(xún)的特點(diǎn),從外設(shè)的角度來(lái)看,是靠中斷的方式來(lái)請(qǐng)求服務(wù),但從CPU的角度來(lái)看,是用查詢(xún)方式來(lái)確定發(fā)中斷請(qǐng)求的中斷源。41第8章:中斷系統(tǒng)與中斷控制器8259A——中斷控制器8059A8259A的編程——8259A的控制字

8259A的命令字有兩種。一種是初始化命令字(ICW),在8259A啟動(dòng)之前寫(xiě)入,使其處于預(yù)定的初始狀態(tài)。另一種是操作命令字(OCW),使處于初始狀態(tài)的8259去執(zhí)行具體的某種操作方式。操作命令字可在8259初始化后的任何時(shí)刻寫(xiě)入。

42第8章:中斷系統(tǒng)與中斷控制器8259A——中斷控制器8059A8259A的編程——8259A的控制字1.初始化命令字1)ICW1:芯片控制初始化命令字,在A(yíng)0=0,D4=1時(shí)寫(xiě)入。

1:需ICW4

0:不需ICW41:?jiǎn)?259A0:多片8259A1:間隔為40:間隔為81:電平觸發(fā)0:邊沿觸發(fā)任意值X1LTIMAXSNGLIC4X

A0D7D6D5D4D3D2D1D00ICW1標(biāo)志43第8章:中斷系統(tǒng)與中斷控制器8259A——中斷控制器8059A8259A的編程——8259A的控制字1.初始化命令字2)ICW2:設(shè)置中斷向量碼初始化命令字。

T5T4T30T600T7

A0D7D6D5D4D3D2D1D0144第8章:中斷系統(tǒng)與中斷控制器8259A——中斷控制器8059A8259A的編程——8259A的控制字1.初始化命令字3)ICW3:主片/從片初始化命令字。

000ID20ID1ID00

A0D7D6D5D4D3D2D1D01三位編碼對(duì)應(yīng)從片接主控片的IR編號(hào)從屬片ICW3

A0D7D6D5D4D3D2D1D011:相應(yīng)IR端接從片0:未接從片主控片ICW345第8章:中斷系統(tǒng)與中斷控制器8259A——中斷控制器8059A8259A的編程——8259A的控制字1.初始化命令字4)ICW4:方式控制字初始化命令字。ICW4用來(lái)設(shè)定8259A的工作模式。

1:86/88模式0:80/85模式1:自動(dòng)EOI0:非自動(dòng)結(jié)束0X:非緩沖方法10:緩沖方式/從屬片11:緩沖方式/主控片1:特殊完全嵌套方式0:一般完全嵌套方式0SFNMBUFM/S0AEOIPM0

A0D7D6D5D4D3D2D1D01ICW4標(biāo)識(shí)碼46第8章:中斷系統(tǒng)與中斷控制器8259A——中斷控制器8059A8259A的編程——8259A的控制字

47第8章:中斷系統(tǒng)與中斷控制器8259A——中斷控制器8059A8259A的編程——8259A的控制字2.操作命令字1)OCW1:中斷屏蔽操作命令字,在A(yíng)0=1時(shí)寫(xiě)入到中斷屏蔽寄存器IMR中,當(dāng)某一位為1時(shí),就屏蔽與之相應(yīng)的IR輸入。

M5

M4

M3

M2

M6

M1

M0

M7

A0D7D6D5D4D3D2D1D0

148第8章:中斷系統(tǒng)與中斷控制器8259A——中斷控制器8059A8259A的編程——8259A的控制字2.操作命令字2)OCW2:優(yōu)先循環(huán)方式和中斷結(jié)束方式操作字。其中R是優(yōu)先級(jí)循環(huán)控制位,R=1為循環(huán)優(yōu)先級(jí),R=0為固定優(yōu)先級(jí)。

ISRi(IRi)序號(hào)0不設(shè)EIO命令1EIO命令EOI00L2SLL1L0R

A0D7D6D5D4D3D2D1D00OCW2標(biāo)志

SL=0時(shí),L2-L0無(wú)效SL=1時(shí),L2-L0有效0非設(shè)循環(huán)優(yōu)先級(jí)方式1循環(huán)優(yōu)先級(jí)方式49第8章:中斷系統(tǒng)與中斷控制器8259A——中斷控制器8059A8259A的編程——8259A的控制字2.操作命令字3)OCW3:特殊屏蔽方式和查詢(xún)方式操作字。OCW3的功能有三個(gè)方面:一是設(shè)置和撤消特殊屏蔽方式,二是設(shè)置中斷查詢(xún)方式,三是用來(lái)設(shè)置對(duì)8259A內(nèi)部的寄存器的讀出命令。在A(yíng)0=0,D4D3=01時(shí)寫(xiě)入OCW3。

0×:無(wú)效10:可讀IRR11:可讀ISR1:允許查詢(xún)0:不查詢(xún)0×:無(wú)效10:復(fù)位特殊屏蔽11:設(shè)置特殊屏蔽SMM01PESMMRRRIS0

A0D7D6D5D4D3D2D1D00OCW3標(biāo)志50第8章:中斷系統(tǒng)與中斷控制器8259A——中斷控制器8059A8259A的編程——8259A的級(jí)聯(lián)51第8章:中斷系統(tǒng)與中斷控制器8259A——中斷控制器8059A8259A的編程

[例7-1]

溫馨提示

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

評(píng)論

0/150

提交評(píng)論