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.

[参考译文] TMS320F28234:是否可以直接由 CPU 执行除法?

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/933872/tms320f28234-could-division-execute-directly-by-cpu

器件型号:TMS320F28234

您好、专家、

我只是在示例项目中测试除法代码(div_result=3001.123/456.16;)、执行结果是正确的。

不过、我很困惑、

  • 为什么除法代码可以工作、因为 F28234没有浮点单元?
  • 当执行一个以上的除法代码或十个重复代码时,我发现执行时间与196*SYSCLK 相同。 这是因为编译器将十个代码优化为一个代码吗?

谢谢!

Rayna

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

    [引用用户="Rayna Wang "]

    我只是在示例项目中测试除法代码(div_result=3001.123/456.16;)、执行结果是正确的。

    不过、我很困惑、

    • 为什么除法代码可以工作、因为 F28234没有浮点单元?
    • 当执行一个以上的除法代码或十个重复代码时,我发现执行时间与196*SYSCLK 相同。 这是因为编译器将十个代码优化为一个代码吗?

    [/报价]

    Rayna、

    请澄清。  使用常数进行除法是否完全如图所示?  如果是、则编译器预处理器将进行除法并在代码本身中使用常量。  

    如果是这种情况、那么指令的执行时间应该只是一个常数的分配。  

    此致

    Lori