微机和外设的数据传输.ppt_第1页
微机和外设的数据传输.ppt_第2页
微机和外设的数据传输.ppt_第3页
微机和外设的数据传输.ppt_第4页
微机和外设的数据传输.ppt_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

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

文档简介

1、北京工业大学计算机学院,1,第三讲 微型计算机和外设的数据传输,北京工业大学计算机学院,2,教学建议,本章重点为: 为什么要用接口; CPU和输入/输出设备之间的信号; 接口的功能以及在系统中的连接; CPU与外设之间的数据传送方式; 中断传输的原理; DMA方式的原理; 输入/输出过程中接口部件和地址总线错位连接的原理。,北京工业大学计算机学院,3,5.1 为什么要用接口,要构成实际的微型计算机系统,除了微处理器外,还需要各种接口。 定义: I/O接口是设置在CPU与外设之间的一组控制电路。其基本功能是对数据传送的控制。 接口按功能分为两类: 使CPU正常工作所需要的辅助电路,使CPU得到时

2、钟信号或接收外部的多个中断请求 输入/输出接口,接收外部设备送来的信息或发送到外部的信息。,各种I/O卡都是I/O接口,如显卡、声卡等。,北京工业大学计算机学院,4,5.1 为什么要用接口,外部设备为什么一定要通过接口和主机相连? CPU与外部设备交换信息的过程和CPU与存储器交换数据一样都要通过总线来完成,但CPU和外设之间直接进行信息交换会带来的一些问题,只有用接口电路解决,保证CPU和外设之间能在速度、电平、格式和时序上进行匹配。 。 采用接口的原因: 外部设备功能多种多样。 信息转换和缓冲,外部设备的信息既有数字式,又有模拟式,即可串行,有可并行 时序上的原因 多个外设共享总线的原因

3、速度的原因,北京工业大学计算机学院,5,5.2CPU和输入/输出设备之间的信号,CPU和外设之间传输信号的分类 数据信息 数字量 模拟量 开关量 状态信息 控制信息 注意: CPU与外设通信时,传送数据信息、状态信息和控制信息各不相同,应该分别传送。但也可都看成数据信息,状态信息和控制信息也可通过数据总线来传送。,北京工业大学计算机学院,6,5.3接口部件的I/O端口,I/O端口是指外设接口中存放和传送数据信息、控制信息和状态信息的寄存器,各类信息在接口中进入不同的寄存器,这些寄存器称为I/O端口,每个端口有一个端口地址。CPU用IN或OUT指令对其进行读或写。,北京工业大学计算机学院,7,I

4、/O端口的类型 数据端口:用来存放外设和CPU之间交换的数据,主要起数据缓冲的作用。 状态端口:主要用来指示外设的当前状态,每个外设可以有几个状态位,可由CPU读取。常见的状态位有:准备就绪;忙碌、错误位 命令端口也称为控制端口,用来存放CPU向接口发出的各种命令和控制字,以便控制接口或设备的动作 常见的命令信息有启动位、停止位、允许中断位等。常见的控制位有方式选择控制字、操作命令字,北京工业大学计算机学院,8,二. I/O端口的寻址方法 CPU对I/O接口电路相应的端口进行访问,和存储器一样,也需要由译码电路来形成I/O端口地址,端口地址不能重复 I/O端口的编址方式有两种:与存储器统一编址

5、方式和I/O 独立编址方式。 1、与存储器统一编址方式 把I/O端口和存储单元一样对待,统一编址,访问存储器的所有指令均可用来访问I/O端口。实际上是把I/O地址映射到存储空间作为存储空间的一小部分。,北京工业大学计算机学院,9,优点: 1、省去单独的I/O指令和控制线。 2、用于存储器的所有指令均可用于I/O接口操 作,因此使I/O接口功能较强,使用灵活。 缺点: 1、占用了存储器的一部分地址空间,缩小了 存储器的地址范围。 2、对I/O接口访问需要全字长地址译码,指令 执行速度较慢。,北京工业大学计算机学院,10,2、I/O独立编址方式 CPU设立单独的输入输出指令和控制线,从而与存储器指

6、令区分开,将I/O接口地址区与存储器地址区分别各自单独编码,用专门的IN和OUT指令。 8086允许64K个8位的I/O端口。即使用A15-A0这16根地址线访问64K个I/O端口。 8086CPU在执行访问I/O端口的指令(IN或OUT)时,从硬件上会产生有效的RD或WR信号,同时使M/IO处于低电平,通过外部逻辑电路的组合产生对I/O端口的读信号或I/O端口的写信号. IN : 数据输入,完成读数据,读状态. OUT : 数据输出,完成写命令,输出数据,北京工业大学计算机学院,11,优点: 1、不占用存储器的地址。 2、地址线少,译码电路简单。 3、执行时间快。 缺点: 1、指令少,编程不

