qakcn
学生会会长
学生会会长
  • 注册日期2008-10-31
  • 最后登录2021-01-05
  • 生日1988-8-18
  • 光玉3394颗
阅读:1366回复:11

科普第9篇——为什么32位CPU不能支持大于4GB内存?

楼主#
更多 发布于:2011-05-01 01:06
其实这个问题就是错的,32位CPU是可以访问4GB以上内存的,通过一种叫做PAE(物理地址扩展,Physical Address Extension)的技术。Windows之所以不能支持是因为微软的市场策略问题(服务器版的就支持PAE)。

这个问题其实应该问“为什么32位CPU不能直接支持大于4GB的内存?”(其实这个问题也不正确,看完下面就知道了。)

要解释这个问题,必须首先说明,什么是“32位”CPU。

首先,位(比特,bit)这个概念,再说一遍,就是指二进制数的位数。具体可以去看《科普第3篇——2、8、10、16》。

CPU里有很多寄存器,有储存指令的指令寄存器,有储存数据的数据寄存器,有储存地址的地址寄存器,还有既可以储存数据又可以储存地址的通用寄存器等等。

寄存器的作用是储存CPU的运算器所需要的或生成的数据的。寄存器的大小通常不大,前面说的32位,其实就是寄存器的大小。

早期的计算机甚至有更小的寄存器,比如16bit 甚至8bit更小(但都是2的倍数,二进制嘛)。

8bit=1B,8比特1字节,所以现在的CPU的寄存器就有32/8=4B,这么小,貌似储存不了多少数据,但是其实能表示的数已经很多了。

32位二进制数,能表示的整数就是0 ~ 232(0~4,294,967,296),或者加上正负号的话是-(216-1) ~ 216(-65535~65536)(为什么要负数要减1呢?因为有一个数是表示0的)。

表示浮点数(这里可以简单理解为就是小数)的话因就是负数 -3.40282346638528860e38 ~ -1.40129846432481707e-45,正数 1.40129846432481707e-45 ~ 3.40282346638528860e38。(什么?看不懂这种表示方法?这是科学计数法的另一种写法,-3.40282346638528860e38就是-3.40282346638528860×1038)。浮点数是把32bit的寄存器分成三部分,一部分表示整个数的正负号(1bit),一部分表示科学计数法后面的指数(8bit),一部分表示前面的尾数(23bit)。

32位对于数学计算来说确实不少,而且CPU的处理速度很快,很短的时间内就可以进行很多次计算,所以看来是足够了,但是实际处理的数据量很大,虽然CPU处理得过来,但是寄存器却放不下,所以我们需要外部的存储空间来存放这些东西,这就是内存的作用了。但是内存那么大,要知道从那么大的内存的什么地方取数据,就必须给内存的空间编地址。

而这个地址,是储存在CPU的寄存器中的,所以32位CPU的内存地址也只有32位二进制数来表示。每个地址对应着内存的8bit、也就是一字节的空间,所以32位二进制数就能表示232个一字节的空间,也就是4,294,967,296B,按照1024B=1KB,1024KB=1MB,1024MB=1GB换算一下,不就是4GB吗!(其实换算可以更简单点,因为B、KB、MB、GB之间都是相差210的,所以B和GB之间就相差210×210×210=230,232/230=22=4)

可是,地址不光是给内存用的,但计算机的其他部件也需要地址,所以虽然能编址4GB的空间,但实际用到内存上的只有3.2GB,这也就是为什么4GB内存在Windows上只能使用3.2GB的原因了。

PAE就是通过一种转换方式,来表示更多的内存地址的(比如一个地址可以住两个人,再通过名字来区分这两人)。PAE可以使用到64GB的内存。

而现在基本普及的64位CPU,也没有什么特别的,就是加大了寄存器的大小而已,所以能编址的空间就是:264B=264/230=234GB,很惊人吧!再继续1024GB=1TB,1024TB=1PB,1024PB=1EB,换算下来就是234GB/230=24=16EB!

估计我们是等不到64位的物理地址被用完的那一天了!


==========之前的文章==========
科普第1篇——计算机色彩
科普第1篇补遗——CSS颜色
科普第2篇——光盘
科普第3篇——2、8、10、16
科普第4篇——电池
科普第5篇——浏览器
科普第6篇——字符编码
科普第7篇——加密解密
科普第8篇——移动通信技术

科普番外篇1——虽然没用但了解一下也很有趣的知识
喜欢1 评分0

最新喜欢:

wudahhtwudahh...
bleen
光坂学士生
光坂学士生
  • 注册日期2010-05-28
  • 最后登录2022-02-21
  • 生日1988-12-9
  • 光玉2111颗
