输入输出和中断.ppt

上传人:本田雅阁 文档编号:3194035 上传时间:2019-07-29 格式:PPT 页数:44 大小:187.51KB
返回 下载 相关 举报
输入输出和中断.ppt_第1页
第1页 / 共44页
输入输出和中断.ppt_第2页
第2页 / 共44页
输入输出和中断.ppt_第3页
第3页 / 共44页
输入输出和中断.ppt_第4页
第4页 / 共44页
输入输出和中断.ppt_第5页
第5页 / 共44页
点击查看更多>>
资源描述

《输入输出和中断.ppt》由会员分享,可在线阅读,更多相关《输入输出和中断.ppt(44页珍藏版)》请在三一文库上搜索。

1、输入/输出和中断,7.1 外设接口的一般结构 7.2 CPU与外设交换数据的方式 7.3 中断 7.4 8086/8088的中断系统 7.5 8259A可编程中断控制器 6.6 8237DMA控制器,第 7 章,外设接口的一般结构, 一个简单的外设接口框图如图7-1所示,从图中可以看出CPU通过一个外设接口同外设之间交换的信息主要有三类: 数据信息、状态信息、控制信息。,7.1.1 数据信息,在微型机中,数据大致为三种基本类型:,数字量,模拟量,开关量,7.1,状态信息, READY(准备好信号)表示输入设备已经准备好信息,CPU可执行输入指令从该外设输入数据。 BUSY(忙信号)表示输出设备

2、正在输出信息,即在“忙”着,同时也等于指示CPU等待。, 状态信息表示外设当前所处的工作状态,例如,7.1.2,控制信息, 控制信息是由CPU发出的,用于控制I/O接口的工作方式以及外设的启动和停止等等。状态信息和控制信息以及数据信息,通常都以数据形式通过数据总线传送,这些信息在I/O接口中分别存放在不同的端口中。,7.1.3,CPU与外设交换数据的方式,7.2.1 程序控制传递方式, 程序控制的数据传送分为无条件传送、查询传送和中断传送。 这类传送方式的特点是,以CPU为中心,数据传送的控制来自CPU,通过预先编制好的输入或输出程序(传送指令和I/O指令)实现数据的传送 。,7.2,1. 无

3、条件传送方式 查询传送方式 中断传送方式,程序控制传递方式,无条件传送方式, 无条件传送方式又称同步传送方式。主要用于外设工作的时间已知的场合,外设必须在微处理器限定的指令时间内准备就绪,并完成数据的接收或发送。, 通常采用的办法是: 把I/O指令插入到程序中,当程序执行到该I/O指令时,外设必定已为传送数据作好了准备,于是在此指令时间内完成数据传送任务。,查询传送方式,查询传送方式又称异步传送方式。,中断传送方式, 利用中断来实现CPU与外设之间的数据传送,这就是中断传送方式。, 采用中断传送方式时,CPU从启动外设到外设准备就绪这段时间,不像查询方式一样处于等待状态,而仅仅是在外设准备好数

4、据传送的情况下才中止CPU执行的主程序,在一定程度上实现了主机和外设的并行工作。,通过执行一条输入指令,读取所选外设的当前状态。 (2) 根据该设备的状态决定程序去向,完成一次传送过程的步骤如下:,DMA(直接存储器存取)传递方式, 在外设和内存之间直接传送数据的方式,即 DMA传送方式。, DMA(Direct Memory Access)是一种不需要CPU干预也不需要软件介入的高速数据传送方式。,7.2.2,DMA操作的基本方法,周期挪用(Cycle Stealing),周期扩散,CPU停机方式,周期挪用(Cycle Stealing ), 利用CPU不访问存储器的那些周期来实现DMA操作

5、,此时DMAC可以使用总线而不用通知CPU也不会妨碍CPU的工作。这种方法的关键是如何识别合适的可挪用的周期,以避免同CPU的操作发生重叠。, 这种方法会使CPU的处理速度减慢,而且CPU时钟周期的加宽是有限的。因此用这种方法进行DMA传送,一次只能传送一个字节。,周期扩散,CPU停机方式, 这是最常用的、最简单的传送方式,大部分DMAC都采用这种方式。,DMA的传送方式,通常,大部分DMAC都有三种DMA 传送方式:,成组传送方式,请求传送方式,单字传送方式,单字节传送方式, 每次DMA传送只传送一个字节的数据,传送后释放总线由CPU控制总线至少一个完整的总线周期。以后又测试DMA请求线DR

