第41章 输入输出技术-DMA.ppt_第1页
第41章 输入输出技术-DMA.ppt_第2页
第41章 输入输出技术-DMA.ppt_第3页
第41章 输入输出技术-DMA.ppt_第4页
第41章 输入输出技术-DMA.ppt_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

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

文档简介

第9章DMA控制接口及内部结构 本章以DMA控制器8237A为例 主要介绍其工作原理 结构 工作时序及工作方式等 重点介绍DMAC的内部寄存器 编程方式及其应用 9 1DMA概述 DMA传输方式作是CPU与外部设备之间进行数据交换的四种基本方式之一 采用专门的硬件 即DMA控制器来控制数据的传输 克服了数据传输由程序控制而使系统工作效率低的缺点 9 1 1DMA传输的特点 以硬件控制取代软件控制进行信息传送 DMA控制器暂时享有总线控制权 行使地址修改 控制数据传送等功能 数据传送速度主要受存储设备的存取速度限制 9 1 2DMA传输的过程及工作方式 在DMA数据传输过程中脱离了CPU的控制 采用DMA控制器来管理和控制数据传输的整个过程 而DMA控制器的启动初始化 都是由CPU控制完成 DMA控制原理图如下 DMA传输的过程的三个阶段DMA方式传送数据过程分为3阶段 即准备阶段 数据传送阶段和传送结束阶段 DATA DMA传送过程示意图 9 1 3DMA控制器的结构 DMA控制器可以像CPU那样获得总线的控制权 完成外设与存储器之间的数据高速交换 DMA控制器不但要与外设连接 以接受外设发出的DMA操作请求和在DMA期间对外设进行控制 还要与CPU连接 以请求总线的控制权 同时 它还需要与三大总线连接 以便进行总线的控制 DMA控制器内部结构与外设的连线 9 2DMA控制器8237A DMA控制器可以像CPU那样获得总线的控制权 完成外设与存储器之间的数据高速交换 DMA控制器不但要与外设连接 以接受外设发出的DMA操作请求和在DMA期间对外设进行控制 还要与CPU连接 以请求总线的控制权 同时 它还需要与三大总线连接 以便进行总线的控制 9 2 18237A控制器的特点1 8237A有4个独立的DMA通道 可以编程实现对4个不同外设DMA传送操作的控制 2 每个通道的DMA请求都可以被允许和禁止 并能对各个通道的DMA请求进行优先权管理 3 能完成存储器与外设之间的数据传送 还可以完成存储器两个区域之间的数据传送 每个通道一次传送数据的最大长度可达64KB 4 存储器的寻址范围为64K 5 8237A的DMA传送方式有4种 单字节传送方式 成组传送方式 请求传送方式和级联传送方式 6 8237A可以通过级联方式扩展通道数 7 具有控制传送结束用的外接过程结束控制信号输入端EOP 允许外部输入该信号以结束DMA传送 9 2DMA控制器8237A DMA控制器在系统中有两种工作状态 即主动态和被动态 在主动态时 DMA控制器完全取代CPU对总线的控制权 通过总线向存储器或外设发出地址和读 写信号 以控制两种存储实体间的数据交换 在被动态时 DMA与其它接口一样 接受CPU对它的读 写操作 在进行DMA方式传送之前 由CPU处理对DMA控制器编程 以确定通道选择DMA操作类型及方式 内存首地址及需要传送的字节数等参数 1 8237A的内部结构8237A是一个多功能的可编程DMA控制器 内部主要包括时序和控制逻辑 优先级编码逻辑 命令控制逻辑 数据和地址缓冲器组和内部寄存器组 9 2 2工作原理 内部结构和引脚 8237A内部结构 9 2 2工作原理 内部结构和引脚 1 时序与控制逻辑该部分的功能是根据初始化编程时所设置的工作方式 在输入时钟和定时控制下 产生8237A的内部定时信号和外部控制信号 其中内部定时信号包括DMA请求 DMA传送及DMA结束等 2 优先级编码逻辑该部分的功能是在有多个通道都有DMA请求的情况下 根据CPU对8237A初始化命令 对多个通道DMA请求进行优选权排序 来决定通道优先级别服务的先后顺序 以解决多通道同时请求DMA服务可能造成的冲突问题 3 命令控制逻辑该部分的功能是对CPU送来的地址信号进行译码 通过译码来确定要读 写的内部寄存器 9 2 2工作原理 内部结构和引脚 4 数据和地址缓冲器组8237A包括两个I O缓冲器和一个输出缓冲器 8237A的数据线和地址线通过这些缓冲器与系统总线连接 可以接管和释放总线 A7 A0为8237A的地址线 DB7 DB0在主态时传送地址信息 在被动态时传送数据信息 5 内部寄存器组8237A内部寄存器主要分为两大类 其中5种属于通道寄存器 即8237A中每个通道都有的基地址寄存器 当前地址寄存器 当前字节字计数器 基字节计数器 方式寄存器 另外5种属于公用寄存器 即每个通道公用的命令寄存器 状态寄存器 请求寄存器 屏蔽寄存器和暂存器 9 2 2工作原理 内部结构和引脚 1 8237A的工作时序 9 2 38237A的工作时序及工作方式 2 8237A的工作方式DMA传送方式分有四种 即单字节传送 成组传送 请求传送和级联传送方式等 单字节传送方式每个DMA工作周期只传送一个字节的数据 每传完一个字节传送后 位于DMA控制器中的字节计数器的值减1 然后撤销DMA控制器对CPU的请求信号 让出总线的控制权 成组传送方式DMA控制器请求总线连续传送多个字节数据 数据的字节数在DMA传送前通过初始化编程进行设置 请求传送方式由外部是否有DMA请求决定 如果有DMA请求 DMA控制器才有可能占用总线 进行连续的数据传送 级联传送方式主要是为了完成DMA系统的扩展 可以实现由多个DMA控制器构成的主从式DMA传送系统 9 2 38237A的工作时序及工作方式 8237A内部寄存器主要分为两大类 公用寄存器和通道寄存器 9 2 48237A的内部寄存器 1 公用寄存器1 命令寄存器8237A的4个通道公用的一个8位寄存器 用于存放编程的命令字 由CPU在编程时写入 控制8237A的操作 其命令字格式如下图所示 9 2 48237A的内部寄存器 2 状态寄存器状态寄存器是用来存放8237A状态信息的8位寄存器 其中高4位分别对应当前4个通道DMA请求响应情况 低4位分别表示4个通道的计数结束状态 格式如下 9 2 48237A的内部寄存器 3 请求寄存器8237A内部都有一个请求寄存器 最低两位D1D0用来实现对通道的选择 D2规定了对所选通道的请求触发器所执行的操作了 格式如图所示 9 2 48237A的内部寄存器 4 屏蔽寄存器8237A内部都有一个屏蔽寄存器 由4个通道的屏蔽触发器共同构成 格式如图所示 9 2 48237A的内部寄存器 上述的屏蔽字用于对某个通道的屏蔽触发器单独操作 8237A还允许使用综合屏蔽命令来设置通道的屏蔽触发器 综合屏蔽命令可以一次性完成4个通道的屏蔽设置 通过综合屏蔽命令可以一次完成对4个通道的屏蔽设置 格式如图所示 9 2 48237A的内部寄存器 5 暂存寄存器暂存寄存器是8237A内部一个公用8位寄存器 用于在进行存储器之间数据传送时 暂时保留所传送的数据 2 通道寄存器1 方式寄存器8237A的4个通道是完全独立的 每个通道都有一个6位的方式寄存器 用于选择DMA的传送方式和类型等 8237A方式寄存器的格式如图所示 9 2 48237A的内部寄存器 2 当前地址寄存器8237A的每个通道都有一个16位的当前地址寄存器 用以存放DMA传送的地址 3 当前字节计数寄存器8237A的每个通道都有一个16位的当前字节计数寄存器 用以存放当前DMA传送的字节数 4 基地址寄存器8237A的每个通道都有一个16位的基地址寄存器 用以存放DMA传送的起始地址 基地址寄存器与当前地址寄存器合用一个端口地址 5 基字节计数寄存器8237A的每个通道都有一个16位的基字节计数寄存器 用以存放对应通道当前字节的初始值 基字节计数寄存器与当前字节计数器和用一个端口地址 9 2 48237A的内部寄存器 9 3 18237A的编程控制1 8237A的软件命令为实现对8237A编程控制 8237A专门设计了3条特殊的软命令 复位命令 清除先 后触发命令和清除屏蔽寄存器 1 复位命令也称总清除命令 与硬件复位信号RESET相同 该命令通过向0DH地址进行输出完成 2 清除先 后触发命令该命令保证正确设置8237A各个通道的地址寄存器和字节计数寄存器的初值 通过向OCH地址进行输出完成 3 清除屏蔽寄存器该命令可以清除8237A的4个通道屏蔽标志位 通过向0EH地址进行输出完成 允许各个通道接受DMA请求 9 3DMA控制器8237A的应用 2 8237A初始化编程在进行DMA传送之前 CPU要对8237A进行初始化编程 初始化操作是在空闲周期内进行 是由CPU用输出指令向8237A内部寄存器写数据 1 8237A初始化的基本步骤右图所示为8237A的初始化编程流程 9 3 18237A的编程控制 2 8237A内部寄存器对应的端口地址 9 3 18237A的编程控制 综合屏蔽控制字 02H 例 在8088CPU系统板上的DMA控制器8237A中 通过通道1将外设50字节的数据送入首地址为6000H的内存区域 编写初始化程序 工作方式字 55H 命令控制字 00H MOVAL 04H 命令字 关闭8237A D2 1 OUT08H AL 写入命令寄存器中MOVAL 00HOUT0DH AL 总清除 发复位命令MOVAL 00HOUT02H AL 存储器的首地址低8位写入通道1的地址寄存器MOVAL 60HOUT02H AL 存储器的高8位写入通道1的地址寄存器MOVAL 32HOUT03H AL 传送字节的低8位写入

温馨提示

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

最新文档

评论

0/150

提交评论