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.

[参考译文] MSPM0G1518:MSPM0G3507 和 MSPM0G1518 之间的硬件 CRC 加速器性能差异

Guru**** 2981470 points

Other Parts Discussed in Thread: MSPM0G3507, MSPM0G1518

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1663186/mspm0g1518-hw-crc-accelerator-performance-difference-between-mspm0g3507-and-mspm0g1518

器件型号: MSPM0G1518
Thread 中讨论的其他器件: MSPM0G3507、

您好、

在从 MSPM0G3507 迁移 到 MSPM0G1518 期间 、我们注意到我们应用中的 CRC32 计算时间增加了两倍(从 2.2ms 增加到 4.2ms)。 此计算由 HW CRC 单元在 CRC32 模式下完成、该单元会涵盖我们的应用数据的范围。 在 CRC 计算时、器件配置如下:

  • MCLK 频率(为内核和 PD1 外设提供时钟、其中是硬件 CRC):80MHz 源自 SYSPLL
  • 处于 CRC32 模式的硬件 CRC 单元、具有 CRC32-ISO3309(默认)多项式、直接输入位顺序和字节序设置为 big
  • 数据以 32 位块的形式馈送到 CRC 单元
  • 在迁移过程中、计算 CRC 的数据范围大小没有太大变化

在我们这边、我们检查了 CRC 输入是 4 字节对齐的、并使用 FCC 额外验证了 MCLK 频率、还确认了 PD1 在计算时确实以满 80MHz 运行。

另据指出、G1518 使用更先进的 CRC-P 加速器、而 G3507 使用常规 CRC 单元、并在检查第 14.1 章中的 TRM(CRC 和 CRC-P 单元比较表)之后。 “CRC 概述“)、由于 CRC-P 单元不支持无等待状态计算、因此这两种类型的加速器之间可能会出现一些性能差异。

我们希望确认、我们在用例中观察到的性能下降实际上是预期在 CRC 和 CRC-P 单元之间出现的性能下降。

BR、

Pavlo

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

    尊敬的 Pavlo:

    是的、预期会出现性能下降。

    MSPM0G3507 CRC 外设在每次输入写入的一个周期内计算新的 CRC 结果。 MSPM0G1518 使用 CRC-P、这需要额外的内部计算周期。 CRC-P 添加了可编程 CRC32 多项式支持、但速度不如标准 CRC 外设快。

    ×、尽管 TI 未指定固定的 2 μ s 性能比率、但从大约 2.2ms 增加到 4.2ms 是合理的。 总执行时间还取决于闪存等待状态、编译器优化、循环开销和源存储器访问。

    要确认比较:

    • 使用相同的优化设置和 CRC 馈送代码。
      仅测量 CRC 输入环路。
      测试 SRAM 的输入缓冲器和环路。
      如果需要更低的 CPU 开销、请考虑使用 DMA 来馈送 CRCIN。

    由于 MCLK 在 80MHz 处验证且输入为 32 位对齐、因此观察到的差异很可能是 CRC-P 架构而不是时钟配置导致的。 希望这对您有所帮助!

    -布赖恩