EMU-ZONE 电子DIY

 
首页制作硬件资料开发资料购买
 
原创稿件 - 《微型计算机》 - 计算机的内存
计算机的内存

注:请勿转载,如有需求请与刊登的杂志社联系.

  电脑有很多大容量的外部存储器,比如硬盘、光驱等。但是由于CPU的速度非常快,而外部存储设备的速度相对要慢得多,无法及时向CPU提供数据,为了不使CPU经常处于等待状态,就在CPU与外部存储设备之间增加了内存,内存由DRAM存储器构成,速度比外部存储设备要快得多,但是现在的CPU的工作速度变得愈来愈快,内存的速度也跟不上CPU的速度,所以又在内存和CPU之间增加了CACHE,就是高速缓存,高速缓存由SRAM存储器构成,可以达到较高的速度。

            
                 //图1 CPU-CACHE-内存-外存关系图

一、存储器技术

  电脑中的RAM分为两种,一种是动态存储器(Dynamic RAM (DRAM)),另一种是静态存储器(Static RAM(SRAM))。静态RAM速度非常快,但是由于造价高、集成度低、功耗大,所以只能用于小容量的高速缓存。动态RAM由于其造价低廉、集成度高、功耗相对较小,这样可以制造出低成本的大容量存储器,我们的电脑上的主内存就是由DRAM构成的。不管是动态存储器还是静态存储器,它们内部存储的数据并不是永久的,当系统断电后,RAM中的数据将会丢失。

1.DRAM的存储原理

  基本存储单元和刷新的特性

             
                   //图2 DRAM基本存储单元

  DRAM的存储单元通常由一个电容和一个MOS管组成。MOS管的漏极通过一个电容接地,通过电容的充放电来形成电位的高和低;MOS管的栅极接地址线,这样地址信号就可控制MOS管的导通和不导通;MOS管的源极接数据线,当该MOS管被选通时,源极的电位与电容的电位相等,该条数据线上的电位即为低或者高,代表数据0或者数据1。但是由于MOS管存在漏电流,电容会不断的放电,漏极的电位会不断下降,当电位低于电平信号的允许范围时,就无法判断该位的数据了。为了保持漏极的电位,保证信号清晰可辨,就需要定期对电容进行充电,这个过程称为刷新,刷新过程大约每秒钟有数百次之多。刷新的过程是需要一段时间的,这段时间称为等待周期,在这个周期内,CPU无法对内存进行操作,也需要等待。这一点是DRAM天生的缺陷,限制了DRAM的速度,令DRAM只能用于内存条,而不能用于高速的缓存。

  读过程

  假设当前MOS管的漏极为高电平,即存储了数据1。当该单元被选通,MOS处于导通状态,源极和漏极导通,漏极的电位就加到了源极,也就是加到了数据线上,数据线上为高电平,即数据1。反之若当前MOS管的漏极为低电平,则选通该单元后,数据线上也为低电平,即数据0。

  写过程

  假设当前MOS管的漏极为低电平,即存储了数据0;外部数据线为高电平,即要写入数据1。当该单元被选通,MOS处于导通状态,源极和漏极导通。因为漏极电位为低,而数据线上的电平为高,因此将会对电容进行充电,当电容充满电后,漏极电位变为高,即存储的数据变为1,完成了写操作。反之如果当前MOS管的漏极为高电平,即存储了数据1;外部数据线为低电平,即要写入数据0。当该单元被选通,MOS处于导通状态,源极和漏极导通。因为漏极电位为高,而数据线上的电平为低,因此电容将会进行放电,当电容放完电后,漏极电位变为低,即存储的数据变为0,完成了写操作。如果要写入的数据和原先存储的数据相同,则因为电平没有变化,所以电容既不充电也不放电,数据保持不变。

  存储单元的选通

  从上面的介绍可以知道,一个DRAM存储单元只能存储一位数据。在内存芯片中包含了大量的基本存储单元,它们以矩阵方式排列,从而形成大容量的存储芯片。那么在这许多的单元中,当我们要对其中的某一位进行操作时,是怎么选通这个单元的呢?

            
                         //图3 选通

  作为一个矩阵单元,有行和列,每个单元都处于某一行和某一列的交叉点上,我们要确定这个单元,就是要确定该单元所处的行和所处的列。当某一行被选中时,就是在这一行的所有的MOS管的栅极都加上了高电平,这一行的MOS管都将处于导通状态,但是它们的源极并没有接到外部的数据线上,所以数据线上的电平既不能加到MOS管的源极,MOS管的源极的电平也不能加到数据线上去。但如果在某一行被选中的同时,某一列也被选中,则行与列交叉点上的MOS管不但导通,并且源极也连接到了外部数据线上,我们就选通了该单元,既能对它进行写操作,也能进行读操作。

  实际上,内存条是由多个存储芯片组成的,存储芯片都有一个片选信号端,我们首先是要选中某个芯片,然后才对该芯片中的存储单元进行操作的。

