Mur*_*mes 1 64-bit operating-system 32-bit x86-64 cpu-architecture
我想知道,64 位操作系统和基于 x64 的处理器是否意味着字大小(即处理器和物理内存之间的内存传输大小)是 64 位?如果操作系统是 32 位且处理器为 x64 呢?那么基于 x86 的处理器呢?这两个规范(XX 位操作系统和基于 xXX 的处理器)与硬件中的实际字长有什么关系?
不,不是那个意思。现代 x86 CPU 具有 64 字节高速缓存线,并且可以访问任何 2 次幂宽度的高速缓存,从 1 字节到 32 字节 SIMD 向量,或在带有 AVX512 的 CPU 中为 64 字节。另请参阅每个程序员应该了解的关于内存的内容?
“字大小”对于 x86 来说并不是一个真正有意义的术语;它根本不是面向字的ISA。
在英特尔文档中,“字”是 16 位,只是为了与追溯到 8086 的文档保持一致。硬件中的总线和寄存器宽度与此无关。
x86-64 在长模式(64 位模式)下运行时有 64 位整数寄存器。并且支持64位地址。(实际上是 48 位虚拟地址,最多 52 位物理地址取决于硬件,因为页表格式。 为什么在 64 位中虚拟地址与物理地址(52 位长)相比短 4 位(48 位长) ? )
x86 CPU 从 32 位 Pentium 开始就能够进行 64 位数据传输。 为什么在 x86 上自然对齐的变量原子上的整数赋值是原子的?
| 归档时间: | 
 | 
| 查看次数: | 945 次 | 
| 最近记录: |