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.

SK-TDA4VM: MCU domain 开启双核数据一致性问题

Part Number: SK-TDA4VM
Other Parts Discussed in Thread: TDA4VM

您好,

        我们在使用TDA4VM芯片中,将MCU domain 的R5FSS 开启双核模式,将数据放在DDR中。请问我们现在发现使用write back 可以明显减少CPU 负载。但是会存在数据不一致的问题。请问双核之间共享memory的那部分数据。除了设置成No cache 不需要考虑数据不一致的问题。

想询问一下,有没有可以使用Cache,但又可以保证数据一致性的办法?

1.例如是否支持MESI协议或者MOESI协议。

2.是否有支持手动清除cache 段的函数接口。

3.block 区域除了可以设置成Cacheable,No cache 。还可以设置成别的模式吗。比如设置成outer-shareable 模式。

因为我们共享的数据比较多,且数据类型比较大。非常希望能够使用Cache 去降低CPU负载,提高读写效率。

期待您的回复,非常感谢!

  • 您好,我们已收到您的问题并升级到英文论坛寻求帮助,链接如下,如有答复将尽快回复您。谢谢!

    e2e.ti.com/.../sk-tda4vm-mcu-domain-turns-on-the-issue-of-dual-core-data-consistency

  • 您好,

    R5F Core0和 Core1 (MCU 或MAIN)不是相互关联的缓存。 没有通用的Cache,因此应使用软件高速缓存一致性(根据缓冲器/数据的方向,定期刷新并使其无效)方法。 每个 Core0和 Core1都有自己的内存保护单元(MPU),是用于高速缓存配置的模块。 

    默认情况下,两个内核之间没有数据共享,DDR 中的存储器将是共享存储器概念,您必须相应地配置两个 MPU。 请查看 TRM 中的 R5F 方框图,该方框图可以让您了解硬件架构。 

    与缓存缓冲区相比,缓存回写模式肯定会降低性能。 通常需要使用可缓存缓冲区,然后在访问完成后,根据写入或读取操作执行缓存刷新或失效。

    使用的 MPU 是标准的 ARM Cortex-R5 MPU,有关允许的各种设置的详细信息,请查看 ARM v7R TRM。