第七章DMA控制器.ppt

  1. 1、本文档共66页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第 7 章 第7章 DMA控制接口 教学重点 DMA占用总线方式 8237A的工作方式 8237A寄存器组的作用 8237A寄存器组的编程 7.1 DMA基本概念 DMA的意思是“直接存储器存取”,意指不通过CPU、直接对存储器进行访问,它由专门的硬件装置DMA控制器(DMAC)来完成。除了事先要用指令设置DMAC外,传送是应外设请求、在硬件控制下完成的。所以,它具有极高的传送速率。 7.1 DMA基本概念 DMAC对存储器的访问与CPU类似,一般利用系统总线来进行。 支持: 外设→存储器 存储器→外设 存储器→存储器 外设→外设 7.2 DMA占用总线方式 CPU暂时放弃总线控制权方式 暂停CPU时钟脉冲方式 窃取CPU空闲时间方式 周期扩展方式 7.2 DMA占用总线方式 CPU暂时放弃总线控制权方式 周期挪用:DMAC每次控制一个总线周期 数据块传送:DMAC每次控制多个总线周期 (概念性应用) 7.2 DMA占用总线方式 暂停CPU时钟脉冲方式 7.2 DMA占用总线方式 窃取CPU空闲时间方式 上述两种DMA总线占用方式共同的特点是,进行DMA操作时均使CPU的正常工作暂时停止。其优点是简单,可以不受限制地传送任意长度的数据块,但会浪费CPU资源。 为了充分利用CPU 资源,可以采用只有当CPU不使用总线时才进行DMA操作的方法,这样CPU不会因DMA传送而浪费时间。但这种DMA操作只能安排在CPU执行内部操作当中 7.2 DMA占用总线方式 周期扩展方式 周期扩展方式是采用专门的时钟发生电路加宽CPU的时钟周期,利用CPU每个时钟周期的加宽时间进行DMA操作,这种占用总线的方式为周期扩展。 这种方式由于延长了CPU的时钟周期必将导致CPU运行速度的降低。PC/XT微型机就是采用了这种方式,巧妙地在CPU总线中插入若干等待周期Tw,进行DMA操作。(见教材P41 P43) 7.3 DMA控制器8237A 每个8237A芯片有4个DMA通道,就是有4个DMA控制器 每个DMA通道具有不同的优先权 每个DMA通道可以分别允许和禁止 每个DMA通道有4种工作方式 一次传送的最大长度可达64KB 多个8237A芯片可以级连,扩展通道数 7.3.1 8237A的内部结构 7.3.1 8237A的内部结构 7.3.1 8237A的内部结构 7.3.1 8237A的内部结构 7.3.2 8237A的引脚 内部结构和外部引脚都相对比较复杂 应用观点,内部主要由两类寄存器组成 通道寄存器 控制和状态寄存器 1. 请求与响应信号 DREQ0~DREQ3:DMA通道请求。当外设需要请求DMA服务时,将DREQ信号置成有效电平,并要保持到产生响应信号。 HRQ:总线请求。8237A输出有效的HRQ高电平,向CPU申请使用系统总线。 HLDA:总线响应。8237A接受来自CPU的响应信号HLDA,取得了总线的控制权。 DACK0~DACK3:DMA通道响应。8237A使请求服务的通道产生相应的DMA响应信号。 2. DMA传送控制信号 A0~A7:地址线。输出低8位存储器地址。 DB0~DB7:数据线。输出高8位存储器地址;存贮器与存贮器的传送期间,用于数据传送。 ADSTB:地址选通。DMA传送开始时,输出高有效,把在DB0~DB7上输出的高8位地址锁存在外部锁存器中。 AEN:地址允许。输出高有效,将锁存的高8位地址送入系统总线,与芯片此时输出的低8位地址组成16位存储器地址。 2. DMA传送控制信号(续) MEMR*:存储器读。有效将数据从存储器读出 MEMW*:存储器写。有效将数据写入存储器 IOR*:I/O读。有效将数据从外设读出 IOW*:I/O写。有效将数据写入外设 READY:准备好。DMA传送的S3下降沿检测到为低时,插入等待状态Sw,直到READY为高才进入第4个时钟周期S4。 EOP*:过程结束。DMA传送过程结束,输出一个低有效脉冲。外部输入低脉冲信号,则终结DMA传送。 3. 处理器接口信号 DB0~DB7:数据线。用于8237A与微处理器进行数据交换。 A0~A3:地址线。用以选择芯片内部寄存器。 CS*:片选。低有效时,微处理器与8237A通过数据线通信,主要完成对8237A的编程。 IOR*:I/O读。读取8237A内部寄存器。 IOW*:I/O写。写入8237A内部寄存器。 CLK:时钟。控制芯片内部操作和数据传输。 RESET:复位。使8237A处于初始状态。 8237A的两种工作状态 8237A具有两种工作状态 空闲周期: 作为接口电路,受CPU控制的工作状态 有效周期

文档评论(0)

shaoye348 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档