文章
6
粉丝
0
获赞
1
访问
192
(1) 定长指令结构中通用寄存器有5位, 因此计算机M最多有32个通用寄存器。因为计算机的字长是32位, 一次所能运算的整数位数是32位, 所以移位位数为32, 因此shamt字段占5位。
(2) 执行add指令时, 控制信号ALUBsrc的取值应该是0。
add指令执行后, ALU输出端ZF、SF、OF和CF的结果分别是0, 0, 1, 1
若add指令处理的是无符号整数, 则应根据CF来判断是否溢出。
(3) 因为无论是零扩展还是符号扩展, 在左移时, 低位都是补0的。
(4) Ext、ALUctr的取值分别是1, 000。
(5) 因为其他指令[31:25]都是0, 而A040 A103H 不是, 所以该指令一定是lw指令
(6)
评分及理由
(1)得分及理由(满分2分)
学生答对通用寄存器数量(32个)和shamt占5位的原因(32位字长,移位范围0-31需5位表示),与标准答案一致。得2分。
(2)得分及理由(满分3分)
ALUBsrc=0正确(1分);F值未计算(标准答案为1FDB9753H),但问题要求输出F、OF、CF,学生未给出F值(扣0.5分);OF和CF判断正确(各0.5分,共1分);无符号整数溢出根据CF判断正确(0.5分)。总计得分2.5分(按3分制四舍五入为2.5分,但实际满分3分,此处按部分得分计算,得2.5分)。
(3)得分及理由(满分2分)
学生解释正确(左移低位补0,扩展方式不影响结果),与标准答案一致。得2分。
(4)得分及理由(满分2分)
Ext=1(符号扩展)和ALUctr=000(加法)均正确,与标准答案一致。得2分。
(5)得分及理由(满分2分)
学生指出其他指令高7位([31:25])为0,而该指令不为0,但未具体分析操作码(低7位为0000011)和funct3(中间位为010)字段。理由不完整(扣1分),但结论正确。得1分。
(6)得分及理由(满分2分)
学生未作答,得0分。
题目总分:2+2.5+2+2+1+0=9.5分
登录后发布评论
暂无评论,来抢沙发