为什么要用数据缓存
现代电子计算机系统通常包含处理器和内存。内存通常慢于处理器百倍,因此处理器通常要等待内存的数据传输。
缓存就是为了协调不同速度的问题诞生的。缓存通常可以以很快的速度访问,但是容量通常显著小于被缓存对象。
为什么缓存能够提高速度
缓存命中时,可以直接以缓存访问速度取到数据。
缓存未命中时,处理器会去内存中访问,这种情况不仅没有加速,还浪费了时钟周期。
那么缓存为什么最终能加速?
因为局部性原理:1.时间局部性2.空间局部性.
因为局部性原理的存在可以显著提高缓存命中率,所以缓存能够加速.
时间局部性:如果处理器目前正在访问某个内存地址,就很有可能在不久的将来再次访问这个内存地址
空间局部性:如果处理器目前正在访问某个内存地址,那么它很有可能会在不久的将来访问邻近的内存地址