二级缓存和三级缓存的区别,L2与L3的区别
今天群里有同学咨询处理器二级缓存和三级缓存有什么区别,为什么有的处理器有三级缓存而有的处理器没有三级缓存,今天就为大家解释下二级缓存和三级缓存的区别。
首先要了解缓存是什么,缓存就是处理器读取内存数据的一个暂存地。缓存是集成在处理器内存的超高速内存。因为咱们的内存频率比较低,而处理器内部都是高频率进行数据交换,处理器把常用的数据都先读取到高速缓存里面,从而进行快速调用。
二级缓存和三级缓存的区别
一级缓存是什么呢?其实早期处理器只有一级缓存,那时候处理的数据都很小,然而随着电脑技术的突破,一级缓存暂存数据量已经不够用,从而引入二级缓存,甚至目前的三级缓存。处理器查找缓存数据的顺序是:一级缓存 >二级缓存>三级缓存。同样缓存的速度高低也是:一级缓存>二级缓存>三级缓存。由于技术限制,缓存的容量大小是:三级缓存>二级缓存>一级缓存 (适用于完整的拥有三级缓存的处理器,很多处理器没有三级缓存,所以二级缓存比较大)。看到这里相信大家对缓存的概念有了一定了解,他就是把使用率较高的数据从内存暂存于缓存中从而进行高速处理,同时把使用率最高的数据放于一级缓存中,如果处理器需要的数据在一级缓存中没有找到,(一级缓存通常只有64KB 或者128KB存储量小,但是速度超快)那么他会前往速度相对低的二级缓存中找(二级缓存通常256KB或者512KB,二级缓存已经可以暂存大部分使用率较高数据),如果在二级还是没有找到要用的数据,处理器会前往速度更低的三级缓存中查找,如果cpu没有三级缓存的话就从内存中查找。(三级缓存通常有3MB 4MB 6MB 8MB 12MB)依照这个顺序从速度最高的一级缓存逐渐往速度相对低的二级、三级缓存,甚至速度最低的内存中查找,其实缓存中暂存了处理器常用的98%的数据,所以我们经常遇到一个程序第一次打开速度较慢,然后退出第二次打开速度就很快了。这就是他的数据已经从硬盘读取到缓存中暂存,当处理器需要时,就不用从硬盘中读取,而是直接在处理器内部的缓存上读取,从而提高了处理器的效率。
阐述完缓存的原理,接下来讲解我们经常看到的二级缓存三级缓存的区别。我们拿拥有完整三级缓存的处理器来对比,三级缓存大的处理器效率高、暂存的数据比例高,速度就快。但是有一半处理器是没有三级缓存的,其二级缓存比较大。常见于AMD处理器,他没有三级缓存但是二级缓存达到了1MB*4 即每核心都拥有独占的1MB 二级缓存,而INTEL 处理器通常都有完整的三级缓存,三级缓存是共享式的。低端的G550 三级缓存2MB 中档的I3-3220拥有3MB,中高端的I5-3470拥有6MB的三级缓存,然而拥有完整三级缓存的处理器二级缓存却很小(256KB)。这有什么区别呢,其实对于多核心处理器来说,大部分时候他的每核心都没有满负荷运行,而是把其中一个核心的频率提高,其他核心关闭。三级缓存只分配给这一个核心,即这个核心使用全部三级缓存,从而提高了处理器效率和速度,反观没有三级缓存而二级缓存1MB*4的4核处理器,每核心独占1MB缓存,这样的分配方式比较死板,不利于发挥缓存的最大性能。
看完上面的介绍,相信不少同学对二级缓存三级缓存的区别已经非常了解了,下面说说二级缓存和三级缓存对处理器速度的影响,从缓存的速度来说,二级缓存比三级缓存快,从而二级缓存对处理器速度的影响较大,但是拥有三级缓存的处理器二级缓存也都有256KB是没有三级缓存处理器的1/4。不要小看这256KB其实他已经存储了处理器所常用的80%以上数据,1MB二级缓存已经存储了98%以上常用数据,所以二级缓存到256KB 在往上带来的性能提升很小了。所以比较处理器的速度不能只看主频,同频率处理器有三级缓存的处理器效率比没有三级缓存的处理器高,速度快。(因为256KB二级缓存已经存储80%常用数据,就算1MB二级缓存也只存储了98%)其次没有三级缓存的处理器,他的4MB大二级缓存是独占式的,每核心1MB,而有三级缓存的处理器他的3MB或者6MB缓存是共享式的,哪个核心需要大缓存他可以全部分配给那个核心,既某核心可以分配3MB或者6MB,对于大型程序,或者是大型游戏来说,拥有三级缓存影响比较大。
总结:其实三级缓存这技术是引入服务器处理器技术,目的是提高多核心的效率以及运行大型程序,大型游戏效率的。对于普通程序来说三级缓存没有二级缓存快,三级缓存在遇到多任务,如大型程序时三级缓存的性能就发挥出来了,全部缓存可以随时分配给不同核心,较独占式1MB二级缓存先进,所以很多玩家诟病没有共享式三级缓存的处理器是胶水多核。