6、EQ,若有效,再进入DMA周期。,成组传送方式, 一个DMA请求可以传送一组信息,这一组信息的字节数由编程决定(在DMAC初始化时),只要在DACK有效之前DREQ保持有效即可。一旦DACK有效,不管DREQ是否有效,DMAC一直不放弃总线控制权,直到整个数组传送完。,请求传送方式, 又称查询传送方式。,DMAC应该具有如下功能:,(1) 能接收外设的请求,向CPU发出DMA请求信号。 (2) 当CPU 发出DMA响应信号后,DMAC接管对总线的控制,进入DMA方式。 (3) 能寻址存储器,即能输出地址信息和修改地址。,DMAC(DMA控制器)的基本功能,(4) 能向存储器和外设发生相应的读/

7、写控制信号。 (5) 能控制传送的字节数,判断DMA是否结束。 (6) 在DMA传送结束后,能结束DMA请求信号,释放总线,使CPU恢复正常工作。,中断,7.3.1 概述, 中断是外设随机地(指主程序运行到任何一条指令时)或程序预先安排产生中断请求信号,暂停CPU正在运行的程序,转入执行称为中断服务的子程序,中断服务完毕后,返回到主程序被中断处继续执行的过程。,7.3,中断源, 引起中断的事件称为中断源,通常中断源有以下几种:,输入、输出设备: 如键盘、显示器和打印机等; 数据通道: 如磁带等; 实时控制过程中的各种参数; 故障源: 如掉电保护等; (5) 控制系统的现场测试信号以及软件中断。

8、, 为了满足上述各种条件下的要求,中断系统应具有以下,1.能实现中断响应、中断服务和中断返回 2.能实现中断优先级排队 3.能实现中断嵌套,:,功能,中断过程与中断管理,1.中断过程, 对于不同的微机系统,CPU中断处理的具体过程不尽相同,但是一个完整的中断基本过程应包括:中断请求、中断判优、中断响应、中断处理及中断返回等五个基本过程。,7.3.2,中断请求,中断判优,中断响应,中断处理,中断返回,(1) 软件查询方式 软件查询优先方式是最简单的中断优先处理方式。图7.5显示了采用软件查询方式的接口电路。,2.,中断优先权,硬件优先权排队方式常用的有两种:, 专用硬件方式可编程的中断控制器。采

9、用可编程中断控制器,是当前微型计算机系统中解决中断优先权管理的常用办法。详细说明将在本章第5节介绍。,(2)硬件优先权排队电路, 简单硬件方式菊花链法或链式优先权排队电路。链式优先权排队逻辑电路如图7.7所示。,图7-6 软件查询方式流程图,8086/8088的中断系统,7.4.1 中断结构,1.中断分类 8086/8088CPU可以处理256种类型的中断源,这些中断源可分为硬件中断和软件中断两大类。,2.中断向量表 在8086系统中,允许引入256种类型中断源(类型码为0255),相应有256个中断服务程序首址。存放中断地址的一段内存空间称中断向量表。,7.4,7.4.2,在8086/808

10、8系统中,通过执行中断指令或由CPU本身启动的中断称为内部中断(也称软件中断)。除单步中断外,内部中断无法用软件禁止,即不受中断允许标志IF的影响。,1.内部中断的类型,(1) 0型中断除法出错中断 (2) 1型中断单步中断 (3) 3型中断断点中断 (4) 4型中断溢出中断 (5) INT n指令中断,内部中断软中断,8086/8088中的各种中断的响应和处理过程是不相同的。主要区别在于如何获取相应的中断类型码。,对于专用中断,中断类型码是自动形成的。 几种类型码为:类型0、1、3、4,内部中断的处理过程,对于INT n指令,其类型码为指令中给定的n。,2,1.外部中断的响应及中断响应周期时

11、序 CPU采样到非屏蔽中断请求时,自动提供中断类型号2,然后根据中断类型号,查找中断向量表指针,其后的处理与内部中断一样。, 8086/8088CPU为外部设备提供了两条硬件中断信号线,即NMI和INTR中断请求信号。,外部中断硬中断,7.4.3,2.外部中断处理过程 如果把CPU中断响应周期的动作和前面讲到的中断响应过程结合起来,当一个可屏蔽中断被响应时,CPU实际执行了7个总线周期。,(1) 执行第一个INTA周期 (2) 执行第二个INTA周期 (3) 执行一个总线写周期 (4) 执行一个总线写周期 (5) 执行一个总线写周期 (6) 执行一个总线读周期 (7) 执行一个总线周期,从中断

