三个级别缓存都很重要
缓存分类
前面是把Cache作为一个整体来考虑的,现在要分类分析了。Intel从Pentium开始将Cache分开,通常分为一级高速缓存L1和二级高速缓存L2。
在以往的观念中,L1
Cache是集成在CPU中的,被称为片内Cache。在L1中还分数据Cache(I-Cache)和指令Cache(D-Cache)。它们分别用来存放数据和执行这些数据的指令,而且两个Cache可以同时被CPU访问,减少了争用Cache所造成的冲突,提高了处理器效能。
在P4处理器中使用了一种先进的一级指令Cache——动态跟踪缓存。它直接和执行单元及动态跟踪引擎相连,通过动态跟踪引擎可以很快地找到所执行的指令,并且将指令的顺序存储在追踪缓存里,这样就减少了主执行循环的解码周期,提高了处理器的运算效率。
以前的L2
Cache没集成在CPU中,而在主板上或与CPU集成在同一块电路板上,因此也被称为片外Cache。但从PⅢ开始,由于工艺的提高L2
Cache被集成在CPU内核中,以相同于主频的速度工作,结束了L2
Cache与CPU大差距分频的历史,使L2
Cache与L1
Cache在性能上平等,得到更高的传输速度。
L2Cache只存储数据,因此不分数据Cache和指令Cache。在CPU核心不变化的情况下,增加L2
Cache的容量能使性能提升,同一核心的CPU高低端之分往往也是在L2
Cache上做手脚,可见L2
Cache的重要性。现在CPU的L1
Cache与L2
Cache惟一区别在于读取顺序。
cpu的一级二三级缓存都是高速缓冲存储器,用来cpu存放即将要处理以及处理数据后的高效率小型仓库。跟内存的机制相似,从硬盘调出数据放入内存,cpu从内存调取数据,cpu正在工作的时候,把准备要工作的数据任务放在 缓存 中待命,等cpu处理完手上的数据任务,马上从缓存中调取数据进行作业。
缓存比内存的传输速度快得多。
有点空中加油的味道