第五章中斷技術(shù)課件_第1頁(yè)
第五章中斷技術(shù)課件_第2頁(yè)
第五章中斷技術(shù)課件_第3頁(yè)
第五章中斷技術(shù)課件_第4頁(yè)
第五章中斷技術(shù)課件_第5頁(yè)
已閱讀5頁(yè),還剩81頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第五章中斷系統(tǒng)中斷的基本概念

8086/8088的中斷系統(tǒng)

可編程中斷控制器8259A8259A在微機(jī)系統(tǒng)中的應(yīng)用退出1.10/21/2023第一節(jié)中斷的基本概念10/21/20232長(zhǎng)江大學(xué)地物學(xué)院一CPU與外設(shè)之間的數(shù)據(jù)傳送控制方式(即I/O控制方式),通常有以下三種:程序控制方式中斷方式DMA方式(Direct

Memory

Access)程序控制方式:是在CPU的控制下,通過執(zhí)行程序指令進(jìn)行的數(shù)據(jù)傳送方式。又分為“無條件傳送”和“程序查詢傳送”兩種方式。.程序控制方式10/21/20233長(zhǎng)江大學(xué)地物學(xué)院無條件傳送方式:是在假定外圍設(shè)備(PeripheralDevice)已經(jīng)準(zhǔn)備好的情況下,直接利用輸入/輸出指令

(IN指令,OUT指令)與外圍設(shè)備傳送數(shù)據(jù),而不去檢測(cè)外設(shè)的工作狀態(tài)。優(yōu)點(diǎn):控制程序簡(jiǎn)單缺點(diǎn):數(shù)據(jù)傳送不可靠程序查詢方式(也稱“條件傳送”方式)主要特點(diǎn):CPU通過執(zhí)行程序不斷讀取并檢測(cè)外設(shè)的狀態(tài),只有在外設(shè)確實(shí)已準(zhǔn)備就緒的情況下,才進(jìn)行數(shù)據(jù)傳送;否則,還要繼續(xù)不斷地查詢外設(shè)的狀態(tài)。.程序控制方式查詢式輸入、輸出程序流程圖讀取狀態(tài)信息準(zhǔn)備好?輸入數(shù)據(jù)是否讀取狀態(tài)信息忙?輸出數(shù)據(jù)否10/21/20234長(zhǎng)江大學(xué)地物學(xué)院是.程序控制方式10/21/20235長(zhǎng)江大學(xué)地物學(xué)院程序查詢傳送方式比無條件傳送方式要準(zhǔn)確可靠,但在此種方式下,CPU要不斷查詢外設(shè)的狀態(tài),占用了大量CPU時(shí)間,而真正用于數(shù)據(jù)傳送的時(shí)間卻很少,即

CPU的工作效率很低;另外,采用這種方式,也很難滿足實(shí)時(shí)系統(tǒng)對(duì)I/O處理的要求。因此,出現(xiàn)了中斷控制方式。.二中斷方式10/21/20236長(zhǎng)江大學(xué)地物學(xué)院中斷定義:在程序運(yùn)行中,出現(xiàn)了某種緊急事件,CPU必須中止現(xiàn)行程序,轉(zhuǎn)去處理此緊急事件(執(zhí)行中斷服務(wù)程序),并在處理完畢后再返回運(yùn)行程序的過程。中斷的全過程及有關(guān)概念:一個(gè)完整的中斷過程包括:中斷請(qǐng)求;中斷判優(yōu);中斷響應(yīng);中斷處理;中斷返回..二中斷方式10/21/20237長(zhǎng)江大學(xué)地物學(xué)院中斷請(qǐng)求是指中斷源(引起中斷的事件或設(shè)備)向CPU發(fā)出的請(qǐng)求中斷的要求;中斷判優(yōu)當(dāng)有多個(gè)中斷源發(fā)出中斷請(qǐng)求時(shí),需要通過適當(dāng)?shù)霓k法(軟件的;硬件的;軟、硬件結(jié)合的)決定究竟先處理哪個(gè)中斷請(qǐng)求,這就是“中斷判優(yōu)”;中斷響應(yīng)是指CPU中止現(xiàn)行程序轉(zhuǎn)至中斷服務(wù)程序的過程;中斷處理就是指CPU執(zhí)行中斷服務(wù)程序;執(zhí)行完中斷服務(wù)程序后,返回到原先被中斷的程序稱為“中斷返回”。為了能正確返回到原來程序被中斷的地方(也稱斷點(diǎn)-即主程序中當(dāng)前指令下面一條指令的地址),在中斷服務(wù)程序的最后應(yīng)專門放置一條中斷返回指令。另外,為了使主程序在返回后仍能從斷點(diǎn)處繼續(xù)執(zhí)行,還需要在中斷服務(wù)程序的開頭-保護(hù)現(xiàn)場(chǎng)(通過PUSH指令實(shí)現(xiàn)),在中斷服務(wù)程序的末尾-恢復(fù)現(xiàn)場(chǎng)(通過POP指令實(shí)現(xiàn))。.三中斷響應(yīng)和處理過程10/21/20238長(zhǎng)江大學(xué)地物學(xué)院對(duì)于不同的中斷類型(如可屏蔽中斷、不可屏蔽中斷;外部中斷、內(nèi)部中斷…),處理器(CPU)進(jìn)行響應(yīng)和處理的具體過程并不完全相同;另外,就是對(duì)同一種中斷類型(如可屏蔽中斷),不同的處理器(如Z80,80X86)進(jìn)行響應(yīng)和處理的過程也不盡相同。.三中斷響應(yīng)和處理過程10/21/20239長(zhǎng)江大學(xué)地物學(xué)院中斷一般由硬件(處理器內(nèi)部)和軟件(由程序設(shè)計(jì)者編寫的中斷服務(wù)程序)共同完成,即整個(gè)中斷響應(yīng)和處理過程是由CPU內(nèi)部的有關(guān)硬件和中斷處理軟件密切配合完成的。針對(duì)一個(gè)具體的系統(tǒng)(機(jī)型),中斷服務(wù)程序設(shè)計(jì)者應(yīng)該清楚在中斷響應(yīng)時(shí),“硬件”完成了哪些操作(如FR是否已被壓入堆棧),還需要“軟件

