如果 mfence 被分隔成两个 fence 怎么办
How if mfence is separated as two fences
如何将 mfence
分隔为 afence
和 bfence
,afence
用于 load & store
重新排序,而 bfence
用于 store & load
重新排序。会发生什么?
我假设上下文是 x86。除了加载-存储和存储-加载重新排序之外,mfence
还可以防止存储-存储重新排序和加载-加载重新排序。虽然 x86 上的普通商店无法重新排序,但“non-temporal”商店可以重新排序。
如何将 mfence
分隔为 afence
和 bfence
,afence
用于 load & store
重新排序,而 bfence
用于 store & load
重新排序。会发生什么?
我假设上下文是 x86。除了加载-存储和存储-加载重新排序之外,mfence
还可以防止存储-存储重新排序和加载-加载重新排序。虽然 x86 上的普通商店无法重新排序,但“non-temporal”商店可以重新排序。