CHAPTER9 中斷教學(xué)課件_第1頁
CHAPTER9 中斷教學(xué)課件_第2頁
CHAPTER9 中斷教學(xué)課件_第3頁
CHAPTER9 中斷教學(xué)課件_第4頁
CHAPTER9 中斷教學(xué)課件_第5頁
已閱讀5頁,還剩55頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

第九章中斷

■概述

■中斷原理

■中斷系統(tǒng)組成及其功能

■中斷響應(yīng)過程

■8086中斷系統(tǒng)

■8086CPU的中斷管理

■可編程中斷管理芯片8259A

概述

當(dāng)CPU用查詢的方式與外設(shè)交換信息時(shí),

CPU就要浪費(fèi)很多時(shí)間去等待外設(shè)。這樣

就引出一個(gè)快速的CPU與慢速的外設(shè)之間

數(shù)據(jù)傳送的矛盾,這也是計(jì)算機(jī)在發(fā)展

過程中遇到的嚴(yán)重問題之一。為解決這

個(gè)問題,一方面要提高外設(shè)的工作速度,

另一方面發(fā)展了中斷慨念。中斷系統(tǒng)是

計(jì)算機(jī)的重要指標(biāo)之一。

9.1中斷原理

一、從無條件傳送、條件傳送到中斷傳送

條件傳送最大的缺點(diǎn)就是為了CPU和外設(shè)在

時(shí)間上配合正確,CPU花大量的時(shí)間用無條件

方式對狀態(tài)線進(jìn)行查詢,從而降低了整個(gè)系統(tǒng)

的工作效率。

具有中斷功能的CPU中,有一個(gè)硬件部件專

門用于檢測外設(shè)的狀態(tài)線。

二、中斷概念

在中斷傳送方式下,外設(shè)應(yīng)有請求CPU

服務(wù)的權(quán)利,當(dāng)外部設(shè)備準(zhǔn)備好向CPU傳送

數(shù)據(jù),或者外設(shè)已準(zhǔn)備就緒接收CPU的數(shù)據(jù),

或者有某些緊急情況要求處理,或者是定時(shí)

時(shí)間到等等。這時(shí),外設(shè)向CPU發(fā)出中斷請

求,CPU接收到請求并在一定條件下,暫時(shí)

停止執(zhí)行原來的程序而轉(zhuǎn)去中斷處理,處理

好中斷服務(wù)再返回來執(zhí)行原來程序,這就是

一個(gè)中斷概念。

I?'.-.!■

iniiin

!由ii

處理文檔執(zhí)行主程序(日常事務(wù)程序)

電話鈴響中斷申請信號有效(中斷請求)

暫停文檔暫停執(zhí)行主程序響應(yīng)中斷

文檔中作暫停記號當(dāng)前PC及寄存器入棧(保護(hù)現(xiàn)場)

電話交談處理外設(shè)要求(中斷服務(wù))

找出暫停記號位置寄存器及PC出棧(恢復(fù)現(xiàn)場及中斷返回)

繼續(xù)處理文檔繼續(xù)執(zhí)行主程序

三、中斷應(yīng)用

1、實(shí)時(shí)故障處理

存儲器出錯(cuò)檢測電路

奇偶

存儲器位

奇偶檢測電路

2、分時(shí)操作,同時(shí)處理

有了中斷功能,CPU可命令多個(gè)外

設(shè)同時(shí)工作。雖然CPU在不同的時(shí)間

點(diǎn)上為不同的任務(wù)工作,但宏觀上

看CPU幾乎同時(shí)為不同的任務(wù)工作,

極大地發(fā)揮了CPU高速性的特點(diǎn)。

9.2中斷系統(tǒng)組成及其功能

一、三個(gè)與中斷有關(guān)的觸發(fā)器

1、中斷請求觸發(fā)器

有兩個(gè)特點(diǎn):

(1)它的輸出可以作為中斷請求信號,在滿足一

定條件的情況下把信號發(fā)送給CPU,并在CPU未響

應(yīng)時(shí)一直保存下去;

(2)、當(dāng)CPU滿足一定條件下響應(yīng)了該中斷請求

