存储器技能的开展使存储器体系的功能失掉进步,只管峰值速率仍然是存储器技能最紧张的参数之一,但别的布局参数也极大地影响存储器体系的功能。本文将重点介绍存储器架构对体系功能的影响。 存储器技能大少数依据其运转速率来定名。比方,PC100 SDRAM器件是指数据速率为100MHz的存储技能,PC133则表现数据速率为133MHz,等等。只管这种定名的习气随着工夫开展而变革,但通常照旧能给潜伏买家提供关于存储器运转速率的信息。现实上,明天的主流存储技能都是依照其峰值数据速率来定名的,这将持续成为评价存储体系功能的要素之一。不外,在实践体系中,没有存储器能完全事情在其峰值速率下。 从写下令转换到读下令,在某个工夫拜访某个地点,以及革新数据等操纵都要求数据总线在肯定工夫内坚持停止形态,如许就不克不及充实使用存储器通道。别的,宽并行总线和DRAM内核预取都常常招致不用要的大数据量存取。在指定的工夫段内,存储器控制器能存取的有效数据称为无效数据速率,这很大水平上取决于体系的特定使用。无效数据速率随着工夫而变革,常低于峰值数据速率。在某些体系中,无效数据速率可降落到峰值速率的10[%]以下。 表1:每百周期产生两个总线转换时的无效数据速率和峰值数据速率。
通常,这些体系受害于那些能发生更高无效数据速率的存储器技能的变革。在CPU方面存在相似的征象,近来几年诸如AMD和 Transmeta等公司曾经指出,在丈量基于CPU的体系的功能时,时钟频率不是独一的要素。存储器技能曾经很成熟,峰值速率和无效数据速率大概并不比曩昔婚配的更好。只管峰值速率仍然是存储器技能最紧张的参数之一,但其他布局参数也可以极大地影响存储器体系的功能。 影响无效数据速率的参数 有几类影响无效数据速率的参数,其一是招致数据总线进入多少周期的中止形态。在这类参数中,总线转换、行周期工夫、CAS延时以及RAS到CAS的延时(tRCD)引发体系布局中的大局部耽误题目。 总线转换自己会在数据通道上发生十分长的中止工夫。以GDDR3体系为例,该体系对存储器的开放页不停写入数据。在这时期,存储器体系的无效数据速率与其峰值速率相称。不外,假定100个时钟周期中,存储器控制器从读转换到写。由于这个转换必要6个时钟周期,无效的数据速率降落到峰值速率的 94[%]。在这100个时钟周期中,假如存储器控制器将总线从写转换到读的话,将会丧失更多的时钟周期。这种存储器技能在从写转换到读时必要15个闲暇周期,这会将无效数据速率进一步低落到峰值速率的79[%]。表1表现出针几种高功能存储器技能相似的盘算后果。 显然,一切的存储器技能并不相反。必要许多总线转换的体系设计师可以选用诸如XDR、RDRAM大概DDR2这些更高效的技能来提拔功能。另一方面,假如体系能将处置事件分构成十分长的读写序列,那么总线转换对无效带宽的影响最小。不外,其他的增长耽误征象,比方库(bank)抵触会低落无效带宽,对功能发生负面影响。 DRAM技能要求库的页或行在存取之前开放。一旦开放,在一个最小周期工夫,即行周期工夫(tRC)完毕之前,统一个库中的差别页不克不及开放。对存储器开放库的差别页存取被称为分页脱漏,这会招致与任何tRC距离未满意局部相干的耽误。关于还没有开放充足周期以满意tRC间隙的库而言,分页脱漏被称为库抵触。而tRC决议了库抵触耽误工夫的是非,在给定的DRAM上可用的库数目间接影响库抵触发生的频率。 表2:差别存储技能的总峰值带宽以及控制器管脚数的总线带宽。
大少数存储器技能有4个大概8个库,在数十个时钟周期具有tRC值。在随机负载状况下,那些具有8个库的内核比具有4个库的内核所产生的库抵触更少。只管tRC与库数目之间的互相影响很庞大,但其累计影响可用多种办法量化。 存储器读事件处置 思索三种复杂的存储器读事件处置状况。第一种状况,存储器控制器收回每个事件处置,该事件处置与前一个事件处置发生一个库抵触。控制器必需在翻开一个页和翻开后续页之间等候一个tRC工夫,如许增长了与页循环相干的最大耽误工夫。在这种状况下的无效数据速率很大水平上决议于I/O,并次要受限于DRAM内核电路。最大的库抵触频率将无效带宽减少到以后最高端存储器技能峰值的20[%]到30[%]。 在第二种状况下,每个事件处置都以随机发生的地点为目的。此时,发生库抵触的时机取决于许多要素,包罗tRC和存储器内核中库数目之间的互相作用。tRC值越小,开放页循环地越快,招致库抵触的丧失越小。别的,存储器技能具有的库越多,随机地点存取库抵触的机率就越小。 第三种状况,每个事件处置便是一次页掷中,在开放页中寻址差别的列地点。控制器不用拜访封闭页,容许完全使用总线,如许就失掉一种抱负的状况,即无效数据速率即是峰值速率。 第一种和第三种状况都触及到复杂的盘算,随机状况受其他的特征影响,这些特征没有包罗在DRAM大概存储器接口中。存储器控制器仲裁和列队会极大地改进库抵触频率,由于更有大概呈现不发生抵触的事件处置,而不是那些招致库抵触的事件处置。 但是,增长存储器行列步队深度未必增长差别存储器技能之间的绝对无效数据速率。比方,即便增长存储器控制行列步队深度,XDR的无效数据速率也比 GDDR3高20[%]。存在这种增量次要是由于XDR具有更高的库数目以及更低的tRC值。一样平常而言,更短的tRC距离、更多的库数目以及更大的控制器行列步队能发生更高的无效带宽。 实践上,许多服从限定征象是与行存取粒度相干的题目。tRC束缚实质上要求存储器控制器重新开放的行中存取肯定量的数据,以确保数据管线坚持充溢。现实上,为坚持数据总线无中缀地运转,在开放一个行之后,只须读取很大批的数据,即便不必要分外的数据。 别的一种增加存储器体系无效带宽的次要特征被归类到列存取粒度范围,它划定了每次读写操纵必需传输的数据量。与之相反,行存取粒度划定每个行激活(一样平常指每个RAS的CAS操纵)必要几多独自的读写操纵。列存取粒度对无效数据速率具有不易于量化的宏大影响。由于它划定一个读或写操纵中必要传输的最小数据量,列存取粒度给那些一次只必要很多数据量的体系带来了题目。比方,一个必要来自两列各8字节的16字节存取粒度体系,必需读取统共32字节以存取两个地位。由于只必要32个字节中的16个字节,体系的无效数据速率低落到峰值速率的50[%]。总线带宽和脉冲工夫长度这两个布局参数划定了存储器体系的存取粒度。 表3:现在主流存储技能的存取粒度和总线带宽值。
总线带宽是指毗连存储器控制器和存储器件之间的数据线数目。它设定最小的存取粒度,由于关于一个指定的存储器事件处置,每条数据线必需至多通报一个数据位。而脉冲工夫长度则划定关于指定的事件处置,每条数据线必需通报的位数目。每个事件处置中的每条数据线只传一个数据位的存储技能,其脉冲工夫长度为1。总的列存取粒度很复杂:列存取粒度=总线宽度×脉冲工夫长度。 许多体系架构仅仅经过增长DRAM器件和存储总线带宽就能增长存储体系的可用带宽。终究,假如4个400MHz数据速率的毗连可完成 1.6GHz的总峰值带宽,那么8个毗连将失掉3.2GHz。增长一个DRAM器件,电路板上的连线以及ASIC的管脚就会增多,总峰值带宽响应地倍增。 主要的是,架构师盼望完全使用峰值带宽,这曾经到达他们经过物理设计存储器总线所能到达的最大值。具有256位甚或512位存储总线的图形控制器已并不鲜见,这种控制器必要1,000个,乃至更多的管脚。封装设计师、ASIC底层计划工程师以及电路板设计工程师不克不及找到接纳廉价的、贸易上可行的办法来对这么多信号举行布线的硅片地区。仅仅增长总线宽度来取得更高的峰值数据速率,会招致由于列存取粒度限定而低落无效带宽。 假定某个特定存储技能的脉冲工夫长度即是1,关于一个存储器处置,512位宽体系的存取粒度为512位(大概64字节)。假如控制器只必要一小段数据,那么剩下的数据就被糜费失,这就低落了体系的无效数据速率。比方,只必要存储体系32字节数据的控制器将糜费剩余的32字节,进而招致无效的数据速率即是50[%]的峰值速率。这些盘算都假定脉冲工夫长度为1。随着存储器接口数据速率增长的趋向,大少数新技能的最低脉冲工夫长度都大于1。 内核预取 一种称为内核预取的功效次要卖力增长最小的脉冲工夫长度。DRAM内核电路不克不及跟上I/O电路速率的速增。由于数据不克不及再一连地从内核中取出以确保控制器需求,内核通常为I/O提供比DRAM总线宽度更大的数据集。 实质上,内核传输充足的数据到接口电路,大概从接口电路传输充足的数据,以使接口电路坚持充足永劫间的忙碌形态,以便让内批准备下一个操纵。比方,假定DRAM内核每个纳秒才干对操纵呼应一次。不外,接口可以支持每纳秒两位的数据速率。 DRAM内核每次操纵取两个数据位,而不是一个数据位,因此不用糜费接口一半的容量。在接口授输数据之后,内核曾经预备好呼应下一个哀求,而不需增长延时。增长的内核预取招致最小脉冲工夫长度增长为2,这将间接影响列存取粒度。 关于每个增长到总线宽度的分外信号,存储器接口将传输两个分外的数据位。因而具有最小脉冲工夫长度为2的512位宽的存储体系,其取粒度为 1,024位(128字节)。许多体系对最小存取粒度的题目并不敏感,由于它们存储少量的数据。不外,某些体系依赖存储器体系提供小的数据单位,并获益于更窄、更无效的存储器技能。 小结 随着存储技能向峰值数据速率开展,无效的数据速率变的越来越紧张。在选择存储器时,设计师必需深化理解已发布的存储器标准,并明确某个特定的技能特征将对使用设计发生怎样的影响。存储器体系设计师必需逾越峰值数据速率标准,就像CPU设计师不再用千兆Hz作为独一的功能权衡尺度一样。只管关于存储器接口而言,峰值数据速率仍然是终极要的功能标准,但无效的数据速率已开端为体系设计师和架构师提供更大的空间。将来产品的功能将极大地取决于其存储器体系的无效使用水平。