首页 > 试题广场 >

回答下面问题

[问答题]
题目中描述的计算机,其部分指令执行过程的控制信号如下图所示。

题图a 部分指令控制信号

该机指令格式如下图所示,支持寄存器直接和寄存器间接两种寻址方式,寻址方式位分别为0 和 1,

通用寄存器R0~R3 的编号分别为 0、1、2 和 3。

题图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 个时钟周期。

编辑于 2016-12-15 18:33:12 回复(4)
最后一问的时钟周期怎么得出来的
发表于 2019-11-30 16:35:17 回复(0)
最后一问没有看到解释。我猜想的理解:
sub R1,R3,(R2)的执行需要的时钟周期
1.ALU部件计算寄存器间接寻址(R2)的有效地址
2.访存,取出((R2)),送入R0寄存器
3.ALU计算R3-R0的值
4.将计算结果送入R1寄存器。
所以是4个时钟周期。
inc R1就简单了
1.将操作数R1送入ALU进行运算
2.运算结果回写R1。
所以是2个时钟周期。
不知道对不对。欢迎大佬指出,纠正我的模糊概念。

发表于 2022-06-03 12:27:36 回复(2)
16位总长怎么来的
发表于 2019-08-06 14:00:51 回复(1)
好棒
发表于 2018-11-05 12:38:53 回复(0)

shl是逻辑左移指令,它的功能为:

(1)将一个寄存器或内存单元中的数据向左移位;

(2)将最后移出的一位写入CF中;

(3)最低位用0补充。

发表于 2018-04-25 19:52:25 回复(0)
最后一问答案是8和7吧
发表于 2017-09-09 18:20:31 回复(0)
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 个时钟周期。(来自王道论坛)

发表于 2017-08-12 21:46:25 回复(0)

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 个时钟周期。(来自王道论坛)

编辑于 2016-12-15 18:33:12 回复(1)

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 个时钟周期。

发表于 2016-11-19 17:47:09 回复(0)