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.

[参考译文] 从 MSRAM 预取到 L2

Guru**** 2540720 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/596214/prefetching-from-msram-to-l2

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

您好!

 

我有一些关于预取的基本问题。

目前、我在 L2存储器中有一些数据、我想将这些数据移动到 MSRAM 中。 我在‘K2 SOC memory performance.doc’中读出,如果我使用预取,并且一个16KB 的小步幅,我可以预期类似的延迟。

在 corepac‘中,我可以在第7章“扩展存储器控制器(XMC)”中读出,MARREG 中有一个位需要置位,以便为 MSRAM 启用预取。 我没有阅读过任何关于预取的其他内容。

 

我的问题如下:

1.预取的实际工作原理是什么? 当 DSP 访问可预取数据时、由于存储器区域是可预取的、在中、当处理高速缓存中的当前数据时、是否会重复读取高速缓存中的数据?

2.实际处理数据时是否需要添加其他代码行? 实际上、我本来希望出现如下情况:

 

预取数据(一些数据)

然后、当第一个数据可用时

环路

    预取(新数据)

  进程(数据)

结束循环

 

3.在高速缓存文档中,我可以找到‘Touch Assembly routine’(触摸组装例程)。 此例程的效果是否与预取相似? 这是否像我的问题2中所说的那样在某种程度上可以完成工作?

 

感谢您的 anwers。

 

 

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

    您能否指定您计划使用(或使用)哪个器件以及哪个 SDK?

    此致、
    Yordan
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Houps 很抱歉、我以为我已经指定了器件。 实际上、这适用于 Turbo 奈奎斯特(TI6618)和 Kepler (TCI6638K2K)。 我不确定该 SDK。

    Nicolas
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    大家好、这些是很难回答的问题。 通常、默认情况下、器件配置为最有效的存储器使用、而编码方面无需额外的资源。 如果您看到一个看起来可能会调整性能的寄存器、我建议使用/不使用计时代码来查看效果。

    如果您需要零 CPU 预取、则可以考虑使用多核导航器(QM +数据包 DMA)。 这可以在后台轻松地将任何大小的块从一个存储器移动到另一个存储器、以便您的数据在需要时将位于 MSMC 中。 它还可以执行收集-散射存储器移动。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、感谢您的回答。

    这是我得出的或多或少的结论! 我也曾预料到会对软件产生一些影响、但它似乎是真正的硬件管理。

    显然、我们将检查对性能的影响、以检查这是否符合我们对该特定应用的需求。

    Nicolas