TI中文支持网
TI专业的中文技术问题搜集分享网站

6678,多核不同步,核间缓存不一致

TI员工,您好!
我现在使用6678开发板开发程序时,遇到如下情况:
1、核1——核7之间均有一个成功标志位(定义在MSMC中)flag1——flag6,核0统一收到该标志位之后,才能将数据传输至上位机,但是在核0中观察6个标志位始终不同步,而且其中几个标志位感觉不受控制,自己在不断更改自己的值,这是怎么回事呢?

谢谢

littleWhite:

1,标志位在msmc上,core0~7直接读写的是各自的cache,没有对cache一致性进行维护

2,对标志位进行cache维护了,但是这几个flag变量被放在一个L1D  cache_line内(64byte),core维护的时候将另一个core的flag覆盖了

fei cheng3:

回复 littleWhite:

您好!我的6个flag均进行lecache维护了,而且这几个flag变量被放在六个不同的L1D  cache_line内(64byte),但是标志位始终不同步

Allen35065:

回复 fei cheng3:

关闭prefetch buffer试试,prefetch buffer通过MAR寄存器关闭,参考C66x corepac手册

赞(0)
未经允许不得转载:TI中文支持网 » 6678,多核不同步,核间缓存不一致
分享到: 更多 (0)