”(中斷服務(wù)程序)完成哪些操作。.四中斷優(yōu)先級(jí)和中斷嵌套10/21/202310長(zhǎng)江大學(xué)地物學(xué)院1.中斷優(yōu)先級(jí)(Priority)的解決方法系統(tǒng)中多個(gè)中斷請(qǐng)求可能同時(shí)出現(xiàn),CPU只能按一定的次序(優(yōu)先級(jí)策略)予以響應(yīng)和處理,這個(gè)響應(yīng)的次序稱為中斷優(yōu)先級(jí)。一般的方法有:軟件查詢法(需要少量硬件)菊花鏈(daisy

chain)優(yōu)先級(jí)排隊(duì)電路可編程中斷控制器(如8259).(1)軟件查詢法把各個(gè)外設(shè)的中斷請(qǐng)求信號(hào)“相或”,產(chǎn)生一個(gè)總的INT信號(hào)當(dāng)CPU響應(yīng)中斷后,進(jìn)入中斷處理程序,在中斷處理程序的開始部分安排一段帶有優(yōu)先級(jí)的查詢程序。優(yōu)點(diǎn):省硬件缺點(diǎn):中斷響應(yīng)慢2

1

067INT“或”磁

磁盤

帶CRT鍵

打盤

印端口號(hào)=XXH10/21/202311長(zhǎng)江大學(xué)地物學(xué)院.(2)菊花鏈優(yōu)先級(jí)排隊(duì)電路*中斷請(qǐng)求INT1INT2INT3CPUINTR接口設(shè)備3接口設(shè)備2接口設(shè)備1菊花鏈邏輯電路中斷回答集電極開路門(OC門)INT1+INT2+INT3+5V10/21/202312長(zhǎng)江大學(xué)地物學(xué)院.(2)菊花鏈優(yōu)先級(jí)排隊(duì)電路INTAINTR中斷請(qǐng)求INTR=INT1+INT2+INT3當(dāng)INTA信號(hào)沿菊花鏈行進(jìn)時(shí),

最靠近CPU并發(fā)出INT請(qǐng)求的接口將首先攔截住INTA信號(hào),并送出中斷類型碼,進(jìn)入相應(yīng)的中斷處理程序;在服務(wù)完成后撤銷其請(qǐng)求(解除對(duì)下一級(jí)的阻塞和封鎖)。10/21/202313長(zhǎng)江大學(xué)地物學(xué)院(3)可編程中斷控制器(如8259).五中斷嵌套通常,正在執(zhí)行較低級(jí)的中斷服務(wù)程序時(shí),可以響應(yīng)較高級(jí)的中斷請(qǐng)求,而將正在處理的中斷暫時(shí)掛起,稱為中斷嵌套。

……..

STI…….IRETSTIIRET可實(shí)現(xiàn)“多重嵌套”10/21/202314長(zhǎng)江大學(xué)地物學(xué)院.第二節(jié)8086/8088的中斷系統(tǒng)10/21/202315長(zhǎng)江大學(xué)地物學(xué)院一.中斷的分類:在8086/8088系統(tǒng)中,可將中斷分為兩大類(如表5.1表5.2所示):第一類:硬件中斷:是由外部的中斷請(qǐng)求信

號(hào)啟動(dòng)的中斷,也稱為外部中斷。又可分為:非屏蔽中斷NMI:整個(gè)系統(tǒng)只有一個(gè),不受IF屏蔽可屏蔽中斷INTR:受IF屏蔽,在中斷控制器8259的統(tǒng)一管理下,可屏蔽中斷有幾個(gè)至幾十個(gè)。.中斷的分類10/21/202316長(zhǎng)江大學(xué)地物學(xué)院(注意,這里的IF是CPU內(nèi)部的標(biāo)志寄存器的IF位,IF=0,則對(duì)所有從INTR引腳進(jìn)入的中斷請(qǐng)求均不予響應(yīng)(“總開關(guān)”);另外,也可以在CPU外部的中斷控制器(8259)中以及各個(gè)I/O接口電路(如8255)中對(duì)某一級(jí)中斷或某個(gè)中斷源單獨(dú)進(jìn)行屏蔽)。第二類:軟件中斷:是由CPU內(nèi)部的標(biāo)志狀態(tài)(如TF、OF)或執(zhí)行一條中斷指令(INTn),以及除數(shù)為0引起的中斷,也稱為內(nèi)部中斷。.二中斷向量和中斷向量表10/21/202317長(zhǎng)江大學(xué)地物學(xué)院中斷向量即中斷服務(wù)程序的入口地址。中斷向量表是存放中斷向量(中斷服務(wù)程序入口地址)的一個(gè)特定的內(nèi)存區(qū)域(最低地址區(qū)).一個(gè)中斷向量占4個(gè)字節(jié)單元,其中:低地址的兩個(gè)字節(jié)單元存放中斷服務(wù)程序入口地址的偏移量(IP)-低字節(jié)在前(低地址),高字節(jié)在后(高地址);高地址的兩個(gè)字節(jié)單元存放中斷服務(wù)程序入口地址的段地址(CS)-低字節(jié)在前(低地址),高字節(jié)在后(高地址)。.中斷向量和中斷向量表10/21/202318長(zhǎng)江大學(xué)地物學(xué)院8086/8088的中斷向量表如書P80圖5.1所示。解釋:8086/8088可以處理256種中斷,對(duì)每種中斷都指定一個(gè)中斷類型號(hào)(也稱中斷向量號(hào)),每個(gè)中斷類型號(hào)與一個(gè)中斷服務(wù)程序的入口地址相對(duì)應(yīng)。256個(gè)中斷向量要占256*4=1024個(gè)字節(jié)單元,地址編號(hào)從