12、向量表中取出中断服务程序入口地址的段值送CS。对于非屏蔽与软中断跳过第(1)、(2)步,从第(3)步开始执行到第(7)步。,CPU实际执行了7个总线周期, 8086/8088系统中,中断优先权排队次序从高到低为: 除 法出错、INTn、INTO、NMI、INTR、单步中断。除单步之外的内部优先权最高,其次是非屏蔽中断,再次是可屏蔽中断,而单步最低。,中断响应和处理流程如图7-10所示。,各类中断的优先权及中断响应,7.4.4,8259A可编程中断控制器,7.5.1 8259A的功能、结构及工作原理,1.功能 Intel 8259A 是与8086系列CPU兼容的可编程中断控制器,它的主要功能为:

13、,(1) 具有8级优先权控制,通过级连可扩展至64级优先权控制。 (2) 每一级中断都可以屏蔽或允许。 (3) 在中断响应周期,8259A可提供相应的中断向量号(中断类型号)。 (4) 8259A的工作方式,可通过编程来进行选择。,7.5,(1) 8259A的内部结构,结构,中断请求寄存器IRR(Interrupt Request Register) 优先权电路 中断服务寄存器ISR(INService Register) 中断屏蔽寄存器IMR(Interrupt Mask Register) 数据总线缓冲器 读写电路 控制逻辑和级连缓冲/比较器,2.,8259A是28个引脚的双列直插芯片,其

14、引脚如图 7-12所示。 D7D0双向三态数据线,它可直接与数据总线连接。 IR0IR7中断请求输入线,其中IR优先权最高,IR7最低。 INT中断请求输出,接CPU的中断请求线INTR。 INTA 中断响应输入,接受CPU发来的中断响应信号。,8259A的引线,(2 ), WR写控制信号线,当为低电平时,CPU向8259A写入控制信号。 RD读控制信号线,当为低时,可将8259A内部寄存器的信息读至数据总线。 A0用以选择8259A内部不同寄存器。通常与地址总线A0相连接。 CAS0CAS2级连信号,对于主8259A,它们是输出线,而对于从8259A,它们是输入线。 SP/EN从程序/缓冲器

15、允许信号,是一个双功能信号。, CS片选信号线,当该脚为低电平时,8259A被选中。, 8259A的工作原理是通过其内部各处理部件的工作过程来体现的。,3.,8259A的工作原理, 8259A的初始化命令字共4个(ICW1ICW4)。不是任何情况下都需要设置4个命令字,可根据8259A的使用情况来选取,它们设置过程如图7.13所示。,工作方式编程,8259A的编程,7.5.2,8259A的编程分两部分:,初始化编程,1. 8259A的初始化编程,(1),写初始化命令字ICW1,(2) 写初始化命令字ICW2,其格式如图7-15所示,中断类型控制字用来定义中断类型码的高5位,芯片控制字,(3)

16、写初始化指令字ICW3,主/从片初始化,(4) 写初始化命令字ICW4,方式控制字,图7-16 ICW3的格式,图7-17 ICW4 的格式,图7-14 ICW1的格式,图7-14 ICW1的格式,1 = 需要ICW4 0 = 不需要ICW4,偶地址,A0 D7 D6 D5 D4 D3 D2 D1 D0,ICW1识 别 位,1 = 单片 0 = 级连,调用地址间隔 1 = 间隔为4 80X86中不用 0 = 间隔为8,1 = 电平触发 0 = 边沿触发,中断向量地址 的A7A5 (只用于MCS-80/85),图7-15 ICW3的格式,奇地址,中断类型,自动填入,IR0 000,IR1 001

17、 . . .,IR7 111,A0,8259A的操作命令字,(1) 操作命令字OCW1屏蔽操作命令字,该命令字用来设置或清除对中断的屏蔽称中断屏蔽命令字。 格式如图7-18所示。,该命令字用来设置优先级循环和中断结束方式。 其格式如图7-19所示。,(2) 操作命令字OCW2中断方式命令字,(3)操作命令字OCW3状态操作命令字,该操作命令字功能有三方面:设置和撤销特殊屏蔽方式、设置中断查询方式、设置对8259A内部寄存器的读出命令。 OCW3的具体格式如图7-20所示。,2.,图7-18 OCW1的格式,中断屏蔽 1 = 置屏蔽 0 = 复位屏蔽,奇地址,A0 D7 D6 D5 D4 D3

