微机原理与汇编语言 第7章 输入输出与中断

上传人:油条 文档编号:1275596 上传时间:2017-06-04 格式:PPT 页数:77 大小:839.50KB
返回 下载 相关 举报
微机原理与汇编语言 第7章 输入输出与中断_第1页
第1页 / 共77页
微机原理与汇编语言 第7章 输入输出与中断_第2页
第2页 / 共77页
微机原理与汇编语言 第7章 输入输出与中断_第3页
第3页 / 共77页
微机原理与汇编语言 第7章 输入输出与中断_第4页
第4页 / 共77页
微机原理与汇编语言 第7章 输入输出与中断_第5页
第5页 / 共77页
点击查看更多>>
资源描述

《微机原理与汇编语言 第7章 输入输出与中断》由会员分享,可在线阅读,更多相关《微机原理与汇编语言 第7章 输入输出与中断(77页珍藏版)》请在金锄头文库上搜索。

1、西安邮电学院计算机系系统结构教研室2009.8,教材及参考书微型计算机原理王忠民 王钰 王晓婕 编著微型计算机原理学习与实验指导 王钰 王劲松 刑高峰 编著,微机原理与汇编语言,第7章 输入/输出与中断,主要内容:I/O接口概述CPU与外设之间数据传送的方式中断技术80868088的中断系统可编程中断控制器Intal 8529A,7.1 I/O接口概述,7.1.1 I/O接口的作用1. I/O接口微处理器与存储器构成了微型计算机系统的主机部分,为了使微型计算机工作,还必须配上各种外部设备,简称外设,将外设中主要用来实现数据的输入输出、实现人机联系的设备称为输入输出设备,即I/O设备。 当要把外

2、设与微处理器相连时,往往需要配上相应的电路。通常把介于主机和外设之间的一种缓冲电路称为I/O接口电路,简称I/O接口。,图7.1 主机与外设的连接,CPU,I/O,接口,外设,2. I/O接口的作用接口是主机和外设之间交换信息的桥梁。那么,主机与外设交换信息时为什么要通过接口电路呢?这主要有以下三个原因。 总线隔离作用数据总线是外设及存储器传送信息的公共线路,任何外设或存储器都不允许长期占用数据总线,而仅允许被选中的外设或存储器在读写总线周期中享用数据总线。因此,大多数外设不能直接和CPU的数据总线相连,要借助与接口电路使外设与总线隔离,起缓冲、暂存数据的作用,使主机和外设协调一致的工作。,

3、速度匹配作用接口电路可以提供握手信息给微处理器和外设,协调主机和外设间数据传送速度不匹配的矛盾。 大多数外设输入输出信息的速度远远低于微处理器,为同步外设与主机的工作,在输入输出控制中,常需要接口电路提供外设的工作状态给微处理器,同时记忆主机下达给外设的命令,从而使主机与外设之间协调一致地工作。, 信号变换作用外设的信息格式与微处理器不一致时,需要接口电路进行信息的变换。 从本质上说,微处理器的信息格式是并行的数字信号,而外设由于其功能的多样性,信息格式也是多种多样的。这就需要进行: 电平变换 并串变换 数模变换,7.1.2 CPU与外设交换的信息主机与I/O设备之间交换的信息可分为数据信息、

4、状态信息和控制信息三种。(1) 数据信息:它是CPU与外设之间传送的主要信息,可分为数字量、模拟量和开关量三种形式。(2) 状态信息:是外设通过接口送往CPU的信息,作为外设与CPU之间交换数据的联络信号,反映了当前外设所处的工作状态。(3) 控制信息:是CPU通过接口传送给外设的信息,用来设置外设(包括接口)的工作方式、控制外设的工作等。,DB,CPU,外设,图7.2 CPU与外设交换的信息,I/O接口,数据信息,状态信息,控制信息,7.1.3 I/O接口的基本结构(接口与端口)接口(Interface):介与主机和外设之间的缓冲电路。端口(Port):接口中可以进行寻址读写的寄存器,简称口

