1.前言在过去的几年中,计算机处理器取得了长足的进步。晶体管的尺寸每年都在变小,这种进步已经到了摩尔定律迅速变得多余的地步。在处理器方面,不仅晶体管和频率很重要,而且缓存也很重要。在讨论CPU(中央处理单元)时,您可能听说过缓存。但是,我们并没有过多关注这些数字,它们也不是这些CPU广告的主要亮点。那么,CPU缓存的重要性如何?第二,什么是CPU缓存?首先,缓存只是一种非常快速的内存类型。您可能知道,计算机内部有多种类型的内存。有一个主存储器(例如硬盘或SSD),用于存储大量数据(操作系统和所有程序)。接下来,我们有随机存取存储器,通常称为RAM。这比主存储要快得多。最后,CPU本身有一个更快的存储单元,我们称它为高速缓存。计算机的内存具有基于速度的层次结构,而高速缓存位于层次结构的顶部,并且是最快的。它也是离中央处理单元最近的地方,中央处理单元是CPU本身的一部分。缓存是静态RAM(SRAM),系统RAM是动态RAM(DRAM)。静态RAM是一种可以保存数据的内存,但无需一直刷新。与DRAM不同,SRAM更适合用于缓存。 3. CPU缓存如何工作?众所周知,程序被设计为一组指令,最终由CPU运行。当我们运行程序时,必须将这些指令从主存储器中提取到CPU中。这就是内存层次结构发挥作用的地方。数据首先加载到RAM中,然后发送到CPU。因为CPU每秒可以执行大量指令。为了充分利用其功能,CPU需要访问超高速内存,这是高速缓存的源。内存控制器执行从RAM提取数据并将其发送到缓存的工作。根据系统中使用的CPU,此控制器可以位于主板的北桥芯片组上或CPU本身内部。然后,缓存在CPU内来回执行数据传输。内存层次结构也存在于高速缓存中。 4.高速缓存级别:L1,L2和L3 CPU高速缓存被分为三个主要的“级别” **,即L1,L2和L3。这里的层次结构是根据缓存速度划分的。 L1(1级)高速缓存是计算机系统中存在的最快的内存。就访问优先级而言,L1缓存具有CPU最有可能需要完成特定任务的数据。就其大小而言,L1缓存通常最大为256KB。但是,现在一些真正强大的CPU占用了将近1MB的内存。现在,某些服务器芯片组(例如Intel的高端Xeon CPU)具有1-2MB的一级缓存。 L1缓存通常分为两种方式,分为指令缓存和数据缓存。指令高速缓存处理有关CPU必须执行的操作的信息,而数据高速缓存保留必须在其上执行操作的数据。 L2(级别2)缓存比L1缓存慢,但是大小更大。它的大小通常在256KB至8MB之间,尽管更新,功能强大的CPU往往会超过此大小。 L2高速缓存存储CPU可以在下一步中访问的数据。在大多数现代CPU中,L1和L2缓存位于CPU内核本身中,并且每个内核都有自己的缓存。 L3(3级)高速缓存是最大的高速缓存存储单元,是最慢的高速缓存存储单元。它的范围从4MB到50MB以上。现代CPU在CPU裸片上具有用于L3高速缓存的专用空间,并占据了很大一部分空间。 5.缓存命中或未命中以及延迟的数据将依次从RAM到L3缓存,然后是L2,最后是L1。当处理器正在寻找要执行操作的数据时,它首先尝试在L1高速缓存中找到它。如果CPU可以找到它,则这种情况称为高速缓存命中。然后,它继续在L2和L3中找到它。如果找不到数据,它将尝试从主内存访问数据。这称为高速缓存未命中。现在,众所周知,高速缓存旨在加快主内存和CPU之间的数据传输速度。从内存访问数据所需的时间称为等待时间。 L1具有最低的延迟,是最快的,并且最接近核心,而L3具有最高的延迟。当高速缓存未命中时,延迟将增加很多。这是因为CPU必须从主存储器中获取数据。随着计算机变得越来越快和更好,我们看到延迟减少了。现在,我们拥有低延迟的DDR4RAM和访问时间短的超高速SSD作为主存储,两者都大大降低了总体延迟。过去,缓存设计曾将L2和L3缓存放置在CPU外部,这对延迟产生了负面影响。但是,CPU制造工艺的进步已经使