6__输入输出和中断

上传人:豆浆 文档编号:47262961 上传时间:2018-07-01 格式:PPT 页数:58 大小:434KB
返回 下载 相关 举报
6__输入输出和中断_第1页
第1页 / 共58页
6__输入输出和中断_第2页
第2页 / 共58页
6__输入输出和中断_第3页
第3页 / 共58页
6__输入输出和中断_第4页
第4页 / 共58页
6__输入输出和中断_第5页
第5页 / 共58页
点击查看更多>>
资源描述

《6__输入输出和中断》由会员分享,可在线阅读,更多相关《6__输入输出和中断(58页珍藏版)》请在金锄头文库上搜索。

1、6 输入输出和中断6.1 输入输出的基本概念输入/输出(I/O)是计算机与外部世界交换信息必须 具备的功能,通过键盘、鼠标、BCD拨码盘等输入设备将 程序、数据等信息送入计算机的过程称为输入,而通过显 示器、指示灯、打印机等输出设备将处理结果送出的过程 称为输出。 由于目前所使用的外设种类繁多,有机械式、电动 式、电子式等形式,它们的信息类型也各有差异,可以是 数字量、模拟量或开关量,因此外设和CPU之间通常是不 能直接连接的,而必须通过接口电路相连接。 6.1.1 I/O接口的功能 接口是将外设连接到总线上的一组逻辑电路的总称 。接口电路应具有以下功能: (1)地址译码与设备选择 所有外设都

2、通过I/O接口挂接在系统总线上,在任一 时刻总线只允许一个外设与CPU进行数据传送。因此,只 有通过地址译码选中的I/O接口允许与总线相通,而未被 选中的I/O接口呈现为高阻状态,与总线隔离。(2) 缓冲锁存数据为解决CPU和外设之间的速度差异,接口应具有数据 缓冲、锁存能力。(3)信息的输入输出通过I/O接口,CPU可以从外部设备输入各种信息, 也可将信息输出到外设;CPU通过向I/O接口写入命令可 以控制I/O接口的工作;还可以随时监测I/O接口和外设的 工作状态;必要时外设还可以通过I/O接口向CPU发出中 断请求。(4)信息转换当外设的电平不符合CPU的要求时,需由I/O接口进 行电平

3、转换。当外设以电流量的形式输入时,需要I/O接 口将其转换成电压量的形式与CPU相连接。有些外设以串 行方式发送或接收数据时,需要接口电路将其转换成并行 数据再与CPU相连接。因此,I/O接口应具备信息格式转 换、电平变换的能力。 6.1.2 I/O接口的编址方式 CPU与I/O接口进行信息交换实际上是通过I/O接口内 部的一组寄存器实现的(简单的接口也可由三态门构成, 但要求传输过程未结束前信号保持不变),这些寄存器称 为I/O端口(I/O Port)。 I/O端口有数据端口、状态端口和命令(或控制)端 口三类。根据需要,一个I/O接口可能包含全部三类端口 ,也可能只包含其中的一类或二类端口

4、。CPU通过数据端 口从外设读入数据或向外设输出数据,通过状态端口读入 设备的当前状态,通过命令(控制)端口向外设发出控制 命令。为了与I/O接口的信息交换,CPU就像为内存单元分 配地址那样为每个端口分配一个地址(称为端口地址)。 当一个I/O接口有多个端口时,为管理方便,通常是为其 分配一个连续的地址块,这个地址块中最小的那个地址称 为接口的基地址。所有的端口都需要编址,常用的编址方式有两种:一 是I/O端口与内存单元统一编址;二是I/O端口独立编址。 (1) I/O端口与内存统一编址该编址方式又称为存储器映射编址方式,即将每个 I/O端口都当作一个存储单元对待。CPU将地址空间的一 部分

5、划给I/O接口,在此范围内,给每个端口分配一个具 体的地址,故每个端口地址将占用存储器的一个地址。统一编址的优点是:不需要设置专门的访问I/O端口 的指令,可以用访问外部RAM的指令来访问I/O端口,为 访问外设带来了很大的灵活性;端口地址可以有较大的编 址空间,安排较灵活。统一编址的缺点是:I/O接口占据了一部分地址空间 ,减少了内存可用的地址范围;从指令形式上不易区分当 前指令是对RAM进行操作还是对端口进行操作。(2) I/O端口独立编址I/O端口独立编址时,存储单元地址空间和端口地址 空间是相互独立的,CPU在寻址存储单元和端口时,使用 不同的控制信号,操作的指令形式也是不一样的。独立

