如果先store与后load的地址相同,也就是软件经常写一个地址然后读回来看是不是ok的情况,是不是可以通过volatile定义变量使编译器在编译的时候插入fence指令保证cpu确实是去memory里读了?
如果先store与后load的地址相同,也就是软件经常写一个地址然后读回来看是不是ok的情况,是不是可以通过volatile定义变量使编译器在编译的时候插入fence指令保证cpu确实是去memory里读了?
对于Load store指令而言,如果两条指令之间存在 address dependency(地址相同)的情况,CPU硬件逻辑会自动保证他们in-order执行。