—— 这就是我,独一无二

SpaceEdge




[技术讲堂]
内存发展历程

我在2013-02-06 21:07:30发表 | 108


内存发展历程


内存条是连接CPU 和其他设备的通道,起到缓冲和数据交换作用。 当CPU在工作时,需要从硬盘等外部存储器上读取数据,但由于硬盘这个“仓库”太大,加上离CPU也很“远”,运输“原料”数据的速度就比较慢,导致CPU的生产效率大打折扣!为了解决这个问题,人们便在CPU与外部存储器之间,建了一个“小仓库”—内存。

内存芯片的状态一直沿用到286初期,鉴于它存在着无法拆卸更换的弊病,这对于计算机的发展造成了现实的阻碍。有鉴于此,内存条便应运而生了。将内存芯片焊接到事先设计好的印刷线路板上,而电脑主板上也改用内存插槽。这样就把内存难以安装更换的问题彻底解决了。

在80286主板发布之前,内存并没有被世人所重视,这个时候的内存是直接固化在主板上,而且容量只有64 ~256KB,对于当时PC所运行的工作程序来说,这种内存的性能以及容量足以满足当时软件程序的处理需要。不过随着软件程序和新一代80286硬件平台的出现,程序和硬件对内存性能提出了更高要求,为了提高速度并扩大容量,内存必须以独立的封装形式出现,因而诞生了“内存条”概念。



30pin

在80286主板刚推出的时候,内存条采用了SIMM(Single In-lineMemory Modules,单边接触内存模组)接口,容量为30pin、256kb,必须是由8 片数据位和1 片校验位组成1 个bank,正因如此,我们见到的30pin SIMM一般是四条一起使用。自1982年PC进入民用市场一直到现在,搭配80286处理器的30pin SIMM 内存是内存领域的开山鼻祖。



72pin

随后,在1988 ~1990 年当中,PC 技术迎来另一个发展高峰,也就是386和486时代,此时CPU 已经向16bit 发展,所以30pin SIMM 内存再也无法满足需求,其较低的内存带宽已经成为急待解决的瓶颈,所以此时72pin SIMM 内存出现了,72pin SIMM支持32bit快速页模式内存,内存带宽得以大幅度提升。72pin SIMM内存单条容量一般为512KB ~2MB,而且仅要求两条同时使用,由于其与30pin SIMM 内存无法兼容,因此这个时候PC业界毅然将30pin SIMM 内存淘汰出局了。



EDO DRAM

Extended Date Out RAM,外扩充数据模式存储器,是1991 年到1995 年之间盛行的内存条,EDO-RAM同FP DRAM极其相似,它取消了扩展数据输出内存与传输内存两个存储周期之间的时间间隔,在把数据发送给CPU的同时去访问下一个页面,故而速度要比普通DRAM快15~30%。工作电压为一般为5V,带宽32bit,速度在40ns以上,其主要应用在当时的486及早期的Pentium电脑上。

在1991 年到1995 年中,让我们看到一个尴尬的情况,那就是这几年内存技术发展比较缓慢,几乎停滞不前,所以我们看到此时EDO RAM有72 pin和168 pin并存的情况,事实上EDO 内存也属于72pin SIMM 内存的范畴,不过它采用了全新的寻址方式。EDO 在成本和容量上有所突破,凭借着制作工艺的飞速发展,此时单条EDO 内存的容量已经达到4 ~16MB 。由于Pentium及更高级别的CPU数据总线宽度都是64bit甚至更高,所以EDO RAM与FPM RAM都必须成对使用。



SDRAM

自Intel Celeron系列以及AMD K6处理器以及相关的主板芯片组推出后,EDO DRAM内存性能再也无法满足需要了,内存技术必须彻底得到个革新才能满足新一代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规范的内存。



DDR

DDR SDRAM(Dual Date Rate SDRAM)简称DDR,也就是“双倍速率SDRAM”的意思。DDR可以说是SDRAM的升级版本, DDR在时钟信号上升沿与下降沿各传输一次数据,这使得DDR的数据传输速度为传统SDRAM的两倍。由于仅多采用了下降缘信号,因此并不会造成能耗增加。至于定址与控制信号则与传统SDRAM相同,仅在时钟上升缘传输。

DDR 内存是作为一种在性能与成本之间折中的解决方案,其目的是迅速建立起牢固的市场空间,继而一步步在频率上高歌猛进,最终弥补内存带宽上的不足。第一代DDR200 规范并没有得到普及,第二代PC266 DDR SRAM(133MHz时钟×2倍数据传输=266MHz带宽)是由PC133 SDRAM内存所衍生出的,它将DDR 内存带向第一个高潮,目前还有不少赛扬和AMD K7处理器都在采用DDR266规格的内存,其后来的DDR333内存也属于一种过度,而DDR400内存成为目前的主流平台选配,双通道DDR400内存已经成为800FSB处理器搭配的基本标准。



RDRAM

Intel在推出PC-100后,由于技术的发展,PC-100内存的800MB/s带宽已经不能满足需求,而PC-133的带宽提高并不大(1064MB/s),同样不能满足日后的发展需求。Intel为了达到独占市场的目的,与Rambus公司联合在PC市场推广Rambus DRAM(DirectRambus DRAM)。

