4G内存在CPU、BIOS和操作系统之间跌跌撞撞。

4G内存与CPU、BIOS和操作系统捆绑在一起,因为内存价格继续下降。目前,所有的内存厂商都推出了单2GB DDR2 800内存,这给人们,价格够便宜,最大的感觉。很多用户买两2GB内存直接,要使用双通道,可以带回家去看,原来的4GB内存容量确定了3.2gb.by检查,发现那是记忆本身没有问题。什么是吞噬你的记忆这就是我们要给你吞下这issue.800mb记忆清晰视野的问题


你可能会发现一个很奇怪的现象,在我们的Windows XP和Vista中,安装4GB内存,显示只有3.2gb或更少,有超过800 MB的内存无缘无故。消失;它让人感觉很混乱,主板和操作系统无法使用4GB内存,问题的根源在于32的x86架构的32位x86架构意味着个人电脑的地址总线是32位,和CPU,内存控制器和操作系统都是由32位地址总线,32位地址总线可以支持的内存地址代码为4096MB,即4GB地址代码,可以编译4GB地址。4GB的地址码可以被分配到4GB内存,4GB的地址码不能完全分配给主板上安装的物理内存。因为有个人电脑需要地址代码很多设备,所以T帽子CPU可以找到他们的地址代码的基础上。同时,CPU和这些设备需要暂时存放数据的存储器和寄存器,-,-,和这些寄存器也需要地址码。例如,硬盘控制器、软盘控制器、PCI总线控制器管理PCI卡插在PCI插槽,PCI-E总线控制器和PCI-E显卡。他们都有登记,都需要分配给他们的地址码,地址是由系统分配的,用户不知道计算机的使用。这样,当我们插在电脑总共4GB内存,一些记忆是不分配的地址代码不能使用。


深入了解4GB内存的难题,我们必须找出构成要素之间的关系和4GB内存。所涉及的组件有CPU、内存控制器(北桥的英特尔平台集成、CPU集成的AMD平台)和操作系统。


CPU、内存控制器、BIOS可以支持4GB


CPU可以支持4GB内存


从386岁开始,CPU的地址总线是32位,和4GB的地址代码可以访问。从奔腾II奔腾IV,64gb的地址码已被访问的理论。奔腾IV后来支持64位架构的酷睿2,地址总线已经升级到64位地址,编码一个64位地址总线可以访问数百亿GB的。事实上,不到这么多的地址总线,42位一般是足够的,和地址编码可以数4tb,CPU兼容的64位架构的地址总线降低到36位时使用32位的系统,所以它的CPU支持4GB内存是没有问题的。


内存控制器的地址总线


存储器控制器直接与安装在主板上的存储器相关联,存储器控制器管理存储器,并通过地址总线与CPU通信。内存控制器的地址总线决定可支持的内存地址的数目。同时,内存控制器的实际连接地址线决定了可支持的内存容量,英特尔把内存控制器放在北桥,AMD把内存控制器放在CPU中,所以我们应该分别介绍它们。


1、英特尔内存控制器


因为英特尔的内存控制器在北桥,内存控制器的改变是北桥密切相关。从p965,内存控制器是36位地址总线,可以编译64gb地址码。除了系统的地址码,分配给主板的4GB内存是远远不够的。所以,从p965英特尔北桥支持4GB内存,没有问题。


2、AMD内存控制器


AMD开始整合内存控制器为CPU CPU(Athlon64),支持64位架构,内存控制器的地址总线是64位架构,使用40位的支持1000gb的地址编码,AMD从Athlon64,和内存控制器支持4GB内存以及。


BIOS可以支持4GB内存BIOS不是主板制造商自身的发展,在一些公司如AMI BIOS的版权控制。他们共同开发的BIOS与英特尔和AMD。所以当英特尔和AMD提出映射解决4GB内存问题的方法,AMI和其他厂商将开发相应的BIOS。早期的BIOS会显示映射选项,用户可以打开或关闭。现在是默认开启,不再显示此设置。因此可以说,当前的BIOS,支持4GB内存是没有问题的。


4GB内存原罪:x86架构;


