第九章中断控制_第1页
第九章中断控制_第2页
第九章中断控制_第3页
第九章中断控制_第4页
第九章中断控制_第5页
已阅读5页,还剩107页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

断控制

工系统

中断控制器

4

1

本章学习目标

掌握有关中断的基本概念、中断优先级、中断嵌

套、中断屏蔽、中断向量等基本概念。

❖了解8086/8088中断系统中的中断源分类、IBM-PC

机中断系统结构。

❖掌握可编程中断控制器8259A的功能、内部结构、

工作方式及初始化命令和操作命令的定义、使用方法,

服务程序的基本编写方法。

2

计算机采用中断控制技术的主要用途

计算机采用中断控制技术主要

用在以下三个方面:

❖(1)故障处理

❖(2)分时操作

❖(3)实时处理

3

1中断的基本概念

一CPU与外设之间的数据传送控制方式

(即I/O控制方式),通常有以下三种:

♦:♦程序控制方式

♦:♦中断方式

DMA方式(DirectMemoryAccess)

4

CPU通过执行程序不断读

取并检测外设的状态,只

程序控制方式有在外设确实已准备就绪

的情况下,才进行数据传

人为?十人、工口—、去工口历n送;否则,还要继续不断

输入输出程序流程图地查询外设的状态。

OI」

O,---------------------------JI---------------------------k

*

读取状态信息读取状态信息

5

程序控制方式

程序查询传送方式比无条件传送方式要准

确可靠,但在此种方式下,CPU要不断查询

外设的状态,占用了大量CPU时间,而真正

用于数据传送的时间却很少,即CPU的工作

效率很低;另外,采用这种方式,也很难满

足实时系统对I/O处理的要求。因此,出现了

中断控制方式。

6

中断方式

、中断基本概念

定义:CPU穿插处理随机事件的过程。

中断过程:

中断请求中场响应中断服务中吵结束

中断处理

中断处理的隐操作:程序状态及程序断点地址的进

栈及出栈。

7

中断的全过程及有关概念

5%种

♦:9

♦断

8

♦:♦“”是指中断源(引起中断的事件或设备)向CPU发出的

请求中断的要求;

♦当有多个中断源发出中断请求时,需要通过适当的办法(软件的

硬件的;软、硬件结合的)决定究竟先处理哪个中断请求,这就

是““;

"是藉CPU中止现行程序转至中断服务程序的过程;

"就是指CPU执行中断服务程序;

执行完中断服务程序后,返回到原先被中断的程序称为“

为了能K确返回到原来程序被中断的地方(也称一即主程序

中当前指令下面一条指令的地址),在中断服务程序的最后应专

门放置一■条O

另外,,为7使主程序在返向后仍能从断点处继续执行,

在中断服务程序的开头一保护现场(通过PUSH指令实现),在中

-恢复现场(通过POP指令实现)。

中断响应和处理过程

。需要指出:

♦:♦不同的中断类型(如可屏蔽中断、不可屏蔽中断;

外部中断、内部中断…),处理器(CPU)进行响应

和处理的具体过程并不完全相同;另外,就是对

同一种中断类型(如可屏蔽中断).

不同的处理器(如Z80,80X86)进行响应和处理的

过程也不尽相同。

10

♦:♦书P357中断响应过程6点(1,2,3,4,5,6)

。其中,前2项一般由硬件(处理器内部)完成;而后4

项一般是由软件(由程序设计者编写的中断服务程序)

来完成,即整个中断响应和处理过程是由CPU内部

的有关和密切配合,共同完成的。

♦:♦针对一个具体的系统(机型),中断服务程序设

计者应该清楚在中断响应时,“”完成了

哪些操作(如FR是否已被压入堆栈),还需要

“”(中断服务程序)完成哪些操作。

中断优先级和中断嵌套

。中断优先级(Priority)的解决方法

♦:♦系统中多个中断请求可能同时出现,CPU只能按

一定的次序(优先级策略)予以响应和处理,这个

响应的次序称为中断优先级。

♦:♦一般的方法有:

软件查询法——程序查询识别(需要少量硬件)

硬件查询法---菊花链(daisychain)优先级排队电路

。中断向量法识别——采用可编程中断控制器(如8259)

12

DO

CPU

INTR1DI

INTR2

INTR

INTR3CPU

CPU07

INTR

Ca)学叁

微处理器的3种中断技术示意图

13

INT

(1)软件查询法

端口号=

XXH

C打

RT印

。把各个外设的中断请求信号“相或”,产生一个总的INT

信号

❖当CPU响应中断后,进入中断处理程序,在中断处理程序

的开始部分安排一段带有优先级的查询程序。

。优点:省硬件

。缺点:中断响应慢

恢亚现场

中断返I川

15

⑵菊花链优先级排队电路

16

⑵菊花链优先级排队电路

•INTR=INT1+INT2+INT3

•当INTA信号沿菊花链行进时,最

一靠近CPU并发出INT请求的接口将

中断请求首先拦截住INTA信号,并送出中

______断类型码,进入相应的中断处理

_程序;在服务完成后撤销其请求

