英特尔i5中的地址大小

时间:2016-11-19 18:03:49

标签: memory-management cpu-architecture virtual-memory

我的cpuinfo文件说我的处理器的地址大小为39位物理,48位虚拟。这让我有些困惑。

我是一台64位机器。根据我的理解,这是我的机器的字大小。也就是说,它将以8字节的块为单位从内存中获取数据。此外,64位机器意味着CPU可以寻址2 ^ 64字节可寻址位置,这是很多。因此,制造商削减了其中一些产品线。

以下是问题:

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

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

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

  4. 我想我非常困惑,需要一些帮助。关于此的任何其他信息将不胜感激。谢谢!

2 个答案:

答案 0 :(得分:2)

我可以看到为什么人们对这个董事会提出的学术问题的数量感到困惑,这些问题表明地址大小之间存在一些数学关系。

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

  

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

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

  

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

我也可以。

  

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

通常这对于通用寄存器来说是正确的,但是专用寄存器可以是不同的大小(例如,浮点,控制寄存器)

答案 1 :(得分:1)

在很多情况下,处理器不会使用所有可用位来生成地址。

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

对于i5,考虑64位地址将控制令人难以置信的17,179,869,184千兆字节的内存空间。与谷歌或国家安全局或地球上的存储相比,这个数字非常庞大。

i5设计人员将这个疯狂的数字减少到一个更易于管理的512千兆字节的物理地址空间和262,144千兆字节的虚拟地址空间。