内存新技术透视 傅航 1997-01-01   内存在计算机中无疑是非常重要的。众所周知,计算机指令的存取时间主要取决于内存。对于现今的大多数系统,内存的存取时间都是一个主要的制约因素。为了加快系统的速度,提高系统的整体性能,我们看到,计算机中配置的内存数量越来越大,而内存的种类也越来越多。因此在判断某一系统的性能时,就不能单凭内存数量的大小,我们还要看一看其所用内存的种类。   在具体说明各种内存类型之前,以下罗列了一些有关的名词,希望读者对内存种类的多样性有一些感性的认识。 #2  ROM   只读存储器 #2  RAM(Random Access Memory)   随机存储器 #2  DRAM(Dynamic RAM)   动态随机存储器 #2  PM RAM(Page ModeRAM)   动态随机存储器 #2  FPM RAM(Fast Page Mode RAM)   快速页模式随机存储器 #2  EDO RAM(Extended Data Output RAM)   扩充数据输出随机存储器 #2  BEDO RAM(Burst Extended Data Output RAM)   突发扩充数据输出随机存储器 #2  SDRAM(Sy0nchronous DRAM)   同步静态随机存储器 #2  SRAM(Static RAM)   静态随机存储器 #2  Async SRAM(Asynchronous Static RAM)   异步动态随机存储器 #2  Sync Burst SRAM(Synchronous Burst Static RAM)   同步突发静态随机存储器 #2  PB SRAM(Pipelined Burst SRAM)   管道(流水线)突发静态随机存储器 #2  Cache   高速缓存 #2  L2 Cache(Level 2 Cache)   二级高速缓存(通常由SRAM组成) #2  VRAM(Video RAM)   视频随机存储器 #2  CVRAM(Cached Vedio RAM)   缓存型视频随机存储器 #2  SVRAM(Synchronous VRAM)   同步视频随机存储器 #2  CDRAM(Cached DRAM)   缓存型动态随机存储器 #2  EDRAM(Enhanced DRAM)   增强型动态随机存储器 #2  DRAM(DYNAMIC RAM)   动态随机存储器   动态随机存储器(DRAM)主要用作主存储器。长期以来,我们所用的动态随机存储器都是页模式随机存储器(PM RAM),稍晚些的为快速页模式随机存储器(FPM RAM)。为了跟上CPU越来越快的速度,一些新类型的主存储器被研制出来。它们是EDO RAM(扩充数据输出随机存储器)、BEDO RAM(突发扩充数据输出随机存储器)、SDRAM(同步动态随机存储器)等,值得一提的是IBM公司正在研制一种性能更优越的下一代Synchronous DRAM(同步动态随机存储器)。 #2  内存的基本工作方式   DRAM芯片设计得象一个二进制位的矩阵,每一个位有一个行地址一个列地址。内存控制器要给出芯片地址才能从芯片中读出指定位的数据。一个标明为70ns(纳秒)的芯片要用70ns读出一个位的数据。并且还要额外的时间从CPU得到地址信息设置下一条指令。一个完整的内存存储周期,是从内存控制器传一个地址信息给内存芯片开始,到它再传送下一个地址信息给内存芯片为止,一般用时85-125ns不等,芯片制作技术的不断进步使这种处理效率越来越高。如果一个数据与前一个数据的行地址相同,内存控制器不必再传一个行地址指令,只要给一个列地址就可以了。这样存取同一“页”数据的速度与效率就大大提高了。 #2  FPM RAM(FAST PAGE MODE RAM)   快速页模式随机存储器   (所谓“页”,指的是DRAM芯片上存储阵列上的2048位片断)   这是最早的随机存储器,在过去一直是主流PC的标准配置,以前我们在谈论内存速度时所说的“杠7”,“杠6”,指的即是其存取时间为70纳秒,60纳秒。60纳秒的FPM RAM可用于总线速度为66MHZ(兆赫兹)的奔腾系统(CPU主频为100,133,166和200MHZ)。   FPM RAM读是这样开始的:   在DRAM阵列中,首先提供一个行地址,并置RAS(行存取信号,行寻址选道信号)为低电平,之后通过周期性的CAS(列存取信号,列导址选道信号)实行多个列存取。每一个CAS周期都提供一个列地址,并置CAS为低电平,等待合法的数据输出。之后系统锁住数据。再置CAS为高电平,并按照以下的顺序开始下一个周期。   注意:CAS被置为高电平时,数据不能输出,因为当一个合法的数据被系统锁住后,才能置CAS为高电平。   快速页模式:意味着RAM在逻辑上希望下一个要存取的数据与上一个存取的数据一致。如果是这样,就会节约时间。   以上这种快速页模式的内存常用于视频卡,通常我们也叫它“DRAM”。其中一种经过特殊设计的内存的存取时间仅为48纳秒,这时我们就叫它VRAM(Video RAM视频随机存储器)。这种经过特殊设计的内存具有“双口”,其中一个端口可直接被CPU存取,而另一个端口可独立地被RAM“直接存取通道”存取,这样存储器的“直接存取通道”不必等待CPU完成存取就可同时工作,从而比一般的DRAM要快些。 #2  EDO RAM(EXTENDED DATA OUTPUT RAM)   扩充数据输出随机存储器   EDO页模式的存取有些像FPM,但有一点不同,当CAS为高电平时,并不阻止数据的输出,此时数据锁(latch)保护维持住合法的数据之后,CAS又回到低电平。在页模式存取中,数据锁(latch)由CAS控制,在CAS变成高电平时,在数据锁中,数据可有效地被获得,在提供一个新的地址后,内存阵列中新的数据被定位存取,此时并不影响上一次存取的数据输出。当连续存取数据时,因交错关系,EDO RAM能使内存控制器省去用来发出一列地址信息的10ns的等待周期,这就能提供比FPM RAM更快的数据流,从而使计算机的效率提高10%-15%。 #2  BEDO RAM(BURST EXTENDED DATA OUTPUT RAM)   突发扩充数据输出随机存储器   BEDO RAM,就像其名字一样,是在一个“突发动作”中读取数据,这就是说在提供了内存地址后,CPU假定其后的数据地址,并自动把它们预取出来。这样,在读下三个数据中的每一个数据时,只用仅仅一个时钟周期,CPU能够以5-1-1-1突发模式读数据,这种方式下指令的传送速度就大大提高,处理器的指令队列就能有效地填满。现今这种RAM只被VIA芯片组580VP,590VP,680VP支持。这种真正快速的BEDO RAM也是有缺陷的,这就是它无法与频率高于66MHZ的总线相匹配。   BEDO与EDO在两个方面有不同点,一是数据锁(latch)被一个寄存器替代(实际上加入了一个附加锁状态),在第一个CAS周期后,数据并没有达到输出口,这种内在的管道(Pipeline,或流水线方式)的好处是,在第二个CAS周期的边缘,数据可以用更短的时间出现。二是BEDO设备包含有一个内在地址计数器,在一个四数据突发读时,外部只需提供一个初始地址,即可连续处理四个数据。在BEDO的第一个CAS周期接收第一个数据项时,装入内在管道并没有导致附加的延迟,这是因为制约存取第一个数据项的因素是RAS的存取时间,而RAS的存取动作被隐藏在第一个CAS周期里。这样就节约了时间,加快了速度。 #2  SDRAM(SYNCHRONOUS DRAM)   同步动态随机存储器   同步动态随机存储器(SDRAM)可以说是最有前途的一种内部存储器,不久之后,这种RAM会很受欢迎,支持这种内存的有Intel公司的Triton VX芯片组及所有新型VIA芯片组。在Pentiums,6x86级机器中,有580VP芯片及590芯片支持及其以后的SDRAM,在Pentium Pro级别的机器中,有680VP芯片支持SDRAM。就像这种内存的名字所表明的,这种RAM可以使所有的输入输出信号保持与系统时钟同步。而在不久以前,这只有SRAM(静态随机存储器)才能办到。   SDRAM与系统时钟同步,采用管道处理方式,当指定一个特定的地址,SDRAM就可读出多个数据,即实现突发传送。具体来说,第一步,指定地址;第二步,把数据从存储地址传到输出电路;第三步,输出数据到外部。关键是以上三个步骤是各自独立进行的,且与CPU同步,而以往的内存只有从头到尾执行完这三个步骤才能输出数据。这就是SDRAM高速的秘诀。   SDRAM的读写周期为10至15纳秒。 #2  SRAM Statu RAM   静态随机存储器   现在我们来讨论一下静态随机存储器。按产生时间和工作方式来分,静态随机存储器也分为异步和同步。在一定的纳米制造技术下,SRAM容量比其他类型内存低,这是因为SRAM需要用更多的晶体管存储一个位(bit),因而造价也贵得多,静态随机存储器多用于二级高缓存(Level 2 Cache)。 #3  Async SRAM(Asynchronous Static RAM)   异步静态随机存储器   自从第一个带有二级高速缓存(cache)的386计算机出现以来,这种老型号的属于“cache RAM(缓存型随机存储器)”类型的内存就开始应用了。异步静态随机存储器(Async SRAM)比DRAM快些,并依赖于CPU的时钟,其存取速度有20纳秒、15纳秒和12纳秒三种,值越小,表示存取数据的速度越快。但在存取数据时,它还没有快到能够与CPU保持同步,CPU必须等待以匹配其速度。 #3  Sync Burst SRAM(Synchronous Burst Static RAM)   同步突发静态随机存储器   在计算机界存在这样的争论:Sync Burst SRAM(同步突发静态随机存储器)和Pipelined Burst SRAM(管道突发静态随机存储器)谁更快些?诚然,在总线速度为66MHz的系统上,Sync Burst SRAM确实是最快的,因为这时CPU的运行速度并不是很快,Sync Burst SRAM在提供数据时可以和系统保持同步。这意味着在CPU的2—1—1—1突发读时,Sync Burst SRAM无延迟地以2—1—1—1突发周期传输数据。但当总线速度超过66MHz时(比如Cyrix公司的6X86P200+型号),Sync Burst SRAM就超负荷了,只能以3—2—2—2突发模式传输数据,这样就大大低于Pipelined Burst SRAM的传输速度(Pipelined Burst SRAM自始自终以3—1—1—1突发模式传输数据)。因此用现行的Pentium主板(总线速度为66MHZ),我们应该采用Sync Burst SRAM,这样效率最高、速度最快。但目前的问题是:生产支持Sync Burst SRAM的主板供应商很少,所以能支持Sync Burst SRAM的主板的价格都很高。   在这里在说明一下,应用Sync Burst SRAM,可达到8.5纳秒到12纳秒的“地址/数据”时间。 #3  PB SRAM (Pipelined Burst SRAM)   管道突发静态随机存储器   管道(Pipeline,或流水线,的意思是:通过使用输入输出寄存器,一个SRAM可以形成像“管道”那样的数据流水线传输模式。在装载填充寄存器时,虽然需要一个额外的启动周期,但寄存器一经装载,就可产生这样的作用:在用现行的地址提供数据的同时能提前存取下一地址。在总线速度为75MHz和高于75MHz时,这种内存是最快的缓存型随机存储器(Cache RAM)。实际上,PB SRAM可以匹配总线速度高达133MHz的系统。同时,在较慢的系统中,PB SRAM也并不比Sync Burst SRAM慢多少。   应用PB SRAM,可达到4.5到8纳秒的“地址数据”时间。 #3  L2Cache (Level 2 Cache)   二级高速缓存 (通常由SRAM组成)   现今解决CPU与主内存之间的速度匹配的主要方法是在CPU与DRAM间加上基于SRAM的二级高速缓存,这种内存系统可以承担85%的内存请求,而不需CPU增加额外的等待周期。   很长时间以来,在主板上装载256KB(千字节)的二级高缓存十分流行。在主板上装1024KB(千字节)的缓存是INTEL公司的Pentium P54C芯片推出以后的事。最新推出的VIA Pentiam芯片组竟能支持2048KB的Level 2 Cache,不过,许多人都怀疑这是否有实际意义。   在DOS、WINDOWS 3.1和WFW 3.11(Windows for Workgroups)是主要的操作系统时,确实没有必要设置高于256KB的L2 Cache,这就像没有必要在系统设置高于64MB(兆字节)的RAM一样。但自从WINDOWS 95操作系统推出以来,经测试,在系统的RAM只有16MB时,设置512KB(千字节)的缓存比256KB(千字节)的缓存更能大大提高系统的性能(指benchmark的点数,一种测量计算机系统性能的指标)。   再者,应用多媒体软件日益普遍,而以前的系统不能缓存大多数图形和视频信息,这使得CPU不断地与速度较慢的主内存打交道,降低了系统的性能,而增加CPU的二级高速缓存就能解决这个问题。   目前,人们越来越倾向应用32位的操作系统。在多任务的操作系统,增加Level 2Cache直到2MB都具有实际意义,能够增强系统性能,这是因为应用程序越来越大,并且越来越多的程序在同一时间运行,当CPU在多任务之间切换时,如果Cache不能足够大而装入所有被执行代码,就必须从非常慢速的主内存器获得它所需的信息,多任务操作系统就不能充分发挥其作用。因此,在应用现代的操作系统时,在系统装入512KB的Level 2 Cache是计算机系统发展的需要。   基于以下特点,Sync Burst SRAM比Async SRAM更适合作二级高速缓存:   1.同步于系统时钟:所有的信号都是在时钟的边缘被触发,可以简化高速系统的设计。   2.突发能力:结合一些逻辑电路进行高速操作。它允许存储器用连续的位置形成“4地址突发顺序”的自我循环,INTEL公司采用的是“插页式”的,而IBM公司的Power PC采用的“线程式”的设计,其功效是一样的。   3.管道能力:采用输入输出寄存器,使SRAM形成管道(或流水线方式)。装载寄存器时,虽然需要一个额外的启动周期,但寄存器一经装载,就可以产生这样的作用:在用现行的地址提供数据的同时能提前地存取下一个地址。   以上这些特点使得微处理器在存取连续内存位置时用同步SRAM比异步SRAM更快。目前,有些RAM供应商提供的3.3V异步的SRAM的“时钟到数据时间”(clock-to-data指开始加入时钟脉冲到数据输出的时间)为15纳秒,而采用类似技术的同步SRAM的“时钟到数据时间”甚至不到6纳秒。   随着总线速度的增加,性能价格比最佳点的SRAM技术是从异步到流同步,再到管道同步的。   但目前只有少数据供应商能提供采用流同步的SRAM,所以在系统性能不是非常重要时,设计者在总线速度为50MHz到66MHz时采用“管道同步”技术的内存是一种明智的选择。   有些内存设计方案把cache、DRAM、SRAM结合起来,如CDRAM(Cached DRAM)、EDRAM(Enhanced DRAM)、CVRAM(Cached Video RAM)、SVRAM(Synchronous VRAM)、EDO SRAM(Extended Data Output SRAM)、EDO VRAM(Extended Data Output VRAM),也有些内存设计方案在存储器中增加了一些内置 式微处理器,如智能RAM(Smart RAM)、3D RAM(用于3维视频信号处理的RAM)、RDRAM(Rambus DRAM)、WRAM(Windows RAM,一种采用双端口内存视频加速技术的内存)。内存的多样性可见一斑,不一而论。 #3  Flash Memory & Ferro electric RAM   快闪存储器,快擦写存储器和铁电体随机存储器   快闪存储器是1983年推出的电可擦非易失性半导体存储器,它采用一种非挥发性存储技术,即若不对其施加大电压进行擦除,可一直保持其状态,在不加电状态下可安全保存信息长达十年;它也具有固态电子学特性,即没有可移动部件,抗震性能好;同时,它具有优越的性能,它的存取时间仅为30纳秒。与以往的电可擦存储器EEPROM相比,快闪存储器的最大差别是采用了块可擦除的阵列结构,这种结构不仅使其有了快的擦除速度,而且具有了像EEPROM那样的单管结构的高密度,由此带来了低的制造成本和小的体积。快闪存储器兼有了ROM和RAM二者的性能及主高密度,是目前为数不多的同时具备大容量、高速度、非易失性、可在线擦写特性的存储器。   快闪存储器多用于系统的BIOS、Modem(调制解调器)和一些网络设备(Hub、路由器)。   铁电体随机存储器也采用非挥发性存技术,在生产中使用了铁氧体,它优越于快闪存储器的特点是其经过多次写操作后性能不退化,而快闪存储器存在退化问题。这使得铁电体随机存储器更具有广阔的前景。