Computer Fundamentals 简明教程

Computer - Memory

What is computer memory?

一种以临时或永久方式存储数据或信息在其中的物理设备称为存储器。它是一个存储和处理数据的地方。一般来说,计算机具有主存和辅助存储。辅助(辅助)存储器长时间存储数据和程序,或存储用户希望将它们保留在存储器中的时间,而主存存储程序执行期间的指令和数据;因此,任何当前在计算机上运行或执行的程序或文件都存储在主存中。

Memory Classification

计算机存储器有各种类型,并且有不同的用途 -

  1. Primary Memory (RAM - Random Access Memory) - 断电时,易失性存储器会丢失其内容。RAM 存储正在主动使用的数据。在系统的启动过程中,操作系统和执行文件或程序所需的应用程序会主动使用 RAM。它通过快速提供数据和指令访问来加速 CPU 处理。

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

  3. Cache Memory - 比 RAM 更小且更快的存储器称为缓存。它被放置在比 RAM 更靠近 CPU 的位置。

cache

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

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

缓存存储器的级别:L1、L2 和 L3

CPU 缓存存储器分为“三级”:L1、L2 和 L3。存储器层次结构再次根据速度,因此还有缓存大小。

L1 Cache

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

source

来源:[1]

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

L2 Cache

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 Cache

3 级缓存。L3 内存缓存最初位于主板上。很久以前,当大多数 CPU 都是单核时,L3 缓存位于高端消费级 CPU 上,可达到 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 大五倍以上。

How cache memory works:

  1. Hierarchy − 计算机通常具有 L1、L2 和 L3 缓存,它们是缓存内存中的多层。L1 缓存是最小且最快的缓存,位于最靠近 CPU 的地方;L2 和 L3 缓存更大但更慢。

  2. Cache Organization − 每个缓存内存块或行都包含从主内存复制的一小部分数据。CPU 以固定大小的块(不是字节)访问缓存内存。

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

  4. Cache Replacement Policies − 当缓存已满并且需要一个新块时,缓存替换策略决定驱逐哪个块。LRU、FIFO 和随机替换是常见的策略。

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

  6. Cache Hierarchy − 现代处理器包含 L1、L2 和 L3 缓存,这些缓存的容量和延迟随着远离 CPU 内核而增加。通过将 L1 缓存拆分为指令和数据缓存来实现并行访问。

  7. Cache Management − 优化缓存利用率最大化命中率并最小化未命中惩罚。预取(处理器预测内存访问并加载数据到缓存中)可以提高缓存性能。缓存内存缓冲区经常在 CPU 和主内存之间访问数据,以加快处理速度并提高系统性能。现代计算机系统需要有效的管理和结构以获得最佳性能。

Register Memory

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

  1. Instruction Execution − 寄存器保存 CPU 当前正在运行的指令。这包括操作码(opcode)及其相关操作数。

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

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

  4. Program Counter (PC) − 存储要获取和执行的下一个指令的内存地址。

  5. Instruction Register (IR) − 保存 CPU 当前正在执行的指令。

  6. Memory Address Register (MAR) − 存储读取或写入内存中数据的内存地址。

  7. Memory Data Register (MDR) − 包含正在读取或写入内存中的实际数据。

  8. General-Purpose Registers (GPRs) − 用于在程序执行期间进行一般数据存储和操作。

Video Random-Access Memory (VRAM)

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

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

VRAM 的主要特点包括 −

  1. High Bandwidth − VRAM 通常提供高速数据传输速度,使 GPU 可以快速访问图形数据。

  2. Parallel Access − VRAM 旨在支持并行访问,允许多个渲染任务同时访问内存的不同部分。

  3. Specialized Architecture − VRAM 通常具有专门针对图形处理任务而优化的架构,包括多端口访问和宽内存总线等特性。

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

  5. GDDR (Graphics Double Data Rate) VRAM − 这是最常用的 VRAM 类型,主要在现代 GPU 中找到。GDDR5、GDDR5X 和 GDDR6 是其中一些版本,它们提供了比前几代更高的功率效率和带宽。

  6. HBM (High Bandwidth Memory) − HBM VRAM 是一种更新的技术,它以比传统 GDDR VRAM 更低的功耗提供更大的带宽。它通过将内存芯片垂直堆叠在硅互连器上,从而最大限度地减少数据在内存单元之间必须传输的距离来实现这一点。