"64-bit operating system" "x64-based processor"字大小之间有什么关系?



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

不,这并不意味着。现代x86 CPU具有64字节的缓存线,并且可以以从1字节到32字节SIMD矢量的任意2次方宽度访问缓存,或者在具有AVX512的CPU中为64字节。另请参阅"每个程序员应该知道的关于内存的知识"中有多少仍然有效?

";单词大小";对于x86来说并不是一个真正有意义的术语;它根本不是一个面向文字的ISA。

在英特尔文档中;单词";是16位,只是为了保持与返回8086的文档的一致性。硬件中的总线和寄存器宽度与此无关。


x86-64在长模式(64位模式(下运行时具有64位整数寄存器。并且支持64位地址。(实际上是48位虚拟地址,根据硬件的不同,最多52位物理地址。为什么在x86-64中,虚拟地址比物理地址短4位(48位比52位长(?(

自32位Pentium以来,x86 CPU已经能够进行64位数据传输。为什么在x86上,自然对齐变量上的整数赋值是原子的?


相关:

  • 什么';64位机器上的QWORD大小是多少?-特别是关于x86如何不是面向单词的ISA的部分
  • 在英特尔x86-64体系结构上,机器代码指令是以小端4字节字提取的吗?x86机器代码也不是面向字的,不像大多数RISC,即使压缩指令也是一个或两个半字。或者传统上总是对齐完整的字(32位,即使对于具有64位整数寄存器的RISC也是如此。随着机器的发展,不再有一个"字大小"是所有东西的宽度,因为32位对于某些东西来说已经足够了。(

最新更新