DMA处理器在处理器中的用途是什么?

时间:2014-11-18 11:40:19

标签: performance memory-management computer-architecture cpu-architecture dma

DMA控制器存在于磁盘和网络设备上。因此他们可以直接将数据传输到主存储器。那么在处理器芯片内部使用dma控制器有什么用呢?另外我想知道,如果处理器芯片外部有不同的总线(i2c,pci,spi),处理器内部只有一个总线(AXI)。这是如何工作的?(不应该导致一些瓶颈)

2 个答案:

答案 0 :(得分:3)

片上DMA 可以承担将数据从设备复制到内存的任务,反之亦然用于无法实现自己的DMA的简单设备。我可以认为这些设备可以是鼠标,键盘,声卡,蓝牙设备等。这些设备具有简单的逻辑,它们的请求被多路复用并发送到芯片上的单个通用DMA。

具有高带宽的外围设备,如 GPU卡,网络适配器,硬盘实现自己的DMA ,与芯片的总线通信,以启动上传和下载到系统的内存。

  

如果处理器芯片外有不同的总线(i2c,pci,spi)   处理器内只有一个总线(AXI)。这怎么工作?(不应该   它导致了一些瓶颈)

这实际上很简单。 片上内部AXI总线更快 - 以更高的频率运行(等于或与CPU频率相同的范围)(具有更高的带宽)比i2c + pci + spi的所有聚合带宽都要多。当然,多个硬件元素在AXI总线上竞争,但通常你会优先实施并使用不同的优化技术。

答案 1 :(得分:-1)

来自Wikipedia

  

直接内存访问(DMA)是计算机化系统的一项功能,它允许某些硬件子系统独立于中央处理单元(CPU)访问主系统内存。 [...] DMA控制器可以生成存储器地址并启动存储器读或写周期。它包含几个可由CPU写入和读取的处理器寄存器。这些包括存储器地址寄存器,字节计数寄存器和一个或多个控制寄存器。