文章

161

粉丝

0

获赞

1

访问

49.7k

头像
2020年(408)计算机学科专业基础综合试题 - 第43题回答
计算机组成原理
发布于2025年12月13日 17:33
阅读数 288


评分及理由

(1)得分及理由(满分2分)

学生回答指出乘法可以转化为移位和加法/减法运算,并举了例子(8×7 = 8×(4+2+1) 转化为移位相加)。这基本说明了在没有乘法指令时可以用加法和移位实现乘法,思路正确。但未明确提到“编译器可以转换为循环代码段”或“Booth算法”等更标准的描述,不过核心逻辑正确。因此给满分2分。

(2)得分及理由(满分2分)

学生回答“控制是逻辑移位还是算术移位,用于分辨无符号运算还是有符号运算”。这仅涉及移位类型的控制,但控制逻辑在乘法指令实现中更重要的作用是控制循环次数、根据乘数位决定加/减操作、控制移位方向等。学生答案不全面,只答出了一小部分(移位类型控制),未涉及核心的循环与操作控制。因此扣1分,得1分。

(3)得分及理由(满分4分)

学生回答“③执行时间最短,因为它有乘法器是硬件,硬件要比软件快很多;①执行时间最长,因为它无乘法指令,都实现不了”。

  • 对于③(阵列乘法器)执行时间最短,理由基本正确(硬件实现快)。
  • 对于①执行时间最长,学生说“都实现不了”表述不准确(实际能实现,只是用软件模拟,速度慢),但意思上知道没有乘法指令时最慢。不过未比较②(ALU+移位器实现的乘法指令)与③的速度差异,也未说明②需要多个时钟周期、③可能单周期等关键点。根据标准答案,应明确①最长、③最短,并说明②介于中间。学生只给出了①和③的比较,未提及②,且理由不够充分。因此扣2分,得2分。

(4)得分及理由(满分5分)

学生回答:
- 带符号:FFFF FFFE 0000 0002
- 无符号:0000 0001 FFFF FFFE
- 有溢出
- 当无符号高 n 位有 1 即可溢出

分析:
1. 对于带符号乘积,标准答案是00000000FFFFFFFEH(64位),学生答“FFFF FFFE 0000 0002”错误(高低位顺序混乱且数值错误)。
2. 对于无符号乘积,标准答案也是00000000FFFFFFFEH(因为x=2^31-1, y=2,乘积为2^32-2,高32位为0),学生答“0000 0001 FFFF FFFE”错误(高32位不为0)。
3. “有溢出”表述模糊,未区分umul和imul。标准答案中umul不溢出,imul溢出。
4. 溢出判断“当无符号高 n 位有 1 即可溢出”基本正确(高n位非0则溢出...

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发