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

下載本文檔

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

文檔簡介

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

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

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

中斷方式提高了CPU的工作效率,但是它同時也提高了系統(tǒng)的硬件開銷。因為系統(tǒng)需增加含有中斷功能接口電路,用來產(chǎn)生中斷請求信號。以輸入方式為例,接口電路如圖所示。

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

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

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

軟件查詢方法

只需有簡單的硬件電路,如將A、

B、C三臺設(shè)備的中斷請求信號“或”

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

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

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

請求。進入中斷服務(wù)子程序后,再

用軟件查詢的方式分別對不同的設(shè)

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

查詢式,查詢的前后順序就給出了

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

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

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

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

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

中斷請求

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

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

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

中斷處理

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

1:需ICW4

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

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

T5T4T30T600T7

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

000ID20ID1ID00

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

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

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

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

47第8章:中斷系統(tǒng)與中斷控制器8259A——中斷控制器8059A8259A的編程——8259A的控制字2.操作命令字1)OCW1:中斷屏蔽操作命令字,在A0=1時寫入到中斷屏蔽寄存器IMR中,當(dāng)某一位為1時,就屏蔽與之相應(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)先級循環(huán)控制位,R=1為循環(huán)優(yōu)先級,R=0為固定優(yōu)先級。

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

A0D7D6D5D4D3D2D1D00OCW2標志

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

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

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

[例7-1]

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論