(解除对下一级的阻塞和封锁)。

INTA(3)可编程中断控制器(如8259)

INTR

17

排队链优先权的控制方法

18

中断iff求

允许接受

矢量中断优先权的控制系统

19

INTR1IR

「INTA1,设备接口

LINTM11

IM

L1NTR2

INTRIR

.INTA2.

设备接口

权INTM2

INTAIM

主机----------------r

►编

石马

向量地址

/LINTRn

电IR

路INTAn

1—11

INTMn

IMn

向量中断示意图

20

•I'断控制器按利优原则选KP

当前优先级最岛的中断由求

CPU执行完当前一条指令

CPU取下条将令

21

单级中断处理和多级中断处理

♦:♦单级中断处理不允许其他设备再中断CPU的

程庠;

多级中断处理允许优先级高的中断打断优先

级低的中断服务程序。

22

多级中断结构单级中断结构

23

B请求A、C请求

(a)单级中断处理(b)多级中断处理

同时中断请求的处理方法

24

中断嵌套

*通常,正在执行较低级的中断服务程序时,

可以响应较高级的中断请求,而将正在处理

的中断暂时挂起,称为中断嵌套。

STI

—777----可实现

----------“多重嵌套”

IRET

25

28086/8088的中断系统

。一、中断的分类:在8086/8088系统中,可将中

断分为两大类:

。第一类硬件中断:是由外部的中断请求信号启动

的中断,也称为外部中断。又可分为:

♦:♦非屏蔽中断NMI:整个系统只有一个,不受IF屏蔽

。可屏蔽中断INTR:受IF屏蔽,在中断控制器8259的统一管

理下,可屏蔽中断可有几个至几十个。

26

中断的分类

♦:♦(注意,这里的IF是CPU内部的标志寄存器的IF位,

IF=O,则对所有从INTR引脚进入的中断请求均

不予响应(“总开关”);另外,也可以在CPU外部

的中断控制器(8259)中以及各个I/O接口电路(如

8255)中对某一级中断或某个中断源单独进行屏

蔽)。

♦:♦第二类软件中断:是由CPU内部的标志状态(如TF、

OF)或执行一条中断指令(INTn),以及除数为。弓I起

的中断,也称为内部中断。

27

中断向量和中断向量表

♦:♦所谓中断向量,即中断服务程序的入口地址。

❖中断向量表是存放中断向量(中断服务程序入口地址)

的一个特定的内存区域(最低地址区).

♦:♦一个中断向量占4个字节单元,其中:

❖低地址的两个字节单元存放中断服务程序入口地址的偏移量

(IP)—低字节在前(低地址),高字节在后(高地址);

。高地址的两个字节单元存放中断服务程序入口地址的段地址

(CS)—低字节在前(低地址),高字节在后(高地址)。

28

中断向量和中断向量表

♦8086/8088的中断向量表如书P377图9.22所示

。8086/8088可以处理256种中断,对每种中断都指定一个中断

类型号也称中断向量号),每个中断类型号与一个中断服务

程序的X口地址相对应。

♦:*256个中断向量要占256*4=1024个字节单元,地址编号从

00000H〜003FFH

5个专用中断(类型0〜类型4),它们有固定的定义和处理功能;

♦27个保留的中断(类型5〜类型31)。占0000:0014H〜0000:007FH,共

108个字节单元。这个区域供系统使用,不允许用户自行定义。

224个用户可定义的中断(类型32〜类型255)。占一

0000:0080H~0000:03FFHMTU;使用时,要由用户自行填写相应的中

断入口地址。(其中有些中断类型已经有了固定用途,例如,类型

21H的中断已用作MS-Dos的系统功能调用)。

29

用户口丁用

中断向量

C224个)

系统保留断

斗】用fl««J量

〈27个)

^^0001411

4*J'|>«J»ii(Hi)

OOO12H

■3'-5」♦::

OOOOCH

专用2纪•向展《北屏蔽》

,11断向最nnnn«ii

