Architecture x86中的总存储订单和写入合并(-64)

Architecture x86中的总存储订单和写入合并(-64),architecture,x86,x86-64,computer-architecture,Architecture,X86,X86 64,Computer Architecture,我正在学习TSO(总存储订单一致性模型),并了解到计算机体系结构研究人员认为Intel x86(x86-64)处理器实现了这种一致性模型 (假设这是真的,他们确实实施TSO) 这是否意味着x86(-64)英特尔处理器不(也不能)执行写合并?但在Patterson和Hennessy的书中,他们提到CoreI7确实编写了合并 我问这个问题的原因是,如果他们允许写合并,那么可能会违反TSO(写-写)。因此,英特尔处理器无法实现TSO 我在这方面犯的错误在哪里?写入合并不会违反TSO,因为它是针对连续存

我正在学习TSO(总存储订单一致性模型),并了解到计算机体系结构研究人员认为Intel x86(x86-64)处理器实现了这种一致性模型

(假设这是真的,他们确实实施TSO) 这是否意味着x86(-64)英特尔处理器不(也不能)执行写合并?但在Patterson和Hennessy的书中,他们提到CoreI7确实编写了合并

我问这个问题的原因是,如果他们允许写合并,那么可能会违反TSO(写-写)。因此,英特尔处理器无法实现TSO


我在这方面犯的错误在哪里?

写入合并不会违反TSO,因为它是针对连续存储执行的(除了对写入合并mem类型进行写入合并,该类型限制较少,但不保证正常的内存顺序),没有存储被重新排序,只是分组在一起。
还要注意,内存顺序与单独的元素(存储本身)有关,而合并只针对外部世界(较低的缓存和内存),因此我们在这里讨论的是完全不同的硬件结构

有关如何进行写合并的详细说明,请参见此处-