文档介绍:Cache  由于CPU工作的速度比RAM(动态内存)读写速度快,CPU从RAM读取数据时需要花费时间等待RAM进行读写,严重地降低了系统的效率。人们为了提高CPU读写程序和数据的速度,在RAM和CPU之间增加了Cache(高速缓冲存储器,简称高速缓存是静态内存)。在Cache中保存着RAM内容的部分副本,CPU在读写数据时,首先访问Cache,如果Cache中有欲读取的数据,就从Cache中读取数据。只有当Cache中没有所需数据时,CPU才去访问RAM。由于Cache的读写速度更快,因此CPU能迅速地完成数据的读写,进而提高计算机整体的工作速度。 CPU在Cache中找到所需信息的百分比称为Cache存储器的命中率。命中率是Cache的一个重要指标,命中率越高。表明CPU在Cache中找到所需信息的次数就越多,程序执行的速度就越快。影响命中率的因素很多,如Cache装满时进行内容替换的方式、Cache的大小及结构等。为了提高命中率,我们总希望在Cache中保存的是CPU经常要用或即将使用的那些数据。为了做到这一点,则必须按一定的算法,根据需要更换Cache的内容。通常采用“最近最少使用置换法”(LRU算法)。这种算法的特点是,当未命中时,淘汰Cache中那些最近以来最少使用的单元的内容,写入最新的内容。L1 Cache(一级缓存)是CPU第一层高速缓存。内置的L1高速缓存的容量和结构对CPU的性能影响较大,不过高速缓冲存储器均由静态RAM组成,结构较复杂,在CPU管芯面积不能太大的情况下,L1级高速缓存的容量不可能做得太大。一般L1缓存的容量通常在32—256KB,PentiumII/III的32KBL1Cache. ,它的L1Cache为128KB   L2 Cache(二级缓存)是CPU的第二层高速缓存,分内部和外部两种芯片。内部的芯片二级缓存运行速度与主频相同,而外部的二级缓存则只有主频的一半。L2高速缓存容量也会影响CPU的性能,现在家庭用CPU容量最大的是512KB,而服务器和工作站上用CPU的L2高速缓存更高达1MB-3MB。Cache初次出现 Cache并不是生来就有的,其实在286时代,计算机还没有Cache,这是因为当时的CPU速度不快,内存的速度完全可以满足系统的需求。直至386时代,当CPU的速度不断进步,内存的速度却没有得到有效的提升,因此,内存便成为了系统传输的瓶颈,这样就算CPU频率再上升,效能也不会增加。于是Cache便由此诞生了,早期的解决方案是在主板上加入32至64KB的Cache,Cache的速度比主存储器快,作为CPU和内存的缓冲区域。这样使得系统性能迅速提高。其实Intel在386时也曾考虑过将Cache改进CPU内,但由于技术原因,(书P22)CPU的成品率十分低,故此80386最后也没加上Cache。新的发展——处理器内置由于CPU的速度不断进步,而外置Cache受系统总线的影响已经不能完全满足CPU发展的要求,到486时代,Intel终于把Cache放进CPU核心内。80486内置了8KBCache,由于处于CPU内,令传输速度更有效率,但由于OnDieCache的容量太少,故此当时还是有OnBoardCache,称为L2Cache。而CPU内的Cache称