【香山双周报 63】20241111 期
欢迎来到我们的双周报专栏,本次是香山双周报专栏的第 63 期。我们将通过这一专栏,定期介绍香山的开源进展,希望与大家共同学习、一起进步。
近期,昆明湖各组持续推进面积、时序、功耗的优化。此外,前端添加 FTB pred_data 寄存器的复位,后端 VS/S/M 模式双重陷入拓展 (Ss/mdbltrp) 合入主线,访存和缓存部分修复 CMO.clean / flush 操作在 L1 miss、L2 hit 时的 Bug。本期还更新了昆明湖架构近期性能。
近期进展
前端
后端流水线
-
Bug 修复
-
时序/面积优化
-
RVA23 Profile
访存与缓存
-
CHI 总线
- 通过提高 CHI 转接桥并发度与 TL 版本对齐 SPEC CPU2006 libquantum 测试点性能,但是其他测试点仍然存在性能严重倒退问题
-
Bug 修复
-
PPA 优化
- 调研 MemBlock 的一系列面积优化点,主要包括队列项数裁剪、冗余逻辑删除、功能单元合并等
-
工具
- TL-Test 验证框架:在 tl-test-new 中添加 CMO 的测试环境,目前可以在 tl-test-new 上运行 CMO transaction (#3804)
- 在 DiffTest store event 中添加 PC 和 RobIdx 等信息辅助调试 (difftest #499)
评估
我们采用 SimPoint 对程序进行采样,基于我们自定义的 Checkpoint 格式制作检查点镜像,Simpoint 聚类的覆盖率为 100%。SPEC CPU2006 使用 gcc 12 进行编译,开启 O3 优化,采用 jemalloc 内存库,设置 SPECfp 2006 的-ffp-contraction 选项为 fast,指令集为 RV64GCB。我们使用 11 月 08 日 fbdb359 版本的香山处理器(缓存大小配置为 64KB L1 ICache + 64KB L1 DCache + 1MB L2 + 16MB L3,访存单元为 3ld2st 流水线),在仿真环境下运行了 SPEC CPU2006 片段,使用 DRAMsim3 模拟 CPU 在 3GHz 情况下 DDR4-3200 内存的延迟。以下为 SPEC CPU2006 的分数估计情况:
| SPECint 2006 est. | @ 3GHz | SPECfp 2006 est. | @ 3GHz |
|---|---|---|---|
| 400.perlbench | 38.17 | 410.bwaves | 76.73 |
| 401.bzip2 | 25.55 | 416.gamess | 43.51 |
| 403.gcc | 47.25 | 433.milc | 44.07 |
| 429.mcf | 58.61 | 434.zeusmp | 56.96 |
| 445.gobmk | 30.29 | 435.gromacs | 37.46 |
| 456.hmmer | 40.83 | 436.cactusADM | 49.48 |
| 458.sjeng | 30.27 | 437.leslie3d | 44.93 |
| 462.libquantum | 124.52 | 444.namd | 34.73 |
| 464.h264ref | 57.82 | 447.dealII | 75.09 |
| 471.omnetpp | 39.74 | 450.soplex | 54.54 |
| 473.astar | 29.00 | 453.povray | 56.03 |
| 483.xalancbmk | 74.59 | 454.Calculix | 18.35 |
| GEOMEAN | 44.64 | 459.GemsFDTD | 37.94 |
| 465.tonto | 38.21 | ||
| 470.lbm | 102.06 | ||
| 481.wrf | 43.45 | ||
| 482.sphinx3 | 53.21 | ||
| GEOMEAN | 47.75 |
上述分数为基于程序片段的分数估计,非完整 SPEC CPU2006 评估,和真实芯片实际性能可能存在偏差!
后记
香山开源处理器正在火热地开发中,新的功能与新的优化在持续添加中,我们将通过香山双周报专栏定期地同步我们的开源进展。感谢您的关注,欢迎在后台留言与我们交流!
在香山昆明湖架构研发后期,性能会每月公布一次,敬请期待!
相关链接
- 香山技术讨论 QQ 群:879550595
- 香山技术讨论网站:https://github.com/OpenXiangShan/XiangShan/discussions
- 香山文档:https://xiangshan-doc.readthedocs.io/
- OpenLLC 的 github 仓库地址为: https://github.com/OpenXiangShan/OpenLLC
编辑:李燕琴、林志达、满洋、刘泽昊、冯浩原、马月骁
审校:香山宣传工作组