H02 — Why Memory Should Be Installed in Pairs: How Dual Channel Works
Key Insight: A single tree does not make a forest. Neither does a single channel for bandwidth.
Single Channel vs Dual Channel: Numerical Comparison
What is the performance difference between one 16 GB DDR4-3200 stick and two 8 GB DDR4-3200 sticks?
理论带宽对比:
单通道(1 × 16GB DDR4-3200):
64-bit 总线
带宽 = 3200 MT/s × 8 bytes = 25.6 GB/s
双通道(2 × 8GB DDR4-3200):
128-bit 总线(2 × 64-bit,但控制器侧看作 128-bit)
带宽 = 3200 MT/s × 8 bytes × 2 = 51.2 GB/s
提升:100% 带宽(理论上)
实际测试(Ryzen 7 5800X + DDR4-3600):
单通道读取:~25 GB/s
双通道读取:~50 GB/s
→ 实际接近翻倍Why does installing two sticks double the bandwidth?
内存控制器和通道的关系:
内存控制器(Memory Controller)通常有 2 个通道(Channel),
每个通道独立连接到 DIMM。
通道 0 ──→ DIMM A(64-bit)
通道 1 ──→ DIMM B(64-bit)
↑
两个通道合并看作 128-bit 总线
数据写入时:
CPU 发出 128-bit 数据
→ 内存控制器拆分成两个 64-bit
→ 通道 0 写 DIMM A,通道 1 写 DIMM B
→ 合并成一个 128-bit 写操作(并行)
所以:插两条内存 = 两个通道同时工作 = 带宽翻倍Symmetric and Asymmetric Dual Channel Modes
对称双通道(Symmetric Dual Channel,最佳):
通道 0:8GB DDR4-3200
通道 1:8GB DDR4-3200
总容量:16GB,通道总宽度 128-bit
非对称双通道(Asymmetric Dual Channel):
通道 0:8GB DDR4-3200
通道 1:16GB DDR4-3200
总容量:24GB
工作方式:
- 前 8GB(两个通道各 4GB)= 对称双通道模式(128-bit)
- 后 8GB(只有通道 1)= 单通道模式(64-bit)
结果:
- 内存访问前 8GB:双通道性能
- 内存访问后 8GB:单通道性能
- 操作系统会显示"双通道",但实际只有部分对称
建议:尽量保持对称双通道,避免非对称导致的性能不稳定。Why Do Some Motherboards Drop to Single Channel With Three Sticks
This is a common trap:
主板内存插槽颜色标记法:
┌────┬────┬────┬────┐
│ 槽1 │ 槽2 │ 槽3 │ 槽4 │
│ A1 │ A2 │ B1 │ B2 │ ← 有些主板用颜色区分通道
└────┴────┴────┴────┘
通道 0:A1 + A2(通常用黑色或同样颜色)
通道 1:B1 + B2(通常用另一种颜色)
正确插法(双通道):
A1 + B1(每通道各一条,最推荐)
A2 + B2(如果 A1 已经被其他硬件占用)
错误插法(降级为单通道):
A1 + A2(都插在同一通道!)
→ 通道 0 有两条(负载过重,频率降级)
→ 通道 1 空闲(整系统变成单通道)
常见问题:
主板说明书通常会写"优先插 A2 + B2"或"优先插 2+4 槽"
不按说明书来,性能会大幅下降。Quad Channel
High-end servers (Intel Xeon, AMD EPYC) support quad channel or more:
四通道内存架构(高端服务器):
通道 0 ──→ DIMM A(64-bit)
通道 1 ──→ DIMM B(64-bit)
通道 2 ──→ DIMM C(64-bit)
通道 3 ──→ DIMM D(64-bit)
↑
合并成 256-bit 总线
四通道带宽(DDR4-2933):
理论带宽 = 2933 MT/s × 32 bytes = 93.8 GB/s
对比双通道(DDR4-2933)= 46.9 GB/s
→ 四通道比双通道带宽多 100%
限制:
- 需要服务器级主板(双路或四路配置)
- 需要 CPU 支持(Intel Xeon Scalable、AMD EPYC)
- 桌面 CPU(Core i9)最多只支持双通道
典型配置(四路服务器):
每路 CPU 有自己的内存控制器
总系统带宽 = 4 channels × 带宽/通道Practical Impact of Channel Count and Bandwidth
不同应用的带宽需求:
1. 日常应用(浏览器、Office):
- 需求低,单通道或双通道差别不大
- 内存延迟更重要(CL 时序)
2. 游戏(GPU 绑定,CPU 内存带宽不是瓶颈):
- 需求中低,双通道足够
- 显卡带宽更重要
3. 视频编辑(ProRes、RAW 视频处理):
- 需求中高,双通道是底线
- 4K/8K 视频需要四通道
4. AI 推理/深度学习:
- 需求高,需要高内存带宽
- Transformer 模型需要大量权重数据
- 四通道或更多通道是必须的
5. 科学计算(HPC):
- 需求极高,需要高带宽
- 超算节点通常有 8 通道或更多Summary
- Dual Channel: Two 64-bit channels in parallel; combined as 128-bit bus; bandwidth doubles
- Symmetric vs Asymmetric: Symmetric dual channel (first 8GB dual, rest single); aim for symmetry
- Slot Installation: Slots on different channels (distinguished by color or number); do not install all on the same channel
- Quad Channel: High-end servers (Xeon/EPYC); 256-bit bus; DDR4-2933 quad channel ~94 GB/s
- Bandwidth Needs: Daily apps not sensitive; video/AI/HPC need more channels
Next (H03): What are memory timings? CL-tRCD-tRP-tRAS. How do these numbers affect actual latency? Why is DDR4-3600 CL16 faster than DDR4-3200 CL22?
Comments