跳转至

【香山双周报 102】20260511 期

欢迎来到香山双周报专栏,我们将通过这一专栏定期介绍香山的开发进展。本次是第 102 期双周报。

基于香山昆明湖 V2 二次开发的进迭时空第三代高性能 RISC-V 处理器核 X200 研发完成!X200 在传统云计算处理器核的基础上,面向云端 Agent 应用与旗舰级终端 Agent 应用进行了针对性优化,SPECInt 2006 性能达到 16.0 分/GHz,单核频率可达 3.3GHz;相比 X100,单位性能提升 100% 以上,达到 SPECint 2006 50 分/Core。

相比使用了昆明湖 V2,更让我们高兴的是 X200 的研究过程中使用了全套的香山开源基础设施,这是支撑 X200 走向可量产状态的冰山水面下部分。这些开源工具链极大加速了 X200 二次开发的效率,为 X200 的质量提供了有力保障。

关于香山近期开发进展,前端在优化时序的同时进行 2-fetch 实现;后端和访存修复了一些功能 bug,并继续推进新版 L2 的设计;XSAI 为矩阵模块添加了 FP8 支持,同时优化了代码质量和评估工具。

近期进展

前端

  • RTL 新特性
  • 实现初版 2-prefetch 方案(#5775
  • Bug 修复
  • (V2)协同后端组修复 satp 更新后出现异常时 xepc 和 xtval 寄存器更新错误的问题(#5860
  • 修复 IFU 处理跨页指令引起的异常时标记错误的问题(#5874
  • PPA 优化
  • 使用 SRAM 保存 TAGE useful counter 以节省面积(#5852
  • 调整 BPU 顶层处理 mbtb attribute 的流水级划分以提升时序(#5842
  • 代码质量
  • 移除 MBTB 中一个可能引起误解的参数(#5891

后端

  • Bug 修复
  • (V2)前端组协同下修复 satp 更新后出现异常时 xepc 和 xtval 寄存器更新错误的问题(#5860
  • (V2)修复每条 jump 指令执行时都会触发的 redirect 的问题(#5867
  • (V2)为 mtvec 添加初始化值(#5862

访存与缓存

  • RTL 新特性
  • 实现了 DCache mshr 的 store-load 前递(#5870
  • 持续推进新版 L2 设计
  • Bug 修复
  • 修复了 L2TLB 中错误使用 PPN 截断位来索引 cfs 的问题(#5858
  • 修复了 StoreQueue 处理跨 16 字节访存时的行为(#5855

XSAI

  • RTL 新特性
  • 矩阵模块支持 FP8 精度(XSAI #61
  • 正在评估矩阵模块的 8 通道访存
  • 正在与后端组配合实现 BF16 标量与向量
  • Bug 修复
  • 修复 CUTE 的一处调度错误(XSAI #62
  • 代码质量
  • 添加 Makefile 对 CUTE 代码更改的跟踪(XSAI #63
  • firmware 编译加速(xsai-env #4
  • 评估工具
  • checkpoint 并行仿真(xsai-env #11

性能评估

处理器及 SoC 参数如下所示:

参数 选项
commit f65a4e6c3
日期 2026/05/07
L1 ICache 64KB
L1 DCache 64KB
L2 Cache 1MB
L3 Cache 16MB
访存单元 3ld2st
总线协议 CHI
内存配置 DDR4-3200

性能数据如下所示:

SPECint 2006 @ 3GHz GCC15 XSCC SPECfp 2006 @ 3GHz GCC15 XSCC
400.perlbench 48.42 47.53 410.bwaves 85.27 89.88
401.bzip2 27.43 28.28 416.gamess 57.05 53.23
403.gcc 55.26 38.88 433.milc 64.93 64.04
429.mcf 61.00 55.47 434.zeusmp 71.27 64.66
445.gobmk 38.94 40.10 435.gromacs 37.20 34.38
456.hmmer 54.38 64.72 436.cactusADM 76.13 87.68
458.sjeng 38.87 39.48 437.leslie3d 56.26 56.36
462.libquantum 136.67 294.84 444.namd 43.23 45.23
464.h264ref 63.46 71.99 447.dealII 64.25 68.39
471.omnetpp 41.07 39.47 450.soplex 52.12 63.93
473.astar 30.42 29.63 453.povray 73.34 65.77
483.xalancbmk 75.83 84.61 454.Calculix 43.74 39.61
GEOMEAN 50.90 54.07 459.GemsFDTD 63.50 63.95
465.tonto 52.59 35.01
470.lbm 125.82 133.04
481.wrf 54.96 41.58
482.sphinx3 59.39 62.42
GEOMEAN 61.07 59.18

编译参数如下所示:

参数 GCC15 XSCC
编译器 gcc15 xscc
编译优化 O3 O3
内存库 jemalloc jemalloc
-march RV64GCB RV64GCB
-ffp-contraction fast fast
链接优化 -flto -flto
浮点优化 -ffast-math -ffast-math
-mcpu - xiangshan-kunminghu

注:我们使用 SimPoint 对程序进行采样,基于我们自定义的 checkpoint 格式制作检查点镜像,Simpoint 聚类的覆盖率为 100%。上述分数为基于程序片段的分数估计,非完整 SPEC CPU2006 评估,和真实芯片实际性能可能存在偏差。

相关链接

编辑:徐之皓、吉骏雄、陈卓、余俊杰、孙际儒、李衍君