仔细观察一下我们现有的系统,小到一颗CPU,大到一个在线交易系统。任何性能问题都可以通过一种方式有效的解决,这种方式就是缓存。不错,缓存几乎可以成为解决性能问题的银弹,百发百中。缓存的主要目的是降低数据访问延时,实现手段多种多样,下面对不同种类的缓存进行介绍。
CPU的缓存
能想到的最小粒度的缓存恐怕就是CPU的缓存了。CPU不但有缓存,而且将缓存分成了多种级别,如图1所示,分别是L1、L2和L3 3级缓存。其中L1和L2是一个核心独享的缓存,而L3是同一颗CPU内的多个核心共享的。图1架构是目前CPU中最常见的架构,而CPU关于缓存的架构细节比这个还要复杂。多数CPU是将缓存分为指令缓存和数据缓存2中类型的缓存,有些还有一种称为TLB(translation lookaside buffer)的缓存,用于实现虚拟内存到物理内存的快速转换。
图1 CPU缓存架构
CPU并非生而就有缓存,以Intel的CPU为例,其在1992年才在386 CPU中引入L1 Cache。而L3Cache的引入则到2008年才在Core i3中引入。如图2是不同