跳到主要内容

昆明湖 V2 源码地图

当前地图绑定源码提交 133d7dc4b。

主题主要入口阅读目的
核心顶层src/main/scala/xiangshan/XSCore.scala建立前端、后端、访存和提交的边界
核心参数src/main/scala/xiangshan/Parameters.scala理解宽度、队列深度和特性开关
分支预测流水frontend/BPU.scala预测级间流动、redirect 与历史恢复
预测器组合frontend/Composer.scala组件连接、meta 拼接与更新分发
FTBfrontend/FTB.scala取指块中的控制流结构与目标
TAGE-SCfrontend/Tage.scala条件分支方向预测
ITTAGEfrontend/ITTAGE.scala间接跳转目标预测
RASfrontend/newRAS.scala调用/返回预测与推测恢复
FTQfrontend/NewFtq.scala预测结果的生命周期与训练上下文
前端顶层frontend/Frontend.scalaBPU、FTQ、IFU、ICache 的连接
ICachefrontend/icache/ICache.scala指令 Cache arrays 与 miss 路径
译码backend/decode/DecodeStage.scala指令到微操作的转换
重命名backend/rename/Rename.scala物理寄存器映射与恢复
调度器backend/issue/Scheduler.scala就绪判断、选择与发射
执行单元backend/exu/、backend/fu/端口分发、功能单元与写回
ROBbackend/rob/Rob.scala按序提交、异常和 flush
访存顶层mem/MemBlock.scalaLSU、TLB、DCache 与队列连接
Load/Store Queuemem/lsqueue/依赖、顺序检查与重放
DCachecache/dcache/DCacheWrapper.scalaL1D 访问、miss 与一致性边界

维护规则​

  • 教程引用类名与稳定语义,行号只作辅助。
  • 更新源码锚点时,逐页复核源码入口、信号名和实验步骤。
  • 自动生成的接口索引不能替代人工解释;架构判断必须能由源码或波形验证。