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

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第九章中斷

■概述

■中斷原理

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

■中斷響應過程

■8086中斷系統(tǒng)

■8086CPU的中斷管理

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

概述

當CPU用查詢的方式與外設交換信息時,

CPU就要浪費很多時間去等待外設。這樣

就引出一個快速的CPU與慢速的外設之間

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

過程中遇到的嚴重問題之一。為解決這

個問題,一方面要提高外設的工作速度,

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

計算機的重要指標之一。

9.1中斷原理

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

條件傳送最大的缺點就是為了CPU和外設在

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

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

的工作效率。

具有中斷功能的CPU中,有一個硬件部件專

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

二、中斷概念

在中斷傳送方式下,外設應有請求CPU

服務的權利,當外部設備準備好向CPU傳送

數據,或者外設已準備就緒接收CPU的數據,

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

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

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

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

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

一個中斷概念。

I?'.-.!■

iniiin

!由ii

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

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

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

文檔中作暫停記號當前PC及寄存器入棧(保護現場)

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

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

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

三、中斷應用

1、實時故障處理

存儲器出錯檢測電路

奇偶

存儲器位

奇偶檢測電路

2、分時操作,同時處理

有了中斷功能,CPU可命令多個外

設同時工作。雖然CPU在不同的時間

點上為不同的任務工作,但宏觀上

看CPU幾乎同時為不同的任務工作,

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

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

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

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

有兩個特點:

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

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

應時一直保存下去;

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

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

以被撤除。

中斷請求

+5V—DQ

狀態(tài)線CLK

-

R

外設讀、寫操作

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

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

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

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

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

就可以達到對中斷源的控制。

求佶號

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

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

斷請求信號進行響應。

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

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

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

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

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

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

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

—再談中斷條件

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

終得到CPU的響應,必須要滿足如下兩個條

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

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

但CPU是否相應這個中斷,還要看中斷允許

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

中斷的條件下,CPU才能進入中斷響應過程,

處理中斷事務。這就是第二個條件。

9.3中斷響應過程

中斷過程主要包括三個方面:

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

?CPU對中斷請求信號所作出反應即中斷響應

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

匚一、中斷申請

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

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

二、中斷響應

CPU響應可屏蔽中斷申請必須滿足3個條件:

①無總線請求;

q②CPU被允許中斷;

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

三、中斷處理

CPU響應中斷后要自動完成三項任務

1、關閉中斷;

2、CS、IP以及FR的內容推入堆棧

3、中斷服務程序段地址送入CS中,

偏移地址送入IP中。

一旦CPU響應中斷,就可轉入中斷服務程

序之中。中斷服務程序的結構如下:

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

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

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

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

才能轉到相應的中斷服務程序為之服務。

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

識別或中斷方式。

1、中斷源識別

包括兩個方面:

其一,確定中斷源,

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

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

piEIMHl

miRin.

i酬布

(1)查詢中斷

0.

2?

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

TESTAL,80H;是0號設備請求嗎?

JNZSEVO;是,轉0號設備服務程序

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

JNZSEV1;是,轉1號設備服務程序

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

JNZSEV2;是,轉2號設備服務程序

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

JNZSEV3;是,轉3號設備服務程序

(2)矢量中斷

中斷申請信號和中斷

響應信號是一對握手信號。

在驅動一個中斷事件過程

中,中斷請求信號是外設

發(fā)給CPU的,當其有效時,

表示外設請求CPU為之服務。

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

外設的,當其有效時,表

明CPU可以為這個外設服務,

同時要求外設提供中斷類

型號。

矢量中斷

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

(1)軟件方案

軟件查詢確定優(yōu)先權的缺點是,響應中斷慢。

(2)、硬件方案

?鏈形電路

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

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

1

IE1'IEOIEI2*IEOIEI3‘1EQ

接收3,—<3IEO

?編碼電路

74LS148是一個8到3線的優(yōu)先權

編碼器,它是一個16個管腳雙列直

插式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)有兩大類型的中斷源,一類

是由外部設備產生的中斷,我們稱之為硬件中

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

令在某種運行結果時產生的中斷,我們稱之為

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

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

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

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

間的關系:

內存

IP

/0000:4n+000

中斷類0000:4n+l10

型號n0000:4n+200

