This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] F29H85X-TMS320F28375-EVM:性能问题:F29H85X 与 SOM 的三角函数和浮点计算缓慢

Guru**** 2378650 points
Other Parts Discussed in Thread: TMS320F28375D
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1525508/f29h85x-som-evm-performance-issue-slow-trigonometric-and-float-calculations-on-f29h85x-vs-tms320f28375d

器件型号:F29H85X-EVM-EVM SOM
主题:TMS320F28375D 中讨论的其他器件

工具/软件:

我目前正在使用 F29H85X 控制器、发现计算三角和浮点运算所需的时间比 TMS320F28375D 要多得多。 这是一个时间关键型应用、因此尽可能减少计算延迟至关重要。

  • 我想知道是否有任何库、技术或机制,如 FPU TMU(不包括编译器级优化)。

谢谢。此致、

Shashank

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    嗨、Shashank、大家知道、这方面有一个单独的电子邮件主题、我在其中提供了意见。  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、

    能提供链接吗?

    此致、

    Shashank

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Shashank、

    这是我相信你写的:

    我当前正在将 C28x_CLA 代码从 TMS320F28375D 移植到 F29 CPU2。 在评估算术和三角计算(编译器优化级别设置为–0)的执行时间时、我观察到运算速度明显比 C28x CLA 实现慢。

    由于这是一个时间关键型应用程序、我们的要求是在不依赖编译器级优化的情况下尽可能缩短三角函数和算术运算的计算时间。

    您能否告知在这些限制条件下、是否有缩短计算时间的方法或最佳实践?

    此外、我想确认有关 F29H85x 控制器的以下内容:

    • FPU(浮点单元)和 TMU(三角函数加速器)是否可作为并行处理单元或 CPU 的一部分提供?
    • 它们是默认启用的、还是需要显式初始化?

    算术或三角运算的次数

    20

    编译器优化级别

    0

    S.no

    表达式

    执行时间(以微秒为单位)。

    C28_CPU

    C28_CLA

    C29 CPU

    1.

    C = c+d

    0.333.

    0.24

    0.933

    2.

    c = c*d

    0.34

    0.24

    0.935

    3.

    c = c/d

    1.001.

    1.008.

    2.435

    4.

    C = cos (3.14)

    1.835.

    不适用

    324

    5.

    C = sin (3.14)

    1.835.

    不适用

    325

    6.

    CLADV (c、d)

    不适用

    1.834.

    不适用

    7.

    CLASINPU (1)

    不适用

    3.34

    不适用

    8.

    CLAcosPU (1)

    不适用

    3.327

    不适用

    我的答复:

    我对 Medha 的建议:

    • 不要对单个指令/代码行进行基准测试。 请对完整的应用程序/功能进行基准测试。 对单个指令或简单操作进行基准测试时、您将看不到 C29 的性能优势。 它是一个 VLIW CPU。 这就像是指责赛车没有赢得 10 米比赛。  Blushμ s
    • 执行上述操作后、请启用编译器优化。 如果优化关闭、则不使用并行功能单元。 即使在 O1、也重点是可调试性、因此不会出现无序执行或并行指令。 那么就是优化问题。 这里的类比是尝试以 1 档 Blush运行赛车
    • FPU(浮点单元)和 TMU(三角函数加速器)是否可作为并行处理单元或 CPU 的一部分提供?

    包含在 CPU 中

    • 它们是默认启用的、还是需要显式初始化?

    默认情况下启用 FPU。 TMU 需要通过编译器设置 (-ffast-math) 启用。 请查看 https://www.ti.com/lit/sprujg0

     

    谢谢、

    Sira