6、编址的优点是:不占用存储器地址空间,因而不 会减少存储器容量;由于使用专门的输入/输出指令,因 而易于和访问存储器的指令相区别,程序可读性强。独立编址的缺点是:由于对端口的操作只有输入/输 出指令可用,且这些指令的功能单一,因而编程的灵活性 小;在硬件上需要对外设端口的译码芯片,增加了成本, 同时CPU的引脚上也要有对接口进行操作的控制线。6.1.3 接口电路的基本构成(1) 接口的基本构成接口的基本构成如图61所示。其各部分功能如下: 图61 接口的基本构成数据输入/输出寄存器 暂存输入/输出的数据命令寄存器 存放控制命令,用来设定接口功 能、工作参数和工作方式状态寄存器 保存外设当前状态,

7、以供CPU读 取译码电路根据地址总线信息选中某一个寄存器 。控制逻辑控制各部分协调工作。(2)接口电路传送的信息图62为CPU通过接口与外设的连接示意图。通过 接口传送的信息包括数据信息、状态信息和控制信息。图62 CPU与外设的连接图数据信息a. 数字量:通常以8位或16位的二进制数以及ASCII 码的形式传输,主要指由键盘、磁带机、磁盘等输入的信 息或主机送给打印机、显示器、绘图仪等的信息。b. 开关量:用“0”和“1”来表示两种状态,如开关的通/ 断。c. 模拟量:模拟的电压、电流或者非电量。对模拟 量输入而言,需先经过传感器转换成电信号,再经A/D转 换器变成数字量;如果需要输出模拟控

8、制量的话,就要进 行上述过程的逆转换由图62可以看出,这些数据信息在输入时由外设经 过接口送给CPU,而在输出时由CPU经过接口送到外设 。这些数据信息可以是并行的,也可以是串行的。状态信息状态信息传输的方向是单向的,由外设通过接口送给 CPU。状态信息反映了外设当前的工作状态,CPU通过 读状态信息检测外设的工作状况。对于输入设备,通常用 “READY”信号来表示是否准备好要输入的数据,对于输出 设备,通常用“BUSY”表示输出设备当前处于“忙”状态还是 “空闲”状态,如为忙,则CPU不能向该设备输出数据,如 为空闲,则CPU可以向该设备输出数据。控制信息控制信息传输的方向也是单向的,它包括

9、CPU发出的 读/写信号和从外设发来的中断请求信号,CPU使用控制 信息来控制外设的工作。6.2 输入/输出的工作方式CPU与外设之间数据的输入输出方式主要有无条件传 送方式、查询传送方式、中断传送方式和直接存储器存取 (DMA)方式4种。6.2.1 无条件传送方式这种数据传送方式主要用于外部控制过程的各种动作 时间是固定的且是已知的情况,针对的是一些简单的、随 时准备好的外设。也就是说在这些设备工作时,随时都可 以接收CPU输出的数据或它们的数据随时都可以被CPU 读取。由于无条件传送方式任何时候都认为外设是准备好 的,而实际情况并非都如此,满足这种条件的设备较少, 故在实际应用中较少使用。

10、 图63为无条件输入方式应用实例,CPU可以随时 读入开关的状态,开关闭合时,对应的数据位为0,开关 打开时,对应的数据位为1。图64为无条件输出方式的 应用实例,当某输出数据位为1时,对应的发光二极管点 亮,反之,则熄灭。 图63 无条件输入方式图64 无条件输出方式6.2.2 查询传送方式采用无条件传送方式时,要求外设总是准备好的,实 际上大多数外设是做不到的,原因是CPU的执行速度通常 要大大高于外设。为了避免传送过程中发生错误,可以采 用查询传送方式。在查询传送方式中,CPU首先要查询外设是否准备好 或空闲,只有当外设准备好或空闲时,CPU才发出访问命 令,实现数据传送。查询输入方式的

11、流程图如图65所示 ,它的接口电路如图66所示。图66中,当输入设备 准备好一个数据时,就自动发出选通信号STB,该信号一 方面将准备好的数据送入数据锁存器供CPU读取,另一方 面将状态触发器Q置“1”,表示已经准备好数据。 图65 查询输入方式流程图CPU在读入数据之前,查询 输入设备的状态信息,实际上就 是执行一条读指令,通过三态缓 冲器读入Q的状态,当读到的Q 值为“1”时,表示外设已经准备好 ,CPU开始执行读指令读入数据 ,该指令一方面将输入设备送入 锁存器中的数据经由三态缓冲器 送上数据总线、读入CPU内,另 一方面还将D触发器清“0”,表示 数据已经取走,等输入设备准备 好下一个

