内存排序。两个处理器。

时间:2016-07-12 14:39:20

标签: memory x86 intel

enter image description here

此示例来自64-IA-32架构软件开发人员手册。

enter image description here 我无法理解为什么其他处理器必须可以看到CPU#0的存储?在那个具体的例子中(当r1 = 1,r2 = 1时)我同意显然CPU#0的存储必须首先退出 - 我的意思是1值必须在内存/缓存中(实际上不在存储缓冲区中) )。

但是一般情况呢?是否可能出现以下情况:

CPU#0已存储:mov [_x], 1但存储在CPU#0的store buffer中,然后加载了CPU#1:mov r1, [_x]实际上r1相等到0?

0 个答案:

没有答案