Part Number:SK-TDA4VMOther 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负载,提高读写效率。
期待您的回复,非常感谢!
Cherry Zhou:
您好,我们已收到您的问题并升级到英文论坛寻求帮助,链接如下,如有答复将尽快回复您。谢谢!
e2e.ti.com/…/sk-tda4vm-mcu-domain-turns-on-the-issue-of-dual-core-data-consistency
,
Cherry Zhou:
您好,
R5F Core0和 Core1 (MCU 或MAIN)不是相互关联的缓存。 没有通用的Cache,因此应使用软件高速缓存一致性(根据缓冲器/数据的方向,定期刷新并使其无效)方法。 每个 Core0和 Core1都有自己的内存保护单元(MPU),是用于高速缓存配置的模块。
默认情况下,两个内核之间没有数据共享,DDR 中的存储器将是共享存储器概念,您必须相应地配置两个 MPU。 请查看 TRM 中的 R5F 方框图,该方框图可以让您了解硬件架构。
与缓存缓冲区相比,缓存回写模式肯定会降低性能。 通常需要使用可缓存缓冲区,然后在访问完成后,根据写入或读取操作执行缓存刷新或失效。
使用的 MPU 是标准的 ARM Cortex-R5 MPU,有关允许的各种设置的详细信息,请查看 ARM v7R TRM。