原创 直接存储器访问

2019-10-10 16:38 133 0 1 分类: 模拟
  DMA(Direct Memory Access,直接内存存取) 是所有现代电脑的重要特色,它允许不同速度的硬件装置来沟通,而不需要依赖于 CPU 的大量中断负载。否则,CPU 需要从来源把每一片段的资料复制到暂存器,然后把它们再次写回到新的地方。在这个时间中,CPU 对于其他的工作来说就无法使用。
  DMA 传输将数据从一个地址空间复制到另外一个地址空间。当CPU 初始化这个传输动作,传输动作本身是由 DMA 控制器来实行和完成。典型的例子就是移动一个外部内存的区块到芯片内部更快的内存区。像是这样的操作并没有让处理器工作拖延,反而可以被重新排程去处理其他的工作。DMA 传输对于高效能 嵌入式系统算法和网络是很重要的。
  在实现DMA传输时,是由DMA控制器直接掌管总线,因此,存在着一个总线控制权转移问题。即DMA传输前,CPU要把总线控制权交给DMA控制器,而在结束DMA传输后,DMA控制器应立即把总线控制权再交回给CPU。一个完整的DMA传输过程必须经过DMA请求、DMA响应、DMA传输、DMA结束4个步骤。
  请求
  CPU对DMA控制器初始化,并向I/O接口发出操作命令,I/O接口提出DMA请求。
  响应
  DMA控制器对DMA请求判别优先级及屏蔽,向总线裁决逻辑提出总线请求。当CPU执行完当前总线周期即可释放总线控制权。此时,总线裁决逻辑输出总线应答,表示DMA已经响应,通过DMA控制器通知I/O接口开始DMA传输。
  传输
  DMA控制器获得总线控制权后,CPU即刻挂起或只执行内部操作,由DMA控制器输出读写命令,直接控制RAM与I/O接口进行DMA传输。
  在DMA控制器的控制下,在存储器和外部设备之间直接进行数据传送,在传送过程中不需要中央处理器的参与。开始时需提供要传送的数据的起始位置和数据长度。
  结束
  当完成规定的成批数据传送后,DMA控制器即释放总线控制权,并向I/O接口发出结束信号。当I/O接口收到结束信号后,一方面停 止I/O设备的工作,另一方面向CPU提出中断请求,使CPU从不介入的状态解脱,并执行一段检查本次DMA传输操作正确性的代码。最后,带着本次操作结果及状态继续执行原来的程序。
  由此可见,DMA传输方式无需CPU直接控制传输,也没有中断处理方式那样保留现场和恢复现场的过程,通过硬件为RAM与I/O设备开辟一条直接传送数据的通路,使CPU的效率大为提高。
广告

文章评论 1条评论)

登录后参与讨论

curton 2019-10-10 22:30

学习了
相关推荐阅读
xuxuvc 2019-10-12 16:16
贴片三极管
  晶体管(transistor)是一种固体半导体器件,可以用于检波、整流、放大、开关、稳压、信号调制和许多其它功能。晶体管作为一种可变开关,基于输入的电压,控制流出的电流,因此晶体管可做为电流的开关...
xuxuvc 2019-10-11 16:11
分流器的应用方法
  分流器是指测量直流电流用的,根据直流电流通过电阻时在电阻两端产生电压的原理制成。用绝缘陶瓷制成,上有均匀分布的小孔,焊枪喷出的保护气经分流器后,呈层流状均匀喷出,以改善保护效果。  应用方法  1...
xuxuvc 2019-10-09 15:43
电感的原理是什么,它都有哪些用途呢?
  电感原理:  1、自感  当线圈中有电流通过时,线圈的周围就会产生磁场。当线圈中电流发生变化时,其周围的磁场也产生相应的变化,此变化的磁场可使线圈自身产生感应电动势(电动势用以表示有源元件理想电源...
xuxuvc 2019-10-08 16:25
内存储器是什么
  内存又称为内存储器,通常也泛称为主存储器,是计算机中的主要部件,它是相对于外存而言的。  内存储器是计算机中重要的部件之一,它是与CPU进行沟通的桥梁。计算机中所有程序的运行都是在内存储器中进行的...
xuxuvc 2019-09-29 15:54
齐纳二极管原理及使用
  齐纳二极管又叫稳压二极管,齐纳二极管是一种直到临界反向击穿电压前都具有很高电阻的半导体器件。在这临界击穿点上,反向电阻降低到一个很少的数值,在这个低阻区中电流增加而电压则保持恒定,稳压二极管是根据...
我要评论
1
0
广告
关闭 热点推荐上一条 /1 下一条