数据在处理之前是否从 RAM 通过缓存(L3、L2、L1)?

Hir*_*ren 5 caching operating-system memory-management

我一直在阅读有关缓存的内容,并从 Quora 中找到了一个有趣的答案

高速缓存(L1、L2、L3)

但在这里我有点困惑,如果CPU想要处理来自RAM的数据,那么它是否会像这样传递:

CPU <- 寄存器 <- L1 <- L2 <- L3 <- RAM

或者指令通过内存总线直接传递到寄存器?

Had*_*ais 5

缓存的定义是,它是一种比其下面的内存具有更低延迟(更快)的内存结构。除此之外,您可以按照自己想要的方式设计缓存系统。例如,当从主存储器加载数据块时,可以将其加载到高速缓存层次结构的所有级别,然后将该块的请求部分加载到寄存器中。确切的细节取决于微架构。另外,指令高速缓存和数据高速缓存可以具有不同的策略。