当前位置:首页 > 技术学院 > 基础知识科普站
[导读]DMA方式,Direct Memory Access,也称为成组数据传送方式,有时也称为直接内存操作。DMA方式在数据传送过程中,没有保存现场、恢复现场之类的工作。由于CPU根本不参加传送操作,因此就省去了CPU取指令、取数、送数等操作。内存地址修改、传送字 个数的计数等等,也不是由软件实现,而是用硬件线路直接实现的。所以DMA方式能满足高速I/O设备的要求,也有利于CPU效率的发挥。

DMA方式,Direct Memory Access,也称为成组数据传送方式,有时也称为直接内存操作。DMA方式在数据传送过程中,没有保存现场、恢复现场之类的工作。由于CPU根本不参加传送操作,因此就省去了CPU取指令、取数、送数等操作。内存地址修改、传送字 个数的计数等等,也不是由软件实现,而是用硬件线路直接实现的。所以DMA方式能满足高速I/O设备的要求,也有利于CPU效率的发挥。

一个设备接口试图通过总线直接向另一个设备发送数据(一般是大批量的数据),它会先向CPU发送DMA请求信号。外设通过DMA的一种专门接口电路――DMA控制器(DMAC),向CPU提出接管总线控制权的总线请求,CPU收到该信号后,在当前的总线周期结束后,会按DMA信号的优先级和提出DMA请求的先后顺序响应DMA信号。CPU对某个设备接口响应DMA请求时,会让出总线控制权。于是在DMA控制器的管理下,外设和存储器直接进行数据交换,而不需CPU干预。数据传送完毕后,设备接口会向CPU发送DMA结束信号,交还总线控制权。

DMA方式的主要优点是速度快。

基本操作实现DMA传送的基本操作如下:1、外设可通过DMA控制器向CPU发出DMA请求;2、CPU响应DMA请求,系统转变为DMA工作方式,并把总线控制权交给DMA控制器;3、由DMA控制器发送存储器地址,并决定传送数据块的长度;4、执行DMA传送;5、DMA操作结束,并把总线控制权交还CPU。

用途DMA方式主要适用于一些高速的I/O设备。这些设备传输字节或字的速度非常快。对于这类高速I/O设备,如果用输入输出指令或采用中断的方法来传输字节信息,会大量占用CPU的时间,同时也容易造成数据的丢失。而DMA方式能使I/O设备直接和存储器进行成批数据的快速传送。DMA控制器或接口一般包括四个寄存器:1:状态控制寄存器、2:数据寄存器、3:地址寄存器、4:字节计数器。这些寄存器在信息传送之前需要进行初始化设置。即在输入输出程序中用汇编语言指令对各个寄存器写入初始化控制字。

DMA 是所有现代电脑的重要特色,他允许不同速度的硬件装置来沟通,而不需要依于 CPU 的大量 中断 负载。否则,CPU 需要从 来源 把每一片段的资料复制到暂存器,然后把他们再次写回到新的地方。在这个时间中,CPU 对于其他的工作来说就无法使用。DMA 传输将一个内存区从一个装置复制到另外一个, CPU 初始化这个传输动作,传输动作本身是由 DMA控制器来实行和完成。典型的例子就是移动一个外部内存的区块到芯片内部更快的内存去。像是这样的操作并没有让处理器工作拖延,反而可以被重新排程去处理其他的工作。

DMA 传输对于高效能嵌入式系统算法和网络是很重要的。举个例子,PC ISA DMA控制器拥有 8 个 DMA 通道,其中的 7 个通道是可以让 PC 的 CPU 所利用。每一个 DMA 通道有一个 16位元 位址暂存器和一个 16 位元计数暂存器。要初始化资料传输时,装置驱动程式一起设定 DMA 通道的位址和计数暂存器,以及资料传输的方向,读取或写入。然后指示 DMA 硬件开始这个传输动作。当传输结束的时候,装置就会以中断的方式通知 CPU。但是,DMA传输方式只是减轻了CPU的工作负担;系统总线仍然被占用。特别是在传输大容量文件时,CPU的占用率可能不到10%,但是用户会觉得运行部分程序时系统变得相当的缓慢。主要原因就是在运行这些应用程序(特别是一些大型软件),操作系统也需要从系统总线传输大量数据;故造成过长的等待时间。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

2024年4月18日 – 提供超丰富半导体和电子元器件™的业界知名新品引入 (NPI) 代理商贸泽电子 (Mouser Electronics) 很荣幸地宣布与Edge Impulse建立新的全球合作关系。Edge Im...

关键字: 机器学习 MCU CPU

无论您是在研究如何使用 10GigE 还是寻求所需考虑事项的建议,本文均提供有实践,帮助确保单相机 10GigE 视觉系统设置顺利并拥有良好性能。 我们列出了主机系统配置、布线和相机设置的实践。

关键字: 视觉系统 CPU 存储器

Apr. 16, 2024 ---- NVIDIA新一代平台Blackwell,包含B系列GPU及整合NVIDIA自家Grace Arm CPU的GB200等。TrendForce集邦咨询指出,GB200的前一代为GH2...

关键字: CPU GPU

人工智能是集合众多方向的综合性学科,在诸多应用领域均取得了显著成果[1]。随着航空领域人工智能技术研究的不断深入,面向开放式机载智能交互场景,人工智能的应用可解决诸多问题。例如智能感知、辅助决策等,可利用人工智能算法对多...

关键字: 人工智能 PCIe CPU

据韩联社报道,上周三星电子发布业绩报告显示,随着芯片价格反弹,预计今年第一季度营业利润同比骤增931.25%,为6.6万亿韩元(当前约合人民币354.6亿元),已经超过了2023年全年营业利润6.57万亿韩元。

关键字: 内存 三星

TDK 株式会社(TSE:6762)进一步扩充 Micronas 嵌入式电机控制器系列 HVC 5x,完全集成电机控制器与 HVC-5222D 和 HVC-5422D,以驱动小型有刷(BDC)、无刷(BLDC)或步进电机...

关键字: 嵌入式 电机控制器 内存

Apr. 04, 2024 ---- TrendForce集邦咨询针对403震后各半导体厂动态更新,由于本次地震大多晶圆代工厂都位属在震度四级的区域,加上台湾地区的半导体工厂多以高规格兴建,内部的减震措施都是世界顶尖水平...

关键字: 晶圆代工 内存

CPU针脚弯了,用工具调正就不会有影响。开机自检也通过,CPU 再出问题就不是针脚引起的问题。针脚只要不断就没有问题,有的CPU出厂的时候针脚就有点弯,这并不是什么大问题,只要用镊子轻轻地弄直就可以了。

关键字: CPU 针脚 开机自检

美光坚持多元、平等、包容的企业文化,携手社区推行公益

关键字: 内存 存储 美光

瑞典乌普萨拉,2024年3月27日 – 全球领先的嵌入式系统开发软件解决方案供应商IAR自豪地宣布:公司备受全球数百万开发者青睐的开发环境再次升级,已率先支持瑞萨首款通用32位RISC-V MCU,该 MCU 搭载了瑞萨...

关键字: MCU RISC-V CPU
关闭