微型計算機系統(tǒng)原理及應(yīng)用-第8章-第十九次課-PPT幻燈片_第1頁
微型計算機系統(tǒng)原理及應(yīng)用-第8章-第十九次課-PPT幻燈片_第2頁
微型計算機系統(tǒng)原理及應(yīng)用-第8章-第十九次課-PPT幻燈片_第3頁
微型計算機系統(tǒng)原理及應(yīng)用-第8章-第十九次課-PPT幻燈片_第4頁
微型計算機系統(tǒng)原理及應(yīng)用-第8章-第十九次課-PPT幻燈片_第5頁
已閱讀5頁,還剩60頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

濟南大學(xué)自動化學(xué)院本課學(xué)習(xí)目標(biāo)1、掌握中斷控制器Intel8259A的結(jié)構(gòu)原理及使用和編程方法(主要建立可編程芯片結(jié)構(gòu)編程的理念).2、了解IBMPC/XT的基本中斷系統(tǒng)濟南大學(xué)自動化學(xué)院回顧中斷的基本概念

1、什么是中斷2、為什么要中斷3、中斷源4、中斷類型5、中斷優(yōu)先級及中斷嵌套6、中斷向量和中斷向量表7、中斷指令8、中斷工作過程濟南大學(xué)自動化學(xué)院三、中斷控制器Intel8259A為什么用中斷控制器濟南大學(xué)自動化學(xué)院IRR——中斷請求寄存器。共8個,一個中斷請求輸入端一個,用于保存8個中斷源的中斷請求狀態(tài),有中斷請求為1;否則,為0;ISR——中斷服務(wù)寄存器。用于保存8個中斷源的中斷服務(wù)狀態(tài),正在服務(wù)為1(收到INTA信號后);否則,為0;優(yōu)先權(quán)判斷電路——進行中斷優(yōu)先級判斷;中斷屏蔽寄存器IMR——共8位,每一位代表一個中斷源。置1時,該中斷源被屏蔽。濟南大學(xué)自動化學(xué)院總線數(shù)據(jù)緩沖器——8259A的數(shù)據(jù)線與總線的接口;讀/寫控制邏輯——實現(xiàn)對8259A的讀寫;級連緩沖器——實現(xiàn)8259A的級連,中斷源可由8級擴展到64級。濟南大學(xué)自動化學(xué)院8259A的工作原理

