通路驭令
连线只是骨架。没有RTL指定数据流向,骨架不会动。数据通路 = 部件 + 连接 + 数据流描述。
虚空布线
虚空。没有地面,没有天空,只有靛蓝色的网格线在黑暗中明灭。
五个部件悬浮在你面前——PC、指令存储器、寄存器堆、ALU、数据存储器——像被拆散的器官,安静地等着你把它们拼回一具躯体。
「一条指令,从取指到执行,要走完一条完整的路。这条路,你来修。」
「连吧,连吧。线越多,我的领地越大。」
部件拖拽连线 + RTL 书写器
点击部件依次连线,再为加法指令书写 RTL。👆 先连线,再写 RTL
R[rd] ← R[rs] + R[rt]连线成网 · ALU 控制与寄存器
网格在你脚下铺开成一张电路图。ALU 和寄存器堆被推到你面前。
「ALU 会算术也会逻辑。但它不知道你此刻要它做加法还是减法——你得给它控制信号。」
「你看,多简单。你觉得这就是 CPU 了。」
ALU 控制信号拨码 + 寄存器读写 + 时钟脉冲
单周期之困 · 关键路径
你把 PC、指令存储器、寄存器堆、ALU、数据存储器全部连上。数据通路完整了。
「所有指令必须在一个时钟周期内完成。你来定这个周期多长。」
「800ps。每条指令都要 800ps。不管它是加法还是取数。你觉得这样……合理吗?」
单周期关键路径曲线追踪器
搭建通路 → 测量各指令延迟 → 设定时钟周期
指令延迟对比
指令追踪 · 五路分叉
通路静静地运转。你输入一条 add,数据从寄存器读出,经 ALU 相加,写回。完美。
你输入 lw——路径不同了。sw——又不同。beq——又不同。五条指令,五条路径,在同一个通路上分叉、交叉、汇合。
「你看,线越多,岔路越多。每一条岔路,都是我的领地。」
五类指令路径追踪 + 控制信号清单
选择指令,观察数据通路中的流动路径和控制信号
控制真值 · 硬布线设计
老祖把一块空白真值表推到你面前:「指令的 opcode 是输入,九个控制信号是输出。你把 S3 那张清单填进去——那就是真值表。」
「从真值表推出布尔表达式,用门电路实现。这就是硬布线控制。快——但改一条指令,你得重新接线。」
控制信号真值表公式组装器
填写真值表 → 推导布尔表达式 → 验证
布尔表达式推导
微码迷宫 · 灵活性的代价
老祖递给你一块存储芯片:「不接线了。把每一步的控制信号写成一串微码,存进控制存储器。每条指令对应一段微程序。」
「你以为白拿的灵活性?天下没有白拿的东西。」
微指令编辑器 + 控制存储器 ROM + 延迟对比
为每类指令编写微指令序列,写入 ROM,对比延迟
硬布线 vs 微程序 延迟对比
两条路 · 速度与灵活性
虚空里浮现一杆天平。左盘是硬布线:快,但改一条指令要重新流片。右盘是微程序:灵活,但每拍多 100ps 延迟。
「RISC 指令集简单——硬布线够用。CISC 指令集复杂——微程序才能应对。选哪条路,取决于你的指令集。」
权衡天平 · 硬布线 vs 微程序
将方案拖上天平,为 RISC / CISC 场景做出正确匹配
多周期之轮 · 共享与状态机
老祖把你的单周期通路拆散了:「800ps 的时钟,beq 只用 500ps,浪费 300ps。为什么不让每条指令按需取周期?」
「每个阶段一个时钟周期,200ps。阶段间加中间寄存器暂存——IF/ID、ID/EX、EX/MEM、MEM/WB。」
「共享……你让多条指令排队用同一个部件。排队的地方,就是我的领地。」
多周期数据通路流水线动画器
选择指令 → 单步/自动执行 → 观察阶段流转和 FSM 状态
FSM 状态机
性能之秤 · CPU 时间公式
老祖递给你一杆秤和三个数字盒:「CPU 时间 = 指令数 × CPI × 时钟周期。这三个盒子,缺一个都不能算。」
「你以为拆短了就快了?CPI 把你的红利全吃回去了。」
「如果有一种方法——CPI=1,时钟周期=200ps 呢?让多条指令重叠执行——流水线。」
CPU 性能公式组装器
组装公式 → 计算 CPI → 对比性能 → 流水线时空图
CPI 计算器(指令混合比)
流水线时空图
性能对比
Boss 战 · 冒险之影
暗影从虚空边缘走了出来。它没有脸,只有一个轮廓——像流水线时空图上所有重叠的方块投下的影子。
「你说'并行'。你以为并行是免费的午餐?并行就是冲突。三问。答对了,你过去。答错了——你亲手搭的通路,我一条条拆。」
渊账累计 0 笔 · 三问全对后清零
流水长歌 · 通路驭令
冒险之影消散后,虚空恢复了靛蓝色。你的电路图完整地悬浮在面前——全部连接,全部亮着。
「你从 S0 走到 S9。搭了通路,定了时钟,追了指令,建了控制,走了微码,做了权衡,拆了周期,算了性能,打了冒险。一条指令的旅程——你走完了。」
「你的通路是为 MIPS 指令集设计的。如果换成 x86 呢?那是指令集与数据通路的关系——下一章的题。」
全章回顾 · 14 知识点碎片拼图
点击碎片拼入体系图,回顾全章知识链