dma

周期挪用是指利用CPU不访问 存储器的那些周期来实现DMA操作,此时DMA可以使用总线而不用通知CPU也不会妨碍CPU的工作。周期挪用并不减慢CPU的操作,但可能需要复杂的时序电路,而且 数据传送过程是不连续的和不规则的。
周期挪用(或周期窃取)
在这种方法中,每当I/O设备发出DMA请求时,I/O设备便挪用或窃取总线占用权一个或几个主存周期,而DMA不请求时,CPU仍继续访问主存。
I/O设备要求DMA传送会遇到三种情况,一种是此时CPU不需访问主存(如CPU正在执行乘法指令,由于乘法指令执行时间较长,此时CPU不需访问主存),故I/O设备访存与CPU不发生冲突。第二种情况是I/O设备要求DMA传送时,CPU正在访存,此时必须待 存取周期结束时刻,CPU才能将总线占有权让出。第三种情况是I/O设备要求访存时,CPU也要求访存,这就出现了访存冲突。此刻,I/O访存优先于CPU访存,因为I/O不立即访存就可能丢失数据,这时I/O要窃取一二个 存取周期,意味着CPU在执行访存指令过程中插入了DMA请求,并挪用了一二个存取周期,使CPU延缓了一二个存取周期再访存。
与CPU暂停访存的方式相比,它既实现了I/O传送,又较好地发挥了主存与CPU的效率,是一种广泛采用的方法。
应该指出,I/O设备每挪用一个主存周期都要申请总线控制权、建立总线控制权和归还总线控制级权。因此,尽管传送一个字对主存而言只占用一个主存周期,但对DMA接口而言,实质上要占2—5个主存周期(由逻辑线路的延迟特性而定)。因此周期挪用的方法比较适合于I/O设备的读写周期大于主存周期的情况。
  • 5
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值