第5章数据传输.ppt
1,接口技术是采用硬件与软件相结合的方法,研究微处理器如何与外设进行连接,以实现CPU与外部设备进行高效可靠的信息交换的一门技术。 接口技术在微型计算机系统设计和应用过程中占有极其重要的地位。第5章 微型计算机和外设的数据传输 第6章 串并行通信和接口技术 第7章 中断控制器和计数器/定时器 第8章 模/数和数/模转换,2,第5章 微型计算机和外设的数据传输,5.1 为什么要用接口电路 5.2 CPU和I/O设备之间的信号 5.3 接口部件的I/O端口 5.4 CPU和外设之间的数据传送方式,3,5.1 为什么要用接口电路,各外设使用不同的操作方法 不用接口, 降低CPU的效率 不用接口, 外设结构依赖CPU,不利于外设的发展 CPU和外设信号传输处理的速度不匹配 CPU和外设的信息类型和格式不同,I/O接口电路是位于主机系统与外设间,用来协助完成数据传送和控制任务的逻辑电路,4,I/O接口的主要功能,地址译码功能 信息传送控制功能 信息缓冲、锁存及驱动功能 信息变换功能(类型、格式及电平变换),5,输出接口的锁存,6,输出接口的锁存、缓冲,7,输入接口的缓冲,8,输入接口的锁存、缓冲,9,5.2 CPU和I/O设备之间的信号,CPU与外设之间需要相互交换的信息: 数据信息:数字量、模拟量、开关量 状态信息: 反映当前外设所处的工作状态。 CPU通过接口电路掌握外设的状态,以决定是否输入/输出数据 控制信息 CPU送至外设的信息,用以控制外设的工作,如启动或停止I/O设备等。 控制信息还包括对接口工作状态的控制。,10,值得注意:状态信息、控制信息、数据信息在CPU与接口间都是通过数据总线交换的。这三类信息进入接口内不同的寄存器中。 数据寄存器 保存外设给CPU和CPU发往外设的数据 状态寄存器 保存外设或接口电路的状态 控制寄存器 保存CPU给外设或接口电路的命令,11,I/O接口的典型结构,12,接口电路的外部特性,主要体现在引脚上 面向CPU的信号: 用于与CPU连接 主要是数据、地址和控制信号 面向外设的信号: 用于与外设连接 提供的信号多样 功能定义、时序及有效电平等差异较大,13,接口电路的可编程性,接口电路常具有多种功能和工作方式,可以通过编程的方法选定其中一种 接口软件有两类: 初始化程序段——设定芯片工作方式等 数据交换程序段——管理、控制、驱动外设,负责外设和系统间信息交换,14,5.3 接口部件的I/O端口,1.I/O端口(PORT) 接口中能被CPU直接访问的寄存器或特定硬件电路称为I/O端口,I/O端口的编码为端口地址。 一个接口部件可以有多个I/O端口,每个端口用来保存和交换不同的信息。 数据寄存器、状态寄存器和控制寄存器常依次被称为数据端口、状态端口和控制端口,用于保存数据、状态和控制信息。 输入、输出端口可以共用同一个I/O端口地址。,,15,统一编址 独立编址,2. I/O端口编址方式,3. 8086的输入输出指令的执行,16,输入指令,17,输出指令,18,4.I/O端口地址译码,1)固定式译码电路 采用门电路构成 采用译码器电路构成,如74LS138 2)可选式译码电路 简单可选式译码电路 使用比较器+地址开关方法,19,门电路译码,,20,译码器电路构成,IBM PC/XT主机板的I/O译码电路,21,,简单可选式译码电路,22,使用比较器+地址开关方法,74LS688比较器: 当P0~7≠Q0~7时,输出高电平。 当P0~7=Q0~7时,输出低电平。,23,5.4 CPU和外设之间的数据传送方式,为了实现CPU与外设的数据传送,微机中通常采用4种方式: 程序方式 中断方式 DMA方式 IOP方式——CPU委托专门的I/O处理机来管理外设,完成传送和相应的数据处理,24,1.程序方式,程序控制传送是由CPU执行程序来控制主机与外设间的数据交换,何时进行数据传送由编程确定。 根据外设的特点,程序方式又可分为: 无条件传送方式 查询传送方式,25,1)无条件传送方式,无条件传送方式对固定的外设在规定的时间用I/O指令来进行信息传送,不必查询外设的状态。 这种方式要求当程序执行I/O指令时,相应的外设必须已为传送数据做好了准备。当外设没有准备好时,传送会出错。,26,(1)无条件传送方式的输入接口电路,MOV DX, 160H IN AL, DX,,27,无条件传送:输入实例,MOV DX, 160H IN AL, DX,28,(2)无条件传送方式的输出接口电路,MOV DX, 160H MOV AL, [BX] OUT DX, AL,,29,无条件传送:输出实例,MOV DX, 160H MOV AL, [BX] OUT DX, AL,30,2)查询传送方式,查询传送方式在传送数据前先查询外设的状态 当外设准备好: 传送数据 当外设未准备好:CPU等待 查询传送方式要求CPU与外设间的接口电路需要两个端口: 数据信息端口 状态信息端口,31,查询传送的两个环节,查询环节 寻址状态口 读取状态寄存器的标志位 若不就绪就继续查询,直至就绪 传送环节 寻址数据口 是输入,通过输入指令从数据端口读入数据 是输出,通过输出指令向数据端口输出数据,32,(1)查询传送方式下的输入接口电路,Data,Status,33,(2)查询方式下的输出接口电路,Data,Status,内存Store单元的内容送输出设备,34,例: 一个数据采集系统,35,数据采集过程的程序段,START:MOV DL,0F8HMOV AX,SEG DSTORMOV ES,AXLEA DI,DSTOR AGAIN:MOV AL,DLAND AL,0EFHOUT 04,ALCALL DELAYMOV AL,DLOUT 04,AL POLL: IN AL,02,SHR AL,1 JNC POLL IN AL,03 STOSB INC DL JNE AGAIN,,36,查询传送方式的优点: 能较好地协调外设与CPU之间的定时关系,因而比无条件传送方式容易实现准确传送。 查询传送方式的缺点: 该方式需要不断查询外设的状态,大量时间花在等待循环中,当主机与中、低速外设交换信息时,大大降低了CPU的利用率。,37,2. 中断方式,中断源为外设。 中断传送方式同查询方式一样,也是在程序控制下进行数据传送的。 1)查询与中断的区别,38,2)一个简化的输入设备的中断接口电路,中断请求触发器,39,3)中断传送流程,40,3. DMA方式,直接存储器存取(Direct Memory Access)方式简称DMA方式。该方式通过硬件控制实现两种存储介质(内存、I/O端口)之间直接数据传送,在传送过程中无需CPU干预。 对DMA方式的数据传送过程进行控制的硬件电路称为DMA控制器,简称DMAC。它是一个特殊的接口电路。,41,1)DMA传送方式的提出,中断方式不适用于大批量数据的高速传输 程序控制I/O; 有额外开销。 DMA 方式适用于大批量数据的高速传送 硬件控制控制实现直接快速传送 (DMAC) 无程序切换的额外开销,42,能接受外设或软件的DMA请求,并及时向CPU发出总线请求信号。 在接受CPU总线响应信号后,能接管对总线的控制,进入DMA方式。 能发出地址信息,对内存或I/O端口寻址,能自动修改地址寄存器的值。 能发出读/写控制信号。 能决定传送的字节数及判断DMA传送是否结束。 能发出DMA结束信号,释放总线,使CPU恢复正常工作。,2) DMAC的基本功能,43,3)DMA传送方式,依据DMAC何时归还总线控制权分类。 单数据传送方式 DMAC向CPU发出一次总线请求,在占用总线后进入DMA方式,只传送一个数据,便释放总线,恢复CPU总线控制权。 数据块传送方式 在DMA请求获准后,由DMAC保持总线控制权,连续占用若干个总线周期进行连续的批量数据传送,直到整个数据块传送结束或者DMAC接到来自外部的一个过程结束信号,DMAC才释放总线而返回到CPU控制。,44,4)DMAC的内部最小配置和接口要求,45,5)DMAC的两种工作状态和外部引线,被控状态 CPU控制总线,DMAC作为一个可编程的标准I/O接口。 主控状态 DMAC掌握系统总线的控制权,作为一个专用处理器,执行预订的DMA传送。,(1)DMAC的两种工作状态,46,(2)DMAC的外部引线,与I/O接口的连接线,HOLD/HLDA,作为DMAC寻址 I/O端口的引线,与CPU的连接线,采用中断方式通知CPU进行结果处理,47,6)DMA传送的三个阶段,传送前预处理;正式传送;传送后处理。 传送前预处理(初始化设置) 设置字节计数器初值,以决定数据传输长度 设置地址寄存器初值,以决定内存存取区首地址 设置控制字,以决定传送方向、传送方式、启动DMA操作等 对接口部件设置控制字,以决定数据传送方向、启动I/O操作,48,正式传送,外设接口、DMAC和CPU三者通过应答信号建立联系:CPU将总线交给DMAC控制。 DMA传送 DMA读存储器:存储器 → 外设 DMA写存储器:存储器 ← 外设 自动增减地址和计数,判断传送完成否。,49,传送后处理,由字节计数器的值为0引发中断请求。 CPU 响应中断,转入中断服务。 检查是否结束数据传送 发新的DMA操作命令 出错时转错误诊断和处理程序。,50,7)用DMA方式传输数据的流程,51,4.传送方式的比较,无条件传送:慢速外设需与CPU保持同步。 查询传送: 简单实用,效率较低。 中断传送:外设主动,可与CPU并行工作,但每次传送需要大量额外时间开销 。 DMA传送:DMAC控制,外设直接和存储器进行数据传送,适合大量、快速数据传送。,52,小结,为什么要用接口电路 ?I/O接口的主要功能,接口的数据缓冲与锁存; CPU与外设之间需交换的信息,I/O接口的典型结构及其特性:外部特性和可编程特性; I/O端口的概念及I/O端口的编址方法,输入输出指令的执行 ,I/O端口地址译码; CPU和外设之间的数据传送方式: 程序(无条件和查询)传送方式的I/O接口电路及其编程; 中断方式与查询传送方式的区别,中断接口电路的工作过程及中断传送流程; DMA传送方式的提出 ,DMA控制器的功能和DMA传送的原理 ,DMA方式传输数据的流程。,