2013-02-19 62 views
8

由于处理器内部的缓存提高了指令执行速度。我想知道如果我们将缓存的大小增加到许多MB(如1 GB)会怎样。可能吗?如果增加高速缓存大小总是会导致性能提高?较大的高速缓存大小是否总能提高性能?

+0

缓存大小确实很重要。对于intel而言,它的尺寸,更多的指示信息,这就是为什么它们具有12MB​​三级缓存的原因。对于amd游戏而言,只要处理器使用它,缓存就会清空并重新填充。这就是intel认为分配的原因。而amd不。无论如何,我都是先发制人。 – 2013-05-06 13:20:38

回答

3

这是一种简化,但是,主要的原因之一缓存增加“速度”是,它提供了一种快速存储器非常靠近处理器 - 这是快得多比主存储器访问。因此,从理论上讲,增加缓存的大小应该允许将更多的信息存储在这个“快速”内存中,从而提高性能。在现实世界中,事情明显要比这更复杂,当然也会有增加的复杂性和成本,在如此大的高速缓存关联,并且与处理问题就像高速缓存一致性,高速缓存算法等

3

有缓存大小之间的权衡,打一方率和阅读与功耗上的延迟另一个。因此,第一个问题的答案是:技术上(可能)是可能的,但不太可能有意义,因为现代CPU中L3缓存的大小仅为几MB,读取延迟大约为几十个周期。

性能取决于比缓存大小更多的内存访问模式。更确切地说,如果程序主要是顺序的,缓存大小并不是什么大问题。如果有相当多的随机访问(例如当关联容器被积极使用时),缓存大小真的很重要。

以上是单一计算任务如此。在具有多个活动进程的多进程环境中,由于进程间争用的减少,更大的缓存大小总是更好。

相关问题