32位操作系统为何只支持4G内存

1.疑惑

之前上网搜索32位cpu最大支持内存是多少时,大部分会提到一个公式2^32=4G,但是和我当时理解的不太一样,当时我认为32位的cpu就是cpu和内存之间有32根数据线,那么就有2^32个不相等的数,每一个数都是有32位的二进制数。又因为8bit = 1byte,所以每一个数就是4byte。最后的公式就是2^32*4 (byte) = 16(G)。

 2.了解内存的物理机制

后来我在书中了解到了内存的实际结构,认识到了我想法的错误。

内存实际上是一种名为内存 IC 的电子元件。虽然内存 IC 包括 DRAM、SRAM、ROM1
 等多种形式,但从外部来看,其基本机制都是一样的。内存 IC
 中有电源、地址信号、数据信号、控制信号等用于输入输出的大量引脚(IC 的引脚),通过为其指定地址(address),来进行数据的读写。

那么,这个内存 IC 中能存储多少数据呢?数据信号引脚有 D0~D7 共八个,表示一次可以输入输出 8 位(= 1 字节)的数据。此外,地址信号引脚有 A0~A9 共十个,表示可以指定 0000000000~1111111111 共 1024 个地址。32位的cpu会搭配32个地址信号引脚的内存,也就是2^32个地址。而地址用来表示数据的存储场所,因此我们可以得出这个内存 IC 中可以存储 1024 个 1 字节的数据。因为 1024 = 1K ,所以该内存 IC 的容量就是 1KB。
 在计算机领域,大写字母 K 表示的并不是 1000,而是 2 的 10 次幂的结果 1024。1000 通常用小写 k 来表示。
 

  3.总结

通过上述了解,cpu是通过地址来处理数据的。cpu和内存连接的不单单只有数据线,还有地址线。32位cpu的32根线是地址线,而数据线只有8根,每个数据有8bit,也就是1byte。每一个地址代表一个数据。一共有2^32个地址,那么就有2^32 (byte) = 2^22 (KB) = 2^12 (MB) = 2^2 (GB)。

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值