博客专栏

EEPW首页 > 博客 > 超能课堂(258):一路走来,内存频率是如何增长了百倍?

超能课堂(258):一路走来,内存频率是如何增长了百倍?

发布人:超能网 时间:2021-01-09 来源:工程师 发布文章

作为现代计算机的基础,冯·诺依曼体系结构的计算机主要由运算器、控制器、存储器和输入输出设备组成,其中存储器在现代计算机里面指的就是内存和硬盘。

内存的主要作用就是处理器与外部之间进行通讯的时候,作为一个临时放置数据的缓冲区使用。早期的计算机并没有内存,是随着CPU的性能提高而产生,然后不断发展的。特别是21世纪以来,内存的频率得到了极大的提升,带宽的增加使得内存性能大幅度提高,这个幅度是惊人的。

11.jpg

平时我们常说的DDR4-4266隐含的意思是内存频率达到了4266MHz,要知道十年前,市场上主流的内存产品也就DDR3-1333,从表面上看,市场上售卖的内存频率的提升都三倍有余了,比这段时间的CPU频率提升还夸张。

事实上真的如此吗?下面会向大家介绍内存频率的发展变化,到底是怎么做到的。

SDR SDRAM:66MHz-133MHz

在此之前的上古时代太久远,技术上的差别可以把这部分略过,所以从插座变成DIMM的SDR SDRAM开始。如果对内存以往的历史感兴趣,可以通过我们以前的《超能课堂:从KB到GB,内存条所经过的7个历程》去了解。

SDR SDRAM(Single Data Rate SDRAM)就是一般所说的同步动态随机存取内存,使用插座是DIMM(Dual In-line Memory Module),其插座的接口为168Pin,金手指单边84Pin。内存的长和高分别是133.35mm和30.48mm,电压3.3V。内存的频率和CPU外频同步,64bit的位宽也和当时CPU的总线一致,使用单内存电脑就可以正常工作了。

10.jpg

最早的SDR SDRAM内存规格是PC66,顾名思义频率就是66MHz。随后提高到100MHz(俗称PC100),最后市场主流定格在133MHz(JEDEC文档里的PC133规范)。和PC66/PC100不同,PC133规范最初并不是由英特尔主导制定的,是威盛(VIA)联合三星、现代、日立、西门子、Micron、LG和NEC等公司提出的,这涉及到业界各厂商和英特尔(计划全力推广RDRAM内存接任)之间的一场利益之争,这场世纪之交的大战堪称十八路诸侯讨董卓。

1999-2000年凭借PC133规范,威盛分别在英特尔和AMD平台推出了Apollo Pro 133(693A)/Apollo Pro 133(694X)和KX133/KT133(A)芯片组,占据了芯片组市场的半壁江山。后来市场上曾出现标称PC150(150MHz)的内存,这是非标准规范,主要提供给超频爱好者使用。Kingmax后期采用了BGA封装生产的PC133/PC150 SDRAM内存(很多厂商到DDR2才使用BGA封装)在外观上已经很现代了,毕竟是20年前的产品,特别是对比前任EDO内存。

9.jpg

PC133也只是权宜之计,CPU对内存的性能需求已经到达一个瓶颈,虽然末期有厂商推出了称为PC166的高频率内存,但SDRAM已是强弩之末,再怎么折腾也提升有限,使用更快更强的新内存去满足新一代CPU是必然的。

如果说SDR SDRAM是现代内存的鼻祖,那么PC100规格的SDRAM内存就是日后内存发展的起点。

Rambus DRAM:600MHz-1066MHz

RDRAM的全称是Rambus DynamicRandom Access Memory,是由Rambus主导研发的内存规格,采用184Pin的RIMM插槽,电压2.5V。在参与制订完PC100 SDRAM后,如日中天的英特尔非常自信地认定RDRAM在技术上遥遥领先,钦定RDRAM成为其平台下一代内存的标准,并在1999年9月开始在Pentium III平台推出相关的芯片组,最高支持PC800 RDRAM内存。

