中断服务程序流程图(2)

2019-05-27 21:25

第二讲:

I/O接口原理-中断方式、DMA方式

回 顾:微机系统主机与外部设备之间的数据传送,包括I/O端口的寻址方

式,输入/输出的传送控制方式。

重点和纲要:I/O接口原理(中断方式、DMA方式)。

教学方法、实施步骤 回 顾 讲 授 提 问 小 结 时间分配 5”×2 40” ×2 3” ×2 2” ×2 教学手段 板书 计算机 投影仪 多媒体课件等

讲授内容:

1. 中断传送方式

(1)为什么要采用中断传送方式 从查询式的传输过程可以看出,它的优点是硬件开销小,使用起来比较简单。但在此方式下,CPU要不断地查询外设的状态,当外设未准备好时,CPU就只能循环等待,不能执行其它程序,这样就浪费了CPU的大量时间,降低了主机的利用率。

为了解决这个矛盾,我们提出了中断传送方式:即当CPU进行主程序操作时,外设的数据已存入输入端口的数据寄存器;或端口的数据输出寄存器已空,由外设通过接口电路向CPU发出中断请求信号,CPU在满足一定的条件下,暂停执行当前正在执行的主程序,转入执行相应能够进行输入/输出操作的子程序,待输入/输出操作执行完毕之后CPU即返回继续执行原来被中断的主程序。这样CPU就避免了把大量时间耗费在等待、查询状态信号的操作上,使其工作效率得以大大地提高。

能够向CPU发出中断请求的设备或事件称为中断源。

微机系统引入中断机制后,使CPU与外设(甚至多个外设)处于并行工作状态,便于实现信息的实时处理和系统的故障处理。

中断方式的原理示意图如图5-6所

示。

- 6 -

(2)中断方式下的接口电路 图5-6

中断方式提高了CPU的工作效率,但是它同时也提高了系统的硬件开销。因为系统需增加含有中断功能接口电路,用来产生中断请求信号。以输入方式为例,接口电路如图5-7所示。

图5-7

数据输入的过程:当外设发STB→数据入锁存器,中断请求触发器置1→若没有屏蔽则产生INTR→CPU满足条件(允许中断;指令执行完)发INTA→(进入中断服务子程序)读数据,发RD,和地址→清中断请求触发器,数据送D0~D7。(输出过程请自己思考)

(3)中断优先级

问题的提出:

当系统中有多个设备提出中断请求时,就有一个该响应谁的问题,也就是一个优先级的问题,解决优先级的问题一般可有三种方法:软件查询法、简单硬件方法及专用硬件方法。下面分别介绍:

①软件查询法

只需有简单的硬件电路,如将A、B、C三台设备的中断请求信号“或”后作为系统INTR,这时,A、B、C三台设备中只要至少有一台设备提出中断请求,都可以向CPU发中断请求。进入中断服务子程序后,再用软件查询的方式分别对不同的设备的服务,查询程序的设计思想同查询式,查询的前后顺序就给

- 7 -

出了设备的优先级,框图如图所示。

②简单硬件方法

以链式中断优先权排队电路为例,

基本设计思想:将所有的设备连成一条链,靠近CPU的设备优先级最高,越远的设备优先级别越低,则发出中断响应信号,若级别高的设备发出了中断请求,在它接到中断响应信号的同时,封锁其后的较低级设备使得它们的中断请求不能响应,只有等它的中断服务结束以后才开放,允许为低级的设备服务。 如图所示。

③专用硬件方式

采用可编程的中断控制器芯片,如Intel8259A。

图5-11 中断控制器的系统连接

有了中断控制器以后,CPU的INTR和INTA引脚不再与接口直接相连,而是与中断控制器相连,外设的中断请求信号通过IR0~IR7进入中断控制器,经优先级管理逻辑确认为级别最高的那个请求的类型号会经过中断类型寄存器在当前中断服务寄存器的某位上置1,并向CPU发INTR请求,CPU发出INTA信号后,中断控制器将中断类型码送出。在整个过程中,优先级较低的中断请求都受到阻塞,直到较高级的中断服务完毕之后,当前服务寄存器的对应位清0,较低级的中断请求才有可能被响应。电路如图图5-11所示。

利用中断控制器可以通过编程来设置或改变其工作方式,使用起来方便灵活。

(4).中断响应

