文章
90
粉丝
0
获赞
2
访问
10.5k

评分及理由
(1)得分及理由(满分2分)
学生答案:最多有32个;因为字长为32位,移位区间用shamt表示,故需占5位。
标准答案:最多有32个寄存器(因为rs1/rs2字段为5位);shamt占5位是因为字长32位,左移位数范围0~31,需要5位表示。
评分:学生答案正确指出了寄存器数量和原因(字长32位,移位区间需5位),与标准答案核心逻辑一致。得2分。
(2)得分及理由(满分3分)
学生答案:ALUBsrc取值为000;ALU输出结果为1FDB9753H;OF为1;CF为1;应从OF标志判断是否溢出。
标准答案:ALUBsrc=0;F=1FDB9753H;OF=1;CF=1;对于无符号整数溢出应根据CF判断。
评分:
- ALUBsrc:学生答“000”,但根据数据通路图,ALUBsrc应为单比特控制信号(选择B或立即数),可能为0或1。学生答案“000”可能为识别错误或理解偏差,但核心意图是选择寄存器B(即ALUBsrc=0),逻辑正确,不扣分。
- F、OF、CF计算结果正确,得1.5分。
- 溢出判断:题目明确为“无符号整数”,应根据CF判断溢出,学生答“应从OF标志判断”错误。OF用于有符号整数溢出。扣1分。
本小题扣1分,得2分。
(3)得分及理由(满分2分)
学生答案:因为左移不受扩展影响,右移时仅取低位。
标准答案:slli指令的立即数高12位最高位为0,零扩展和符号扩展结果相同,因此Ext可以是0或1。
评分:学生答案“左移不受扩展影响”表述模糊,但隐含了扩展方式不影响移位结果的意思,与标准答案逻辑一致。得2分。
(4)得分及理由(满分2分)
学生答案:Ext每位为1,ALU的值为010。
标准答案:Ext=1(符号扩展),ALUctr=000(加法)。
评分:
- Ext=1正确,得1分。
- ALUctr:学生答“010”(逻辑左移),但lw指令需计算地址R[rs1]+imm,应做加法(ALUctr=000)。答案错误,扣1分。
本小题得1分。
(5)得分及理由(满分2分)
学生答案:因为低7位为0000011,故为Cw指令。
标准答案:低7位opcode为0000011,对应lw指令;且高12位不为0,可区分add/slli(它们高12位为0)。
评分:学生识别出低7位为0000011(lw的opcode),但写成了...
登录后发布评论
暂无评论,来抢沙发