自己写:走完一条指令的三拍
把取指、译码、执行三步各写一段,跑完第二条指令,打出三拍各自的产物。假设执行前 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】。