Rambus和JEDEC之间关系并不好,同时授权费高昂,加上英特尔的强势,让夹在中间的厂商相当煎熬,有的甚至放弃不去做RDRAM。事实上RDRAM内存真的是太贵了,完全不是普通用户可以承受的。更无语的是,如果RDRAM内存数量不能插满主板的内存插槽,还要额外购买特殊空白卡插上去填满,电脑才能正常工作。这又多了一笔额外的花销,而且很麻烦。

8.jpg

从技术规格来说,RDRAM确实比当时市场上主流的PC-100 SDRAM内存领先很多,其特点就是频率非常高,所以带宽优势明显。虽然位宽只有16bit,低于SDR SDRAM的64bit,但是引入RISC思路设计的特殊架构,使得内存频率可以达到惊人的400MHz(高频率导致发热量大不得不穿马甲),同时数据一周期内两次传输,也就是说等效频率800MHz,后来还提高到PC1066 RDRAM(i850E芯片组支持),频率方面是市场上一般PC100/PC133 SDRAM内存难以企及的高度。

而且使用RDRAM内存的芯片组已开始支持双通道了(例如i840/i850芯片组),双通道PC800/PC1066 RDRAM的带宽分别达到3.2GB/s和4.2GB/s,相比起来PC100/PC133 SDRAM的带宽分别只有800MB/s和1.06GB/s,性能优势更大了。

结果大家都知道,最后RDRAM退出了PC市场。因为没等多久,性能上可以与它竞争,但价格不及一半的对手出场了。不过东边不亮西边亮,Rambus在游戏机市场找到了属于自己的天地,任天堂N64,索尼PlayStation 2和PlayStation 3(使用新一代XDR内存标准)上,都看到它的身影。

DDR SDRAM:200MHz-400MHz

PC133 SDRAM已经不能满足性能需求,RDRAM太贵不能用,不过很快,简单有效的解决办法找到了。

DDR SDRAM内存全称Dual Date Rate SDRAM,就是双倍速率的SDRAM,从名字就看出是SDR SDRAM的升级版了。它采用184Pin的DIMM插槽,电压2.5V。DDR SDRAM与原来的SDRAM最大的不同,在于一个时钟周期的上升沿与下降沿各传输一次信号,直接粗暴地把数据传输速度翻倍,而且还不会增加功耗。定址与控制信号方面与SDR SDRAM相同,仅在上升沿传输。这是为了兼顾当时内存控制器的兼容性与性能,方便厂商简单升级设备后就能进行生产。

虽然DDR SDRAM的制定工作在更早之前已经开展,但英特尔在RDRAM问题上的执着让业内的其他厂商站在一起,大大加快了相关工作推进的速度。

7.jpg

最早的DDR内存频率是200MHz的DDR-200(市场上基本没见过),接着是DDR-266、DDR-333,最后停在DDR-400,JEDEC的文档里名称是PC1600/PC2100/PC2700/PC3200。

2000年7月ALI(杨智)率先推出支持DDR内存的芯片组,英特尔平台的Aladdin Pro 5,AMD桌面平台的ALiMAGiK 1以及移动平台的MobileMAGiK 1。真正开始得到普及是大概一年后,各大芯片组厂商普遍已推出支持DDR-266内存的芯片组,相关主板推上了货架。

到了DDR-400时期,支持双通道DDR内存的芯片组出现了。2002年7月,英伟达针对AMD平台发布的nForce 2是最先支持双通道DDR-400内存的芯片组,从此英伟达在AMD平台的芯片组市场占据主导地位,维持了很长一段时间。2003年4月,i865PE/G/i875芯片组随支持800MHz FSB和超线程的Northwood核心Pentium 4发布,英特尔平台也支持双通道DDR-400内存了。这标志着双通道地位的确立,往后无论内存如何升级换代,支持双通道始终是主流市场处理器和芯片组规格上的标配。

从PC133 SDRAM到双通道DDR-400,这个过程前后大概也就2年左右的时间,主流电脑的内存带宽一下子翻了6倍,内存性能的跃升速度堪称光速。这是之前不可想象的,提高幅度比以后任何一代内存更迭得到的提升都要夸张。

