大家都知道,内存速度问题对系统性能的影响是举足轻重的,提到内存,便会让人们联想到两个关键的性能指标:带宽和延迟。这正如一辆跑车:我们希望它能够跑得快,同时也希望它是满负荷行驶。理想状况下,这两个指标必须相互匹配,否则将因为颠簸不稳而失败。但现实往往无法两全其美,我们只能优先选择其中的一个指标加以提高。
业界中对内存性能的说法各厂商的观点分道扬镳。例如,有些将内存速度无法提高归咎于延迟,有些觉得是总线宽度不够。
首先看看内存带宽的实际情况。无需专业的数学知识都可以计算下式:
带宽=总线宽度×总线频率×一个时钟周期内交换的数据包个数
例如,对于PC2700 DDR,DRAM芯片的核心频率是166 MHz。内存总线宽度是64 bit (即 8Bytes),一个时钟周期内可以交换两个数据包。那么它的带宽是166x8x2 = 2700MB/s
由此可见,有三种途径可以提高内存的带宽。这三种途径分别对应上式中的三个变量。
第一个最直接的方案是提高内存芯片的频率。在某些情况下,这是相当有效的。制造商们已经将DDR SDRAM的时钟频率大幅度地提高到了4GB/s 或250MHz(标准的是166MHz)。但实践却证明,这种极端的解决方案并没有使情况比标准频率的模块好多少。这似乎提示人们:在提高工作频率的同时需要增加延迟,以保证系统运行的稳定性。这种方案并未能真正提高内存的性能,而只是抬升了价格而已。值得一提的是,这种方法的弊端同样存在于DDR-II中。这就是为什么DDR-II大规模生产已有较长的时间,但其带宽和频率较其他的DDR并没有多大的提高。
另外一种更好的方案就是 :通过增加总线的宽度以提高每个时钟周期内交换的数据量。例如将64bit的总线宽度提高到128bit。总线宽度的增加意味着使用多个64bit的通道,延迟将不成为问题。每个通道在各自的标记模式下工作。但是价格将是对这个解决方案造成负面影响。为了使得双通道有效地工作,至少需要2个DIMM模块(这已经意味着较高的产品成本)。此外,还需要用128根信号线代替原来的64根,并且要求使用更多针脚的内存控制器。总之,布局和组件的安装将更为复杂,而且为了保证信号稳定,必须使用昂贵的6层PCB来代替廉价的4层PCB。这种解决方案对于服务器和工作站而言是可以接受的,但是对于主流pc机却并不合适。
第三个可能的解决方案就是改进乘法器。SDRAM的乘法器每个时钟周期可以产生1个64bit的数据包,而DDR SDRAM则可以产生2个。该方案只要求略微改进控制器芯片和内存芯片。
对于头两种方法,相信大家都比较熟悉了,第三种方法可以就少见些,其实就是早前曾炒作过的QBM技术,这里不讨论它市场的问题,只是针对技术作一下介绍,这样才可以更一步理解内存发展的情况。
数据存储体,即逻辑单元(被用于CPU的芯片访问)是偶数个的。QBM(四倍边带内存)技术将这些内存存储体分为若干对。第一个存储体的信号与控制器时钟同相位,而第二个存储体与控制器时钟的相位差为90度。另外,这种类型的内存还需要一个被称为QBM10的特殊开关,他将确定特定相位中哪一个存储体正在被访问。
深入一点说,QBM10由一个10bit 2-to-1的开关和一个10bit的寄存器组成,可以更均匀地分配控制器负载,降低工作周期中某些操作的执行时间,并提高电容比。此外还有一些微小的细节,例如写操作中成倍增加的正确窗口(即数据由正确的芯片组传送到内存模块中的时间间隔)
所有的这些功能模块都是相当简单的,QBM10也是,而且并不昂贵:48针脚,7x7mm面积。较TSOP-packaged DRAM芯片而言,成本增加量相当微小。但是,对于一个标准的无缓存DIMM 模块,还需要加上8个类似的开关以及一个频率发生器。因此,总成本是相当高的。对于价格问题,我们将稍后讨论它的解决方案。
而且,问题并没有简单到只是将开关放入内存模块。芯片组要求其他组件的支持,这一点常常因为与其他厂商相关而遇到障碍Intel公司在芯片市场上仍然占有相当大的份额,而且它的技术始终在进步。Rambus事件并不足于打破这个现状。但是,Intel并不热衷于发展QBM。在许多知名的厂商中。只有VIA和SiS支持这种类型的内存。而且SiS的积极性远不如VIA。
VIA的状况是可以理解的。这个公司不会坐观世界的发展,而是积极的关注着所有的新兴技术。VIA坚持着另外一个信念:他们不会积极推进并建立产业里程碑,而是尽可能发展已有的技术,以获得最大的性价比。前几年Intel将赌注押在Rambus,而VIA极力推崇PC133 SDRAM,就可以看出这一点。
现在,两个公司一致支持PC3200 DDR SDRAM。但是存在着一个问题:这项技术究竟该往哪个方向发展。尽管奔腾4已经对带宽进行了限制,但这种内存的存在时间必将长于Athlon XP。上面所讨论到的三种可能性的第一种是相当不现实的。因为受到技术能力的限制,DRAM厂商们不可能再提高内存的频率。Intel公司选择了第二种方案,并且已经开始装运dual-channel DDR芯片组。他们在i840芯片组之前就已经开始走这条路线了,尽管当时他们支持的是dual-channel direct RDRAM.
第二个方案就现今而言,似乎颇有市场。这正是为什么SiS和VIA都开始生产dual-channel DDR芯片组。首先,两条PC3200通道恰好满足了800MHz FSB的Pentium 4:8x800 = 6.4GB/s(这也正是为什么Intel公司会重新考虑对这种内存的看法)。第二,没有必要继续逼迫内存生产者:如果没有出现新的控制器,则没有必要对技术的发展做进一步的改变。此外,所有已有的PC3200模块都已经确保了可以支持6.4GB/sec的带宽。不过这个方案的未来前景却并不看好。从经济角度来看,四通道的配置似乎是毫无意义的。因为Pentium 4 的FSB频率在短期内(至少在DDR II上市之前)不大可能进一步提高。
当然,除了某些缺点之外第二个并不是一无是处的。事实上,它只有一个缺点:价格。主板将需要更高的成本:用户需要购买两个内存模块,因为单模块配置将不能稳定地运行。价格是一个大问题,但是随着电脑配件市场价格的不断地下跌,这个缺点将逐渐被淡化甚至不存在。