XS-Gem5

发布时间:2026/8/1 9:01:06
XS-Gem5 香山配套的 gem5 一般叫XS-GEM5它是 2022 年 6 月从上游 gem5 fork 出来的、面向香山 RTL 做周期级对齐的 RISC-V 全系统模拟器不是上游 gem5 的一个“版本号”而是一个独立分支树 多套配置变体。一、“几个版本”怎么理解可以从两个维度看1. 分支branch维度xs-dev内部开发分支的定期同步版backport只回移植影响功能正确性和基本可用的补丁KMH-V2-CONFIG昆明湖 V2 相关配置继续维护时切出的分支另有带-align/-perf后缀的 CI 触发分支分别对应 RTL 对齐配置、理想激进配置2. 配置脚本configs/example 下才是日常说的“V2/V3 版本”kmhv2.py昆明湖 V2 基线对齐南湖→昆明湖 V2 的 RTL 快照kmhv3.py昆明湖 V3 主线程配置保守对齐“进行中的”V3 RTL部分开关故意关掉idealkmhv3.pyIdeal V3激进微架构设定全开跑分最高SPEC06 曾 20 pts/GHz用于探索上限而非对齐 RTL雁栖湖一代、南湖二代时代也有过对应校准脚本但现在主推的是昆明湖 V2/V3 这三套。二、微架构仿真到什么层次XS-GEM5 定位是“RTL 之前的周期级性能探索模型”介于 NEMU纯功能参考和香山 RTLVerilator/综合网表之间。它不是 RTL 级无门级/电路/时序网表但是超标量乱序流水线的 cycle-accurate 性能模型且按香山结构定制。前端取指/分支预测解耦前端BPU 超前于 IFUTAGE-SC ITTAGE 可选 Loop predictor RAS BTB/FTB取指宽度、分支预测延迟、方向/目标预测结构按昆明湖校准后端乱序执行译码/重命名宽度、ROB/LQ/SQ 深度如 256/80/64、物理寄存器堆192Int192FP分布式调度器、保留站、发射宽度、执行延迟ALU/FMA/MDU/Ld-St AGU回填/replay 恢复策略、Move elimination、Cascaded FMA、RVV 大部分对齐访存与缓存子系统L1I/D含 MSHR、L2含 sector cache、L3、包含/非包含关系、各级延迟带宽多预取器协同Stream / Stride / BOP / SMS / Temporal / CDP支持 VA→PA、active/passive offloadingTLB 层次L1 I/D TLB L2 TLB TLB 预取PTW 并行化与 coalescingRV-H 扩展支持系统与辅助全系统模拟Linux / AM baremetal不支持 SE 模式RVGCpt 检查点NEMU 产、XS-GEM5 跑、Online Difftest、Top-down 性能计数器内存控制器/DRAM 带宽、DDR 参数校准三、和 RTL 的精度边界SPEC CPU2006 上与昆明湖 RTL相关性 95%但这是“性能趋势/瓶颈相关性”不是逐周期波形一致。部分 V3 RTL 新特性新 BPU、后端改动还在落地所以kmhv3.py故意留保守开关等 RTL 合入再放开idealkmhv3.py才代表模型能力上限。它不建模RTL 具体流水级数/转发通路、Chisel 实现细节、布局布线时序、电压频率物理效应。这些只能靠 RTLVerilator 或门级仿真补。简单说XS-GEM5 香山定制版 gem53 套主配置kmhv2 / kmhv3 / idealkmhv3 几条开发分支仿真层次到“超标量乱序 CPU 完整 cache/TLB/预取/前后端微架构参数”的周期级性能模型不到 RTL 门级但比上游 gem5 O3 更贴香山。