自从DDR SDRAM内存推出后,原来SDRAM与RDRAM之间的鸿沟一下子缩窄了。RDRAM价格高昂,适用性差,在DDR内存频率迅速提升后,最终性能优势也没有了。至此,未来电脑内存的发展走向已经确定,就是沿着DDR SDRAM内存路线迭代升级。

DDR2 SDRAM:400MHz-800MHz

在完全确立DDR SDRAM内存的市场地位后,后续的内存实际上都是DDR内存的衍生品。由于单纯提高DDR内存在频率已经很难了,所以DDR2 SDRAM要寻找新的方法实现性能提升。

这种途径就是将DDR SDRAM内存在时钟周期内预读取由2bit变成了4bit,DDR2 SDRAM非常有效地让数据传输速度又一次翻倍。此外采用了240Pin的DIMM插槽,电压1.8V,还融入了CAS、OCD、ODT技术规范和中断指令让运行效率更高。以前SDR SDRAM/DDR SDRAM内存不少仍然采用TSOP封装,而DDR2 SDRAM都变成了BGA封装,从外观上看,DDR2 SDRAM就已经有比较大的区别了。

6.jpg

DDR2 SDRAM从DDR2-400(400MHz)开始,依次往上是DDR2-533、DDR2-667,最高至DDR2-800(频率赶上1999年的RDRAM了),JEDEC的文档里名称是PC2-3200/PC2-4200/PC2-5300/PC2-6400。

DDR2-1066有点特别,相关厂商之间达成了一定标准协议(三星甚至在自己的DDR2-1066内存上标示PC2-8500字样),但并非JEDEC组织制定的标准规范,不过市场上数量并不少(主要是AMD平台的支持)。虽然DDR2使用时间长范围广,但大部分时间都是和DDR或DDR3在市场上并存。

最早支持DDR2内存的是2004年6月英特尔发布的i915/i925芯片组,不过这两款芯片组评价不怎么样。而AMD由于K8架构是把内存控制器整合在处理器内部,所以直到2006年6月更换到AM2平台才开始支持DDR2内存。

DDR3 SDRAM:800MHz-2133MHz

DDR3 SDRAM推出的时间非常早,英特尔在2007年的5月份就发布了支持DDR3内存的P35芯片组(AMD刚转向使用DDR2内存没多久),这时候JEDEC甚至还没正式完成规范的制定工作。另一方面彻底普及花了好几年的时间,AMD直到2009年2月更迭到AM3平台才提供支持。

和上一代的DDR2 SDRAM相比,提升的途径也很直接,把预读取从4bit变成了8bit,再一次以同样方式让数据传输速度实现了翻倍,同时加入了CWD、Reset、ZQ、STR、RASR等技术。插槽仍然是240Pin的DIMM,不过防呆缺口位置改变了,电压降低到1.5V。无论DDR2 SDRAM还是DDR3 SDRAM,都是采取了相对保守、稳定的技术路线来提高内存性能。

5.jpg

DDR3 SDRAM初代产品是DDR3-800(800MHz),接着是DDR3-1066、DDR3-1333、DDR3-1600、DDR3-1866,最高到DDR3-2133(几乎三倍于初代DDR3内存频率),JEDEC的文档里名称是PC3-6400/PC3-8500/PC3-10600/PC3-12800/PC3-14900/PC3-17000。

在DDR3内存推向市场后,由于对比DDR2在性能上没有优势,但价格更高,处理器对内存性能的需求也没那么迫切(AMD甚至迟迟不支持),DDR2和DDR3内存共存了比较长的一段时间,厂商同一款芯片组分别有对应DDR2和DDR3版本也是常有的事(几乎除了内存插槽什么都一样)。直到DDR3-1333开始,频率提升让性能优势逐渐体现,同时价格也下来了,才真正成为市场的主流。

另外DDR3内存非常长寿,在市场上占据了有十年左右的时间,到第6代酷睿处理器发布的时候,仍然有厂商推出支持新CPU及DDR3内存的主板(OEM厂商这样搭配使用的并不少)。近两年,依然能看到有零星采用新芯片组支持8代/9代酷睿的主板也使用DDR3内存,但这些主板只不过是小众产品,已经不是市场主流了。

DDR4 SDRAM:1600MHz-3200MHz

