首先把缓存的百度百科看一看吧:
http://baike.baidu.com/view/907.htm
在百科里我们可以看出缓存的一些特征。
“在计算机科学领域,缓存指的是一组数据的集合,这些数据来自于储存在其他地方或先前计算的结果,而获取或运算出这些数据的代价非常昂贵,为此,把这些结果数据保存起来,让下一次需要这些数据的时候直接使用,而不用从新获取或计算,这就大大提高了系统效率。”
“缓存是为了解决CPU速度和内存速度的速度差异问题。内存中被CPU访问最频繁的数据和指令被复制入CPU中的缓存,这样CPU就可以不经常到象“蜗牛”一样慢的内存中去取数据了,CPU只要到缓存中去取就行了,而缓存的速度要比内存快很多。”
——从这两段可以看出,CPU和内存之间的数据搅浑速度有着非常巨大的差异,CPU很快,而内存就显得太慢了。所以需要一种速度介于CPU和内存之间的“桥梁”,缓存的角色就是这个桥梁。它会从内存中得到CPU最优先调用的数据,并以比内存高的多的交换速度来支持CPU的工作。
“RAM又分两种,一种是静态RAM,SRAM;一种是动态RAM,DRAM。前者的存储速度要比后者快得多,我们现在使用的内存一般都是动态RAM。”
“缓存通常都是静态RAM,速度是非常的快, 但是静态RAM集成度低(存储相同的数据,静态RAM的体积是动态RAM的6倍), 价格高(同容量的静态RAM是动态RAM的四倍)。”
——从这两段里我们就可以知道为什么会有L1、L2乃至L3缓存的区别了。作为最高速的静态RAM,它的体积和成本都非常不利于“扩张”,想获得更大的缓存往往需要在晶体管数量、核心面积上做出难以让人接受的牺牲,所以静态RAM一般都是作为L1缓存。而L2缓存不同于L1缓存,它多是一种高速的动态RAM(L1是静态哦),和内存是一个类型,但却比内存又要快出不少,不过解决了体积和成本的问题,成为了速度介于L1缓存和内存之间的桥梁角色,可以说L2缓存是在利用比内存高的速度来支持L1的工作。而L3缓存的情况,由此推断,也不难想象了吧。
“目前某些CPU中,还会带有三级缓存,它是为读取二级缓存后未命中的数据设计的—种缓存,在拥有三级缓存的CPU中,只有约5%的数据需要从内存中调用,这进一步提高了CPU的效率。”
其实百科原文里也有关于L3的叙述,这里出现了一个概念就是“命中率”,毕竟缓存里存储的数据并不一定就是上一级别需要调用的数据,如果在缓存里找不到需要的数据,那么就CPU就不得不访问慢速的普通DRAM,也就是内存。AMD现在的K10就在以L3为卖点为宣传,其实无非就是提供了容量更大,速度又比内存这种普通DRAM速度快的“缓冲空间”来提高CPU对缓存数据的命中率罢了,其目的就是增加数据交换的效率。
不过目前的测试表示,把K10的L3屏蔽掉,在部分测试中CPU性能下降了5%~10%,这个幅度是大是小就要看您是从哪个角度来说了。不过总的来说L3确实还是给K10带来了比较明显的性能增幅,当然,同样明显的是,L3并不是什么革命性的玩意。
L3 Cache(三级缓存),分为两种,早期的是外置,现在的都是内置的。而它的实际作用即是,L3缓存的应用可以进一步降低内存延迟,同时提升大数据量计算时处理器的性能。降低内存延迟和提升大数据量计算能力对游戏都很有帮助。而在服务器领域增加L3缓存在性能方面仍然有显著的提升。比方具有较大L3缓存的配置利用物理内存会更有效,故它比较慢的磁盘I/O子系统可以处理更多的数据请求。具有较大L3缓存的处理器提供更有效的文件系统缓存行为及较短消息和处理器队列长度。
其实最早的L3缓存被应用在AMD发布的K6-III处理器上,当时的L3缓存受限于制造工艺,并没有被集成进芯片内部,而是集成在主板上。在只能够和系统总线频率同步的L3缓存同主内存其实差不了多少。后来使用L3缓存的是英特尔为服务器市场所推出的Itanium处理器。接着就是P4EE和至强MP。Intel还打算推出一款9MB L3缓存的Itanium2处理器,和以后24MB L3缓存的双核心Itanium2处理器。
但基本上L3缓存对处理器的性能提高显得不是很重要,比方配备1MB L3缓存的Xeon MP处理器却仍然不是Opteron的对手,由此可见前端总线的增加,要比缓存增加带来更有效的性能提升。
这些技术都是提升CPU的运算能力的。
L3缓存的应用可以进一步降低内存延迟,同时提升大数据量计算时处理器的性能。降低内存延迟和提升大数据量计算能力对游戏都很有帮助。
l3缓存也是给cpu作为高速缓冲用的啊
不过起的作用很小
进一步降低内存延迟
这里有介绍 http://www.loeon.com/html/84/t-43084.html