00000H~003FFH5個(gè)專用中斷(類型0~類型4),它們有固定的定義和處理功能;27個(gè)保留的中斷(類型5~類型31)。占0000:0014H~0000:007FH,共108個(gè)字節(jié)單元。這個(gè)區(qū)域供系統(tǒng)使用,不允許用戶自行定義。224個(gè)用戶可定義的中斷(類型32~類型255)。占

0000:0080H~0000:03FFH單元;使用時(shí),要由用戶自行填寫相應(yīng)的中斷入口地址。(其中有些中斷類型已經(jīng)有了固定用途,例如,類型21H的中斷已用作MS-DOS的系統(tǒng)功能調(diào)用)。.中斷向量和中斷向量表由于中斷向量在中斷向量表是按中斷類型號(hào)順序存放的,所以每個(gè)中斷向量的地址可由中斷類型號(hào)×4計(jì)算出來。CPU響應(yīng)中斷時(shí),需把中斷類型號(hào)N乘以4,得到中斷向量的對(duì)應(yīng)地址4N(該中斷向量所占4個(gè)字節(jié)單元的第一個(gè)字節(jié)單元的地址),然后把由此地址開始的兩個(gè)低字節(jié)單元的內(nèi)容裝入IP寄存器:IP(4N,4N+1),再把兩個(gè)高字節(jié)單元的內(nèi)容裝入CS寄存器:CS

(4N+2,4N+3),這就是轉(zhuǎn)入中斷類型號(hào)為N的中斷服務(wù)程序的控制過程。[N的來源,對(duì)于不同的中斷類型(內(nèi)部,外部:NMI、INTR)情況有所不同,詳見后述].10/21/202319長(zhǎng)江大學(xué)地物學(xué)院中斷向量和中斷向量表例1:若中斷類型號(hào)為3,則由中斷類型號(hào)取得中斷服務(wù)入口地址的過程如下圖所示:00000H00001H0000CH(0000:000CH)1EA00H(1E00:0A00H)FFFFFH低地址內(nèi)存1E00

0

H+ 0A0

0

H1EA0

0

H中斷類型號(hào)3×4=000CH…….00(IPL)0A(IPH)00(CSL)1E(CSH)…....中斷服務(wù)程序.高地址長(zhǎng)江大學(xué)地物學(xué)院10/21/202320中斷向量和中斷向量表10/21/202321長(zhǎng)江大學(xué)地物學(xué)院例2.中斷類型號(hào)為20H,中斷服務(wù)程序的入口地址存放在0000:0080H開始的4個(gè)單元中。若:(0080H)=10H(0081H)=20H(0082H)=30H(0083H)=40H則:中斷服務(wù)程序的入口地址為

CS=4030;IP=2010

入口地址為:43210.中斷向量和中斷向量表例3.中斷類型號(hào)為23(17H),中斷服務(wù)程序的入口地址為:2340:7890H,由于中斷類型號(hào)

17H對(duì)應(yīng)的中斷向量存放在0段的0000:005CH(17H×4=5CH)處,所以有:左移2位:0001

0111

B0101

1100

B5

C

H(005CH)=

90(005DH)=

78(005EH)=

40(005FH)=

