公众号记得加星标⭐️,第一时间看推送不会错过。
随着处理器性能不断提升,内存能否及时提供数据,逐渐成为影响系统性能的重要因素。这个问题有一个广为人知的名字——“内存墙”(Memory Wall)。
内存墙并不是一个新概念。早在1990年代中期,学术界就已经开始系统讨论这一问题。此后,处理器架构、缓存设计和DRAM技术持续演进,但内存墙并没有因此消失,而是随着计算机性能提升,呈现出新的形态。
日本媒体PC Watch近日刊发的半导体行业专栏文章回顾了这一问题的发展历程,并指出,高速DRAM技术虽然能够在一定时期内显著提升数据传输速度,但其后续性能提升仍然存在局限。要持续缩小处理器与内存之间的差距,内存架构就需要不断变革。
内存墙的根源:
CPU跑得越来越快,内存却跟不上
内存墙问题最早受到系统性关注,可以追溯到1994年。
当年12月,美国弗吉尼亚大学计算机科学系的Wulf和McKee撰写了论文《Hitting the Memory Wall: Implications of the Obvious》,论文于1995年3月发表。这篇论文被认为是最早讨论内存墙未来影响的研究之一。
论文指出,CPU与DRAM的速度都在提升,但两者的提升速度并不相同:CPU的性能增长更快,DRAM逐渐难以跟上处理器的步伐。随着时间推移,两者之间的差距还可能继续扩大。
这一差距会直接影响计算机的运行效率。
当CPU需要的数据恰好存在于缓存中时,处理器能够较快地获得数据;但如果缓存未命中,CPU就必须等待数据从DRAM读取。在数据到达之前,处理器无法继续执行依赖这些数据的工作,计算资源也因此被浪费。
换句话说,处理器的运算能力再强,如果无法及时获得所需数据,也难以充分发挥性能。
早在1990年,相关技术资料就已经记录了处理器与DRAM速度提升不一致的问题。
从1982年到1988年,微处理器的工作频率在六年间提升了4倍,而256Kbit和1Mbit DRAM的访问时间缩短至原来的三分之一,折算成频率提升约为3倍。最初,微处理器能够在一个时钟周期内访问DRAM;到了20世纪80年代后期,这一过程已经需要两个至三个时钟周期。
这说明,处理器等待内存的现象,并非随着CPU性能大幅提升才突然出现,而是早已存在,并随着两者发展速度的分化而逐渐加剧。
从缓存到多核:
处理器不断寻找弥补差距的方法
面对CPU与DRAM之间的速度差距,处理器行业并没有停下脚步,而是持续调整架构,试图减少等待内存的时间。
20世纪90年代,CPU频率迅速攀升。Intel Pentium处理器的工作频率从1994年秋季的100MHz,提高到1995年年中的133MHz,并在1996年年中达到200MHz。
相比之下,DRAM的速度提升相对缓慢。
为了缩小差距,JEDEC在1993年将同步DRAM(SDRAM)纳入标准。随着SDRAM从1996年起逐渐普及,DRAM工作频率在1997年至1998年间提升至66MHz至100MHz。
但同期,Pentium II处理器的工作频率已经达到233MHz至400MHz。内存速度虽然有所提升,仍然难以追上处理器。
缓存因此成为重要的解决手段。
例如,1997年发布的Pentium II处理器采用了512KB二级缓存,访问时间为两个时钟周期。该缓存通过独立芯片与处理器集成在同一模块中。
随着处理器性能继续提升,缓存的容量和层级也不断增加。到2000年前后,二级缓存开始被集成进处理器芯片,三级缓存则可以采用外置方式。
其背后的逻辑很明确:尽可能让CPU从速度更快的缓存中获取数据,减少直接访问DRAM的次数,从而降低内存访问延迟对处理器性能的影响。
与此同时,CPU频率的增长也逐渐放缓。
1994年,国际固态电路会议(ISSCC)上公布的处理器时钟频率大约为100MHz;到了2001年,这一数字已经达到1GHz,七年间提升了10倍。
如果这一增长速度持续,处理器频率本应在2008年达到10GHz。但实际情况并非如此。2005年以后,CPU频率提升明显放缓,其中一个重要原因是需要控制功耗增长。
于是,处理器性能提升的重点逐渐从单纯提高频率转向多核架构。
双核、四核、八核处理器陆续出现,CPU开始通过增加核心数量提升并行处理能力。2018年,Intel还在ISSCC上展示了采用28个CPU核心的服务器处理器Skylake-SP。
然而,处理器性能提升方式的变化,并不意味着内存墙随之消失。随着核心数量增加,系统对内存数据供给能力的要求也发生变化。
内存墙从访问延迟转向带宽
当处理器不再主要依靠提高频率来获得性能增长,DRAM需要解决的问题也随之变化。
2000年代中期以后,CPU通过增加核心数量、引入同时多线程技术(SMT)以及扩大缓存容量等方式继续提升性能。与此同时,DRAM需要提高的重点逐渐转向输入输出带宽,也就是数据传输速度。
DDR SDRAM就是其中一个典型例子。
传统SDRAM在时钟信号的上升沿同步传输数据,而DDR SDRAM能够利用时钟信号的上升沿和下降沿传输数据。因此,在相同的时钟频率下,DDR可以将数据传输速度提高一倍。
此后,DRAM还通过提高内部时钟频率、将存储单元阵列划分为多个部分并行工作,以及采用预取数据等方式,持续提高数据传输速度。
针对不同应用场景,DRAM也发展出不同的技术路线。DDR系列主要用于服务器和PC等系统的主存储器;面向图形处理的GDDR追求更高的数据传输速度;面向移动设备的LPDDR则更加注重降低功耗。
这些技术在推出之初,往往能够带来明显的性能提升,但问题在于,这种提升并不能一直维持同样的速度。
根据原文整理的ISSCC论文数据,2000年至2023年间,主流DDR系列每个输入输出引脚的数据传输速度年均提升约1.15倍。
GDDR系列在推出时,数据传输速度约为同期DDR系列的2至3倍,但后续提升速度同样约为年均1.15倍,与DDR系列基本相当。
这意味着,采用新的架构,确实能够在一定阶段内显著提高DRAM的带宽,但随着时间推移,后续性能提升仍会趋于平缓。
高速DRAM并没有从根本上消除内存墙,而是暂时拉开了与旧技术之间的差距。随着处理器继续发展,内存系统仍可能再次成为限制性能的因素。
因此,内存墙之所以始终存在,并不只是因为DRAM速度不够快,更在于处理器和内存的性能提升节奏并不一致。即使一种新架构暂时缓解了问题,也不能保证这种优势长期维持。
从CPU频率提升,到缓存层级扩展,再到多核处理器和DRAM带宽升级,过去30年的技术演进不断改变内存墙的表现形式,却没有让这一问题彻底消失。
只要处理器与内存的性能提升仍然存在差距,计算系统就需要继续寻找新的解决方法。而持续提升数据传输能力,也意味着内存架构需要不断演进。
内存墙并不是一个已经被解决的历史问题,而是随着计算机系统发展不断变化的长期挑战。
(来源:编译自pcwatch)
*免责声明:本文由作者原创。文章内容系作者个人观点,半导体行业观察转载仅为了传达一种不同的观点,不代表半导体行业观察对该观点赞同或支持,如果有任何异议,欢迎联系半导体行业观察。
END
今天是《半导体行业观察》为您分享的第4573期内容,欢迎关注。
推荐阅读
★
★
★
★
★
★
★
★

加星标⭐️第一时间看推送~


