您的当前位置:首页正文

ddr时序

来源:帮我找美食网


DDR 内存 既然叫做双倍速率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)可以使系统更稳定一些。

第三部分 超强的内存芯片

上述参数的设置不可能适用于每位用户。不同的内存芯片的电压、参数都不同,所以超频能力也不一样。下面给出超频能力很强的一些内存芯片,建议大家在选购时多加以留意。

·Winbond(华邦)系列颗粒::BH-5、CH-5、BH-6、CH-6 、UTT;

·Hynix(现代)系列颗粒:D43、D5;

·Micron(镁光)系列颗粒:-5B C、-5B G;

·Infineon(英飞凌)系列颗粒:B5、BT-6、BT-5、CE-5、BE-5;

·Samsung(三星)系列颗粒:TCB3、TCCC、TCC4、TCC5、TCCD。

DDR2与DDR的区别

与DDR相比,DDR2最主要的改进是在内存模块速度相同的情况下,可以提供相当于DDR内存两倍的带宽。这主要是通过在每个设备上高效率使用两个DRAM核心来实现的。作为对比,在每个设备上DDR内存只能够使用一个DRAM核心。技术上讲,DDR2内存上仍然只有一个DRAM核心,但是它可以并行存取,在每次存取中处理4个数据而不是两个数据。

DDR2与DDR的区别示意图

与双倍速运行的数据缓冲相结合,DDR2内存实现了在每个时钟周期处理多达4bit的数据,比传统DDR内存可以处理的2bit数据高了一倍。DDR2内存另一个改进之处在于,它采用FBGA封装方式替代了传统的TSOP方式。

然而,尽管DDR2内存采用的DRAM核心速度和DDR的一样,但是我们仍然要使用新主板才能搭配DDR2内存,因为DDR2的物理规格和DDR是不兼容的。首先是接口不一样,DDR2的针脚数量为240针,而DDR内存为184针;其次,DDR2内存的VDIMM电压为1.8V,也和DDR内存的2.5V不同。

DDR2的定义:

DDR2(Double Data Rate 2) SDRAM是由JEDEC(电子设备工程联合委员会)进行开发的新生代内存技术标准,它与上一代DDR内存技术标准最大的不同就是,虽然同是采用了在时钟的上升/下降延同时进行数据传输的基本方式,但DDR2内存却拥有两倍于上一代DDR内存预读取能力(即:4bit数据读预取)。换句话说,DDR2内存每个时钟能够以4倍外部总线的速度读/写数据,并且能够以内部控制总线4倍的速度运行。

此外,由于DDR2标准规定所有DDR2内存均采用FBGA封装形式,而不同于目前广泛应用的TSOP/TSOP-II封装形式,FBGA封装可以提供了更为良好的电气性能与散热性,为DDR2内存的稳定工作与未来频率的发展提供了坚实的基础。回想起DDR的发展历程,从第一代应用到个人电脑的DDR200经过DDR266、DDR333到今天的双通道DDR400技术,第一代DDR的发展也走到了技术的极限,已经很难通过常规办法提高内存的工作速度;随着Intel最新处理器技术的发展,前端总线对内存带宽的要求是越来越高,拥有更高更稳定运行频率的DDR2内存将是大势所趋。

DDR2与DDR的区别:

在了解DDR2内存诸多新技术前,先让我们看一组DDR和DDR2技术对比的数据。

1、延迟问题:

从上表可以看出,在同等核心频率下,DDR2的实际工作频率是DDR的两倍。这得益于DDR2内存拥有两倍于标准DDR内存的4BIT预读取能力。换句话说,虽然DDR2和DDR一样,都采用了在时钟的上升延和下降延同时进行数据传输的基本方式,但DDR2

拥有两倍于DDR的预读取系统命令数据的能力。也就是说,在同样100MHz的工作频率下,DDR的实际频率为200MHz,而DDR2则可以达到400MHz。

