SICI · 天机门 · 第七章

软件与硬件的契约 · 筑基一层

你以为你写的是指令。你写的是愿望。机器收到的,是四条它才看得懂的命令。

门楣刻字:「软件说一句话,硬件走四步」
序章

契约之门

一行代码,机器要几步?

筑基殿前的石阶尽头,矗立着一扇巨门。门面密密麻麻刻满了 0 和 1,像某种无法阅读的经文。

流水之河,指令流水线

门下的裂缝里渗出暗紫色的光,光里有声音——像很多人在低声争论,又像一个声音在笑。

诺依曼老祖 诺依曼老祖

「你从炼气期过来,会画电路、会写 HDL。现在,写一行你想让机器做的事。然后猜猜——它要几步才能做完?」

语义之渊 语义之渊

「写下吧。猜对了,门开。猜错了……我记一笔。」

翻译之赌 · 一行 C 代码要几条指令?

a = b + c;

这条语句,机器要几条指令完成?👆 点击下方选项下注

第一幕 · 崩塌

翻译殿 · 一句抵四令

亲手把 C 代码拖过汇编层、拖到机器码层

穿过门缝是一座悬空石殿,殿中央浮着三层透明石板:最上层刻着 C 代码,中层空白,底层空白。

诺依曼老祖

「上层是你写的。中层是汇编——人能读、机器不能。底层是机器码——机器能读、人不能读。把上面一层拖到下面,看看会发生什么。」

三层翻译 · 拖拽代码穿过每一层

C 层
a = b + c;
汇编层
机器码层
👆 拖动 C 层代码到汇编层
第一幕 · 思辨

哲学殿 · 两条道路

CISC 用复杂换少,RISC 用简单换快

翻译殿后是一座天平殿。殿中央悬着一架巨秤,左盘刻"CISC",右盘刻"RISC"。

两座玉碑分立两侧:左侧泛着复杂的暗金光纹——x86;右侧泛着干净的天蓝光纹——RISC-V。

特征归位 · 拖卡片到正确的玉碑

CISC
RISC
第一幕 · 格式

编码台 · 定与变

定长一步解码 vs 变长逐字节扫描

天平殿后是一座编码台。台上并排刻着两种指令模板:左侧 RISC-V 的 32 格定长条,右侧 x86 的可伸缩变长条。

双模板填充 · 定长 vs 变长

RISC-V 定长 32 位

解码器一步定位所有字段——固定位置,无需扫描

x86 变长 1-15 字节

解码器必须逐字节扫描才能确定边界

第二幕 · 全局

RV32I · 四十符文

四十条指令,三十二个寄存器,这就是全部

编码台后是一座环形符文殿,殿壁上排列着四十枚发光符文——每一枚是一条 RV32I 基本指令。殿中央浮着 32 个寄存器槽位。

诺依曼老祖

「四十条指令,三十二个寄存器。这就是全部。剩下的,是组合。」

指令分类 · 拖符文到功能槽

第二幕 · 崩塌

位域炼狱 · 六种契约

位不排队。位跳格子。

符文殿深处是一座六面体炼狱。六面墙上各刻着一种指令类型的位域模板:R、I、S、B、U、J。

语义之渊

「从左到右填嘛。位嘛,排着队等着你。」

六面体位域编码器

add x5, x6, x7
当前:0x00000000 目标:0x007302B3
第二幕 · 手感

寻址回廊 · 四条暗道

指令怎么告诉硬件数据在哪

位域炼狱后是一条环形回廊,廊壁上开着四条暗道,各刻一种寻址符文。

诺依曼老祖

「数据在哪?在指令里、在寄存器里、在内存里、还是在代码的某个位置?四条路,四种走法。」

寻址匹配 · 为指令选对暗道

第二幕 · 执行

执行场 · 三类符咒

三类指令,三种改变

寻址回廊尽头是一座环形执行场。场中央浮着一个迷你 CPU 架构图:PC、指令存储器、寄存器堆、ALU、数据存储器,用光路连接。

诺依曼老祖

「看了这么多,该亲手跑一次了。三类指令,三种操作。拖进去,看它怎么动。」

迷你 CPU 数据通路模拟器

PC0x004
IMEM
REG
ALU
DMEM
拖入指令执行
第三幕 · 顿悟

调用之链 · 栈上契约

调用不是跳转——跳过去之前先记住从哪跳的

执行场后是一座栈殿。殿中央浮着一块垂直内存区——栈,从高地址向下生长。殿侧有一台两遍汇编器。

你物品栏里那枚 S5 裂了纹的 B 型指令玉简微微震动。

诺依曼老祖

「调用不是跳转。跳过去之前,你得先记住从哪跳的。跳过去之后,你得给别人留出地方放东西。」

栈帧组装 · 亲手操作函数调用

两遍汇编器

第三幕 · 高潮

Boss 战 · 语义之渊三问

翻译账清算 · 排除刻痕收网

殿深处的紫色裂隙撕裂开来,语义之渊凝聚成形——一张由无数 0 和 1 构成的面孔,眼眶里淌着编译器的中间代码。

语义之渊

「你走完了翻译链路。但你真的懂了吗?三问。答对,我散。答错,你留下来——当我的翻译器。」

渊账累计 0 笔 · 三问全对后清零

收束

契约之外

ISA 会扩展、需要权衡、最终链接成可执行文件

深渊消散后,筑基殿归于清明。晨光从殿顶照下来,契约石板上的刻痕在光中微微发亮。

诺依曼老祖

「契约签完了。但 ISA 不是一个死的东西——它会长。看看这三扇门。」

ISA 三扇门

扩展之门
权衡之门
链接之门