1. CPU硬件内存模型
硬件内存简单架构,如下图所示:
上面是简单的硬件内存结构图,真实的结构图要比这复杂很多,现在的计算机一般都有三级缓存,比如我的电脑:
从图中可以看出我这台机器的 CPU 有三级缓存,一级缓存 (L1) 、二级缓存(L2)、三级缓存(L3),一级缓存是最接近 CPU 的,三级缓存是最接近内存的,每一级缓存的数据都是下一级缓存的一部分。三级缓存架构如下图所示:
现在我们对硬件内存架构有了一定的了解,那么问题来了,为什么需要在 CPU 和内存之间添加缓存?
因为CPU与内存的速度相差非常大,早期的计算机就是CPU与内存直接交互,由于CPU的速度非常快,导致CPU经常处于空闲等待状态,浪费了 CPU 高速的性能。缓存的出现就是用来消除 CPU 与内存之间差距的。缓存的速度要大于内存小于 CPU ,越靠近CPU的缓存越快, 比如CPU从L1级缓存拿数据是1ns, 那么CPU从从L2级缓存拿数