(同中斷順序)1)8259A接收到某一中斷輸入引腳的中斷請求時,將IRR的相應(yīng)位置1,表示該引腳上的中斷源有中斷申請;2)檢查中斷屏蔽觸發(fā)器IMR的相應(yīng)位,如果為0,說表明該中斷未被屏蔽,則讓該中斷進入中斷優(yōu)先級裁決器進行優(yōu)先級判斷;3)如果當(dāng)前沒有中斷正在響應(yīng),或當(dāng)前已有中斷正在響應(yīng),但優(yōu)先級低于新進入的中斷,則從INT端輸出一個高電平,向CPU申請中斷。濟南大學(xué)自動化學(xué)院4)如果CPU的中斷允許標(biāo)志IF為1(可屏蔽中斷),CPU在收到INT信號后,就從INTA引腳向8259A的INTA引腳送回兩個負脈沖。第一個負脈沖到達時,8259A進行下列工作:①使IRR的鎖存功能失效,即不再接收IR0~IR7引腳上的中斷請求信號;②使當(dāng)前服務(wù)寄存器ISR的相應(yīng)位置1,表示該中斷已經(jīng)被響應(yīng);③將中斷請求寄存器IRR的相應(yīng)位清0,表示該中斷已經(jīng)受理。濟南大學(xué)自動化學(xué)院第二個負脈沖到達時,8259A進行下列工作:①恢復(fù)IRR的鎖存功能,以便接收新的中斷。②送中斷類型碼:將中斷類型碼(寄存器ICW2中的內(nèi)容),送數(shù)據(jù)總線的D7~D0。如果方式控制字ICW(初始化命令字)的自動結(jié)束位為1,那么在第二個負脈沖結(jié)束時,8259A會將第一個脈沖到來時設(shè)置的當(dāng)前中斷服務(wù)寄存器ISR的相應(yīng)位清零。濟南大學(xué)自動化學(xué)院CSWRRDD7D6D5D4D3D2D1D0CAS0CAS1GNDVccA0INTAIR7IR6IR5IR4IR3IR2IR1IR0INTSP/ENCAS2D7~D0數(shù)據(jù)總線(雙向)RD讀輸入WR寫輸入A0選擇內(nèi)部寄存器地址CS片選CAS2~CAS2級連線(最多8組)SP/EN從程序/充許緩沖INT中斷輸出INTA中斷響應(yīng)輸入IR0~IR7中斷請求輸入8259管腳對照表12822732642552462372282192010191118121713161415管腳信號8.5.38259的引線濟南大學(xué)自動化學(xué)院1)當(dāng)8259A的一條或多條中斷請求線(IR7~IR0)變?yōu)楦唠娖綍r,它就使中斷請求鎖存器IRR相應(yīng)的位置1。2)8259A分析這些請求,如果這些中斷沒有被屏蔽,且優(yōu)先級高于正在響應(yīng)的中斷,則向CPU發(fā)INT信號,請求中斷服務(wù)。3)當(dāng)前一條指令執(zhí)行完畢,且IF=1時,CPU響應(yīng)中斷請求,進入中斷響應(yīng)總線周期。用INTA信號作為回答.8.5.48259A的中斷順序2.中斷響應(yīng)順序濟南大學(xué)自動化學(xué)院4)在中斷響應(yīng)的第一個總線周期中,CPU輸出第一個INTA脈沖給8259A,同時輸出LOCK信號,禁止其他處理器占用總線。5)8259A接到第一個INTA脈沖后,置中斷服務(wù)寄存器ISR中對應(yīng)將響應(yīng)的中斷的位,并清IRR中對應(yīng)的位。8259A接到第二個脈沖,將中斷類型碼發(fā)給CPU.6)中斷響應(yīng)周期完成后,CPU就可以轉(zhuǎn)至中斷服務(wù)程序.2.8259A在中斷響應(yīng)周期向CPU輸送的內(nèi)容(見表8-2).濟南大學(xué)自動化學(xué)院8259A的編程結(jié)構(gòu)8259的編程結(jié)構(gòu)由三組共10個寄存器構(gòu)成,每個寄存器均為8位。8.5.5.8259A的編程

濟南大學(xué)自動化學(xué)院表8-38259A讀寫操作及地址CS(低)RD(低)WR(低)A0功能8259A端口PC/XT機端口0010讀IRR,ISR偶地址20H0011讀IMR奇地址21H0100寫ICW1,OCW2,OCW3偶地址20H0101寫ICW2,ICW3,ICW4,OCW1奇地址21H011×無操作

1×××無操作

返回本節(jié)濟南大學(xué)自動化學(xué)院(1)初始化編程(命令字ICW--Initialization)8259A的4個初始化命令字,必須按順序?qū)懭?,才能賦給相應(yīng)的命令字。ICW1和ICW2是必須的,ICW3只有在多片8259A級連時才需要,ICW4只有在特殊全嵌套方式、緩沖方式或中斷自動結(jié)束方式下才需要。這些信息,在ICW1中已經(jīng)定了。8259A的初始化過程如下:①寫ICW1;②寫ICW2;③當(dāng)ICW1中的SNGL=0時,寫ICW3;④當(dāng)ICW1中的IC4=1時,寫ICW4。濟南大學(xué)自動化學(xué)院(2)工作方式編程(命令字OCW-Operation)8259A有3個操作方式命令字,分別記為OCW1、OCW2、OCW3,通過它可以在程序運行中對8259A的中斷管理規(guī)則進行修改。操作方式命令字和初始化命令字不同,不用按既定的順序?qū)懭?,可以由CPU在需要的時候隨時寫入。

.中斷屏蔽

.結(jié)束中斷

.優(yōu)先權(quán)旋轉(zhuǎn)

.中斷狀態(tài)濟南大學(xué)自動化學(xué)院

初始化命令字ICW(InitializationCommandWord)通常是系統(tǒng)開機時,由初始化程序填寫,且在整個系統(tǒng)工作過程中保持不變。初始化命令字必須按順序填寫。下面我們討論來討論它的格式及填寫規(guī)則。(1)ICW18259A的初始化

1初始化命令字1—需要ICW40—不需要ICW41—單片8259A0—級連調(diào)用地址間距(僅用于MCS—80/85模式)1—電平觸發(fā)方式0—邊沿觸發(fā)方式中斷向量地址(僅用于MCS—80/85模式)A0