这样也就出现了另一个问题:在同等工作频率的DDR和DDR2内存中,后者的内存延时要慢于前者。举例来说,DDR 200和DDR2-400具有相同的延迟,而后者具有高一倍的带宽。实际上,DDR2-400和DDR 400具有相同的带宽,它们都是3.2GB/s,但是DDR400的核心工作频率是200MHz,而DDR2-400的核心工作频率是100MHz,也就是说DDR2-400的延迟要高于DDR400。

2、封装和发热量:

DDR2内存技术最大的突破点其实不在于用户们所认为的两倍于DDR的传输能力,而是在采用更低发热量、更低功耗的情况下,DDR2可以获得更快的频率提升,突破标准DDR的400MHZ限制。

DDR内存通常采用TSOP芯片封装形式,这种封装形式可以很好的工作在200MHz上,当频率更高时,它过长的管脚就会产生很高的阻抗和寄生电容,这会影响它的稳定性和频率提升的难度。这也就是DDR的核心频率很难突破275MHZ的原因。而DDR2内存均采用FBGA封装形式。不同于目前广泛应用的TSOP封装形式,FBGA封装提供了更好的电气性能与散热性,为DDR2内存的稳定工作与未来频率的发展提供了良好的保障。

DDR2内存采用1.8V电压,相对于DDR标准的2.5V,降低了不少,从而提供了明显的更小的功耗与更小的发热量,这一点的变化是意义重大的。

DDR2采用的新技术:

除了以上所说的区别外,DDR2还引入了三项新的技术,它们是OCD、ODT和Post CAS。

OCD(Off-Chip Driver):也就是所谓的离线驱动调整,DDR II通过OCD可以提高信号的完整性。DDR II通过调整上拉(pull-up)/下拉(pull-down)的电阻值使两者电压相等。使用OCD通过减少DQ-DQS的倾斜来提高信号的完整性;通过控制电压来提高信号品质。

ODT:ODT是内建核心的终结电阻器。我们知道使用DDR SDRAM的主板上面为了防止数据线终端反射信号需要大量的终结电阻。它大大增加了主板的制造成本。实际上,不同的内存模组对终结电路的要求是不一样的,终结电阻的大小决定了数据线的信号比和反射率,终结电阻小则数据线信号反射低但是信噪比也较低;终结电阻高,则数据线的信噪比高,但是信号反射也会增加。因此主板上的终结电阻并不能非常好的匹配内存模组,还会在一定程度上影响信号品质。DDR2可以根据自已的特点内建合适的终结电阻,这样可以保证最佳的信号波形。使用DDR2不但可以降低主板成本,还得到了最佳的信号品质,这是DDR不能比拟的。

Post CAS:它是为了提高DDR II内存的利用效率而设定的。在Post CAS操作中,CAS信号(读写/命令)能够被插到RAS信号后面的一个时钟周期,CAS命令可以在附加延迟(Additive Latency)后面保持有效。原来的tRCD(RAS到CAS和延迟)被AL(Additive Latency)所取代,AL可以在0,1,2,3,4中进行设置。由于CAS信号放在了RAS信号后面一个时钟周期,因此ACT和CAS信号永远也不会产生碰撞冲突。

总的来说,DDR2采用了诸多的新技术,改善了DDR的诸多不足,虽然它目前有成本高、延迟慢能诸多不足,但相信随着技术的不断提高和完善,这些问题终将得到解决

Bank (内存库) 在内存行业里,Bank至少有三种意思,所以一定要注意。 1、在SDRAM内存模组上,\"bank 数\"表示该内存的物理存储体的数量。(等同于\"行\"/Row) 2、Bank还表示一个SDRAM设备内部的逻辑存储库的数量。(现在通常是4个bank)。 3、它还表示DIMM 或 SIMM连接插槽或插槽组,例如bank 1 或 bank A。这里的BANK是内存插槽的计算单位(也叫内存库),它是电脑系统与内存之间数据总线的基本工作单位。只有插满一个BANK,电脑才可以正常开机。举个例子,奔腾系列的主板上,1个168线槽为一个BANK,而2个72线槽才能构成一个BANK,所以72线内存必须成对上。原因是,168线内存的数据宽度是64位,而72线内存是32位的。主板上的BANK编号从BANK0开始,必须插满BANK0才能开机,BANK1以后的插槽留给日后升级扩充内存用,称做内存扩充槽。

