文章
91
粉丝
68
获赞
0
访问
5.8k
(1)FFFF FFFFH,0000 00FFH,87654321H,控制逻辑计数器cn,加法(减法)和移位
(2)x = 0x00H的时候回发生异常,异常CPU要完成中断相应,保存堆栈线程寄存器信息,触发中断向量,查找向量中断表,执行相关逻辑处理。
评分及理由
(1)得分及理由(满分6分)
学生答案存在多处错误。
1. 寄存器R的初始值:学生答“FFFF FFFFH”,标准答案为“0xffffffff”,两者一致,得1分。
2. 寄存器Q的初始值:学生答“0000 00FFH”,这是错误的。Q应初始化为被除数,即d[i]=0x87654321。学生答案可能是将除数x的值误认为是Q的初始值。扣1分。
3. 寄存器Y的初始值:学生答“87654321H”,这是错误的。Y应初始化为除数x的绝对值(或补码形式),即0xff的符号扩展为32位,为0xfffffffe(因为0xff是-1的补码,其绝对值为1,在除法器中通常用其补码形式)。学生答案将被除数当成了Y的初始值。扣1分。
4. 计数器位置:学生答“控制逻辑计数器cn”,与标准答案“b中的控制逻辑包含计数器”意思基本一致,得1分。
5. ALU运算种类:学生答“加法(减法)和移位”。标准答案明确ALUop控制的是加法和减法。移位操作通常由专门的移位器或控制逻辑完成,不属于ALUop控制的ALU运算。因此学生答案多写了“移位”,但包含了正确的“加法”和“减法”。考虑到问题问的是“有几种”以及“由ALUop所控制的ALU运算”,学生答案不够精确,扣0.5分。
本小题总计得分:1 (R) + 0 (Q) + 0 (Y) + 1 (计数器) + 0.5 (ALU运算) = 2.5分。
(2)得分及理由(满分5分)
学生答案不完整且部分错误。
1. 异常情况:学生只答出“x = 0x00H的时候回发生异常”,即除数为0的情况。这得1分。但遗漏了第二种溢出异常的情况(被除数为最小负数,除数为-1),扣2分。
2. 异常响应操作:学生答“中断相应,保存堆栈线程寄存器信息,触发中断向量,查找向量中断表,执行相关逻辑处理”。这个描述比较笼统,包含了“保存现场”(保存寄存器信息)和“跳转执行处理程序”(触发中断向量、查表、执行逻辑)的核心思想,但未提及“关中断”和“修改CPU状态”等细节。考虑到这是简答题,其思路基本正确...
登录后发布评论
暂无评论,来抢沙发