DMA控制器存在于磁盘,网络设备上.因此他们可以直接将数据传输到主存储器.那么在处理器芯片内部使用dma控制器有什么用呢?另外我想知道,如果处理器芯片外部有不同的总线(i2c,pci,spi),处理器内部只有一个总线(AXI).这是如何工作的?(不应该导致一些瓶颈) 最佳答案 片上DMA可以承担将数据从设备复制到内存的任务,反之亦然,对于无法实现自己的DMA的简单设备.我可以认为这些设备可以是鼠标,键盘,声卡,蓝牙设备等.这些设备具有简单的逻辑,并且它们的请求被多路复用并发送到芯片上的单个通用DMA.
具有高带宽的外围设备(如GPU卡,网络适配器,硬盘)实现自己的DMA,与芯片的总线通信,以启动上传和下载到系统的内存.
if there are different buses (i2c, pci, spi) outside of processor chip
and only one bus (AXI) inside processor. how does this work?(shouldn’t
it result in some bottleneck)
这实际上很简单.片上内部AXI总线速度更快 – 以比i2c pci spi的所有聚合带宽更高的频率(与CPU频率相同或相同的范围)运行(具有更高的带宽).当然,多个硬件元件在AXI总线上竞争,但通常您会优先实施并使用不同的优化技术.