您好!
我有一些关于预取的基本问题。
目前、我在 L2存储器中有一些数据、我想将这些数据移动到 MSRAM 中。 我在‘K2 SOC memory performance.doc’中读出,如果我使用预取,并且一个16KB 的小步幅,我可以预期类似的延迟。
在 corepac‘中,我可以在第7章“扩展存储器控制器(XMC)”中读出,MARREG 中有一个位需要置位,以便为 MSRAM 启用预取。 我没有阅读过任何关于预取的其他内容。
我的问题如下:
1.预取的实际工作原理是什么? 当 DSP 访问可预取数据时、由于存储器区域是可预取的、在中、当处理高速缓存中的当前数据时、是否会重复读取高速缓存中的数据?
2.实际处理数据时是否需要添加其他代码行? 实际上、我本来希望出现如下情况:
预取数据(一些数据)
然后、当第一个数据可用时
环路
预取(新数据)
进程(数据)
结束循环
3.在高速缓存文档中,我可以找到‘Touch Assembly routine’(触摸组装例程)。 此例程的效果是否与预取相似? 这是否像我的问题2中所说的那样在某种程度上可以完成工作?
感谢您的 anwers。