计算机 - 内存



什么是计算机内存?

能够临时或永久存储数据或信息的物理设备称为内存。它是存储和处理数据的地方。通常,计算机具有主存和辅存。辅助存储器(二级存储器)用于长期存储数据和程序,或者直到用户想要将它们保存在内存中为止,而主存储器则在程序执行期间存储指令和数据;因此,任何当前正在计算机上运行或执行的程序或文件都存储在主存储器中。

内存分类

计算机内存有多种类型,并用于不同的目的 -

  • 主存(RAM - 随机存取内存) - 易失性内存,当机器关闭时会丢失其内容。RAM 存储正在积极使用的数据。在系统的引导过程中,操作系统会积极使用 RAM 和执行文件或程序所需的应用程序。它通过提供快速的数据和指令访问来加快 CPU 处理速度。

  • 辅存(存储) - 辅存也被称为计算机的永久存储器或非易失性存储器。当机器关闭时,辅存会保留数据。文件、程序和操作系统永久存储在那里。HDD、SSD、USB 闪存驱动器和光盘是非易失性存储设备。

  • 缓存内存 - 比 RAM 更小、更快的内存称为缓存内存。它比 RAM 更靠近 CPU。

Cache

它保存经常使用的数据和指令,以便更快地进行处理。

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

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

CPU 缓存内存分为三个“级别”:L1、L2 和 L3。内存层次结构再次根据速度,从而根据缓存大小。

L1 缓存

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

Source

来源:[1]

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

L2 缓存

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

L3 缓存

3 级缓存。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 缓存数据。

Cache L3

来源:[1]

请注意,这两个 CPU 都有一个分开的 L1 缓存,以及更大的 L2 和 L3 缓存。在 AMD Ryzen 5800X 上,L3 缓存超过英特尔 i5-3570K 的五倍以上。

缓存内存的工作原理

  • 层次结构 - 计算机通常具有 L1、L2 和 L3 缓存,它们是缓存内存的多个层。L1 缓存是最小且最快的缓存,位于最靠近 CPU 的位置;L2 和 L3 缓存更大且更慢。

  • 缓存组织 - 缓存内存的每个块或行都包含从主内存复制的一小部分数据。CPU 以固定大小的块访问缓存内存,而不是字节。

  • 缓存一致性 - 缓存一致性确保缓存数据与主内存数据匹配。在多核处理器中,当一个核心写入内存位置时,缓存一致性技术会更新其他核心的缓存。

  • 缓存替换策略 - 当缓存已满且需要新块时,缓存替换策略决定要驱逐哪个块。LRU、FIFO 和随机替换是常见的策略。

  • 缓存访问 - CPU 在读取或写入数据之前检查缓存。当数据被缓存时,CPU 可以快速检索它。如果数据不在缓存中(缓存未命中),则 CPU 必须从主内存中获取它,这可能会延迟它。

  • 缓存层次结构 - 现代处理器包含 L1、L2 和 L3 缓存,这些缓存随着远离 CPU 核心的距离而容量和延迟增加。通过将 L1 缓存拆分为指令缓存和数据缓存来实现并行访问。

  • 缓存管理 - 缓存利用率的优化最大限度地提高了命中率并最大限度地减少了未命中惩罚。预取,即处理器预测内存访问并将数据加载到缓存中,可以提高缓存性能。

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

寄存器内存

寄存器内存,也称为处理器寄存器或“寄存器”,是直接集成到 CPU 中的最小、最快的计算机内存类型。寄存器是 CPU 内部的小型、快速存储单元,用于快速存储正在处理的数据或正在运行的指令。

寄存器在计算机系统中发挥着几个重要的作用

  • 指令执行 - 寄存器保存 CPU 当前正在运行的指令。这包括操作码 (opcode) 及其相关的操作数。

  • 数据存储 - 寄存器存储 CPU 处理的数据。这可以提供内存地址、算术或逻辑运算期间的中间值以及正在执行的指令所需的其他数据。

  • 寻址 - 内存地址用于存储或检索 RAM 或计算机内存层次结构其他部分中的内存位置的数据。

寄存器的类型

  • 程序计数器 (PC) - 存储要获取和执行的下一条指令的内存地址。

  • 指令寄存器 (IR) - 保存 CPU 当前正在执行的指令。

  • 内存地址寄存器 (MAR) - 存储要从内存中读取或写入内存的数据的内存地址。

  • 内存数据寄存器 (MDR) - 包含要从内存中读取或写入内存的实际数据。

  • 通用寄存器 (GPR) - 用于在程序执行期间进行通用数据存储和操作。

视频随机存取内存 (VRAM)

视频随机存取内存 (VRAM) 是一种旨在与显卡和图形处理单元 (GPU) 配合使用的内存类型。它是内存中的一个特殊位置,可以存储图形数据,例如图像、帧缓冲区和其他与图形相关的数据。

VRAM 旨在处理渲染计算机显示器上的图形和图像的快速并行处理需求。它使 GPU 能够快速访问大量图形数据,从而使它们能够渲染复杂的场景、纹理和动画。

VRAM 如何工作?

VRAM 的主要特点包括 -

  • 高带宽 - VRAM 通常提供高速数据传输速率,使 GPU 能够快速访问图形数据。

  • 并行访问 - VRAM 旨在支持并行访问,允许多个渲染任务同时访问内存的不同部分。

  • 专用架构 - VRAM 通常具有针对图形处理任务优化的专用架构,包括多端口访问和宽内存总线等功能。

  • 专用图形内存 - 与在各种系统组件之间共享的系统 RAM 不同,VRAM 专用于图形处理,确保 GPU 拥有足够的内存带宽和容量来渲染图形密集型应用程序。

VRAM 的类型

  • GDDR(图形双倍数据速率)VRAM - 这是最常用的 VRAM 类型,主要存在于现代 GPU 中。GDDR5、GDDR5X 和 GDDR6 是一些变体,它们在能效和带宽方面比早期版本有所改进。

  • HBM(高带宽内存) - HBM VRAM 是一种更新的技术,它在降低功耗的同时提供了比传统 GDDR VRAM 更高的带宽。它通过将内存芯片垂直堆叠在硅互连器上,最大限度地减少数据在内存单元之间传输的距离来实现这一点。

广告