DDR、GDDR 和 HBM 内存速度与带宽

Gábor Bíró 2024年12月11日
6 阅读时间

现代计算机的性能很大程度上受到所用内存的速度和类型的影响。DDR、GDDR 和 HBM 内存针对不同的用途进行了优化,无论是用于 CPU 的主系统内存、用于显卡的内存,还是需要高带宽计算的任务。在这篇文章中,我将比较这些内存类型的速度和关键参数。

DDR、GDDR 和 HBM 内存速度与带宽
来源: 作者原创

计算机硬件标准的性能通常使用理论最大值来宣传,这些值是在理想的实验室条件下测量的(实际上,传输速率可能会受到设备控制器、温度或其他瓶颈的限制)。这些数字不一定反映实际使用速度,但它们非常适合用于比较目的,因为它们清楚地显示了技术世代之间的差异。

在下表中,我提供了每个标准的理论最大值,为了便于阅读和比较,已进行四舍五入,并在适用情况下始终以字节(特别是 MB/s)显示。我在这里写了关于计算机数据传输和存储标准、计量单位、速度及其理论基础的文章。

DDR SDRAM(系统内存)

计算机内存(RAM - 随机存取存储器)充当计算机的临时、快速访问数据存储。现代 RAM 模块使用 DDR(双倍数据速率)技术,这意味着数据传输发生在时钟信号的上升沿和下降沿,与原始 SDRAM 相比,有效地使数据传输速率翻倍。

最初的 SDRAM(有时称为 SD 或 SDR RAM 以区别于 DDR)以 66-133 MHz 的时钟速度运行。由于它不是“双倍数据速率”,因此其有效数据传输速率(以每秒传输次数计)与其时钟速度(以每秒周期数计)相匹配。

MT/s(每秒百万次传输)表示内存每秒可以执行多少百万次数据传输操作。这对于 DDR(双倍数据速率)内存非常重要,因为每个时钟周期发生两次数据传输——时钟信号的上升沿和下降沿各一次。

以 DDR2-400 内存为例:

  • 其基本时钟速度为 200 MHz。
  • 由于它使用 DDR 技术(双倍数据速率),因此实际传输速率是时钟速度的两倍:400 MT/s。

为了更好地可视化这一点:

  1. 200 MHz 的时钟速度意味着每秒 2 亿个时钟周期。
  2. 在每个周期中,发生 2 次数据传输(上升沿和下降沿)。
  3. 因此,总传输次数为:2 亿周期/秒 × 2 次传输/周期 = 每秒 4 亿次传输 (400 MT/s)。

这与带宽 (MB/s) 不同,带宽衡量的是实际移动的数据量。带宽的计算方法是将 MT/s 值乘以内存总线宽度(对于标准的 64 位 DDR DIMM,通常为 8 字节):400 MT/s × 8 字节/传输 = 3200 MB/s。

版本 传输速率 (MT/s) 模块名称 发布年份 时钟速度 (MHz) 带宽 (MB/s)
DDR 200-400 PC-1600 - PC-3200 1998 100-200 1,600 - 3,200 MB/s
DDR2 400-1066 PC2-3200 - PC2-8500 2003 200-533 3,200 - 8,533 MB/s
DDR3 800-2133 PC3-6400 - PC3-17000 2007 400-1066 6,400 - 17,066 MB/s
DDR4 1600-3200+ PC4-12800 - PC4-25600+ 2014 800-1600+ 12,800 - 25,600+ MB/s
DDR5 4800-8000+ PC5-38400 - PC5-64000+ 2020 2400-4000+ 38,400 - 64,000+ MB/s

带宽是为标准的 64 位(8 字节)宽内存接口(单 DIMM)计算的。双通道或四通道配置会将此带宽倍增。

制造商使用不同的表示法来营销内存模块,例如版本号 (DDR4)、传输速率 (3200 MT/s) 或模块名称 (PC4-25600)。这可能会让人感到困惑,但上表有助于识别等效模块。例如,DDR4-3200 和 PC4-25600 指的是相同的内存速度规格。

Generations of DDR RAM modules

DDR ECC 内存

