简介:CPU缓存是CPU的重要组成部分。每个人都知道第三级缓存的重要性,但是您知道第三级缓存的含义吗?第三级缓存越大越好吗?让我们一起看看。
术语“缓存”一定是每个人都听过的。实际上,高速缓存的含义非常广泛:计算机的最大高速缓存可以体现在记忆棒中,图形卡上的视频存储器是图形芯片所需的高速缓存,并且硬盘上有相应的高速缓存。 。高速缓存和CPU具有最快的高速缓存(L1、L2、L3高速缓存等),并且高速缓存是用于数据交换的缓冲区(称为Cache)。缓存通常是RAM(非永久性存储,在断电时会丢失),其作用是帮助硬件更快地响应。今天我们将讨论最快的CPU缓存。
什么是CPU缓存?
CPU高速缓存定义为CPU与内存之间的临时数据交换。看来解决了CPU处理速度与内存读写速度之间的矛盾。缓存速度比内存速度快得多。 。 CPU缓存通常直接与CPU芯片集成在一起,或者位于通过主板总线互连的独立芯片上。 (现阶段的CPU缓存通常直接集成在CPU上。)CPU通常需要重复处理相同的数据并重复执行相同的指令。如果可以在CPU缓存中找到这部分数据和指令,则无需从内存或硬盘中检索CPU。在中间读取数据和指令,从而减少了整个机器的响应时间。

CPU-Cache-Main Memory图标,图片来自:CPU缓存
CPU缓存速度和内存速度有什么区别?
让我们做一个简单的比喻:如果CPU大约需要3个周期才能在L1高速缓存中查找所需的数据,那么大约需要10个周期才能在L2高速缓存中查找数据。 ,L3三级缓存大约需要50个周期;如果要在内存中找到它,它会慢很多,并且可能需要数百个周期。


I3-8300处理器技术规范
您了解一些有关CPU缓存的信息,让我们更深入地了解。以英特尔为例,英特尔官方网站上产品处理器界面中的缓存定义为:“ CPU缓存是处理器上的快速存储区域。英特尔智能高速缓存(SmartCache)意味着所有内核都可以动态共享一级高速缓存的最新架构。”这是最后一级高速缓存的概念,它是CPU高速缓存中的L3(三级高速缓存)。然后,让我们继续解释所谓的第三级缓存。哪个三级缓存。

CPU-Cache-Main Memory图标,图片来自:CPU缓存
三级缓存(什么是L1、L2、L3)?
从现代CPU的角度来看,第三级缓存(包括L1第一级缓存,L2第二级缓存和L3第三级缓存)都是集成在CPU中的缓存,它们的功能都是CPU和主存储器在高速数据缓冲区中,L1最接近CPU内核; L2是下一个; L3又来了。就运行速度而言:L1是最快的,L2是最快的,L3是最慢的;就容量而言:L1最小,L2较大,L3最大。 CPU首先在最快的L1中查找所需的数据,然后在找不到的第二个L2中查找,如果找不到,则查找L3。如果没有L3,则只能转到内存中查找它。 L1、L2、L3可以说具有自己的特点,所以让我们分别讨论一下。
L1缓存(L1缓存)

当Intel的Pentium处理器开始对缓存进行分类时,出现了术语1级缓存。那时,集成在CPU中的CPU缓存不再能够满足整个机器的性能要求,并且制造过程也不会受到限制。 CPU内部的缓存数量已大大增加,因此主板上集成了一个缓存。当时,集成在CPU中的CPU缓存称为第一级缓存,而CPU外部主板上的缓存称为第二级缓存。

英特尔奔腾4
一级缓存实际上分为一级数据缓存(数据缓存,D缓存,L1d)和一级指令缓存(指令缓存,I缓存,L1i),用于存储数据和分别执行数据。指令解码后,CPU可以同时访问两者,减少了CPU多核和多线程缓存争用所引起的冲突,提高了处理器的效率。通常,CPU的L1i和L1d具有相同的容量,例如I7-8700K的L1为32KB + 32KB。
L2缓存(L2缓存)
随着CPU制造工艺的发展,原本位于CPU外部的二级缓存也可以轻松集成到CPU中。此时,缓存是否在CPU内部,以确定第一级和第二级缓存是否不再准确。集成到CPU中的L2 2级缓存可以逐步跟上CPU的运行速度。它的主要功能是在CPU未读取L1中所需的数据时将数据显示给CPU过滤器(CPU未命中。对于L1,我们继续在L2处查找命中点。缓存命中的工作原理将在后面讨论。 )。
L2二级缓存的容量比L1一级缓存大,但是L2的速率较慢。为什么?首先,L2比L1离CPU内核更远。 L1是最接近CPU内核的缓存。 CPU需要从比L1更远的物理距离读取L2的数据。简单地说,L2比L1具有更大的容量。在小盒子中查找东西比在大房间中查找东西更快,更容易。从这里还可以看出,缓存越大,越好,缓存离CPU内核越近,速度越快越好。非最后一级缓存的缓存容量自然就足够了。