RDRAM:RDRAM(Rambus DRAM)是美国的RAMBUS公司开发的一种内存。与DDR和SDRAM不同,它采用了串行的数据传输模式。在推出时,因为其彻底改变了内存的传输模式,无法保证与原有的制造工艺相兼容,而且内存厂商要生产RDRAM还必须要加纳一定专利费用,再加上其本身制造成本,就导致了RDRAM从一问世就高昂的价格让普通用户无法接收。而同时期的DDR则能以较低的价格,不错的性能,逐渐成为主流,虽然RDRAM曾受到英特尔公司的大力支持,但始终没有成为主流。

RDRAM的数据存储位宽是16位,远低于DDR和SDRAM的64位。但在频率方面则远远高于二者,可以达到400MHz乃至更高。同样也是在一个时钟周期内传输两次次数据,能够在时钟的上升期和下降期各传输一次数据,内存带宽能达到1.6Gbyte/s。

普通的DRAM行缓冲器的信息在写回存储器后便不再保留,而RDRAM则具有继续保持这一信息的特性,于是在进行存储器访问时,如行缓冲器中已经有目标数据,则可利用,因而实现了高速访问。另外其可把数据集中起来以分组的形式传送,所以只要最初用24个时钟,以后便可每1时钟读出1个字节。一次访问所能读出的数据长度可以达到256字节。



DDR2

随着CPU 性能不断提高,我们对内存性能的要求也逐步升级。不可否认,紧紧依高频率提升带宽的DDR迟早会力不从心,因此JEDEC 组织很早就开始酝酿DDR2 标准,加上LGA775接口的915/925等新平台开始对DDR2内存的支持,所以DDR2内存将开始演义内存领域的今天。

DDR2 能够在100MHz 的发信频率基础上提供每插脚最少400MB/s 的带宽,而且其接口将运行于1.8V 电压上,从而进一步降低发热量,以便提高频率。此外,DDR2 将融入CAS、OCD、ODT 等新性能指标和中断指令,提升内存带宽的利用率。从JEDEC组织者阐述的DDR2标准来看,针对PC等市场的DDR2内存拥有400、533、667、800、1066MHz多种频率。



DDR3

DDR3相比起DDR2有更低的工作电压, 从DDR2的1.8V降到1.5V,性能更好更为省电;DDR2的4bit预读升级为8bit预读。DDR3的工作频率有1066/ 1333/1600/2133Mhz等。

DDR3在DDR2基础上采用的新型设计:

1.8bit预取设计,而DDR2为4bit预取,这样DRAM内核的频率只有接口频率的1/8,DDR3-800的核心工作频率只有100MHz。

2.采用点对点的拓朴架构,以减轻地址/命令与控制总线的负担。

3.采用100nm以下的生产工艺,将工作电压从1.8V降至1.5V,增加异步重置(Reset)与ZQ校准功能。



XDR

XDR的8倍数据传输率主要依靠以下技术实现。首先,主板的时钟信号提供了XDR上的时钟锁相环的基础信号,并把芯片内部时钟信号提高到1.6GHz,这是由RDRAM颗粒内部的时钟锁相环来实现的。而数据在这个时钟信号的两端同时传输,因此它能达到3.2GHz的频率,是系统时钟频率的八倍。其实在1992年双倍时钟速率的RDRAM就已经推出,当时它的工作频率是256MHz,而数据传输率是500MHz,它是通过在时钟信号的上升延和下降延来传输信号,这样就把时钟频率提高了一倍,这点和DDR SDRAM的工作原理是一样的。四倍RAMBUS信号模式可以使用更多级别的信号来在一时钟周期内可以传输4bit数据,可以理解为在RAMBUS颗粒中使用了2倍的时钟频率,然后通过在时钟信号的上升延和下降延同时传输信号来达到4倍的数据传输率。现在8倍数据传输率可以在400MHz的系统总线频率下使用1.6GHz的频率,相当于每个时钟周期传输8bit数据。对比一下,DDR SDRAM内存可以在一个时钟循环中传递2个Bit的数据,因此命名为“Double Data Rate”。按照这种命名方式,XDR也许可以称作ODR了,也就是“Octal Data Rate(八倍数据传输)”,这也是XDR产品如此高频率的关键。

现在的电脑似乎只有双通道和四通道内存模式,不过XDR模块技术则官方宣布可以达到八通道模式(51.2GB/s带宽),在今后可以达到更高的标准。这样的规格表明XDR并没有(或者说不仅仅)面向PC市场,Rambus还希望它可以在控制台、网络设备等市场有所作为。

对于XDR内存来说还有几个特点是必须要指出的,首先就是Differential RSL(微分RSL传输):DSRL技术允许XDR使用标准的PCB板和标准阻抗,因此终结电阻可以设置到芯片内部,因此不需要额外的中结器,这对于RDRAM的发展来说是很重要的,可以大大简化RDRAM模组的使用和配置,并且可以降低系统的成本。而DDR主板需要花费成本和PCB板空间来安置终结电阻。而芯片内部的终结器是不需要花费什么成本的,它还可以提供更加干净的信号。

