MCPLive > 杂志文章 > 在“内存墙”的困扰中寻找出路

在“内存墙”的困扰中寻找出路

2009-12-22韩歌民《微型计算机》2009年12月上

降低“内存墙”影响的两条基本途径

内存的性能指标主要有“带宽”(Bandwidth)和“等待时间”(Latency),从这两项指标的基本概念出发,更便于我们理解与“内存墙”问题相关的技术发展。

1.内存带宽及其提升技术

内存带宽(Bandwidth)指内存在单位时间内通过总线传输的数据量,可以用公式“内存带宽=(传输倍率×总线位宽×工作频率)÷8”进行计算,单位为“字节/秒”(Byte/s)。总线位宽指内存数据总线的位数,工作频率也就是内存的时钟频率,传输倍率是指每条内存数据线在一个时钟脉冲周期内传输数据的次数。显然,提高内存带宽的基本方法当就是公式中决定内存带宽的三个因素,即总线位宽、工作频率和传输倍率。

提高内存总线位宽:在现有采用独立内存芯片的架构下,进一步增加内存位宽受到了内存芯片数据线引脚数量的限制,所以通过增加位宽来提升内存带宽的方式,需要采用能有效消除这种引脚限制的新型内存架构。例如受到广泛关注的“内存与处理器集成”技术,就具有通过增加内存位宽来明显提升内存带宽的特点。

提高内存工作频率:单纯依靠提高工作频率来提升内存带宽的方法,会受到内存芯片发热量和工艺难度增加等方面的制约,所以采用这种方法进一步提高内存带宽的空间非常有限。

提高内存传输倍率:通过增加传输倍率来提升内存带宽的方法对大家来说更为熟悉。例如DDR内存是双倍数据率(Double Data Rate),其每条数据线都能够从存储单元预取2位数据,并分别在时钟脉冲的上升沿和下降沿各传输1位数据,即在一个时钟周期的传输倍率为2,在相同频率下DDR内存的数据传输量是SDRAM内存的2倍。同理,DDR2内存、DDR3内存的传输倍率分别为4、8,而Rambus的“百万兆字节带宽”技术则可将传输倍率提高到32,从而大幅度提升内存的带宽。

2.内存等待时间及其屏蔽技术

内存等待时间(Latency),即从处理器向内存发出访问请求到内存发出数据所用的时间,一般用“纳秒”(ns)来度量。相对于处理器的高速处理能力而言,内存等待时间显得过长,在现有内存技术还不能从根本上大幅度降低等待时间的情况下,利用高速缓存技术和并行处理技术来尽量降低“内存墙”的影响目前仍然是有效的方法。

内存等待时间屏蔽技术:将处理器可能访问的数据和程序代码预先保存到高速缓存中,尽可能地减少处理器对内存的直接访问,而是从高速的缓存中获取数据,就是一种典型的内存等待时间屏蔽(Latency Hiding)技术。这种基于缓存机制的技术一直是降低“内存墙”影响的常规方法。

硬件支持的并行处理技术:虽然由硬件支持的多线程、乱序执行等并行处理技术并不能直接解决“内存墙”问题,但多线程和乱序执行的并行处理机制,能够更有效地减少在处理任务过程中处理器资源被闲置的情况,当处理器处理大量任务时其“资源不被闲置”所产生的累积效应,就能使吞吐量明显增加,因此整体的处理效率就相应地有所提升,从而在一定程度上屏蔽了“内存墙”的影响。

分享到:

用户评论

共有评论(1)

  • 2010.01.14 02:39
    1楼

    商业上有句名言,“越简单的商业模式,是越成功的商业模式”,相信同样适用于IT领域。内存的存在本身是对当时技术不足的一种弥补,在SSD技术、材料学、纳米技术不断提高的现金,内存的存在还会持续多久?

    (0) (0) 回复

用户名:

密码: