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

标签 caching memory-management operating-system

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

Cache memory (L1,L2,L3)

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

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

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

最佳答案

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

关于caching - 数据在处理之前是否从 RAM 通过缓存(L3、L2、L1)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36256909/

相关文章:

c - 堆栈内存有限制吗?

caching - HTML5 应用程序 list 移动支持

hadoop - `yarn.scheduler.maximum-allocation-mb` 和 `yarn.nodemanager.resource.memory-mb` 之间的区别?

java - 多线程调用单例方法会影响局部变量吗?

iphone - ARC 过早释放 ViewController

c - 我应该使用哪个编译标志 -> Os 或 O2?

linux - 在 linux 上从一开始就设置进程的 cpu 亲和性

flutter 缓存SVG图像

c++ - 对两个连续测量进行基准测试时不一致

mysql - 如何用mysql使redis缓存失效?