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.

[FAQ] [参考译文] [常见问题解答] C28x:C28x 器件的 DMIPS 是什么?

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/718514/faq-c28x-what-is-the-dmips-of-a-c28x-device

主题中讨论的其他器件:TMS320F28377D

问题:

C28x 器件的 DMIPS 是什么?

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

    答案:

    我们不会通过使用 Dhrystone 基准来测量 C2000 MCU 的性能。 Dhrystone 对于进行 CPU 架构比较的人员来说不是一种非常有用的监测计、尤其是对于嵌入式 MCU 上的计算密集型实时控制。 例如、CPU 架构师和编译器可以(并且已经)设计为在 Dhrystone 上获得良好的评分、但在现实生活的实时应用中表现不佳。 Dhrystone 只测量几个基本操作。 它不测量数学密集型算法中所需的乘法累加、浮点、SIMD 或许多其他类型的运算、这些算法目前得到了 C 语言编译器的支持。

    此外、该基准测试在现代 CPU 架构中失去了可信度、因为它没有正式的认证流程。 坦率地说、如果世界认为 Dhrystone 仍然适用、它就会推动很久以前的认证过程。 另一个相当严重的缺陷是不需要披露基准测试环境、有时您会看到编译器的特殊开关、这些开关仅在 Dhrystone 基准测试期间使用、而不会用于生产开发。 简而言之、它太过时了、太容易操作、无法发挥价值。

    以 TMS320F28377D 为例、双 C28x 和双 CLA 内核(4个同时处理)、每个内核都能够在每个周期执行一条指令。 这些指令是 C28x 或 CLA 指令、与20世纪80年代的 Dhrystone 基准创建者当时预期的指令相比、实时处理的功能要强大得多。 更重要的是、C2000 C28x 和 CLA 专为电力电子电路的实时控制而构建。 在这些情况下、唯一相关的基准测试是电力电子控制任务中的性能。 如果您要构建类似的应用程序、我们的一些基准测试数据将与您非常相关。 例如、由于内核中添加了新的三角函数指令、'377可以在19个周期内完成 Park 变换。 这在经过优化的传感 FOC 电机控制算法中得到利用、该算法能够在1.5微秒内闭合电流环路-并且还能在高环路控制带宽下闭合。 借助'377D、您可以控制其中两个快速电流环路-在每个内核上、并具有备用的 CPU 带宽。

    还有一点:虽然闪存单元读取访问比 RAM 访问慢、但由于 C2000的设计方式、您将看到从闪存获取的访问效率非常接近 RAM 访问速度。 这是因为我们的接口包装程序具有创造性设计。 与任何流水线 CPU 一样、代码不连续性(分支/异常)将影响此性能。 因此、如果您希望从系统中获得最佳性能、请确保您了解 C28x 本机指令/功能、编译器创建的代码以及它在何处查找所使用的数据。

    此致、

    Brian Fortman

    工业驱动和自动化

    C2000微控制器

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