我的问题是关于PCIe外设和系统内存之间的数据传输。例如:假设我们需要通过以太网发送大量数据(存储在系统内存中)。
通常是怎么做的呢?以太网卡的控制器是否必须通过“总线主控”请求数据(由CPU编程后)?或者,CPU附近的集中式DMA控制器是否只会写入卡的缓冲区(在CPU编程完成后)?
换句话说:卡必须要数据吗?或者可以简单地通过CPU的DMA将其写入?
发布于 2019-06-11 09:59:20
正如您所猜到的,PCIe批量数据传输通常由设备使用总线主控来执行。
在您的问题中,您暗示让一个单独的DMA设备执行传输比让设备执行此操作更简单,但我认为恰恰相反--设备执行此操作更简单。
https://stackoverflow.com/questions/56532084
复制相似问题