2016-11-19 192 views
0

我的cpuinfo文件显示我的处理器的地址大小为39位物理地址,48位虚拟地址。这让我陷入了一些困惑。英特尔i5中的地址尺寸

矿是64位机器。据我所知,这是我的机器的字大小。也就是说,它将以8字节的块形式从内存中获取数据。另外,64位机器意味着CPU可以寻址2^64字节的可寻址位置,这是很多的。所以,制造商削减了这些线路中的一部分。

这里有几个问题:

  1. 如果CPU只生成逻辑地址,那么,什么是需要具有39位物理地址大小。

  2. 当我们说CPU可以访问2^64字节时,我们是指物理内存还是虚拟内存?

  3. 我在某处读到64位机器的寄存器大小为64位,而32位机器有32位寄存器。是这样吗?

我想我很困惑自己,需要一些帮助。任何其他信息,将不胜感激。谢谢!

+0

不,所有这些都是过于简单化。首先,你的CPU每次从内存中获取数据** **字节**(整个缓存行)。内核可以从缓存16或32字节读取/写入数据(SSE或AVX向量128b或256b)。理论上“字大小”不错,但真正的CPU有不同的宽度。 –

回答

2

我明白了为什么人们不解的原因是考虑到董事会提出的学术问题的数量表明地址大小之间存在某种数学关系。

处理器字大小,物理地址大小,逻辑地址大小和总线大小在一定程度上都是独立的。

如果CPU只生成逻辑地址,那么需要39位物理地址大小。

CPU将逻辑地址转换为物理地址。

当我们说CPU可以访问2^64字节时,我们是指物理内存还是虚拟内存?

我可能是。

我在某处读取64位机器的寄存器大小为64位,而32位机器有32位寄存器。是这样吗?

一般来说,这是通用寄存器,但专用寄存器真,则可能是一个不同的大小(例如,浮点,控制寄存器)

1

已经有许多场合,当处理器不使用所有可用的位为地址的生成。

在古代,旧的MC68000有32位寄存器,但只有一个24位地址总线。

对于i5,认为64位地址将控制17,179,869,184千兆字节的令人难以置信的内存空间。与谷歌或国家安全局或地球上的存储相比,这个数目惊人的巨大。i5设计师将这个疯狂的数字降低到更易管理的512千兆字节的物理地址空间和262,144千兆字节的虚拟地址空间。

相关问题