微型计算机课件-05.ppt_第1页
微型计算机课件-05.ppt_第2页
微型计算机课件-05.ppt_第3页
微型计算机课件-05.ppt_第4页
微型计算机课件-05.ppt_第5页
已阅读5页,还剩65页未读 继续免费阅读

下载本文档

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

文档简介

第5章 微型机和外设的数据传输 第5章微型计算机和外设的数据传输 教学重点I O接口电路的典型结构无条件传送方式查询传送方式中断工作过程 存储器都是用来保存信息的 功能单一 传送方式单一 一次必定是传送1个字节或者1个字 品种很有限 只有只读类型和可读 可写类型 存取速度基本上和CPU的工作速度匹配 微机的外部设备多种多样工作原理 驱动方式 信息格式 以及工作速度方面彼此差别很大它们不能与CPU直接相连必须经过中间电路再与系统相连这部分电路被称为I O接口电路 通过接口电路对输入 输出过程起一个缓冲和联络的作用 注 接口电路完成相应的信号转换 速度匹配 数据缓冲等功能 多种外设 5 1为什么要用接口电路 5 2接口电路的概述 什么是接口技术 连接计算机系统中的各种功能部件 构成一个完整的 实用的计算机系统 这是接口技术的广义定义 依次定义 实现处理器到系统总线连接的总线驱动器 数据收发器 时钟电路等称为处理器接口 此外 还有RAM接口 ROM接口 外部设备接口等等 更为流行的观点认为接口技术是把由处理器 RAM ROM等组成的基本系统与外部设备连接起来 从而实现计算机与外部世界通讯的一门技术 即仅指I O设备接口技术 什么是I O接口 电路 I O接口是位于系统与外设间 用来协助完成数据传送和控制任务的逻辑电路PC机系统板的可编程接口芯片 I O总线槽的电路板 适配器 都是接口电路 5 2接口电路的概述 续 什么是微机接口技术 处理微机系统与外设间联系的技术注意其软硬结合的特点根据应用系统的需要 使用和构造相应的接口电路 编制配套的接口程序 支持和连接有关的设备 5 2接口电路的概述 续 5 2接口功能 寻址能力 对送来的片选信号进行识别 输入 输出功能 根据读 写信号决定当前进行的是输入操作还是输出操作 数据转换功能 并行数据向串行数据的转换或串行数据向并行数据的转换 联络功能 就绪信号 忙信号等 中断管理 发出中斯请求信号 接收中断响应信号 发送中断类型码的功能 并具有优先级管理功能 复位 接收复位信号 从而使接口本身以及所连的外设进行重新启动 可编程 用软件来决定其工作方式 用软件来设置有关的控制信号 错误检测 一类是传输错误 另一类是覆盖错误 注 一些接口还可根据具体情况设置其它的检测信息 5 3I O接口与系统的连接 1 数据信息CPU和外设交换的基本信息 包括三种形式 数字量 模拟量 开关量 2 状态信息是外设通过接口往CPU传送的 反映了当前外设的工作状态 如 准备好 READY 信号 忙 BUSY 信号 3 控制信息是CPU通过接口传送给外设的相关控制信息 如 外设的启动信号 停止信号就是常见的控制信息 1 CPU与I O设备之间的信号 三类 5 3I O接口与系统的连接 续 数据端口 控制端口 状态端口CPU和外设进行数据传输时 各类信息在接口中进入不同的寄存器 一般称这些寄存器为I O端口 每个端口有一个端口地址 用于对来自CPU和内存的数据或者送往CPU和内存的数据起缓冲作用的 这些端口叫数据端口 用来存放外部设备或者接口部件本身的状态 称为状态端口 用来存放CPU发出的命令 以便控制接口和设备的动作 这类端口叫控制端口 如下图 2 接口部件的I O端口 注 输入还是输出 所用到的地址总是对端口而言的 不是对接口部件而言的 为了节省地址空间 将数据输入端口和数据输出端口对应同一个端口地址 同样 状态端口和控制端口也常用同一个端口地址 CPU对外设的输入 输出操作就归结为对接口芯片各端口的读 写操作 2 接口部件的I O端口 续 第5章 I O接口的典型结构 1 接口电路的内部结构2 接口电路的外部特性3 接口电路芯片的分类4 接口电路的可编程性 CPU与外设主要有数据 状态和控制信息需要相互交换 于是从应用角度看内部 数据寄存器输入数据寄存器 保存外设给CPU的数据输出数据寄存器 保存CPU给外设的数据 状态寄存器保存外设或接口电路的状态 控制寄存器保存CPU给外设或接口电路的命令 2 接口部件的I O端口 续 3 接口与系统的连接 接口电路位于CPU与外设之间 从结构上看 可以把一个接口分为两个部分 用来和I O设备相连 用来和系统总线相连 这部分接口电路结构类似 连在同一总线上 下图是一个典型的I O接口和外部电路的连接图 3 接口与系统的连接 续 联络信号 读 写信号 以便决定数据传输方向 地址译码器 片选信号 地址译码器除了接收地址信号外 还用来区分I 0地址空间和内存地址空间的信号 M I0 用于译码过程 注 一个接口通常有若干个寄存器可读 写 一般用1 2位低位地址结合读 写信号来实现对接口内部寄存器的寻址 4 输入输出的寻址方式 接口电路占用的I O端口有两类编排形式I O端口单独编址I O地址空间独立于存储地址空间如8086 8088I O端口与存储器统一编址它们共享一个地址空间如M6800 I O端口与存储器统一编址 优点 不需要专门的I O指令I O数据存取与存储器数据存取一样灵活缺点 I O端口要占去部分存储器地址空间程序不易阅读 不易分清访存和访问外设 优点 I O端口的地址空间独立控制和地址译码电路相对简单专门的I O指令使程序清晰易读缺点 I O指令没有存储器指令丰富 80 x86采用I O端口独立编址 I O端口单独编址 8088 8086的输入输出指令 输入指令 IN 将外设数据传送给CPU内的AL AX INAL i8 字节输入INAL DX 字节输入INAX i8 字输入INAX DX 字输入输出指令 OUT 将CPU内的AL AX数据传送给外设 OUTi8 AL 字节输出OUTDX AL 字节输出OUTi8 AX 字输出OUTDX AX 字输出 演示 演示 8088 8086的I O端口 8088只能通过输入输出指令与外设进行数据交换 呈现给程序员的外设是端口 Port 即I O地址8086用于寻址外设端口的地址线为16条 端口最多为216 65536 64K 个 端口号为0000H FFFFH每个端口用于传送一个字节的外设数据 I O寻址方式 8088 8086的端口有64K个 无需分段 设计有两种寻址方式直接寻址 只用于寻址00H FFH前256个端口 操作数i8表示端口号间接寻址 可用于寻址全部64K个端口 DX寄存器的值就是端口号对大于FFH的端口只能采用间接寻址方式 数据交换方式 如果输入输出一个字节 利用AL寄存器如果输入输出一个字 利用AX寄存器输入一个字 实际上是从连续两个端口输入两个字节 分别送AL 对应低地址端口 和AH 对应高地址端口 输出一个字 实际上是将AL 对应低地址端口 和AH 对应高地址端口 两个字节的内容输出给连续两个端口 5 4CPU和外设之间的数据传送方式 程序控制下的数据传送 通过CPU执行程序中的I O指令来完成传送 又分为 无条件传送 查询传送 中断传送直接存储器存取 DMA 传送请求由外设向DMA控制器 DMAC 提出 后者向CPU申请总线 最后DMAC利用系统总线来完成外设和存储器间的数据传送I O处理机 CPU委托专门的I O处理机来管理外设 完成传送和相应的数据处理 第5章 1 无条件传送方式及其接口 在CPU与慢速变化的设备交换数据时 可以认为它们总是处于 就绪 状态 随时可以进行数据传送 这就是无条件传送 或称立即传送 同步传送适合于简单设备 如LED数码管 按键或按纽等无条件传送的接口和操作均十分简单这种传送有前提 外设必须随时就绪 流程 第5章 无条件传送 输入示例 MOVDX 160HINAL DX 第5章 无条件传送 输入实例 MOVDX 160HINAL DX 第5章 无条件传送 输出示例 MOVDX 160HMOVAL BX OUTDX AL 第5章 无条件传送 输出实例 MOVDX 160HMOVAL BX OUTDX AL 第5章 无条件传送 输入输出接口 next movdx 8000h DX指向数据端口inal dx 从输入端口读开关状态notal 反相outdx al 送输出端口显示calldelay 调子程序延时jmpnext 重复 又称查询方式 即通过程序查询相应设备的状态 若状态不符合 则CPU不能进行输入 输出操作 需要等待 只有当状态信号符合要求时 CPU才能进行相应的输入 输出操作 第5章 2 条件传送方式 一般外设均可以提供一些反映其状态的信号 如对输入设备来说 它能够提供 准备好 READY 信号 READY 1表示输入数据已准备好 输出设备则提供 忙 BUSY 信号 BUSY 1表示当前时刻不能接收CPU来的数据 只有当 BUSY 0时 才表明它可以接受来自于CPU的输出数据 第5章 2 条件传送方式 续 CPU需要先了解 查询 外设的工作状态 然后在外设可以交换信息的情况下 就绪 实现数据输入或输出对多个外设的情况 则CPU按一定顺序依次查询 轮询 先查询的外设将优先进行数据交换查询传送的特点是 工作可靠 适用面宽 但传送效率低 就绪 第5章 条件传送的两个环节 查询环节寻址状态口读取状态寄存器的标志位若不就绪就继续查询 直至就绪 传送环节寻址数据口是输入 通过输入指令从数据端口读入数据是输出 通过输出指令向数据端口输出数据 流程 第5章 查询输入接口 movdx 8000h DX指向状态端口status inal dx 读状态端口testal 01h 测试标志位D0jzstatus D0 0 未就绪 继续查询incdx D0 1 就绪 DX指向数据端口inal dx 从数据端口输入数据 第5章 查询输出接口 movdx 8000h DX指向状态端口status inal dx 读取状态端口的状态数据testal 80h 测试标志位D7jnzstatus D7 1 未就绪 继续查询incdx D7 0 就绪 DX指向数据端口moval buf 变量buf送ALoutdx al 将数据输出给数据端口 第5章 条件传送举例 例1 假定接口的数据输入端口地址为0052H 数据输出端口地址为0054H 状态端口地址为0056H 并且设定如果状态寄存器中第1位为1 则表示输入缓冲器中已经有1个字节准备好 可以进行输入 此外 还设定如果状态寄存器的第0位为1 则表示输出缓冲器已经腾空 因而CPU可以往终端输出数据 程序 DATA SEGSEGMENTMESSAGEDB BUFFEROVERFLOW 0DH 0AH DATA SEGENDSCOM SEGSEGMENTBUFFERDB82DUP COUNTDB COM SEGENDS CODESEGMENTASSEMEDS DATA SEG ES COM SEG CS CODESTAT MOVAX DATA SEGMOVDS AXMOVAX COM SEG 程序 续 MOVES AXMOVDI OFFESTBUFFERMOVCOUNT DIMOVCX 81CLDNEXT IN INAL 56HTESTAL 02HJZNEXT ININAL 52HORAL 0JPENO ERRORJMPERRORNO ERROR ANDAL 7FHSTOSB 程序 续 CMPAL 0DHLOOPNENEXT INJNEOVERFLOWMOVAL 0AHSTOSBSUBDI COUNTMOVCOUNT DI OVERFLOW MOVSI OFFESTMESSAGEMOVCX 17NEXT OUT INAL 56HTESTAL 01HJZNEXT OUTLODSBOUT54H ALLOOPNEXT OUT 例2假设从某输入设备上输入一组数据送缓冲区 接口电路如图5 3 若缓冲区已满则输出一组信息 BOFFEROVERFLOW 然后结束 设该设备的启动地址为0FCH 数据端口为0F8H 状态端口为FAH 程序如下 DATASEGMENT MESS1DB BUFFEROVERFLOW BUFFDB60DUP DATAENDS CODESEGMENT ASSUMECS CODE DS DATA START MOVAX DATA MOVDS AX MOVBX OFFSETBUFF 送缓冲区指针 MOVCX 60 送计数初值 OUT0FCH AL 启动设备 WAIT INAL OFAH 查询状态 若为0 则等待 TESTAL 01H JZWAIT INAL 0F8H 输入数据 MOV BX AL INCBX LOOPWAIT 检测缓冲区是否满 不满再输入 MOVDX OFFSETMESS1 缓冲区满 输出标志字符串 MOVAH 09H INT21H MOVAH 4CH INT21H CODEENDS ENDSTART 第5章 5 4 2中断传送方式 1 为什么要采用中断传送方式从查询式的传输过程可以看出 它的优点是硬件开销小 使用起来比较简单 但在此方式下 CPU要不断地查询外设的状态 当外设未准备好时 CPU就只能循环等待 不能执行其它程序 这样就浪费了CPU的大量时间 降低了主机的利用率 1 为什么要采用中断传送方式 续 为了解决这个矛盾 我们提出了中断传送方式 即当CPU进行主程序操作时 外设的数据已存入输入端口的数据寄存器 或端口的数据输出寄存器已空 由外设通过接口电路向CPU发出中断请求信号 CPU在满足一定的条件下 暂停执行当前正在执行的主程序 转入执行相应能够进行输入 输出操作的子程序 待输入 输出操作执行完毕之后CPU即返回继续执行原来被中断的主程序 这样CPU就避免了把大量时间耗费在等待 查询状态信号的操作上 使其工作效率得以大大地提高 第5章 5 4 2中断传送方式 CPU在执行程序中 被内部或外部的事件所打断 转去执行一段预先安排好的中断服务程序 服务结束后 又返回原来的断点 继续执行原来的程序 流程 第5章 2 中断传送与接口 中断传送是一种效率更高的程序传送方式进行传送的中断服务程序是预先设计好的中断请求是外设随机向CPU提出的CPU对请求的检测是有规律的 一般是在每条指令的最后一个时钟周期采样中断请求输入引脚本书主要论述中断在输入和输出方面的应用中断还有着非常广泛的应用 第5章 3 中断输入接口电路 数据输入的过程 当外设发STB 数据入锁存器 中断请求触发器置1 若没有屏蔽则产生INTR CPU满足条件 允许中断 指令执行完 发INTA 进入中断服务子程序 读数据 发RD 和地址 清中断请求触发器 数据送D0 D7 输出过程请自己思考 中断传送方式的原理 图5 8可屏蔽中断的响应和执行 第5章 4 中断优先级 问题的提出 当系统中有多个设备提出中断请求时 就有一个该响应谁的问题 也就是一个优先级的问题 解决优先级的问题一般可有三种方法 软件查询法 简单硬件方法及专用硬件方法 下面分别介绍 软件查询法 只需有简单的硬件电路 如将A B C三台设备的中断请求信号 或 后作为系统INTR 这时 A B C三台设备中只要至少有一台设备提出中断请求 都可以向CPU发中断请求 进入中断服务子程序后 再用软件查询的方式分别对不同的设备的服务 查询程序的设计思想同查询式 查询的前后顺序就给出了设备的优先级 框图如图所示 以链式中断优先权排队电路为例 基本设计思想 将所有的设备连成一条链 靠近CPU的设备优先级最高 越远的设备优先级别越低 则发出中断响应信号 若级别高的设备发出了中断请求 在它接到中断响应信号的同时 封锁其后的较低级设备使得它们的中断请求不能响应 只有等它的中断服务结束以后才开放 允许为低级的设备服务 如图所示 简单硬件方法 有了中断控制器以后 CPU的INTR和引脚不再与接口直接相连 而是与中断控制器相连 外设的中断请求信号通过IR0 IR7进入中断控制器 经优先级管理逻辑确认为级别最高的那个请求的类型号会经过中断类型寄存器在当前中断服务寄存器的某位上置1 并向CPU发INTR请求 CPU发出INTA信号后 中断控制器将中断类型码送出 在整个过程中 优先级较低的中断请求都受到阻塞 直到较高级的中断服务完毕之后 当前服务寄存器的对应位清0 较低级的中断请求才有可能被响应 如图所示 专用硬件方式 采用可编程的中断控制器芯片 如Intel8259A 第5章 5 4 3DMA传送方式 希望克服程序控制传送的不足 外设 CPU 存储器外设 CPU 存储器直接存储器存取DMA 外设 存储器外设 存储器CPU释放总线 由DMA控制器管理 1 DMA传送方式的提出 利用中断进行信息传送 可以大大提高CPU的利用率 但是其传送过程必须由CPU进行监控 每次中断 CPU都必须进行断点及现场信息的保护和恢复操作 这些都是一些额外的操作 会占用一定的CPU时间 如果需要在内存的不同区域之间 或者在内存与外设端口之间进行大量信息快速传送的话 用查询或中断方式均不能满足速度上的要求 这时应采用直接数据通道传送 即DMA数据传送方式 DMA DirectMemoryAccess 意为直接数据传送 它是在内存的不同区域之间 或者在内存与外设端口之间直接进行数据传送 而不经过CPU中转的一种数据传送方式 可以大大提高信息的传送速度 1 DMA传送方式的提出 续 第5章 2 DMA传送的工作过程 外设准备就绪时 向DMA控制器发DMA请求 DMA控制器接到此信号后 向CPU发DMA请求 CPU接到HOLD请求后 如果条件允许 一个总线操作结束 则发出HLDA信号作为响应 同时 放弃对总线的控制 DMA控制器取得总线控制权后 往地址总线发送地址信号 每传送1个字节 就会自动修改地址寄存器的内容 以指向下一个要传送的字节 每传送一个字节 字节计数器的值减1 当减到0时 DMA过程结束 DMA控制器向CPU发结束信号 将总线控制权交回CPU DMA传送控制方式 解决了在内存的不同区域之间 或者内存与外设之间大量数据的快速传送问题 代价是需要增加专门的硬件控制电路 称为DMA控制器 其复杂程度与CPU相当 第5章 3 DMA传送过程 续 DMA控制器的功能和DMA传送的原理 图5 10用DMA方式传输单个数据 输出过程 第5章 4 DMA传送流程 流程 第5章 5 传送方式的比较 无条件传送 慢速外设需与CPU保持同步查询传送 简单实用 效率较低中断传送 外设主动 可与CPU并行工作 但每次传送需要大量额外时间开销DMA传送 DMAC控制 外设直接和存储器进行数据传送 适合大量 快速数据传送 5 5 4输入 输出过程中提出的几个问题 系统和接口的联系方式优先级缓冲区接口和多字节数据总线的连接接口部件和地址总线的错位连接 1 接口电路的主要作用是什么 它的

温馨提示

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

评论

0/150

提交评论