第7章输入输出.ppt

上传人:本田雅阁 文档编号:2608794 上传时间:2019-04-17 格式:PPT 页数:28 大小:1.82MB
返回 下载 相关 举报
第7章输入输出.ppt_第1页
第1页 / 共28页
第7章输入输出.ppt_第2页
第2页 / 共28页
第7章输入输出.ppt_第3页
第3页 / 共28页
亲,该文档总共28页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

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

1、,1,2,3,4,I/O接口概述,简单I/O接口芯片,基本输入/输出方法,可编程DMA控制器8237A,第七章 输入/ 输出技术,I/O:计算机通过外围设备同外界交换信息的过程称为“输入/输出(Input/Output,I/O)”。,I/O接口概述,I/O接口:将CPU和外围设备连接起来实现信息交换的缓冲电路称为I/O接口(Interface)电路,简称“I/O接口”。,I/O接口的基本功能,缓冲、隔离和锁存功能 信息格式与电平转换功能 信息交换的应答联络功能 译码寻址外设功能,基本原则:输入要缓冲、输出要锁存、输入/输出要隔离,I/O接口的基本结构,地址总线(AB)、数据总线(DB)、控制总

2、线(CB) 数据(端)口数据寄存器:数据信息 状态(端)口状态寄存器:状态信息 控制(端)口命令寄存器:控制信息,CPU对外设的访问实际上是CPU对I/O接口电路中的相应端口(寄存器)进行访问。两种编址方式: 独立编址:相对存储器而言,将存储器地址空间和I/O接口寄存器地址空间分开设置,互不影响。Intel系列。,I/O端口的编址方式,独立编址方式的特点:,存储器和I/O接口各自拥有独立的地址空间,相互之间不交叉不重叠,地址空间得到充分利用。 存储器和I/O接口的读写控制逻辑相互独立,且I/O接口通常需要“选通”、“应答”等控制信号,而存储器接口并不需要,因而控制逻辑可以分别设计,硬件设计比较

3、方便。 CPU的访内指令和访外指令不同,程序设计非常清晰。 I/O端口的地址码较短(8位或16位),译码电路比较简单,从而使IN/OUT指令的执行速度较快。 需要专用的访外指令,这些指令只能进行数据的输入输出,不能进行数据的运算,功能不如访内指令强大,程序设计的灵活性较差。,统一编址:又称存储器映像编址,将所有I/O接口电路中的寄存器作为存储单元对待,并给每一个寄存器分配相应的存储器地址。这样,CPU访问外设就象访问存储器一样,所不同的仅是地址而已。MCS51系列,680X0系列,ARM系列等。,统一编址方式的特点:,访问存储器的指令也可用于外设的输入/输出操作,因而对I/O端口寄存器的数据处

4、理能力强。 I/O接口和存储器共用译码电路和读写控制逻辑,电路非常简洁。 CPU无需产生访内操作和访外操作的控制信号。 I/O端口的地址空间可大可小,比较灵活,从而使外设的数量几乎可以不受限制。 不能充分利用地址空间,地址空间的分配可能潜藏隐患,影响存储器空间的容量; CPU与I/O端口交换数据的指令执行时间较长。,独立编址方式可以转换为统一编址方式 统一编址方式不一定能转换为独立编址方式,统一编址:完全相同。 独立编址:方法相同,通常I/O端口地址比存储器单元地址短,因此参与译码的地址线较少。 8位端口(静态地址):地址线A7A0(8根线,其余忽略),00HFFH,可直接在IN/OUT指令中

5、出现。 16位端口(动态地址):地址线A15A0(16根线,其余忽略),0000HFFFFH,端口地址必须先放在DX寄存器中,才能使用IN/OUT指令。,I/O端口的地址译码,与存储器单元的地址译码方法相同。,IN AL,20H ;20H是8位端口地址,可直接在指令中作为操作数使用 MOV DX,13F8H OUT DX,AL ;13F8H是16位端口地址,应先将其装入DX,才能被寻址,74LS373锁存器 74LS244缓冲器 74LS245收发器,简单I/O接口芯片,74LS373锁存器,74LS373真值表,当GH、OEL时,xDxQ; 当输入门控G从高电平跳变到低电平且OEL时,xQ,

6、即D被锁定; 当OEH时,xQ; 当GH时,xD。 当GL时,xD,74LS373可被用于锁存地址信息、数据信息和状态信息等,更多用于锁存地址信息。,74LS244缓冲器,8个三态门,驱动、缓冲,2组 第1组:1G门控,1Ax1Yx 第2组:2G门控,2Ax2Yx,74LS244缓冲器主要用于三态输出的地址总线、数据总线或时钟驱动器。,74LS245收发器,双向,各8个三态门 G是门控 DIR是方向控制,DIR=H时,AB; DIR=L时,BA,74LS245常用于数据的双向传送、缓冲和驱动。,【例】设计一接口电路,构成16个发光管流水灯,口地址85H86H。画出电路原理图,编一驱动程序使发光

