最近我对计算机系统的机制(呃,电子)很感兴趣,经过大量研究并查看了我的计算机的属性后,我发现了一些奇怪的事情。
大多数人都说更快的 RAM 意味着更快的 RAM。听起来很合逻辑吧?但在查看了我的计算机后,我发现我安装的 RAM 能够低频运行。它通常以 333 Mhz(DDR2 为 667)运行,时序为 5-5-5-15。然而,我用来查看 PC 的程序之一显示它能够以 266 Mhz 运行,时序为 4-4-4-12,以 200 Mhz 运行,时序为 3-3-3-9。
问题是,根据我的计算(只需将时序数除以时钟频率即可获得以秒为单位的延迟),3-3-3-9 时序下的 200 Mhz 实际上比 5-5-5-15 时序下的 333 Mhz 具有更好的延迟。
所以我的问题是:如果我运行的程序以真正随机的方式(而不是顺序读/写)访问内存,通过降低 RAM 时钟频率并选择更严格的时间,我是否真的可以提高系统的性能,或者我在某个地方犯了错误?
编辑:在您开始争论我对 RAM“速度”的误解之前,让我先定义一下“更快”的含义。RAM 既有延迟也有带宽。当我说“更快”时,我严格指的是延迟而不是带宽。在顺序读取/写入中,是的,带宽比延迟重要得多(RAM 以突发模式运行,通过将连续的数据行泵入 CPU 缓存来实现其最大带宽,即使 CPU 从未要求额外的内容)。然而,在随机访问中,延迟完全超出了带宽。
答案1
通常,与较低的 CAS 时序相比,更高的 MHz 会为您带来更多好处。在一般情况下,即使您的 CAS 时序可能从 4-4-4-12 增加到 5-5-5-15,获得的额外 133MHz 时钟速度将允许内存在较少的时间,从而在随机访问方面“更快”。
然而,您似乎偶然发现了一种边缘情况,尽管时钟速度较低,但较低的 CAS 时序比较高的 CAS 时序花费的时间更少。理论上,我认为如果您的数学计算正确,在这种情况下 100% 随机工作负载的性能会更好。但就像其他人所说的那样,还有其他因素需要考虑(主板等),这仅适用于一次只读取一个字的完全 100% 随机工作负载。对于您定义的情况,差异本来就很小。除了假设的随机工作负载之外的任何工作负载的性能都会低于以更高时钟速度运行 RAM 模块的性能。
在现实世界中,当需要权衡时,请选择更高的 MHz(或注册模块,或任何适合您需要的模块)。
答案2
所以我的问题是:如果我运行的程序以真正随机的方式(而不是顺序读/写)访问内存,通过降低 RAM 时钟频率并选择更严格的时间,我是否真的可以提高系统的性能,或者我在某个地方犯了错误?
这个问题很难回答,因为需要考虑很多变量。理论上,你应该能够提高那些程序的性能。这假设内存高度分散,或者你正在读取/写入少量数据。还要注意,你的整体系统性能可能会下降。最好的办法是试一试,因为这是一个非常简单的测试,假设你的 BIOS 可以访问这些设置。
答案3
您可以使用此处描述的性能指数:http://www.anandtech.com/show/7364/memory-scaling-on-haswell/10 我不确定它如何适用于低速内存,但在你的情况下:
333/5 = 66.6
266/4 = 66.5
200/3 = 66.7
因此从理论上讲,您选择哪种设置并不重要。