(5个)■1号[向lit(41-步)

0000411

cs

■O号向量:(除¥去坐昔)

IP

\^OOOOOU

.

30

IBMPC/XT机的中断类型号的安排(一)

中断尘型号(H)中断6能中断次型号mt£(H)中断6能

00-3酸等除1040-43视颍显示I/O峭用

14-7壬步1144-47雄备配置最耐

28-BNMI1248-4B存花器尊备绘制

3C-F没点134C-4F的或I/O调用

410-13/出1450国RS232I/O调用

514-17打m,骅勒1554-57窗式电帝I/O调用

618-IB保留1658-5B键盘I/O调用

71C-1F保留175C-5F打卬机I/O闻用

820-23定时需1860-63ROMBASIC

924-27锲般1964-67SI导(BOOT)

A28-2B保留1A68-6B时间调用

B2C-2F率021B6C-6F键款CTRL_BREAK校前

C30-33串口11C70-73定时器时悼

D34-37硬融豉1D74-77显示器分数表

E38-3B族跌起1E78-7B的盘诙数表

3O3F打印机________1F__________显示图随泰数表

31

IBMPC/XT机的中断类型号的安排(二)

中断类地址中断类地址

中断功能中断功能

型号(H)型号(H)

2080-83程序结束2698-9B绝对磁盘写

DOS系统程序结束,驻

2184-87279C-9F

调用留内存

2288-8B结束地址28A0-A3DOS内部使用

238C-8F中止处理29〜2EA4-BBDOS保留

2490-93错误处理2FBC-BFDOS内部使用

绝对磁盘

2594-9730〜3FC0-FFDOS保留

32

I

中断类型B

8259输入当中断源M

P

IRQO08电子钟时间基准C

'

X

IRQ109T

IRQ20A为用户保留中

IRQ30B异步通信:COM2

IRQ40C异步通信:COM1

IRQ50D硬盘断

IRQ60E软盘型

IRQ70F并行打印机33

中断向量和中断向量表

中断向量在中断向量表是按中断类型号顺序存放的;

中断向量的地址=中断类型号X4

♦:.CPU响应中断时,需把中断类型号N乘以4,得到中断向量

的对应地址4N(该中断向量所占4个字节单元的第一个字节

单元的地址)一

♦然后把由此地址开始的两个低字节单元的内容装入IP寄存

器:IP«N,4N+1),再把两个高字节单元的内容装入CS寄

存器:CS(4N+2,4N+3),这就是转入中断类型号为N的中

断服务程序的控制过程。

♦:eN的来源,对于不同的中断类型(内部,外部:NMI、INTR)

情况有所不同,详见后述

34

。例1:若中断类型号为3,则由中断类型号取得中断

服务入口地址的过程如下图所示:

内存

中断类型号3X40000QH

=OOOCH00001H

0000CH

(0000:000CH)

1EA00H

(1EOO:OAOOH)

FFFFFH35

。例2.中断类型号为20H,中断服务程序的入口地

址存放在0000:0080H开始的4个单元中。若:

❖(0080H)=10H

则:中断服务程序的入口地址

❖(0081H)=20H为________________________

❖(0082H)=30H

♦:♦(0083H)=40H

36

例3.中断类型号为23(17H),中断服务程序的入口地址

为:2340:7890H,由于中断类型号17H对应的中断向量

存放在0段的0000:005CH(17HX4=5CH)处,所以有:

♦(005CH尸

♦(005DH尸、00010111B

左移2位:01011100B

\_____________J\_____________)

♦(005EH尸YY

5CH

♦(005FH尸

37

上2

(6^

:-

欣n

(>-•*io

Z必_

H'l

H父

*英

-

一2

/二

J

L不I

G

)

8086/8088中断处理流程图

中断优先级一

♦8086(Priority)中断优先

♦:♦说明:级

除法错,INTn,INTO最高

♦(1)〜(5)步是CPU的内部处理(由NMI

硬件自动完成)INTRy

。所有内部中断(除法错、INTn、单步中断最低

INTO、单步)以及NMI中断不

需要从数据总线上读取中断类

型码,而INTR中断需读取中

断类型码,中断类型码由发出

INTR信号的接口提供。

39

单步运行方式时发生中断的处理过程

40

单步运行方式时发生中断的处理过程

堆栈的情形:作业:

画出在单步运行时(TF=1)发

rp生INTR中断的处理流程及堆栈的情

形。假定当前指令下一条指令的地

>CS址为4030H:2080H;INTR中断服

务程序的入口地址为9080H:3020H.

TF=O

TP

-X

1CS

TF=1

四软件中断(内部中断)

♦:♦除法错中断(也称除数为0中断)一类型0

♦在执行DIV(无符号除法)或IDIV(带符号除法)指令时,若发

现除数为0,则立即产生一个类型号为0的内部中断,CPU转

向除法错中断处理程序。

❖溢出中断一类型4

。若上一条指令执行的结果使溢出标识位OF被置1,则接着执

行INTO指令时,将引起类型为4的内部中断,CPU转入对溢

出错误处理程序,若OF=0时,INTO指令执行空操作,即

INTO指令不起作用。INTO指令通常安排在算术指令之后,

以便在溢出时能及时处理。

42

♦:♦软件(指令)中断(执行INTn指令引起的中断)

。双字节指令,第一个字节为操作码;第二个字节为中断类型

号,该指令控制CPU转向相应的中断服务程序。

43

。断点中断一类型3

♦:TNT3或简写为INT,是单字节指令。调试程序时可

以在一些关键性的地方设置断点,使CPU在此断点

处执行中断服务程序。

。单步中断一类型1

TF=1

单步执行

44

软件中断(内部中断)的特点

中断类型号由CPU内部自动提供(包括由中断指

令第二字节提供的中断类型号),不需去执行中

断响应总线周期读取中断类型号。

。除单步中断外,所有内部中断(除法错,INTO,

INTn)均不可以用软件来屏蔽。

♦:♦除单步中断外,所有内部中断都比外部中断优

先级高。

45

五中断服务程序的一般结构

例如:

(保护现场(将需要保护的寄存器压入堆栈)

PUSHAX

STI(可选);

_________________PUSHBX

I^中断处理PUSHCX

恢复现场POPCX

〔IRET

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论