2310/21/202322長(zhǎng)江大學(xué)地物學(xué)院.三8086/8088中斷處理流程圖.10/21/202323長(zhǎng)江大學(xué)地物學(xué)院.10/21/202324長(zhǎng)江大學(xué)地物學(xué)院8086/8088中斷處理流程圖*8086中斷優(yōu)先級(jí)(Priority)說明:(1)~(5)步是CPU的內(nèi)部處理(由硬件自動(dòng)完成)所有內(nèi)部中斷(除法錯(cuò)、INT

n、INT0、單步)以及NMI中斷不需要從數(shù)據(jù)總線上讀取中斷類型碼,而INTR中斷需讀取中斷類型碼,中斷類型碼由發(fā)出INTR信號(hào)的接口提供。中斷優(yōu)先級(jí)除法錯(cuò),INTn,INT0最高NMIINTR單步中斷最低.10/21/202325長(zhǎng)江大學(xué)地物學(xué)院?jiǎn)尾竭\(yùn)行方式時(shí)發(fā)生中斷的處理過程.10/21/202326長(zhǎng)江大學(xué)地物學(xué)院.10/21/202327長(zhǎng)江大學(xué)地物學(xué)院?jiǎn)尾竭\(yùn)行方式時(shí)發(fā)生中斷的處理過程堆棧的情形:60704050(FR)’30401020(FR)低地址高地址IPCS10/21/202328長(zhǎng)江大學(xué)地物學(xué)院TF=0IPCSTF=1.可屏蔽中斷過程10/21/202329長(zhǎng)江大學(xué)地物學(xué)院見圖5.3..10/21/202330長(zhǎng)江大學(xué)地物學(xué)院四軟件中斷(內(nèi)部中斷)10/21/202331長(zhǎng)江大學(xué)地物學(xué)院除法錯(cuò)中斷(也稱除數(shù)為0中斷)-類型0在執(zhí)行DIV(無符號(hào)除法)或IDIV(帶符號(hào)除法)指令時(shí),若發(fā)現(xiàn)除數(shù)為0,則立即產(chǎn)生一個(gè)類型號(hào)為0的內(nèi)部

中斷,CPU轉(zhuǎn)向除法錯(cuò)中斷處理程序。溢出中斷-類型4若上一條指令執(zhí)行的結(jié)果使溢出標(biāo)識(shí)位OF被置1,則接著執(zhí)行INTO指令時(shí),將引起類型為4的內(nèi)部中斷,CPU轉(zhuǎn)入對(duì)溢出錯(cuò)誤處理程序,若OF=0時(shí),

INTO指令執(zhí)行空操作,即INTO指令不起作用。

INTO指令通常安排在算術(shù)指令之后,以便在溢出時(shí)能及時(shí)處理。如下舉例:.軟件中斷主程序:...ADD

AX,BX;

若OF=1INT

O溢出中斷服務(wù)程序:…IRET軟件(指令)中斷(執(zhí)行INT

n指令引起的中斷)雙字節(jié)指令,第一個(gè)字節(jié)為操作碼;第二個(gè)字節(jié)為中斷類型號(hào),該指令控制CPU轉(zhuǎn)向相應(yīng)的中斷服務(wù)程序。.10/21/202332長(zhǎng)江大學(xué)地物學(xué)院軟件中斷斷點(diǎn)中斷-類型3INT3或簡(jiǎn)寫為INT,是單字節(jié)指令。調(diào)試程序時(shí)可以在一些關(guān)鍵性的地方設(shè)置斷點(diǎn),使

CPU在此斷點(diǎn)處執(zhí)行中斷服務(wù)程序。單步中斷-類型1TF=1單步執(zhí)行…..10/21/202333長(zhǎng)江大學(xué)地物學(xué)院.軟件中斷(內(nèi)部中斷)的特點(diǎn)10/21/202334長(zhǎng)江大學(xué)地物學(xué)院中斷類型號(hào)由CPU內(nèi)部自動(dòng)提供(包括由中斷指令第二字節(jié)提供的中斷類型號(hào)),不需去執(zhí)行中斷響應(yīng)總線周期讀取中斷類型號(hào)。除單步中斷外,所有內(nèi)部中斷(除法錯(cuò),INTO,INT

n)均不可以用軟件來屏蔽。除單步中斷外,所有內(nèi)部中斷都比外部中斷優(yōu)先級(jí)高。.五中斷服務(wù)程序的一般結(jié)構(gòu)……保護(hù)現(xiàn)場(chǎng)(將需要保護(hù)的寄存器壓入堆棧)STI(可選);恢復(fù)現(xiàn)場(chǎng)IRET中斷處理例如:

PUSH

AXPUSH

BXPUSH

CX…POP

CXPOP

BXPOP

AX.10/21/202335長(zhǎng)江大學(xué)地物學(xué)院指令系統(tǒng)中沒有單獨(dú)置“1”或清“0”TF的指令,可實(shí)現(xiàn)如下:PUSH

FR;POP

AX;FR的內(nèi)容壓入堆棧

FR的內(nèi)容彈出到AXOR

AX,0100H;使AX中對(duì)應(yīng)TF的位置為“1”,其他位不變PUSH

AX;POPF修改后的AX內(nèi)容壓入棧彈回到FR(TF=1)1->TFPUSH

FRPOP

AXAND

AX,PUSH

AX;POPF0->TF10/21/202336長(zhǎng)江大學(xué)地物學(xué)院.第三節(jié)可編程中斷控制器8259A(8259A

Programmable

Interrupt

Controller-PIC)10/21/202337長(zhǎng)江大學(xué)地物學(xué)院Intel

8259A用于管理和控制80x86的外部中斷請(qǐng)求,實(shí)現(xiàn)優(yōu)先級(jí)判決,提供中斷矢量碼,屏蔽中斷輸入等功能。使用單片8259A可以管理8級(jí)中斷,采用級(jí)聯(lián)方式,可擴(kuò)充到64級(jí)(用9片8259A)。.可編程中斷控制器8259A.IR0IR7單片8259AINTINTACPUINTRINTA...中斷請(qǐng)求CPUINTRINTA8259AIR.0...IR.7級(jí)聯(lián)主8259A從IR0...IR78259A從IR0...IR7.10/21/202338長(zhǎng)江大學(xué)地物學(xué)院可編程中斷控制器8259A10/21/202339長(zhǎng)江大學(xué)地物學(xué)院一、8259A的引腳功能封裝形式

