后端总体结构
后端把按程序顺序到达的指令转换成可乱序执行、但仍按序提交的微操作流。
两条同时存在的秩序
- 执行秩序由操作数是否就绪和功能单元是否空闲决定。
- 提交秩序由 ROB 保持,确保异常、中断和架构状态精确。
源码地图
backend/decode/DecodeStage.scalabackend/rename/Rename.scala、RenameTable.scalabackend/dispatch/backend/issue/Scheduler.scalabackend/exu/与backend/fu/backend/rob/Rob.scala
阅读抓手
选一个整数加法微操作,记录它的逻辑源寄存器、重命名后的物理源、调度队列位置、执行端口、写回端口和 ROB 项。把这些身份串起来,比孤立阅读每个模块有效得多。