“64 位操作系统”,"x64-based processor" 与字长有什么关系?

What is the relationship between "64-bit operating system", "x64-based processor" to word size?

我想知道,64 位操作系统和基于 x64 的处理器是否意味着字大小(即处理器和物理内存之间的内存传输大小)是 64 位?如果操作系统是 32 位且处理器是 x64 怎么办?那么基于 x86 的处理器呢?这两个规范(XX 位操作系统和基于 xXX 的处理器)与硬件中的实际字长有什么关系?

不,不是那个意思。现代 x86 CPU 具有 64 字节缓存线,并且可以访问从 1 字节到 32 字节 SIMD 向量的任何 2 次方宽度的缓存,或者在具有 AVX512 的 CPU 中为 64 字节。另见 What Every Programmer Should Know About Memory?

"word size" 对于 x86 来说并不是一个有意义的术语;它根本不是面向单词的 ISA。

在 Intel 文档中,a "word" 是 16 位,只是为了与追溯到 8086 的文档保持一致。硬件中的总线和寄存器宽度与此无关。


x86-64 在长模式(64 位模式)下 运行 时具有 64 位整数寄存器。并支持64位地址。 (实际上是 48 位虚拟地址,最多 52 位物理地址,具体取决于硬件,因为页面 table 格式。

自 32 位 Pentium 以来的 x86 CPU 已经能够进行 64 位数据传输。