7、灵活。 2、要设置专门的控制线和操作码进行I/O访问。 3、I/O端口数量受限制。,北京工业大学计算机学院,12,(1)直接I/O寻址(取值范围:00FFH) IN AL, PORT OUT PORT , AL (2)间接I/O寻址(取值范围:0000FFFFH) MOV DX , XXXXH IN AL , DX OUT DX , AL,CPU对I/O接口的寻址方式,北京工业大学计算机学院,13,例:,控制口地址为FFF8H , 命令为80H MOV DX , 0FFF8H MOV AL , 80H OUT DX , AL,注: 1.CPU对外设寻址最大64K个端口地址 2.直接I/O寻址范

8、围 00H-FFH 3.间接I/O寻址范围 0000H-FFFFH,北京工业大学计算机学院,14,5.4接口的功能以及在系统中的连接,5.4.1 接口的功能 寻址功能:提供地址译码电路,对I/O端口进行寻址 输入/输出功能:设置数据缓冲以解决速度不匹配;读/写信号 数据转换功能:设置信号电平转换电路解决信号电平不匹配; 设置信息转换逻辑满足对各自格式的要求; 设置信息转换逻辑 如:A/D, D/A; 并串转换. 设置时序控制电路来同步CPU和外设的工作 可编程功能 错误检测功能,北京工业大学计算机学院,15,5.4.2 接口与系统的连接,典型的I/O部件和外部电路连接图,北京工业大学计算机学院

9、,16,5.4.2 接口与系统的连接,用读信号、写信号和地址A0区分4个寄存器(若A 、 B可写,C 、 D可读),表5.1,北京工业大学计算机学院,17,I/O端口译码 门电路 译码芯片(138,139,154),北京工业大学计算机学院,18,例1. CPU无条件地读取开关状态,1,输出设备:LED发光二极管,北京工业大学计算机学院,20,地址 译码器,输 出 锁 存 器,D7D0,WR,地址 总线,至输出设备,来自输入设备,M/IO,RD,输 入 缓 冲 器,5 .5 CPU与外设之间的数据传输方式,北京工业大学计算机学院,21,5 .5 CPU与外设之间的数据传输方式,2、条件传送:CP

10、U与外设交换数据时,很难保证输入设备总是准备好了,或者输出设备已处在可以接收数据的状态,所以传送前CPU需查询状态标志,以确定是否传送或接收。 传送过程: CPU从接口中读状态字;输入: CPU在输入数据前查询外设数据是否准备好,输出: CPU在输出数据前先用指令查询外设缓冲器是否为空? CPU检测状态字对应位是否满足条件,如不满足,则回前一步读取状态字 若已就绪,则传送数据,北京工业大学计算机学院,22,输入 设备,数据 锁存器,数据 缓冲器,三态 缓冲器,D,Q,R,+5V,数据,地址,译码器,READY,状态信号,M/IO,RD,M/IO,RD,选 通 信 号,C,CS1,CS2,A0A

11、15,D0D7,查询式输入的接口电路:由数据口和状态口组成。状态口由一个D触发器和一个三态门构成。输入设备准备好数据,发一个选通信号,把外设数据打入接口的锁存器和使接口的Q端为1。,5 .5 CPU与外设之间的数据传输方式,北京工业大学计算机学院,23,ACK,M/IO,输 出 设 备,R D Q C,锁 存 器,三态 缓冲器,+5V,WR,数据总线,地址 总线,M/IO,RD,状态信息,“BUSY”,地址 译码器,D1,CPU,CS1,CS2,查询式输出的接口电路,查询式输出的接口电路:ACK有效时,CPU读入状态检查到BUSY=0时,才执行数据输出指令。输出数据时,选通信号的下沿,使D触发

12、器的Q端置为1。,选通信号,北京工业大学计算机学院,24,N,查询式输入的流程图,初始化,读状态,处理缓冲区中的数据,数据传送到内存缓冲区,处理数据,读入一个字或一个字节到CPU,数据准备就绪?,传送完?,后续处理,Y,N,Y,查询式输入数据的程序段见书P185,北京工业大学计算机学院,25,初始化,读入状态,结束,数据传送到外设缓冲区,输出一个字或一个字节到外设,忙否?,操作完成否?,Y,N,N,Y,查询式 输出过程的流程图,北京工业大学计算机学院,26,1、中断传送方式的原理,用查询方式使CPU与外设交换数据时,CPU不断检查外部设备的状态,当外设的速度很低时,会占用很多的CPU时间,而真