信號,執(zhí)行了相關(guān)的操作后,該中斷請求信號可

以被撤除。

中斷請求

+5V—DQ

狀態(tài)線CLK

-

R

外設(shè)讀、寫操作

2、中斷屏蔽觸發(fā)器

中斷屏蔽觸發(fā)器的功能就是決定

中斷請求觸發(fā)器的輸出信號是否可

以作為中斷請求信號發(fā)送給CPU,這

樣CPU通過對中斷屏蔽觸發(fā)器的設(shè)置

就可以達(dá)到對中斷源的控制。

求佶號

3、CPU內(nèi)部的中斷允許觸發(fā)器。

CPU通過對它進(jìn)行設(shè)置來決定是否對發(fā)給它的中

斷請求信號進(jìn)行響應(yīng)。

有些CPU,比如8086CPU,設(shè)置了兩種中斷類型

可屏蔽中斷和不可屏蔽中斷??善帘沃袛嗍苤袛?/p>

允許觸發(fā)器控制,只有當(dāng)IF為1時(shí),CPU才能響應(yīng)

中斷請求信號。而不可屏蔽中斷不受中斷允許觸

發(fā)器的控制,只要中斷請求信號有效,不管IF是

否為1,CPU就必須響應(yīng)。因此不可屏蔽中斷的中

斷優(yōu)先級要大于可屏蔽中斷的中斷優(yōu)先級。

—再談中斷條件

外設(shè)的中斷請求信號要想發(fā)給CPU并能最

終得到CPU的響應(yīng),必須要滿足如下兩個(gè)條

件:一個(gè)是中斷屏蔽觸發(fā)器處于非屏蔽狀態(tài)。

在這種情況下,中斷請求信號才能發(fā)給CPU。

但CPU是否相應(yīng)這個(gè)中斷,還要看中斷允許

觸發(fā)器是否處于開中斷狀態(tài)。只有CPU是開

中斷的條件下,CPU才能進(jìn)入中斷響應(yīng)過程,

處理中斷事務(wù)。這就是第二個(gè)條件。

9.3中斷響應(yīng)過程

中斷過程主要包括三個(gè)方面:

?外設(shè)發(fā)中斷請求信號給CPU即中斷請求;

?CPU對中斷請求信號所作出反應(yīng)即中斷響應(yīng)

?CPU執(zhí)行對外設(shè)操作的子程序即中斷處理。

匚一、中斷申請

當(dāng)中斷屏蔽觸發(fā)器狀態(tài)為1,則中斷請

求觸發(fā)器輸出的中斷請求信號發(fā)給CPU。

二、中斷響應(yīng)

CPU響應(yīng)可屏蔽中斷申請必須滿足3個(gè)條件:

①無總線請求;

q②CPU被允許中斷;

?③CPU執(zhí)行完現(xiàn)行指令.

三、中斷處理

CPU響應(yīng)中斷后要自動(dòng)完成三項(xiàng)任務(wù)

1、關(guān)閉中斷;

2、CS、IP以及FR的內(nèi)容推入堆棧

3、中斷服務(wù)程序段地址送入CS中,

偏移地址送入IP中。

一旦CPU響應(yīng)中斷,就可轉(zhuǎn)入中斷服務(wù)程

序之中。中斷服務(wù)程序的結(jié)構(gòu)如下:

四、中斷源識別及中斷優(yōu)先權(quán)

在中斷系統(tǒng)中一個(gè)非常關(guān)鍵的問題是

CPU如何知道是哪一個(gè)中斷源發(fā)出的中斷

申請信號。只有正確地確定中斷源,CPU

才能轉(zhuǎn)到相應(yīng)的中斷服務(wù)程序?yàn)橹?wù)。

這里,確定中斷源的方法被稱為中斷源

識別或中斷方式。

1、中斷源識別

包括兩個(gè)方面:

其一,確定中斷源,

其二,找到該中斷服務(wù)程序的首地址。

下面我們給出解決問題的兩種方案。

piEIMHl

miRin.

i酬布

(1)查詢中斷

0.

2?

INAL.IPORT;從輸入接口取中斷信息

