热点科技

标题: 简单小谈降内存时序对性能的影响 [打印本页]

作者: ricky-gz    时间: 2010-5-18 11:22
标题: 简单小谈降内存时序对性能的影响
本帖最后由 ricky-gz 于 2010-5-18 11:26 编辑

      内存负责向 CPU 提供软件和系统运算所需的原始数据,而目前 CPU 运行速度超过内存数据传输速度很多。因此,很多情况下,CPU 都需要等待内存提供数据,这就是常说的“CPU 等待时间”。


内存传输速度越慢,CPU 等待时间就会越长,系统整体性能受到的影响就越大。因此,快速的内存,是有效提升 CPU 效率和整机性能的关键之一。
  在实际工作时,无论什么类型的内存,在数据被传输之前,传送方必须花费一定时间去等待传输请求的响应,通俗点说,就是传输前,传输双方必须要进行必要的通信,而这样就会造成传输的一定延迟时间。
时序设置一定程度上反映出了该内存在 CPU 接到读取内存数据的指令后,到正式开始读取数据所需的等待时间。不难看出,同频率的内存,时序设置低的,更具有速度优势。

  上面只是给大家建立一个基本的延迟概念。而实际上,内存延迟的基本因素,绝对不止这些。内存延迟时间,有个专门的术语叫“Latency”。
要形象的了解延迟,我们不妨把内存当成一个存储着数据的数组,或者一个 EXCEL 表格,要确定每个数据的位置,每个数据都是以行和列编排序号来标示,在确定了行、列序号之后,该数据就唯一了。
内存工作时,在要读取或写入某数据,内存控制芯片会先把数据的列地址传送过去,这个 RAS 信号(Row Address Strobe,行地址信号)就被激活,
而在转化到行数据前,需要经过几个执行周期,然后接下来 CAS 信号(Column Address Strobe,列地址信号)被激活。在 RAS 信号和 CAS 信号之间的几个执行周期,就是 RAS-to-CAS 延迟时间。
在 CAS 信号被执行之后,同样也需要几个执行周期。
  CL 设置较低的内存,具备更高的优势,这可以从总的延迟时间来表现。内存总的延迟时间有一个计算公式,总延迟时间=系统时钟周期×CL模式数+存取时间(tAC)。
首先,来了解一下存取时间(tAC)的概念。tAC 是 Access Time from CLK 的缩写,是指最大 CAS 延迟时的最大数输入时钟,是以纳秒为单位的,与内存时钟周期是完全不同的概念,虽然都是以纳秒为单位。
存取时间(tAC)代表着读取、写入的时间,而时钟频率则代表内存的速度。
  举个例子,来计算一下总延迟时间。比如,一条 DDR333 内存,其存取时间为 6ns,其内存时钟周期为 6ns(DDR内存时钟周期=1X2/内存频率,DDR333 内存频率为 333,则可计算出其时钟周期为 6ns)。

我们在主板的 BIOS 中,将其 CL 设置为 2.5,则总的延迟时间=6ns X2.5+6ns=21ns。而如果 CL 设置为 2,那么总的延迟时间=6ns X2+6ns=18ns,就减少了 3ns 的时间。



  从总的延迟时间来看,CL 值的大小起到了很关键的作用。
所以,对系统要求高和喜欢超频的用户,通常喜欢购买 CL 值较低的内存。目前,各内存颗粒厂商除了从提高内存时钟频率来提高 DDR 的性能之外,
已经考虑通过更进一步的降低 CAS 延迟时间,来提高内存性能。不同类型内存的典型 CL 值并不相同。
  不过,并不是说 CL 值越低性能就越好,因为其它的因素会影响这个数据。例如,新一代处理器的高速缓存较有效率,这表示处理器比较少地直接从内存读取数据。
再者,列的数据会比较常被存取,所以 RAS-to-CAS 的发生几率也大,读取的时间也会增多。最后,有时会发生同时读取大量数据的情形,在这种情形下,相邻的内存数据会一次被读取出来,CAS 延迟时间只会发生一次。

