AI 引擎阵列接口由 PL 与 NoC 接口 tile(拼块)组成。AI 引擎阵列接口拼块负责管理以下两个高性能接口。
- AI 引擎到 PL
- AI 引擎到 NoC
下图显示了 AI 引擎阵列接口结构。
每个 AI 引擎到 PL 接口拼块均包含 8 条从 PL 到 AI 引擎的串流和 6 条从 AI 引擎到 PL 的串流。下表中显示了一个 AI 引擎到 PL 接口拼块的容量。
连接类型 | 连接数 | 数据宽度(位) | 时钟域 | 每条连接的带宽 (GB/s) | 聚合带宽 (GB/s) |
---|---|---|---|---|---|
PL 到 AI 引擎阵列接口 | 8 | 64 | PL (500 MHz) |
4 | 32 |
AI 引擎阵列接口到 PL | 6 | 64 | PL (500 MHz) |
4 | 24 |
PL 和 NoC 接口拼块的精确数量因器件而异。例如,在 VC1902 器件中,有 50 列 AI 引擎阵列接口拼块。但仅有 39 个阵列接口拼块可用于 PL 接口。因此,PL 接口的聚合带宽约为:
- 24 GB/s * 39 = 0.936 TB/s(从 AI 引擎到 PL)
- 32 GB/s * 39 = 1.248 TB/s(从 PL 到 AI 引擎)
在 Versal AI Core 系列数据手册:DC 和 AC 开关特性(DS957) 中指定了在其它不同速度等级的器件上,可用于 PL 接口的阵列接口拼块数量以及 AI 引擎到 PL 接口的总带宽。
input_gmio
/output_gmio
属性在 AI 引擎到 NoC 接口拼块中使用 DMA。DMA 具有源自 AI 引擎的 2 条 32 位传入串流和 2 条进入 AI 引擎的 32 位串流。此外,它还有 1 个 128 位 AXI 存储器映射主接口,对接到 NoC NMU。下表中显示了一个 AI 引擎到 NoC 接口拼块的性能。
连接类型 | 连接数 | 每条连接的带宽 (GB/s) | 聚合带宽 (GB/s) |
---|---|---|---|
AI 引擎到 DMA | 2 | 4 | 8 |
DMA 到 NoC | 1 | 16 | 16 |
DMA 到 AI 引擎 | 2 | 4 | 8 |
NoC 到 DMA | 1 | 16 | 16 |
AI 引擎到 NoC 接口拼块的精确数量因器件而异。例如,在 VC1902 器件中,有 16 个 AI 引擎到 NoC 接口拼块。因此,NoC 接口的聚合带宽约为:
- 8 GB/s * 16 = 128 GB/s(从 AI 引擎到 PL)
- 8 GB/s * 16 = 128 GB/s(从 PL 到 AI 引擎)
访问 DDR 存储器时,平台中的集成 DDR 存储器控制器 (DDRMC) 数量会限制 DDR 存储器的读写性能。例如,如果在 VC1902 器件中全部 4 个 DDRMC 都已被使用,那么访问 DDR 存储器的硬性限制如下。
- 3200 Mb/s * 64 bit * 4 DDRMCs / 8 = 102.4 GB/s
水平和垂直 NoC、NoC 间配置和 QoS 中的 NoC 通道数量也会进一步限制通过 NoC 访问 DDR 存储器的 input_gmio
/output_gmio
的性能。请注意,访问模式和其它开销也会显著影响 DDR 存储器读写效率。如需了解有关 NoC、存储器控制器使用以及性能数值的更多信息,请参阅
Versal ACAP Programmable Network on Chip and Integrated Memory Controller LogiCORE IP 产品指南(PG313)。
对于源自 AI 引擎或进入 AI 引擎的单一连接,input_plio
/output_plio
和 input_gmio
/output_gmio
都具有硬性带宽限制:4 GB/s。下表显示了选择 input_plio
/output_plio
或 input_gmio
/output_gmio
的部分优势和劣势。
input_plio/output_plio | input_gmio/output_gmio | |
---|---|---|
优势 |
|
|
缺点 |
|
|