2.SRAM的存储原理

            
                       //图4 SRAM照片

            
                    //图5 SRAM存储单元原理图

  SRAM的结构与DRAM不同,它不是依靠电容的充电、放电来实现数据存储的。SRAM采用4-6个MOS管组成,它由RS触发器来完成存储,就是说它的数据的0和1是由逻辑电平表示的。这样以来,数据不会自己改变,除非你去改写它。因为数据不会改变,所以也就不需要刷新,也就没有刷新的周期,从而使整个操作速度得到很大的提高。不过由于需要一个SRAM存储单元需要4-6个MOS管组成,它的成本和功耗都要远大于DRAM。


二、内存的分类和技术特色

1.FASTPAGE DRAM

            
                        //图6 FP DRAM照片

  在普通模式下,要对一位存储单元进行操作,需要送一次行地址和一次列地址,这要占用两个时钟周期。但是在实际操作中,数据是在连续的存储单元里存储的,这样列地址在一定范围内是相同的,无需再重新发送列地址,只要发送行地址就可以对下一单元进行读写操作。这样就提高了数据的传输速率。   这种内存采用72线引脚方式,主要用于486和部分586电脑。

2.EDO DRAM

  FP DRAM在存取每一bit数据时输出行地址和列地址后必需使其稳定一段时间后,才能进行读写数据的操作,而下一个位的地址必须等待这次读写操作完成才能输出。EDO DRAM不必等待资料的读写操作是否完成,只要规定的有效时间一到就可以准备输出下一个地址,由此缩短了存取时间,

  这种内存有72线的,也有168线的,对于72线的EDO内存,需要成对使用。

3.SDRAM

            
                        //图8 SDRAM照片

           
                      //图9 SDRAM结构示意图

  对于前几种DRAM,它们的工作速率很低,不能与系统时钟相匹配,要加入等待周期才能达到与内存时钟的匹配,属于异步传输。SDRAM属于同步DRAM,它以系统时钟同样的速率运行,取消了等待周期,从而大幅提高了传输速率。

  这种内存采用168线引脚方式。通常根据其工作频率分为PC66\PC100\PC133。这些标准的制定使得符合该标准的SDRAM内存能够稳定的工作在较高的频率下,有效的提升了数据的传输速率。对于PC100内存,数据带宽可达800MB/S;对于PC133内存,数据带宽可达1064MB/S。

//PC100规范
 这是一种SDRAM内存的技术标准。其中100是指该内存能工作在前端总线(FSB)100MHz的系统中。
 PC100规范主要有以下几点:
 1、TCK(CLOCK、CYCLE、TIME)内存时钟周期,在100MHZ外频工作时值为10ns;
 2、TAC(ACCESS TIME FROM CLK)存取时间小于6ns;
 3、PCB必须为六层板,可以滤掉杂波;
 4、内存上必须有SPD,SPD一般由内存模组制造商写入,设定内存工作参数。

                 
                        //图10 SPD照片

  在SDRAM上通常可以看到一个8引脚的SPD(Serial Presence Detect)芯片,这种芯片其实就是个EEPROM存储器,EEPROM存储器采用串行通讯方式,它存储了关于该内存的相关资料,如容量、芯片厂商、内存模组厂商、工作速度、是否具备ECC校验等。,如果没有这个芯片的话,BIOS需要检测内存的各种参数信息,但是如果有了这个芯片,在启动时会自动检测SPD中的资料,并以此设定内存的工作参数。

4.DDR SDRAM

            
                      //图11 DDR SDRAM照片

  DDR SDRAM是由三星公司提出,由日电、三菱、富士通、东芝、日立、德州仪器、三星和现代八家公司共同订立的内存规格,它得到了AMD、VIA 与 SiS 等主要芯片组厂商的支持,由于该技术无需授权费用,生产技术成熟,价格便宜,加之性能优异,现在已经逐渐成为内存的主流。

  DDR与SDRAM类似,但是由于采用DLL(Delay-Locked Loop,延时锁定环)技术提供数据选通信号对数据进行精确定位,在时钟脉冲的上升沿和下降沿都可传输数据,这样在不提高时钟频率的情况下可以达到SDRAM双倍的传输速率。

  这种内存有184条引脚,信号电平采用了SSTL2的2.5V的标准。数据位数为64位,在100M的时钟频率下,数据传输量为1600MB/s(64bit×100MHz×2÷8=1600MBytes/s),在133M的时钟频率下,数据传输量为2128MBytes/s(64bit×133MHz×2÷8=2128MBytes/s)。

5.RDRAM

            
                       //图12 RDRAM照片