28腳雙列直插(28-pinDIP),DIP:Dual-In-Line

Package

,如圖所示。.1234567891011121314282726252423222120191817168259ACSWRRDD7D6D5D4D3D2D1D0CAS0CAS1GNDIR7IR6IR5IR4IR3IR2IR1IR0INTSP/ENCAS2VCCA0INTA可編程中斷控制器8259A.10/21/202340長(zhǎng)江大學(xué)地物學(xué)1院5可編程中斷控制器8259A

--讀信號(hào),低電平有效,來自CPURD的RD

輸出;且CS

有效且RD

有效時(shí),使8259A將狀態(tài)信息放到數(shù)據(jù)總路線上,供

CS

--片選信號(hào)(Chip

Select)低電平有效,來自地址譯碼器的輸出只有CS

有效時(shí),CPU才能對(duì)8259A進(jìn)行讀寫操作。

WR

--寫信號(hào),低電平有效,來自CPU的WR輸出;當(dāng)CS

有效且WR有效時(shí),使

8259A接受CPU送來的命令字。10/21C/2P023U檢測(cè)。.長(zhǎng)江大學(xué)地物學(xué)院

41可編程中斷控制器8259A10/21/202342長(zhǎng)江大學(xué)地物學(xué)院D7~

D0

:雙向數(shù)據(jù)總線,接到系統(tǒng)數(shù)據(jù)總線的

D7~

D0

上,用來傳送控制字、狀態(tài)字和中斷類型號(hào)。IR7~IR0

:中斷請(qǐng)求信號(hào),輸入,來自外部接口電路。(單片時(shí))INT:向CPU發(fā)出的中斷請(qǐng)求信號(hào)。(單片時(shí))。

:中斷響應(yīng)信號(hào),由此接收CPU發(fā)來的中應(yīng)脈沖。I斷NT響A.可編程中斷控制器8259AA0:地址輸入信號(hào),用于對(duì)8259A內(nèi)部寄存器的尋址。CAS2~

CAS0:級(jí)聯(lián)線(CASCADE

LINES),傳送3位標(biāo)識(shí)碼,用于區(qū)分特定的從控制器。雙向:對(duì)于主片為輸出,對(duì)于從片為輸入。SP/EN

:從片/允許緩沖器信號(hào)。雙功能引腳:作為輸入時(shí),8259A作為主片(SP/EN

=1)8259A作為從片(SP/EN

=0)見P99圖5.8作為輸出時(shí),用來啟動(dòng)(允許)數(shù)據(jù)總線收發(fā)器(如8286)。*究竟是作為輸入還是輸出,取決于8259A是否工作于“緩沖方式

”(即8259A是否通過一個(gè)“數(shù)據(jù)總線收發(fā)器”與系統(tǒng)總線相連)。詳見后面ICW4的格式。.10/21/202343長(zhǎng)江大學(xué)地物學(xué)院二、8259A的內(nèi)部結(jié)構(gòu)INTRIR7IR0CPUAD7~AD0INTASP/ENISRICW1OCW1

(IMR)ICW2OCW2ICW3OCW3ICW4PRIRRD7~D0地址譯碼...INTAINTCSRDWRA0CAS0CAS1CAS2....10/21/202344長(zhǎng)江大學(xué)地物學(xué)院.10/21/202345長(zhǎng)江大學(xué)地物學(xué)院IRR—Interrupt

Request

RegisterPR---Priority

ResolverISR---In-Service

RegisterIMR---Interrupt

Mask

RegisterICWs---Initialization

Command

WordsOCWs---Operation

Command

Words7個(gè)CPU可訪問的寄存器,分兩組:初始化命令字ICW1

~ICW4---系統(tǒng)初啟時(shí)設(shè)定。操作命令字OCW1~OCW3—系統(tǒng)運(yùn)行時(shí),由應(yīng)用程序設(shè)定(實(shí)現(xiàn)對(duì)中斷處理的動(dòng)態(tài)管理和控制).The

OCWs

can

be

written

into

the

8259A

anytime

afterinitialization。10/21/202346長(zhǎng)江大學(xué)地物學(xué)院8259A的內(nèi)部結(jié)構(gòu).8259A的內(nèi)部結(jié)構(gòu)7個(gè)寄存器的尋址問題:規(guī)定:A0ICW1:用偶地址寫入,且D4=1ICW2ICW3ICW4緊接著ICW1,用奇地址寫入OCW1:也用奇地址寫入,但不緊跟ICW1OCW2OCW34也用偶地址寫入,但D

=0即:0010/21/202347長(zhǎng)江大學(xué)地物學(xué)院0采用了專門的“標(biāo)識(shí)位,以節(jié)省輸入地址的引腳數(shù)(僅用了A0).8259A的內(nèi)部結(jié)構(gòu)10/21/202348長(zhǎng)江大學(xué)地物學(xué)院8259A的處理部件:中斷請(qǐng)求寄存器IRR-8位寄存器+控制邏輯作用:接受并鎖存來自IR0~I(xiàn)R7的中斷請(qǐng)求信號(hào)中斷服務(wù)寄存器ISR作用:保存當(dāng)前正在處理的中斷請(qǐng)求優(yōu)先級(jí)裁決器PR作用:把新進(jìn)入的中斷請(qǐng)求和當(dāng)前正在處理的中斷進(jìn)行比較,以決定哪一個(gè)優(yōu)先級(jí)更高(見P90圖5.7)..10/21/202349長(zhǎng)江大學(xué)地物學(xué)院8259A的內(nèi)部結(jié)構(gòu)處理過程:IR0~I(xiàn)R7上出現(xiàn)某一中斷請(qǐng)求信號(hào)->IRR對(duì)應(yīng)位被置

