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.

[参考译文] TMS320F28384S:32位与64位浮点支持性能平衡

Guru**** 2392985 points
Other Parts Discussed in Thread: C2000WARE

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1261598/tms320f28384s-32-bit-vs-64-bit-floating-point-support-trade-off

器件型号:TMS320F28384S
主题中讨论的其他器件:C2000WARE

我们的团队使用浮点计算来支持一些控制算法。 我们正在寻找有关28384S 及其在浮点使用方面对 CPU1、CM 和 CLA 提供支持的任何详细信息。

如果我们在 CPU1上从32位转移到64位浮点支持、那么需要权衡哪些方面? 速度/大小? 我知道最终的数字取决于应用、但单次计算会有何折衷? 启用64位浮点支持是否会导致对仅使用32位浮点值的计算进行任何更改?

此外、CLA 文档似乎表明只支持32位。 它是否能够支持64位浮点计算?

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

    Wesley 您好!

    大小权衡很直观、变量占用的空间是后者的两倍。

    从速度方面来说、 我知道根据一些 C2000Ware 库、例如 DSP FPU 中的 FFT 库、FPU64版本 执行类似的计算需要更长的时间、但我不知道是否有确切的公式。 我将 与另一位专家讨论这一点、因为我找不到有关 FPU64操作的指令集。

    Unknown 说:
    此外、CLA 文档似乎表明只支持32位格式。 它是否支持64位浮点计算?

    我还将询问另一位专家。 可能需要一些时间才能得到答复,因此我将努力在一周结束前得到答复。

    此致、

    阿米尔·奥马尔

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

    它位于 C2000基本指南 spracn0的第3.3节。

     

    不可以、CLA 不提供原生双精度浮点硬件支持。 它将由 SW 中的编译器处理。

     

    唯一需要注意的是如果输出格式为 COFF–那么 CLA 上只有32位浮点支持。 在 EABI 中、有64b 支持。

    谢谢。

    Sira

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

    感谢你的评分

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

    尊敬的 Sira:

    我将寻找 EABI 在何处支持 CLA 上使用64位浮点运算。 我在 sparcn0中看不到它。 纵观我们的项目选项、我现在看到仅 EABI 支持 FPU64。 当我们转到 FPU64时、CPU 和 CLA 是否会自动使用64位浮点值?

    sparcn0文档表明:"虽然 C28x 内核是一个更传统的处理器、执行指令和处理中断、但是 CLA 是一个任务驱动的状态机。 CLA 是一种32位浮点架构"似乎表示不提供64位计算。

    此外、"FPU64模块通过提供本机硬件支持来扩展 C28x CPU 的计算能力
    对于 IEEE-754单精度和双精度浮点运算"似乎表明 CLA 不受 FPU64模块的影响。

    此致、

    -韦斯

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

    禁用 FPU64时、CLA 基本上会按照表3-3中的行进行64位计算吗? (即2222个周期?)

    谢谢。

    -韦斯

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    当我们转到 FPU64时,CPU 和 CLA 将自动采用64位浮点值吗?

    您可以独立于 CLA 将 C28x FPU 移动到64位浮点。 请注意、在支持 C28x FPU64的器件上、C28x 仍可以执行 FPU32操作。

    CLA 是一个32位浮点架构"似乎表明64位计算不可用。

    CLA 没有任何支持64位浮点的原生操作码(CPU 指令)。 任何64位浮点运算都使用软件、我希望这些计算速度很慢。

    "FPU64模块通过提供本机硬件支持来扩展 C28x CPU 的计算能力
    对于 IEEE-754单精度和双精度浮点运算"似乎表明 CLA 不受 FPU64模块的影响。

    是的。 FPU64扩展了 C28x FPU32的指令集。  它不影响 CLA。

    禁用 FPU64时 CLA 是否会基本上按照表3-3中的行进行64位计算? (即2222个周期?)

    遗憾的是、我没有任何基准数字、但我认为 CLA 上的任何64位计算都很慢。

    此致、

    洛里

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

    谢谢 Lori!