TESTAL,80H;是0號設(shè)備請求嗎?

JNZSEVO;是,轉(zhuǎn)0號設(shè)備服務(wù)程序

TESTAL.40H;否,是1號設(shè)備請求嗎?

JNZSEV1;是,轉(zhuǎn)1號設(shè)備服務(wù)程序

TESTAL.20H;否,是2號設(shè)備請求嗎?

JNZSEV2;是,轉(zhuǎn)2號設(shè)備服務(wù)程序

TESTAL.10H;否,是3號設(shè)備請求嗎?

JNZSEV3;是,轉(zhuǎn)3號設(shè)備服務(wù)程序

(2)矢量中斷

中斷申請信號和中斷

響應(yīng)信號是一對握手信號。

在驅(qū)動(dòng)一個(gè)中斷事件過程

中,中斷請求信號是外設(shè)

發(fā)給CPU的,當(dāng)其有效時(shí),

表示外設(shè)請求CPU為之服務(wù)。

而中斷響應(yīng)信號是CPU發(fā)給

外設(shè)的,當(dāng)其有效時(shí),表

明CPU可以為這個(gè)外設(shè)服務(wù),

同時(shí)要求外設(shè)提供中斷類

型號。

矢量中斷

2、中斷優(yōu)先權(quán)

(1)軟件方案

軟件查詢確定優(yōu)先權(quán)的缺點(diǎn)是,響應(yīng)中斷慢。

(2)、硬件方案

?鏈形電路

這種方法是利用外設(shè)在系統(tǒng)中的

物理位置來決定其中斷優(yōu)先權(quán)的

1

IE1'IEOIEI2*IEOIEI3‘1EQ

接收3,—<3IEO

?編碼電路

74LS148是一個(gè)8到3線的優(yōu)先權(quán)

編碼器,它是一個(gè)16個(gè)管腳雙列直

插式TTL器件.

輸入「

I.一116—Vcc輸出

】5—Ei01234567AzA]AoGsEo

215-Eo

1xxxxxxxx11111

k一3141Gs

01111111111110

I?—4£13一130XXXXXXx000001

E】—5g12—I20XXXXXx0100101

0XXXXX01101001

As—611—Il

0XXXX011101101

A]一710-Io0XXX0111110001

GND-89一Ao0XX01111110101

0X011111L11001

00111111111101

圖7.474L5148編碼器管腳圖及真值表

+5VDQ

INTR

TCLK

CS

A77RD

B7

A64

I7B6

INT7T7A5LINTA

fNn-d

I6B5

4A4S

I5B4

LA32接CPU的D??D.

B3

INT4--->I4A24

INT?ISA2

3B2

1AiAl5

叫YBl

I24AoAO

INTi<jIiBO

8

INToClo

pirn

l"T9.48086中斷系統(tǒng)

一、8086的中斷源

8086中斷系統(tǒng)有兩大類型的中斷源,一類

是由外部設(shè)備產(chǎn)生的中斷,我們稱之為硬件中

斷,硬件中斷有時(shí)又稱外中斷。另一類是由指

令在某種運(yùn)行結(jié)果時(shí)產(chǎn)生的中斷,我們稱之為

軟件中斷。另外對于硬件中斷,又分為不可屏

蔽中斷和可屏蔽中斷,硬件中斷是通過CPU芯

片的INTR管腳或NMI管腳從外部引入的。

中斷類型號和中斷服務(wù)子程序的入口地址之

間的關(guān)系:

內(nèi)存

IP

/0000:4n+000

中斷類0000:4n+l10

型號n0000:4n+200

0000:4n+320

八不可屏蔽中斷

所謂不可屏蔽中斷就是用戶不能通過

CPU內(nèi)的中斷允許觸發(fā)器IF控制的中斷,

由8086CPU的NMI管腳引入。NMI中斷請求

采用上升沿觸發(fā)方式,這種中斷一旦產(chǎn)

生,在CPU內(nèi)部直接生成中斷類型號02。

IF=O內(nèi)存

IP,CS,FR進(jìn)棧

IP=[2*4+0]

CS=[2*4+2]

M三、可屏蔽中斷

