免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: 南海一钓叟
打印 上一主题 下一主题

那为大侠给俺讲讲cache和volatie变量的关系 [复制链接]

论坛徽章:
0
11 [报告]
发表于 2008-02-29 15:37 |只看该作者
真是受益匪浅啊!!!!

论坛徽章:
0
12 [报告]
发表于 2008-02-29 15:41 |只看该作者
原帖由 zx_wing 于 2008-2-29 15:32 发表

这个其实和volatie没有关系,不理解就算了,这个是前端总线怎么在多CPU情况下如何保证内存一致性的方法。
我说这个主要是想说明volatie和cache是没有关系的。

如果volatie可以指定编译器执行内存同步(也 ...

你用一台安腾的机器试试看就知道了,或者用google搜索load acquire/store release

论坛徽章:
0
13 [报告]
发表于 2008-02-29 15:46 |只看该作者
原帖由 tinywind 于 2008-2-28 23:41 发表

你用一台安腾的机器试试看就知道了,或者用google搜索load acquire/store release

你们讨论的应该不是一个问题。。。我估计你说的是 memory fence...这个与volatile应该是没什么关系的。。。

论坛徽章:
0
14 [报告]
发表于 2008-02-29 15:54 |只看该作者
volatie 只是编译器优化功能的关键字

论坛徽章:
0
15 [报告]
发表于 2008-02-29 16:02 |只看该作者
原帖由 tinywind 于 2008-2-29 15:41 发表

你用一台安腾的机器试试看就知道了,或者用google搜索load acquire/store release

呵呵,正好问到我了。
IA64是我最熟悉的架构。
嘿嘿,我知道兄台说的是ld.acq和st.rel吧。
是,IA64是这样实现的,它本来就有这样的指令可以保证。
我没想到论坛上有用IA64的,所以没有提这个。
但实际上volatie确实和cache没有任何关系,它本意只是从内存取值。而从内存取值,就涉及到了cache同步而已。只不过正好IA64有这样的指令,编译器用来实现了volatie而已,并非volatie指定编译这样做。

[ 本帖最后由 zx_wing 于 2008-2-29 16:04 编辑 ]

论坛徽章:
0
16 [报告]
发表于 2008-02-29 16:03 |只看该作者
原帖由 mingyanguo 于 2008-2-29 15:46 发表

你们讨论的应该不是一个问题。。。我估计你说的是 memory fence...这个与volatile应该是没什么关系的。。。

呵呵,IA64比较特殊,正好用于实现volatie的指令本身就是用来ord accessing的,所以tinywind 就提到这个了。

论坛徽章:
0
17 [报告]
发表于 2008-02-29 16:07 |只看该作者
原帖由 zx_wing 于 2008-2-29 00:03 发表

呵呵,IA64比较特殊,正好用于实现volatie的指令本身就是用来ord accessing的,所以tinywind 就提到这个了。

噢,多谢。不了解这个。

论坛徽章:
0
18 [报告]
发表于 2008-02-29 16:13 |只看该作者
还是CU上面高手多啊,在其他几个坛子提了半天,都没有几个让我明白的答案,以后就觉得泡CU了

论坛徽章:
0
19 [报告]
发表于 2008-02-29 16:14 |只看该作者
volatile变量的使用,就是说编译器确保变量和内存是同步的
而是内存与CPU的cache对于这个“同步的”是不透明的,这也就是IA64需要这样的指令来实现volatile(IA32就不需也没有显示的指令),因为不使用这样的指令就不是volatile的了
编译器知道cache这个东西,在实现volatile的时候。

对不?

论坛徽章:
0
20 [报告]
发表于 2008-02-29 16:15 |只看该作者
还是CU上面高手多啊,在几个坛子里面发了都没有几个让我明白的回答,以后决定就泡CU了
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP