计算机内存性能
除了内存模块的带宽等级(例如 PC3200 或 PC2-6400)之外,还有多个数值用于量化内存性能。这些数值被称为“时序参数”(timing parameters),用于量化模块的响应时间和延迟。内存的结构类似于电子表格,具有许多行和列,每一行或列都包含一位数据。时序参数规定了执行诸如更改行或列以及读取数据等功能所需的时间。(除非是从总体和概括的意义上理解,否则理解具体的时序参数并不重要。)
对于 DDR-SDRAM 和 DDR2-SDRAM,内存供应商针对以下四个时序参数提供了以整个时钟周期或分数时钟周期为单位的数值:
CAS 延迟
“CAS 延迟”(列地址选通脉冲延迟,Column Access Strobe Latency),或称为“tCL”,指定了列选通信号与数据在输出引脚上可用之间的时间周期数。在顺序内存访问期间,行保持激活状态,只有列发生变化,这意味着更改列所需的时间对于整体内存性能至关重要。CAS 延迟(通常缩写为“CL”)是最常被引用的时序参数,也是影响整体性能最重要的内存时序参数。
RAS 到 CAS 延迟
“RAS 到 CAS 延迟”(行地址选通脉冲到 CAS 延迟,Row Access Strobe to CAS Delay),或称为“tRCD”,指定了从行被行选通信号激活,到该行中的列(定义内存单元或位)可以被读取或写入之间的时间周期数。当顺序访问内存时,行已经处于激活状态,只有列发生变化,因此 tRCD 对性能的影响很小。但当随机访问内存时,内存控制器必须停用旧行并激活新行,这会产生相当大的时序损耗。在这种情况下,快速的 tRCD 有助于提高内存性能。
RAS 预充电延迟
“RAS 预充电延迟”,或称为“tRP”,指定了完成一次行访问、停用该行、重新激活下一行并开始下一次行访问所需的时间。因此,切换行并选择下一个内存单元所需的时间是 tRP 和 tRCD 的总和。对于顺序内存访问,缓慢的 tRP 影响很小;对于随机内存访问,快速的 tRP 对整体内存性能有显著贡献。
预充电延迟
“预充电延迟”,或称为“tRAS”,指定了从访问(激活)一行到可以从该行读取数据之间的时间周期数。一旦该行被激活,就可以读取该行的数据而无需进一步的开销,直到到达该行的末尾,因此 tRAS 通常对整体内存性能影响不大。与任何时序参数一样,错误地设置 tRAS 可能会降低系统稳定性。
这四个内存时序参数总是按照给定的顺序排列,并用连字符分隔。例如,特定的 PC3200 DDR-SDRAM 模块的时序可能列为 2-2-2-5,这意味着该模块旨在以 CAS、tRCD 和 tRP 各 2 个时钟周期以及 tRAS 5 个时钟周期的时序运行。类似地,PC2-3200 DDR2-SDRAM 模块的时序可能列为 5-5-5-12,这意味着该模块旨在以 CAS、tRCD 和 tRP 各 5 个时钟周期以及 tRAS 12 个时钟周期的时序运行。(请注意,DDR 和 DDR2 的时序不可直接比较,因为 DDR2 在更短的时钟周期内运行。)
理解时序参数很重要的一点是:你配置系统使用的时序不应快于内存模块所支持的时序。每个现代内存模块都包含一个名为“SPD(串行存在检测,Serial Presence Detect)”的小型芯片,它存储了该模块的时序参数和其他特性,并将其报告给系统 BIOS。在正常情况下,模块会向 BIOS 报告其能力,BIOS 会将系统配置为使用适当的设置。然而,如果系统出现零星的内存错误,有时你无需更换内存,只需通过 BIOS 设置指定比内存模块额定支持的更为宽松的内存时序即可解决问题。此步骤可以让你继续使用需要特定内存的故障系统,而无需购买难以获取或极其昂贵的内存模块。
当你在旧系统中添加或更换内存时,请记住以下内存时序问题:
- 大多数主板可以使用任何 CL 时序的内存,尽管有些主板可能无法利用降低的延迟。极少数主板需要特定 CL 时序的内存。例如,需要 CL2.5 DDR 内存的主板可能无法使用 CL3 内存,而需要 CL3 内存的主板可能无法使用 CL2.5 内存正常工作。这就是使用 Crucial 等内存制造商提供的内存配置工具的原因,它们在列出兼容内存模块时会考虑 CAS 延迟问题。
- 有些主板允许混合使用具有不同 CL 时序的内存,尽管速度较快的内存几乎总是以已安装模块中最慢的那个模块的 CAS 延迟运行。有些主板在安装的所有内存具有相同的 CL 时序时可以正常工作,但如果安装了不同 CL 时序的混合模块,则会出现异常。我们怀疑这些问题是由电容等微小的电气差异引起的,但从未得到过关于此现象的合理解释。尽管根据我们的经验,混合 CL 时序的问题并不常见,但出于此原因,我们建议不要混合使用不同的 CL 时序。
- 大多数支持不同 CL 时序的主板会根据内存模块自身报告的信息自动进行最优配置,但有些主板需要在 BIOS 设置的“芯片组配置”(Chipset Configuration)部分手动设置内存时序。如果你在系统中安装了“高速”模块,建议检查 BIOS 设置,确保系统已配置为使用更快的 CL 时序。
- 使用保守的内存时序可以在牺牲极少性能的情况下,提高系统的稳定性和可靠性。例如,如果系统中安装了 DDR CL2.5 内存且崩溃过于频繁,你可以通过在 CMOS 设置中配置为使用 CL3 内存时序来提高系统的稳定性。以 CL3 运行的 CL2.5 内存比以 CL2.5 运行的 CL2.5 内存更稳定,也可能比以 CL3 运行的 CL3 内存更稳定。性能损失非常小,除非你运行内存基准测试程序,否则你甚至感觉不到。
Ron Morse 的建议
在 BIOS 中错误地设置内存时序参数可能会导致机器完全无法运行。某些使用 Intel 芯片组的系统在开机自检(POST)期间检测到超出范围的内存时序参数时会直接死机。这种情况发生在视频或任何其他设备初始化之前,因此机器看起来完全没反应。使用跳线清除 CMOS 重置为默认值通常是唯一的补救方法。
最简便的方法
如果所有关于内存细节的讨论都让你感到困惑,只要你不坚持追求极致的内存性能,就可以放心地忽略它。只需访问 Crucial (http://www.crucial.com) 或 Kingston (http://www.kingston.com) 网站,并使用内存配置器来查找你的主板或系统型号。选择列出的兼容你系统的最便宜模块,安装即可。
0条评论