TI论坛
直播中

刘建华

7年用户 219经验值
私信 关注
[问答]

请问当定义多核共享的变量的时候是否要定义成Volatile变量?多核共享的Volatile变量是否要求程序员维护cache的一致性?

本帖最后由 一只耳朵怪 于 2018-6-25 15:08 编辑

请问当定义多核共享的变量的时候 是否要定义成Volatile变量
多核共享的Volatile变量 是否仍然要求程序员维护cache的一致性?

回帖(5)

杨娟

2018-6-25 05:48:53
您好,
对于多核同步的标志位之类变量使用volatile,并且需要定义在noncache避免维护cache一致性;
但是对于普通的多核共享数据可以定义为非volatile,根据需要可以定义在noncache or cache段。
                                                                          

举报

刘建华

2018-6-25 05:59:27
引用: zbb9612 发表于 2018-6-25 05:48
您好,
对于多核同步的标志位之类变量使用volatile,并且需要定义在noncache避免维护cache一致性;
但是对于普通的多核共享数据可以定义为非volatile,根据需要可以定义在noncache or cache段。

Hi Andy!
我指的就是多核同步标志位变量 应该放在共享内存中
你说的noncache是指的哪级哪段内存呢?  怎样指定到noncache or cache
谢谢!
举报

杨娟

2018-6-25 06:06:54
引用: YZDIC 发表于 2018-6-25 05:59
Hi Andy!
我指的就是多核同步标志位变量 应该放在共享内存中
你说的noncache是指的哪级哪段内存呢?  怎样指定到noncache or cache

您好,
将所标志位所存放的地址空间配置为noncache属性即可,可以调用CSL函数进行配置,具体可以参考csl cache相关文件。
                                                                          

举报

刘建华

2018-6-25 06:15:39
引用: zbb9612 发表于 2018-6-25 06:06
您好,
将所标志位所存放的地址空间配置为noncache属性即可,可以调用CSL函数进行配置,具体可以参考csl cache相关文件。
                                                                          

Thanks。如果不设置noncache,只要维护一致性也可以吧。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分