ZHCAEV9 December 2024 AM62D-Q1
C7x 内提供的数据路由单元 (DRU) 用于在 C7x 的 DDR 和 L2SRAM 之间传输数据,从而有效地支持 DMA。德州仪器 (TI) 信号处理 (TISP) 中间件库提供了几个示例,说明如何使用 DMA 对 C7x 的 DSPLIB 和 FFTLIB 中的各种内核进行打包。AM62D 的 FreeRTOS-SDK 中包括 TISP,并随附用于构建和运行示例的文档。TISP 中的 TISP_blockCopy 示例提供了在 C7x 的 DDR 和 L2SRAM 之间移动数据时的性能结果。在 TISP_blockCopy 示例中,我们将数据从 DDR 读取到 C7x 的 L2SRAM,同时将数据从 L2SRAM 写入 DDR。有一个块复制内核将相同的数据(通过 DRU 读取到 L2SRAM)从 L2SRAM 中的一个位置复制到 L2SRAM 中的另一个位置。块复制内核利用流引擎 (SE) 从 L2SRAM 读取数据。要写入通过 SE 读取的相同数据,内核会将 C7x 的写入路径应用到 L2SRAM,同时通过流地址 (SA) 生成器生成写入的地址偏移。下面列出了有关此示例的一些注释:
表 3-4 展示了移动 16MB 数据的性能测量,实现 10.4GB/s 的带宽,效率为总 DDR 带宽的 81%。
数据类型 | 数据大小 | EVM 周期数 | 数据传输 | 效率 |
|---|---|---|---|---|
浮点 | 2048x2048x4=16MB | 3185174 | 5.2x2 = 10.4GB/s | 10.4/12.8 = 81% |