2月3日消息,香山团队今日宣布开源其内存控制器IP,代号“玉泉”。其中,DDR4控制器IP代号为“白杨”。这对于香山处理器项目及其内存子系统研究具有里程碑式的意义。
香山开源处理器核目前已快速演进至第三代“昆明湖”,其内存访问路径持续升级,各级缓存(L1-L2-L3)的架构与性能也在不断优化。

然而,作为连接处理器与内存的关键部件,内存控制器在开源生态中仍处于相对“简单”的状态。它的性能优化直接影响处理器核所能发挥的性能上限,但当前缺少与处理器架构进行联合优化的创新方案,国内外现有的开源项目也未能满足对高性能内存控制器IP的需求。
香山团队表示,内存控制器IP主流市场被少数几家供应商垄断,授权费用极其昂贵,例如一个DDR5IP的单项目授权费可能高达80万至150万美元。同时,这些IP包含大量可配置参数,开发与调试门槛高。
Synopsys:提供DDR4/DDR5/LPDDR5/HBM等IP授权 Cadence:提供LPDDR6/5X/HBM4等IP授权 Alphawave:提供HBM3/UCIe/CXL等IP授权 Rambus:提供DDR3/DDR4/GDDR6/HBM3等IP授权 ARM/英特尔/高通:通常将内存控制器作为芯片组的一部分提供,需购买其芯片获取
现在,香山采用的流片方案是使用商用DDR4/DDR5内存控制器IP。然而,对于香山处理器生态而言,这种流片方法存在一些问题:
成本高昂:先进工艺节点的DDR5IP授权费用极其昂贵。 优化困难:难以结合香山处理器核独特的访存特征进行针对性优化。商用IP动辄数百个的可配置参数,也缺乏科学的设计空间探索方法来进行有效调优。
针对上述挑战,“白杨”IP在设计之初就设定了明确目标:填补从一般性开源MCIP到可供开源生态自主演进的高性能MCIP之间的技术鸿沟。其设计方案通过将问题分解、融合、提炼,可以将七个待解决难点转化为四项研究问题,即MC支持参数化、可配置,支持模块化分解和复用,支持动态刷新、动态调度、缓存、预取等高级特性,支持DFIx、AXI4等总线协议。
“白杨”IP采用模块化、可配置的架构设计。除了实现内存控制器的基本功能外,还集成了多项高级特性:
软件可配置:通过APB接口,软件可以访问和配置内存控制器内部的寄存器,从而灵活支持各种DDR配置。时序与调度解耦:将DDR时序逻辑与事务调度器解耦。这种设计使得调度器逻辑可以在不同的DDR配置中复用,提高了设计灵活性和可维护性。高级功能模块:集成了动态刷新、智能调度、缓存及预取等高级功能模块,显著提升了内存控制器的性能。

目前,“白杨”IP已取得重要的阶段性成果。在功能方面,该团队已经在帕拉丁硬件仿真平台上,成功将“白杨”与香山第三代“昆明湖”处理器核集成,并正常启动了Linux操作系统及其它测试应用,证明了其功能的正确性与稳定性。

在性能方面,集成了“昆明湖”核与“白杨”内存控制器的系统,在SPEC CPU2006基准测试中取得了超过14分/GHz的成绩,性能水平已接近商用内存控制器IP。

IT之家附开源地址如下:
