首页 > 最新动态 > 【香山双周报 89】双核昆明湖 V2 成功启动 GUI OpenEuler!
最新动态
【香山双周报 89】双核昆明湖 V2 成功启动 GUI OpenEuler!
2025-11-127

 

【香山双周报 89】20251110 期

欢迎来到香山双周报专栏,我们将通过这一专栏定期介绍香山的开发进展。我们期待您的贡献。

本次是第 89 期双周报。

香山开发方面,前端继续修复 BPU 重构带来的性能 bug希望下次双周报时性能能够达到重构前水平。后端推进 V3 向量单元的新设计实现,同时优化了 V2 后端的时序。访存持续推进 V3 各个模块的重构与测试,并且修复了 V2 的一些功能 bug,优化了时序,提升了代码质量。

开发花絮

双核昆明湖 V2 成功在 FPGA 上以 50MHz 启动 GUI OpenEuler 24.03!我们还成功运行了 LibreOffice,并且来了一把激情四射的 DOOM!这标志着香山验证工作的一个里程碑,也给了我们更大的信心。

由于 FPGA 频率比较低,因此启动稍慢,还望大家耐心观看~

请忽略画质问题,这是极为艺术的摇晃镜头

近期进展

前端

  • ? RTL 新特性
    • ? 支持 RISC-V 特权手册 v1.13 引入的 Hardware Error 异常(#4770
    • ? 启用 UBTB 快速训练(#5145
    • ? 移除 UBTB 的 takenCnt 和 valid 域(#5157
    • ? 实现 SC 预测器的 globalTable(#5150
    • ? 支持 PHR 追踪分支 target(#5169
    • ? ABTB 快速恢复、MicroTAGE 等新性能特性探索中
    • ? Decoupled BPU train、commit 通路重构进行中
  • ? Bug 修复
    • ? 修复 ABTB、MBTB SRAM 读出数据没有被寄存导致的 X 态传播问题(#5153#5158
    • ? 修复 ABTB 训练条件相关问题(#5160
    • ? 修复 MBTB multi-hit 冲刷逻辑 waymask 非 one-hot 的问题(#5181
    • ? 修复 TAGE BaseTable、MBTB set 索引计算有误的问题(#5155
    • ? 修复 PHR 指针元数据错位相关问题(#5139
    • ? 修复 WriteBuffer 写端口连线相关问题(#5143
    • ? 修复 IBuffer 在入队项数量为 0 时仍然记录 exception 的问题(#5147
  • ? 时序优化
    • ? (V2)更换 FTQ 的双端口 SRAM 为寄存器(#5142
  • ? 面积优化
    • ? 支持 ICache WayLookup 仅存储上电/重定向后遇到的第一条 exception(#4959#5165
  • ? 代码质量
    • ? 重构 s1 预测器组的快速训练接口(#5144
    • ? 重构 MBTB alignBank,顺便修复了 bank 索引计算有误的问题(#5159

后端

  • ? RTL 新特性
    • ? 正在推进 V3 向量单元的新设计实现
    • ? 支持 OpenSBI 的 PMU 扩展(#5172
    • ? 参数化设计 PMP 和 PMA(#5177
  • ? 时序优化
    • ? 继续推进对 V2 向量运算单元时序的优化

访存与缓存

  • ? RTL 新特性
    • ? MMU、LoadUnit、StoreQueue、L2 等模块重构与测试持续推进中
  • ? Bug 修复
    • ? 修复 TLB 刷新逻辑错误的问题。在hfence.vvma、 sfence.vma 且 v=1、或者 mbmc.BME = 1 且 CMODE = 0 时忽略地址匹配,直接刷新所有 TLB 条目(#5114
    • ? 修复 VsegmentUnit 中拆分非对齐元素时没有锁存 Paddr 的 Bug。该 Bug 会导致错误发起访存请求(#5164
    • ? 修复 TLB 处于 onlyS2 阶段时 gpaddr 与 vaddr 不同的问题(#5189
  • ? 时序
    • ? 修复了 PTW 的时序问题(#5170
    • ? 正在修复 LoadReplayQueue 以及 DCache 中的时序问题(#5185
  • ? 代码质量
    • ? 将 beu 中的 IntBuffer 移动到 L2Top 以进行分区(#5110
    • ? 移除了顶层模块 XSCore 中所有的组合逻辑,仅保留连线逻辑(#5120
    • ? 对 PMP 与 PMA 进行参数化(#5177
  • ? 调试工具
    • ? 在 DCache 与 LDU 中新增一些硬件性能计数器(#5166
    • ? 继续完善 CHI 相关基础设施 CHIron 的功能(CHIron

性能评估

SPECint 2006 est.
@ 3GHz
SPECfp 2006 est.
@ 3GHz
400.perlbench
35.82
410.bwaves
67.23
401.bzip2
25.40
416.gamess
40.96
403.gcc
47.81
433.milc
45.06
429.mcf
60.26
434.zeusmp
51.80
445.gobmk
30.24
435.gromacs
33.58
456.hmmer
41.60
436.cactusADM
46.20
458.sjeng
30.35
437.leslie3d
47.88
462.libquantum
122.66
444.namd
28.86
464.h264ref
56.55
447.dealII
73.57
471.omnetpp
41.43
450.soplex
52.49
473.astar
29.12
453.povray
53.44
483.xalancbmk
72.71
454.Calculix
16.37
GEOMEAN
44.54
459.GemsFDTD
39.73


465.tonto
36.65


470.lbm
91.98


481.wrf
40.65


482.sphinx3
49.09


GEOMEAN
44.94

我们使用 SimPoint 对程序进行采样,基于我们自定义的 checkpoint 格式制作检查点镜像,Simpoint 聚类的覆盖率为 100%。上述分数为基于程序片段的分数估计,非完整 SPEC CPU2006 评估,和真实芯片实际性能可能存在偏差。

编译参数如下所示:



编译器
gcc12
编译优化
O3
内存库
jemalloc
-march
RV64GCB
-ffp-contraction
fast

处理器及 SoC 参数如下所示:



commit
1e9f1b4
日期
2025/11/07
L1 ICache
64KB
L1 DCache
64KB
L2 Cache
1MB
L3 Cache
16MB
访存单元
3ld2st
总线协议
TileLink
内存延迟
DDR4-3200

相关链接

  • ? 香山技术讨论 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/

编辑:徐之皓、吉骏雄、陈卓、余俊杰、李衍君

 

点我访问原文链接