D7D6D5D4D3D2D1D0

0A7A6A51LTIMADISNGLICW4濟南大學(xué)自動化學(xué)院1A15A14A13A12A11A10A9A8

T7T6T5T4T3

中斷向量地址的A15~A8位(MCS—8080/8085模式)中斷向量地址的T7~T3位(8086/8088模式)A0

D7D6D5D4D3D2D1D01(2)ICW2送中斷向量注:

T7~T3—中斷向量類型碼高位,由編程決定。低三位—自動設(shè)置為IR0~IR7

的類型編碼。D7D6D5D4D3D2D1D0IR7T7T6T5T4T3111IR6T7T6T5T4T3110IR5T7T6T5T4T3101IR4T7T6T5T4T3100IR3T7T6T5T4T3011IR2T7T6T5T4T3010IR1T7T6T5T4T3001IR0T7T6T5T4T30008259A傳送的中斷向量濟南大學(xué)自動化學(xué)院

1S7S6S5S4S3S2S1S01—IR輸入帶有一個從控制器

0—IR輸入不帶一個從控制器A0

D7D6D5D4D3D2D1D01

100000

ID2ID1ID0從控制器ID,編碼000~111分別對應(yīng)0~7IR輸入從片。A0

D7D6D5D4D3D2D1D01(3)ICW3(主控制器)ICW3(從控制器)濟南大學(xué)自動化學(xué)院

1—86/88模式0—80/85模式1—自動EOI0—正常EOI0X非緩沖方式

10緩沖方式/從控制器

11緩沖方式/主控制器1—特殊全嵌套方式0—非特殊全嵌套方式A0

D7D6D5D4D3D2D1D01(4)ICW4000SFNMBUFM/SAEOIμPM濟南大學(xué)自動化學(xué)院8259A初始化過程的流程圖如圖所示。ICW1ICW2ICW3ICW4

級連方式?需要ICW4?準(zhǔn)備接受中斷請求No(SGNL=1)

Yes(SGNL=0)

No(ICW4=0)

Yes(ICW4=1)濟南大學(xué)自動化學(xué)院

由CPU向8259A送三個字節(jié)的操作命令字OCW(OperationCommandWord),用以規(guī)定8259A的工作方式,如:

?中斷屏蔽

?結(jié)束中斷

?優(yōu)線權(quán)旋轉(zhuǎn)

?中斷狀態(tài)等。

操作命令字是在應(yīng)用程序中設(shè)置的,設(shè)置時,順序上沒有嚴格的要求。28259A的工作命令字1M7M6M5M4M3M2M1M0中斷屏蔽1——置屏蔽0——復(fù)位屏蔽A0D7D6D5D4D3D2D1D01(1)OCW1OCW1是中斷屏蔽命令字,命令格式如圖。命令字中的M7~M0對應(yīng)IMR的各位。Mi=1表示該中斷被屏蔽,Mi=0表示該中斷開放。濟南大學(xué)自動化學(xué)院命令格式如圖。

?R、SL、EOI的不同組合決定了8259A的幾種工作方式。

?L2~L0

這幾位確定當(dāng)SL=1時指定的特殊結(jié)束或特殊循環(huán)時的中斷優(yōu)先級。0R

SLEOI0

0

L2L1L0001非特殊EOI命令011特殊EOI命令101按非特殊EOI命令旋轉(zhuǎn)100以自動EOI方式旋轉(zhuǎn)(設(shè)置)自動旋轉(zhuǎn)000以自動EOI方式旋轉(zhuǎn)(清除)111按特殊EOI命令旋轉(zhuǎn)110置優(yōu)先權(quán)命令010無操作0000有0011效0102的0113中1004斷1015請1106求1117級別(2)OCW2A0D7D6D5D4D3D2D1D00中斷結(jié)束特殊旋轉(zhuǎn)濟南大學(xué)自動化學(xué)院00

ESMMSMM0

1

P

RR

RIS1=查詢命令0=非查詢命令用于控制8259A的運行方式。命令格式如圖。(3)OCW3A0D7D6D5D4D3D2D1D00讀寄存器命令01010011無作用在下一個讀脈沖時讀IRR在下一個讀脈沖時讀ISR特殊屏蔽方式01010011無作用復(fù)位特殊屏蔽置特殊屏蔽濟南大學(xué)自動化學(xué)院1.查詢方式

