【题目】
44.(10分)题43中描述的计算机,其部分指令执行过程的控制信号如题44图a所示。
该机指令格式如题44图b所示,支持寄存器直接和寄存器间接两种寻址方式,寻址方式位分别为0和1,通用寄存器R0~R3的编号分别为0、1、2和3。
请回答下列问题。 (1)该机的指令系统最多可定义多少条指令?
(2)假定inc、shl和sub指令的操作码分别为01H、02H和03H,则以下指令对应的机器代码各是什么?
①inc R1 ;(R1)+1→R1
②sh1 R2,R1 ;(R1)<<1→R2
③sub R3,(R1),R2 ;((R1))-(R2)→R3
(3)假设寄存器x的输入和输出控制信号分别记为Xin和Xout,其值为1表示有效,为0表示无效(例如,PCout=1表示PC内容送总线);存储器控制信号为MEMop,用于控制存储器的读(read)和写(write)操作。写出题44图a中标号①~⑧处的控制信号或控制信号取值。
(4)指令“sub R1,R3,(R2)”和“inc R1”的执行阶段至少各需要多少个时钟周期?
【答案要点】:
(1)指令操作码有7位,因此最多可定义27=128条指令。
(2)各条指令的机器代码分别如下:
①“inc R1”的机器码为:0000001 0 01 0 00 0 00,即0240H。
②“sh1 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个时钟周期。