以上是一些旧资料

目前主流主板BIOS中常见的内存参数设置选项主要有以下几种:CAS Latency Control(tCL)、RAS to CAS Delay(tRCD)、Row Precharge Timing (tRP)、Min RAS Active Timing(tRAS),

部分主板还提供了Command Per Clock(CMD)选项。除了上述常见参数设置外,大部分主板的BIOS中还提供了内存高级参数设置,

这些参数包括:Row to Row Delay(或RAS to RAS delay,tRRD)、Row Cycle Time(tRC)、Write Recovery Time(tWR)、Write to Read Delay(tWTR)、Refresh Period(tREF)等(如下图所示)。

需要提醒大家的是,不同主板厂商、不同品牌的BIOS在参数名称上可能存在一定差异,但是对应的缩写基本都是统一的。所以大家不用可以去记下参数的详细名称,只要记住对应的缩写就可以了。
     同时降低tCL、tRCD、tRP、tRAS四项参数获得的性能提升最为明显,不过与内存在默认状态下的性能相比,整体提升幅度也只有1%-2%左右(个别测试项目可能达到4%以上,但不具备代表性),
并不象一些用户想像的那样有大幅提升,大家在实际使用过程中很难察觉性能上的变化。而大幅降低参数延迟可能会造成内存稳定性下降。
另外,在单独调节tCL、tRCD、tRP、tRAS参数的测试中,tCL参数的变化对于内存性能的影响要比其他三项参数更加明显一些。
所以,如果内存在低时序下无法稳定工作,大家可以先逐步提高tRCD、tRP、tRAS参数的延时,然后再增加tCL参数延迟,直至内存能够稳定工作为止。

小对比测试


上下2张图的配置都一样,唯一不同的是:

上图的内存时序为 8-8-8-24

下图的内存时序为 9-9-9-24

这里选择了几个比较简单的软件做测试。

PI, Everest 内存测试,winrar,还有下面的 pcmark vantage

从上面的测试可以看出价低一格内存时序对性能的提高是非常小的 《4%


除了性能方面的微弱差别外,当CMD参数设置为1T时,内存的稳定性和超频能力较2T设置大幅下降。比如在DDR2-800频率、4-4-4-10时序下,将CMD参数设置为1T后绝大多数内存均无法开机。


主流DDR2内存在1T设置下的性能要好于2T,但总体1%-3%的性能提升在实际使用中可以忽略不计。
而在稳定性方面,1T设置下内存的稳定性较差,轻则影响内存超频能力,重则影响系统的稳定性;2T则能够充分保证内存稳定工作。
对于普通用户而言,将内存CMD参数设置为1T是不明智的做法,虽然可能获得轻微的性能提升,但代价是稳定性大幅下降,得不偿失。
当然,如果您是一位热衷于追求极致性能的硬件发烧友,那么通过更改内存的时序参数就获得1%-3%的性能提升还是值得尝试的。


作者: gogoxp    时间: 2010-5-18 12:04
貌似很专业·有些看不懂
作者: gogoxp    时间: 2010-5-18 12:05
最后我的理解就是能获得1%~3%的速度提升~这些量的提升有副作用么?
作者: vanechka    时间: 2010-5-19 09:22
好文章  其实这些参数对极限超频才有重要的意义 对普通用户来说 毫无意义
作者: del730    时间: 2010-5-19 10:16
虽然知道.不过还是顶下,没有设置回复可见的好帖一定要顶.
作者: del730    时间: 2010-5-19 10:19
其实一般来说,降低CL是提升最大的.
作者: 印第安纳琼斯    时间: 2010-5-19 16:00
本帖最后由 印第安纳琼斯 于 2010-5-19 16:08 编辑

说穿了,修改时序就是修改内存的时钟周期。这样听起来就很简单不是?