7、管从上到下依次发光。,MOV BX,0FFFEH NEXT: MOV AL,BL OUT 85H,AL MOV AL,BH OUT 86H,AL MOV CX,0FFFH LOP: LOOP LOP;延时 SHL BX,1 JNZ NEXT HLT,基本输入/输出方法,CPU,MEM,I/O,DMA方式,数据传送指令,IN/OUT指令,程序控制的输入/输出 直接存储器存取方式(DMA),程序控制的输入/输出,传送过程以CPU为中心,通过程序(数据传送指令和IN/OUT指令)完成数据传送 传送路径必须经过CPU内部的寄存器 传送速度不高,响应比较慢,无条件传送 查询方式传送 中断方式传送,无条件

8、传送,又称同步传送,CPU可以随时与I/O进行数据传送,不依赖于任何条件 对于输入口,CPU总是认为外设数据已经准备好,可读 对于输出口,CPU总是假设外设数据端口已空,可写 不需要在CPU和I/O之间建立任何握手信号,所需硬件很少,软件简单 适用于开关、继电器、步进电机、LED、数码管显示器等,输入接口设计,MOV DX,IN_PORT IN AL,DX,输出接口设计,MOV DX,OUT_PORT OUT DX,AL,查询方式传送,CPU通过程序指令不断询问外设的工作状态,如果“就绪”就开始进行数据传送,如果未“就绪”则继续不断地询问 又称应答式传送,在CPU和外设之间建立了问答机制 除了

9、使用数据口外,还要用到状态口, 读取I/O接口中的状态口,得到外设的状态字; 检测相应的状态位,以检查是否“就绪”; 若“就绪”则执行I/O操作,若未“就绪”,则重复步。,优点: 能保证CPU与外围设备之间的协调同步工作 硬件线路简单,程序容易实现,缺点: 浪费CPU的时间,效率低,【例】某外设接口的8位数据端口地址为200H,状态端口地址为201H,状态口中第7位为1表示外设已准备好。如该外设为输入设备,试编制从该设备输入一个字节数据的程序段。 MOV DX,201H ;状态口地址 LOP:IN AL,DX ;读取外设的状态字 TEST AL,10000000B;状态位第7位是否为1? JZ

10、 LOP ;不是1则继续查询 DEC DX ;数据口地址 IN AL,DX ;从数据口输入数据,【例】对于上例,如该外设为输出设备,则向该设备输出一个字节数据的程序段又该如何编制? MOV DX,201H ;状态口地址 LOP:IN AL,DX ;读取外设的状态字 TEST AL,10000000B;状态位第7位是否为1? JZ LOP ;不是1则继续查询 DEC DX ;数据口地址 OUT DX,AL ;向数据口输出数据,中断方式的输入/输出,外设“准备好”才发中断,效率高,实时性好 CPU处于被动地位,外设处于主动地位 是一种相对可靠的输入/输出方式 CPU与外设“并行”工作,多个外设也可

11、“并行”工作,创建数据传送缓冲区,配置好相关地址; 初始化外设接口,配置好外设的工作方式; 初始化中断控制器(8259A),设置好包括中断优先级在内的中断控制逻辑; 编制中断服务(子)程序; 将中断向量(中断服务(子)程序的入口地址)填入中断向量表中; 适时启动外设。,中断方式的输入输出仍属于程序控制的数据传送方式,其程序设计步骤:, 为了能够接受中断请求,CPU必须要有相应的中断控制逻辑,外围设备要提供中断请求信号及中断类型号。 中断方式每传送一次数据就要中断一次CPU。CPU响应中断后,进入中断处理,将程序引导至“中断服务程序”入口。在“中断服务程序”中,一般都要保护现场、恢复现场,浪费了

12、很多CPU时间,较适合于传送少量数据以及中低速度的外围设备。,缺点:,直接存储器存取方式(DMA),Direct Memory Access,DMA,需要DMAC(DMA Controller) 不受CPU干预 纯硬件方式进行 高速传送,取决于存储器存取速度和I/O接口的工作速率,DMA传送的请求与工作过程:, 外设向DMAC发出DMA传送请求信号(DREQ) DMAC向CPU发出总线请求保持信号HOLD,申请占用总线 CPU向DMAC发出总线响应信号HLDA,同时使CPU三总线处于高阻态,放弃总线控制权 DMAC获得总线控制权,并向外设发出DMA响应信号DACK,进入DMA工作方式 DMAC送出地址/控制信号,实现“内存外设”或“内存内存”之间的直接数据传送 DMAC自动修改地址和字节计数器,判断是否需要重复传送。规定的数据传送完后,DMAC就撤销HOLD信号。CPU检测到HOLD失效后,紧接着撤销HLDA信号,并在下一时钟周期开始重新控制总线,继续执行原来的程序,DMAC初始化:,给DMAC中的地址寄存器及计数寄存器设置数据传输所用的源、目标内存首地址及传送数据的字节长度 对DMAC送入适当的控制字,以指出数据传送方向及如何启动DMA操作,课后作业,7.2,7.4,7.5,7.6,7.9,7.10,

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

当前位置:首页 > 其他


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