ECC是“Error Checking and Correcting”的简写,中文名称是“错误检查和纠正”。ECC是一种能够实现“错误检查和纠正”的技术,ECC内存就是应用了这种技术的内存,一般多应用在服务器及图形工作站上,这将使整个电脑系统在工作时更趋于安全稳定。

要了解ECC技术,就不能不提到Parity(奇偶校验)。在ECC技术出现之前,内存中应用最多的是另外一种技术,就是Parity(奇偶校验)。我们知道,在数字电路中,最小的数据单位就是叫“比特(bit)”,也叫数据“位”,“比特”也是内存中的最小单位,它是通过“1”和“0”来表示数据高、低电平信号的。在数字电路中8个连续的比特是一个字节(byte),在内存中不带“奇偶校验”的内存中的每个字节只有8位,若它的某一位存储出了错误,就会使其中存储的相应数据发生改变而导致应用程序发生错误。而带有“奇偶校验”的内存在每一字节(8位)外又额外增加了一位用来进行错误检测。比如一个字节中存储了某一数值(1、0、1、0、1、0、1、1),把这每一位相加起来(1+0+1+0+1+0+1+1=5)。若其结果是奇数,对于偶校验,校验位就定义为1,反之则为0;对

于奇校验,则相反。当CPU返回读取存储的数据时,它会再次相加前8位中存储的数据,计算结果是否与校验位相一致。当CPU发现二者不同时就作出视图纠正这些错误,但Parity有个缺点,当内存查到某个数据位有错误时,却并不一定能确定在哪一个位,也就不一定能修正错误,所以带有奇偶校验的内存的主要功能仅仅是“发现错误”,并能纠正部分简单的错误。

通过上面的分析我们知道Parity内存是通过在原来数据位的基础上增加一个数据位来检查当前8位数据的正确性,但随着数据位的增加Parity用来检验的数据位也成倍增加,就是说当数据位为16位时它需要增加2位用于检查,当数据位为32位时则需增加4位,依此类推。特别是当数据量非常大时,数据出错的几率也就越大,对于只能纠正简单错误的奇偶检验的方法就显得力不从心了,正是基于这样一种情况,一种新的内存技术应允而生了,这就是ECC(错误检查和纠正),这种技术也是在原来的数据位上外加校验位来实现的。不同的是两者增加的方法不一样,这也就导致了两者的主要功能不太一样。它与Parity不同的是如果数据位是8位,则需要增加5位来进行ECC错误检查和纠正,数据位每增加一倍,ECC只增加一位检验位,也就是说当数据位为16位时ECC位为6位,32位时ECC位为7位,数据位为64位时ECC位为8位,依此类推,数据位每增加一倍,ECC位只增加一位。总之,在内存中ECC能够容许错误,并可以将错误更正,使系统得以持续正常的操作,不致因错误而中断,且ECC具有自动更正的能力,可以将Parity无法检查出来的错误位查出并将错误修正。

目前一些厂商推出的入门级低端服务器使用的多是普通PC用的SD RAM,不带ECC功能,在选购时应该注意这个指标。

CAS延迟时间,就是指内存纵向地址脉冲的反应时间。CAS延迟时间是在一定频率下衡量支持不同规范内存的重要标志之一。在Intel公司的PC100内存技术白皮书中指出:“符合PC100标准的内存芯片应该以CAS Latency(以下简称CL)= 2的情况稳定工作在100MHZ的频率下。”CL=2所表示的意义是此时内存读取数据的延迟时间是两个时钟周期当CL=3时。内存读取数据的延迟时间就应该是三个时钟周期,因此,这“2”与“3”之间的差别就不仅仅局限于“1”了,而是1个时钟周期。工作在相同频率下的同种内存,将CL设置为2会得到比3更优秀的性能(当然你的内存必须支持CL=2的模式)。为了使主板正确地为内存设定CAS延迟时间,内存生产厂商都将其内存在不同工作频率下所推荐的CAS延迟时间记录在了内存PCB板上的一块EEPROM上,这块芯片就是我们所说的SPD。当系统开机时,主板BIOS会自动检测SPD中的信息并最终确定是以CL=2还是CL=3来运行。