“1”->由IMR的相應(yīng)位決定是否將其屏蔽(屏蔽位=1,不通過;屏蔽位=0,通過)->中斷請(qǐng)求進(jìn)PR->PR把新進(jìn)入的中斷請(qǐng)求和當(dāng)前正在處理的中斷進(jìn)行優(yōu)先級(jí)比較->若新進(jìn)入的中斷優(yōu)先級(jí)高,該中斷請(qǐng)求被送到CPU。若CPU的IF=1,CPU完成當(dāng)前指令后,響應(yīng)中斷,在INTA

引腳上發(fā)出兩個(gè)負(fù)脈沖(執(zhí)行兩個(gè)中斷響應(yīng)總線周期,參見P90圖5.4):.10/21/202350長(zhǎng)江大學(xué)地物學(xué)院8259A的內(nèi)部結(jié)構(gòu)處理過程(續(xù)):8259A收到第一個(gè)負(fù)脈沖后使IRR鎖存允許,不予接受IR0~I(xiàn)R7上的中斷請(qǐng)求信號(hào);直到第二個(gè)負(fù)脈沖結(jié)束后,才又使IRR鎖存禁止(輸入輸出透明)使ISR的相應(yīng)位置“1”,以便為優(yōu)先級(jí)裁決器以后的裁決提供依據(jù)。清除IRR的相應(yīng)位。8259A收到第二個(gè)負(fù)脈沖后:把中斷類型碼寄存器的內(nèi)容(ICW2的內(nèi)容)送到D7~D0如果ICW4的AEOI位為1,則在第二個(gè)INTA

脈沖結(jié)束時(shí),將

ISR中被第一個(gè)INTA

脈沖置“1”的位清除(自動(dòng)結(jié)束);否則,要等到中斷結(jié)束命令(EOI)發(fā)送后才能清除。.10/21/202351長(zhǎng)江大學(xué)地物學(xué)院

.10/21/202352長(zhǎng)江大學(xué)地物學(xué)院三8259A的工作方式10/21/202353長(zhǎng)江大學(xué)地物學(xué)院設(shè)置優(yōu)先級(jí)的方式屏蔽中斷源的方式中斷結(jié)束方式中斷觸發(fā)方式連接系統(tǒng)總線的方式.三8259A的工作方式10/21/202354長(zhǎng)江大學(xué)地物學(xué)院1.設(shè)置優(yōu)先級(jí)的方式(1)全嵌套方式(FULLY

NESTED

MODE)也稱固定優(yōu)先級(jí)方式。在這種方式下,由IRi引入的中斷請(qǐng)求具有固定的優(yōu)先級(jí)-IR0(最高)->IR7(最低).This

mode

is

entered

after

initialization

unless

another

modeisprogrammed.當(dāng)一個(gè)中斷請(qǐng)求被響應(yīng)時(shí),ISR中的對(duì)應(yīng)位ISn被置“1”,8259A把中斷類型碼放到數(shù)據(jù)總線上,然后,進(jìn)入中斷服務(wù)程序。一般情況下(除了“中斷自動(dòng)結(jié)束”方式外),在CPU發(fā)出中斷結(jié)束命令(EOI)前,此對(duì)應(yīng)位一直保持為“1”-封鎖同級(jí)或低級(jí)的中斷響應(yīng),但并不禁止比本級(jí)優(yōu)先級(jí)高的中斷響應(yīng)-實(shí)現(xiàn)中斷“嵌套”。.8259A的工作方式(2)特殊全嵌套方式(SPECIAL

FULLY

NESTED

MODE-SFNM)在處理某一級(jí)中斷時(shí),不但允許優(yōu)先級(jí)更高的中斷請(qǐng)求進(jìn)入,也允許同級(jí)的中斷請(qǐng)求進(jìn)入。用于主從結(jié)構(gòu)的8259系統(tǒng)中,將主片設(shè)置為“特殊全嵌套方式”。通過ICW4的“SFNM”位可以設(shè)置此種方式。8259(主片)

8259(從片)CPUIR0IR1IR7…IR0IR1IR7…10/21/202355長(zhǎng)江大學(xué)地物學(xué)院.8259A工作方式(3)優(yōu)先級(jí)自動(dòng)循環(huán)方式(AUTOMATIC

ROTATION)優(yōu)先級(jí)是循環(huán)變化的(不希望有固定的優(yōu)先級(jí)差別)-一個(gè)設(shè)備的中斷服務(wù)完成后,其優(yōu)先級(jí)自動(dòng)降為最低,而將最高優(yōu)先級(jí)賦給原來比它低一級(jí)的中斷請(qǐng)求。開始時(shí),優(yōu)先級(jí)隊(duì)列還是:IR0->IR7

,若此時(shí)出現(xiàn)了IR0請(qǐng)求,響應(yīng)IR0并處理完成后,隊(duì)列變?yōu)椋篒R1,IR2,IR3,IR4