同样在第6代酷睿的时候,DDR4内存推向了主流市场。事实上DDR4内存在前一年,也就是2014年8月X99芯片组发布的时候已经提供支持了。

在前面的介绍里可以看到,从DDR到DDR3,每次内存更新换代都会从预读取的位数翻倍方式实现频率提升,三者预读取的位数分别是2bit、4bit和8bit。不过DDR4在预读取位数上和DDR3内存一样是8bit,因为想翻倍到16bit在当时来说难度太大了,所以这次要换一种方式实现这个目标。

4.jpg

源于GDDR5的Bank Group(BG)设计就应运而生了,4个Bank作为一个BG,可自由使用2-4组BG,各个BG具备独立启动操作读、写等动作特性,让内存控制器和BG组之间实现交错操作,加上其他技术手段的加入,可以让等效频率可以提升到核心频率的16倍。简单来说,就是换了一种方式实现类似预读取位数翻倍的效果。另外DDR4 SDRAM的DIMM插槽提高到了288Pin,电压降低到1.2V,而且金手指并不是完全平直的,会有轻微曲线。

DDR4 SDRAM从DDR4-1600(1600MHz)起步,分别有DDR4-1866、DDR4-2133、DDR4-2400、DDR4-2666,最高到DDR4-3200,JEDEC的文档里名称是PC4-1600/PC4-1866/PC4-2133/PC4-2400/PC4-2666/PC4-3200。

事实上DDR4内存起步频率有点低,市场上真正见到的一般是从DDR4-2133开始。随着第7代酷睿以及Ryzen系列处理器的发布,DDR4内存彻底占领了内存市场,一直到现在。目前市面上有很多DDR4-3600、DDR4-3733、DDR4-4266的高频率内存,和所有的前一代产品一样,这些都是非标准规范,为发烧友们准备的。

DDR5 SDRAM:4800MHz-6400MHz

3.jpg

现阶段想更深入解析DDR5 SDRAM有点为时尚早,JEDEC在2020年7月才正式公布DDR5内存规范,实际产品还没推向市场。不过和以往每次迭代时候频率有重叠的情况有些不同,这次DDR5 SDRAM直接从4800MHz开始,最高到6400MHz。至于提高的秘诀,也是老套路了,再次从预读取下手,由8bit提高到16bit,当然也有其他方面技术的引入,具体可以看我们今年《超能课堂:DDR5内存是怎么做到频率翻倍的?》的介绍。

总结:技术与制造工艺进步的体现

从SDRAM到DDR5,选取了PC133 SDRAM、PC1066 RDRAM、DDR-400、DDR2-800、DDR3-2133、DDR4-3200、DDR5-4800做了个图表对比,能直观感受到内存频率的变化情况,在SDRAM到DDR4都选择了各自类型内存在JEDEC规范里的最高规格,RDRAM选择的是PC时期的最高规格。目前DDR5的核心频率未知,DDR5-4800可能是150MHz。

2.png

可以看到,从PC133 SDRAM到DDR5-4800,在过去20年的时间里,电脑内存的频率在不知不觉中提高了36倍有余。事实上PC133 SDRAM和DDR5-4800之间的频率差距不是真的有36倍那么多,准确来说那只是内存的等效频率。多年来,受制于物理材料的极限限制,核心频率提升幅度非常少,可以说是变化不大。当然,RDRAM这种特殊的串联结构有着天生的优势,核心频率可以达到超乎寻常高频的除外。

1.jpg

从表格中可以看出,JEDEC制定的内存规范标准里,核心频率一般都不超过200MHz,除了DDR3达到了266MHz(DDR5目前估计在150MHz-200MHz之间)。内存等效频率的提高是各种技术手段叠加的结果,这也是技术和制造工艺进步的体现,所以表格里从最早的PC66 SDRAM到最新的DDR5-6400,频率相差了近百倍。但这些放大的手段都存在各种的局限性,例如内存数据存储并不连续,那么一些预读取的方式就不会有什么帮助,也就达不到等效频率的速度了。

这就是内存一路走来,其频率变化的历程。

*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。



关键词:

相关推荐

技术专区

关闭