工具/软件:TI C/C++编译器
首先、是否可以检查 我进行的三角函数调用(例如、cos (X))是否正在利用三角函数加速器(TMU)?
其次、应如何编写代码以确保充分利用 TMU?
作为一些背景信息,我将 fp_mode 设置为 relaxed,并将 TMU_support 设置为 tmu0,即"-v28 -ml -mt --float_support=fpu32 --tmu_support=tmu0 -O1 --opt_for_speed=3 --fp_mode=relaxed."
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.
工具/软件:TI C/C++编译器
首先、是否可以检查 我进行的三角函数调用(例如、cos (X))是否正在利用三角函数加速器(TMU)?
其次、应如何编写代码以确保充分利用 TMU?
作为一些背景信息,我将 fp_mode 设置为 relaxed,并将 TMU_support 设置为 tmu0,即"-v28 -ml -mt --float_support=fpu32 --tmu_support=tmu0 -O1 --opt_for_speed=3 --fp_mode=relaxed."
您的设置正确、因此 TMU 指令应由编译器生成。 您可以查看生成的汇编文件以确认 TMU 指令确实是生成的。
另一种可能的技术是在代码中使用 TMU 内在函数。 但是、您所遵循的方法不需要这种方法。
谢谢、
Sira
您好 Sira、
感谢您的快速回复。
接下来、对于 TMS320F28075、CPU1和 CLA1上是否都提供 TMU 指令?
如果我在时间关键型代码中有很多三角函数调用、那么在 CPU1上执行这些函数是否更好(假设 CLA1没有 TMU 运算的访问权限)?
此致、
Alex
Alex、
正确、CLA 无权访问 TMU。 这将在未来的器件中解决。
因此、根据您的代码的 TMU 定向方式、您可能需要在 CPU1上运行该代码、并在 CLA1上运行其他源代码。
谢谢、
Sira