我的cpuinfo文件显示我的处理器的地址大小为39位物理地址,48位虚拟地址。这让我陷入了一些困惑。英特尔i5中的地址尺寸
矿是64位机器。据我所知,这是我的机器的字大小。也就是说,它将以8字节的块形式从内存中获取数据。另外,64位机器意味着CPU可以寻址2^64字节的可寻址位置,这是很多的。所以,制造商削减了这些线路中的一部分。
这里有几个问题:
如果CPU只生成逻辑地址,那么,什么是需要具有39位物理地址大小。
当我们说CPU可以访问2^64字节时,我们是指物理内存还是虚拟内存?
我在某处读到64位机器的寄存器大小为64位,而32位机器有32位寄存器。是这样吗?
我想我很困惑自己,需要一些帮助。任何其他信息,将不胜感激。谢谢!
不,所有这些都是过于简单化。首先,你的CPU每次从内存中获取数据** **字节**(整个缓存行)。内核可以从缓存16或32字节读取/写入数据(SSE或AVX向量128b或256b)。理论上“字大小”不错,但真正的CPU有不同的宽度。 –