Dotcpp   >   考研真题   >   题目 7693

(本题 11 分)对于题 43 中计算机 M 和程序 P,假定 P 的部分机器级代码如(a)图所示,其中,R0~R4 为通用寄存器,SEXT 表示按符号扩展;M 中补码除法器逻辑结构如(b)图所示。请回答下列问题: (1)若执行题 (a)图中 idiv 指令的除运算时,d [i]=0x87654321、x=0xff,则补码除法器中寄存器 R、Q 和 Y 的初始内容分别是什么(用十六进制表示)?题 (b)图中哪个部件包含计数器?在补码除法器执行过程中,由 ALUop 所控制的 ALU 运算有哪几种?(6 分)(2)假设 idiv 指令执行过程中会检测并触发除法异常,则执行 idiv 指令时,哪些情况下会发生除法异常(要求给出此时 d [i] 和 x 的十六进制表示机器数)?发生除法异常时,在异常响应过程中 CPU 需要完成哪些操作?(5 分)

(本题 11 分)对于题 43 中计算机 M 和程序 P,假定 P 的部分机器级代码如(a)图所示,其中,R0~R4 为通用寄存器,SEXT 表示按符号扩展;M 中补码除法器逻辑结构如(b)图所示。请回答下列问题:

机器级代码(a)图                             逻辑结构(b)图

(1)若执行题 (a)图中 idiv 指令的除运算时,d [i]=0x87654321、x=0xff,则补码除法器中寄存器 R、Q 和 Y 的初始内容分别是什么(用十六进制表示)?题 (b)图中哪个部件包含计数器?在补码除法器执行过程中,由 ALUop 所控制的 ALU 运算有哪几种?(6 分)

(2)假设 idiv 指令执行过程中会检测并触发除法异常,则执行 idiv 指令时,哪些情况下会发生除法异常(要求给出此时 d [i] 和 x 的十六进制表示机器数)?发生除法异常时,在异常响应过程中 CPU 需要完成哪些操作?(5 分)


答案

(1)R 中初始内容是 FFFFFFH;Q 中初始内容是 87654321H;Y 中初始内容是 000000FFH。控制逻辑部件中包含计数器。由 ALUop 所控制的 ALU 运算有加运算、减运算。

(2)当 x 为 00000000H 时,发生除 0 异常;当 d [i] 为 80000000H 且 x 为 FFFFFFFFH 时,发生除运算溢出异常。CPU 检测到除法异常后,需要将断点和程序状态保存到内核栈或者特定寄存器中,关中断,最后跳转到内核中的除法异常处理程序执行。

题目信息

题号:7693
题型:简答题
知识点:考研真题
难度:普通
0.041208s