转自公众号:香山开源处理器
http://mp.weixin.qq.com/s?__biz=Mzg5MTY4MjgyNg==&mid=2247486398&idx=1&sn=08ab53b1dded2b559a911987172e53cc
欢迎来到我们的双周报专栏,本次是香山双周报专栏的第 56 期。我们将通过这一专栏,定期介绍香山的开源进展,希望与大家共同学习,一起进步。欢迎大家通过公众号后台留言的方式与我们交流!
近期,昆明湖各组持续推进面积、时序、功耗的优化。此外,前端实现 RVA23 Zcb 拓展,后端合入新版 CSR,CHI-L3 完成剩余模块设计,Sv48 环境下 RTL 和 NEMU 成功启动 Linux kernel。
前端
功能
实现 RVA23 Zcb 拓展 (#3257)
修复在 guest 态从 mmio 空间取指发生 guest page fault 时 , 相关的信息没有正确传到 ibuffer 的潜在问题 (#3182)
修复 ITTAGE 的 ready 信号复位行为不符合预期问题 (#3198)
修复训练 SC 时 totalSum 与 scSum + tagePvdr 不相符的问题 (#3178)
修复传给后端的 newest target 错误问题 (#3269)
修复 IPrefetch s2_miss(1) 条件错误 bug(#3239)
修复 tageTaken 和 tageTarget 的选择条件导致错误的输出 bug(#3241)
性能
完成 ITTAGE useful 移入 sram 方案 (#3247)
修复多个 RAS 相关性能 bug(#3194、#3237)
后端流水线
合入新版 CSR 实现(#3218)
由 CSR registers、CSR events、Permission Check 和 Trap Handler 四部分组成
每个 CSR 例化一个模块
支持 IMSIC
支持 Sstc、Ssovfpmf 和 Smaia 等新扩展
修复了旧版实现的一系列 Bug
Bug 修复
修复 vsstatus.vs 检测的 bug(#3253)
修复 vfredosum 指令的 uop num(#3230)
时序优化
优化 og0 cancel 信号时序(#3235)
decode 的 isComplex 移除 uopNum =/= 1.U 的条件判断
访存与缓存
CHI 总线
CHI-L3 完成剩余模块设计;接入 CoupledL2-OpenLLC-CHI2AXI4 框架,准备进行 tl-test 测试
正在搭建从 Issue B 升级到 Issue E.b 的 TLTest + VIP 验证环境
向量访存
修复 Segment 访存指令相关、MMIO 空间向量访存相关、trigger 异常相关的 bug
修复 vlenb csrr 频繁清空流水线的性能 bug,并采用 gcc15 编译,自动向量化 hmmer 由 gcc14 的 15.3/GHz 提升至 19.7/GHz,libquantum checkpoint 为 43.08/GHz(标量分别为 13.1/GHz、41.84/GHz)
功能
RTL 和 NEMU 成功启动 Sv48 的 Linux kernel、{sv39, sv48} × {sv39x4, sv48x4} 的 gos 测试组合
H 扩展上,迭代 10 轮 CoreMark 虚拟机性能约为物理机的 91.2%,性能损失主要来源于无中断虚拟化和 MMU 优化不足
设计 RVA23 CMO 指令支持的实现方案并开始代码实现
性能
多端口 DCache MSHR 入队修复多个 bug,目前已经成功跑通 linux-hello
TP meta on L2 基于最新 master 测试模拟拆分,测试结果不达预期 ;分析发现 TP meta 与 L2 数据在访存敏感程序上存在负面竞争,正在进行优化,保留有效 TP Trigger
在 L3 上实现 CHROME 替换算法,单元测试框架随机激励下命中率接近 roofline,但 SPEC 测试性能不佳,观察到有效训练请求过少,进行 Q-Table 训练加速以及增加预取请求进行训练的优化
时序
MemBlock:内部违例 -48ps,Backend-MemBlock 端口违例修复正在评估
CHI-CoupledL2:内部违例 -50ps,端口违例 -170ps
基于物理设计上 L2 Data SRAM 的 MCP2 时序需求(MultiCyclePath2,在读请求握手后需要两拍才能采样读数据),修改 RTL 使其满足 MCP2 要求,并实现了用于仿真的 MCP2 SRAM 模型
PPA
避免 dcache 面积暴增,将 8 banks * 8 ways 改为 4 banks * 8 ways,但因 bank 冲突增加(约 3 倍),SPECint 下降 0.22/GHz,SPECfp 下降 0.49/GHz
优化 loadunit、lsq 和 dcache 的 clock gating,memblock 的静态门控覆盖率 88.4% -> 91.9%;解决门控时钟引入的部分 VCS 仿真 X 态传播
预取的异步复位优化,以缓解时序和面积(#3229)
香山技术讨论 QQ 群:879550595
香山文档中双周报网址:
https://xiangshan-doc.readthedocs.io/zh-cn/latest/blog/香山技术讨论网址:
https://github.com/OpenXiangShan/XiangShan/discussionsSPEC06片段编译选项: https://github.com/OpenXiangShan/CPU2006LiteWrapper 文中如 #2211 格式的工作,对应 PR 链接为:
https://github.com/OpenXiangShan/XiangShan/pull/2211
编辑:高泽宇、唐浩晋、李燕琴、蔡洛姗
校阅:香山宣传工作组
点个在看你最好看