从零造一个乱序 RISC-V 处理器:Specula 的前端与重命名
来源:prawns.dev — 2026-11-06
📋 概述
作者从零写了一个乱序执行的 RISC-V 核 Specula,并把设计拆成前端与后端讲清楚:前端负责取指、判断下一条去哪、把指令整理好交给后端;因为支持虚拟内存与压缩指令扩展,取指要过 Sv32 地址翻译,压缩指令先展开成统一表示。为了不等分支结果,前端用 gshare 分支预测器加分支目标缓冲预测路径,分支真实结果在执行阶段解决,预测器在写回时更新,猜错则在重排序缓冲头部处理。
🔑 核心要点
乱序的核心承诺讲得很直白:只要没有依赖,指令完成一条就执行一条,不必按程序顺序排队。
寄存器重命名与派发是后端的入口,物理寄存器分配得当时前端才不会被卡住。
作者给出了综合后的 LUT 数量,并主动声明这不等于能上板跑 100MHz:RAM 与磁盘镜像被黑盒化,仿真逻辑还在设计里。
这类项目最稀缺的不是代码而是诚实的边界说明——他明确区分了「综合通过」与「真的能跑」。
💡 金句
Unlike a traditional in-order processor, an Out of Order processor can execute instructions as and when it's complete, provided there are no dependencies.
👍 0
❤️ 点赞
👎 0
沉底
← 返回 Hacker News 首页