题图a 部分指令控制信号
该机指令格式如下图所示,支持寄存器直接和寄存器间接两种寻址方式,寻址方式位分别为0 和 1,
题图b 指令格式
请回答下列问题。
1)该机的指令系统最多可定义多少条指令?
2)假定 inc、shl 和 sub 指令的操作码分别为 01H、02H 和 03H,则以下指令对应的机器代码 各是什么?
① inc R1 ; R1 + 1→R1
② shl R2,R1 ; (R1) << 1→R2
③ sub R3, (R1),R2 ; ((R1)) – (R2) → R3
3)假设寄存器 X 的输入和输出控制信号分别为 Xin 和 Xout,其值为 1 表示有效,为 0 表示 无效(例如,PCout=1 表示 PC 内容送总线);存储器控制信号为 MEMop,用于控制存储器的读 (read)和写(write)操作。写出题图 a 中标号①~⑧处的控制信号或控制信号的取值。
4)指令“sub R1,R3,(R2)”和“inc R1”的执行阶段至少各需要多少个时钟周期?
44 .解答:
1 )指令操作码有 7 位,因此最多可定义 27=128 条指令。
2 )各条指令的机器代码分别如下:
① “ inc R1 ”的机器码为: 0000001 0 01 0 00 0 00 ,即 0240H 。
②“ shl R2 , R1 ”的机器码为: 0000010 0 10 0 01 0 00 ,即 0488H 。
③“ sub R3 , (R1),R2 ”的机器码为: 0000011 0 11 1 01 0 10 ,即 06EAH 。
3 )各标号处的控制信号或控制信号取值如下:
①0;②mov;③mova;④left;⑤read;⑥sub;⑦mov;⑧Srout。
【评分说明】答对两个给分。
4 )指令“ sub R1 , R3 , (R2) ”的执行阶段至少包含 4 个时钟周期;指令“ inc R1 ”的执行阶段至少包含 2 个时钟周期。