,IR5

,IR6

,IR7,IR0。若又出現(xiàn)了IR4請(qǐng)求,處理完IR4后,隊(duì)列變?yōu)椋合到y(tǒng)中是否采用“自動(dòng)循環(huán)優(yōu)先級(jí)”,由操作命令字OCW2來設(shè)定。.10/21/202356長(zhǎng)江大學(xué)地物學(xué)院8259A的工作方式10/21/202357長(zhǎng)江大學(xué)地物學(xué)院(4)優(yōu)先級(jí)特殊循環(huán)方式(SPECIFICROTATION)與“優(yōu)先級(jí)自動(dòng)循環(huán)方式”相比,只有一點(diǎn)不同,即可以設(shè)置開始的最低優(yōu)先級(jí)。例如,設(shè)定IR4為最低優(yōu)先級(jí),那么IR5就是最高優(yōu)先級(jí),其余各級(jí)按循環(huán)方法類推。

(OCW2:”11000100”).8259A的工作方式2.屏蔽中斷源的方式(中斷屏蔽方式)普通屏蔽方式通過對(duì)中斷屏蔽寄存器(IMR)的設(shè)定,實(shí)現(xiàn)對(duì)相應(yīng)位為“1”的中斷請(qǐng)求的屏蔽??赏ㄟ^OCW1使IMR的一位或幾位置“1”。*特殊屏蔽方式(SPECIAL

MASK

MODE)作用:要求允許另一個(gè)低的中斷請(qǐng)求被響應(yīng)實(shí)現(xiàn):輸出OCW3(ESMM=1,SMM=1)輸出OCW1(使IMR對(duì)應(yīng)于本級(jí)的位為“1”)…………“中斷級(jí)無效”設(shè)置撤銷.輸出OCW1(使IMR對(duì)應(yīng)于本級(jí)的位為“0”)輸出OCW3(E長(zhǎng)S江M大M=學(xué)1地,物S學(xué)M院M=0)10/21/2023588259A工作方式3.中斷結(jié)束方式(END

OFINTERRUPT-EOI)(1)中斷自動(dòng)結(jié)束方式(AUTOMATIC-AEOI方式)在第二個(gè)INTA

后沿,即完成把對(duì)應(yīng)的ISR位復(fù)位。注意:AEOI方式是在中斷響應(yīng)后,而不是在中斷處理程序

結(jié)束后將ISR位清0。這樣,在中斷處理過程中,8259A中就沒有“正在處理”的標(biāo)識(shí)。此時(shí),若有中斷請(qǐng)求出現(xiàn),且IF=1,則無論其優(yōu)先級(jí)如何(比本級(jí)高、低或相同),都將得到響應(yīng)。尤其是當(dāng)某一中斷請(qǐng)求信號(hào)被CPU響應(yīng)后,如不及時(shí)撤銷,就會(huì)再次被響應(yīng)-“二次中斷”所以,AEOI方式適合于中斷請(qǐng)求信號(hào)的持續(xù)時(shí)間有一定限制以及不出現(xiàn)中斷嵌套的場(chǎng)合。通過ICW4可以設(shè)置AEOI方式(AEOI=1).10/21/202359長(zhǎng)江大學(xué)地物學(xué)院8259A工作方式(2)一般(常規(guī))中斷結(jié)束方式適合于全嵌套方式。實(shí)現(xiàn):在中斷服務(wù)程序結(jié)束時(shí),向8259A發(fā)常規(guī)中斷結(jié)束命令(OCW2:EOI=1,SL=0,R=0)例:MOV

AL,20H;OUT

20H,AL;OCW2=20H端口地址=20H(偶地址)在全嵌套方式下,ISR中最高優(yōu)先級(jí)的置“1”位,正對(duì)應(yīng)于當(dāng)前正在處理的中斷,將其清“0”,就完成了當(dāng)前正在處理中斷的結(jié)束操作。IR0

IR710/21/2023

60110

長(zhǎng)江1大學(xué)地…物學(xué)院.8259A工作方式10/21/202361長(zhǎng)江大學(xué)地物學(xué)院(3)特殊中斷結(jié)束方式(SPECIFIC

EOI-SEOI)在非全嵌套方式下,無固定的優(yōu)先級(jí)序列(使用設(shè)置優(yōu)先權(quán)命令或特殊屏蔽方式),此時(shí),根據(jù)ISR的內(nèi)容就無法確定剛剛所響應(yīng)(處理)的中斷。這種情況下,就不能用上述的EOI方式進(jìn)行中斷結(jié)束處理,而必須用特殊的中斷結(jié)束命令SEOI--用

OCW2:EOI=1,SL=1,R=0,L2~L0.由L2~L0指定清除ISR中的哪一位。.8259A工作方式4.中斷觸發(fā)方式電平觸發(fā)方式:由IRi上的有效電平來觸發(fā)“中斷請(qǐng)求觸發(fā)器”。邊沿觸發(fā)方式:由IRi上由低電平向高電平的跳變來觸發(fā)“中斷請(qǐng)求觸發(fā)器”。由ICW1的LTIM位可以設(shè)置中斷觸發(fā)方式。.10/21/202362長(zhǎng)江大學(xué)地物學(xué)院8259A工作方式5.連接系統(tǒng)總線的方式緩沖方式(ICW4的BUF=1)8259A通過總線驅(qū)動(dòng)器(如8286)和數(shù)據(jù)總線相連。