ECC(错误纠正码)内存是一种特殊类型的内存,主要用于服务器、工作站和其他需要高可靠性的系统。DDR ECC 内存与标准非 ECC DDR 内存的不同之处在于其错误纠正能力。

  • 错误纠正:ECC 内存可以自动检测和纠正单位错误,并检测多位错误。这大大降低了数据损坏和系统崩溃的风险。
  • 额外位:ECC 内存模块通常每个数据字使用额外的位(例如,64 位数据使用 72 位)来存储错误检查代码,从而实现错误纠正。
  • 兼容性:并非所有主板都支持 ECC 内存。大多数服务器和工作站主板都兼容,但典型的消费级台式机主板则不然。CPU 也必须支持 ECC。
  • 速度和延迟:由于错误检查过程的开销,ECC 内存可能比同等的非 ECC DDR 内存稍慢或具有更高的延迟。
  • DDR 世代:ECC 技术适用于所有现代 DDR 版本(DDR、DDR2、DDR3、DDR4、DDR5),并常用于服务器以增强系统稳定性。

ECC 内存通常用于数据完整性和持续运行至关重要的关键系统,例如金融服务、医疗保健系统、科学研究和高性能计算环境。

GDDR(图形内存)

GDDR 内存: GDDR(图形双倍数据速率)内存专门为显卡 (GPU) 设计。与标准 DDR 系统内存相比,它通常具有更高的时钟速度和传输速率 (GT/s),针对渲染图形和并行处理的高带宽需求进行了优化。GDDR 内存芯片通常具有更宽的接口(例如,每个芯片 32 位),而显卡上使用多个芯片来实现非常宽的总内存总线(例如,128 位、256 位、384 位)。

GT/s(每秒千兆次传输)表示每秒数据传输操作的次数,类似于 DDR 内存的 MT/s,但按 1000 倍比例缩放(千兆与兆)。它表示原始传输速度,而不是最终的字节/秒带宽。

版本 发布年份 时钟速度 (MHz) 传输速率 (GT/s) 典型带宽 (GB/s)
GDDR2 2002 400–500 0.8–1.0 ~12.8 – 16 GB/s
GDDR3 2004 800–1000 1.6–2.0 ~51.2 – 80 GB/s
GDDR4 2006 ~900–1150 1.8–2.3 ~86 – 110 GB/s
GDDR5 2008 ~1250–2000 5.0–8.0 ~160 – 384 GB/s
GDDR5X 2016 ~1250–1750 10.0–14.0 ~320 – 540 GB/s
GDDR6 2018 ~1750–2500 14.0–20.0 ~448 – 960 GB/s
GDDR6X 2020 ~1188–1438 19.0–23.0 ~760 – 1104 GB/s

带宽值是当时典型高端显卡的示例,计算公式为(传输速率 * 总线宽度 / 8)。实际带宽在很大程度上取决于特定 GPU 的内存配置(总线宽度)。时钟速度指的是有效数据时钟(对于非 PAM4 GDDR,为传输速率的一半)。

HBM(高带宽内存)

HBM 内存: HBM(高带宽内存)采用一种根本不同的方法,通过垂直堆叠内存芯片,并通过中介层上的极宽接口(例如,每个堆栈 1024 位或更宽)将它们连接到处理器(通常是 GPU 或专用加速器)。与 GDDR 相比,这允许在较低的时钟速度和较低的功耗下实现巨大的数据传输速率,从而实现相似的带宽。例如,HBM3E 每个堆栈可以超过 1 TB/s 的带宽。HBM 主要用于高性能计算 (HPC)、人工智能 (AI) 加速器和高端显卡,在这些应用中,最大内存带宽至关重要。

版本 发布年份 每个堆栈的带宽 (GB/s)
HBM 2013 ~128 GB/s
HBM2 2016 ~256 - 307 GB/s
HBM2E 2018 ~307 - 460 GB/s
HBM3 2022 ~819 GB/s
HBM3E 2023 ~1,200+ GB/s
HBM4 (预计) ~2026 ~1,500 - 2,000+ GB/s

总结比较

  • DDR SDRAM: 与 CPU 一起使用的标准系统 RAM。在速度、容量和成本之间提供平衡。带宽随着世代(DDR3、DDR4、DDR5)的增加以及通过使用多个通道(双通道、四通道)而增加。ECC 变体为服务器/工作站提供可靠性。
  • GDDR SDRAM: 针对显卡 (GPU) 进行了优化。通过更快的时钟速度/传输速率和显卡上的宽内存总线,优先考虑非常高的带宽。对于游戏和 GPU 加速任务至关重要。对于同等容量,通常比 DDR 具有更高的成本和功耗。
  • HBM: 专为最大带宽密度和功率效率而设计。使用堆叠式内存芯片和极宽的接口。用于高端 GPU、AI 加速器和 HPC 系统,在这些系统中,数据吞吐量至关重要。与 DDR/GDDR 相比,成本最高且容量通常较低。
Gábor Bíró 2024年12月11日