为什么要了解cache:
在学习linux kernel的过程,经常会cache的概念,从软件层面的page/buffer cache;再到硬件层面中CPU的L1 L2 L3 cache 、TLB,磁盘内部的硬件cache;以及编程时的cacheline对齐,slab着色等等。cache是我们始终绕不开的一个主题,本文主要介绍处理器内部的硬件高速缓存。
为什么要使用cache:
原因很简单,提速。CPU处理指令的速度远远快于访问主存的速度,若频繁的访问主存,会大幅拉低整个系统执行程序的效率,而CPU访问cache的速度则很快,快到和系统访问CPU内部寄存器的速度接近,所以使用cache能减少CPU访问主存的次数,从而达到系统提速的目的。
cache预备知识:
每个内存地址代表的存储单元是1 byte,cache和内存之间传输却不是以单个byte进行的,而是以cache lin