内存
目录
在计算机的组成结构中,有一个很重要的部分,就是存储器。存储器是用来存储程序和数据的部件,对于计算机来说,有了存储器,才有记忆功能,才能保证正常工作。存储器的种类很多,按其用途可分为主存储器和辅助存储器,主存储器又称内存储器(简称内存,港台称之为记忆体)。
内存又称主存,是CPU能直接寻址的存储空间,由半导体器件制成。内存的特点是存取速率快。内存是电脑中的主要部件,它是相对于外存而言的。我们平常使用的程序,如Windows操作系统、打字软件、游戏软件等,一般都是安装在硬盘等外存上的,但仅此是不能使用其功能的,必须把它们调入内存中运行,才能真正使用其功能,我们平时输入一段文字,或玩一个游戏,其实都是在内存中进行的。就好比在一个书房里,存放书籍的书架和书柜相当于电脑的外存,而我们工作的办公桌就是内存。通常我们把要永久保存的、大量的数据存储在外存上,而把一些临时的或少量的数据和程序放在内存上,当然内存的好坏会直接影响电脑的运行速度。
内存就是暂时存储程序以及数据的地方,比如当我们在使用WPS处理文稿时,当你在键盘上敲入字符时,它就被存入内存中,当你选择存盘时,内存中的数据才会被存入硬(磁)盘。在进一步理解它之前,还应认识一下它的物理概念。
内存一般采用半导体存储单元,包括随机存储器(RAM),只读存储器(ROM),以及高速缓存(CACHE)。只不过因为RAM是其中最重要的存储器。(synchronous)SDRAM同步动态随机存取存储器:SDRAM为168脚,这是目前PENTIUM及以上机型使用的内存。SDRAM将CPU与RAM通过一个相同的时钟锁在一起,使CPU和RAM能够共享一个时钟周期,以相同的速度同步工作,每一个时钟脉冲的上升沿便开始传递数据,速度比EDO内存提高50%。DDR(DOUBLEDATARATE)RAM:SDRAM的更新换代产品,他允许在时钟脉冲的上升沿和下降沿传输数据,这样不需要提高时钟的频率就能加倍提高SDRAM的速度。
这里需要明确的是,我们讨论的不同内存的概念是建立在寻址空间上的。IBM推出的第一台PC机采用的CPU是8088芯片,它只有20根地址线,也就是说,它的地址空间是1MB。
PC机的设计师将1MB中的低端640KB用作RAM,供DOS及应用程序使用,高端的384KB则保留给ROM、视频适配卡等系统使用。从此,这个界限便被确定了下来并且沿用至今。低端的640KB就被称为常规内存即PC机的基本RAM区。保留内存中的低128KB是显示缓冲区,高64KB是系统BIOS(基本输入/输出系统)空间,其余192KB空间留用。从对应的物理存储器来看,基本内存区只使用了512KB芯片,占用0000至7FFFF这512KB地址。显示内存区虽有128KB空间,但对单色显示器(MDA卡)只需4KB就足够了,因此只安装4KB的物理存储器芯片,占用了B0000至B0FFF这4KB的空间,如果使用彩色显示器(CGA卡)需要安装16KB的物理存储器,占用B8000至BBFFF这16KB的空间,可见实际使用的地址范围都小于允许使用的地址空间。
在当时(1980年末至1981年初)这么“大”容量的内存对PC机使用者来说似乎已经足够了,但是随着程序的不断增大,图象和声音的不断丰富,以及能访问更大内存空间的新型CPU相继出现,最初的PC机和MS-DOS设计的局限性变得越来越明显。
到1984年,即286被普遍接受不久,人们越来越认识到640KB的限制已成为大型程序的障碍,这时,Intel和Lotus,这两家硬、软件的杰出代表,联手制定了一个由硬件和软件相结合的方案,此方法使所有PC机存取640KB以上RAM成为可能。而Microsoft刚推出Windows不久,对内存空间的要求也很高,因此它也及时加入了该行列。
在1985年初,Lotus、Intel和Microsoft三家共同定义了LIM-EMS,即扩充内存规范,通常称EMS为扩充内存。当时,EMS需要一个安装在I/O槽口的内存扩充卡和一个称为EMS的扩充内存管理程序方可使用。但是I/O插槽的地址线只有24位(ISA总线),这对于386以上档次的32位机是不能适应的。所以,现在已很少使用内存扩充卡。现在微机中的扩充内存通常是用软件如DOS中的EMM386把扩展内存模拟或扩充内存来使用。所以,扩充内存和扩展内存的区别并不在于其物理存储器的位置,而在于使用什么方法来读写它。下面将作进一步介绍。
前面已经说过扩充存储器也可以由扩展存储器模拟转换而成。EMS的原理和XMS不同,它采用了页帧方式。页帧是在1MB空间中指定一块64KB空间(通常在保留内存区内,但其物理存储器来自扩展存储器),分为4页,每页16KB。EMS存储器也按16KB分页,每次可交换4页内容,以此方式可访问全部EMS存储器。符合EMS的驱动程序很多,常用的有EMM386.EXE、QEMM、TurboEMS、386MAX等。DOS和Windows中都提供了EMM386.EXE。
我们知道,286有24位地址线,它可寻址16MB的地址空间,而386有32位地址线,它可寻址高达4GB的地址空间,为了区别起见,我们把1MB以上的地址空间称为扩展内存XMS(eXtendmemory)。
在386以上档次的微机中,有两种存储器工作方式,一种称为实地址方式或实方式,另一种称为保护方式。在实方式下,物理地址仍使用20位,所以最大寻址空间为1MB,以便与8086兼容。保护方式采用32位物理地址,寻址范围可达4GB。DOS系统在实方式下工作,它管理的内存空间仍为1MB,因此它不能直接使用扩展存储器。为此,Lotus、Intel、AST及Microsoft公司建立了MS-DOS下扩展内存的使用标准,即扩展内存规范XMS。我们常在Config.sys文件中看到的Himem.sys就是管理扩展内存的驱动程序。
扩展内存管理规范的出现迟于扩充内存管理规范。
为了解释上位内存的概念,我们还得回过头看看保留内存区。保留内存区是指640KB~1024KB(共384KB)区域。这部分区域在PC诞生之初就明确是保留给系统使用的,用户程序无法插足。但这部分空间并没有充分使用,因此大家都想对剩余的部分打主意,分一块地址空间(注意:是地址空间,而不是物理存储器)来使用。于是就得到了又一块内存区域UMB。
UMB(UpperMemoryBlocks)称为上位内存或上位内存块。它是由挤占保留内存中剩余未用的空间而产生的,它的物理存储器仍然取自物理的扩展存储器,它的管理驱动程序是EMS驱动程序。
内存主频和CPU主频一样,习惯上被用来表示内存的速度,它代表着该内存所能达到的最高工作频率。内存主频是以MHz(兆赫)为单位来计量的。内存主频越高在一定程度上代表着内存所能达到的速度越快。内存主频决定着该内存最高能在什么样的频率正常工作。目前较为主流的内存频率是800MHz的DDR2内存,以及一些内存频率更高的DDR3内存。
大家知道,计算机系统的时钟速度是以频率来衡量的。晶体振荡器控制着时钟速度,在石英晶片上加上电压,其就以正弦波的形式震动起来,这一震动可以通过晶片的形变和大小记录下来。晶体的震动以正弦调和变化的电流的形式表现出来,这一变化的电流就是时钟信号。而内存本身并不具备晶体振荡器,因此内存工作时的时钟信号是由主板芯片组的北桥或直接由主板的时钟发生器提供的,也就是说内存无法决定自身的工作频率,其实际工作频率是由主板来决定的。
DDR内存和DDR2内存的频率可以用工作频率和等效频率两种方式表示,工作频率是内存颗粒实际的工作频率,但是由于DDR内存可以在脉冲的上升和下降沿都传输数据,因此传输数据的等效频率是工作频率的两倍;而DDR2内存每个时钟能够以四倍于工作频率的速度读/写数据,因此传输数据的等效频率是工作频率的四倍。例如DDR200/266/333/400的工作频率分别是100/133/166/200MHz,而等效频率分别是200/266/333/400MHz;DDR2400/533/667/800的工作频率分别是100/133/166/200MHz,而等效频率分别是400/533/667/800MHz。
在计算机诞生初期并不存在内存条的概念,最早的内存是以磁芯的形式排列在线路上,每个磁芯与晶体管组成的一个双稳态电路作为一比特(BIT)的存储器,每一比特都要有玉米粒大小,可以想象一间的机房只能装下不超过百k字节左右的容量。后来才出线现了焊接在主板上集成内存芯片,以内存芯片的形式为计算机的运算提供直接支持。那时的内存芯片容量都特别小,最常见的莫过于256K×1bit、1M×4bit,虽然如此,但这相对于那时的运算任务来说却已经绰绰有余了。
内存芯片的状态一直沿用到286初期,鉴于它存在着无法拆卸更换的弊病,这对于计算机的发展造成了现实的阻碍。有鉴于此,内存条便应运而生了。将内存芯片焊接到事先设计好的印刷线路板上,而电脑主板上也改用内存插槽。这样就把内存难以安装和更换的问题彻底解决了。
在80286主板发布之前,内存并没有被世人所重视,这个时候的内存是直接固化在主板上,而且容量只有64~256KB,对于当时PC所运行的工作程序来说,这种内存的性能以及容量足以满足当时软件程序的处理需要。不过随着软件程序和新一代80286硬件平台的出现,程序和硬件对内存性能提出了更高要求,为了提高速度并扩大容量,内存必须以独立的封装形式出现,因而诞生了“内存条”概念。
在80286主板刚推出的时候,内存条采用了SIMM(SingleIn-lineMemoryModules,单边接触内存模组)接口,容量为30pin、256kb,必须是由8片数据位和1片校验位组成1个bank,正因如此,我们见到的30pinSIMM一般是四条一起使用。自1982年PC进入民用市场一直到现在,搭配80286处理器的30pinSIMM内存是内存领域的开山鼻祖。
随后,在1988~1990年当中,PC技术迎来另一个发展高峰,也就是386和486时代,此时CPU已经向16bit发展,所以30pinSIMM内存再也无法满足需求,其较低的内存带宽已经成为急待解决的瓶颈,所以此时72pinSIMM内存出现了,72pinSIMM支持32bit快速页模式内存,内存带宽得以大幅度提升。72pinSIMM内存单条容量一般为512KB~2MB,而且仅要求两条同时使用,由于其与30pinSIMM内存无法兼容,因此这个时候PC业界毅然将30pinSIMM内存淘汰出局了。
EDODRAM(ExtendedDateOutRAM外扩充数据模式存储器)内存,这是1991年到1995年之间盛行的内存条,EDODRAM同FPMDRAM(FastPageModeRAM快速页面模式存储器)极其相似,它取消了扩展数据输出内存与传输内存两个存储周期之间的时间间隔,在把数据发送给CPU的同时去访问下一个页面,故而速度要比普通DRAM快15~30%。工作电压为一般为5V,带宽32bit,速度在40ns以上,其主要应用在当时的486及早期的Pentium电脑上。
在1991年到1995年中,让我们看到一个尴尬的情况,那就是这几年内存技术发展比较缓慢,几乎停滞不前,所以我们看到此时EDODRAM有72pin和168pin并存的情况,事实上EDO内存也属于72pinSIMM内存的范畴,不过它采用了全新的寻址方式。EDO在成本和容量上有所突破,凭借着制作工艺的飞速发展,此时单条EDO内存的容量已经达到4~16MB。由于Pentium及更高级别的CPU数据总线宽度都是64bit甚至更高,所以EDODRAM与FPMDRAM都必须成对使用。
自IntelCeleron系列以及AMDK6处理器以及相关的主板芯片组推出后,EDODRAM内存性能再也无法满足需要了,内存技术必须彻底得到个革新才能满足新一代CPU架构的需求,此时内存开始进入比较经典的SDRAM时代。
第一代SDRAM内存为PC66规范,但很快由于Intel和AMD的频率之争将CPU外频提升到了100MHz,所以PC66内存很快就被PC100内存取代,接着133MHz外频的PIII以及K7时代的来临,PC133规范也以相同的方式进一步提升SDRAM的整体性能,带宽提高到1GB/sec以上。由于SDRAM的带宽为64bit,正好对应CPU的64bit数据总线宽度,因此它只需要一条内存便可工作,便捷性进一步提高。在性能方面,由于其输入输出信号保持与系统外频同步,因此速度明显超越EDO内存。
不可否认的是,SDRAM内存由早期的66MHz,发展后来的100MHz、133MHz,尽管没能彻底解决内存带宽的瓶颈问题,但此时CPU超频已经成为DIY用户永恒的话题,所以不少用户将品牌好的PC100品牌内存超频到133MHz使用以获得CPU超频成功,值得一提的是,为了方便一些超频用户需求,市场上出现了一些PC150、PC166规范的内存。
尽管SDRAMPC133内存的带宽可提高带宽到1064MB/S,加上Intel已经开始着手最新的Pentium4计划,所以SDRAMPC133内存不能满足日后的发展需求,此时,Intel为了达到独占市场的目的,与Rambus联合在PC市场推广RambusDRAM内存(称为RDRAM内存)。与SDRAM不同的是,其采用了新一代高速简单内存架构,基于一种类RISC(ReducedInstructionSetComputing,精简指令集计算机)理论,这个理论可以减少数据的复杂性,使得整个系统性能得到提高。
在AMD与Intel的竞争中,这个时候是属于频率竞备时代,所以这个时候CPU的主频在不断提升,Intel为了盖过AMD,推出高频PentiumⅢ以及Pentium4处理器,因此RambusDRAM内存是被Intel看着是未来自己的竞争杀手锏,RambusDRAM内存以高时钟频率来简化每个时钟周期的数据量,因此内存带宽相当出色,如PC10661066MHz32bits带宽可达到4.2GByte/sec,RambusDRAM曾一度被认为是Pentium4的绝配。
尽管如此,RambusRDRAM内存生不逢时,后来依然要被更高速度的DDR“掠夺”其宝座地位,在当时,PC600、PC700的RambusRDRAM内存因出现Intel820芯片组“失误事件”、PC800RambusRDRAM因成本过高而让Pentium4平台高高在上,无法获得大众用户拥戴,种种问题让RambusRDRAM胎死腹中,Rambus曾希望具有更高频率的PC1066规范RDRAM来力挽狂澜,但最终也是拜倒在DDR内存面前。
DDRSDRAM(DoubleDataRateSDRAM)简称DDR,也就是“双倍速率SDRAM”的意思。DDR可以说是SDRAM的升级版本,DDR在时钟信号上升沿与下降沿各传输一次数据,这使得DDR的数据传输速度为传统SDRAM的两倍。由于仅多采用了下降缘信号,因此并不会造成能耗增加。至于定址与控制信号则与传统SDRAM相同,仅在时钟上升缘传输。
DDR内存是作为一种在性能与成本之间折中的解决方案,其目的是迅速建立起牢固的市场空间,继而一步步在频率上高歌猛进,最终弥补内存带宽上的不足。第一代DDR200规范并没有得到普及,第二代PC266DDRSRAM(133MHz时钟×2倍数据传输=266MHz带宽)是由PC133SDRAM内存所衍生出的,它将DDR内存带向第一个高潮,目前还有不少赛扬和AMDK7处理器都在采用DDR266规格的内存,其后来的DDR333内存也属于一种过度,而DDR400内存成为目前的主流平台选配,双通道DDR400内存已经成为800FSB处理器搭配的基本标准,随后的DDR533规范则成为超频用户的选择对象。
随着CPU性能不断提高,我们对内存性能的要求也逐步升级。不可否认,紧紧依高频率提升带宽的DDR迟早会力不从心,因此JEDEC组织很早就开始酝酿DDR2标准,加上LGA775接口的915/925以及最新的945等新平台开始对DDR2内存的支持,所以DDR2内存将开始演义内存领域的今天。
DDR2能够在100MHz的发信频率基础上提供每插脚最少400MB/s的带宽,而且其接口将运行于1.8V电压上,从而进一步降低发热量,以便提高频率。此外,DDR2将融入CAS、OCD、ODT等新性能指标和中断指令,提升内存带宽的利用率。从JEDEC组织者阐述的DDR2标准来看,针对PC等市场的DDR2内存将拥有400、533、667MHz等不同的时钟频率。高端的DDR2内存将拥有800、1000MHz两种频率。DDR-II内存将采用200-、220-、240-针脚的FBGA封装形式。最初的DDR2内存将采用0.13微米的生产工艺,内存颗粒的电压为1.8V,容量密度为512MB。
内存技术在2005年将会毫无悬念,SDRAM为代表的静态内存在五年内不会普及。QBM与RDRAM内存也难以挽回颓势,因此DDR与DDR2共存时代将是铁定的事实。
PC-100的“接班人”除了PC一133以外,VCM(VirXualChannelMemory)也是很重要的一员。VCM即“虚拟通道存储器”,这也是目前大多数较新的芯片组支持的一种内存标准,VCM内存主要根据由NEC公司开发的一种“缓存式DRAM”技术制造而成,它集成了“通道缓存”,由高速寄存器进行配置和控制。在实现高速数据传输的同时,VCM还维持着对传统SDRAM的高度兼容性,所以通常也把VCM内存称为VCMSDRAM。VCM与SDRAM的差别在于不论是否经过CPU处理的数据,都可先交于VCM进行处理,而普通的SDRAM就只能处理经CPU处理以后的数据,所以VCM要比SDRAM处理数据的速度快20%以上。目前可以支持VCMSDRAM的芯片组很多,包括:Intel的815E、VIA的694X等。
DDR3相比起DDR2有更低的工作电压,从DDR2的1.8V降落到1.5V,性能更好更为省电;DDR2的4bit预读升级为8bit预读。DDR3目前最高能够达到2000Mhz的速度,尽管目前最为快速的DDR2内存速度已经提升到800Mhz/1066Mhz的速度,但是DDR3内存模组仍会从1066Mhz起跳。
内存厂商预计在2012年,DDR4时代将开启,起步频率降至1.2V,而频率提升至2133MHz,次年进一步将电压降至1.0V,频率则实现2667MHz。
新一代的DDR4内存将会拥有两种规格。根据多位半导体业界相关人员的介绍,DDR4内存将会是Single-endedSignaling(传统SE信号)方式DifferentialSignaling(差分信号技术)方式并存。其中AMD公司的PhilHester先生也对此表示了确认。预计这两个标准将会推出不同的芯片产品,因此在DDR4内存时代我们将会看到两个互不兼容的内存产品。
内存的种类和运行频率会对性能有一定影响,不过相比之下,容量的影响更加大。在其他配置相同的条件下内存越大机器性能也就越高。[4]内存的价格小幅走低,2011年前后,电脑内存的配置越来越大,一般都在1G以上,更有2G、4G、6G内存的电脑。
内存作为电脑中重要的配件之一,内存容量的大小确实能够直接关系到整个系统的性能。因此,内存容量已经越来越受到消费者的关注。尤其在目前WIN7操作系统已经开始取代XP之时,对于最新的WIN7操作系统,多数消费者都认为大容量能让其内存评分得到提升。
内存的工作原理。从功能上理解,我们可以将内存看作是内存控制器与CPU之间的桥梁,内存也就相当于“仓库”。显然,内存的容量决定“仓库”的大小,而内存的速度决定“桥梁”的宽窄,两者缺一不可,这也就是我们常常说道的“内存容量”与“内存速度”。
内存带宽的计算方法并不复杂,大家可以遵循如下的计算公式:带宽=总线宽度×总线频率×一个时钟周期内交换的数据包个数。很明显,在这些乘数因子中,每个都会对最终的内存带宽产生极大的影响。在PCMarkVantage测试中,可以看到2GB和4GBDDR3-1600内存性能比较接近,其中2GB内存仅在启动一些办公软件时候比较落后,毕竟少了一半容量所以运行起来比较吃力。而在3DmarkVantage游戏性能测试中,我们可以看出在Win7系统下,2GB和4GB内存的性能区别不是很大,成绩非常接近。同时,在WIN7环境下,2GB内存与4GB内存差别很小,有些情况下甚至没有差别,这时如果想提高内存性能,光想着升级容量意义并不是很大。
附件列表
故事内容仅供参考,如果您需要解决具体问题
(尤其在法律、医学等领域),建议您咨询相关领域专业人士。