在緩沖方式下,8259A的SP/EN

作為輸出(EN有效),此時(shí),由ICW4的M/S位來定義(標(biāo)識(shí))本8259A是主片還是從片。如圖非緩沖方式(ICW4的BUF=0)

如圖即8259A直接與數(shù)據(jù)總線相連

在“非緩沖方式下”,8259A的

SP

/

EN

作為輸入(SP

有效)此時(shí),由SP

/

EN

端來標(biāo)識(shí)本8259A是主片還是從片。在“非緩沖方式下”,ICW4的BUF=0,M/S位無意義。.10/21/202363長(zhǎng)江大學(xué)地物學(xué)院緩沖方式級(jí)聯(lián)圖.10/21/202364長(zhǎng)江大學(xué)地物學(xué)院8259A主從級(jí)聯(lián)圖10/21/202365長(zhǎng)江大學(xué)地物學(xué)院.8259A工作方式00001100*“中斷查詢”方式特點(diǎn):總的說,既有中斷的特點(diǎn),又有查詢(Polling)的特點(diǎn)。外設(shè)仍然向8259A發(fā)中斷請(qǐng)求信號(hào),要求CPU服務(wù)。CPU的IF=0,不響應(yīng)外部的中斷請(qǐng)求(對(duì)CPU的中斷請(qǐng)求信號(hào)不起作用)此時(shí),CPU需要用軟件查詢方法來確認(rèn)中斷源,從而實(shí)現(xiàn)對(duì)設(shè)備的服務(wù)先向8259A發(fā)查詢命令(pollcommand)OCW3:P.10/21/202366長(zhǎng)江大學(xué)地物學(xué)院8259A的工作方式0IR————W2W1W0緊接著執(zhí)行一條讀指令(IN指令),讀出專門的“中斷狀態(tài)字”:A0

D7

D0當(dāng)前最高優(yōu)先級(jí)的中斷請(qǐng)求1:有設(shè)備請(qǐng)求服務(wù);0:無設(shè)備請(qǐng)求服務(wù)。當(dāng)8259A收到P=1的查詢命令后,在下一個(gè)RD

信號(hào)將使ISR的相應(yīng)位置“1”,就像收到了INTA一樣,并把上述的“中斷狀態(tài)字”送到數(shù)據(jù)總線上,由CPU讀入AL。.10/21/202367長(zhǎng)江大學(xué)地物學(xué)院四8259A的控制字及編程使用8259A的初始化流程:.10/21/202368長(zhǎng)江大學(xué)地物學(xué)院初始化命令字ICW110/21/202369長(zhǎng)江大學(xué)地物學(xué)院D7

D6

D5

D4

D3D2

D1

D00001LTIMADISNGLIC416位機(jī)無效特征位電平觸發(fā)無效單片使用需要ICW4A0=0.舉例10/21/202370長(zhǎng)江大學(xué)地物學(xué)院設(shè)8259A采用電平觸發(fā),單片使用,需要ICW4,則程序段為:MOV

AL,1BH; ICW1的內(nèi)容OUT

20H,AL;

寫入ICW1的端口(A0=0).初始化命令字ICW210/21/202371長(zhǎng)江大學(xué)地物學(xué)院D7

D6

D5

D4

D3

D2D1

D0T7T6T5T4T3000中斷類型號(hào)的高5位16位機(jī)無效A0=1初始化時(shí)只寫入高5位,低3位是由中斷請(qǐng)求線Iri的二進(jìn)制編碼決定的,并且是在第一個(gè)INTA1到來時(shí),將這個(gè)編碼寫入低3位的.同一個(gè)8259A上的8個(gè)中斷源的中斷號(hào)的高5位都相同..舉例10/21/202372長(zhǎng)江大學(xué)地物學(xué)院設(shè)硬盤中斷號(hào)的高5位為08H,它的中斷請(qǐng)求線連接IR5,則程序段為:MOV

AL,08H; ICW2的內(nèi)容OUT

21H,AL;

寫入ICW2的端口(A0=1).主片和從片初始化命令字ICW310/21/202373長(zhǎng)江大學(xué)地物學(xué)院S7S6S5S4S3S2S1S0xxxxxID2ID1ID0D7

D6

D5

D4

D3

D2

D1

D0主片A0=1主片的輸入IRi上連接有從片的中斷請(qǐng)求INT時(shí),Si=1否則Si=0從片A0=1從片的3位ID有8種編碼,對(duì)應(yīng)其連接的主片的IRi..舉例10/21/202374長(zhǎng)江大學(xué)地物學(xué)院見圖5.8,設(shè)主片8259A的IR3和IR6分別連接從片的INT,則主片的

ICW3=01001000B,則程序段為:MOV

AL,48H; ICW3的內(nèi)容OUT

21H,AL;

寫入ICW3的端口(A0=0)對(duì)應(yīng)從片A的ICW3=00000011B從片B的ICW3=00000110B.初始化命令字ICW410/21/202375長(zhǎng)江大學(xué)地物學(xué)院D7

D6

D5

D4

D3

D2

D1

D0000SFNMBUFM/SAEOIμPMA0=1SFNM位:D4=1

主片采用特殊完全嵌套方式;D4=0

一般完全嵌套方式.BUF位:

D3=1緩沖方式;D3=0

非緩沖方式.M/S

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論