0

这是一个奇怪的问题,但也许这里有人知道:参考 Intel/AMD 最新的处理器,CPU 是否同时查找缓存和 DRAM?

这可能是节省周期的好方法(但可能更耗电)。

任何答案(最好有参考资料)都会有所帮助。谢谢!

4

1 回答 1

4

简单回答是不。处理器通常首先查找 L1。在 L1 未命中的情况下,它会查找 L2。如果未命中,则查找 DRAM。

缓存层次结构的重点是通过将最常访问的数据存储在缓存中来实现更快的数据访问。与缓存相比,DRAM 相当慢。随着缓存级别的增加(例如,从 L1 到 L2),访问延迟和容量也会增加。

为什么不向所有级别发送并行查找?这是因为能量和带宽的对话。查找所有缓存和 DRAM(如果可能)会产生大量能量开销。此外,当您向上遍历内存层次结构(例如,从最后一级缓存到 DRAM)时,带宽会下降。因此,在实践中,如果高速缓存不过滤大多数请求,DRAM 就无法提供足够的带宽来跟上处理器请求。简而言之,并行查找是不可行的。如果你真的有兴趣,可以看看最近的这篇论文,它提出了一种在缓存层次结构中定位数据的方法,而不是遍历缓存层次结构(这是常用的方法)。该提议的主要目标是通过消除不必要的缓存查找来节省能源。

注1:我在这里忽略了连贯性。

注2:可能有L3,甚至L4。此外,一些 I/O 设备可能使用 DMA 引擎直接连接到 DRAM。

于 2014-08-08T06:08:26.840 回答