计算机内存主要有两种类型:主内存(RAM)和图形内存(VRAM),前者利用 DDR4(很快还会有 DDR5),而后者利用 GDDR5(和 GDDR6)标准。但这两者有什么区别,在这篇文章中,我们将DDR4 与 GDDR5 和 GDDR6内存进行比较,并检查它们之间的异同。
DDR4 与 GDDR5 内存
- DDR4 的运行电压低于 GDDR5,准确地说是 1.2 V,GDDR5 高达 1.5v,这是因为后者基于 DDR3 内存标准,该标准也具有 1.5v 电压。
- DDR4 和 DDR3 每个通道都使用 64 位内存控制器,双通道使用 128 位总线,4通道使用 256 位总线。GDDR5 内存每个通道一个微不足道的 32 位控制器。
- 虽然 CPU 内存配置更宽但通道更少(DDR3/DDR4 的每个 DIMM 一个),但GPU 可以支持任意数量的 32 位内存通道,这就是许多高端 GPU(如 GeForce RTX 2080 Ti 和 RTX 2080)分别具有 384 位和 256 位总线宽度的原因。
这两款 RTX 20 系列卡都通过 8 个(对于 2080)和 12 个(对于 Ti)32 位内存控制器或通道连接到 1GB 内存芯片。GDDR5 和 GDDR6 也可以在所谓的翻盖模式下运行,其中每个通道而不是连接到一个内存芯片被分成两个。这也使制造商能够将内存容量增加一倍,并使具有 192 位总线宽度的 GTX 660 等混合内存配置成为可能。
GTX 660 Ti 有六个内存堆栈,在翻盖模式下位于顶部(每个堆栈包含两个芯片)。这将总线宽度减少到 192 位而不是 256 位
GTX 660 PCB
翻盖模式
- DDR4 和 GDDR5 内存之间的另一个核心区别涉及 I/O 周期,就像SATA,DDR4 在一个周期内只能进行一次操作(读或写)。GDDR5 可以在同一周期内处理输入(读取)和输出(写入),实质上是将总线宽度加倍。
- 还有突发长度(每次传输传输的数据)和预取的问题,DDR4 和 GDDR5 的 BL 均为 8,预取为 8n,(每个周期 32 个字节)。
所有这些可能会使 DDR4 内存处于不利地位,但这种配置实际上适合这两种设置,CPU 基本上是顺序的,而 GPU 运行数千个并行内核。前者受益于低延迟和更纤薄的通道,而 GPU 需要更高的带宽和宽松的时序。
GDDR5 对比 GDDR5X 对比 GDDR6
- GDDR6 之前是 GDDR5X,它更像是一种半代升级。GDDR5X 的每个引脚的传输速率高达 14GBit/s,是 GDDR5 的两倍,同时还将电压从 1.5v 降低到 1.35v。
- 这是通过使用更高的预取来实现的。与 GDDR5 不同,GDDR5X 具有 16n 预取架构(而 G5 上为 8n)。这允许它每个周期(每个通道)获取 64 字节(512 位)的数据,而 GDDR5 被限制为 32 字节(256 位)。
- GDDR5X还具有16 BL,其允许存储器传送64B高速缓存行。GDDR5 和 DDR4 的突发长度限制为 8(或每周期 32B x 2)和 8n 预取。
类似于从 GDDR5 到 GDDR6 的过渡如何将突发长度和预取(8 到 16)加倍,DDR5 也有一些附
加功能:
- 与 GDDR5 类似,DDR5 利用每个 DIMM 两个独立的 32 位内存控制器/通道。因此,每个 DDR5 DIMM 都是双通道的,而一对则是四通道配置。
- 除此之外,每个 DDR5 通道的突发长度 (BL) 和预取为 16,允许 DIMM 上的每个通道传输与两个 DDR4 DIMM 相同数量的数据。还支持 32 长度模式,只需一次传输即可获取多达 64 字节的缓存行。
- DDR5 的 JEDEC 速度最高可达 8,400 Mbps,而 DDR4 的速度限制为 3200 Mbps。请注意,如今的供应商拥有 4000MHz (MT/s) 套件,但这些套件实际上已超频。
- DDR5 有 32-bank 结构,有 8 个 bank 组(每个 BG 四个),是 DDR4 的两倍。这有效地使内存访问可用性加倍。作为补充,DDR5还采用了Same Bank Refresh功能,与 DDR4 不同,当内存条正在运行或刷新,允许访问其他内存bank。
- 相比之下,GDDR5X 和 GDDR6 具有类似于 DDR4的 16 Bank结构,而 GDDR5 仅限于 8 Bank。
- 与 DDR4 一样,I/O 总线将通过 MUX 同时与两个 BG(每个通道)交互,从而实现更高的有效预取和传输速率。
- DDR5 还将内存密度从 16Gb 一路(向上)增加到 64Gb,并且 VDD 和 VPP 电压都从 1.2v 下降到 1.1v,以减少功耗。
要了解突发长度的含义,需要知道内存是如何访问的。当 CPU 或缓存请求新数据时,地址被发送到内存模块和对应行,然后定位对应列(如果不存在,则加载新行)。然后整个列通过内存总线以突发方式发送,对于 DDR4 和 GDDR5,每个突发为 8(或 16B)。DDR5(和 GDDR5X/6),已增加到多达 32 个(最高 64B)。每个时钟有两个突发,它们以有效数据速率传输。
GDDR6 与 GDDR5X 一样,具有 16n (BL16) 预取,但分为两个通道。因此,GDDR6 每个通道提取 32 个字节,总共 64 个字节,就像 GDDR5X 一样,是 GDDR5 的两倍。虽然这不会提高 GDDR5X 的内存传输速度,但它提供了更多功能。突发长度也和 GDDR5X 16(64B)一样。
与 DDR4 一样,GDDR5 和 GDDR6 均具有 16 Bank 配置
GDDR6 可以获取与 GDDR5X 相同数量的数据,但可以跨越两个独立的通道,使其能够像两个较小的芯片一样工作,而不是像一个更宽的单个芯片。除此之外,GDDR6 还将密度增加到 16Gb(与 GDDR5X 相比为 2 倍,JEDEC 最大值为 32Gb)并通过将基本时钟从 12Gbps 增加到 14Gbps(最大值为 16Gbps)来显着提高带宽。
DDR4/DDR5/GDDR5=DDR;GDDR5X/GDDR6= QDR
DDR3、DDR4、GDDR5 和较新的 DDR5 标准使用双倍数据速率或 DDR 数据传输方案。这意味着位(等于 BL)在时钟 (WCK) 的上升沿和下降沿传输,使用 GDDR5X,显存四倍频模式
因此,数据位每个周期切换四次(比 DDR 快两倍)或比字时钟 (WCK) 快四倍。GDDR5X 和 GDDR6 都可以在 DDR 或 QDR 模式下运行。但是,在DDR中运行前者时,有效速度下降了一半。借助 GDDR6,可以以高达 14 Gbps 的全速使用 DDR 和 QDR 模式。例如,以 14Gbps 运行的 GDDR6 模块,对于 DDR 设备,WCK 以 7GHz 运行,对于 QDR 设备以 3.5 运行。在这两种情况下,命令和地址时钟 CK 将以 1.75GHz 运行,命令和地址线本身以 1.75Gbps 运行。
GDDR6 与 GDDR6X
NVIDIA 是第一家在其 RTX 30 系列 GPU 中选择 GDDR6X 内存的供应商,至少是高端 GPU。它将每引脚带宽从 14Gbps 增加到 21Gbps,将总带宽增加到 1008GB/s,甚至超过 3072 位宽的 HBM2 堆栈。
GDDR6X | GDDR6 | GDDR5X | HBM2 | |
B/W Per Pin | 21 Gbps | 14 Gbps | 11.4 Gbps | 1.7 Gbps |
芯片容量 | 1 GB (8 Gb) | 1 GB (8 Gb) | 1 GB (8 Gb) | 4 GB (32 Gb) |
No. Chips/KGSDs | 12 | 12 | 12 | 3 |
B/W Per Chip/Stack | 84 GB/秒 | 56 GB/秒 | 45.6 GB/秒 | 217.6 GB/秒 |
总线宽度 | 384 位 | 384 位 | 352 位 | 3072 位 |
Total B/W | 1008 GB/秒 | 672 GB/秒 | 548 GB/秒 | 652.8 GB/秒 |
DRAM电压 | 1.35 伏 | 1.35 伏 | 1.35 伏 | 1.2V |
数据速率 | QDR | QDR | DDR | DDR |
Signaling | PAM4 | 二进制 | 二进制 | 二进制 |
GDDR6X 内存背后的秘密武器是 PAM4 编码。简而言之,与使用 NRZ 或二进制编码的 GDDR6 相比,它使每个时钟的数据传输增加了一倍。
使用 NRZ,只有两个状态,0 和 1。PAM4 将其翻倍为四个,00、01、10 和 11。使用这四个状态,可以在每个周期发送四位数据(每个边缘两个)。PAM4 的缺点是价格高,尤其是在 GDD6X 的较高频率下。这就是之前没有人尝试在消费者内存中实现它的原因。
这是一个缺点。虽然 GDDR6 的突发长度为 16 字节 (BL16),但 GDDR6X 仅限于 BL8 或 8 字节,但由于 PAM4 信号,它的每个 16 位通道也将在每次操作中传送 32 字节。因此,带宽的大部分改进来自 GDDR6X 上更高的工作频率。GDDR6X 不是 JEDEC 标准,而是美光的专有解决方案。
高带宽内存 (HBM)
首先由AMD的斐济显卡普及,高带宽内存或HBM是一种具有宽总线的低功耗内存标准。与 GDDR5 相比,HBM 实现了更高的带宽,同时以小尺寸消耗更少的功率。
HBM 采用低至 500 MHz 的时钟以符合低 TDP 目标,并通过大量总线(通常为 4096 位)来弥补带宽损失。AMD 的 Radeon RX Vega 卡是消费硬件中 HBM2 实现的最佳示例。HBM2 解决了 HBM1 的 4GB 限制,但有限的产量加上内存短缺使 AMD 无法利用消费级 GPU。