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.

[参考译文] TMS320F28377D:-fp_mode "relaxed_quot;意思?

Guru**** 2538930 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/613816/tms320f28377d---fp_mode-relaxed-meaning

器件型号:TMS320F28377D

你(们)好。

我注意到、当我将--fp_mode 设置为在优化设置中宽松时、中断内的代码执行速度要快得多。

请简要说明将--fp_mode 设置为"宽松"而不是"严格"的含义。 将 --fp_mode 设置为"relaxed"是否存在任何问题或风险?

非常感谢、

Leo

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    有关更多详细信息、请参阅此页面 processors.wiki.ti.com/.../Floating_Point_Optimization
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Leandro、

    从 C 编译器指南的第2.3.3节中:

    "宽松浮点模式会在可能的情况下将双精度浮点计算和存储转换为整数。 这种行为不符合 ISO 标准、但会导致更快的代码、并导致精度降低。 以下特定更改在宽松中发生
    模式:
    •除以常量被转换为反向乘法。
    •某些 C 标准浮点函数-例如 sqrt、sin、cos、atan 和
    ATAN2--在可能的情况下重定向到优化的内联函数。
    •如果使用--tmu_support 选项来启用对的支持
    三角数学单元(TMU)和宽松浮点模式为
    启用后、RTS 库调用将替换为相应的 TMU
    以下浮点运算的硬件指令:
    浮点除法、sqrt、sin、cos、atan、 和 atan2。 请注意
    TMU 硬件之间存在算法差异
    指令和库例程、也就是运算结果
    可能略有不同。"

    您可以在此处下载指南:
    http://www.ti.com/lit/ug/spru514n/spru514n.pdf

    如果您使用的是"FastRTS"库、则需要在宽松模式下进行编译。 同样、这可以加快您的代码速度。

    此致、

    Richard

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    感谢 Richard 提供了非常全面的答案。 现在非常清楚。

    谢谢

    Leo