32位cpu:它可以使用多少内存?

时间:2016-12-19 09:18:27

标签: memory cpu bit ram

现在我知道这个问题已经被问过很多次但是我并不想知道32位处理器在理论上和实际上都无法解决多少内存。 只是快速抬头,我来自土木工程背景,所以我还在学习计算机科学;对我来说,衡量单位也是一个大问题,这实际上是我的问题:

现在我知道你可以通过做2 ^ 32(或64)来计算cpu可以使用多少内存,在这种情况下你得到4.294.967.296位。 现在我知道(或者我想我知道)内存是以字节为单位测量的,所以为了找出cpu可以使用多少字节的内存,我将除以4.294.967.296/8,得到536.870.912字节。 然后你除以536.870.912 / 1024,你得到524.288千字节。 然后你划分524.288 / 1024,你得到512兆字节。 然后你划分512/1024,你得到0.5千兆字节,这是......不太好。

现在我注意到如果你在开始时没有除以8,那么你将得到4千兆位;所以我的问题是:ram是以位还是字节来衡量的。 如果是它的话,那么cpu地址位和RAM容量之间的关系是什么?

编辑:嘿,我设法理解计量单位是如何运作的。基本上你有从0x00000000到0xffffffff的4.294.967.296地址,每个地址代表4个字节的数据。那么你除以1024得到4.194.304千字节,4.096兆字节和4千兆字节。对不起,花了很长时间,感谢大家的反馈。

3 个答案:

答案 0 :(得分:0)

32位CPU具有32位地址寄存器,最多可以寻址4GB内存(字节不是位)。但也有段寄存器。每个段最多可以有4GB内存。 64K段* 4GB =太字节。实际上,任何操作系统都无法做到这一点,例如: Windows 7不使用多个段,最大值为4GB。

答案 1 :(得分:-1)

我曾经拥有一个core2 duo Intel处理器,并且在我的机器上安装了2 GB RAM,我安装了另外一台4 GB的RAM,但是Windows无法使用完全增加的空间,所有可用的RAM都是2.9 GB。 usable RAM with 32 bit processor

答案 2 :(得分:-1)

内存由许多可读写的项目组成,称为 words 每个项目都有一个唯一的编号,称为地址

CPU具有固定数量的位/引脚来表示地址 一位可以显示地址0和1.
两位代表最多00,01,10,11 三位代表......你得到了它。

每个位都有两个值,每个位独立于其他位,因此每次添加一个位时,您的值都会加倍(只需取出所有旧值并在它们前面加上0,再次使用a 1,你得到旧值的两倍。) 所以 n 位是2 n 可能的值,2 n 可能的

如果CPU最多有这些位数来表示地址(罪魁祸首:寄存器的大小不必与地址的位数相匹配.32位CPU可以有36位例如地址)它最多可以访问那么多的内存。

内存字可以是任何非零大小。从字面上看,任何尺寸。 包括1位或14位或8位 标记的最扩散的体系结构x86使用1字节的字(因此,32位地址可以访问2 32 = 4GiB),但这绝不是一般规则。