组成一个DMA控制器,实际上是采用DMA方式的外围设备与系统总[精选].ppt

组成一个DMA控制器,实际上是采用DMA方式的外围设备与系统总[精选].ppt

  1. 1、本文档共16页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
组成一个DMA控制器,实际上是采用DMA方式的外围设备与系统总[精选]

三、基本的DMA控制器 1.DMA控制器的基本组成 一个DMA控制器,实际上是采用DMA方式的外围设备与系统总线之间的接口电路,这个接口电路是在中断接口的基础上再加DMA机构组成.习惯上将DMA方式的接口电路称为DMA控制器。下页图示出了一个最简单的DMA控制器组成示意图。 一个最简单的DMA控制器由以下逻辑部件组成: (1)内存地址计数器 用于存放内存中要交换的数据的地址。在DMA传送前,须通过程序将数据在内存中的起始位置(首地址)送到内存地址计数器。而当DMA传送时,每交换一次数据,将地址计数器加“1”,从而以增量方式给出内存中要交换的一批数据的地址。 (2)字计数器 用于记录传送数据块的长度(多少字数)。其内容也是在数据传送之前由程序预置,交换的字数通常以补码形式表示。在DMA传送时,每传送一个字,字计数器就加“1” ,当计数器溢出即最高位产生进位时,表示这批数据传送完毕,于是引起DMA控制器向CPU发中断信号。 (3)数据缓冲寄存器 用于暂存每次传送的数据(一个字)。当输入时,由设备(如磁盘)送往数据缓冲寄存器,再由缓冲寄存器通过数据总线送到内存。反之,输出时,由内存通过数据总线送到数据缓冲寄存器,然后再送到设备。 (4)“DMA请求”标志 每当设备准备好一个数据字后给出一个控制信号,使“DMA请求” 标志置“1”。该标志置位后向“控制/状态”逻辑发出DMA请求,后者又向CPU发出总线使用权的请求(HOLD),CPU响应此请求后发回响应信号HLDA,“控制/状态”逻辑接收此信号后发出DMA响应信号,使“DMA请求”标志复位,为交换下一个字做好准备。 (5)“控制/状态”逻辑 由控制和时序电路以及状态标志等组成,用于修改内存地址计数器和字计数器,指定传送类型(输入或输出),并对“DMA请求”信号和CPU响应信号进行协调和同步。 (6)中断机构 当字计数器溢出时(全0),意味着一组数据交换完毕,由溢出信号触发中断机构,向CPU提出中断报告。这里的中断与上一节介绍的I/O中断所采用的技术相同,但中断的目的不同,前面是为了数据的输入或输出,而这里是为了报告一组数据传送结束。因此它们是I/O系统中不同的中断事件。 2.DMA数据传送过程   DMA的数据块传送过程可分为三个阶段:传送前预处理;正式传送;传送后处理。   预处理 由CPU执行几条输入输出指令,测试设备状态,向DMA控制器的设备地址寄存器中送入设备号并启动设备,向内存地址计数器中送入起始地址,向字计数器中送入交换的数据字个数。在这些工作完成后,CPU继续执行原来的主程序。   正式传送 当外设准备好发送数据(输入)或接受数据(输出)时,它发出DMA请求,由DMA控制器向CPU发出总线使用权的请求(HOLD)。下页图示出了停止CPU访内方式的DMA传送数据的流程图。 当外围设备发出DMA请求时,CPU在本机器周期执行结束后响应该请求,并使CPU的总线驱动器处于第二态(高阻状态).之后,CPU与系统总线相脱离,而DMA控制器接管数据总线与地址总线的控制,并向内存提供地址. 于是,在内存和外围设备之间进行数据交换.每交换一个字,则地址计数器和字计数器加“l”,当计数值到达零时,DMA操作结束,DMA控制器向CPU提出中断报告 。 DMA的数据传送是以数据块为基本单位进行的,因此,每次DMA控制器占用总线后,无论是数据输入操作,还是输出操作,都是通过循环来实现的。当进行输入操作时,外围设备的数据(一次一个字或一个字节)传向内存;当进行输出操作时,内存的数据传向外围设备。   后处理 一旦DMA的中断请求得到响应,CPU停止主程序的执行,转去执行中断服务程序做一些DMA的结束处理工作。这些工作包括校验送入内存的数据是否正确;决定继续用DMA方式传送下去,还是结束传送;测试在传送过程中是否发生了错误等等。 基本DMA控制器与系统的连接方式: (1)公用的DMA请求方式;(2)独立的DMA请求方式,这与中断方式类似。 四、选择型和多路型DMA控制器 前面介绍的是最简单的DMA控制器,一个控制器只控制一个I/O设备.实际中经常采用的是选择型DMA控制器和多路型DMA控制器,它们已经被做成集成电路片子. 1.选择型DMA控制器 下页图是选择型DMA控制器的逻辑框图,它在物理上可以连接多个设备,而在逻辑上只允许接—个设备.换句话说,在某一段时间内只能为一个设备服务. 选择型DMA控制器工作原理与前面的简单DMA控制器基本相同.除了前面讲到的基本逻辑部件外,还有一个设备号寄存器.数据传送是以数据块为单位进行的,在每个数据块传送之前的预置阶段,除了用程序中I/O指令给出数据块的传送个数、起始地址、操作命令

文档评论(0)

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

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

1亿VIP精品文档

相关文档