Chinaunix首页 | 论坛 | 博客
  • 博客访问: 190824
  • 博文数量: 49
  • 博客积分: 1756
  • 博客等级: 上尉
  • 技术积分: 602
  • 用 户 组: 普通用户
  • 注册时间: 2010-06-27 16:46
文章分类

全部博文(49)

文章存档

2014年(1)

2013年(17)

2012年(10)

2011年(5)

2010年(16)

我的朋友

分类: LINUX

2014-05-09 15:48:01

分类: LINUX DR内存既 然叫做双倍速率SDRAM(Dual date rate SDRSM),就是说是SDRAM的升级换代产品。从技术上分析,DDR SDRAM最重要的改变是在界面数据传输上,其在时钟信号上升缘与下降缘时各传输一次数据,这使得DDR的数据传输速率为传统SDRAM的两倍。那么大家 就应该知道了,我们所说的DDR400,DDR333,DDR266,他们的工作频率其实仅为那些数值的一半,也就是说DDR400工作频率为200MHz。 FSB与内存频率的关系   首先请大家看看表一:FSB(Front Side Bus:前端总线)和内存比率与内存实际运行频率的关系。 FSB/MEM比率 实际运行频率 1/01 200MHz 1/02 100MHz 2/03 133MHz 3/04 150MHz 3/05 120MHz 5/06 166MHz 7/10 140MHz 9/10 180MHz   对于大多数玩家来 说,FSB和内存同步,即1:1(DFI 用1/01表示)是使性能最佳的选择。而其他的设置都是异步的。同步后,内存的实际运行频率是FSBx2,所以,DDR400的内存和200MHz的FSB正好同步。如果你的FSB为240MHz,则同步后,内存的实际运行频率为240MHz x 2 = 480MHz。 表2更详尽列出了FSB与不同速度的DDR内存之间正确的设置关系   强烈建议采用1:1的FSB与内存同步的设置,这样可以完全发挥内存带宽的优势。 Command Per Clock(CPC)   可选的设置:Auto,Enable(1T),Disable(2T)。    Command Per Clock(CPC:指令比率,也有翻译为:首命令延迟),一般还被描述为DRAM Command Rate、CMD Rate等。由于目前的DDR内存的寻址,先要进行P-Bank的选择(通过DIMM上CS片选信号进行),然后才是L-Bank/行激活与列地址的选 择。这个参数的含义就是指在P-Bank选择完之后多少时间可以发出具体的寻址的L-Bank/行激活命令,单位是时钟周期。   显然,也是越短越好。但当随着主板上内存模组的增多,控制芯片组的负载也随之增加,过短的命令间隔可能会影响稳定性。因此当你的内存插得很多而出现不太稳定的时间,才需要将此参数调长。目前的大部分主板都会自动设置这个参数。   该参数的默认值为Disable(2T),如果玩家的内存质量很好,则可以将其设置为Enable(1T)。 CAS Latency Control(tCL)   可选的设置:Auto,1,1.5,2,2.5,3,3.5,4,4.5。   一般我们在查阅内存的时序参数时,如“3-4-4-8”这一类的数字序列,上述数字序列分别对应的参数是“CL-tRCD-tRP-tRAS”。这个3就是第1个参数,即CL参数。    CAS Latency Control(也被描述为tCL、CL、CAS Latency Time、CAS Timing Delay),CAS latency是“内存读写操作前列地址控制器的潜伏时间”。CAS控制从接受一个指令到执行指令之间的时间。因为CAS主要控制十六进制的地址,或者说 是内存矩阵中的列地址,所以它是最为重要的参数,在稳定的前提下应该尽可能设低。   内存是根据行和列寻址的,当请求触发后,最初是tRAS(Activeto Precharge Delay),预充电后,内存才真正开始初始化RAS。一旦tRAS激活后,RAS(Row Address Strobe )开始进行需要数据的寻址。首先是行地址,然后初始化tRCD,周期结束,接着通过CAS访问所需数据的精确十六进制地址。期间从CAS开始到CAS结束 就是CAS延迟。所以CAS是找到数据的最后一个步骤,也是内存参数中最重要的。   这个参数控制内存接收到一条数据读取指令后要等待多 少个时钟周期才实际执行该指令。同时该参数也决定了在一次内存突发传送过程中完成第一部分传送所需要的时钟周期数。这个参数越小,则内存的速度越快。必须 注意部分内存不能运行在较低的延迟,可能会丢失数据,因此在提醒大家把CAS延迟设为2或2.5的同时,如果不稳定就只有进一步提高它了。而且提高延迟能 使内存运行在更高的频率,所以需要对内存超频时,应该试着提高CAS延迟。   该参数对内存性能的影响最大,在保证系统稳定性的前提下,CAS值越低,则会导致更快的内存读写操作。CL值为2为会获得最佳的性能,而CL值为3可以提高系统的稳定性。注意,WinbondBH-5/6芯片可能无法设为3。 RAS# to CAS# Delay(tRCD)   可选的设置:Auto,0,1,2,3,4,5,6,7。   该值就是“3-4-4-8”内存时 序参数中的第2个参数,即第1个4。RAS# to CAS# Delay(也被描述为:tRCD、RAS to CAS Delay、Active to CMD),表示"行寻址到列寻址延迟时间",数值越小,性能越好。对内存进行读、写或刷新操作时,需要在这两种脉冲信号之间插入延迟时钟周期。在JEDEC规范中,它是排在第二的参数,降低此延时,可以提高系统性能。建议该值设置为3或2,但如果该值设置太低,同样会导致系统不稳定。该值为4时, 系统将处于最稳定的状态,而该值为5,则太保守。   如果你的内存的超频性能不佳,则可将此值设为内存的默认值或尝试提高tRCD值。 Min RAS# Active Timing(tRAS)   可选的设置:Auto,00,01,02,03,04,05,06,07,08,09,10,11,12,13,14,15。    该值就是该值就是“3-4-4-8”内存时序参数中的最后一个参数,即8。Min RAS# Active Time (也被描述为:tRAS、Active to Precharge Delay、Row Active Time、Precharge Wait State、Row Active Delay、Row Precharge Delay、RAS Active Time),表示“内存行有效至预充电的最短周期”,调整这个参数需要结合具体情况而定,一般我们最好设在5-10之间。这个参数要根据实际情况而定,并 不是说越大或越小就越好。   如果tRAS的周期太长,系统会因为无谓的等待而降低性能。降低tRAS周期,则会导致已被激活的行地址会 更早的进入非激活状态。如果tRAS的周期太短,则可能因缺乏足够的时间而无法完成数据的突发传输,这样会引发丢失数据或损坏数据。该值一般设定为CAS latency + tRCD + 2个时钟周期。如果你的CAS latency的值为2,tRCD的值为3,则最佳的tRAS值应该设置为7个时钟周期。为提高系统性能,应尽可能降低tRAS的值,但如果发生内存错误 或系统死机,则应该增大tRAS的值。   如果使用DFI的主板,则tRAS值建议使用00,或者5-10之间的值。 Row Precharge Timing(tRP)   可选的设置:Auto,0,1,2,3,4,5,6,7。    该值就是“3-4-4-8”内存时序参数中的第3个参数,即第2个4。Row Precharge Timing (也被描述为:tRP、RAS Precharge、Precharge to active),表示"内存行地址控制器预充电时间",预充电参数越小则内存读写速度就越快。    tRP用来设定在另一行能被激活之前,RAS需要的充电时间。tRP参数设置太长会导致所有的行激活延迟过长,设为2可以减少预充电时间,从而更快地激 活下一行。然而,想要把tRP设为2对大多数内存都是个很高的要求,可能会造成行激活之前的数据丢失,内存控制器不能顺利地完成读写操作。对于桌面计算机 来说,推荐预充电参数的值设定为2个时钟周期,这是最佳的设置。如果比此值低,则会因为每次激活相邻紧接着的bank将需要1个时钟周期,这将影响DDR内存的读写性能,从而降低性能。只有在tRP值为2而出现系统不稳定的情况下,将此值设定为3个时钟周期。   如果使用DFI的主板,则tRP值建议2-5之间的值。值为2将获取最高的性能,该值为4将在超频时获取最佳的稳定性,同样的而该值为5,则太保守。大部分内存都无法使用2的值,需要超频才可以达到该参数。 Row Cycle Time(tRC)   可选的设置:Auto,7-22,步幅值1。   Row Cycle Time(tRC、RC),表示“SDRAM行周期时间”,它是包括行单元预充电到激活在内的整个过程所需要的最小的时钟周期数。    其计算公式是:row cycle time (tRC) = minimum row active time(tRAS) + row precharge time(tRP)。因此,设置该参数之前,你应该明白你的tRAS值和tRP值是多少。如果tRC的时间过长,会因在完成整个时钟周期后激活新的地址而 等待无谓的延时,而降低性能。然后一旦该值设置过小,在被激活的行单元被充分充电之前,新的周期就可以被初始化。   在这种情况下,仍会导致数据丢失和损坏。因此,最好根据tRC = tRAS + tRP进行设置,如果你的内存模块的tRAS值是7个时钟周期,而tRP的值为4个时钟周期,则理想的tRC的值应当设置为11个时钟周期。 Row Refresh Cycle Time(tRFC)   可选的设置:Auto,9-24,步幅值1。    Row Refresh Cycle Time(tRFC、RFC),表示“SDRAM行刷新周期时间”,它是行单元刷新所需要的时钟周期数。该值也表示向相同的bank中的另一个行单元两次 发送刷新指令(即:REF指令)之间的时间间隔。tRFC值越小越好,它比tRC的值要稍高一些。   如果使用DFI的主板,通常tRFC的值不能达到9,而10为最佳设置,17-19是内存超频建议值。建议从17开始依次递减来测试该值。大多数稳定值为tRC加上2-4个时钟周期。 Row to Row Delay(RAS to RAS delay)(tRRD)   可选的设置:Auto, 0-7,每级以1的步幅递增。   Row to Row Delay,也被称为RAS to RAS delay (tRRD),表示"行单元到行单元的延时"。该值也表示向相同的bank中的同一个行单元两次发送激活指令(即:REF指令)之间的时间间隔。tRRD值越小越好。    延迟越低,表示下一个bank能更快地被激活,进行读写操作。然而,由于需要一定量的数据,太短的延迟会引起连续数据膨胀。于桌面计算机来说,推荐tRRD值设定为2个时钟周期,这是最佳的设置,此时的数据膨胀可以忽视。如果比此值低,则会因为每次激活相邻紧接着的bank将需要1个时钟周期,这将 影响DDR内存的读写性能,从而降低性能。只有在tRRD值为2而出现系统不稳定的情况下,将此值设定为3个时钟周期。   如果使用DFI的主板,则tRRD值为00是最佳性能参数,4超频内存时能达到最高的频率。通常2是最合适的值,00看上去很奇怪,但有人也能稳定运行在00-260MHz。 Write Recovery Time(tWR)    可选的设置:Auto,2,3。   Write Recovery Time (tWD),表示“写恢复延时”。该值说明在一个激活的bank中完成有效的写操作及预充电前,必须等待多少个时钟周期。这段必须的时钟周期用来确保在预充电发生前,写缓冲中的数据可以被写进内存单元中。同样的,过低的tWD虽然提高了系统性能,但可能导致数据还未被正确写入到内存单元中,就发生了预充电操作,会导致数据的丢失及损坏。   如果你使用的是DDR200和266的内存,建议将tWR值设为2;如果使用DDR333或DDR400,则将tWD值设为3。如果使用DFI的主板,则tWR值建议为2。 Write to Read Delay(tWTR)   可选的设置:Auto,1,2。    Write to Read Delay (tWTR),表示“读到写延时”。三星公司称其为“TCDLR (last data in to read command)”,即最后的数据进入读指令。它设定向DDR内存模块中的同一个单元中,在最后一次有效的写操作和下一次读操作之间必须等待的时钟周期。    tWTR值为2在高时钟频率的情况下,降低了读性能,但提高了系统稳定性。这种情况下,也使得内存芯片运行于高速度下。换句话说,增加tWTR值,可以 让内容模块运行于比其默认速度更快的速度下。如果使用DDR266或DDR333,则将tWTR值设为1;如果使用DDR400,则也可试着将tWTR的 值设为1,如果系统不稳定,则改为2。 Refresh Period(tREF)   可选的设置:Auto, 0032-4708,其步进值非固定。   Refresh Period (tREF),表示“刷新周期”。它指内存模块的刷新周期。   先请看不同的参数在相同的内存下所对应的刷新周期(单位:微秒,即:一百万分之一秒)。?号在这里表示该刷新周期尚无对应的准确数据。   1552= 100mhz(?.??s)   2064= 133mhz(?.??s)   2592= 166mhz(?.??s)   3120= 200mhz(?.??s)   ---------------------   3632= 100mhz(?.??s)   4128= 133mhz(?.??s)   4672= 166mhz(?.??s)   0064= 200mhz(?.??s)   ---------------------   0776= 100mhz(?.??s)   1032= 133mhz(?.??s)   1296= 166mhz(?.??s)   1560= 200mhz(?.??s)   ---------------------   1816= 100mhz(?.??s)   2064= 133mhz(?.??s)   2336= 166mhz(?.??s)   0032= 200mhz(?.??s)   ---------------------   0388= 100mhz(15.6us)   0516= 133mhz(15.6us)   0648= 166mhz(15.6us)   0780= 200mhz(15.6us)   ---------------------   0908= 100mhz(7.8us)   1032= 133mhz(7.8us)   1168= 166mhz(7.8us)   0016= 200mhz(7.8us)   ---------------------   1536= 100mhz(3.9us)   2048= 133mhz(3.9us)   2560= 166mhz(3.9us)   3072= 200mhz(3.9us)   ---------------------   3684= 100mhz(1.95us)   4196= 133mhz(1.95us)   4708= 166mhz(1.95us)   0128= 200mhz(1.95us)    如果采用Auto选项,主板BIOS将会查询内存上的一个很小的、名为“SPD”(Serial Presence Detect )的芯片。SPD存储了内存条的各种相关工作参数等信息,系统会自动根据SPD中的数据中最保守的设置来确定内存的运行参数。如过要追求最优的性能,则需 手动设置刷新周期的参数。一般说来,15.6us适用于基于128兆位内存芯片的内存(即单颗容量为16MB的内存),而7.8us适用于基于256兆位 内存芯片的内存(即单颗容量为32MB的内存)。注意,如果tREF刷新周期设置不当,将会导致内存单元丢失其数据。   另外根据其他的 资料显示,内存存储每一个bit,都需要定期的刷新来充电。不及时充电会导致数据的丢失。DRAM实际上就是电容器,最小的存储单位是bit。阵列中的每 个bit都能被随机地访问。但如果不充电,数据只能保存很短的时间。因此我们必须每隔15.6us就刷新一行。每次刷新时数据就被重写一次。正是这个原因DRAM也被称为非永久性存储器。一般通过同步的RAS-only的刷新方法(行刷新),每行每行的依次刷新。早期的EDO内存每刷新一行耗费15.6us的时间。因此一个2Kb的内存每列的刷新时间为15.6?s x2048行=32ms。   如果使用DFI的主板,tREF和tRAS一样,不是一个精确的数值。通常15.6us和3.9us都能稳定运行,1.95us会降低内存带宽。很多玩家发现,如果内存质量优良,当tREF刷新周期设置为3120=200mhz(?.??s)时,会得到最佳的性能/稳定性比。 Write CAS# Latency(tWCL)   可选的设置:Auto,1-8   Write CAS Latency (tWCL),表示“写指令到行地址控制器延时”。SDRAM内存是随机访问的,这意味着内存控制器可以把数据写入任意的物理地址,大多数情况下,数据通常写入距离当前列地址最近的页面。tWCL表示写入的延迟,除了DDRII,一般可以设为1T,这个参数和大家熟悉的tCL(CAS-Latency)是相对的,tCL表示读的延迟。 DRAM Bank Interleave   可选的设置:Enable, Disable    DRAM Bank Interleave,表示“DRAM Bank交错”。这个设置用来控制是否启用内存交错式(interleave)模式。Interleave模式允许内存bank改变刷新和访问周期。一个bank在刷新的同时另一个bank可能正在访问。最近的实验表明,由于所有的内存bank的刷新周期都是交叉排列的,这样会产生一种流水线效应。   虽然interleave模式只有在不同bank提出连续的的寻址请求时才会起作用,如果处于同一bank,数据处理时和不开启interleave一样。CPU必须等待第一个数据处理结束和内存bank的刷新,这样才能发送另一个地址。目前所有的内存都支持interleave模式,在可能的情况下我们建议打开此项功能。   对于DFI主板来说,任何情况下该设置都应该是Enable,可以增大内存的带宽。Disable对将减少内存的带宽,但使系统更加稳定。 DQS Skew Control   可选的设置:Auto,Increase Skew,Decrease Skew    DQS Skew Control,表示“DQS时间差控制”。稳定的电压可以使内存达到更高的频率,电压浮动会引起较大的时间差(skew),加强控制力可以减少skew,但相应的DQS(数据控制信号)上升和下降的边缘会出现电压过高或过低。一个额外的问题是高频信号会引起追踪延迟。DDR内存的解决方法是通过 简单数据选通脉冲来增加时钟推进。   DDRII引进了更先进的技术:双向的微分I/O缓存器来组成DQS。微分表示用一个简单脉冲信号和一个参考点来测量信号,而并非信号之间相互比较。理论上提升和下降信号应该是完全对成的,但事实并非如此。时钟和数据的失谐就产生了DQ-DQS skew。   如下图所示。   对于DFI主板来说,建议设置为Increase Skew可以提升性能,而Decrease Skew在牺牲一定性能的情况下,可以增加稳定性。 DQS Skew Value   可选的设置:Auto,0-255,步进值为1。   当我们开启了DQS skew control后,该选项用来设定增加或减少的数值。这个参数对系统的影响并不很敏感。 对于DFI主板来说,开启"Increase Skew"选项后,可以将该值设为50-255之间的值。值越大,表示速度越快。 DRAM Drive Strength   可选的设置:Auto,1-8,步进值为1。   DRAM Drive Strength(也被称为:driving strength),表示“DRAM驱动强度”。这个参数用来控制内存数据总线的信号强度,数值越高代表信号强度越高,增加信号强度可以提高超频的稳定性。但是并非信号强度高就一定好,三星的TCCD内存芯片在低强度信号下性能更佳。    如果设为Auto,系统通常会设定为一个较低的值。对使用TCCD的芯片而言,表现会好一些。但是其他的内存芯片就并非如此了,根据在DFI NF4主板上调试和测试的结果,1、3、5 、7都是性能较弱的参数,其中1是最弱的。2、4、6、8是正常的设置,8提供了最强的信号强度。TCCD建议参数为3、5或7,其他芯片的内存建议设为6或8。   DFI用户建议设置:TCCD建议参数为3、5、7,其他芯片的内存建议设为6或8。 DRAM Data Drive Strength   可选的设置:Auto,1-4,步进值为1。   DRAM Data Drive Strength表示“DRAM数据驱动强度”。这个参数决定内存数 据总线的信号强度,数值越高代表信号强度越高。它主要用于处理高负荷的内存读取时,增加DRAM的驾驭能力。因此,如果你的系统内存的读取负荷很高,则应 将该值设置为高(Hi/High)。它有助于对内存数据总线超频。但如果你并没有超频,提升内存数据线的信号强度,可以提高超频后速度的稳定性。此外,提 升内存数据总线的信号强度并不能增强SDRAM DIMM的性能。因此,除非你内存有很高的读取负荷或试图超频DIMM,建议设置DRAM Data Drive Strength的值为低(Lo/Low)。   要处理大负荷的数据流时,需要提高内存的驾驭能力,你可以设为Hi或者High。超频时,调高此项参数可以提高稳定性。此外,这个参数对内存性能几乎没什么影响。所以,除非超频,一般用户建议设为Lo/Low。    DFI用户建议设置:普通用户建议使用level 1或3,如果开启了CPC,可能任何高于1的参数都会不稳定。部分用户开启CPC后能运行在3。更多的人关闭CPC后2-4都能够稳定运行。当然最理想的参数是开启CPC后设为level4。 Strength Max Async Latency   可选的设置:Auto,0-15,步进值为1。    Strength Max Async Latency目前还没能找到任何关于此项参数的说明,不知道其功能。感觉网友的经验,在进行Everest的LatencyTest时,可以看出一些差 别。在我的BH-6上,参数从8ns到7ns在Latency Test的测试结果中有1ns的区别。从7ns调低6ns后,测试结果又减少了2ns。   DFI主板建 议设置:BIOS中的默认值为7ns,建议大家在5-10之间调节。6ns对内存的要求就比较高了,建议使用BH-5和UTT芯片的用户可以尝试一下,但 对TCCD不适用。7ns的要求低一些,UTT和BH-5设为7n比较适合超频。8ns对UTT和BH-5就是小菜一碟,8ns时TCCD通常能稳定运行 在DDR600,如果想超频到DDR640就必须设为9ns甚至更高了。 Read Preamble Time   可选的设置:Auto,2.0-9.5,步进值为0.5。    Read Preamble Time这个参数表示DQS(数据控制信号)返回后,DQS又被开启时的时间间隔。Samsung早期的显存资料显示,这个参数是用以提升性能的。DQS信号是双向的,无论从图形控制器到DDR SGRAM还是从DDR SGRAM到图形控制器都起作用。   DFI主板建议设置:BIOS中的该值设置为Auto时,实际上此时执行的是默认值5.0。建议大家在4.0-7.0之间调节,该值越小越好。 Idle Cycle Limit   可选的设置:Auto,0-256,无固定步进值。   Idle Cycle Limit这个参数表示“空闲周期限制”。这个参数指定强制关闭一个也打开的内存页面之前的memclock数值,也就是读取一个内存页面之前,强制对该页面进行重充电操作所允许的最大时间。   DFI主板建议设置:BIOS中的该值设置为Auto时,实际上此时执行的是默认值256。质量好的内存可以尝试16-32,华邦(WINBOND)BH-5颗粒的产品能稳定运行在16。Idle Cycle Limit值越低越好。 Dynamic Counter   可选的设置:Auto, Enable, Disable。    Dynamic Counter这个参数表示“动态计数器”。这个参数指定开启还是关闭动态空闲周期计数器。如果选择开启(Enable),则会每次进入内存页表(Page Table)就强制根据页面冲突和页面错误(conflict/page miss:PC/PM)之间通信量的比率而动态调整Idle Cycle Limit的值。这个参数和前一个Idle Cycle Limit是密切相关的,启用后会屏蔽掉当前的Idle Cycle Limit,并且根据冲突的发生来动态调节。   DFI主板建议设置:BIOS中的该值设置为Auto和关闭和一样的。打开该设置可能会提升性能,而关闭该设置,可以使系统的更稳定。 R/W Queue Bypass   可选的设置:Auto,2x,4x,8x,16x。    R/W Queue Bypass表示“读/写队列忽略”。这个参数指定在优化器被重写及DCI (设备控制接口:Device Control Interface)最后一次的操作被选定前,忽略操作DCI的读/写队列的时间。这个参数和前一个Idle Cycle Limit是相类似,只是优化器影响内存中的读/写队列。   DFI主板建议设置:BIOS中的该值默认为16x。如果你的系统稳定,则保留该值。但如果不稳定,或者要超频,就只有降低到8x甚至更低的4x或2x。该值越大,则说明系统性能越强,该值越小,则会是系统越稳定。 Bypass Max   可选的设置:Auto, 0x-7x, 步进值为1。   Bypass Max表示“最大忽略时间”。这个参数表示优化器选择否决之前,最后进入DCQ(Dependence Chain Queue)的可以被优化器忽略的时间。仔细研究后,我觉得这个参数会影响内存到CPU内存控制器的连接。   DFI主板建议设置:BIOS中的该值默认为7x。建议4x或7x,两者都提供了很好的性能及稳定性。如果你的系统稳定,则保留该值。但如果不稳定,或者要超频,就只有降低到8x甚至更低的4x或2x。该值越大,则说明系统性能越强,该值越小,则会是系统越稳定。 32 Byte Granulation   可选的设置:Auto,Disable (8burst),Enable(4burst)。   32 Byte Granulation表示"32位颗粒化"。当该参数设置为关闭(Disable)时,就可以选择突发计数器,并在32位的数据存取的情况下,最优化数据总线带宽。因此该参数关闭后可以达到最佳性能的目的。   DFI主板建议设置:绝大多数情况下,建议选择Disable(8burst)选项。开启Enable (4burst)可以使系统更稳定一些。
阅读(1612) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~