-1

我有一个关于缓存的问题,我不太了解

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

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

编辑:这实际上是我在修订过程中遇到的一个过去的考试问题,如果有任何澄清的话,之前的问题是“你可以在典型的高性能处理器中找到多少个缓存。列出它们并写一句话来解释每个有助于提高性能。”

也许寄存器也算作缓存?或者也许是主要的记忆?但我看不出这会如何改变任何事情。

任何帮助将非常感激。

谢谢

4

1 回答 1

0

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

除此之外,我可以想到“高性能处理器”意味着多核,其中缓存共享成为一个问题,虽然 L1 缓存不应该是共享资源,但共享的 L2 或 L3 缓存可能成为“简单的副本”从一个位置到另一个位置的数据"

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

于 2012-11-06T21:27:34.550 回答