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.

[参考译文] TMS320C6748:DSP 代码执行速度比 OMAP-L138慢

Guru**** 2928980 points

Other Parts Discussed in Thread: OMAP-L138, TMS320C6748

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/667323/tms320c6748-dsp-code-execution-slower-than-on-omap-l138

器件型号:TMS320C6748
主题中讨论的其它部件:OMAP-L138OMAPL138

我遇到了一个令人困惑的问题。 我们已开始在使用 Critical Link 的 MityDSP-L138F 评估板的产品上进行开发。 我们在 OMAP 中不需要 ARM9、因此在我们的设计中、我们使用了 TMS320C6784。 我们注意到、TMS320C6748上的代码执行速度比 OMAP-L138上的代码执行速度慢大约27倍。  

我们在 PLL0_SYSCLK1上将 PLL 配置为456MHz。 我们编写了一些测试代码、只需打开所有模块并配置 PLL、然后运行汇编代码延迟环路翻转 GPIO 引脚的状态以测量代码执行速度。

在 OMAP 中运行的完全相同代码的完全相同编译速度比在 TMS320C6784中快27倍左右。 我们的项目需要代码以与 OMAP 相同的速度执行、并且我们的想法已经用完。  

谢谢!

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    团队将收到通知。 他们将直接在此处发布反馈。

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

    根据您的观察结果、我怀疑导致此问题的两种设置确实存在一些差异。 您是否使用 MityDSP 进行 OMAPL138基准测试、并使用平台进行 C6748基准测试? 您能否确认您在 C6748和 OMAPL138上运行的是相同的二进制文件? 如何使用 DSP 上的 CCS 时钟或 TSCL/TSCH 寄存器对代码进行基准测试? 您的设计是否使用与 Mity DSP 相同的时钟和 DDR 设置。

    您的代码是从外部存储器还是片上存储器运行? 如果您使用两个不同的项目来编译代码、请检查编译器设置是否相同。 如果从共享 RAM 或 DDR 运行代码,您的 DSP 高速缓存设置是什么? 如果您使用的是操作系统、请确保 GPIO 切换任务具有最高优先级、并且在某些其他 ISR 或线程完成时没有挂起。

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

    Rahul、

    高速缓存设置是问题所在。 我使用 TSCL/TSCH 寄存器对代码进行基准测试。 代码从内部 RAM 运行,我使用 JTAG 调试探针将.out 文件从 CCS 加载到 DSP 上的内部 RAM。 需要注意的是、在我通过 JTAG 加载代码之前、每个处理器都有不同的引导加载程序。

    MityDSP OMAPL138上的引导加载程序将 L1P 和 L1D 默认为高速缓存、而在 C6748上运行的引导加载程序禁用了 L1P 和 L1D 高速缓存。 我的基准测试代码未显式配置高速缓存。 明确配置 L1高速缓存后、代码在两个处理器上以相同的速度执行。

    谢谢、
    约书亚