文章

84

粉丝

68

获赞

0

访问

4.6k

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

(1) 乘法操作实际是一位一位的加法操作,每计算一位后结果右移,继续下一位的加法操作。

(2) 控制ALU何时计算,寄存器何时右移。

(3) ①没有乘法指令时间最长 ③有使用阵列乘法器实现的乘法指令时间最短。没有乘法指令需要循环移位进行计算,会在多个时钟周期内才能完成,每次只计算一位。阵列器可以同时进行多位运算,能在一个机器周期内得到结果。

(4) 无符号整数乘法:00 00 00 00 FF FF FF FFH. 带符号整数乘法指令 00 00 00 00 FF FF FF FFH.函数umul()和imul()的返回结果没有溢出。
n位乘法的乘积结果放到2n位中,如果高n位全部是0证明没有溢出。否则就是溢出了


评分及理由

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

学生回答“乘法操作实际是一位一位的加法操作,每计算一位后结果右移,继续下一位的加法操作。” 这个描述基本正确,指出了乘法可以通过加法(累加)和移位来实现,例如类似于手算乘法或Booth算法的基本思想。虽然表述不够严谨(例如未提及可能使用减法、循环控制等),但核心思路正确。因此得2分。

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

学生回答“控制ALU何时计算,寄存器何时右移。” 这个回答过于简略,但指出了控制逻辑对运算和移位操作的控制作用,与标准答案中“控制循环次数,还需要根据操作表控制加法和移位操作”的核心思想一致。因此得2分。

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

学生正确判断出①时间最长、③时间最短,并给出了基本理由:①需要循环移位、多个周期;③可以同时进行多位运算、一个机器周期得到结果。这些理由与标准答案一致。但未对情况②(使用ALU和移位器实现的乘法指令)进行说明,而题目要求针对三种情况比较。因此扣1分。得3分。

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

第一问:学生给出的两个乘积结果均为“00 00 00 00 FF FF FF FFH”,这是错误的。对于x=2^31-1, y=2,无符号和带符号乘法的64位乘积应为00000000FFFFFFFEH。学生答案错误,扣2分。
第二问:学生认为“函数umul()和imul()的返回结果没有溢出”,这是错误的。imul()作为32位有符号乘法会溢出。扣1分。
第三问:学生回答“如果高n位全部是0证明没有溢出。否则就是溢出了”,对于无符号乘...

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发