中断源向CPU发出中断请求,若优先级别最高,CPU在满足一定的条件下,可以中断当前程序的运行,保护好被中断的主程序的断点及现场信息。然后,根据中断源提供的信息,找到中断服务子程序的入口地址,转去执行新的程序段,这就是中断响应。

注意:CPU响应中断是有条件的,如内部允许中断、中断未被屏蔽、当前指令执行完等。

(5)中断服务子程序

CPU响应中断以后,就会中止当前的程序,转去执行一个中断服务子程序,以完成为相应设备的服务。中

- 8 -

断服务子程序的一般结构如图5-12所示。

①保护现场(由一系列的PUSH指令完成)。目的是为了保护那些与主程序中有冲突的寄存器,(如AX,BX,CX等),如果中断服务子程序中所使用的寄存器与主程序中所使用的寄存器等没有冲突的话,这一步骤可以省略。 ③ 开中断(由STI指令实现)。目的是为了能实现中断的嵌套。

④ 中断服务 图5-12中断服务子程序的流程 ⑤ 恢复现场(由一系列的POP指令完成)。是与保护现场对应的,但要注意数据恢复的次序,以免混乱。

⑥ 返回(使用中断返回指令IRET)。不能使用一般的子程序返回指令RET,因为IRET指令除了能恢复断点地址外,还能恢复中断响应时的标志寄存器的值,而这后一个动作是RET指令不能完成的。

中断的工作过程可分为五大步骤:

即中断请求、中断判优、中断响应、中断服务和中断返回。

2. DMA传送方式

利用中断进行信息传送,可以大大提高CPU的利用率,但是其传送过程必须由CPU进行监控。每次中断,CPU都必须进行断点及现场信息的保护和恢复操作,这些都是一些额外的操作,会占用一定的CPU时间。如果需要在内存的不同区域之间,或者在内存与外设端口之间进行大量信息快速传送的话,用查询或中断方式均不能满足速度上的要求,这时应采用直接数据通道传送,即DMA数据传送方式。

DMA(Direct Memory Access)意为直接数据传送,它是在内存的不同区域之间,或者在内存与外设端口之间直接进行数据传送,而不经过CPU中转的一种数据传送方式,可以大大提高信息的传送速度。 DMA方式传送的主要步骤 (见图5-13的流程图)

①外设准备就绪时,向DMA控制器发DMA请求,DMA控制器接到此信号后,向CPU发DMA请求;

②CPU接到HOLD请求后,如果条件允许(一个总线操作结束),则发出HLDA信号作为响应,同时,放弃对总线的控制; ③DMA控制器取得总线控制权后,往地址总线发送地址信号,每传送1个字节,就会自动修改地址寄存器的内容,以指向下一个要传送的字节;

④每传送一个字节,字节计数器的值减1,

- 9 -

当减到0时,DMA过程结束; 图5-13DMA的工作流程图

⑤DMA控制器向CPU发结束信号,将总线控制权交回CPU。

DMA传送控制方式,解决了在内存的不同区域之间,或者内存与外设之间大量数据的快速传送问题,代价是需要增加专门的硬件控制电路,称为DMA控制器,其复杂程度与CPU相当。

习题与思考:

1.CPU与外设之间的数据传输控制方式有哪几种?何谓程序控制方式?它有哪两种 基本方式?请分别用流程图的形式描述出来。

2.试从程序转移的角度比较中断控制与子程序调用这两种处理过程,它们有哪些根本 区别?又有哪些相似之处?

3.用查询式将DATA开始的存贮区的100个字节数据在FCH端口输出,完成程序, 状态端口地址为:FFH。

4.什么是接口?什么是端口?在8086/8088微机系统中,CPU是如何实现端口寻址的? 5.简述链式中断优先级排队电路的工作过程?

6.中断处理的主要步骤有哪些?试说明每一步的主要动作。

第三讲:

6. 3 8086/8088中断系统

回 顾:微机系统主机与外部设备之间的数据传送控制方式,中断的概念及

处理过程。

重点和纲要: 8086/8088中断系统。

教学方法、实施步骤 回 顾 讲 授 提 问 小 结 讨 论 时间分配 5”×2 35” ×2 3” ×2 2” ×2 5” ×2 教学手段 板书 计算机 投影仪 多媒体课件等

讲授内容:

6. 3 8086/8088中断系统 一、中断分类及中断类型码

- 10 -


中断服务程序流程图(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:CorelDraw_X4教案

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: