gpt4 book ai didi

dma - DMA 和 PCIe 如何一起玩?

转载 作者:行者123 更新时间:2023-12-04 12:44:34 27 4
gpt4 key购买 nike

在 PCIe 配置中,设备具有专用地址,并且它们以点对点模式相互发送数据 - 每个设备都可以随时写入,并且交换机会注意正确地转发数据。不需要“总线主控器”来决定何时以及如何传输数据。

DMA 如何在这种配置中发挥作用?对我来说,DMA 似乎是一个过时的功能,在 PCIe 配置中不需要。每个设备都可以将数据发送到主存储器,或从中读取数据——显然主存储器在此类操作中始终是“从属”。

或者是否有我缺少的 DMA 的其他一些功能?

先感谢您!

最佳答案

当 CPU 以外的设备访问连接到 CPU 的内存时,这称为直接内存访问 (DMA)。因此,从 PCIe 设备发出的任何 PCIe 读或写请求都构成了 DMA 操作。这可以通过“设备到设备”或“对等”DMA 进行扩展,其中设备相互执行读写操作,而无需涉及 CPU 或系统内存。

DMA 的主要优点有两个:首先,DMA 操作可以以最小的 CPU 负载将数据移入和移出内存,从而提高软件效率。其次,无论 CPU 字大小如何,CPU 都只能发出读取和写入操作,由于 TLP header 和其他协议(protocol)开销,这会导致 PCIe 总线上的吞吐量非常低。直接发出读写请求的设备可以发出更大负载的读写操作,从而提高吞吐量并更有效地利用总线带宽。

因此,DMA 绝对不会过时或过时——基本上所有通过 PCIe 连接的高性能设备都会使用 DMA 来有效地使用总线。

关于dma - DMA 和 PCIe 如何一起玩?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53361506/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com