数据通路与控制
引入
词汇
| English | 释义 | 拼音 |
|---|---|---|
| datapath | 数据通路 | shù jù tōng lù |
| ALU/ˌeɪ el ˈjuː/ | 算术逻辑单元 | suàn shù luó jí dān yuán |
| control/kənˈtrəʊl/ | 控制 | kòng zhì |
一时钟一条指令
- 数据通路 datapath 就是管道:PC 喂指令存储器,寄存器堆读两个源,ALU 算术逻辑单元计算,数据存储器读写,结果写回,PC 取 PC+4 或分支目标。
- 控制 control 是每条指令的开关设置:RegWrite、MemRead、MemWrite、MemToReg、ALUSrc、Branch——对 opcode 与 funct 的纯组合逻辑。

{exercise:uni-cs0602-path}
练习
单周期的时钟必须等——
难度 1/5 · 今日首次完成可获 100 金币及少量额外奖励
所有工作挤一个时钟,lw(900 ps)定周期。
周期取决于最慢者
- 所有工作挤进一个时钟,时钟就得等最长的指令:
lw的路径。按课程参数(IM 200、RF 100、ALU 200、DM 250、连线 150 ps):$200 + 100 + 200 + 250 + 150 = 900$ ps 每周期。 - 100 条指令 $90\,000$ ps。加速
add无济于事——机器按最慢指令的步调走。
{exercise:uni-cs0602-cycle}
练习
IM 200、RF 100、ALU 200、DM 250、连线 150 ps 时,lw 周期为——
难度 1/5 · 今日首次完成可获 100 金币及少量额外奖励
五段相加 900 ps——最慢者。
每条指令六个比特
lw R4, 8(R1):RegWrite 1、MemRead 1、MemToReg 1、ALUSrc 1(立即数进 ALU)、Branch 0、MemWrite 0。sw R5, 12(R1):RegWrite 0、MemWrite 1、MemRead 0、MemToReg = x——无关项:没有写回,这一位怎么设都不影响可见行为。无关项是设计者的自由。
{exercise:uni-cs0602-signals}
练习
对 lw,ALUSrc 选择——
难度 1/5 · 今日首次完成可获 100 金币及少量额外奖励
ALU 要算基址加立即数,ALUSrc=1 送立即数。