概述 - 5.0 简体中文

QDMA Subsystem for PCI Express 产品指南 (PG302)

Document ID
PG302
Release Date
2023-05-16
Version
5.0 简体中文

Queue-based Direct Memory Access (QDMA) 基于队列的直接存储器访问子系统是基于 PCI Express® ( PCIe® ) 的 DMA 引擎,该引擎专为满足高带宽和高包计数数据传输需求而优化。QDMA 由 AMD UltraScale+™ Integrated Block for PCI Express 以及广泛的 DMA 和 Bridge 基础架构组成,可实现卓越的性能和灵活性。

QDMA Subsystem for PCIe 提供了广泛的设置和使用选项,大部分设置和选项均可按队列来选择,例如存储器映射 DMA 或串流 DMA、中断模式和轮询。该子系统提供了诸多选项,用于通过用户逻辑来自定义描述符和 DMA,以提供复杂的流量管理功能。

QDMA 引擎可凭借使用 QDMA 进行数据传输的主要机制来对主机操作系统所提供的指令(描述符)进行操作。QDMA 可使用描述符在主机到卡 (H2C) 方向或卡到主机 (C2H) 方向进行数据移动。您可基于逐个队列选择 DMA 流量是进入 AXI4 存储器映射 (MM) 接口还是进入 AXI4-Stream 接口。此外,QDMA 可以选择实现 AXI4 MM 主端口或实现 AXI4 MM 从端口,从而允许 PCIe 流量完全绕过 DMA 引擎。

QDMA 与其他 DMA 产品的主要区别在于队列的概念。队列的概念源自高性能计算 (HPC) 互连的远程直接存储器访问 (RDMA) 的“队列集”概念。这些队列可以通过接口类型进行单独配置,并且能够在许多不同的模式下工作。基于单个队列加载 DMA 描述符的方式,每个队列均可提供极低开销的建立时间选项和连续更新功能。通过将队列作为资源分配给多个 PCIe 物理功能 (PF) 和虚拟功能 (VF),即可在各种多功能和虚拟化应用空间中使用同一个 QDMA 核与 PCI Express 接口。

QDMA Subsystem for PCIe 搭配 AMD 提供的 QDMA 参考驱动程序一起使用和实践,随后构建并输出以满足各种应用空间的需求。