H03 —— CL-tRCD-tRP-tRAS:内存时序是怎么影响实际延迟的
金句:只看标称频率选内存,就像只看最高时速买汽车——你会错过很多。
什么是内存时序(Timing)
内存时序是描述内存命令之间延迟的几个参数,它们共同决定了内存操作的快慢。
DDR4 主要时序参数(以 DDR4-3200 CL22 为例):
CL = 22 ← CAS Latency(列访问延迟)
tRCD = 22 ← RAS to CAS Delay(行到列延迟)
tRP = 22 ← Row Precharge Delay(预充电延迟)
tRAS = 36 ← Row Active Time(行激活时间)
这些数字的单位是什么?
→ 是"时钟周期数",不是纳秒!
→ 需要除以实际时钟频率才能换算成 ns为什么时序参数单位是”周期”不是”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 延迟越小。时序参数换算成 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%。四个时序参数的含义
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(实际取决于颗粒)为什么时序参数无法随意降低
时序参数的物理限制:
DRAM 颗粒内部的 Cell 访问需要时间:
- Row 打开:Sense Amplifier 需要时间稳定(tRCD)
- 列访问:数据从 Cell 传到 IO 路径(tCCD)
- 预充电:Bit Line 需要时间放电,为下次访问做准备(tRP)
这些是 DRAM 晶体管的物理特性,无法随意压缩。
但 JEDEC 标准给了一个权衡:
- 同一颗粒,高频率 = 不得不放宽时序(否则无法稳定)
- 低频率 = 可以用更紧的时序(更低的 CL)
例如 DDR4-2400 最低可以 CL14
DDR4-3200 最低是 CL22
DDR4-3600 最低是 CL18时序和频率的权衡:哪个更重要
选择 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 倍怎么看内存时序表
内存时序表(取自某 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),但带宽是绝对优势总结
- 时序参数:CL、tRCD、tRP、tRAS 的单位是”时钟周期数”,不是 ns
- 频率换算:
延迟(ns) = 参数 / MT/s × 2000 - DDR4-3200 CL22:延迟 = 22/3200×2000 = 13.75ns
- DDR4-3600 CL16:延迟 = 16/3600×2000 = 8.89ns(快 35%!)
- DDR5 CL40:延迟 = 40/4800×2000 = 16.67ns(比 DDR4 差,但带宽是 2 倍)
- 频率 vs 时序:延迟敏感选更紧时序(DDR4 低频),带宽敏感选更高频率(DDR5)
- DDR4 的 CL 延迟:不同频率的 CL(ns) 基本都在 13~15ns 之间,变化不大
下篇预告(H04):XMP 和 EXPO 是什么?你的内存标称 3200,但为什么可以在 3600 下运行?内存超频的原理和风险。
关注公众号「AI不着急」,回复”资料”获取内存学习路线图。
评论