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.

[参考译文] TMS320F28P650DK:OPT 级别0与选项级别2

Guru**** 2457760 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1506173/tms320f28p650dk-opt-level-0-vs-opt-level-2

器件型号:TMS320F28P650DK

工具/软件:

e2e.ti.com/.../CNTL_5F00_PID_5F00_FILT_5F00_CALCOUT_5F00_28P650_5F00_blocked.txt

您好、

我在对控制循环代码进行性能分析、发现当使用优化级别2时、与 OPT 级别0相比、我的函数具有明显更多的周期数(请参阅随附的反汇编)。  OPT 级别0 = 54个周期与选项级别2 = 83个周期。  什么会导致此类性能损失? 我使用 EABI 输出格式、函数内部使用的数据存储在具有 blocked 属性的数组中。

Jozef

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

    您好 Jozef、

    首先、您如何计算周期? 您使用什么方法?

    您是否使用 ERAD 分析职能?

    此致、

    Ryan Ma

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

    您好、Ryan、

    我将在 CCS 中使用时钟功能并执行以下步骤。  

    -在函数开头的断点

    -中断后,重置时钟

    -函数末尾的断点

    -打破阅读周期计数后  

    ERAD 当然也是可能的、但当我连接了调试器时、时钟对我来说更方便。  

    Jozef

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

    您是否可以使用 ERAD 在 CCS 的时钟特性和 ERAD 的计数器之间进行交叉比较?

    我希望增强优化应该会减少周期数。

    此致、

    Ryan Ma

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

    我使用 ERAD 模块进行了测量,得到了与时钟功能相同的结果(只有大约5个周期的微小差异)。 比较汇编代码时、OPT 2代码更长、主要使用辅助内核寄存器来存储临时结果、而 OPT 0代码使用 FPU 结果寄存器。 我不太熟悉 C2000内核、但我想通过 XAR 寄存器处理数据的效率不如 FPU 寄存器、尤其是在使用浮点计算时。
    此致、
    Jozef

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

    您好 Jozef、

    有意思。 您使用的编译器标志是什么? 它们在 OPT 0和 OPT 2之间是否一致? 我假设两者都启用了 FPU 标志? 我可能需要将其路由到我们的编译器团队来对此进行更深入的研究。

    您是否可以按照下面的方法操作?

    https://software-dl.ti.com/ccs/esd/documents/sdto_cgt_How-to-Submit-a-Compiler-Test-Case.html

    此致、

    Ryan Ma

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

    Ryan、
    我已通过私人消息向您发送了有关编译器测试用例的文档。


    此致、
    Jozef

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

    您好 Jozef、  

    您是否能够观看有关如何生成预处理器文件的视频?

    https://www.youtube.com/watch?v=d-hB8i534C0

    请将您的文件附加到此主题、以便我们的专家可以研究此问题。  

    此致、

    Ryan Ma