DMA传输大小

时间:2013-07-12 15:03:12

标签: device linux-device-driver device-driver dma

DMA是否有特定的大小将数据传输到内存?例如,在CPU侧,当数据被读取或写入物理存储器(DRAM)时,它通常具有64字节(高速缓存块大小)的粒度。我的问题是:当设备使用DMA写入内存时,控制器是否使用类似的固定大小进行实际数据传输?

请注意,我不是要求DMA事务是否可以有不同的传输大小,因为更大的数据包总是可以分成固定大小的块。

由于 阿尔卡

1 个答案:

答案 0 :(得分:2)

这非常依赖于平台。根据{{​​3}}:

  

英特尔台式机芯片组最多支持64字节的最大有效负载   英特尔服务器芯片组最多支持128字节的最大有效负载。该   这样做的主要原因是匹配侦听的缓存行大小   在前面的公共汽车上。   ...   由除以外的供应商生产的芯片组   英特尔支持更高的价值; 512字节是众所周知的   服务器北桥的最大有效负载值。

假设您在谈论PCI-E,您想要的搜索字词是“PCI Express”和“有效负载大小”。