
讲完物理层,我们下沉到 DDR4 最核心的微架构创新:Bank Group。很多讲内存的文章一提带宽就说“频率高了”,但频率只是表象,Bank Group 才是 DDR4 能在不暴拉核心时钟前提下把有效吞吐抬起来的真正内因。
传统 DDR3 的 Bank 是扁平排布的,一次只能对一个 Bank 做激活、读写、预充这一套动作序列,前后命令容易互相堵车。DDR4 引入两层结构:先把若干 Bank 归到一个 Bank Group 里,Group 之间完全独立调度,不同 Group 可以同时挂起各自的激活和读写操作。相当于原来一个服务窗口排队,现在分了几个独立柜台,互不等待。
这个机制对连续数据流特别友好。机器视觉里多路相机 DMA 写内存、运动控制里多轴插补数据交替写入,本质都是多流并发,Bank Group 并行度直接转化成实测带宽利用率的提升。JEDEC 定义可选 2 个或 4 个 Bank Group,控制器地址映射里要把 BG 位和 BA 位分开编址,这也是为什么 DDR4 内存控制器初始化 MRS 序列比 DDR3 复杂不少,FPGA 自研控制器经常在这里踩坑。
但并行不是免费的。Bank Group 打开之后,跨 Group 的调度、刷新冲突仲裁会更复杂,对 CPU 内存控制器的微码成熟度要求更高。早期一批国产 CPU 的 DDR4 控制器固件不成熟时,开满 4 Group 偶尔会出现训练不稳,后来靠微码更新才收敛。深圳联乐实业适配飞腾、龙芯平台时就碰到过,后来做法是和 CPU 原厂对齐 MRS 默认值,并在 Agrade 睿达 DDR4 SPD 里写入经过验证的 Group 使能策略,避开早期固件的边界 Bug。
另一个连带技术点是 Geardown Mode。速率到 2667MT/s 及以上时,命令时钟会切半频工作以降低占空比失真,这是 DDR4 标准里专门为高频档准备的模式。工控 BIOS 里一般默认开启,个别追求极限确定性的运动控制板会关掉以换取更整齐的时序边沿,这类偏门调参,联乐的技术团队会按客户工况个案处理。
理解 Bank Group,也就理解了为什么 DDR4 在“看起来不算很高的频率”下依然能干得很稳。它不是暴力堆频的产物,而是架构红利。这也是联乐一直主张“老平台别急着换 DDR5”的技术底气所在。