5、。一个接口往往含有几个端口,CPU通过输入输出指令向这些端口取或存信息。端口主要有三类:一类为状态口,一类为命令口(或控制口),一类是数据口。CPU通过输入指令从状态口获取外设的状态信息,通过输出指令从命令口发出控制命令,控制外设的工作。通过输入输出指令可以从数据端口与外设交换数据。因此说,计算机主机与外设之间交换信息都是通过接口中的端口来实现的。,CB,AB,DB,CPU,数据端口,状态端口,I/O,设,备,译,码,控制端口,图7.3 I/O接口的基本结构,I/O接口,7.1.4 I/O端口的编址 微机系统中,I/O端口的编址方式分为统一编址和独立编址两大类。在Intel 80x86系列微机

6、中,采用独立编址方式。 1. I/O端口的统一编址方式 统一编址又称存储器映象编址(Memory-mapping Address Coding),就是将I/O端口看成是存储器空间的一个组成部分,按照存储器单元的编址方法统一编排地址号,每个I/O端口占用一个地址。这样,CPU对I/O端口的输入输出操作如同对存储单元的读写操作一样,对存储器的各种寻址方式也同样适用于I/O端口。,图7.4 I/O端口与内存单元统一编址,存储器,I/O,端口,00000H,XXXXXH,FFFFFH,整,个,地,址,空,间,(XXXXX+1)H,I/O端口,存储器空间,I/O端口空间,2. I/O端口的独立编址方式(

7、Isolated I/O Address Coding) 在独立编址方式下,I/O地址空间完全独立于存储器空间。在I/O地址空间中,每个端口有一个唯一的端口地址,CPU有专用的I/O指令,用于CPU与I/O端口之间的数据传输。Intel 80x86系列CPU中设有IN、OUT指令作为专用的I/O指令和寻址方式。在直接寻址方式下,CPU只利用地址总线的低8位输出地址信息,所以只能寻址I/O地址空间的00HFFH地址,而在间接寻址方式下,CPU利用地址总线的低16位输出地址信息,可以寻址的I/O空间多达64K个端口。,00000H,FFFFFH,存储器,I/O,FFFFH,0000H,图7.5 I

8、/O端口与内存单元独立编址,7.2 CPU与外设之间数据传送的方法 各种外设的工作速度相差很大,有些相当高,如磁盘机的传送速度达0.26Mbs,而有些外设的工作速度却相当低,如键盘是用于人工输入数据的,输入1个字符通常需几十毫秒。这里所说的输入输出方法就是指CPU通过接口与外设之间数据传送的方式,一般有三种:程序控制的输入输出方式、程序中断的输入输出方式和直接存储器存取方式。,7.2.1 程序控制的输入输出方式该方式完全通过执行程序来控制CPU与外设之间的数据交换,IO指令序列事先就排在程序中所需要的位置。这种传送方式又分为无条件传送和有条件传送。1. 无条件传送:程序中I/O指令的执行不需要

9、事先测试外设的状态,而是直接执行。这种传送方式只适用于对简单外设的操作,这些外设始终处于就绪状态,典型的输入是开关,典型的输出是LED。,(a),来自外设,的数据,数据总线,(DB),地址,译码器,地址总线,(AB),1,三态,缓冲器,至CPU,(b),至外设,数据总线,(DB),地址总线,(AB),锁存器,来自CPU的数据,地址,译码器,1,图7.6 无条件传送方式(a) 无条件传送数据输入(b) 无条件传送数据输出,2. 有条件传送:也称查询方式传送,程序中I/O指令的执行需要事先测试外设的状态,待外设准备就绪后,执行I/O指令进行数据传送,否则循环测试等待。例如,CPU向打印机送打印字符

10、,就需要测试打印接口电路的BUSY信号。,图7.7 查询传送方式的流程图,选,通,状态信息,READY,数据总线DB,至CPU,地址,译码器,&,5 V,锁,存,器,数据,缓冲器,三态,缓冲器,Q,D,输,入,设,备,数据,状态端口,译码输出,数据端口,译码输出,&,地址总线AB,图7.8 查询式输入的接口电路,去CPU,DB,输,出,设,备,&,数据,地址,译码器,数据端口,译码输出,地址总线,DB,状态端口,译码输出,状态,寄存器,BUSY,5 V,锁,存,器,Q,D,数据总线DB,来自CPU,选通信号,&,图7.9 查询式输出的接口电路,7.2.2 程序中断的输入输出方式 该方式借助于C

