H03 — CL-tRCD-tRP-tRAS: How Memory Timings Affect Actual Latency
Key Insight: Choosing memory only by rated frequency is like buying a car only by top speed. You’ll miss a lot.
What Are Memory Timings
Memory timings are parameters describing delays between memory commands. They collectively determine how fast memory operations are.
DDR4 主要时序参数(以 DDR4-3200 CL22 为例):
CL = 22 ← CAS Latency(列访问延迟)
tRCD = 22 ← RAS to CAS Delay(行到列延迟)
tRP = 22 ← Row Precharge Delay(预充电延迟)
tRAS = 36 ← Row Active Time(行激活时间)
这些数字的单位是什么?
→ 是"时钟周期数",不是纳秒!
→ 需要除以实际时钟频率才能换算成 nsWhy Timing Parameters Are in Cycles Not ns
DDR4-3200 的时钟周期:
DDR4-3200 的传输速率是 3200 MT/s,
但 I/O 时钟是 1600 MHz(DDR,双边沿)。
每个时钟周期 = 1 / 1600 MHz = 0.625 ns
DDR4-3600 的时钟周期:
传输速率 3600 MT/s → I/O 时钟 1800 MHz
每个时钟周期 = 1 / 1800 MHz = 0.556 ns
结论:频率越高,时钟周期越短,同样的 CL 数字对应的 ns 延迟越小。Converting Timing Parameters to ns
DDR4-3200 CL22 的实际延迟:
CL(ns)= CL / 传输速率 × 2000
= 22 / 3200 × 2000
= 13.75 ns
tRCD(ns)= tRCD / 传输速率 × 2000
= 22 / 3200 × 2000
= 13.75 ns
DDR4-3600 CL16 的实际延迟:
CL(ns)= 16 / 3600 × 2000 = 8.89 ns
tRCD = 16 / 3600 × 2000 = 8.89 ns
比较:
DDR4-3200 CL22 → CL = 13.75ns
DDR4-3600 CL16 → CL = 8.89ns(快 35%!)
这就是为什么 DDR4-3600 CL16 通常比 DDR4-3200 CL22 更快——
即使频率只高了 12.5%,但 CL 延迟从 22 降到 16,
实际延迟减少了 35%。Meaning of the Four Timing Parameters
1. CL(CAS Latency):
从内存控制器发出 READ 命令(列地址)到数据输出有效的时间
→ 最影响随机访问延迟的参数
→ 越低越好
2. tRCD(RAS to CAS Delay):
从 ACT(激活行)命令到 READ/WRITE(列访问)命令的间隔
→ 打开一个新行所需的最小时间
→ 越低越好,但受到 DRAM 颗粒内部限制
3. tRP(Row Precharge Delay):
PRE(预充电)命令到 ACT(再激活)命令的间隔
→ 关闭当前行所需的时间
→ 行切换时会遇到
4. tRAS(Row Active Time):
ACT 命令之后,行必须保持打开的最短时间
→ 如果 tRAS 太短,可能导致数据丢失(还没读完就开始预充电)
→ 通常 ≈ tRCD + tRC(实际取决于颗粒)Why Timing Parameters Can’t Be Arbitrarily Lowered
时序参数的物理限制:
DRAM 颗粒内部的 Cell 访问需要时间:
- Row 打开:Sense Amplifier 需要时间稳定(tRCD)
- 列访问:数据从 Cell 传到 IO 路径(tCCD)
- 预充电:Bit Line 需要时间放电,为下次访问做准备(tRP)
这些是 DRAM 晶体管的物理特性,无法随意压缩。
但 JEDEC 标准给了一个权衡:
- 同一颗粒,高频率 = 不得不放宽时序(否则无法稳定)
- 低频率 = 可以用更紧的时序(更低的 CL)
例如 DDR4-2400 最低可以 CL14
DDR4-3200 最低是 CL22
DDR4-3600 最低是 CL18Timings vs Frequency Trade-off: Which Matters More
选择 DDR4-3200 CL14 vs DDR4-3600 CL18:
DDR4-3200 CL14:
CL(ns) = 14/3200*2000 = 8.75ns
带宽 = 25.6 GB/s
DDR4-3600 CL18:
CL(ns) = 18/3600*2000 = 10ns
带宽 = 28.8 GB/s(+12.5%)
带宽:DDR4-3600 赢(+12.5%)
延迟:DDR4-3200 CL14 赢(8.75ns vs 10ns)
实际场景选择:
- 延迟敏感(游戏、数据库):DDR4-3200 CL14 更好
- 带宽敏感(AI 推理、图像处理):DDR4-3600 CL18 更好
DDR5 的情况更复杂:
DDR5-4800 CL40 → CL(ns) = 40/4800*2000 = 16.67ns
虽然 CL 数字很大,但实际 ns 延迟并不夸张
DDR5 的优势在于带宽(DDR5-4800 双通道 76.8 GB/s)
延迟比 DDR4 差,但带宽是 DDR4 的 2 倍How to Read Memory Timing Tables
内存时序表(取自某 DDR4-3200 8GB×2 的规格):
Specification DDR4-2400 DDR4-2666 DDR4-3200
Clock Rate (MHz) 1200 1333 1600
Data Rate (MT/s) 2400 2666 3200
CL 16 19 22
tRCD 16 19 22
tRP 16 19 22
tRAS 32 38 36
从 DDR4-2400 CL16 到 DDR4-3200 CL22:
频率提升 33%(2400→3200)
CL 周期数增加 37%(16→22)
实际 CL(ns) = 13.33ns(2400) vs 13.75ns(3200)→ 接近!
DDR4 的实际 CL 延迟随频率变化不大(基本在 13~15ns 之间)
DDR5 的 CL 延迟更高(16~20ns),但带宽是绝对优势Summary
- Timing Parameters: CL, tRCD, tRP, tRAS are in clock cycles, not nanoseconds
- Frequency Conversion: latency(ns) = parameter / MT/s x 2000
- DDR4-3200 CL22: Latency = 22/3200 x 2000 = 13.75ns
- DDR4-3600 CL16: Latency = 16/3600 x 2000 = 8.89ns (35% faster!)
- DDR5 CL40: Latency = 40/4800 x 2000 = 16.67ns (worse than DDR4, but bandwidth is 2x)
- Frequency vs Timings: Latency-sensitive choose tighter timings (DDR4 low freq); bandwidth-sensitive choose higher frequency (DDR5)
- DDR4 CL Latency: CL(ns) across different frequencies is mostly 13-15ns, not much variation
Next (H04): What are XMP and EXPO? Your memory is rated for 3200, but why can it run at 3600? Memory overclocking principles and risks.
Comments