我理解为什么需要内存屏障,但在单处理器的情况下我不明白。
即使使用 UP,我也必须处理障碍吗?每个文档都使用 SMP 而不是 UP 来解释它们。
在下面的代码中,有没有可能r2 == 0
在 a 点?
// the location 0xdeadbeef has a zero initial value
ldr r0, =0xdeadbeef
ldr r1, =0xdeadbeef
ldr r2, =1
str r2, [r0]
ldr r2, [r1]
// point a
我理解为什么需要内存屏障,但在单处理器的情况下我不明白。
即使使用 UP,我也必须处理障碍吗?每个文档都使用 SMP 而不是 UP 来解释它们。
在下面的代码中,有没有可能r2 == 0
在 a 点?
// the location 0xdeadbeef has a zero initial value
ldr r0, =0xdeadbeef
ldr r1, =0xdeadbeef
ldr r2, =1
str r2, [r0]
ldr r2, [r1]
// point a