■可屏蔽中斷就是用戶可以控制的中斷,

其途徑是通過對CPU內(nèi)的中斷允許觸發(fā)器

IF的設(shè)置來禁止和允許CPU響應(yīng)中斷???/p>

屏蔽中斷由8086CPU的INTR管腳引入。這

種中斷請求需要設(shè)備提供中斷類型號,

CPU響應(yīng)中斷后,取中斷類型號的4倍作

為中斷服務(wù)入口地址表的地址,通過查

表得到相應(yīng)的中斷服務(wù)程序首地址,轉(zhuǎn)

S去執(zhí)行相應(yīng)的中斷服務(wù)程序。

IF=O內(nèi)存

0000:4*n+0

IP,CS,FR進(jìn)棧0000:4*n+l

0000:4*n+2

0000:4*n+3

取中斷類型號n

IP=[2*n+0]

CS=[2*n+2]

口、8086中斷系統(tǒng)

1、軟件中斷

軟件中斷是由中斷指令引起的。中

斷指令的指令格式為INTn,操作數(shù)n

就是中斷類型號。當(dāng)CPU執(zhí)行完畢中斷

指令I(lǐng)NTn后,就會立即產(chǎn)生一個(gè)中斷

類型號為n的中斷。

(1)除法中斷

當(dāng)進(jìn)行除法運(yùn)算時(shí),若除數(shù)為0或

除數(shù)太小,使得商數(shù)大于相應(yīng)寄存器

所能表示的最大值,被稱作除法出錯(cuò)。

這時(shí)除法指令就相當(dāng)于一個(gè)中斷源,

它向CPU發(fā)出類型0中斷。

(2)溢出中斷

當(dāng)算術(shù)運(yùn)算產(chǎn)生溢出時(shí),將在INTO指令控制下向

CPU發(fā)出類型4的中斷,即溢出中斷。

(3)單步中斷和斷點(diǎn)中斷

?單步中斷

當(dāng)8086CPU的標(biāo)志寄存器中的TF標(biāo)志為1時(shí),

8086CPU處于單步工作方式,這時(shí)CPU在每條指令

執(zhí)行后自動(dòng)產(chǎn)生類型1的中斷。

?斷點(diǎn)中斷

INT3指令是1字節(jié)指令,可將這條指令的目

的代碼嵌入任意條指令的操作碼處,從而實(shí)現(xiàn)斷

點(diǎn)中斷。

五、中斷概念的再討論

1、中斷與調(diào)子程序之間的關(guān)系

(1)中斷過程實(shí)際上是CPU從執(zhí)行當(dāng)前主程序轉(zhuǎn)到執(zhí)行為外設(shè)

服務(wù)的子程序,因此從這個(gè)角度來看,中斷過程是一個(gè)調(diào)

用子程序的過程。

(2)中斷過程與子程序調(diào)用還是有很大差別的,首先調(diào)用子

程序的過程是一個(gè)無條件過程,但中斷過程的中斷服務(wù)程

序的調(diào)用一般是有條件的。其次,子程序調(diào)用在整個(gè)程序

執(zhí)行中的位置是固定的。但對于硬件中斷過程,只要條件

滿足,在整個(gè)程序執(zhí)行的任意一時(shí)間點(diǎn)都有可能發(fā)生從主

程序向中斷服務(wù)子程序的轉(zhuǎn)移事件,也就是說硬件中斷產(chǎn)

生的調(diào)用過程是隨機(jī)的,不可預(yù)測的。

2、外部中斷和INTn之間的關(guān)系

結(jié)合中斷指令I(lǐng)NTn,我們可以這樣理

解外部中斷:當(dāng)外部中斷源發(fā)中斷給CPU時(shí),

如果CPU滿足一定的條件,處于開中斷狀態(tài),

CPU就可以響應(yīng)中斷,這時(shí)外設(shè)在CPU正在執(zhí)

行指令與其下一個(gè)指令之間,等效“插入”

了一個(gè)INTn指令,這里的n就是外設(shè)提供的

中斷類型號。注意這里用“等效”兩字表示

實(shí)際過程中是不存在插入INTn指令的操作,

