【香山双周报 51】20240513期
欢迎来到我们的双周报专栏,本次是香山双周报专栏的第 51 期。我们将通过这一专栏,定期介绍香山的开源进展,希望与大家共同学习、一起进步。
近期,昆明湖各组持续推进面积、时序、功耗的优化。此外,前端初步完成 ITTAGE 功耗优化,后端拆分浮点向量流水线和功能单元,访存与缓存各工作持续 debug 中,向量访存跑通第一个 segment 指令的 riscv-vector-test 测试。
近期进展
前端
- 完成部分 clock gating efficiency 优化(#2981、#2979)
- 前端面积功耗优化合并主线(#2957、#2956)
- 完成 ITTAGE低功耗优化,在没有间接跳转时关闭ITTAGE
- 初步完成 ICache DataArray 细粒度划分
后端流水线
- 拆分浮点向量流水线和功能单元,优化向量浮点性能(#2954)
- 实现向量 Segment 指令独占 ROB 的功能特性
访存与缓存
- CHI 总线
- 搭建新版 TLTest 框架,可同时支持 Verilator 与 VCS 仿真
- 修复 MCP2 相关的若干 bug;在 VCS + DiffTest 框架下迭代 CI 测试,目前通过 185/204
- 修复 4 核 TLTest 压力测试下的死锁
- H扩展
- 修复系列 gpa 相关 bug,正逐步合入主线(#2967)
- 向量访存
- 修复大量 VSegmentUnit 模块的 bug,跑通第一个 segment 指令的 riscv-vector-test 测试
- 重写 Split 模块适应乱序向量访存时 redirect 刷表项问题
- 目前可以跑通部分向量化 hmmer checkpoint,能跑通的两个较大权重 checkpoint 的 ipc 均为 1.85 左右
- 性能优化
- 修复关键字优先的性能 bug(#2972)
- Temperal 预取器 meta on L2 功能修复并优化,实现 TP meta 与 data 的替换算法分离,并进行硬的路划分
- 优化 DRRIP 替换,尝试不同的参数设置,目前性能与 PLRU 基本持平;原 L3 替换算法迁移至 L2,正在 debug
- FPC 缓存压缩算法性能测试,对 Spec int 程序有一定的提升,对 Spec fp 基本没有提升
- 修复 SRAM 拆分模块在多路 SRAM 下的问题
- 功耗优化
后记
香山开源处理器正在火热地开发中,新的功能与新的优化在持续添加中,我们将通过香山双周报专栏定期地同步我们的开源进展。感谢您的关注,欢迎在后台留言与我们交流!
在香山昆明湖架构研发后期,性能会每月公布一次,敬请期待!
相关链接
- 香山技术讨论 QQ 群:879550595
- 香山技术讨论网站:https://github.com/OpenXiangShan/XiangShan/discussions
- 香山文档:https://xiangshan-doc.readthedocs.io/
编辑:高泽宇、唐浩晋、李燕琴、蔡洛姗
审校:香山宣传工作组