这种内存是RAMBUS公司推出的一种高性能的新型存储器。它采用较高的时钟频率,在时钟的上升沿和下降沿都传送数据,加上采用多通道技术,可以达到很高的传输速率。RDRAM的传输速率为400M,数据宽度为16位,数据传输量可达1.6GB/S;双通道的RDRAM则可达到3.2GB/S。另外它还有一个特色是它的引脚功能可以改变,既可以是数据线,也可以变为控制线,这就解决了随容量的扩大,引脚不断增多的问题。但是由于RAMBUS公司要收取高昂的授权费用,RDRAM的生产工艺难度大,性能并不比DDR更具优势,所以一直没能形成主流。

         
                     //图13 RDRAM结构示意图

  RDRAM属于一种特殊的串行传输模式。所以必需形成回路才能完成数据的传输。在主板上有三个插槽,必需插满DRD内存,如果不能插满的话,就需要中继模块,使数据保持回路。

         
                   //图14 串行方式与并行方式的比较  


三、内存的封装方式

  早期的内存没有做成象现在的模块方式,而是以芯片形式,普通的DRAM芯片往往采用DIP封装(双列直插),插在主板上的相应的集成电路插座上,但是这种方式不是很方便,并且要达到大的容量,需要较多的芯片,在主板上占的面积也很大。所以后来采用了模块化的方式,即在一块PCB上安装了多块芯片,PCB上有金手指,主板上只需体积很小的插槽即可。一方面可很容易达到大的容量,另一方面安装也很方便。

1.SIMM(Single In-line Memory Module)
  速度:60nS;引脚数:30PIN/72PIN;工作电压:3.3V-5.0V

            
                      //图15 30PIN照片

           
                      //图16 72PIN照片

           
                      //图17 SIMM插入方式

  在386上广泛应用了30线的内存条。这种内存采用FP DRAM芯片。后来30线的内存条被72线的内存条所取代,引脚变多主要是因为要求更大容量的内存,所以要相应的增加地址线。72线内存大都由FP DRAM或者EDO DRAM组成。586电脑较多的采用了72线的内存。

2.DIMM(Double In-line Memory Module)
  速度:6-10nS;工作频率:66-133M(现在也有更高的);引脚数:168PIN/184PIN;工作电压:2.5V-3.3V-5.0V

         
                       //图18 168PIN照片

          
                       //图19 184PIN照片

               
                      //图20 DIMM插入方式

  当我们需要更大容量的内存时,就需要更多的地址线,所以168线的内存很快就取代了72线的内存。早期的168线内存是采用了EDO DRAM芯片,但后来的168线内存则普遍采用了SDRAM。

  现在的DDR内存采用了184线的DIMM封装  

3.RIMM(Rabmus Inline Memory Module)
  速度:8nS;工作频率:200M-800M;引脚数:184PIN;工作电压:2.5V

            
                        //图21 RIMM照片

  RAMBUS公司推出了一种不同的封装,其技术也是全新的。这种内存的工作频率很高,发热量也很高,为了保护芯片,在芯片外包了一层铝壳作为散热。


四、内存相关的一些术语

RAM (Random-Access Memory)-随机存取存储器,一种存储单元结构,用于保存CPU处理的数据信息。"随机"(Random)存取是与"顺序(serial)"存取相对而言的,意思是CPU可以从RAM中任意地址中直接读取所需的数据,而不必从头至尾一一查找。

tCC (Clock Cycle time)--内存时钟周期。对于SDRAM,与系统时钟相同,PC100对应的是10nS;PC133对应的是7.5nS。

Bandwidth(带宽)--内存的带宽一般指内存一次能处理的数据宽度,也就是一次能处理若干位的数据。30线内存条的数据带宽是8位,72线为32位,168线可达到64位。

CAS Latency (CL)--列地址选通脉冲时间延迟,也叫"连续反应速度",就是列存取时间和时钟周期时间的比率。CL=2表示第一次读取时要延迟两个时钟周期,CL=3表示要延迟3个时钟周期。CAS Latency 2 (CL2) 比CAS Latency 3 (CL3)的性能稍微高一点。

Access Time(存取时间)--内存完成一次数据存取所用的平均时间。存取时间等于地址输出时间加延迟时间(初始化数据请求的时间和访问准备时间)。 TAC (Access Time from CLK)--时钟访问时间

Timing -读写时序,内存在突发式(Burst)读取模式下一次可连续读取4组数据,其读取周期可以表示为X-Y-Y-Y。其中X表示读取第一组数据的时钟周期数,一般叫做Lead off time;Y表示后三组数据的读写时间周期。比如FP DRAM为5-3-3-3,EDO为5-2-2-2,SDRAM为5-1-1-1。



 
 
【模拟器硬件DIY】版权所有 Copyright(C) 2000-2006 本站资料未经许可,请勿转载,如有需求,请联系