我们知道,CPU性能是主要由CPU构架、核心线程数量、主频、缓存等诸多因素共同决定,而“缓存”是很多网友容易忽视的一个地方。那么,CPU缓存是什么?在电脑CPU中,一二三级缓存究竟谁对CPU性能影响最重要呢?下面武林网小编就来带大家全面科普一下。
CPU的一二三级缓存哪个重要?
CPU缓存是什么?
CPU缓存(Cache Memory)是位于CPU与内存之间的临时存储器,它的容量比内存小的多但是交换速度却比内存要快得多。CPU高速缓存的出现主要是为了解决CPU运算速度与内存读写速度不匹配的矛盾,因为CPU运算速度要比内存读写速度快很多,这样会使CPU花费很长时间等待数据到来或把数据写入内存。在缓存中的数据是内存中的一小部分,但这一小部分是短时间内CPU即将访问的,当CPU调用大量数据时,就可先缓存中调用,从而加快读取速度。
CPU缓存
缓存大小是CPU的重要指标之一,而且缓存的结构和大小对CPU速度的影响非常大,CPU内缓存的运行频率极高,一般是和处理器同频运作,工作效率远远大于系统内存和硬盘。实际工作时,CPU往往需要重复读取同样的数据块,而缓存容量的增大,可以大幅度提升CPU内部读取数据的命中率,而不用再到内存或者硬盘上寻找,以此提高系统性能。但是从CPU芯片面积和成本的因素来考虑,缓存都很小。
CPU缓存设计示意图
按照数据读取顺序和与CPU结合的紧密程度,CPU缓存可以分为一级缓存,二级缓存,如今主流CPU还有三级缓存,甚至有些CPU还有四级缓存。每一级缓存中所储存的全部数据都是下一级缓存的一部分,这三种缓存的技术难度和制造成本是相对递减的,所以其容量也是相对递增的。
为什么CPU会有L1、L2、L3这样的缓存设计?主要是因为现在的处理器太快了,而从内存中读取数据实在太慢(一个是因为内存本身速度不够,另一个是因为它离CPU太远了,总的来说需要让CPU等待几十甚至几百个时钟周期),这个时候为了保证CPU的速度,就需要延迟更小速度更快的内存提供帮助,而这就是缓存,如下图所示。
当CPU要读取一个数据时,首先从一级缓存中查找,如果没有找到再从二级缓存中查找,如果还是没有就从三级缓存或内存中查找。一般来说,每级缓存的命中率大概都在80%左右,也就是说全部数据量的80%都可以在一级缓存中找到,只剩下20%的总数据量才需要从二级缓存、三级缓存或内存中读取,由此可见一级缓存是整个CPU缓存架构中最为重要的部分。
CPU的一二三级缓存哪个最重要?
一般来说,每级缓存的命中率大概都在80%左右,也就是说全部数据量的80%都可以在一级缓存中找到,只剩下20%的总数据量才需要从二级缓存、三级缓存或内存中读取,由此可见一级缓存是整个CPU缓存架构中最为重要的部分。
但是,现在CPU的一级缓存几乎都一样,容量都比较小,多为64K,因此如今的CPU基本很少提一级缓存,主要是大家都一样,虽然最重要,但却不值得一提。
二级缓存,对CPU是很重要的,不过很多朋友会发现,如今很多Intel的CPU也都不怎么提二级缓存,只标注三级缓存。而AMD的不少新CPU也多为标注三级缓存为主,二级缓存只有部分型号会标注,比如AMD锐龙5 2600X提供3M三级缓存和16M三级缓存,R7 2700X则也只有16M三级缓存。而Intel酷睿i3 8100则只有6M三级缓存,高端的i7 8700K则只标注12MB。
CPU三级缓存对比
因此,在目前的新款CPU中,二级缓存的重要性在减弱,三级缓存则成为重点。
现代CPU的高速缓存体系结构是非常复杂的,其中包括硬件预取和数据转发,以便能提供最佳的高速缓存命中机会,有些CPU甚至还加入了L4缓存。
以上就是电脑CPU 一二三级缓存的知识科普。对于普通电脑用户来说,只要知道CPU缓存是决定CPU性能的因素之一,普通用户对CPU缓存并不太敏感,游戏玩家更为在意的CPU核心数、主频等因素,而对于一些3D制图、视频渲染用户来说,比较考验CPU综合性能,这个时候大缓存会显得更优势。
新闻热点
疑难解答