直接记忆体存取

王朝百科·作者佚名  2010-02-11  
宽屏版  字体: |||超大  

直接记忆体存取 (Direct Memory Access, DMA) 允许某些 电脑 内部的硬体子系统可以独立地存取系统记忆体的读取或写入,而不需牵涉到 CPU。很多硬体的系统会使用 DMA,包含 硬碟 控制器,绘图显示卡,网路卡,和 音效卡。

DMA 是所有现代电脑的重要特色,他允许不同速度的硬体装置来沟通,而不需要依于 CPU 的大量 中断 负载。否则,CPU 需要从 来源 把每一片段的资料复制到 暂存器,然後把他们再次写回到新的地方。在这个时间中,CPU 对于其他的工作来说就无法使用。

DMA 传输重要地将一个记忆体区从一个装置复制到另外一个。当 CPU 初始化这个传输动作,传输动作本身是由 DMA 控制器 来实行和完成。典型的例子就是移动一个外部记忆体的区块到晶片内部更快的记忆体去。像是这样的操作并没有让处理器工作拖延,反而可以被重新排程去处理其他的工作。DMA 传输对于高效能 嵌入式系统 演算法和网路是很重要的。

举个例子,PC ISA DMA 控制器拥有 8 个 DMA 通道,其中的 7 个通道是可以让 PC 的 CPU 所利用。每一个 DMA 通道有一个 16位元 位址暂存器和一个 16 位元 计数暂存器。要初始化资料传输时,装置驱动程式一起设定 DMA 通道的位址和计数暂存器,以及资料传输的方向,读取或写入。然後指示 DMA 硬体开始这个传输动作。当传输结束的时候,装置就会以中断的方式通知 CPU。

"分散-收集" (Scatter-gather) DMA 允许在一次单一的 DMA 处理中传输资料到多个记忆体区域。相当于把多个简单的 DMA 要求串在一起。再一次,这个动机是要减轻 CPU 的多次输出输入中断和资料复制任务。

DRQ 意为 DMA 要求;DACK 意为 DMA 确认。这些符号一般在有 DMA 功能的电脑系统硬体概要上可以看到。他们表示了介于 CPU 和 DMA 控制器之间的电子讯号传输线路。

 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
© 2005- 王朝百科 版权所有