微机原理与接口第7章CPU与外设之间数据传送的方式.ppt_第1页
微机原理与接口第7章CPU与外设之间数据传送的方式.ppt_第2页
微机原理与接口第7章CPU与外设之间数据传送的方式.ppt_第3页
微机原理与接口第7章CPU与外设之间数据传送的方式.ppt_第4页
微机原理与接口第7章CPU与外设之间数据传送的方式.ppt_第5页
已阅读5页,还剩46页未读 继续免费阅读

下载本文档

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

文档简介

第7章 输入/输出与中断 教学内容 本章介绍输入输出接口的基本概念,CPU与外 设间的数据传送方式,中断传送方式及相关技术, 以及可编程中断控制器8259A的结构及编程方法。 具体内容如下: 1、I/O接口概述 2、CPU与外设之间数据传送的方式 3、中断技术 4、8086/8088中断系统 5、可编程中断控制器Intel 8259A 1 第7章 输入/输出与中断 学习要求学习要求 1. 了解I/O接口电路的主要功能、内部和外部特 点、端口编址方法、I/O地址译码特点 2. 掌握输入输出指令 3. 掌握无条件、查询传送方式 4. 理解中断、中断源、中断工作过程、中断源 识别、优先权排队和中断嵌套 5. 理解DMA传送的工作过程 2 第7章 输入/输出与中断 第7章 输入/输出与中断 7.1 I/O接口概述 7.2 CPU与外设之间数据传送的方式 7.3 中断技术 7.4 8086/8088 中断系统 7.5 可编程中断控制器Intel 8259A 3 第7章 输入/输出与中断 第7章:7.1 I/O接口概述 为什么需要I/O接口(电路)? 微机的外部设备多种多样 工作原理、驱动方式、信息格式、以及工作速度方面彼此 差别很大 它们不能与CPU直接相连 必须经过中间电路再与系统相连 这部分电路被称为I/O接口电路 多种外设 4 第7章 输入/输出与中断 第7章:7.1 I/O接口概述(续1) 什么是I/O接口(电路)? I/O接口是位于系统与外设间、用来协助 完成数据传送和控制任务的逻辑电路 PC机系统板的可编程接口芯片、I/O总线 槽的电路板(适配器)都是接口电路 CPUCPU 接口接口 电路电路 I/OI/O 设备设备 5 第7章 输入/输出与中断 第7章:7.1 I/O接口概述(续2) 什么是微机接口技术? 处理微机系统与外设间联系的技术 注意其软硬结合的特点 根据应用系统的需要,使用和构造相 应的接口电路,编制配套的接口程序 ,支持和连接有关的设备 6 第7章 输入/输出与中断 第7章:7.1.1 I/O接口的主要功能 对输入输出数据进行缓冲和锁存 输出接口有锁存环节;输入接口有缓冲环节 实际的电路常见: 输出锁存缓冲环节、输入锁存缓冲环节 对信号的形式和数据的格式进行变换 微机直接处理:数字量、开关量、脉冲量 对I/O端口进行寻址 与CPU和I/O设备进行联络 7 第7章 输入/输出与中断 7.1.2 CPU与外设交换的信息 主机与I/O设备之间交换的信息可分为数据信息、状态信息和 控制信息三类。 1数据信息 数据信息又分为数字量、模拟量和开关量三种形式。 1) 数字量 数字量是计算机可以直接发送、接收和处理的数据。例如 ,由键盘、显示器、打印机及磁盘等I/O外设与 CPU交换的信息 ,它们是以二进制形式表示的数或以ASCII码表示的数符。 8 第7章 输入/输出与中断 2) 模拟量 当计算机应用于控制系统中时,输入的信息一般为来自现 场的连续变化的物理量,如温度、压力、流量、位移、湿度等 ,这些物理量通过传感器并经放大处理得到模拟电压或电流, 这些模拟量必须先经过模拟量向数字量的转换(A/D转换)后才能 输入计算机。反过来,计算机输出的控制信号都是数字量,也 必须先经过数字量向模拟量的转换(D/A转换),把数字量转换成 模拟量才能去控制现场。 3) 开关量 开关量可表示两个状态,如开关的断开和闭合,机器的运 转与停止,阀门的打开与关闭等。 这些开关量通常要经过相应的电平转换才能与计算机连接。开 关量只要用一位二进制数即可表示。 9 第7章 输入/输出与中断 2. 状态信息 状态信息作为CPU与外设之间交换数据时的联络信息,反映 了当前外设所处的工作状态,是外设通过接口送往CPU的。 CPU通过对外设状态信号的读取,可得知输入设备的数据是否 准备好、输出设备是否空闲等情况。 对于输入设备,一般用准备好(READY)信号的高低来表明待输 入的数据是否准备就绪; 对于输出设备,则用忙(BUSY)信号的高低表示输出设备是否处 于空闲状态,如为空闲状态,则可接收CPU输出的信息,否则 CPU要暂停送数。 10 第7章 输入/输出与中断 3控制信息 控制信息是CPU通过接口传送给外设的,CPU通过发送控制 信息设置外设(包括接口)的工作模式、控制外设的工作。 如外设的启动信号和停止信号就是常见的控制信息。实际上, 控制信息往往随着外设的具体工作原理不同而含义不同。 虽然数据信息、状态信息和控制信息含义各不相同,但在 微型计算机系统中,CPU通过接口和外设交换信息时,只能用 输入指令(IN)和输出指令 (OUT)传送数据,所以状态信息、控制 信息也是被作为数据信息来传送的,即把状态信息作为一种输 入数据,而把控制信息作为一种输出数据,这样,状态信息和 控制信息也通过数据总线来传送。但在接口中,这三种信息是 在不同的寄存器中分别存放的。 11 第7章 输入/输出与中断 7.1.3 I/O接口的基本结构 I/O接口的基本结构如图7.2所示。每个接口电路中都包含一 组寄存器,CPU与外设进行信息交换时,各类信息在接口中存入 不同的寄存器,一般称这些寄存器为I/O端口,简称为口(Port)。 用来保存CPU和外设之间传送的数据(如数字、字符及某种特定的 编码等)、对输入/输出数据起缓冲作用的数据寄存器称为数据端 口; 用来存放外设或者接口部件本身状态的状态寄存器称为状态端口 ;用来存放CPU发往外设的控制命令的控制寄存器称为控制端口 。 12 第7章 输入/输出与中断 图7.2 一个典型的I/O接口 13 第7章 输入/输出与中断 正如每个存储单元都有一个物理地址一样,每个端口也有一 个地址与之相对应,该地址称为端口地址。有了端口地址,CPU 对外设的输入/输出操作实际上就是对I/O接口中各端口的读/写操 作。数据端口一般是双向的,数据是输入还是输出,取决于对该 端口地址进行操作时CPU发往接口电路的读/写控制信号。由于 状态端口只做输入操作,控制端口只做输出操作,因此,有时为 了节省系统地址空间,在设计接口时往往将这两个端口共用一个 端口地址,再用读/写信号来分别选择访问。 注意点:输入/输出操作所用到的地址总是对端口而言,而不 是对接口而言的。接口和端口是两个不同的概念,若干个端口加 上相应的控制电路才构成接口。 14 第7章 输入/输出与中断 7.1.4 I/O端口的编址 微型计算机系统中I/O端口编址方式有两种:I/O端口与内存 单元统一编址和 I/O端口与内存单元独立编址。 1I/O端口与内存单元统一编址 这种编址方式是对I/O端口和存储单元按照存储单元的编址 方法统一编排地址号,由I/O端口地址和存储单元地址共同构成 一个统一的地址空间。例如,对于一个有16根地址线的微机系 统,若采用统一编址方式,其地址空间的结构如图7.3所示。 15 第7章 输入/输出与中断 图7.3 I/O端口与内存单元统一编址 优点: 不需要专门的I/O指 令 I/O数据存取与存储 器数据存取一样灵活 缺点: I/O端口要占去部分 存储器地址空间 程序不易阅读(不易 分清访存和访问外设 ) 16 第7章 输入/输出与中断 2I/O端口与内存单元独立编址 在这种编址方式中,建立了两个地址空间,一个为内存地 址空间,一个为I/O地址空间。内存地址空间和I/O地址空间是 相对独立的,通过控制总线来确定CPU到底要访问内存还是I/O 端口。为确保控制总线发出正确的信号,除了要有访问内存的 指令之外,系统还要提供用于CPU与I/O端口之间进行数据传输 的输入/输出指令。 17 第7章 输入/输出与中断 80x86 CPU组成的微机系统都采用独立编址方式。在 8086/8088系统中,共有20根地址线对内存寻址,内存的地址范 围是00000HFFFFFH;用地址总线的低16位对I/O端口寻址, 所以I/O端口的地址范围是0000HFFFFH,如图7.4所示。 CPU在访问内存和外设时,使用了不同的控制信号来加以区分。 例如,当8086 CPU的M/IO信号为1时,表示地址总线上的地址 是一个内存地址;为0时,则表示地址总线上的地址是一个端口 地址。 18 第7章 输入/输出与中断 图7.4 I/O端口与内存单元独立编址 优点: I/O端口的地址空间独立 控制和地址译码电路相 对简单 专门的I/O指令使程序清 晰易读 缺点: I/O指令没有存储器指令 丰富 内存 空间 I/O 空间 FFFFF 0 FFFF 80x86采用I/O端口独立编址 19 第7章 输入/输出与中断 3I/O端口的地址译码 IN AL, 21H OUT 43H, AL 微机系统常用的I/O接口电路一般都被设计成通用的I/O接口 芯片,一个接口芯片内部可以有若干可寻址的端口。因此,所 有接口芯片都有片选信号线和用于片内端口寻址的地址线。例 如,某接口芯片内有四个端口地址(8255),则该芯片外就会有两 根地址线。本书第8章中将详细介绍几种常用的I/O接口芯片。 I/O端口地址译码的方法有多种,一般的原则是把CPU用于I/O 端口寻址的地址线分为高位地址线和低位地址线两部分, 将低位地址线直接连到I/O接口芯片的相应地址引脚,实现片内 寻址,即选中片内的端口; 将高位地址线与CPU的控制信号组合,经地址译码电路产生I/O 接口芯片的片选信号。 20 第7章 输入/输出与中断 7.2 CPU与外设之间数据传送的方式 7.2.1 程序传送方式 1无条件传送方式 无条件传送流程 微机系统中的一些简单的外设,如开关、继电器、数码管、 发光二极管等,在它们工作时,可以认为输入设备已随时准备好 向CPU提供数据,而输出设备也随时准备好接收CPU送来的数据 ,这样,在CPU需要同外设交换信息时,就能够用IN或OUT指 令直接对这些外设进行输入/输出操作。由于在这种方式下CPU 对外设进行输入/输出操作时无需考虑外设的状态,故称之为无 条件传送方式。 21 第7章 输入/输出与中断 对于简单外设,若采用无条件传送方式,其接口电路也很简单 。如简单外设作为输入设备时,可直接使用三态缓冲器和数据总 线相连,如图7.5(a)所示。要求CPU在执行输入指令时,外设的 数据是准备好的,即数据已经存入三态缓冲器中。 简单外设为输出设备时,由于外设取数的速度比较慢,要求CPU 送出的数据在接口电路的输出端保持一段时间,因而一般都需要 锁存器,如图7.5(b)所示。CPU输出的信息经过数据总线送入输 出锁存器中,输出锁存器保持这个数据,直到外设取走。 无条件传送方式下,程序设计和接口电路都很简单,但是为了保 证每一次数据传送时外设都能处于就绪状态,传送不能太频繁。 对少量的数据传送来说,无条件传送方式是最经济实用的一种传 送方法。 22 第7章 输入/输出与中断 图7.5 无条件传送方式 (a) 无条件传送数据输入;(b) 无条件传送数据输出 23 第7章 输入/输出与中断 2查询传送方式 查询传送流程 查询传送也称为条件传送,是指在执行输入指令(IN)或输出 指令(OUT)前,要先查询相应设备的状态,当输入设备处于准 备好状态,输出设备处于空闲状态时,CPU才执行输入/输出指 令与外设交换信息。接口电路中既要有数据端口,还要有状态 端口。 查询传送方式的流程图见图7.6。采用查询方式完成一次数据 传送要经历如下过程: (1) CPU从接口中读取状态字。 (2) CPU检测相应的状态位是否满足“就绪”条件。 (3) 如果不满足,则重复(1)、(2)步;若外设已处于“就绪”状态 ,则传送数据。 24 第7章 输入/输出与中断 图7.6 查询传送方式的流程图 25 第7章 输入/输出与中断 图7.7给出的是采用查询传送方式进行输入操作的接口电路 。输入设备在数据准备好之后向接口发选通信号,此信号有两个 作用: 一方面将外设中的数据送到接口的锁存器中; 另一方面使接口中的一个D触发器输出“1”,从而使三态缓冲器 的READY位置“1”。 CPU输入数据前先用输入指令读取状态字,测试READY位,若 READY位为“1”,说明数据已准备就绪,再执行输入指令读入数 据。由于在读入数据时信号已将状态位READY清0,于是可以开 始下一个数据输入过程。 26 第7章 输入/输出与中断 图7.7 查询式输入的接口电路 27 第7章 输入/输出与中断 图7.8给出的是采用查询传送方式进行输出操作的接口电路。 CPU输出数据时,先用输入指令读取接口中的状态字,测试 BUSY位,若BUSY位为0,表明外设空闲,此时CPU才执行输出 指令,否则CPU必须等待。执行输出指令时由端口选择信号、 M/IO信号和写信号共同产生的选通信号将数据总线上的数据打入 接口中的数据锁存器,同时将D触发器置1。D触发器的输出信号 一方面为外设提供一个联络信号,通知外设将锁存器锁存的数据 取走;另一方面使状态寄存器的BUSY位置1,告诉CPU当前外设 处于忙状态,从而阻止CPU输出新的数据。输出设备从接口中取 走数据后,会送一个回答信号ACK,该信号使接口中的D触发器 置0,从而使状态寄存器中的BUSY位清0,以便开始下一个数据 输出过程。 28 第7章 输入/输出与中断 图7.8 查询式输出的接口电路 29 第7章 输入/输出与中断 查询传送方式的主要优点是能保证主机与外设之间协调同步地 工作,且硬件线路比较简单,程序也容易实现。 在这种方式下,CPU花费了很多时间查询外设是否准备就绪, 在这些时间里CPU不能进行其他的操作,浪费CPU时间; 在实时控制系统中,若采用查询传送方式,由于一个外设的输 入/输出操作未处理完毕就不能处理下一个外设的输入/输出,故 不能达到实时处理的要求,实时性差。 查询传送方式适用于数据输入/输出不太频繁且外设较少、对实 时性要求不高的情况。 不论是无条件传送方式还是查询传送方式,都不能发现和处 理预先无法估计的错误和异常情况。为了提高CPU的效率、增强 系统的实时性,并且能对随机出现的各种异常情况做出及时反应 ,通常采用中断传送方式。 30 第7章 输入/输出与中断 7.2.2 中断传送方式 中断传送流程 中断传送方式是指当外设需要与CPU进行信息交换时,由外 设向CPU发出请求信号,使CPU暂停正在执行的程序,转去执 行数据的输入/输出操作,数据传送结束后,CPU再继续执行被 暂停的程序。 查询传送方式是由CPU来查询外设的状态,CPU处于主动地位 ,而外设处于被动地位。 中断传送方式则是由外设主动向CPU发出请求,等候CPU处理 ,在没有发出请求时,CPU和外设都可以独立进行各自的工作 。目前的微处理器都具有中断功能,而且已经不仅仅局限于数 据的输入/输出,而是在更多的方面有重要的应用。例如实时控 制、故障处理以及BIOS和DOS功能调用等。 31 第7章 输入/输出与中断 中断传送方式的优点是: CPU不必查询等待,工作效率高,CPU与外设可以并行工作; 由于外设具有申请中断的主动权,故系统实时性比查询方式要 好得多。 缺点:采用中断传送方式的接口电路相对复杂,而且每进行一 次数据传送就要中断一次CPU,CPU每次响应中断后,都要转 去执行中断处理程序,且都要进行断点和现场的保护和恢复, 浪费了很多CPU的时间。 故中断传送方式一般适合于少量的数据传送。 对于大批量数据的输入/输出,可采用高速的直接存储器存取方 式,即DMA方式。 32 第7章 输入/输出与中断 7.2.3 直接存储器存取(DMA)传送方式 1DMA传送方式简介 场合: DMA传送方式是在存储器和外设之间、存储器和存储器 之间直接进行数据传送(如磁盘与内存间交换数据、高速数据采 集、内存和内存间的高速数据块传送等)。 特点:传送过程无需CPU介入,在传送时就不必进行保护现场等 一系列额外操作,传输速度基本取决于存储器和外设的速度。要 求:DMA传送方式需要一个专用接口芯片DMA控制器(DMAC) 对传送过程加以控制和管理。 过程:在进行DMA传送期间,CPU放弃总线控制权,将系统总 线交由DMAC控制,由DMAC发出地址及读/写信号来实现高速 数据传输。传送结束后DMAC再将总线控制权交还给CPU。一 般微处理器都设有用于DMA传送的联络线。 33 第7章 输入/输出与中断 图7.9 DMA系统结构框图 34 第7章 输入/输出与中断 2DMA控制器的工作方式 1) 单字节传输方式 在该方式下,DMAC每次控制总线后只传输一个字节,传输 完后即释放总线控制权。 2) 成组传输方式(块传输方式) 采用这种方式,采用这种方式,DMACDMAC每次控制总线后都连续传送一组数据每次控制总线后都连续传送一组数据 ,待所有数据全部传送完后再释放总线控制权。,待所有数据全部传送完后再释放总线控制权。 成组传输方式的数据传输率要比单字节传输方式高。但是,成组成组传输方式的数据传输率要比单字节传输方式高。但是,成组 传输期间传输期间CPUCPU无法进行任何需要使用系统总线的操作。无法进行任何需要使用系统总线的操作。 3) 请求传输方式 在该方式下,每传输完一个字节,DMAC都要检测I/O接口 发来的DMA请求信号是否有效。若有效,则继续进行DMA传输 ;否则就暂停传输,将总线控制权交还给CPU,直至DMA请求 信号再次变为有效,再从刚才暂停的那一点继续传输。 35 第7章 输入/输出与中断 3DMA操作的基本过程 DMA传送流程 1)DMAC的初始化 (1) 指定数据的传送方向。指定外设对存储器是做读操作还是 写操作,这就要对控制/状态寄存器中的相应控制位置数。 (2) 指定地址寄存器的初值。即给出存储器中用于DMA传送的 数据区的首地址。 (3) 指定计数器的初值。即明确有多少数据需要传送。 36 第7章 输入/输出与中断 2) DMA数据传送,按以下步骤进行(以数据输入为例) (1) 外围设备发选通脉冲,把输入数据送入缓冲寄存器,并 使DMA请求触发器置1。 (2) DMA请求触发器向控制/状态端口发准备就绪信号,同时 向DMA控制器发DMA请求信号。 (3) DMA控制器向CPU发出总线请求信号(HOLD)。 (4) CPU在完成了现行机器周期后,即响应DMA请求,发出 总线允许信号(HLDA),并由DMA控制器发出DMA响应信号。 此时,由DMA控制器接管系统总线。 (5) DMA控制器发出存储器地址,并在数据总线上给出数据 ,随后在读/写控制信号线上发出写的命令。 (6) 来自外设的数据被写入相应存储单元。 (7) 每传送一个字节,DMA控制器的地址寄存器加1,从而得 到下一个地址,字节计数器减1。返回(5),传送下一个数据。 如此循环,直到计数器的值为0,数据传送完毕。 37 第7章 输入/输出与中断 3) DMA结束 DMA传送完毕,由DMAC撤消总线请求信号,从而结束 DMA操作。CPU撤消总线允许信号,恢复对总线的控制。 前面介绍的三种传送方式各有利弊,在实际使用时,要根 据具体情况选择既能满足要求,又尽可能简单的方式。 38 第7章 输入/输出与中断 多种多样的外设 工作原理不同 机械、电子、机电、电磁 传送信息类型多样 数字量、模拟量、开关量 传送速度

温馨提示

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

评论

0/150

提交评论