题8
题目
【2015 统考真题】题中描述的计算机, 某部分指令执行过程的控制信号如下所示。

该机指令格式如下图所示, 支持寄存器直接和寄存器间接两种寻址方式, 寻址方式位分别为 0 和 1,通用寄存器 R0 ~ R3 的编号分别为 0,1,2 和 3 。

回答下列问题:
(1) 该机的指令系统最多可定义多少条指令?
(2) 假定 inc、sh1 和 sub 指令的操作码分别为 01H、02H 和 03H ,则以下指令对应的机器代码各是什么?
// 指令 inc R1
inc R1; // (R1) + 1 -> R1
// 指令 shl R2, R1
shl R2, R1; // (R1) << 1 -> R2
// 指令 sub R3, (R1), R2
sub R3, (R1), R2; // ((R1)) - (R2) -> R3(3) 假设寄存器X的输入和输出控制信号分别为 Xin 和 Xout, 其值为 1 表示有效, 为 0 表示无效 (如 PCout=1 表示 PC 内容送总线) ; 存储器控制信号为 MEMop, 用于控制存储器的读 (read) 和写 (write)操作。写出本题第一幅图中标号①至⑧处的控制信号或控制信号的取值。
(4) 指令 “sub R1, R3, (R2) ” 和 “ inc R1” 的执行阶段至少各需要多少个时钟周期?
分析
-
指令操作码有 7 位,因此最多可定义
条指令。 -
各条指令的机器代码如下:
① “inc R1” 的机器码为
② “shl R2, R1” 的机器码为 0000010010001000, 即 0488H。
③ “sub R3, (R1), R2” 的机器码为 0000011011101010, 即 06EAH。
- 各标号处的控制信号或控制信号取值如下:
①0; ②mov; ③mova; ④left; ⑤read; ⑥sub; ⑦mov; ⑧SRout。
- 指令 “sub R1, R3, (R2)” 的执行阶段至少包含 4 个时钟周期; 指令 “inc R1” 的执行阶段至少包含 2 个时钟周期。