CL(CAS Latency):为CAS的延迟时间,这是纵向地址脉冲的反应时间,也是在一定频率下衡量支持不同规范的内存的重要标志之一。

内存负责向CPU提供运算所需的原始数据,而目前CPU运行速度超过内存数据传输速度很多,因此很多情况下CPU都需要等待内存提供数据,这就是常说的“CPU等待时间”。内存传输速度越慢,CPU等待时间就会越长,系统整体性能受到的影响就越大。因此,快速的内存是有效提升CPU效率和整机性能的关键之一。

在实际工作时,无论什么类型的内存,在数据被传输之前,传送方必须花费一定时间去等待传输请求的响应,通俗点说就是传输前传输双方必须要进行必要的通信,而这种就

会造成传输的一定延迟时间。CL设置一定程度上反映出了该内存在CPU接到读取内存数据的指令后,到正式开始读取数据所需的等待时间。不难看出同频率的内存,CL设置低的更具有速度优势。

上面只是给大家建立一个基本的CL概念,而实际上内存延迟的基本因素绝对不止这些。内存延迟时间有个专门的术语叫“Latency”。要形象的了解延迟,我们不妨把内存当成一个存储着数据的数组,或者一个EXCEL表格,要确定每个数据的位置,每个数据都是以行和列编排序号来标示,在确定了行、列序号之后该数据就唯一了。内存工作时,在要读取或写入某数据,内存控制芯片会先把数据的列地址传送过去,这个RAS信号(Row Address Strobe,行地址信号)就被激活,而在转化到行数据前,需要经过几个执行周期,然后接下来CAS信号(Column Address Strobe,列地址信号)被激活。在RAS信号和CAS信号之间的几个执行周期就是RAS-to-CAS延迟时间。在CAS信号被执行之后同样也需要几个执行周期。此执行周期在使用标准PC133的SDRAM大约是2到3个周期;而DDR RAM则是4到5个周期。在DDR中,真正的CAS延迟时间则是2到2.5个执行周期。RAS-to-CAS的时间则视技术而定,大约是5到7个周期,这也是延迟的基本因素。

CL设置较低的内存具备更高的优势,这可以从总的延迟时间来表现。内存总的延迟时间有一个计算公式,总延迟时间=系统时钟周期×CL模式数+存取时间(tAC)。首先来了解一下存取时间(tAC)的概念,tAC是Access Time from CLK的缩写,是指最大CAS延迟时的最大数输入时钟,是以纳秒为单位的,与内存时钟周期是完全不同的概念,虽然都是以纳秒为单位。存取时间(tAC)代表着读取、写入的时间,而时钟频率则代表内存的速度。

举个例子来计算一下总延迟时间,比如一条DDR333内存其存取时间为6ns,而其内存时钟周期为6ns(DDR内存时钟周期=1X2/内存频率,DDR400内存频率为400,则

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

从总的延迟时间来看,CL值的大小起到了很关键的作用。所以对系统要求高和喜欢超频的用户通常喜欢购买CL值较低的内存。目前各内存颗粒厂商除了从提高内存时钟频率来提高DDR的性能之外,已经考虑通过更进一步的降低CAS延迟时间来提高内存性能。

不过,并不是说CL值越低性能就越好,因为其它的因素会影响这个数据。例如,新一代处理器的高速缓存较有效率,这表示处理器比较少地直接从内存读取数据。再者,列的数据会比较常被存取,所以RAS-to-CAS的发生几率也大,读取的时间也会增多。最后,有时会发生同时读取大量数据的情形,在这种情形下,相邻的内存数据会一次被读取出来,CAS延迟时间只会发生一次。

选择购买内存时,最好选择同样CL设置的内存,因为不同速度的内存混插在系统内,系统会以较慢的速度来运行,也就是当CL2.5和CL2的内存同时插在主机内,系统会自动让两条内存都工作在CL2.5状态,造成资源浪费。

因篇幅问题不能全部显示,请点此查看更多更全内容

Top