【香山双周报 83】20250818 期
欢迎来到香山双周报专栏,我们将通过这一专栏定期介绍香山的开发进展。我们期待您的贡献。
本次是第 83 期双周报。
在过去的两周,前端继续进行 V3 的 RTL 开发,同时在模型上探索分支预测的设计。后端与访存缓存修复了一系列功能 bug。后端还进行了 V3 开发的准备工作,主要包含一些代码清理和前后端接口重构。
近期进展
前端
? RTL 新特性 ? 初步支持 IFU 2-fetch;优化时序(#4917) ? 合入 BPU V3 第四部分(#4946) ? 移植 V2 RAS ? 移植 V2 ITTAGE(初稿) ? 支持 WriteBuffer 多端口访问;接入到 ABTB 及 MBTB ? 修复 PHR 推测更新逻辑;增加 PHR 历史 difftest ? Bug 修复 ? 正确设置 ICache TileLink 总线的 MemBackType、Alias 域(#4943,部分移植自 V2 #4898) ? 模型探索 ? 探索 TAGE-SC 可落地方案 ? 分析 2-taken 性能 ? 代码质量 ? 迁移 ICache 到新参数系统(#4934) ? 清理 BPU 过时代码和相关参数(#4946)
后端
? RTL 新特性 ? 更改后段内部分 Bundle 的命名格式(#4921,#4937) ? 允许 FTQ 中最后一项的指令进行压缩(#4931) ? 在后端中检查 BJU 的跳转目标预测(#4932) ? Bug 修复 ? (V2)修复 PMA 寄存器输出的命名问题(#4929) ? (V2)调整 PMA 寄存器的基地址(#4940) ? (V2)修复 load 快速唤醒 vsetvli
指令产生错误的问题(#4941)
访存与缓存
? Bug 修复 ? (V2)修复了 PageTableCache 中触发 jmp_bitmap_check
的逻辑(#4935)? 修复了 NEMU 在发生 hardware-error exception 时未正确设置 GVA 的问题(NEMU #921) ? 修复了 NEMU 使用 MPRV 时未检查 NMIE 的问题。当 NMIE = 0 时,MPRV 应被视为清除(NEMU #920) ? 工具 ? 修复了 CHIron 的一系列问题
性能评估
我们使用 SimPoint 对程序进行采样,基于我们自定义的 checkpoint 格式制作检查点镜像,Simpoint 聚类的覆盖率为 100%。上述分数为基于程序片段的分数估计,非完整 SPEC CPU2006 评估,和真实芯片实际性能可能存在偏差。
编译参数如下所示:
处理器及 SoC 参数如下所示:
相关链接
? 香山技术讨论 QQ 群:879550595 ? 香山技术讨论网站:https://github.com/OpenXiangShan/XiangShan/discussions ? 香山文档:https://xiangshan-doc.readthedocs.io/ ? 香山用户手册:https://docs.xiangshan.cc/projects/user-guide/ ? 香山设计文档:https://docs.xiangshan.cc/projects/design/
编辑:徐之皓、吉骏雄、陈卓、余俊杰、李衍君