8259A不向CPU發(fā)INT請求信號,而由CPU發(fā)查詢命令來獲得對請求設(shè)備的中斷優(yōu)先級。其特點是:?

外部設(shè)備仍然通過8259A發(fā)中斷請求信號要求CPU進行服務(wù),但8259A不是用INT信號向CPU發(fā)中斷請求信號。?CPU內(nèi)部的中斷觸發(fā)器復(fù)位,禁止外部對CPU的中斷請求。?CPU使用軟件查詢確認中斷源,進而對外部設(shè)備進行中斷服務(wù)。

通過OCW3發(fā)出查詢命令。(D2位)18.5.68259的工作方式濟南大學(xué)自動化學(xué)院2.中斷屏蔽(1)普通屏蔽方式在該方式中,8259A的每一條中斷請求線都可根據(jù)需要設(shè)置屏蔽,從而使這個中斷請求不能從8259A送到CPU??梢酝ㄟ^操作命令字OCW1來設(shè)置屏蔽。8259A內(nèi)部有一個中斷屏蔽寄存器IMR,它的每一位對應(yīng)了一個中斷請求輸入,通過設(shè)置OCW1,使IMR中任一位或幾位為1,當(dāng)某位為1時,對應(yīng)的中斷請求被屏蔽。(2)特殊屏蔽方式在某些應(yīng)用場合,希望能動態(tài)地改變系統(tǒng)的優(yōu)先級結(jié)構(gòu),即在執(zhí)行中斷服務(wù)程序的某一部分時,希望禁止某些較低級的中斷請求,而在執(zhí)行中斷服務(wù)程序的另一部分時,又能夠開放比自己級別低的中斷請求。要達到這種目的,可采用特殊屏蔽方式。設(shè)置了特殊屏蔽方式后,未被OCW1屏蔽的中斷,不管其優(yōu)先級如何,都可申請中斷。特殊屏蔽方式由操作命令字OCW3來設(shè)置。濟南大學(xué)自動化學(xué)院3.緩沖模式?緩沖方式:在多片8259A級連的大系統(tǒng)中,8259A通過總線驅(qū)動器和數(shù)據(jù)總線相連,這就是緩沖方式。?非緩沖方式:當(dāng)系統(tǒng)中只有單片8259A,一般將它直接與數(shù)據(jù)總線相連;另外,在一些不太大的系統(tǒng)中,即使有幾片8259A級連工作,也可以將8259A直接與數(shù)據(jù)總線相連。這種連接即為非緩沖方式。緩沖方式由ICW4設(shè)置。(D2、D3位)濟南大學(xué)自動化學(xué)院8259A緩沖方式下級連結(jié)構(gòu)濟南大學(xué)自動化學(xué)院8259A非緩沖方式下級連結(jié)構(gòu)返回本節(jié)濟南大學(xué)自動化學(xué)院4.中斷嵌套模式(1)全嵌套方式全嵌套方式是8259最常用的工作方式。初始化后若沒有再設(shè)置其它優(yōu)先級方式(如優(yōu)先權(quán)旋轉(zhuǎn)),8259自動進入全嵌套方式。其特點是:

?中斷請求優(yōu)先級順序是IRQ0——IRQ7。

?當(dāng)一個中斷被響應(yīng)時,中斷服務(wù)寄存器ISR相應(yīng)的位被置為“1”,且保持到中斷服務(wù)程序在返回前發(fā)中斷結(jié)束命令為止。

?在ISR位置位期間,禁止再發(fā)生同級或較低級的中斷,較高級的中斷請求仍能產(chǎn)生中斷。

?每個中斷請求可分別由IMR相應(yīng)位屏蔽。(2)特殊全嵌套特殊全嵌套方式同全嵌套方式只有一點不同,即:在特殊全嵌套方式下,當(dāng)正處理某一級中斷時,又有同級的中斷請求產(chǎn)生時,8259A也會響應(yīng),從而實現(xiàn)一種對同級中斷請求的特殊嵌套。特殊全嵌套方式一般用于多片8259A級連的系統(tǒng)中。濟南大學(xué)自動化學(xué)院(1)自動旋轉(zhuǎn)優(yōu)先級自動旋轉(zhuǎn)方式一般用于系統(tǒng)中有多個優(yōu)先級相等的中斷源的情況。在這種方式下,優(yōu)先級隊列是變化的,一個設(shè)備受到服務(wù)后,其優(yōu)先級自動降到最低。初始優(yōu)先級隊列是固定的,為:

IRQ0IRQ1IRQ2IRQ3IRQ4IRQ5IRQ6IRQ7

(由高到低)。如果這時IRQ1有中斷請求,則在完成其中斷服務(wù)后,優(yōu)先級隊列變?yōu)椋ㄓ筛叩降停篒RQ0IRQ2IRQ3IRQ4IRQ5IRQ6IRQ7IRQ1

優(yōu)先級自動旋轉(zhuǎn)方式由操作命令字OCW2設(shè)定。(2)特殊旋轉(zhuǎn)優(yōu)先級特殊旋轉(zhuǎn)方式與優(yōu)先級自動旋轉(zhuǎn)方式只有一點不同,即:在優(yōu)先級特殊旋轉(zhuǎn)方式中,初始的最低優(yōu)先級由編程來決定,例如,設(shè)定IRQ3為最低優(yōu)先級,那么,IRQ4即為最高優(yōu)先級。優(yōu)先級自動旋轉(zhuǎn)方式也是由操作命令字OCW2設(shè)定。5.中斷優(yōu)先權(quán)旋轉(zhuǎn)濟南大學(xué)自動化學(xué)院6.中斷結(jié)束命令(1)自動中斷結(jié)束方式(AEOI)自動中斷結(jié)束方式由初始化命令字ICW4設(shè)置。1(2)非自動中斷結(jié)束方式在這種方式下,當(dāng)中斷服務(wù)程序結(jié)束返回時,必須向8259A送中斷結(jié)束命令(

EOI),8259A在接到該命令后,將中斷服務(wù)寄存器中相應(yīng)位復(fù)位。它有兩種情況:

?

非特殊EOI命令:在全嵌套方式下,EOI命令能自動地把當(dāng)前ISR中優(yōu)先級最高的一位清0。因為在全嵌套方式中,最高的非零ISR位對應(yīng)了最后一次被響應(yīng)和被處理的中斷。也就是當(dāng)前正在處理的中斷,所以,它的復(fù)位相當(dāng)于結(jié)束了當(dāng)前正在處理的中斷。

?

特殊EOI命令:在非全嵌套方式下,因無法確定最后響應(yīng)的是哪一級中斷,故應(yīng)向8259A發(fā)特殊EOI命令。這個命令指出了要清除當(dāng)前中斷服務(wù)寄存器ISR

中的哪一位。兩種EOI命令由操作命令字OCW2設(shè)定。1濟南大學(xué)自動化學(xué)院7.讀8259A的狀態(tài)(1)讀命令之前,輸出OCW3,令其RR=1,RIS=0,則用讀命令可讀IRR(2)讀命令之前,輸出OCW3,令其RR=1,RIS=1,則用讀命令可讀ISR(3)用讀命令,若A0=0,可讀入IMR狀態(tài)8.8259A的級連一個8259A主片至多帶8個從片,因此可擴展控制64個中斷源。所有的主片和從片均分別進行初始化,且可設(shè)定為不同的工作方式。濟南大學(xué)自動化學(xué)院

在IBMPC/XT機中,8259A中所有的命令字寄存器的地址只有兩個,一個是偶地址20H,一個是奇地址21H。初始化程序如下:MOVAL,00010011B;邊沿觸發(fā)、單片;8259A、有ICW4OUT20H,AL;初始化ICW1MOVAL,00001000B;中斷向量號為;00001000~00001111OUT21H,AL;初始化ICW2初始化編程舉例濟南大學(xué)自動化學(xué)院MOVAL,00000001;8086系統(tǒng)、非緩沖、;非自動結(jié)束OUT21H,AL;初始化ICW4MOVAL,0FFH;屏蔽所有中斷OUT21H,AL;初始化OCW1濟南大學(xué)自動化學(xué)院PC機中使用單片8259A,定義地址為:20H、21H,8259A的工作方式設(shè)置如下:

(1)固定優(yōu)先權(quán)級別:IR0最高,IR7最低;(2)8個中斷類型碼分別是08H~0FH;

(3)中斷請求信號采用邊沿觸發(fā)方式;