CPU和内存控制器从硬件4GB内存的使用提供安全保障。但是,4GB内存的问题还没有得到解决,障碍来自系统的个人电脑标准mdash;mdash;32位x86架构。早在8086时代,内存是焊接在主板上,一般也就几KB的内存。IBM的规定,640kb地址是最高端,地址分配给BIOS,然后有一个地址分配给显示装置和我/系统的输出设备,计算机的飞速发展迅速突破了640kb超过1MB。然而,在640kb地址分配不能被改变,因为CPU读取BIOS和DOS操作系统下从640KB,640KB的显示设备上的地址,我 / O设备地址,与显示器的通信和我/ O设备和数据交换。如果是变了,以前的所有的计算机将被抛弃。所以你必须找到一种方式不会改变640kb地址分配,你可以用640kb到1MB内存,地址分配规则不变,使用存储器地址映射技术,从640kb超过500 KB 640kb-1mb空间的地址映射,映射的任务是负责BIOS。操作系统是负责两个DOS命令,himem.sys和emm386.sys,那些熟悉DOS会知道两个命令的映射,你可以让DOS软件使用更多的内存。内存发展到4MB,16MB,所有通过内存映射技术的解决方案。现在,只要个人电脑兼容DOS,是必须遵守的640kb地址的内存分配规则。







在Pentium II的时候,SDRAM的存储容量达到128MB。当时的地址总线为32位,地址空间最大4GB,当32位x86架构已经完全形成。除了保留以前的内存地址分配规则,BIOS地址被映射到地址空间的顶部mdash;mdash;4GB。这815个时代的DDR内存,915个时代的DDR2内存,内存单最大容量是512MB,该系统采用不超过2GB,4GB内存问题没有出现。


当1gb的DDR2内存出现在945时,对内存控制器的设计师开始考虑主板安装4GB的内存,但在当时,很少有用户使用4GB内存和4GB内存的问题还不突出。


事实上,在915期间,英特尔针对32位x86架构的硬件支持4GB内存的问题。当p965正式入驻,解决方案仍然是内存地址映射到。该方案是不是新的,和32位x86架构的服务器系统已经使用,只有被移植到个人电脑。


从64GB的地址空间的顶部开始,地图的我/ PCI设备的地址,然后地图3GB到4GB的地址占用系统。从3GB 4GB的地址编码是留给安装在主板上的物理内存,你可以使用所有的内存,安装。


我们为什么要使用地图因为内存地址必须是连续的,不能断开。系统的地址空间(也叫逻辑地址)可以是不连续的。就像我们给门牌号码的街道两旁,编程(相当于逻辑地址)可以规划分。号码牌到这条街的房子必须是连续的,这是真正的地址,以便人们可以在地址找房子。


当然,这映射工作是由BIOS。支持4GB内存,它还必须支持BIOS。


系统所占用的4GB的地址返回的内存地址重映射的物理内存,这是32位x86 architecture.amd规则也采用这个规则,虽然它的内存控制器集成在CPU中。也正是由于内存控制器集成到CPU和内存控制器不再包含在北桥。当主板厂商开发的AMD平台的主板,它将设计的内存容量由主板根据市场地位。有支持2GB,还支持4GB,8GB,甚至更多。所以对AMD平台的4GB的问题也需要看看主板。


操作系统是罪魁祸首;


操作系统管理和使用物理内存,因此在操作系统内也必须有一个逻辑(虚拟)系统中的地址,和所有的内存地址在主板(包括记忆,我 / O设备,BIOS)对应于一个类似总线结构;32位操作系统。基于32位地址总线,而设计的32位地址登记。因此,它只能管理4GB的地址,删除系统的职业,并不能完全使用4GB内存,32位操作系统的个人计算机不支持4GB内存,即使是Vista SP1的Vista SP1的32。32是一个比XP SP3和32更先进,它可以在系统属性中你是多么的安装说明。


32位的Vista SP1已经能够识别4GB内存的顺利进行,但在任务管理器中可以看到系统的实际内存小于4GB。


所以,操作系统可以使用和支持4GB内存第一种是64位操作系统,因为64位操作系统是由64位地址总线设计的,例如,Windows XP 64,Vista 64,第二个是具有物理地址扩展功能和地址寄存器大于32位的服务器操作系统。但一些服务器操作系统不支持4GB的物理地址扩展的32位地址登记。


最后:


我们可以看到,主板芯片组、内存控制器不再是吞噬我们的记忆的主要原因。罪魁祸首是32操作系统我们使用。虽然目前Vista SP1已经能够识别完整的4GB内存,实际内存仍不能像以前的一样,3GB。还是谈谈4GB内存的普及还为时过早。另一方面,一些内存厂商已经推出了三个组合的1GB内存组合,避免内存的浪费。这也是一个非常贴心的设计。