18、D2 D1 D0,8259A的工作方式, 8259A具有非常灵活的中断管理方式,可满足用户的各种不同的要求。 中断优先权的管理是中断管理的核心问题。 8259A中对中断优先权的管理可概括为完全嵌套方式、自动循环方式、中断屏蔽方式及查询方式。,1中断嵌套方式,(2) 特殊全嵌套方式,7.5.3,(1) 全嵌套方式,中断优先级循环方式,8259A中有两种改变优先权的办法,(1) 自动循环方式,(2) 特殊循环方式,3. 中断屏蔽,2,(1) 普通屏蔽方式,(2) 特殊屏蔽方式,4. 程序查询方式,中断结束命令,根据不同的工作方式8259A可以有几种不同的结束方法,(1) 自动中断结束方式(AEOI

19、),(2) 非自动中断结束方式(EOI),(3)特殊中断结束方式,5.,6. 读8259A 的状态,8259A的编程实例,1.初始化编程,7.5.5,对IBM PC/XT机中使用的8259A初始化编程,例 7-1,2.应用实例(略) 见课本,7.5.4,由多片8259A组成的主从式中断系统,8237DMA控制器, Intel 8237A是一种高功能的可编程的DMA控制器,采用主5MHz的8237A传送速度可达到1.6Mb/s。,7.6.1 主要功能,7.6,(1) 在一个片子中有4个独立的DMA通道,每个通道均可独立地传送数据。 (2) 每个通道的DMA请求都可以分别允许和禁止。 (3) 每个

20、通道的DMA请求有不同的优先权,优先权可以是固定的,也可以是旋转的。 (4) 每一个通道一次传送的最大长度可达64K字节。可以在存储器与外设间进行数据传送,也可以在存储器的两个区域之间进行传送。,主要功能,(6)有一条结束处理的输入信号EOP,允许外界用此输入端来结束DMA传送或重新初始化。 (7)8237A可以级连,任意扩展通道。,(5) 8237A的DMA传送有以下四种方式:,单字节传送,数据块传送,请求传送方式,级连方式,1. 8237A的编程结构和引脚,8237A的结构和工作原理,(1)8237A的编程结构,7.6.2,(2)8237A的引脚信号,2. 8237A的工作原理,(1)82

21、37A的工作模式和模式寄存器的格式,(2)控制寄存器的格式,(6) 8237A各寄存器对应的端口地址,(3)状态寄存器的格式,(4) 请求寄存器和屏蔽寄存器的格式,(5) 复位命令和清除先/后触发器命令,图7-32 屏蔽寄存器的格式,不 用,屏蔽设置:,1 = 设屏蔽位,0 = 去除屏蔽位,通道选择,00 = 通道0,01 = 通道1,10 = 通道2,11 = 通道3, 为了学习8237A的编程方法,下面我们以IBM PC/XT系统中的8237A的应用为例,说明8237A的编程方法。,8237A的编程和应用举例,7.6.3,小结1,7.1.1 数据信息,在微型机中,数据大致为三种基本类型。,

22、7.1.2 状态信息,状态信息表示外设当前所处的工作状态。,7.1.3 控制信息,控制信息是由CPU发出的,用于控制I/O接口的工作方式以及外设的启动和停止等等。,7.1 外设接口的一般结构,7.2.1 程序控制传递方式,程序控制的数据传送分为无条件传送、查询传送和中断传送。,7.2 CPU与外设交换数据的方式,7.2.2 DMA(直接存储器存取)传递方式,小结2,中断的概念,7.3 中断,7.3.1 概述,7.3.2 中断过程与中断管理,中断过程 中断优先权,7.4.1 中断结构,中断分类 中断向量表,7.4.2 内部中断软中断,内部中断的类型 内部中断的处理过程,7.4.3 外部中断硬中断,外部中断的响应及中断响应周期时序外部中断处理过程,7.5 8259A可编程中断控制器 7.5.1 8259A的功能、结构及工作原理,功能 结构,7.5.2 8259A的编程,8259A的编程分两部分,7.5.3 8259A的工作方式,完全嵌套方式、自动循环方式、中断屏蔽方式及查询方式。,7.4 8086/8088的中断系统,小结3,7.5.4 由多片8259A组成的主从式中断系统,7.5.5 8259A的编程实例,8237A的编程结构和引脚 8237A的工作原理,7.6 8237DMA控制器,7.6.1 主要功能,七项,7.6.2 8237A的结构和工作原理,初始化编程 应用实例,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1