11、PU响应外部中断请求的能力,实现输入输出的控制。简单地说,就是外设将准备就绪的信号转换成有效的中断请求信号通知给CPU,CPU响应中断后,在中断服务子程序中执行I/O指令,进行数据传送。 查询传送方式是由CPU来查询外设的状态,CPU处于主动地位,而外设处于被动地位。中断传送方式则是由外设主动向CPU发出请求,等候CPU处理,在没有发出请求时,CPU和外设都可以独立进行各自的工作。,7.2.3 直接存储器存取方式(DMA:Direct Memory Access) 在DMA方式下,高速外部设备利用专用的接口电路直接和存储器进行高速数据交换,CPU暂停指令的执行并让出总线控制权。 与前两种方式不

12、同,在DMA方式下,数据的传送不依赖CPU执行IO指令,而是直接由专用的接口电路DMA控制器来控制外设和内存之间的数据传送。,7.3 中断技术 7.3.1. 中断的基本概念 1. 中断的定义 计算机在执行正常程序过程中,当出现某种异常事件或某种外部请求时,处理器就暂停执行当前的程序,而转去执行对异常事件或某种外部请求的处理操作。当处理完毕后,CPU再返回到被暂停执行的程序,继续执行,这个过程称为程序中断。,图7.10 中断过程示意图,2. 中断系统 为实现中断功能而设置的硬件电路和与之相应的软件,称为中断系统。 3. 中断源 所谓中断源,是指引起中断的原因或发出中断请求的来源。中断源可分为硬件

13、中断源和软件中断源两类。 4. 中断处理过程 对于一个中断源的中断处理过程应包括中断请求、中断响应、保护断点、中断处理和中断返回等五个过程。, 中断请求:是中断源向CPU发出的请求中断的要求。软件中断源是在CPU内部有中断指令或程序出错直接发中断;而硬件中断源必须通过专门的电路将中断请求信号送给CPU,CPU也有专门的引脚接收中断请求信号。 例如,8086/8088 CPU用INTR引脚(可屏蔽中断请求)和NMI引脚(非屏蔽中断请求)接收硬件中断请求信号。一般外设发出的都是可屏蔽中断请求。,&,输入,锁存器,数据总线,中断请求,D,端口,译码,地址总线,Q,中断屏蔽,INT,5 V,输入,设备

14、,三态,缓冲器,Q,&,图7.11 中断请求与屏蔽接口电路, 中断响应:是指当计算机系统接收到中断请求后应作出的反应。中断响应应具备两个条件:一是中断允许触发器的状态为1(即开中断),二是CPU在执行完现行指令之后。,&,R,1,允许中断,开中断指令,关中断指令,CPU,CPU响应中断信号,INTR,RESET,S,Q,图7.12 CPU内部设置中断允许触发器, 保护断点:所谓断点是指处理完中断后返回主程序时执行的第一条指令的逻辑地址(即当时的CS和IP的值)。因此,CPU一旦响应中断,需要对其正在执行程序的断点信息进行保护(即将CS和IP的值压入堆栈),以便在中断处理结束后仍能回到该断点处继

15、续执行。 中断处理:是指执行完成中断服务功能的处理程序。它主要包括保护现场(将中断服务程序中涉及到的寄存器内容压入堆栈)、中断服务(是中断服务的核心,可完成中断服务的功能)和恢复现场(将原先压入堆栈的寄存器内容再弹回到CPU相应的寄存器中)等。, 中断返回:是指执行完中断服务程序后返回到原先被中断的程序。它是保护断点的逆过程,即将原先压入堆栈的断点值弹回到CS和IP中,继续执行程序。,7.3.2 中断优先级和中断的嵌套 1中断优先级 中断请求是随机发生的,当系统具有多个中断源时,有时会同时出现多个中断请求,CPU只能按一定的次序予以响应和处理,这个响应的次序称为中断优先级。对于不同级别的中断请求,一般的处理原则是: (1) 不同按高低。不同优先级的多个中断源同时发出中断请求,按优先级由高到低依次处理。,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 其它相关文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号