计算机 - 缓存内存



什么是缓存内存?

比RAM更小更快的一种内存称为缓存内存。它是一种易失性内存,固定在更靠近CPU的位置,以便为处理器提供高速数据访问,并存储常用计算机程序、应用程序和数据。通常,缓存内存位于处理器和随机存取内存之间。

Cache Memory

缓存内存是什么样的?

可以使用以下图片了解缓存内存的物理结构。

Cache Memory Physical Structure

它保存大量使用的数据和指令,以便加快处理速度。

为什么缓存内存很重要?

缓存内存比主内存快得多,因此CPU可以快速访问执行中使用的数据;缓存内存有助于充分利用CPU。它通常固定在更靠近CPU的位置,以便与CPU和RAM进行通信。缓存内存提高了系统的整体性能和效率。它减少了CPU从主内存检索数据时遇到的延迟。

缓存内存是如何工作的?

缓存中的数据通常存储在具有即时访问权限的硬件中,例如RAM。当用户检索数据时,它会首先检查缓存。如果数据位于缓存中,则称为缓存命中。提供缓存命中的尝试比例称为缓存命中率或比率。未位于缓存中的数据将从主内存中获取并放入缓存中。这称为缓存未命中。如何实现这一点以及从缓存中驱逐哪些信息以腾出空间用于新数据,取决于缓存算法、缓存机制和系统规则。

不同的缓存机制控制着缓存的操作。

  • 缓存层次结构 - 计算机通常具有L1、L2和L3缓存,它们是缓存内存的几个层次。L1缓存是最小且最快的缓存,位于最靠近CPU的位置;L2和L3缓存更大且更慢。现代处理器包含L1、L2和L3缓存,其容量和延迟随着距离CPU核心的距离增加而增加。通过将L1缓存分成指令缓存和数据缓存来实现并行访问。
  • 缓存组织 - 缓存内存的每个块或行都包含从主内存复制的一小部分数据。CPU以固定大小的块访问缓存内存,而不是字节。
  • 缓存一致性 - 缓存一致性确保缓存数据与主内存数据匹配。在多核处理器中,当一个核心写入多核处理器中的内存位置时,缓存一致性技术会更新其他核心的缓存。
  • 缓存替换策略 - 缓存替换策略决定在缓存已满且需要新块时要驱逐哪个块。LRU、FIFO和随机替换是常见的策略。
  • 缓存访问 - CPU在读取或写入数据之前会检查缓存。当数据被缓存时,CPU可以快速检索它。如果数据不在缓存中(缓存未命中),CPU必须从主内存中获取它,这可能会延迟它。
  • 缓存管理 - 优化缓存利用率可最大限度地提高命中率并最大限度地减少未命中惩罚。预取(处理器预测内存访问并将数据加载到缓存中)可以提高缓存性能。

缓存内存缓冲了CPU和主内存之间频繁访问的数据,以加快处理速度并提高系统性能。现代计算机系统需要有效的管理和结构才能获得最佳性能。

缓存内存类型

不同类型的缓存内存,如L1、L2和L3缓存,具有不同的速度和空间大小。

缓存内存的级别:L1、L2和L3

CPU缓存内存分为三个“级别”:L1、L2和L3。

L1缓存

一级缓存是计算机最快的内存。CPU最常访问的数据驻留在L1缓存中。CPU决定L1缓存的大小。一些高端消费级CPU,例如Intel i9-9980XE,具有1MB的L1缓存,但它们价格昂贵且罕见。英特尔的至强等服务器芯片组具有1-2MB的L1内存缓存。购买前,请检查CPU规格以确定L1缓存的大小。没有“标准”数量。

L1 Cache

L1缓存通常有两个部分:指令缓存,存储CPU操作信息;数据缓存,存储操作数据。

L2缓存

二级缓存比L1更大但更慢。现代L2内存缓存为千兆字节,而不是千字节。AMD的顶级Ryzen 5 5600X具有384KB L1和3MB L2缓存以及32MB L3缓存。L2缓存的大小取决于CPU,但通常为256KB到32MB。如今,大多数CPU的L2缓存都超过256KB,这很小。一些目前最强大的CPU的L2内存缓存超过8MB。在速度方面,L2缓存比L1缓存慢,但仍然比系统RAM快。L2缓存比RAM快25倍,而L1缓存比RAM快100倍。

L3缓存

三级缓存。L3内存缓存最初位于主板上。这是很久以前的事情了,当时大多数CPU都是单核的。高端消费级CPU上的L3缓存可以达到32MB,而AMD突破性的Ryzen 7 5800X3D CPU则拥有96MB。一些服务器中的CPU L3缓存可以达到128MB。

L3是最大且最慢的缓存内存单元。现代CPU具有片上L3缓存。该芯片的L1和L2缓存为每个核心服务,而L3缓存更像是整个芯片的内存池。以下图片分别显示了2012年英特尔酷睿i5-3570K CPU和2020年AMD Ryzen 5800X CPU的CPU内存缓存级别。第二张图片的右下角包含CPU缓存数据。

缓存内存的应用

缓存内存的主要应用如下:

  • 缓存存储临时文件;因此它最广泛地用于CPU。
  • 不同的程序和软件使用自己的缓存。
  • Web浏览器具有保留信息的缓存。
  • 操作系统使用缓存。
  • 它存储经常访问的数据,如果用户重新访问这些数据,则可以快速访问数据。

缓存内存的优点

缓存内存的一些主要优点如下:

  • 更快的访问速度 - 它更靠近CPU,因此可以非常快速地访问数据。
  • 减少内存延迟 - 从内存检索数据所需的时间非常短,这表明它减少了内存延迟。
  • 提高有效的CPU利用率 - 它通过快速访问数据并将其提供给CPU来支持充分利用CPU,以便及时执行指令或程序。
  • 降低功耗 - 缓存内存比其他类型的存储消耗的功率要低得多。
  • 可扩展性 - 缓存内存可以随着系统的需求而增长。

总的来说,缓存内存提高了吞吐量,提高了可靠性并提高了可扩展性。

广告