内存的各个单元都是按部就班的在工作,不正确的时序会造成工作发生冲突,就像坐电梯,这次人满了,就不能上人了。于是必须等下一个合适的时间周期,或者是发生ERROR。

顺带再扯一点来帮助理解……:

比如该DDRII800内存,它运行时最小的单位时间就是1/400M=2.5ns,它不论做什么,都只能严格按照这个周期去做。
再比如内存在400MHZ(DDRII800标准频率)运行时,某个时序最小支持到5,就是说内存需要至少2.5ns * 5 = 12.5ns的时间来工作,若是调为4,那么内存就只有 2.5ns * 4= 10ns 的时间来做同样的事,结果内存本身物理性能跟不上,就出错了。
作者: 印第安纳琼斯    时间: 2010-5-19 16:02
本帖最后由 印第安纳琼斯 于 2010-5-19 16:06 编辑

我这里还有点以前研究过的数据:

从上到下是内存读取、内存写入、内存复制、延时、还有频率和时序……有的测了两次,并排写在一起。

6229                6049
7014                7013
6071                5885
79.9                84.1

667                 667
4-4-4-12            5-5-5-15


6680                6884                6878               6900
6976                7002                6999               7006
6461                6638                6699               6705
75.4                72.8                72.5               72.5   72.3

800                 800                 800
5-5-5-15            4-5-5-12            4-5-5-14         4-5-5-15     

5-5-5-16            5-5-5-18
800                  800
6671                6713    6725
6986                6987    6991
6395                6524    6493
75.9                75.5    75.4
作者: albert2kiss    时间: 2010-5-19 16:48
一般很难感觉出时序的差异,
这些时序的参数,也挺专业的,给菜鸟看,最好是能总结成表格;
会比较直观
作者: del730    时间: 2010-5-19 17:06
我记得,如果要手动改时序的话,而本身条子又没有给出一个官方的低时序SPD信息,那么要算一个整体时间,改出来的效果才最好..
要说时序提升小?一点也不小
如果会改
CL从5,到4就提升了20%
但是不稳定性也大大增加.
反正我是不会改╮(╯_╰)╭
作者: wujidefeng    时间: 2010-5-19 19:26
7 8 7 20 1T 我就这么跑跑算了,唉。{:4_306:}
作者: pangauto    时间: 2010-5-19 20:39
提示: 作者被禁止或删除 内容自动屏蔽
作者: hhh0503    时间: 2010-5-19 21:32
这个就是要追求极限的了 基本都是内存这块的问题。
作者: lloovveerr    时间: 2010-5-19 22:21
对这个东西不关系  追求的是 内存容量大小
作者: pangares    时间: 2010-5-21 10:40
这个也就跑PI的时候能看出点区别……
作者: 印第安纳琼斯    时间: 2010-5-21 23:33
"频率上去后性能就补回来了"
这没错,响应时间是频率和时序相关的。
“要算一个整体时间,改出来的效果才最好."
大概就是这样的意思。看我的测试数据就懂了:该内存在5-5-5-15时序下的分数反而不及5-5-5-18更优。
关键是平衡{:4_303:}
作者: louisfego    时间: 2010-5-26 11:40
容量和稳定是王道{:4_320:}
作者: lloovveerr    时间: 2010-5-26 11:43
支持LS的
容量才是首选
作者: 割鸡鸡    时间: 2010-5-28 14:48
其实,差别不是很大的说……
作者: sunweipeng    时间: 2010-5-28 17:18
谢谢提供学习了!帮顶!!!!!!!
作者: 龙翔九天    时间: 2010-5-28 20:01
感觉容量够了,频率稍微低一点影响也不大
小参在平时根本感觉不出来区别,除了跑分就是YY。。
作者: q254829272    时间: 2010-8-10 15:00
  我感觉没什么效果
作者: liutianqi8585    时间: 2010-8-10 21:05
不错不错.很好...很不错




欢迎光临 热点科技 (https://itheat.com/activity/) Powered by Discuz! X3.2