计算机原理-第七章输入输出与中断



《计算机原理-第七章输入输出与中断》由会员分享,可在线阅读,更多相关《计算机原理-第七章输入输出与中断(44页珍藏版)》请在装配图网上搜索。
1、Click to edit Master title style,Click to edit Master text styles,Second level,Third level,Fourth level,Fifth level,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,输入/输出和中断,7.1 外设接口的一般结构,7.2 CPU与外设交换数据的方式,7.3 中断技术,7.4 8086/8088的中断系统,7.5 8259A可编程中断控制器,7.6 8237DMA控制器,第,7,章,外设接口的一般结构,一个简单的外设接口框图如图7-1所示
2、,从图中可以看出CPU通过一个外设接口同外设之间交换的信息主要有三类:数据信息、状态信息、控制信息。,7.1.1 数据信息,在微型机中,数据大致为三种基本类型,:,数字量,模拟量,开关量,7.1,状态信息,READY(准备好信号),表示输入设备已经准备好信息,CPU可执行输入指令从该外设输入数据。,BUSY(忙信号),表示输出设备正在输出信息,即在“忙”着,同时也等于指示CPU等待。,状态信息表示外设当前所处的工作状态,例如,控制信息,控制信息,是由CPU发出的,用于控制I/O接口的工作方式以及外设的启动和停止等等。,状态信息和控制信息以及数据信息,,通常都以数据形式通过数据总线传送,这些信息
3、在I/O接口中分别存放在不同的端口中。,CPU与外设交换数据的方式,7.2.1 程序控制传递方式,程序控制的数据传送分为,无条件传送、查询传送和中断传送。,这类传送方式的,特点,是,以CPU为中心,数据传送的控制来自CPU,通过预先编制好的输入或输出程序(传送指令和I/O指令)实现数据的传送。,7.2,1.无条件传送方式,查询传送方式,中断传送方式,程序控制传递方式,无条件传送方式,无条件传送方式又称同步传送方式。主要用于外设工作的时间已知的场合,外设必须在微处理器限定的指令时间内准备就绪,并完成数据的接收或发送。,通常采用的办法是:,把I/O指令插入到程序中,当程序执行到该I/O指令时,外设
4、必定已为传送数据作好了准备,于是在此指令时间内完成数据传送任务。,查询传送方式,查询传送方式又称异步传送方式。,中断传送方式,利用中断来实现CPU与外设之间的数据传送,这就是,中断传送方式。,采用中断传送方式时,CPU从启动外设到外设准备就绪这段时间,不像查询方式一样处于等待状态,而仅仅是在外设准备好数据传送的情况下才中止CPU执行的主程序,在一定程度上实现了主机和外设的并行工作。,通过执行一条输入指令,读取所选外设的当前状态,。,(2)根据该设备的状态决定程序去向,完成一次传送过程的步骤如下:,DMA(直接存储器存取)传递方式,在外设和内存之间直接传送数据的方式,即 DMA传送方式。,DMA
5、(Direct Memory Access)是一种不需要CPU干预也不需要软件介入的高速数据传送方式。,DMA操作的基本方法,周期挪用(Cycle Stealing),周期扩散,CPU停机方式,周期挪用(Cycle Stealing),利用CPU不访问存储器的那些周期来实现DMA操作,此时DMAC可以使用总线而不用通知CPU也不会妨碍CPU的工作。这种方法的关键是如何识别合适的可挪用的周期,以避免同CPU的操作发生重叠。,这种方法会使CPU的处理速度减慢,而且CPU时钟周期的加宽是有限的。因此用这种方法进行DMA传送,一次只能传送一个字节。,周期扩散,CPU停机方式,这是最常用的、最简单的传送
6、方式,大部分DMAC都采用这种方式。,DMA的传送方式,通常,大部分DMAC都有三种DMA 传送方式:,成组传送方式,请求传送方式,单字传送方式,单字节传送方式,每次DMA传送只传送一个字节的数据,传送后释放总线由CPU控制总线至少一个完整的总线周期。以后又测试DMA请求线DREQ,若有效,再进入DMA周期。,成组传送方式,一个DMA请求可以传送一组信息,这一组信息的字节数由编程决定(在DMAC初始化时),只要在DACK有效之前DREQ保持有效即可。一旦DACK有效,不管DREQ是否有效,DMAC一直不放弃总线控制权,直到整个数组传送完。,请求传送方式,又称查询传送方式。,DMAC应该具有如下
7、功能:,(1)能接收外设的请求,向CPU发出DMA请求信号。,(2)当CPU 发出DMA响应信号后,DMAC接管对总线的控制,进入DMA方式。,(3)能寻址存储器,即能输出地址信息和修改地址。,DMAC(DMA控制器)的基本功能,(4)能向存储器和外设发生相应的读/写控制信号。,(5)能控制传送的字节数,判断DMA是否结束。,(6)在DMA传送结束后,能结束DMA请求信号,释放总线,使CPU恢复正常工作。,中断,7.3.1 概述,中断是外设随机地(指主程序运行到任何一条指令时)或程序预先安排产生中断请求信号,暂停CPU正在运行的程序,转入执行称为中断服务的子程序,中断服务完毕后,返回到主程序被
8、中断处继续执行的过程。,7.3,中断源,引起中断的事件称为中断源,通常中断源有以下几种:,输入、输出设备:如键盘、显示器和打印机等;,数据通道:如磁带等;,实时控制过程中的各种参数;,故障源:如掉电保护等;,(5)控制系统的现场测试信号以及软件中断。,为了满足上述各种条件下的要求,中断系统应具有以下,1.能实现中断响应、中断服务和中断返回,2.能实现中断优先级排队,3.能实现中断嵌套,:,功能,中断过程与中断管理,1.中断过程,对于不同的微机系统,CPU中断处理的具体过程不尽相同,但是一个完整的中断基本过程应包括:中断请求、中断判优、中断响应、中断处理及中断返回等五个基本过程。,中断请求,中断
9、判优,中断响应,中断处理,中断返回,(1),软件查询方式,软件查询优先方式是最简单的中断优先处理方式。图6.5显示了采用软件查询方式的接口电路。,2.,中断优先权,硬件优先权排队方式常用的有两种:,专用硬件方式可编程的中断控制器。采用可编程中断控制器,是当前微型计算机系统中解决中断优先权管理的常用办法。详细说明将在本章第5节介绍。,(2)硬件优先权排队电路,简单硬件方式菊花链法或链式优先权排队电路。链式优先权排队逻辑电路如图6.7所示。,图6-6 软件查询方式流程图,保留现场,A申请服务?,B申请服务?,C申请服务?,恢复现场,外设A中断服务程序,外设B中断服务程序,外设C中断服务程序,Y,Y
10、,Y,N,N,N,8086/8088的中断系统,7.4.1 中断结构,1.中断分类,8086/8088CPU可以处理256种类型的中断源,这些中断源可分为硬件中断和软件中断两大类。,2.中断向量表,在8086系统中,允许引入256种类型中断源(类型码为0255),相应有256个中断服务程序首址。存放中断地址的一段内存空间称中断向量表。,7.4,在8086/8088系统中,通过执行中断指令或由CPU本身启动的中断称为内部中断(也称软件中断)。除单步中断外,内部中断无法用软件禁止,即不受中断允许标志IF的影响。,1.内部中断的类型,(1)0型中断除法出错中断,(2)1型中断单步中断,(3)3型中断
11、断点中断,(4)4型中断溢出中断,(5)INT n指令中断,内部中断软中断,8086/8088中的各种中断的响应和处理过程是不相同的。主要区别在于如何获取相应的中断类型码。,对于专用中断,中断类型码是自动形成的。,几种类型码为:,类型0、1、3、4,内部中断的处理过程,对于INT n指令,其类型码为指令中给定的,n,。,2,1.外部中断的响应及中断响应周期时序,CPU采样到非屏蔽中断请求时,自动提供中断类型号2,然后根据中断类型号,查找中断向量表指针,其后的处理与内部中断一样。,8086/8088CPU为外部设备提供了两条硬件中断信号线,即NMI和INTR中断请求信号。,外部中断硬中断,2.外
12、部中断处理过程,如果把CPU中断响应周期的动作和前面讲到的中断响应过程结合起来,当一个可屏蔽中断被响应时,CPU实际执行了7个总线周期。,(1)执行第一个INTA周期,(2)执行第二个INTA周期,(3)执行一个总线写周期,(4)执行一个总线写周期,(5)执行一个总线写周期,(6)执行一个总线读周期,(7)执行一个总线周期,从中断向量表中取出中断服务程序入口地址的段值送CS。对于非屏蔽与软中断跳过第(1)、(2)步,从第(3)步开始执行到第(7)步。,CPU实际执行了7个总线周期,8086/8088系统中,中断优先权排队次序从高到低为:,除 法出错、INTn、INTO、NMI、INTR、单步中
13、断。除单步之外的内部优先权最高,其次是非屏蔽中断,再次是可屏蔽中断,而单步最低。,中断响应和处理流程如图6-10所示。,各类中断的优先权及中断响应,8259A可编程中断控制器,7.5.1 8259A的功能、结构及工作原理,1.功能,Intel 8259A 是与8086系列CPU兼容的可编程中断控制器,它的主要功能为:,(1)具有8级优先权控制,通过级连可扩展至64级优先权控制。,(2)每一级中断都可以屏蔽或允许。,(3)在中断响应周期,8259A可提供相应的中断向量号(中断类型号)。,(4)8259A的工作方式,可通过编程来进行选择。,7.5,(1)8259A的内部结构,结构,中断请求寄存器I
14、RR(Interrupt Request Register),优先权电路,中断服务寄存器ISR(INService Register),中断屏蔽寄存器IMR(Interrupt Mask Register),数据总线缓冲器,读写电路,控制逻辑和级连缓冲/比较器,组成,它由,2.,8259A是28个引脚的双列直插芯片,其引脚如图 7-12所示。,D7D0双向三态数据线,它可直接与数据总线连接。,IR0IR7中断请求输入线,其中IR优先权最高,IR7最低。,INT中断请求输出,接CPU的中断请求线INTR。,INTA 中断响应输入,接受CPU发来的中断响应信号。,8259A的引线,(2),WR写控
15、制信号线,当为低电平时,CPU向8259A写入控制信号。,RD读控制信号线,当为低时,可将8259A内部寄存器的信息读至数据总线。,A0用以选择8259A内部不同寄存器。通常与地址总线A0相连接。,CAS0CAS2级连信号,对于主8259A,它们是输出线,而对于从8259A,它们是输入线。,SP/EN从程序/缓冲器允许信号,是一个双功能信号。,CS片选信号线,当该脚为低电平时,8259A被选中。,8259A的工作原理是通过其内部各处理部件的工作过程来体现的。,3.,8259A的工作原理,8259A的初始化命令字共4个(ICW1ICW4)。不是任何情况下都需要设置4个命令字,可根据8259A的使
16、用情况来选取,它们设置过程如图6.13所示。,工作方式编程,8259A的编程,8259A的编程分两部分:,初始化编程,1.8259A的初始化编程,(1),写初始化命令字ICW1,(2)写初始化命令字ICW,2,其格式如图7-15所示,中断类型控制字用来定义中断类型码的高5位,芯片控制字,(3)写初始化指令字ICW,3,主/从片初始化,(4)写初始化命令字ICW,4,方式控制字,图7-16 ICW,3,的格式,图7-17 ICW,4,的格式,图7-14 ICW,1,的格式,图7-14 ICW1的格式,A,7,A,6,A,5,1,LTIM,ADI,SNGL,IC,4,1=需要ICW,4,0=不需要ICW,4,0,偶地址,A,0,D,7,D,6,D,5,D,4,D,3,D,2,D,1,D,0,ICW,1,识,别,位,1=单片,0=级连,调用地址间隔,1=间隔为4,80X86中不用,0=间隔为8,1=电平触发,0=边沿触发,中断向量地址,的A,7,A,5,(只用于MCS-80/85),图7-15 ICW3的格式,T,7,T,6,T,5,T,4,T,3,1,奇地址,中断类型,自动填入,IR,0,
- 温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。