1.题目一
思路及背景知识分析(后补)
解题答案
(1)R0,R1,R2,R3,PC对程序员是可见的,因为CPU采用单总线结构,执行运算时不可以同时送数A和数B,因此需要暂存数A于T中,等待B送入后执行运算.
(2) ALU操作有7种,ALUop的位数至少为3位,SR的操作有3种,SRop的位数至少有2位.
(3)SRout控制的部件是一个三态门,用于控制移位器与总线之间数据通路的连接与断开(冷门知识点?)
(4) 端点1,2,3,5,8必须连接到控制部件输出端
(5) 添加6->9,7->4即可
(6) 指令字长为2B,保证MUX输入端为2,便于取下条指令时执行PC+2->PC操作
2.题目二
解析:后补
解题答案
(1) 指令长度为16位,操作码的长度为16-(2+1)*3=7位,则最多可以定义2^7=128条指令
(2) 指令1的操作码为0000 001B,单地址指令,地址码为 0 0100 0000B,机器代码为0240H,指令2的操作码为0000 010B,双地址指令,地址码为0 1000 1000B,机器代码为0488H,指令3的操作码为0000 011B,三地址指令,地址码为0 1110 1010B,机器代码为06EAH
(3) 1.0(?) 2.mov 3.mova 4.left 5.read 6. sub 7.mov 8.SRout
(4) 由题目背景可得,"sub R1,R3,(R2)"需要至少四个时钟周期, 执行“inc R1"需要至少两个时钟周期(注:本题答案是由观察题44图中的执行过程的控制信号图得到的,可以发现“inc R1”与"shl R2,R1"执行过程类似,"sub R1,R3,(R2)与背景所给的R0,R2,(R1)相似,实际上,以后见到类似的题目,我们大可默认一行微信号序列的执行时间等于一个时钟周期)