在第二种情况下,每个事务处理都以随机产生的地址为目标。此时,产生库冲突的机会取决于很多因素,包括tRC和内存核心中库数量之间的相互作用。tRC值越小,开放页循环地越快,导致库冲突的损失越小。此外,内存技术具有的库越多,随机地址存取库冲突的机率就越小。
第三种情况,每个事务处理就是一次页命中,在开放页中寻址不同的列地址。控制器不必存取关闭页,允许完全利用总线,这样就得到一种理想的情况,即有效数据速率等于峰值速率。
第一种和第三种情况都涉及到简单的运算,随机情况受其它的特性影响,这些特性没有包括在DRAM或者内存接口中。内存控制器仲裁和排队会大幅改善库冲突频率,因为更有可能出现不产生冲突的事务处理,而不是那些导致库冲突的事务处理。
然而,增加内存队列深度未必增加不同内存技术之间的相对有效数据速率。例如,即使增加内存控制队列深度,XDR的有效数据速率也比GDDR3高20%。这种增量主因是XDR具有更高的库数量以及更低的tRC值。一般而言,更短的tRC间隔、更多的库数量以及更大的控制器队列能产生更高的有效频宽。
实际上,很多效率限制现象是与行存取粒度相关的问题。tRC约束本质上要求内存控制器从新开放的行中存取一定量的数据,以确保数据管线保持充满。事实上,为保持数据总线无中断地执行,在开放一个行之后,只须读取很少量的数据,即使不需要额外的数据。
另外一种减少内存系统有效频宽的主要特性被归类到列存取粒度范畴,它规定了每次读写作业必须传输的数据量。与之相反,行存取粒度规定每个行启动(一般指每个RAS的CAS作业)需要多少单独的读写作业。列存取粒度对有效数据速率具有不易于量化的巨大影响。因为它规定一个读取或写入作业中需要传输的最小数据量,列存取粒度为那些一次只需要很少数据量的系统带来了问题。如一个需要来自两列各8字节的16字节存取粒度系统,必须读取总共32字节以存取两个位置。因为只需要32个字节中的16个字节,系统的有效数据速率降低到峰值速率的50%。总线频宽和脉冲时间长度这两个结构参数规定了内存系统的存取粒度。
总线频宽是指连接内存控制器和内存之间的数据线数量。它设定最小的存取粒度,因为对于一个指定的内存事务处理,每条数据线必须至少传递一个数据位。而脉冲时间长度则规定对于指定的事务处理,每条数据线必须传递的位数量。每个事务处理中的每条数据线只传一个数据位的储存技术,其脉冲时间长度为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核心电路不能跟上IO电路速度的速增。由于数据不能再连续地从核心中取出以确保控制器需求,核心通常为IO提供比DRAM总线宽度更大的数据集。
本质上,核心传输足够的数据到接口电路,或者从接口电路传输足够的数据,以使接口电路保持足够长时间的繁忙状态,以便让核心准备下一个作业。如假设DRAM核心每个奈秒才能对作业响应一次。不过,接口可以支持每奈秒两位的数据速率。
DRAM核心每次作业取两个数据位,而不是一个数据位,因而不必浪费接口一半的容量。在接口传输数据之后,核心已经准备好响应下一个请求,而不需增加延迟。增加的核心预取导致最小脉冲时间长度增加为2,这将直接影响列存取粒度。
对于每个增加到总线宽度的额外讯号,内存接口将传输两个额外的数据位。因此具有最小脉冲时间长度为2的512位宽的储存系统,其存取粒度为1,024位(128字节)。很多系统对最小存取粒度的问题并不敏感,因为它们储存大量的数据。不过,某些系统依赖内存系统提供小的数据单元,并获益于更窄、更有效的内存技术。
随着储存技术向峰值数据速率发展,有效的数据速率变的越来越重要。在选择内存时,设计师必须深入了解已公布的内存规格,并明白某个特定的技术特性将对应用设计产生怎样的影响。内存系统设计师必须超越峰值数据速率规格,就像CPU设计师不再用GHz作为唯一的性能衡量标准一样。尽管对于内存接口而言,峰值数据速率依然是最终要的性能规格,但有效的数据速率已开始为系统设计师和架构师提供更大的空间。未来产品的性能将大幅取决于其内存系统的有效利用程度。(IT专家网)
信息发布:广州名易软件有限公司 http://www.myidp.net