很多小伙伴们都在程序中看到过L1 Cache、L2 Cache、L3 Cache这样的字符或者注释,但不少人不知道这些是什么,同样是学习者,小笔今天向大家分享一下自己的理解。要理解这些我们首先要知道CPU缓存的一些知识。
CPU缓存
缓存大小是CPU的重要指标之一,并且缓存的结构和大小对CPU速度的影响非常大,CPU内缓存的运行频率极高,一般是同处理器同频运行,工作效率远远大于系统内存和硬盘。实际工作时,CPU经常需要重复读取同样的数据块,而缓存容量的增大能大幅提升CPU内部读取数据的命中率,不需要到内存或者硬盘上寻找,从而提升系统新能。但由于受限于CPU芯片成本和面积,缓存都很小。
L1 Cache(一级缓存)
L1 Cache(一级缓存)是CPU第一层高速缓存,分为数据缓存和指令缓存。内置的L1高速缓存的容量和结构对CPU的性能影响较大,不过高速缓冲存储器均由静态RAM组成,结构较复杂,在CPU管芯面积不能太大的情况下,L1级高速缓存的容量不可能做得太大。一般服务器CPU的L1缓存的容量通常在32—256KB。
L2 Cache(二级缓存)
L2 Cache(二级缓存)是CPU的第二层高速缓存,分内部和外部两种芯片。内部的芯片二级缓存运行速度与主频相同,而外部的二级缓存则只有主频的一半。L2高速缓存容量也会影响CPU的
性能,原则是越大越好,现在家庭用CPU容量最大是512KB,而服务器和工作站上用CPU的L2高速缓存更高达256KB—1MB。
L3 Cache(三级缓存)
L3 Cache(三级缓存)分为两种,早期的是外置,现在的都是内置的。而它的实际作用是进一步降低内存延迟,同时提升大数据量计算时处理器的性能。降低内存延迟和提升大数据量计算能力。而在服务器领域增加L3缓存在性能方面仍然有显著的提升。比方具有较大L3缓存的配置利用物理内存会更有效,故它比较慢的磁盘I/O子系统可以处理更多的数据请求。具有较大L3缓存的处理器提供更有效的文件系统缓存行为及较短消息和处理器队列长度。