内存延迟仍然是影响计算机速度的关键因素吗?

内存延迟仍然是影响计算机速度的关键因素吗?

搜索低延迟 RAM 的实际好处似乎会发现在同样老旧的硬件上进行的非常古老的测试。CAS 延迟现在与计算机的其他性能特征相比是否基本上无关紧要?

即使在 2004 年的文章中,CAS 2 相对于 CAS 3 的优势也并非是 33%,而是平均快了 2-3%,几乎无关紧要。

我计划在一台新机器上进行一些相对占用大量内存的模拟,并正在为其制定规范。如果 CL11 相对于 CL17 的优势只有 3%,那么我真的不感兴趣。

2004年:https://www.extremetech.com/computing/56922-does-ram-latency-matter

2005年:https://forums.tomshardware.com/threads/ddr-memory-low-latency-how-much-benefit.642050/

2005年:https://forums.tomshardware.com/threads/low-cas-latency-and-real-system-improvement.466247/

2008年:https://www.tomshardware.com/reviews/ddr3-1333-speed-latency-shootout,1754-21.html

答案1

这取决于。

我有点想引用蜘蛛侠的话来回答你的Is memory latency still a key factor in computer speed?问题

从来就不存在。

但这样一来,就忽略了一小类操作,确实发生如果不是那么频繁的话。如今,许多任务一次处理多个字节,并且这些字节通常彼此相邻。

如果您的任务是处理来自随机位置的一小段数据,那么延迟将是一个重要因素。

另一方面,如果你正在处理数据量大,那么延迟实际上只会在每个内存块传输开始时产生影响,并且取决于内存传输块的大小。现代内存与硬盘一样,假设需要多个连续字节,并且将预取并一次“突发” 8 个字的数据。这种突发意味着延迟仅适用于请求开始时,如果任务实际上也需要其他字节,那么它已经在 CPU 缓存中,可以以最短的延迟使用。

延迟是有影响的,但可以通过 CPU 切换到不等待内存访问的任务、预测未来的内存需求并排队内存请求来减轻影响。

带宽始终比延迟更重要,但当程序停滞等待数据时,延迟会增加效率低下的问题。

这不仅仅是延迟增加 30% = 性能降低 30% 这么简单。在大多数情况下,延迟的影响可以通过 CPU 缓存、预取和其他智能设计来减轻。

这也是英特尔提倡超线程和其他技术来提高高要求的多线程任务性能。如果你有两个任务在单核上运行,而一个任务因内存请求而停滞,那么另一个任务很有可能可以利用 CPU 资源。希望到那时任务停滞时第一个任务的内存请求将完成,然后该任务可以再次运行,从而充分利用所有 CPU 资源。

相关内容