ZHCAEV9 December   2024 AM62D-Q1

 

  1.   1
  2.   摘要
  3.   商标
  4. 1引言
    1. 1.1 将二进制文件加载到 AM62D
  5. 2处理器内核基准测试
    1. 2.1 C7x DSP 基准测试
      1. 2.1.1 快速傅里叶变换
      2. 2.1.2 数字信号处理
        1. 2.1.2.1 FIR
        2. 2.1.2.2 级联双二阶滤波器
        3. 2.1.2.3 点积
      3. 2.1.3 数学运算
    2. 2.2 在 A53 内核中执行的 Dhrystone
  6. 3存储器系统基准测试
    1. 3.1 临界存储器访问延迟
    2. 3.2 UDMA:DDR 至 DDR 数据复制
    3. 3.3 C7x DRU 性能:通过 DMA 进行块复制
  7. 4应用特定的基准测试
    1. 4.1 SBL 引导时间
    2. 4.2 IPC 性能
    3. 4.3 闪存
    4. 4.4 应用特定延迟
  8. 5总结
  9. 6参考资料

快速傅里叶变换

快速傅里叶变换 (FFT) 是常见的信号处理算法之一。FFTLIB 库包含许多用于 FFT 的内核,这些内核具有各种批次大小和数据类型。仅在使用 C7x 时才实施这些内核。这些内核尚未使用 MMA。AM62D 的 FREERTOS-SDK 中包括 FFTLIB。该库的文档包含有关构建和运行这些内核的说明。表 2-1 展示了在 C7x 处理器上执行的复杂输入/复杂输出 FFT 的性能数据,数据类型包括 16 位复整数和 32 位浮点复数,且涵盖了不同的向量和批次大小。根据在 C7x 时钟频率为 1.0GHz 时执行 FFT 的 C7x 时钟周期总数以及处理每个批次的持续时间来衡量性能。

表 2-1 C7x 上的 FFT 性能

FFT 参数

16 位整数复数输入和复数输出的性能 [周期]

32 位浮点复数输入和复数输出的性能 [周期]

FFT 大小批次大小:

总计 [周期数]

每批时间 [µs]

总计 [周期数]每批时间 [µs]

128

128

12806

0.1

24221

0.18

256

64

13944

0.21

24850

0.38

512

32

13793

0.43

26826

0.83

1024

16

16012

1.0

29783

1.86

2048

8

15981

1.99

31650

3.95

4096

4

17112

4.27

34834

8.70

8192

2

17063

8.53

36304

18.15

为了展示使用 C7x DSP 相比于 ARM 的性能提升,将 C7x DSP 上执行 FFT 的时间与在 Arm-Cortex-A53 内核上执行相同类型 FFT 的时间进行比较。Arm 基准测试使用了 Ne10 库,该库利用了 Cortex-A53 的高级 SIMD 或 NEON 加速。此库不包含在 SDK 中,但可以从官方 Ne10 代码库下载。该库需要一个 Linux® 操作系统,因此在 AM62A 上实施该操作系统,AM62A 具有与 AM62D 相同的 Cortex-A53 内核。表 2-2 展示了 Arm-Cortex-A53 和 C7x DSP 上的 1024 点单精度浮点复数 FFT 执行时间。结果显示,Cortex-A53 和 C7x DSP 之间的执行速度约有 11 倍的提升。

表 2-2 执行复数 FFT 的 C7x DSP 与 Arm CPU
Arm-Cortex-A53 (1.4GHz) 单线程/内核1.0 GHz 时的 C7x

C7x (1.0GHz) 与 A53 (1.4GHz) 相比实现的性能提升

1024 点复数 FFT 执行时间19.4µs1.8µs

约 11 倍