MemoryIntroduction认识内存内存指的是内存储器,主要是用来临时存贮数据,比如电脑中调用的数据,就需要从硬盘读出,发给内存,然后内存再发给CPU.也可以理解成是HDD和CPU之间的缓存,因为CPU中的ALU(虚拟寄存器)速度要比硬盘速度快的多,因为他是直接芯片集成电路存储,和电流的速度差不多,而硬盘是磁盘存储,每分钟只有5400/7200/10000转,所以需要内存用来给CPU和硬盘之间进行沟通.内存有两个部分:随机存储器(RAM)也就是临时存放数据用的,断电后数据丢失另一个只读存储器(ROM)它是死的,删不掉,也无法覆盖其他数据,主要用来存储内存厂商/型号等虚拟内存一般是用在内存不足的情况下系统自动调用硬盘的空间,用来暂时替代不够的内存工作,由于虚拟内存用的是硬盘空间硬盘的读写速度要远远低于真正的内存,所以设置过大虚拟内存会影响你计算机的速度,并且虚拟内存最好是设置成你不经常用的磁盘分区上,因为不经常用的分区碎片少,磁头读写顺畅,相对较快。Memory的分类内存从标准上可以分为:SIMM、DIMM、RIMM内存从外观上可以分为:30线、64线、72线、100线、144线、168线、200线和卡式、插座式。内存从芯片类别上可以分为:FPM、EDO、SDRAM、RAMBUS、DDR、DDRII、DDRIII内存从整体性能上可以分为:普通(无任何特殊功能)、带校验(自动检错)、带纠错(自动纠错)三种。SIMM:SingleInlineMemoryModule单列直插内存模块。DIMM:DualInlineMemoryModule双列直插内存模块。DDR:DoubleDataRateSDRAM:SynchronousDRAM同步动态随机存储器RDRAM:RAMBUSDRAM存储器总线式动态随机存取存储器;RDRAM是RAMBUS公司开发的具有系统带宽,芯片到芯片接口设计的新型DRAM,他能在很高的频率范围内通过一个简单的总线传输数据。他同时使用低电压信号,在高速同步时钟脉冲的两边沿传输数据。INTEL将在其820芯片组产品中加入对RDRAM的支持。由于这种内存的价格太过昂贵,在pc机上已经见不到他的踪影。RIMM(RambusIn-LineMemoryModule)内存插槽就是支持DirectRDRAM内存条的插槽。RIMM有184pin,资料的输出方式为串行,与现行使用的DIMM模块168pin,并列输出的架构有很大的差异。内存相关名词解释1.SDRAM(1)内存芯片也称“内存颗粒”,内存颗粒加上一些辅助电路再焊在PCB板上就成了一根内存条。生产内存芯片的厂商不多,主要有NEC、Hynix、APACER,Micron,SAMSUNG等公司,这些公司除了自己生产成品内存条之外,还提供内存芯片给其他厂商,于是市场上便有了众多内存品牌。芯片厂商会在芯片上用激光等方法标上品牌、型号等参数,因此,理论上我们就能通过识别这些参数来了解该内存条的容量、工作频率等信息。(2)SPD芯片SPD的全称是“SerialPresenceDetect”,即“连续存在侦测”。SPD保存了该条内存的各种性能参数,如容量、芯片厂商、工作速度、是否具备ECC校验等等。这些内容都是内存厂商输入进去的,最后保存在一个EEPROM芯片中。当系统启动后,主板芯片组会根据SPD提供的信息,自动在主板BIOS中将与内存相关的参数设置好,保证内存条的正常使用,可见SPD的重要性非同一般。2.DDRSDRAM(1)DDRSDRAM也就是采用了DDR(DoubleDataRateSDRAM双数据速度)技术的SDRAM。与普通SDRAM相比,它们的时钟周期是一样的,但DDRSDRAM能在时钟脉冲的上升和下降沿都传输数据,而SDRAM只在信号的上升沿时读取数据,因此理论上DDRSDRAM可提供双倍于SDRAM的速度,这样也将带来双倍的性能。(2)PC200/PC266及PC1600/PC2100与SDRAM一样,DDRSDRAM也是与系统总线频率同步的,不过因为DDRSDRAM的速度是SDRAM的双倍,因此工作在133MHz外频下的DDRSDRAM其性能就相当于266MHz的SDRAM,于是便出现了与PC100/PC133对应的PC200/PC266了。至于PC1600和PC2100,说的并不是内存的时钟频率,而是DDRSDRAM的数据传输率,也就是内存带宽。比如时钟频率为266MHz的DDRSDRAM内存带宽为──133MHz×2×64Bit/8=2100MB/s(兆字节每秒),可见PC266与PC2100的实际意思是一样的。(3)识别DDRSDRAM的编号现代芯片编号格式一般为:“HY5abcdefghijklm-no”。其中HY代表现代的产品;5a表示芯片类型(57=SDRAM,5D=DDRSDRAM);b代表工作电压(空白=5V,V=3.3V,U=2.5V);cde代表容量和刷新速度(16=16Mbits、4KRef,64=64Mbits、8KRef,65=64Mbits、4KRef,128=128Mbits、8KRef,129=128Mbits、4KRef,256=256Mbits、16KRef,257=256Mbits、8KRef);fg代表芯片输出的数据位宽(40、80、16、32分别代表4位、8位、16位和32位);h代表内存芯片内部由几个Bank组成(1、2、3分别代表2个、4个和8个Bank);i代表接口(0=LVTTL[LowVoltageTTL]接口);j代表内核版本(可以为空白或A、B、C、D等字母,越往后代表内核越新);k代表功耗(L=低功耗芯片,空白=普通芯片);lm代表封装形式(JC=400milSOJ,TC=400milTSOP-Ⅱ,TD=13mmTSOP-Ⅱ,TG=16mmTSOP-Ⅱ);no代表速度(7=7ns[143MHz],8=8ns[125MHz],10p=10ns[PC-100CL2或3],10s=10ns[PC-100CL3],10=10ns[100MHz],12=12ns[83MHz],15=5ns[66MHz],K=DDR266A,H=DDR266B,L=DDR200)。3.RDRAMRDRAM也叫Rambus内存,这一全新的内存规格是Intel提出来的,当时它主要面向服务器与工作站,。RDRAM与DDRSDRAM一样,在工作周期的上下沿都传输数据,以产生双倍的数据传输时钟。RDRAM在一个传输沿中最多只能传输16bit或18bit的数据,因此它在一个传输周期的实际数据传输量只有32bit,比SDRAM内存的64bit数据带宽少了整整一半!为了弥补带宽的不足,RDRAM的工作频率很高,目前市场上常见的有三种──300MHz、356MHz和400MHz。Rambus引入了RISC(精简指令集)的技术,依靠它极高的工作频率,通过减少每个周期的数据量来简化操作。Rambus通过上升和下降沿各可传送一次,使原有的400MHz的频率变为800MHz。Rambus之所以可以达到400MHz的时钟频率,是因为它使用了铜线连接内存控制器和内存模块,并且通过减少铜线数量和长度,降低电磁干扰。,其带宽是视Rambus的通道个数而定的,就1个通道而言,800MHz的DRDRAM带宽为800MHz×16位=1.6GB/s,若是两个通道,则可提升为3.2GB/s,若是4个通道的话,将达到6.4GB/s,而PC133的带宽为1.06GB/s,PC266则为2.13GB/s。而且Rambus要求RIMM槽中必须全部插满,空余的RIMM槽要用专用的Rambus中继器插满。内存Bank探讨内存目前很多人对内存Bank(电脑系统与内存之间数据总线的基本工作单位)都有一种误解,认为单面内存就是单Bank,双面内存就是双Bank的。其实这种观念是不对的,内存的Bank(指物理Bank)数和内存颗粒的面无关,要讲清这个问题,就要提到内存的逻辑Bank,下面就给大家介绍一下物理Bank和逻辑Bank的概念。逻辑Bank及其结构内存芯片存储数据的基本单位是bit(位),而进行寻址的基本单位则是Byte(字节),一个Byte就等于8bit。内存芯片设计时在一个时钟周期内只允许对一个逻辑Bank进行操作(实际上内存芯片的位宽就是逻辑Bank的位宽),而不能对所有逻辑Bank同时操作。所以逻辑Bank的地址线是通用的,只要再有一个逻辑Bank编号加以区别就可以了。内存芯片的位宽决定了一次能从它那里读出多少数据,并不是内存芯片里所有单元的数据能够一次全部读出。从图中可以很清楚地看到这个芯片是一个Bank数为4的芯片,其列和行分别为4096和2048,而逻辑位宽是4bit,将这三者相乘就是这个逻辑Bank的容量,这里是4096×2048×4bit=32Mb。再乘以Bank的数量,则芯片的容量就可以算出来了,这里很显然是4个Bank,那么芯片的容量就是128Mb了。用虚线框起来的就是一个完整的逻辑Bank。可见一个Bank由内存阵列、传感放大器、一个行解码器、一个列解码器组成。物理Bank物理Bank的含义就是指内存和主板北桥芯片之间传递数据的通道,自586以后的CPU数据总线均为64bit位宽,而CPU一次只能对一个物理Bank进行访问,所以一般情况下我们就把64bit作为一个物理Bank(PhysicalBank).由于CPU一次只能打开一个物理Bank,在单芯片上也只能打开一个逻辑Bank,这样我们就知道逻辑Bank的位宽也就是单芯片的位宽了,所以我们把芯片的数据宽度和芯片的数量相乘再除以64就得到了内存条的物理Bank数了,即内存的Bank数=数据宽度×芯片数量/64。实例讲解大多256MB双面内存为32×4格式,16个芯片,4×16=64bit,这正好是一个物理Bank,所以是双面内存单Bank,也就是说该种内存虽然是双面的,但只有一个物理Bank另有大多256MB内存16×16格式,8个芯片,16×8=128bit,128/64=2,所以是单面内存双BankDDR&DDR2&DDR3DDRSDAMRDDRIISDRAMDDRIIISDRAM时钟频率100/133/166/200MHz200/266/333MHz400/533/667MHz数据传输率200/266/333/400MBPS400/533/667/800MBPS800~1600Mbps工作电压2.5V1.8V1.5V针脚数184Pin200/220/240Pin(240Pin为主流标准)240PinDIMM封装技术TSOP-II/CSPCSP(FBGA)封装FBGA预取设计2Bit4Bit8Bit突发长度2/4/84/88L-BANK数量2/44/88/16CL值1.5、2.5、2、33、4、5、65、6、7、8AL值无0、1、2、3、40,CL-1,CL-2接口标准SSTL_25SSTL_18SSTL_15容量标准64M~1G256M~4G512M~8G新增特性OCD、ODT、POSTEDCAS写入延迟(CWD)几个重要概念Pre-fetch:数据预取可以认为是端口数据传输率和内存Cell之间数据读/写之间的倍率,如DDRI为2bitPrefetch,因此DDRI的数据传输率是核心Cell工作频率的两倍。DDRII采用了4bitPrefetch架构,也就是它的数据传输率是核心工作频率的四倍。实际上数据先输入到I/O缓冲寄存器,再从I/O寄存器输出。DDRII400SDRAM的核心频率/时钟频率/数据传输率分别是100MHz/200MHz/400MbpsOCD:Off-ChipDriver,译为离线驱动调校OCD的主要用意在于调整I/O接口端的电压,来补偿上拉与下拉电阻值,从而可以提高信号的完整性。DDRII主要通过调整上拉(pull-up)/下拉(pull-down)的电阻值使DQS低电平/DQ高电平时电压相等,如果不满足要求,则通过设定突发长度的地址线来传送上拉/下拉电阻等级,从而减