DMA是否有特定的大小将数据传输到内存?例如,在CPU侧,当数据被读取或写入物理存储器(DRAM)时,它通常具有64字节(高速缓存块大小)的粒度。我的问题是:当设备使用DMA写入内存时,控制器是否使用类似的固定大小进行实际数据传输?
请注意,我不是要求DMA事务是否可以有不同的传输大小,因为更大的数据包总是可以分成固定大小的块。
由于 阿尔卡
答案 0 :(得分:2)
这非常依赖于平台。根据{{3}}:
英特尔台式机芯片组最多支持64字节的最大有效负载 英特尔服务器芯片组最多支持128字节的最大有效负载。该 这样做的主要原因是匹配侦听的缓存行大小 在前面的公共汽车上。 ... 由除以外的供应商生产的芯片组 英特尔支持更高的价值; 512字节是众所周知的 服务器北桥的最大有效负载值。
假设您在谈论PCI-E,您想要的搜索字词是“PCI Express”和“有效负载大小”。