DRSL另外一个好处就是超低电压信号传输,它的信号阀值电压只有0.2V,而DDR的信号阀值电压从TTL的3.3V降到了SSTL的2.5V,而XDR内存的DRSL只有0.2V。LVTTL和SSTL并不是纯净的方波,信号幅度高低各不相同,而RSL和DRSL的信号电压很少。

不过,虽然内部工作原理同DDR内存有一些相似之处,但是真正要使用XDR内存却并不如现在的DDR内存那么简单,因为实际上的外部接口上来说XDR内存同DDR是完全不同的,相对而言XDR内存到和RDRAM内存比较相似,两者都采用了16位的内存控制器,不过XDR做了一些改进来达到更高的工作频率。

在XDR控制器的左侧和下部各有一个XMC。不过每个XDR内存模块的工作频率都是3.2GHz,那么XDR内存就可以给我们带来12.8GB/s的带宽。XDR的每个内存通道都需要在尽头有自己的终结器(Termination),这个设计也是同RDRAM一样。XDR内存可以在实际的内存模块中包含这样的终结器,而不需要采用独立的终结模块(C-RIMM的设计),不过由于串行的特点,总线还是需要终结器的。

XDR内存和RDRAM内存最大区别就是XDR有独立的数据和地址/指令总线。Rambus的结构需要数据通过所有的内存模块,这也造成了RDRAM的高延迟性(相对于DDR而言),XDR通过两条独立的总线解决的这一问题,其中地址/指令总线还是需要经过所有的内存模块,不过数据则可以由内存控制器直接进入对应的模块。



XDR2

XDR 2是Rambus推出的第二代高速内存技术,XDR2主要依靠降低内存回路干扰,再加入上一代XDR原有的FlexPhase和Micro-Threading内存架构等技术来提升效能。与此前的XDR的6.4GHz时钟频率相比,这种XDR2内存的性能再次攀升,使它能提供8GHz的时钟速度。

XDR2内存拥有Micro-Threaded架构,这是它速度提升的一大动力。由于XDR2在设计之初就着眼于显卡应用领域,在这一技术领域上常用到的访问操作与在电脑上的主内存不大相同。因为显存经常会访问一些小容量的离散数据集合,所以就很有必要对这类应用进行优化。XDR2采用了Micro-Threaded架构,可以针对这一操作进行架构优化,Rambus把它称之为微线程架构。

因为此前在RDRAM内存上只有两个数据通道结构,并且每个通道位宽只有8 bit。RDRAM的一个逻辑Bank由两个子Bank组成,每个子Bank各接有一个数据通道,因此共有16bit的位宽。当内存工作之时,两个子Bank同时寻址并将各自的数据传向数据通道A与数据通道B。 RDRAM核心在一次行访问间隔中至少要传输64字节的数据,而在一次列访问间隔中,至少要传输32字节的数据。不过在显卡的应用中,这样大的颗粒度往往会造成带宽的浪费,因为在访问一个图形对象时,一般用不到如此大的数据量,这与图形应用的特点有很大的关系。面对这样的技术缺陷,新一代的XDR2可以依靠Micro-Threaded架构来更好地运用较高的位宽。



GDDR2

GDDR2显存,目前多被低端显卡产品采用,采用BGA(Ball Grid ArrayPackage)封装,显存的速度从3.7ns到2ns不等,最高默认频率从500MHz~1000MHz,但明显不如GDDR3显存。其单颗颗粒位宽为16bit,组成128bit的规格需要8颗。



GDDR3

GDDR3显存是专门为图形处理开发的一种新型内存,同样采用BGA封装技术,其单颗颗粒位宽为32bit,8颗颗粒即可组成256bit/512MB的显存位宽及容量。显存速度在2.5ns(800MHz)~0.8ns(2500MHz)间。相比GDDR2,GDDR3具备低功耗、高频率和单颗容量大三大优点,使得GDDR3目前为主流显卡产品广泛采用。



GDDR4

GDDR4和GDDR3基本技术一样,GDDR4单颗显存颗粒可实现64bit位宽64MB容量,也就是说只需4颗显存芯片就能够实现256bit位宽和256MB容量,8颗更可轻松实现512bit位宽512MB容量。目前GDDR4显存颗粒的速度集中在0.7ns~0.9ns之间,但GDDR4显存时序过长,同频率的GDDR3显存在性能上要领先于采用GDDR4显存的产品,并且GDDR4显存并没有因为电压更低而解决高功耗、高发热的问题,这导致GDDR4对GDDR3缺乏竞争力,逐渐被淘汰了。



GDDR5

与GDDR4相比,GDDR5的最大亮点就是带宽更高了,从16GB/s升至20GB/s,同时虽然电压还是保持在1.5V,但功耗会更低,因为GDDR5会自动降低空闲显存的频率,并支持错误纠正、适应性界面计时等多种新技术,GDDR5的性能可达GDDR3的三倍。