13、正用于CPU的时间又很少,使CPU的利用率变得很低,外设缺少主动性。见书上的例子, 当有多个设备工作,还需要轮询,实时性很难保证 为了提高CPU的利用率和具有实时性,可以采用中断方式:CPU平时可以执行主程序,当外设准备好数据才向CPU发中断请求。CPU响应中断,转去执行中断服务程序,完成一次CPU与外设的数据交换,CPU又返回执行原来的程序继续。,5 .5 .2 中断方式,北京工业大学计算机学院,27,中断方式的接口电路,5 .5 .2 中断方式,北京工业大学计算机学院,28,可屏蔽中断的响应和执行,5 .5 .2 中断方式,北京工业大学计算机学院,29,当系统中有多个设备用中断方式和CPU

14、进行数据传输时,需要解决优先级的问题,当前微机系统主要采用可编程的中断控制器的方法,2、中断优先级问题的解决,北京工业大学计算机学院,30,1、DMA传送方式的提出 中断方式比程序控制方式大大提高了CPU的利用率,由于每完成一次数据交换,就要产生一次中断。一次中断需要CPU处理许多额外操作,造成效率下降。当CPU与高速外设交换信息时,中断方式仍显得太慢。例如:和磁盘之间的数据交换。 为了解决问题可采用DMA的传送方式,直接存储器存取,由硬件直接实现数据块的传送。 数据不经过CPU控制传送,而由外部单独的专门控制器-DMA控制器来控制,使数据直接在I/O接口和存储器之间传送,这就是对存储器的直接

15、存取方式。简称DMA方式。,5 .5 .3 DMA方式,北京工业大学计算机学院,31,2、DMA控制器的功能和DMA传送原理,5 .5 .3 DMA方式,DMA控制器的应具备的功能:见书p192,用DMA方式传输单个数据(输出过程),北京工业大学计算机学院,32,5.5.3 DMA方式,DMA控制器的内部最小配置和接口要求,北京工业大学计算机学院,33,5.5.3 DMA方式,DMA方式从接口往内存传输一个数据块,将按下面的过程动作: 发一个DMA请求。 发总线请求 地址寄存器的内容送到地址总线上。 发确认DMA传输的信号。 数据送到地址总线所指出的内存单元。 地址寄存器的值加1。 字节计数器

16、的值减1。 如字节计数器的值不为0,则回到;否则结束,北京工业大学计算机学院,34,对I/O接口的要求 控制寄存器中须有一位用来指出数据传输方向,供DMA判断输入/输出 控制寄存器中须有一位用来启动I/O操作,通过设置此为启动外设的动作 状态寄存器中须有一位用来指出设备当前是否处于忙状态 对DMA控制器的要求 控制寄存器中专有一位作为DMA允许位,控制响应接口的DMA请求 控制寄存器中须有一位用来确定DMA方向,DMA发送读信号/写信号 控制寄存器中须有一位用来进行一次传输后,是否放弃总线控制权 状态寄存器中须有一位用来表示数据块传输是否结束,5.5.3 DMA方式,北京工业大学计算机学院,3

17、5,系统对DMA控制器和接口部件预置信息 往DMA控制器的字节计数器置初值,以决定数据传输长度 往DMA控制器的地址寄存器置初值,以确定数据传输所用的存储区的首址 对DMA控制器置控制字,指出传输方向、是否进行块传输,并启动DMA操作 对接口部件设置控制字,指出传输方向,并启动I/O操作,5.5.3 DMA方式,北京工业大学计算机学院,36,3、DMA控制器的工作特点 一方面是一个接口 另一方面能够控制系统总线 DMA控制器在传送数据时不需指令,而是通过硬件逻辑电路用固定的顺序发送地址和读/写信号,5.5.3 DMA方式,北京工业大学计算机学院,37,5.5.4 输入/输出过程中提出的几个问题,1、系统和接口的联系方式 查询方式检测状态寄存器的就绪位 中断方式,就绪后,发中断请求 DMA方式,接口向DMA控制器发DMA请求 2、优先级 当几个设备处于同一种传输方式之下,同时发传输请求时如何响应 3、缓冲区 系统和外设之间传输一系列数据,传输完后,这些数据才能被使用,用内存中的若干存储单元存放,北京工业大学计算机学院,38,5.5.5 接口和多字节数据总线的连接,随着CPU的不断升级,数据总线的位数不断增加,8086的数据总线是16位,而I/O接口部件8位接口芯片,如何和数据总线连接 I/O接口部件常常连在低8位数据总线上,北京工业大学计

温馨提示

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

评论

0/150

提交评论