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.

使用L2 SRAM时的CACHE疑问,求解释



    TI的工程师你们好,我现在在使用C6670的AIF端口,为了减少总线访问冲突,我打算使用 L2 SRAM区来作为描述符供QMSS使用,现在有几个疑问:

我实际打开了L1D全部CACHE,L2 使用了512K作为L2 CACHE,剩余512K作为SRAM使用。 如果我使用L2 SRAM上的描述符, 会被CACHE到L1D上吗,我是不是还需要writeback, invalid  L1D的操作呢? 如果会被CACHE到L1D的话能不能关闭这512K SRAM的cache, 关闭的话对性能会有很大影响吗,  具体应该怎么关闭?

   谢谢各位答复.

  • L2的SRAM都会被cache到L1D或L1P。但是这个cache一致性是硬件维护的,软件不需要额外处理。

    简言之就是你直接用就可以了,也不要关闭L1或L2的cache。

  • 你好, King Wang1.

    我最近仔细学习了下 dsp cache 的文档,对cache 理解增强了许多。 但我没找到你所说的  "一致性是硬件维护的",只看到了 snoop protocol, 即 对于 L2 SRAM 硬件维护其 在 L1D 和 DMA 之间的一致性。 你指的是这个吗?

    这个也只能保证对于 DMA 是不用软件额外维护是吧。 假如我core0 访问 core2 L2 SRAM, core2 L1D 已经修改但没有写回,我从core0 上访问的是没有一致性保证的数据对把。

    谢谢你的回复。