12、数据时,再将其置“1”。 图6-6 查询输入的接口电路输出方式的流程图如图67所示,它的接口电路如图 68所示。在图68中,CPU在输出数据之前,先查询 输出设备的状态,如为“忙”(即“BUSY”1),则表示输 出设备正在工作,不能接收来自CPU的数据,故此时 CPU不可向该设备输出数据,如为“闲”(即“BUSY”0) ,则表示该设备空闲,此时CPU可执行一条输出指令,该 指令一方面使锁存器的选通信号有效,CPU送来的数据进 入锁存器,然后送往输出设备,另一方面,还将D触发器 再次置“1”,即处于“忙”状态,使得CPU不能再发新数据给 该输出设备。当输出设备将收到的数据处理完后,产生一 个复位

13、信号,将D触发器清“0”,表示该设备“闲”,才又可 以接收新数据。图67 查询输出方式流程图查询方式的优点是软件比 较简单,但CPU效率低(CPU 需花费大量的时间在查询外设 的状态上),数据传送的实时 性差,速度较慢。对于许多实 时性要求较高的外设来说,不 能满足要求。为了提高CPU的 利用率和进行实时数据处理, CPU常采用中断方式与外设交 换数据。 图68 查询输出的接口电路 6.2.3 中断传送方式 在中断传送方式中,当外设准备好交换的数据后,由 外设主动向CPU提出数据传送的请求,在外设提出申请以 前CPU一直执行本身的某个程序,只是在执行的过程中收 到外设传送数据的请求后,才中断自

14、身程序的执行,而暂 时去进行对外设数据的传送,等数据传送完毕后,仍返回 到原来被中断的程序处继续向下执行。由于在中断方式中,CPU不需要花很多时间去等待外 设准备数据,而是在外设准备数据的过程中,执行本身的 程序,因而大大提高了工作效率。有关中断的概念、工作原理及中断源分类等将在6.3 节详细讨论。 6.2.4 直接存储器存取方式在查询中断方式中,CPU调用中断服务程序前必须保 护当前程序的“断点”位置, 同时中断服务程序结束时必须 恢复程序“断点”,以便能够正确返回,此外,有时还必须 保护部分CPU内部寄存器的值,因此占用CPU的资源。 由于每条指令均需经过取指与执行的过程,一般来说,传 送

15、一个字节需几十到几百微妙,由此可估算出传送速率约 为每秒几十KB。这种传送速率对于一些高速外设及批量 数据交换(如磁盘与内存的数据交换)来说是远远不够的 。对于高速数据传送的情况,希望外设不通过CPU而直 接与存储器进行数据交换,这就是直接存储器存取( DMA)方式,即通过专门的硬件电路来控制存储器与外 设直接进行数据交换。DMA方式提供了一条I/O设备与主 存直接交换数据的通道,若I/O接口的DMA控制器( DMAC)提出请求时,CPU将总线控制权让给DMA控制 器,DMA控制器通过总线直接控制I/O设备与主存交换信 息。在DMA控制器控制总线期间,CPU仍可进行内部操 作,如算术运算等。(

16、1)DMA控制器的功能在DMA方式下,CPU应暂时放弃系统总线的控制权 ,而改由DMA控制器控制,这就要求DMA控制器具有以 下功能:能接收外设送来的DMA请求,并能向CPU发出相 应的总线请求信号(HOLD),请求CPU放弃总线的控制 权。当CPU响应总线请求并发出响应信号(HLDA)后 ,能接管总线的控制权,实现对总线的控制。能发出存储器地址信号,实现对内存单元寻址,并 能自动修改地址指针。能向存储器或外设发出读写控制信号。能决定传送的字节数,并判断DMA传送是否结束 。在DMA传送结束后,能向CPU发出DMA结束信号 并交出总线控制权,由CPU接管。(2)DMA控制器的工作过程DMA控制器的工作过程如图69所示,大致分为以 下几部分:当外设准备好,可以进行DMA传送时,外设向 DMA控制器发出DMA传送请求信号(DRQ)。DMA控制器收到请求后,向CPU发出总线请求信 号HOLD。CPU在现行的机器周期或总线周期结束后,会立即 响应DMA请求。即将地址总线、数据总线和有关的控

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

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