L1 Cache(一级缓存)
一级缓存(Level 1 Cache)简称L1 Cache,位于CPU内核的旁边,是与CPU结合最为紧密的CPU缓存,也是历史上最早出现的CPU缓存。由于一级缓存的技术难度和制造成本最高,提高容量所带来的技术难度增加和成本增加非常大,所带来的性能提升却不明显,性价比很低,而且现有的一级缓存的命中率已经很高,所以一级缓存是所有缓存中容量最小的,比二级缓存要小得多。
一般来说,一级缓存可以分为一级数据缓存(Data Cache,D-Cache)和一级
指令缓存(Instruction Cache,I-Cache)。
二者分别用来存放数据以及对执行这些数据的指令进行即时解码。大多数CPU的一级数据缓存和一级指令缓存具有相同的容量,例如AMD的Athlon XP就具有64KB的一级数据缓存和64KB的一级指令缓存,其一级缓存就以64KB 64KB来表示,其余的CPU的一级缓存表示方法以此类推。
Intel的采用NetBurst架构的CPU(最典型的就是Pentium 4)的一级缓存有点特殊,使用了新增加的一种一级追踪缓存(Execution Trace Cache,T-Cache或ETC)来替代一级指令缓存,容量为12KμOps,表示能存储12K条即12000条解码后的
微指令。一级追踪缓存与一级指令缓存的运行机制是不相同的,一级指令缓存只是对指令作即时的解码而并不会储存这些指令,而一级追踪缓存同样会将一些指令作解码,这些指令称为微指令(micro-ops),而这些微指令能储存在一级追踪缓存之内,无需每一次都作出解码的程序,因此一级追踪缓存能有效地增加在高工作频率下对指令的解码能力,而μOps就是micro-ops,也就是微型操作的意思。它以很高的速度将μops提供给处理器核心。Intel NetBurst微型架构使用执行跟踪缓存,将解码器从执行循环中分离出来。这个跟踪缓存以很高的
带宽将uops提供给核心,从本质上适于充分利用软件中的指令级并行机制。Intel并没有公布一级追踪缓存的实际容量,只知道一级追踪缓存能储存12000条微指令(micro-ops)。所以,我们不能简单地用微指令的数目来比较指令缓存的大小。实际上,单核心的NetBurst架构CPU使用8Kμops的缓存已经基本上够用了,多出的4kμops可以大大提高
缓存命中率。而如果要使用
超线程技术的话,12KμOps就会有些不够用,这就是为什么有时候Intel处理器在使用超线程技术时会导致性能下降的重要原因。
例如
Northwood核心的一级缓存为8KB 12KμOps,就表示其一级数据缓存为8KB,一级追踪缓存为12KμOps;而Prescott核心的一级缓存为16KB 12KμOps,就表示其一级数据缓存为16KB。在这里12KμOps绝对不等于12KB,单位都不同,一个是μOps,一个是Byte(
字节),而且二者的运行机制完全不同。所以那些把Intel的CPU一级缓存简单相加,例如把Northwood核心说成是20KB一级缓存,把Prescott核心说成是28KB一级缓存,并且据此认为Intel处理器的一级缓存容量远远低于
AMD处理器128KB的一级缓存容量的看法是完全错误的,二者不具有可比性。在架构有一定区别的CPU对比中,很多缓存已经难以找到对应的东西,即使类似名称的缓存在设计思路和功能定义上也有区别了,此时不能用简单的算术加法来进行对比;而在架构极为近似的CPU对比中,分别对比各种功能缓存大小才有一定的意义。
L1
CPU缓存
Cache(一级缓存)是CPU第一层高速缓存,分为
数据缓存和
指令缓存。内置的L1高速缓存的容量和结构对CPU的性能影响较大,不过
高速缓冲存储器均由静态RAM组成,结构较复杂,在CPU管芯面积不能太大的情况下,L1级高速缓存的容量不可能做得太大。一般
服务器CPU的L1缓存的容量通常在32—256KB。
cpu缓冲,其实是cpu全频处理cmos时间,而cmos时间只要缓冲一点就足够,其余的跳到cmos外,来处理操作系统和ms-DOS,就像cmos密码一样,修改setup后才是保护
计算机安全,与cpu缓冲是一样的,除缓冲外就是用来进行处理硬盘数据,并非缓冲达到高速水平。也就是说,
开机速度是按检测数据,cmos数据没有cpu处理,速度是很慢的!
主板上并没有通道来处理Bios(cmos)中的数据,显存从中起到一点作用!
而内存是否缓冲,就要看是否已跳出coms区,来进行处理硬盘数据。对于系统是否要缓存,就看内存是否有包裹!内存是否要分流,按硬盘结构应当是不用的!IE是否连接主板芯片,是否在主板上缓冲,还是在系统是缓冲,这也一样!
L2 Cache(二级缓存)
L2 Cache(二级缓存)是CPU的第二层高速缓存,分内部和外部两种芯片。内部的芯片二级缓存运行速度与
主频相同,而外部的二级缓存则只有主频的一半。L2高速缓存容量也会影响CPU的性能,原则是越大越好,现在家庭用CPU容量最大的是4MB,而服务器和
工作站上用CPU的L2高速缓存更高达2MB—4MB,有的高达8MB或者19MB。
L3 Cache(三级缓存)
三级缓存是为读取二级缓存后未命中的数据设计的—种缓存,在拥有三级缓存的CPU中,只有约5%的数据需要从内存中调用,这进一步提高了CPU的效率。
L3 C
CPU缓存
ache(三级缓存),分为两种,早期的是外置,截止2012年都是内置的。而它的实际作用即是,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的对手,由此可见
前端总线的增加,要比缓存增加带来更有效的性能提升。