哪个缓存对性能更重要?

时间:2012-11-06 21:17:02

标签: caching memory hardware

我对缓存有疑问,我不太了解

  • 考虑一下您可以在典型的高性能中找到的所有缓存 处理器。哪一个增加了程序的性能,哪个 只是将数据从一个位置复制到另一个位置哪些有 很少或没有影响?添加简要说明。

我能想到的唯一缓存是L1,L2,L3缓存。据我了解,L1缓存的目的是具有最低的延迟,但具有最高的未命中率。 L2 / L3缓存速度较慢,但​​丢失率较低。所有这些都提高了程序的性能。如果取出其中任何一个,则命中时间将增加,或者未命中率将增加。他们都没有“很少或没有效果”。因此,我不确定该写什么。

编辑:这实际上是我在修订期间遇到的过去的考试问题,如果有任何澄清,那么之前的问题是“在典型的高性能处理器中可以找到多少个缓存。列出它们并写一个句子解释每个人如何促进绩效增长。“

也许寄存器也算作缓存?或者也许是主要的记忆?但我不知道这会如何改变。

非常感谢任何帮助。

由于

1 个答案:

答案 0 :(得分:0)

有专门的缓存可能是您的任务的目标。例如,受害者缓存获取由于冲突而从L1,L2和L3缓存中弹出的关联。此缓存对于程序来说并不是非常有用,但如果删除则会增加未命中率。

除此之外,我可以想到“高性能处理器”意味着多核,其中缓存共享成为一个问题,而L1缓存不应该是共享资源,共享的L2或L3缓存可能会成为“只需将数据从一个位置复制到另一个位置”

http://en.wikipedia.org/wiki/CPU_cache