(4)中斷服務(wù)結(jié)束時,采用一般中斷結(jié)束命令(EOI)(由ICW4確定,那么ICW1中須置位ICW4);初始化程序如下:初始化命令字:

ICW1:00010011B13HICW2:00001000B08HICW4:00000001B01H程序:

MOVAL,13HOUT20H,AL;ICW1偶地址MOVAL,08HOUT21H,AL;ICW2奇地址MOVAL,01HOUT21H,AL;ICW4奇地址濟南大學(xué)自動化學(xué)院三、IBMPC/XT的基本中斷系統(tǒng)——了解中斷類型

IBMPC/XT中有兩種類型的中斷:

(1)內(nèi)部中斷:即軟件中斷。包括被零除、單步、溢出和中斷指令(INTn)等。這是由8088執(zhí)行指令產(chǎn)生的中斷。

(2)外部中斷:

8088A有兩條外部中斷請求線——非屏蔽中斷請求線NMI和可屏蔽中斷請求線INTR。

?

非屏蔽中斷NMI。非屏蔽中斷來源于三方:系統(tǒng)板的RAM在讀寫時產(chǎn)生奇偶校驗錯;

I/O通道中的擴展選件出現(xiàn)奇偶校驗錯;協(xié)處理器8087的異常狀態(tài)產(chǎn)生的中斷。

?

可屏蔽中斷INTR。由外部設(shè)備通過一片8259A產(chǎn)生的中斷請求。濟南大學(xué)自動化學(xué)院8087中斷請求RAM奇偶錯I/O通道檢查錯NMI屏蔽寄存器屏蔽位8253定時器鍵盤未用異步通信卡(輔)異步通信卡(主)硬盤軟盤并行打印機NMIINTR01234567優(yōu)先級8088CPU8259A擴充卡插槽濟南大學(xué)自動化學(xué)院2.

中斷向量表

8088在內(nèi)存的前1k字節(jié)建立了一個中斷向量表,可存儲256個中斷向量,每個中斷向量占用4個字節(jié),分別存放中斷服務(wù)程序入口地址的段地址和偏移量。每個中斷向量以類型碼加以區(qū)別,如:

Int21hInt10h

鍵盤中斷類型碼9

當(dāng)執(zhí)行中斷時,CPU將類型碼乘以4后,得到中斷向量地址,進而得到IP和CS的值,它就是中斷服務(wù)程序的入口地址,程序由此轉(zhuǎn)入中斷服務(wù)程序執(zhí)行。000000000C00013C1F1F3C:0100(1F4C0)PUSHAXPUSHBX003FF中斷向量表INT3中斷服務(wù)程序中斷向量濟南大學(xué)自動化學(xué)院表6-3中斷向量表

地址(Hex)類型碼中斷名稱

0—30除以04—71單步

8—B2非屏蔽

C—F3斷點

10—134溢出

14—175打印屏幕

18—1B6保留

1D—1F7保留

20—238定時器

24—279鍵盤

28—2BA保留的硬中斷

2C—2FB異步通信(COM2)

30—33C異步通信(COM1)

34—37D硬盤

38—3BE軟盤

3C—3FF并行打印機地址(Hex)類型碼中斷名稱40—4310視頻顯示I/O調(diào)用44—4711設(shè)備檢測調(diào)用48—4B12存儲器容量檢測4C—4F13軟/硬盤I/O調(diào)用50—5314通信I/O調(diào)用54—5715盒式磁帶I/O調(diào)用58—5B16鍵盤I/O調(diào)用5C—5F17打印機I/O調(diào)用60—6318ROMBASIC64—6719引導(dǎo)程序入口68—6B1A時間調(diào)用6C—6F1B鍵盤CTRL-BREAK控制70—731C定時器報時74—771D顯示器參數(shù)表78—7B1E軟盤參數(shù)表濟南大學(xué)自動化學(xué)院地址(Hex)類型碼中斷名稱7C—7F1F字符點陣結(jié)構(gòu)參數(shù)表80—8320程序結(jié)束,返回DOS84—8721DOS系統(tǒng)功能調(diào)用88—8B22程序結(jié)束地址8C—8F23CTRL_BREAK退出地址90—9324標(biāo)準(zhǔn)錯誤出口地址94—9725絕對磁盤讀98—9B26絕對磁盤寫9C—9F27程序結(jié)束,駐留內(nèi)存A0—FF28—3F為DOS保留100—17F40—5F保留180—19F60—67為用戶軟中斷保留1A0—1FF68—7F不用200—21780—85BASIC使用218—3C386—F0BASIC運行時,用于解釋3C4—3FFF1—FF未用濟南大學(xué)自動化學(xué)院3.

