自己写:走完一条指令的三拍

把取指、译码、执行三步各写一段,跑完第二条指令,打出三拍各自的产物。假设执行前 R0 已经是 9。

开始练习 →

控制器交给运算器的是什么

控制器不做加减,但每一拍都要给运算器一样东西,那就是【0】。

开始练习 →

算完之后谁决定往哪写

运算器把结果算出来了。决定这个结果写回哪个寄存器的是【0】。

开始练习 →

两者分工的判据

一句话说清控制器和运算器的分工:【0】。

开始练习 →

同样两个数,op 一变结果就变

运行下面这段程序,填写它打印出来的结果。 def alu(op, a, b): if op == 1: return (a + b) & 255 if op == 2: return

开始练习 →

控制器发出来的信号表

运行下面这段程序,填写它打印出来的结果。 PROG = [0b00001001, 0b01000111, 0b10000011, 0b11000000] def decode(w): return (w >> 6) &

开始练习 →

自己写:控制器

补全 control:根据操作码,交出「要不要写寄存器」和「运算器该做哪种运算」。

开始练习 →

让控制器驱动运算器

把 control 和 alu 接起来,执行第二条指令(R0 起始为 9)。输出「是否写回 / 运算结果 / 写回之后的 R0」。

开始练习 →

把整台机器跑一遍

把控制器、运算器、寄存器接在一起,跑完整个程序,打出 R0 每执行完一条之后的值。

开始练习 →

总线是什么

总线本质上是【0】。

开始练习 →