Core Duo Core Duo处理器
L2 L2缓存实际上是L1 L1缓存和主内存之间的缓冲区。在2006年的时候,英特尔和AMD出售的几种处理器可以看到它们在缓存方面的不同见解:英特尔酷睿双核处理器与其前身奔腾D和EE不同。它使用双核共享2M L2二级缓存,该二级缓存当时属于第一级二级缓存体系结构,即“智能缓存”共享缓存技术。将来,英特尔将在所有多核处理器上使用该技术。 AMD Athlon 64 X2处理器为每个CPU内核具有独立的二级缓存。曼彻斯特核心处理器为每个核心512KB,托莱多核心为每个核心1MB,两个核心之间的数据同步由CPU的内置SRI(系统请求接口)控制。这样的数据延迟和资源消耗比英特尔的Pentium D和EE内核要好,但比不共享Core代表的Smart Cache缓存要好。
L3缓存(L3缓存)
第一个L3三级缓存应该是AMD的K6-III处理器。当时,由于制造过程,L3只能集成在主板上。然后,英特尔首次出现的三级三级缓存是Itanium Itanium服务器处理器,其次是P4EE和Xeon MP。 L3三级缓存的出现实际上显示了CPU性能改善的上升曲线-当L3从0变为2M时,CPU性能的改善非常明显,而L3从2M到6M的改善可能仅不到10%。这是在现代CPU中。如果是多核共享,则为L3;当L3集成到CPU中并正式成为CPU的内部缓存时,处理数据时仅5%的CPU需要调用内存中的数据,这进一步减少了内存延迟,并使系统响应更快。

英特尔Nehalem L3 SmartCache
类似地,L3是L2与主内存之间的缓冲区,这主要体现在提高处理器大数据处理的性能上,这对游戏性能有很大帮助。然后有人可能会问,选择CPU时购买L3,然后购买具有更大L3的CPU是正确的吗?不,这种比较仅在相同体系结构的情况下才有意义。让我举一个相对长期的例子:具有1MB L3的英特尔Xeon MP处理器仍不能与不具有L3的AMD Opteron处理器相提并论。让我们来一个现有的。 :将Intel I7-8700K 12MB L3与AMD Threadripper 1950X 32MB L3进行比较,32MB自然大于12MB,但平均来说它还是2MB L3核心。性能不同。
CPU缓存如何帮助CPU工作?

了解L1、L2、L3的起源后,让我们更深入地研究CPU缓存如何帮助CPU提高工作效率。

有限原理,图片来自:CMU
由于数据的限制,CPU通常需要在短时间内重复读取数据。内存的工作频率自然远远落后于CPU的处理速度。我该怎么办?突出显示了缓存的重要性。 CPU可以避开内存并读取高速缓存中的所需数据,这称为命中。 L1运行非常快,但是其数据容量很小。在日常使用中,L1中CPU命中的可能性约为80%; L2、L3的机制相似,因此,CPU需要在内存中读取的数据约为5%-10%,所有其他数据命中都可以在L1、L2、L3中完成,大大减少了系统的响应时间。通常,所有CPU都首先按照缓存的顺序读取数据,然后再读取内存。
L1、L2、L3高速缓存和内存速度非常不同。它们组成的差异导致速度差异。那么CPU缓存和内存是如何构成的?
缓存SRAM和内存DRAM之间的区别
CPU缓存基本上由SRAM(静态RAM,静态RAM)组成。内存中的DRAM实际上是SDRAM(同步动态随机存储器),它是一种DRAM(动态RAM,动态)。

DRAM
DRAM仅包含一个晶体管和一个电容器,并且集成度很高,并且可以很容易地制造大容量(存储器),但是由于电容器用于存储信息,因此有必要不断刷新和补充电荷。电容器,以及充放电之间的时间差DRAM的响应要比SRAM慢得多。

SRAM
与DRAM相比,SRAM比DRAM更复杂,因此SRAM的集成度非常低。这也是早期无法将CPU高速缓存集成到CPU中的原因。 SRAM的特点是速度快,通电时有数据,并且不需要刷新时间,因此突出了其快速的数据传输速度。缺点是它占地大且成本低。如果一个DRAM占用一单位空间,则一个SRAM将占用六单位空间。差异仍然很大。
Fanwai:L4四级缓存和eDRAM

I7-4750H
并不是每个CPU都将SRAM用作CPU缓存,IBM的Power系列处理器将eDRAM用作CPU缓存;让我们看一下Intel Haswell I7-4750H CPU,主要关注的是CPU嵌入式128MB eDRAM用作核心图形卡Iris Pro 5200的视频内存。不使用核心图形卡时,128MB eDRAM将成为处理器的L4 4级缓存。当然,在I7-4750H具有更多的L4之后,处理器性能并没有太大提高。 eDram缓存的主要功能是使用核心图形卡作为视频内存。
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/shoujiruanjian/article-342860-1.html
不清楚生产环境和流程
第二天早上便领着儿子去看了
有爱国的国民