【问题标题】:DMA transfer sizeDMA 传输大小
【发布时间】:2013-07-12 15:03:11
【问题描述】:

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

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

谢谢 阿尔卡

【问题讨论】:

  • 你为什么想知道?

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


【解决方案1】:

这是非常依赖于平台的。根据this information sheet on PCI-E

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

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

【讨论】:

    猜你喜欢
    • 2014-06-27
    • 1970-01-01
    • 2012-01-26
    • 2012-09-27
    • 2019-01-20
    • 2019-04-26
    • 2017-08-26
    • 2019-08-11
    • 1970-01-01
    相关资源
    最近更新 更多