DMA将数据传输到内存是否有特定的大小?例如,在CPU侧,当数据被读或写到物理存储器(DRAM)时,它通常是64字节的粒度(高速缓存块大小)。我的问题是:当设备使用DMA写入内存时,控制器是否使用类似的固定大小进行实际数据传输?
请注意,我不是在问DMA事务是否可以有不同大小的传输,因为更大的数据包总是可以分解为固定大小的块。
谢谢Arka
发布于 2013-07-12 23:09:31
这是非常依赖于平台的。根据this information sheet on PCI-E的说法
英特尔台式机芯片组最多支持64字节的最大有效负载,而英特尔服务器芯片组最多支持128字节的最大有效负载。这样做的主要原因是为了匹配前端总线上用于侦听的高速缓存线大小。..。英特尔以外的供应商生产的芯片组支持更高的值;512字节是众所周知的服务器北桥的最大有效负荷值。
假设你正在谈论PCI-E,你想要的搜索词是"PCI Express“和"payload size”。
https://stackoverflow.com/questions/17618024
复制相似问题