网站大量收购独家精品文档,联系QQ:2885784924

第六节DMA方式.PDF

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

第六节 DMA 方式 DMA 的全称 直接存储器存取(Direct Memory Access) 为什么要引入DMA 方式? 程序直接控制方式受“踏步”现象的限制,效率低下,不适合高速设备和主机间 的数据传送。 中断控制方式虽比程序直接控制方式有效,CPU 和外设有一定的并行度,但由于下 列原因也不适合高速设备和主机间的数据传送。 对 I/O 请求响应慢。每传送一个数据都要等待外设的中断请求,并增加许多中断 响应和中断处理前、后的附加开销(保护断点、现场等),不能及时响应I/O 请求。 数据传送速度慢。数据传送由软件完成(由 CPU 执行相应的中断服务程序来完 成),速度慢 。 DMA 方式 DMA 方式的实现 在外设和主存之间有直接的通路,可直接传送数据而不通过 CPU。用一个专门的硬 件(DMA 接口)来控制外存与主存间的数据交换。在要求进行DMA 传送时,CPU 让出总 线控制权,由DMA 控制器控制总线,DMA 控制器通过“窃取”一个主存周期完成和主存 之间的一次数据交换,或独占若干个主存周期完成一批数据的交换。 DMA 方式适用场合 主要用于高速设备(如:磁盘等)和主机的数据传送,这类高速设备采用成批数 据交换方式,且单位数据之间的时间间隔较短。 采用“请求-响应”方式 与中断控制方式结合使用 与中断控制方式结合使用 举例:用于磁盘和主存间数据交换时 DMA 方式 DMA 传送方式 由于DMA 接口和 CPU 共享主存,所以可能出现两者争用主存的现象,为使两者 协调使用主存,DMA 通常采用以下三种方式进行数据传送。 CPU 停止法(成组传送) DMA 传输时,CPU 脱离总线,停止访问主存,直到DMA 传送一块数据结束。 周期挪用(窃取)法(单字传送) DMA 传输时,CPU 让出一个总线事务周期,由 DMA 挪用来访问主存,传送完 一个数据后立即释放总线。 交替分时访问法 每个存储周期分成两个时间片,一个给 CPU,一个给 DMA ,这样在每个存储周 期内,CPU 和DMA 都可访问存储器。 CPU 停止法 优点:控制简单、适用于传输率很高的外设实现成组数据传送。 缺点:CPU 工作受影响。DMA 访存时CPU 基本上处于停止状态。 主存周期没有被充分利用。即使 I/O 设备高速运行,但两个数据之间的准 备间隔时间也总大于一个存储周期,所以主存周期没有被充分利用。 弥补缺点的做法: 在DMA 接口中引入缓冲器 在 DMA 接口中采用一个小容量的半导体存储器,使 I/O 设备先和这个小容量存储 器交换数据,然后再使用总线由小容量存储器与主存进行数据交换。这样可减少 DMA 传送数据时占用总线的时间,也就减少了CPU 的等待时间。 采用周期挪用(窃取)法 每次DMA 传送完一个数据就释放总线,使在DMA 准备下一数据时,CPU 能插空 访问主存。 周期挪用法 优点:既能及时响应I/O 请求,又能较好地发挥CPU 和主存的效率。 这种方式下,在下一数据的准备阶段,主存周期被CPU 充分利用。因此适合于 I/O 设备的读写周期大于主存周期的情况。 缺点:每次 DMA 访存都要申请总线控制权、占用总线进行传送、释放总线。增加 传输开销。 I/O 设备要求DMA 传送时会遇到以下三种情况之一: CPU 不需访问主存 此时,不会发生冲突,两者并行。例如,CPU 正在执行乘法指令,要花很长时间 而不需马上访存。 CPU 正在访问主存 此时,必须等存储周期结束,CPU 让出总线,DMA 才能访存。 CPU 也同时要访问主存 此时,出现访存冲突。因为不马上响应 DMA 请求的话,高速设备可能会发生数据 丢失,所以,DMA 的总线优先权比CPU 高。这时,先让DMA 占用总线,窃取一个主 存周期,完成一个数据的交换。这样,CPU 便要延迟一段时间才能访存。 交替分时访问法 特点:适用于CPU 工作周期比主存存取周期更长的情况。 不需要总线使用权的申请和释放。 在这种方式

文档评论(0)

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

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

1亿VIP精品文档

相关文档