中斷的執(zhí)行

(1)軟中斷當(dāng)PC機執(zhí)行INTn等指令時,即產(chǎn)生了軟件中斷,其執(zhí)行過程如下:

?

棧指針SP減2,標(biāo)志寄存器內(nèi)容入棧,然后清除T和I標(biāo)志,以屏蔽中斷。

?SP再次減2,將CS內(nèi)容入棧。

?

用中斷類型碼n乘4,計算中斷向量地址,將向量中的后兩個字節(jié)送CS寄存器。

?SP再次減2,把IP內(nèi)容入棧,把中斷向量中的前兩個字節(jié)送至IP。

?

由當(dāng)前的CS和IP值作為段地址和偏移量,轉(zhuǎn)入相應(yīng)的中斷服務(wù)程序中去執(zhí)行。濟南大學(xué)自動化學(xué)院(2)硬中斷中斷響應(yīng)周期8088響應(yīng)中斷,到轉(zhuǎn)入中斷處理,要經(jīng)過兩個中斷響應(yīng)周期。T1T2T3T4T1T2T3T4第一個中斷響應(yīng)周期第二個中斷響應(yīng)周期CLKALEINTAAD7~AD0向量類型碼第一個INTA信號:將在服務(wù)寄存器ISR相應(yīng)位置位,表示正在為響應(yīng)的那一級服務(wù);同時將中斷請求觸發(fā)器復(fù)位。為本級再次中斷請求做好準(zhǔn)備。第二個INTA信號:要求8259A輸入中斷向量類型碼。濟南大學(xué)自動化學(xué)院濟南大學(xué)自動化學(xué)院

執(zhí)行過程

?

接口設(shè)備通過中斷請求線IR0—IR7中的一條,將8259A內(nèi)部中斷觸發(fā)器IRR相應(yīng)位置1。

?8259A收到IRn信號后,將其與同時申請中斷的信號及正掛起的中斷信號比較分析優(yōu)先級,若其級別最高,則由8259A的INT腳向CPU發(fā)出中斷請求信號INTR。

?

8088響應(yīng)中斷,連續(xù)發(fā)出兩個INTA信號,第一個INTA信號將在服務(wù)寄存器ISR

相應(yīng)位置位,表示正在為響應(yīng)的那一級服務(wù);同時將中斷請求觸發(fā)器復(fù)位。為本級再次中斷請求做好準(zhǔn)備。第二個INTA信號要求8259A輸入中斷向量類型碼。

?

8088收到8位類型碼后,將其乘4作為中斷向量的地址。

?

8088屏蔽中斷,保護現(xiàn)場,并由取得的中斷向量得到IP和CS的值。

?

以CS和IP值為段地址和偏移量,轉(zhuǎn)入中斷服務(wù)程序。濟南大學(xué)自動化學(xué)院

PC/AT中,8259的使用情況為:

2片8259級聯(lián),提供15級向量中斷。從片的INT接主片的IRQ2。端口地址:主片20H、21H,從片A0H、A1H。主片和從片均采用邊沿觸發(fā)。采用全嵌套優(yōu)先級排列方式采用非緩沖方式,主片接+5V,從片接地。主片的類型碼為08H~0FH,從片的類型碼為70H~77H。四、PC/AT(80286)中8259的使用情況——了解[注]

從兼容的角度出發(fā),奔騰的可屏蔽中斷類似于80286。盡管當(dāng)今的奔騰計算機中已找不到8259A芯片及相應(yīng)的電路,而發(fā)展到高級可編程中斷控制器(AdvancedProgrammableInterruptController)子系統(tǒng),但它是至今還適用的中斷資源及其優(yōu)先級排序的來歷。濟南大學(xué)自動化學(xué)院優(yōu)先級(按從高到低的順序):

