cjaizss 发表于 2008-07-18 20:20

原帖由 zhangxudong 于 2008-7-18 16:59 发表 http://linux.chinaunix.net/bbs/images/common/back.gif
用 volatile 声明变量不行吗
volatile是软件级的,CPU的cache是硬件级的,不是同一类东西

SuperZ 发表于 2008-07-18 20:56

原帖由 zhangxudong 于 2008/7/18 16:59 发表 http://linux.chinaunix.net/bbs/images/common/back.gif
用 volatile 声明变量不行吗

volatile类型和缓存没有关系,只是告诉编译器,这个变量不能使用寄存器优化。
每次读操作都要重新执行一遍内存读取过程,至于是从缓存读,还是从内存读,或者是外设寄存器,还得看虚拟地址映射到哪里,怎么映射。
当然,大部分使用volatile类型变量的时候,都是想要读外设寄存器。

scutan 发表于 2008-07-18 21:39

原帖由 zhangxudong 于 2008-7-18 16:59 发表 http://linux.chinaunix.net/bbs/images/common/back.gif
用 volatile 声明变量不行吗

可以看看这个哈:

http://bbs.chinaunix.net/viewthread.php?tid=1059006&extra=page%3D3%26amp%3Bfilter%3Ddigest

system888net 发表于 2008-07-19 14:29

原帖由 SuperZ 于 2008-7-18 20:56 发表 http://linux.chinaunix.net/bbs/images/common/back.gif


volatile类型和缓存没有关系,只是告诉编译器,这个变量不能使用寄存器优化。
每次读操作都要重新执行一遍内存读取过程,至于是从缓存读,还是从内存读,或者是外设寄存器,还得看虚拟地址映射到哪里,怎么 ...


赞同

kevinadmin 发表于 2008-07-21 15:36

kwg kwg kwg

hejinxu 发表于 2008-07-23 23:27

不懂编程但顶一下 呵呵

不懂编程但顶一下 呵呵

深愉 发表于 2009-07-22 23:07

X86的CPU内部的Cache可否锁定,不让读写时flush掉?

bluesea666 发表于 2010-05-15 14:32

学习各位大牛!

folklore 发表于 2012-05-26 20:47

回复 17# zx_wing


    if it is the truth.
then write a value & read it back,
the old wrong (invalid) value will be readed.

i think in this case you need cache shot...
页: 1 2 3 4 [5]
查看完整版本: 请教关于CPU直接读写内存的问题