2月4日消息,国产香山团队近日正式开源其高性能内存控制器IP,代号玉泉,其中DDR4控制器IP代号为白杨,这对于香山处理器项目及其内存子系统研究具有里程碑式的意义。
官方表示,随着CPU计算能力持续飞速提升,内存子系统的性能瓶颈日益凸显。
CPU频率的增长并未带来系统整体性能的同步提升,原因在于内存性能的发展速度远落后于处理器,这种木桶效应使得访存延迟成为制约整个系统性能的关键瓶颈。
在大数据与人工智能时代,这一矛盾尤为突出。

为了缓解内存墙问题,研究者提出了多种方案,其中高性能内存控制器作为关键技术之一,能够有效提升内存访问效率、降低延迟、提高带宽利用率,从而减轻其对系统性能的制约。
与此同时,香山开源处理器核已快速演进至第三代(昆明湖),其内存访问路径持续升级,各级缓存(L1-L2-L3)的架构与性能也在不断优化。
然而,作为连接处理器与内存的关键部件,内存控制器在开源生态中仍处于相对简单(dumb)的状态。

它的性能优化直接影响处理器核所能发挥的性能上限,但当前缺少与处理器架构进行联合优化的创新方案,国内外现有的开源项目也未能满足对高性能内存控制器IP的需求。
现阶段,内存控制器IP主流市场被少数几家供应商垄断,授权费用极其昂贵,例如一个DDR5 IP的单项目授权费可能高达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/Intel/Qualcomm:通常将内存控制器作为芯片组的一部分提供,需购买其芯片获取
现有的开源内存控制器项目,大多面向特定或轻量级应用场景,在性能、功能完备性和流片支持上存在明显不足。

现在,香山采用的流片方案是使用商用DDR4/DDR5内存控制器IP,但也存在一些问题:
-成本高昂:先进工艺节点的DDR5 IP授权费用极其昂贵。
-优化困难:难以结合香山处理器核独特的访存特征进行针对性优化。商用IP动辄数百个的可配置参数,也缺乏科学的设计空间探索方法来进行有效调优。
针对这些挑战,白杨IP在设计之初就设定了明确目标:填补从一般性开源MC IP到可供开源生态自主演进的高性能MC IP之间的技术鸿沟。
其设计方案通过将问题分解、融合、提炼,可以将七个待解决难点转化为四项研究问题,即MC支持参数化、可配置,支持模块化分解和复用,支持动态刷新、动态调度、缓存、预取等高级特性,支持DFIx、AXI4等总线协议。

白杨IP采用模块化、可配置的架构设计,除了实现内存控制器的基本功能外,还集成了多项高级特性:
软件可配置:通过APB接口,软件可以访问和配置内存控制器内部的寄存器,从而灵活支持各种DDR配置。
时序与调度解耦:将DDR时序逻辑与事务调度器(Scheduler)解耦。这种设计使得调度器逻辑可以在不同的DDR配置中复用,提高了设计灵活性和可维护性。
高级功能模块:集成了动态刷新、智能调度、缓存及预取等高级功能模块,显著提升了内存控制器的性能。
目前,白杨IP已取得重要的阶段性成果。

在功能方面,该团队已经在帕拉丁(Palladium)硬件仿真平台上,成功将白杨与香山第三代昆明湖处理器核集成,并正常启动了Linux操作系统及其他测试应用,证明了其功能的正确性与稳定性。
在性能方面,集成了昆明湖核与白杨内存控制器的系统,在SPEC CPU2006基准测试中取得了超过14分/GHz的成绩,性能水平已接近商用内存控制器IP。

项目开源地址
