sfencedocumentation表示:



“序列化操作”是什么意思?

这是否意味着确保在sfence 之后继续执行指令之前,已完成在sfence指令之前发出的所有存储到内存指令?

最佳答案

sfence确保在程序顺序中的所有后续存储变为全局可见之前,程序顺序中的所有先前存储都变为全局可见。与您编写的内容相比,有两个区别。首先,sfence不会序列化已发行的先前存储。它会序列化所有先前的存储,无论它们是否已发行。其次,它仅对以后的所有商店进行序列化;并非以后所有的说明。这就是sfence上下文中的“序列化操作”的含义。

您仅引用了文档中的第一句话,但是每句话都很重要。

09-07 09:29