但CPU確實(shí)完成了類似INTn指令的功能,實(shí)

現(xiàn)了主程序向中斷程序的轉(zhuǎn)移。

9.58086CPU的中斷管理

一、8086CPU的中斷處理順序

8086CPU的中斷優(yōu)先權(quán)排列從高到低為:

?1、除法出錯(cuò)中斷,溢出中斷,INTn;

?2、NM1;

?3、INTR;

?4、單步中斷。

O00H-除法中斷入口IP

fcs

0o4H

二、8086CPU的中5一單步中斷入口■,1

用0Q8H

中—NMI中斷入口一

斷服務(wù)入口地c

八C

址表-斷點(diǎn)中斷入口一

—溢出中斷入口-

O4H

類型5中斷入口一

07FH類型31中斷入口一

080H

一類型32中斷入口-

3FCH

類型255中斷入口

、中斷入口地址設(shè)置

1、用串指令

CLI;關(guān)中斷

MOVAX,0

MOVES,AX;置附件段基地址為0

MOVDI,n*4;置附件段偏移地址到DI

MOVAX,OFFSETINT_VCE;置中斷程序首地址的偏移量到AX

CLD

STOSW;填偏移量到中斷地址表

MOVAX,SEGINT_VCE;置中斷程序的段基地址到AX

STOSW;填段基地址到中斷地址表

STI;開中斷

2、用偽指令

INT-TBLSEGMENTAT0;定義INT—TBL段,段基地址為0

ORGn*4;指定偏移地址

DDINT—VCE;存中斷程序入口地址

INT-TBLENDS

;其他處理

MCODESEGMENT;主程序

;其他處理

INT—VCEPROCFAR;中斷服務(wù)程序

IRET

INT—VCEENDP

3、用系統(tǒng)調(diào)用

使用DOS功能調(diào)用的25H功能

要求:

AL=中斷類型號

DS:DX=中斷服務(wù)程序首地址的段、偏移地

PUSHDS

MOVDX,SEGINT60H;段基地址送DS

MOVDS,DX

MOVDX,OFFSETINT60H;偏移地址送DX

MOVAL,60H;中斷類型號送AL

MOVAH,25H

INT21H;25H功能調(diào)用

POPDS

4、直接裝入法

若外設(shè)的中斷類型號為6BH,則此中斷類型

號對應(yīng)的中斷矢量表地址為從001ACH開始的

四個(gè)存儲單元.設(shè)中斷服務(wù)程序段地址是

1000H,偏移地址為2000H。

MOVAX,,0

MOVDS,AX;置數(shù)據(jù)段段基地址為0

MOVAX,2000H

MOVWORDPTR[01ACH],AX

;對偏移地址為01AC的單元

MOVAX.1000H;送雙字

MOVWORDPTR[01ACH+21,AX

9.6可編程中斷管理芯片8259A

一、8259A的內(nèi)部結(jié)構(gòu)

SP/EN

中斷檢測

二、8259A的中斷管理方式

1、中斷優(yōu)先權(quán)管理

(1)完全嵌套方式

8259A的中斷請求輸入端引入的中斷具

有固定的優(yōu)先權(quán)排隊(duì)順序,IR。為最高優(yōu)

先級,IRi為次高優(yōu)先級,依次類推,IR7

為最低優(yōu)先級。

S(2)自動(dòng)循環(huán)方式

從IR°—IR7引入的中斷輪流具有最高優(yōu)

先權(quán)。

(3)中斷屏蔽方式

有兩種方法:第一、普通屏蔽方式。

第二,采用特殊屏蔽方式。

(4)特殊完全嵌套方式

用在8259A有級聯(lián)的情況

2、8259A中斷結(jié)束的管理方式

(1)完全嵌套情況

可采用三種中斷結(jié)束方式:一般EOI方

式、特殊EOI方式、自動(dòng)EOI方式。最常

用的為一般EOI方式。

(2)自動(dòng)循環(huán)情況

也可采用三種中斷結(jié)束方式:一般EOI

方式、特殊EOI方式、自動(dòng)EOI方式。

三、IBM-PC機(jī)硬件中斷

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

評論

0/150

提交評論