昆明湖 V2 源码地图
当前地图绑定源码提交 133d7dc4b。
| 主题 | 主要入口 | 阅读目的 |
|---|---|---|
| 核心顶层 | src/main/scala/xiangshan/XSCore.scala | 建立前端、后端、访存和提交的边界 |
| 核心参数 | src/main/scala/xiangshan/Parameters.scala | 理解宽度、队列深度和特性开关 |
| 分支预测流水 | frontend/BPU.scala | 预测级间流动、redirect 与历史恢复 |
| 预测器组合 | frontend/Composer.scala | 组件连接、meta 拼接与更新分发 |
| FTB | frontend/FTB.scala | 取指块中的控制流结构与目标 |
| TAGE-SC | frontend/Tage.scala | 条件分支方向预测 |
| ITTAGE | frontend/ITTAGE.scala | 间接跳转目标预测 |
| RAS | frontend/newRAS.scala | 调用/返回预测与推测恢复 |
| FTQ | frontend/NewFtq.scala | 预测结果的生命周期与训练上下文 |
| 前端顶层 | frontend/Frontend.scala | BPU、FTQ、IFU、ICache 的连接 |
| ICache | frontend/icache/ICache.scala | 指令 Cache arrays 与 miss 路径 |
| 译码 | backend/decode/DecodeStage.scala | 指令到微操作的转换 |
| 重命名 | backend/rename/Rename.scala | 物理寄存器映射与恢复 |
| 调度器 | backend/issue/Scheduler.scala | 就绪判断、选择与发射 |
| 执行单元 | backend/exu/、backend/fu/ | 端口分发、功能单元与写回 |
| ROB | backend/rob/Rob.scala | 按序提交、异常和 flush |
| 访存顶层 | mem/MemBlock.scala | LSU、TLB、DCache 与队列连接 |
| Load/Store Queue | mem/lsqueue/ | 依赖、顺序检查与重放 |
| DCache | cache/dcache/DCacheWrapper.scala | L1D 访问、miss 与一致性边界 |
维护规则
- 教程引用类名与稳定语义,行号只作辅助。
- 更新源码锚点时,逐页复核源码入口、信号名和实验步骤。
- 自动生成的接口索引不能替代人工解释;架构判断必须能由源码或波形验证。