0000:4n+320

八不可屏蔽中斷

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

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

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

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

生,在CPU內部直接生成中斷類型號02。

IF=O內存

IP,CS,FR進棧

IP=[2*4+0]

CS=[2*4+2]

M三、可屏蔽中斷

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

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

IF的設置來禁止和允許CPU響應中斷???/p>

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

種中斷請求需要設備提供中斷類型號,

CPU響應中斷后,取中斷類型號的4倍作

為中斷服務入口地址表的地址,通過查

表得到相應的中斷服務程序首地址,轉

S去執(zhí)行相應的中斷服務程序。

IF=O內存

0000:4*n+0

IP,CS,FR進棧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,操作數n

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

指令INTn后,就會立即產生一個中斷

類型號為n的中斷。

(1)除法中斷

當進行除法運算時,若除數為0或

除數太小,使得商數大于相應寄存器

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

這時除法指令就相當于一個中斷源,

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

(2)溢出中斷

當算術運算產生溢出時,將在INTO指令控制下向

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

(3)單步中斷和斷點中斷

?單步中斷

當8086CPU的標志寄存器中的TF標志為1時,

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

執(zhí)行后自動產生類型1的中斷。

?斷點中斷

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

的代碼嵌入任意條指令的操作碼處,從而實現斷

點中斷。

五、中斷概念的再討論

1、中斷與調子程序之間的關系

(1)中斷過程實際上是CPU從執(zhí)行當前主程序轉到執(zhí)行為外設

服務的子程序,因此從這個角度來看,中斷過程是一個調

用子程序的過程。

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

程序的過程是一個無條件過程,但中斷過程的中斷服務程

序的調用一般是有條件的。其次,子程序調用在整個程序

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

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

程序向中斷服務子程序的轉移事件,也就是說硬件中斷產

生的調用過程是隨機的,不可預測的。

2、外部中斷和INTn之間的關系

結合中斷指令INTn,我們可以這樣理

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

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

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

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

了一個INTn指令,這里的n就是外設提供的

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

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

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

現了主程序向中斷程序的轉移。

9.58086CPU的中斷管理

一、8086CPU的中斷處理順序

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

?1、除法出錯中斷,溢出中斷,INTn;

?2、NM1;

?3、INTR;

?4、單步中斷。

O00H-除法中斷入口IP

fcs

0o4H

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

用0Q8H

中—NMI中斷入口一

斷服務入口地c

八C

址表-斷點中斷入口一

—溢出中斷入口-

O4H

類型5中斷入口一

07FH類型31中斷入口一

080H

一類型32中斷入口-

3FCH

類型255中斷入口

、中斷入口地址設置

1、用串指令

CLI;關中斷

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;中斷服務程序

IRET

INT—VCEENDP

3、用系統(tǒng)調用

使用DOS功能調用的25H功能

要求:

AL=中斷類型號

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

PUSHDS

MOVDX,SEGINT60H;段基地址送DS

MOVDS,DX

MOVDX,OFFSETINT60H;偏移地址送DX

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

MOVAH,25H

INT21H;25H功能調用

POPDS

4、直接裝入法

若外設的中斷類型號為6BH,則此中斷類型

號對應的中斷矢量表地址為從001ACH開始的

四個存儲單元.設中斷服務程序段地址是

1000H,偏移地址為2000H。

MOVAX,,0

MOVDS,AX;置數據段段基地址為0

MOVAX,2000H

MOVWORDPTR[01ACH],AX

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

MOVAX.1000H;送雙字

MOVWORDPTR[01ACH+21,AX

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

一、8259A的內部結構

SP/EN

中斷檢測

二、8259A的中斷管理方式

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

(1)完全嵌套方式

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

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

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

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

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

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

先權。

(3)中斷屏蔽方式

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

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

(4)特殊完全嵌套方式

用在8259A有級聯的情況

2、8259A中斷結束的管理方式

(1)完全嵌套情況

可采用三種中斷結束方式:一般EOI方

式、特殊EOI方式、自動EOI方式。最常

用的為一般EOI方式。

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

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

方式、特殊EOI方式、自動EOI方式。

三、IBM-PC機硬件中斷

1、中斷

溫馨提示

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

最新文檔

評論

0/150

提交評論