IRQ0IRQ1IRQ8IRQ9IRQ10…IRQ15IRQ3IRQ4…IRQ7濟南大學(xué)自動化學(xué)院中斷向量資源分配用戶使用中斷向量資源分配用戶使用IRQ008H定時/計數(shù)器不可IRQ870H實時時鐘不可IRQ109H鍵盤控制器不可IRQ971H保留可用IRQ20AH級連占用不可IRQ1072H保留可用IRQ30BH串行口2可能IRQ1173H保留可用IRQ40CH串行口1可能IRQ1274HPS/2鼠標(biāo)可能IRQ50DH并行口2可用IRQ1375H協(xié)處理器不可IRQ60E軟盤控制器不可IRQ1476H硬盤IDE1不可IRQ70FH并行口1可能IRQ1577H硬盤IDE2不可硬中斷資源的分配濟南大學(xué)自動化學(xué)院五、Pentium的中斷系統(tǒng)簡介——了解故障陷阱流產(chǎn)INTn異常軟件中斷奔騰的中斷系統(tǒng)R/S(恢復(fù)/停止引腳)FLUSH(刷新引腳)SMI(系統(tǒng)管理引腳)INIT(初始化引腳)NMIINTR(IRQ15~IRQ0)硬件中斷故障——這類異常由引起異常的指令執(zhí)行之前報告的,斷點就是引起異常的指令的

CS和EIP,因此,當(dāng)故障處理程序消除了故障后,用IRET指令返回至引起故障的指令處,原來的程序恢復(fù)執(zhí)行;陷阱——這類異常在引起異常的指令執(zhí)行后報告,斷點是引起異常的指令的下一條指令的CS和EIP,因此,當(dāng)異常處理程序用IRET指令返回時,程序從引起異常的指令的下一條指令處恢復(fù)執(zhí)行;流產(chǎn)——這類異常不能恢復(fù)執(zhí)行。R/S——恢復(fù)或停止當(dāng)前指令的執(zhí)行。FLUSH——為低時,將Cache的內(nèi)容寫回到主存。SMI——為低時,向外界發(fā)出即將進入系統(tǒng)管理模式的提示信號。濟南大學(xué)自動化學(xué)院2.可屏蔽中斷系統(tǒng)中相當(dāng)于使用了兩個中斷控制器8259A級聯(lián),共提供15級可屏蔽的硬中斷:第一個(主)控制器的I/O地址為20H和21H,它提供的8級中斷IRQo—IRQ7;第二個(從)控制器的I/O地址為A0H和A1H,它的8級中斷被定義為IRQ8一IRQ15。IRQ0定時器通道0的系統(tǒng)定時中斷IRQl鍵盤輸出緩沖器滿IRQ2級聯(lián)第二個(從)控制器IRQ3串行端口COM2IRQ4串行端口COMl1RQ5保留或并行端口2IRQ6軟盤控制器IRQ7并行打印機端口1IRQ8IRQ9IRQ101RQll1RQ121RQl3IRQl4IRQl5系統(tǒng)CMOS/實時時鐘保留,軟件定位至IRQ2(1NT0AH)保留,PCI聲卡與AGP顯卡保留保留或PS/2鼠標(biāo)協(xié)處理器在板硬盤IDEl通道在板硬盤IDE2通道主片從片濟南大學(xué)自動化學(xué)院濟南大學(xué)自動化學(xué)院濟南大學(xué)自動化學(xué)院濟南大學(xué)自動化學(xué)院濟南大學(xué)自動化學(xué)院濟南大學(xué)自動化學(xué)院類型號類型名描述附:奔騰的中斷類型濟南大學(xué)自動化學(xué)院六、中斷服務(wù)程序的編程中斷服務(wù)程序的編程原則?在進入具體中斷處理之前要先初始化中斷向量,使其指向相應(yīng)的中斷服務(wù)程序,但在此之前要先關(guān)中斷,以防接管中斷過程中再發(fā)生中斷;?中斷是異步發(fā)生的(指外部中斷),進入響應(yīng)時并不考慮當(dāng)前運行狀態(tài)。因此中斷服務(wù)程序必須保護現(xiàn)場;?在中斷服務(wù)程序入口處要立即開中斷,以允許較高優(yōu)先級的中斷產(chǎn)生;?中斷服務(wù)程序的服務(wù)時間要盡量壓縮,以免干擾同級或低級中斷設(shè)備的工作?由于PC機中8259采用正常結(jié)束中斷,因此在

溫馨提示

  • 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. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論