跳转至

【香山双周报 49】20240415期

欢迎来到我们的双周报专栏,本次是香山双周报专栏的第 49 期。我们将通过这一专栏,定期介绍香山的开源进展,希望与大家共同学习、一起进步。

近期,昆明湖各组持续推进面积、时序、功耗的优化。此外,前端优化了 FTB 并重构了 ICache;后端修复了浮点性能严重下滑的问题;访存组 H 扩展成功合入香山主线,修复大量 VLSU 重构 bug;缓存组修复初版 CHI-CoupledL2 若干 bug,四核缓存子系统成功通过 TL-Test 的 9 个 seed 共 9 亿拍测试。本期还更新了昆明湖架构近期性能。

近期进展

前端

  • FTQ 折叠历史相关存储面积裁剪(#2856
  • FTB 功耗优化,实现根据阈值控制 FTB 的开关(#2863
  • 修复 ICache 预取中 p1_vaddr、p2_vaddr 的初始化问题(#2843
  • 重构 ICache 以实现功耗优化,目前正在时序调优

后端流水线

  • 修复浮点发射队列间唤醒通路的连接,修复后浮点性能提升约 32.38%(#2830
  • 修复 vfcvt FU 在标量指令支持上未判定输入为 CanonicalNAN 的情况(#2855
  • 修复由分 Bank ROB 暴露出的 walk 指针设置错误、vfdatasource 错误等 bug(#2877

访存单元

  • H 扩展通过 CI 测试,已合入香山主线(#2852
  • 向量访存重构后,大量 bug 被修复,目前已打通 unit-stride 通路;VLSU 异常处理接近完成
  • Evict on refill 特性完成性能和时序评估
  • 初步完成 LQRAW 和 LQReplay 的门控编码;部分完成 LSQ 的面积裁剪

缓存系统

  • CHI-CoupledL2 初版 RTL 若干 bug 修复,在 CHI VIP 的 VCS 环境中成功启动被动模式 TL-Test
  • 分析采用 MultiCyclePath2 的 L2 时序结果,并做进一步优化
  • 修复 TL-Test bug,四核缓存子系统成功通过 TL-Test 的 9 个 seed 共 9 亿拍测试
  • 在 L2 上实现缓存数据压缩算法,并评估 L2 容量增减对 SPEC 的性能影响
  • 完成 Temperal 预取器的 meta 迁移到 L2 并共享缓存数据空间

评估

我们采用 SimPoint 对程序进行采样,基于我们自定义的 Checkpoint 格式制作检查点镜像,Simpoint 聚类的覆盖率为 80%。SPEC06 使用 gcc 12 进行编译,开启 O3 优化,采用 jemalloc 内存库,设置 SPEC06FP 的 -ffp-contraction 选项为 fast,指令集为 RV64GCB。我们使用 4月3日 1d97d643e 版本的香山处理器(缓存大小配置为 64KB L1 ICache + 64KB L1 DCache + 1MB L2 + 16MB L3,访存单元为 2ld2st 流水线),在仿真环境下运行了 SPEC06 片段,使用 DRAMsim3 模拟 CPU 在 3GHz 情况下 DDR4-3200 内存的延迟。以下为 SPECCPU 2006 的分数估计情况:

SPECint 2006 @ 3GHz SPECfp 2006 @ 3GHz
400.perlbench 35.11 410.bwaves 43.13
401.bzip2 25.09 416.gamess 42.84
403.gcc 48.05 433.milc 33.89
429.mcf 58.91 434.zeusmp 42.95
445.gobmk 31.56 435.gromacs 29.52
456.hmmer 32.61 436.cactusADM 38.33
458.sjeng 31.82 437.leslie3d 39.89
462.libquantum 130.84 444.namd 37.04
464.h264ref 51.89 447.dealII 67.19
471.omnetpp 41.19 450.soplex 56.09
473.astar 32.00 453.povray 52.27
483.xalancbmk 73.56 454.Calculix 16.46
GEOMEAN 44.08 459.GemsFDTD 34.65
465.tonto 33.29
470.lbm 86.96
481.wrf 37.28
482.sphinx3 55.38
GEOMEAN 41.35

上述分数为基于程序片段的分数估计,非完整 SPEC CPU 2006 评估,和真实芯片实际性能可能存在偏差!

后记

香山开源处理器正在火热地开发中,新的功能与新的优化在持续添加中,我们将通过香山双周报专栏定期地同步我们的开源进展。感谢您的关注,欢迎在后台留言与我们交流!

在香山昆明湖架构研发后期,性能会每月公布一次,敬请期待!

相关链接

  • 香山技术讨论 QQ 群:879550595
  • 香山技术讨论网站:https://github.com/OpenXiangShan/XiangShan/discussions
  • 香山文档:https://xiangshan-doc.readthedocs.io/

编辑:高泽宇、唐浩晋、李燕琴、蔡洛姗

审校:香山宣传工作组