计算机中央处理器近年来取得了长足的进步,晶体管每年都变得越来越小,功能越来越强大。每当提到处理器的性能时,人们往往会想到晶体管和频率。实际上,除了更高的晶体管数量和更高的频率之外,缓存也很重要。对于大多数人来说,大部分都听说过缓存。然而,CPU缓存的大小并没有引起足够的重视。那么,CPU缓存有多重要,它是如何工作的呢?什么是CPU缓存?简而言之,CPU缓存只是一种速度非常快的内存。在计算的早期,处理器速度和内存速度都很低。然而,在20世纪80年代,处理器速度开始迅速提高。当时的系统内存(RAM)无法应对或匹配不断提高的CPU速度,于是一种新型的超快内存诞生了:CPU缓存。现在,您的计算机内部有多种类型的内存,例如存储大部分数据(即操作系统和程序)的主存储(如硬盘或SSD)。还有“随机存取存储器”,俗称内存,它比主存储器快得多,但只是一种短期存储介质,通过让计算机及其程序使用RAM来存储来帮助保持计算机上的东西正常运行经常访问的数据而且速度很快。最后,CPU内部还有一个速度更快的内存单元,称为CPU缓存。计算机内存具有基于其运行速度的层次结构。CPU高速缓存位于此层次结构的顶部并且速度最快。它也是最接近中央处理的东西,是CPU本身的一部分。从技术上讲,缓存的运行速度比RAM快10到100倍,可以在纳秒级内响应CPU请求。也有不同类型的计算机内存,缓存内存是静态RAM(SRAM)的一种形式,而常规系统RAM称为动态RAM(DRAM)。与DRAM不同,静态RAM可以保存数据而无需不断刷新,这使得SRAM成为缓存的理想选择。CPU缓存如何工作?计算机上的应用程序被设计为CPU解释和执行的一组指令。当你运行一个程序时,指令从主存储器(硬盘驱动器)传输到CPU,这就是内存层次结构发挥作用的地方。数据首先加载到RAM中,然后发送到CPU。CPU每秒能够执行大量指令。为了充分利用其功能,CPU需要访问超高速内存,这就是CPU缓存的用武之地。内存控制器从RAM中获取数据并将其发送到CPU缓存,然后CPU缓存来回执行数据CPU内。当然,内存层次结构也存在于CPU缓存中。CPU缓存分为三个“级别”:L1、L2和L3,内存层次结构根据速度和缓存大小排列。一级缓存L1(一级)缓存是计算机系统中最快的内存。在访问优先级方面,L1缓存拥有CPU最有可能需要完成特定任务的数据。L1缓存的大小取决于CPU。一些高端消费类CPU现在有1MB的L1缓存,比如Inteli9-9980XE,但是这些要花很多钱而且仍然很少。一些服务器芯片组,例如Intel的Xeon系列,也有1-2MB的L1内存缓存。由于没有“标准”的L1缓存大小,您必须在购买前仔细检查CPU的规格以确定确切的L1内存缓存大小。IntelCPUL1DataCacheMap一级缓存通常分为两部分:指令缓存和数据缓存。指令缓存处理有关CPU必须执行的操作的信息,而数据缓存保存执行操作的数据。L2缓存L2(二级)缓存比L1缓存慢,但更大。L1缓存可能以千字节为单位,而L2内存缓存以兆字节为单位。例如,AMDRyzen55600X拥有384KB的一级缓存和3MB的二级缓存(加上32MB的三级缓存)。L2缓存大小因CPU而异,但通常在256KB到32MB之间。大多数CPU将包含超过256KB的二级缓存,这在现阶段是最小的。此外,一些最强大的CPU具有更大的L2内存缓存,远超过8MB。就速度而言,L2缓存落后于L1缓存,但仍比您的系统RAM快得多。L1内存缓存通常比RAM快100倍,而L2缓存大约快25倍。在L3缓存的早期,L3内存缓存实际上是在主板上找到的。现在,CPU中的L3缓存可以非常大,高端消费类CPU的L3缓存高达32MB,一些服务器CPUL3缓存甚至可以超过这个,高达128MB。L3缓存是最大但也是最慢的缓存单元。但是,虽然芯片本身的每个内核都存在L1和L2缓存,但L3缓存更像是整个芯片都可以使用的公共内存池。我们需要多少CPU缓存?缓存和容量越大越好,价格也越高。新一代的CPU自然会比老一代包含更多的CPU缓存,缓存也可能更快。因此,根据我们实际的应用场景需求,在购买产品之前,可以仔细查看产品的规则,以确保买到自己想要的产品。原文链接:https://www.makeuseof.com/tag/what-is-cpu-cache/原作者:GAVINPHILLIPS
