内存的发展史与科普
每一台计算机都必然包含运算器、控制器、存储器和输入输出设备等五个重要部分,其中作为内存储器的内存条,历经KB~GB,每隔几年就会更新换代,想知道更多主流内存条发展历史请看下文。
内存在PC中是一个巨大的缓冲区,CPU所需访问与处理的数据都会经过这里,虽说CPU内部也有各级缓存,但是容量空间是无法与内存相比的,随着CPU的处理能力不断的提高,内存的速度与容量也在不断的提升,每隔几年就会更新换代,下面我们就一起来了解一下内存条的发展历史。
古老的SIMM时代
其实在最初的个人电脑上是没有内存条的,内存是直接以DIP芯片的形式安装在主板的DRAM插座上面,需要安装8到9颗这样的芯片,容量只有64KB到256KB,要扩展相当困难,但这对于当时的处理器以及程序来说这已经足够了,直到80286的出现硬件与软件都在渴求更大的内存,只靠主板上的内存已经不能满足需求了,于是内存条就诞生了。
远古的30pin SIPP (Single In-line Pin Package) 接口,针脚的定义其实与30pin SIMM一样的
SIPP很快就被SIMM(Single In-line Memory Modules)取代了,两侧金手指传输相同的信号,早期的内存频率与CPU外频是不同步的,是异步DRAM,细分下去的话包括FPM DRAM(Fast Page Mode DRAM)与EDO DRAM(Extended data out DRAM),常见的接口有30pin SIMM与72pin SIMM,工作电压都是5V。
从上到下分别是30pin SIMM、苹果的64pin SIMM与72pin SIMM
第一代SIMM内存有30个引脚,单根内存数据总线只有8bit,所以用在16位数据总线处理器上(286、386SX等)就需要两根,用在32位数据总线处理器上(386DX、486等)就需要四根30pin SIMM内存,采购成本一点都不低,而且还会增加故障率,所以30pin SIMM内存并不是完全被大家所接受。
有趣的是DIP芯片形式的内存与内存条共存了一段比较长的时间,在不少286的主板上你可以同时看到DIP内存芯片与30pin SIMM内存插槽,它们是可以一齐工作的。
随后诞生了72pin SIMM内存,单根内存位宽增加到32位,一根就可以满足32位数据总线处理器,拥有64位数据总线的奔腾处理器则需要两根,内存容量也有所增加,它的出现很快就替代了30pin SIMM内存,386、486以及后来的奔腾、奔腾Pro、早期的奔腾II处理器多数会用这种内存。
FPM DRAM
30pin FPM DRAM
FPM DRAM是从早期的Page Mode DRAM上改良过来的,当它在读取同一列数据是,可以连续传输行位址,不需要再传输列位址,可读出多笔资料,这种方法当时是很先进的,不过现在看来就很没效率。
FPM DRAM有30pin SIMM和72pin SIMM两种,前者常见于286、386和486的电脑上,后者则常见于486与早期型的奔腾电脑上,30pin的常见容量是256KB,72pin的容量从512KB到2MB都有。
EDO DRAM
比较少见的168pin EDO内存,通常都用在服务器上
其实也是72pin SIMM的一种,它拥有更大的容量和更先进的寻址方式,这种内存简化了数据访问的流畅,读取速度要FPM DRAM快不少,主要用在486、奔腾、奔腾Pro、 早期的奔腾II处理器的电脑上面,本人第一台电脑486上面就插着两条8MB的EDO内存。
在1991到1995年EDO内存盛行的时候,凭借着制造工艺的飞速发展,EDO内存在成本和容量上都有了很大的突破,单条EDO内存容量从4MB到16MB不等,数据总线依然是32位,所以搭配拥有64位数据总线的奔腾CPU时基本都成对的使用。
SDR SDRAM内存
然而随着CPU的升级EDO内存已经不能满足系统的需求了,内存技术也发生了大革命,插座从原来的SIMM升级为DIMM(Dual In-line Memory Module),两边的金手指传输不同的数据,SDR SDRAM内存插座的接口是168Pin,单边针脚数是84,进入到了经典的SDR SDRAM(Single Data Rate SDRAM)时代。
SDRAM其实就是同步DRAM的意思,内存频率与CPU外频同步,这大幅提升了数据传输效率,再加上64bit的数据位宽与当时CPU的总线一致,只需要一根内存就能让电脑正常工作了,这降低了采购内存的成本。
第一代SDR SDRAM频率是66MHz,通常大家都称之为PC66内存,后来随着Intel与AMD的CPU的频率提升相继出现了PC100与PC133的SDR SDRAM,还有后续的为超频玩家所准备的PC150与PC166内存,SDR SDRAM标准工作电压3.3V,容量从16MB到512MB都有。
SDR SDRAM的存在时间也相当的长,Intel从奔腾2、奔腾3与奔腾4(Socket 478),以及Slot 1、Socket 370与Socket 478的赛扬处理器,AMD的K6与K7处理器都可以SDR SDRAM。
从1999年开始AMD推出K7架构,到2000年Intel推出奔腾4处理器,两家处理器的FSB都在不断攀升,只有133MHz的SDR SDRAM根本无法满足这个带宽需求,至于谁是它的继任者,Rambus DRAM与DDR SDRAM展开了一场大战。
Rambus DRAM内存
在选择SDR SDRAM的继任者的时候Intel选择了与Rambus合作并推出了Rambus DRAM内存,通常都会被简称为RDRAM,它与SDRAM不同,采用了新的高速简单内存架构,基于RISC理论,这样可以减少数据复杂性提高整个系统的性能。
RDRAM采用RIMM插槽,184pin,总线位宽16bit,插两条组建双通道时就是32bit,工作电压2.5V,当时的频率有600、700、800、1066MHz等。
这款内存通常都是用在Socket 423的奔腾4平台上,搭配Intel 850芯片组使用,然而大家都应该清楚Socket 423的奔腾4是多么的悲剧,频率高效率低的奔腾4被AMD K7+DDR内存的组合打得满地找牙,再加上RDRAM的制造成本高,很多内存厂都没有兴趣,这直接导致RDRAM的零售价居高不下,奔腾4平台的成本相对高,消费者也不买单,最终就是导致RDRAM完败于DDR SDRAM,最终Intel抛弃RDRAM投奔到DDR阵营。
DDR内存
DDR内存的正式名字是DDR SDRAM(Dual Date Rate SDRAM),顾名思义就是双倍速率SDRAM,从名字上就知道它是SDR SDRAM的升级版,DDR SDRAM在时钟周期的上升沿与下降沿各传输一次信号,使得它的数据传输速度是SDR SDRAM的两倍,而且这样做还不会增加功耗,至于定址与控制信号与SDR SDRAM相同,仅在上升沿传输,这是对当时内存控制器的兼容性与性能做的折中。
DDR SDRAM采用184pin的DIMM插槽,防呆缺口从SDR SDRAM时的两个变成一个,常见工作电压2.5V,初代DDR内存的频率是200MHz,随后慢慢的诞生了DDR-266、DDR-333和那个时代主流的DDR-400,至于那些运行在500MHz、600MHz、700MHz的都算是超频条了,DDR内存刚出来的时候只有单通道,后来出现了支持双通芯片组,让内存的带宽直接翻倍,两根DDR-400内存组成双通道的话基本上可以满足FSB 800MHz的奔腾4处理器,容量则是从128MB到1GB。
DDR内存在对RDRAM的战争中取得了完全胜利,所以相当多的主板厂家都选择推出支持DDR内存的芯片组,当时的主板市场可是相当的热闹,并不只有Intel与AMD两个在单挑,还有NVIDIA、VIA、SiS、ALI、ATI等厂家,所以能用DDR内存的CPU也相当的多,Socket 370的奔腾3与赛扬,Socket 478与LGA 775的奔腾4、奔腾D、赛扬4、赛扬D,只要你想酷睿2其实也可以插到部分865主板上用DDR内存,AMD的话Socket A接口的K7与Socket 939、Socket 754的K8架构产品都是可以用DDR内存的。
DDR2内存
在DDR内存战胜了RDRAM之后就开启了DDR王朝,就如大家所知道的,后续的都是DDR的衍生产品,DDR2内存在2004年6月与Intel的915/925主板一同登场,伴随了大半个LGA 775时代,而AMD的K8架构由于把内存控制器整合在CPU内部,要把内存控制器改成DDR2的比Intel麻烦得多,直到2006年6月AM2平台推出才开始支持DDR2内存,估计现在还有些用DDR2内存的电脑在服役吧。
DDR和DDR2的关键区别是:DDR2内存单元的核心频率是等效频率的1/4(而不是1/2)。这需要一个4-bit-deep的预取队列,在并不用改变内存单元本身的情况下,DDR2能有效地达到DDR数据传输速度的两倍,此外DDR2融入了CAS、OCD、ODT技术规范和中断指令,运行效率更高。
DDR2内存的金手指数比DDR多,DDR2有240个金手指,DDR只有184个,两者的防呆缺口位置防止用户差错插槽,有一个比较容易从外观上区分DDR与DDR2内存的方法,就是DDR内存是采用TSSOP封装的,而DDR2内存是用BGA封装的,看内存芯片就能分清楚两者。
DDR2的标准电压下降至1.8V,这使得它较上代产品更为节能,DDR2的频率从400MHz到1200MHz,当时的主流的是DDR2-800,更高频率其实都是超频条,容量从256MB起步最大4GB,不过4GB的DDR2是很少的,在DDR2时代的末期大多是单条2GB的容量。
DDR3内存
DDR3内存随着Intel在2007年发布3系列芯片组一同到来的,至于AMD支持DDR3内存已经是2009年2月的AM3平台发布的时候 ,直到现在他依然还是市场的主流。
然而直到2008年11月推出x58平台彻底抛弃DDR2的时候DDR3其实还不算是市场主流,在LGA 775平台上消费者大多数依然会选择DDR2,归咎原因主要还算初期DDR3的频率偏低只有1066MHz,而那时候高端DDR2也是能达到这个频率的,而且同频下DDR2的性能更好, 价格更低,所以刚上市那两年DDR3其实不怎么受欢迎,直到后来DDR3的价格降下来,频率提到DDR2触碰不到1333MHz时才开始普及,这种现象其实在每次内存更新换代的时候都会有。
和上一代的DDR2相比,DDR3在许多方面作了新的规范,核心电压降低到1.5V,预取从4-bit变成了8-bit,这也是DDR3提升带宽的关键,同样的核心频率DDR3能够提供两倍于DDR2的带宽,此外DDR3还新增了CWD、Reset、ZQ、STR、RASR等技术。
DDR3内存与DDR2一样是240Pin DIMM接口,不过两者的防呆缺口位置是不同的,不能混插,常见的容量是512MB到8GB,当然也有单条16GB的DDR3内存,只不过很稀少。频率方面从800MHz起步,目前比较容量买到最高的频率是2400MHz,实际上有厂家推出了3100MHz的DDR3内存,只是比较难买得到,支持DDR3内存的平台有Intel的后期的LGA 775主板P35、P45、x38、x48等,LGA 1366平台,LGA 115x系列全都支持还有LGA 2011的x79,AMD方面AM3、AM3+、FM1、FM2、FM3接口的产品全都支持DDR3。
DDR4内存
DDR4在2014年登场的时候并没有重走DDR3发布的旧路,首款支持DDR4内存的是Intel旗舰级的x99平台,DDR4初登场的时候其实与高频DDR3没啥性能与价格上的优势,然而x99只支持DDR4内存,想用旗舰平台你也只能硬啃贵价内存,当然那些选择旗舰平台的玩家不会介意这些,DDR4内存真正走向大众其实已经是2015年8月Intel发布Skylake处理器与100系列主板之后的事情了。
从DDR1到DDR3,每一代DDR技术的内存预取位数都会翻倍,前三者分别是2bit、4bit及8bit,以此达到内存带宽翻倍的目标,不过DDR4在预取位上保持了DDR3的8bit设计,因为继续翻倍为16bit预取的难度太大,DDR4转而提升Bank数量,它使用的是Bank Group(BG)设计,4个Bank作为一个BG组,可自由使用2-4组BG,每个BG都可以独立操作。使用2组BG的话,每次操作的数据就是16bit,4组BG则能达到32bit操作,这其实变相提高了预取位宽。
DDR4内存的针脚从DDR3的240个提高到了284个,防呆缺口也与DDR3的位置不同,还有一点改变就是DDR4的金手指是中间高两侧低有轻微的曲线,而之前的内存金手指都是平直的,DDR4既在保持与DIMM插槽有足够的信号接触面积,也能在移除内存的时候比DDR3更加轻松。
DDR4内存的标准电压是1.2V,频率从2133MHz起步,目前最高是4200MHz,单条容量有4GB、8GB和16GB,目前已经很大程度的取代了DDR3,新的主板已经很少会提供DDR3内存插槽了,彻底进入到DDR4的时代只是时间的问题。
展望未来的DDR5
现在DDR4还没普及谈DDR5可能有点早,DDR5内存目前还在研发阶段,尚未有具体规范,所以厂商公布的很多规格都不是确定的,其目标是相比DDR4内存至少带宽翻倍,容量更大,同时更加节能,具体来说就是数据频率从目前1.6-3.2Gbps的水平提升到3.2-6.4Gbps,预取位宽从8bit翻倍到16bit,内存库提升到16-32个。至于电压,DDR4电压已经降至1.2v,DDR5有望降至1.1v或者更低。
在三星讨论的DDR5内存规范中,其目标跟美光基本一致,也是带宽至少翻倍,预取位宽也会翻倍,不过内存库数量还是16个,与美光公布的数据略有不同。
以上陈述便是主流内存条发展历史回顾,在时间点上,DDR5或许会在2017年完成规范制定,2019年开始生产,之后便是普及,不过大概还需要好久。