沙发#
发布于:2011-05-01 01:25
我来支持前辈,顺便复习一下知识的。。。
回复(0) 喜欢(0)     评分
琥珀
光坂硕士生
光坂硕士生
  • 注册日期2009-06-07
  • 最后登录2020-12-09
  • 生日1989-12-26
  • 光玉6903颗
2楼#
发布于:2011-05-01 03:28
嘛~~~没学过这东西

如果将内存和CPU融合的话,那么省下了中间他们的数据传送的时间,是不是能提高运算速率呢?哈哈
回复(0) 喜欢(0)     评分
aitushu
光坂学士生
光坂学士生
  • 注册日期2009-08-14
  • 最后登录2013-04-08
  • 生日1950-1-1
  • 光玉3352颗
3楼#
发布于:2011-05-01 04:18
教学贴是一定要支持的
回复(0) 喜欢(0)     评分
傲娇少女丶灬
学生会书记
学生会书记
  • 注册日期2010-02-16
  • 最后登录2018-02-20
  • 生日1990-9-30
  • 光玉7139颗
4楼#
发布于:2011-05-01 08:04
前几天看初音的帖子大概明白了一些 一直对硬件不太了解
回复(0) 喜欢(0)     评分
ct一剑
光坂博士生
光坂博士生
  • 注册日期2010-10-04
  • 最后登录2014-08-21
  • 生日1991-10-16
  • 光玉13939颗
5楼#
发布于:2011-05-01 10:32
额,为了营销,不开放扩展.....不过一般的家庭机的话3.2G内存够用了吧~~
回复(0) 喜欢(0)     评分
梦幻的夏
光坂学士生
光坂学士生
  • 注册日期2008-10-29
  • 最后登录2014-08-21
  • 生日1986-4-15
  • 光玉3005颗
6楼#
发布于:2011-05-01 10:45
4G内存是指一条4G的还是2+2也算的?之前我用在自己电脑上的2+2只显出了2.8G,所以我干脆只用2G了。
回复(0) 喜欢(0)     评分
qakcn
学生会会长
学生会会长
  • 注册日期2008-10-31
  • 最后登录2021-01-05
  • 生日1988-8-18
  • 光玉3394颗
7楼#
发布于:2011-05-01 19:22
回 6楼(梦幻的夏) 的帖子
内存地址的分配是由内存控制器分配的,和你插几条、怎么插没有关系
回复(0) 喜欢(0)     评分
qakcn
学生会会长
学生会会长
  • 注册日期2008-10-31
  • 最后登录2021-01-05
  • 生日1988-8-18
  • 光玉3394颗
8楼#
发布于:2011-05-01 19:53
回 2楼(琥珀) 的帖子
如果可以的话,这样当然是最好的,可是现在内存的速度不够快,相对CPU的处理速度来说很慢。

其实计算机的存储系统分那么多级(CPU一级缓存、CPU二级缓存、内存、硬盘),就是因为容量和速度的原因,CPU一级缓存最快但是无法做的很大,硬盘很大但是不够快。

硬盘已经算是外部存储器了(相对于内存——内部存储器),所以他的访问不是由CPU直接进行的,需要通过总线(就是计算机里的数据交换通道)和硬盘的控制器来进行通信、交流,所以硬盘大小并不受物理地址的限制。
回复(0) 喜欢(0)     评分
风化的羽翼
光坂硕士生
光坂硕士生
  • 注册日期2009-11-24
  • 最后登录2019-08-17
  • 生日1999-11-2
  • 光玉8577颗
9楼#
发布于:2011-05-02 10:37
谢科普,昨晚趴床上看完了(虽然没怎么懂=。=
回复(0) 喜欢(0)     评分
wwj5256
光坂基金会
光坂基金会
  • 注册日期2009-03-21
  • 最后登录2022-06-24
  • 生日1987-1-18
  • 光玉6732颗
10楼#
发布于:2011-05-03 12:46
学习了啊  记得好像是寻址空间之类的问题 具体怎么算的还真不知道.
-我小学的时候喜欢小学的女生 -我初中的时候还是喜欢小学的女生 -我高中的时候还是喜欢小学的女生 -我大学的时候还是喜欢小学的女生 -我工作的时候依然喜欢小学的女生 -现在呢正用心培养一个小学的女生
回复(0) 喜欢(0)     评分
serffyme水草~
光坂学士生
光坂学士生
  • 注册日期2008-12-11
  • 最后登录2020-04-28
  • 生日1989-11-27
  • 光玉4876颗
11楼#
发布于:2011-05-03 21:03
明白了~~现在学习也算是为了将来换电脑打基础~=w=
回复(0) 喜欢(0)     评分
游客

返回顶部