2026-44
补充条件(来源:2026 年第 43 题)
某 16 位计算机 C 按字节编址,通用寄存器 R0~R15 的编号为 0~15,存储器地址为 16 位,采用定长指令字,指令格式有 R、I 和 M 型,如下所示。
其中,op1 为 0001、0010 分别表示加、左移指令,op2 为 0100 表示加立即数指令,op3 为 1110、1111 分别表示取数、存数指令,R[r] 表示寄存器 r 中的内容,num 为移位位数,M[addr] 表示存储器地址 addr 中的内容。
本题题干
假定题 43 中计算机 C 的部分数据通路如题 44 图所示。
图中带箭头虚线表示控制信号,IR.rt、IR.rs 分别表示 IR 中的 rt、rs 字段,IR11∼ 0 为 IR 中低 12 位。要求取指令周期内完成 PC 增量操作。请回答下列问题。
(1)题 44 图中①和②是同一类部件,其名称是什么?(1 分)
(2)已知 I 型指令中 imm8 可以是带符号整数或无符号整数,M 型指令中 offset 是带符号整数,控制信号 ExtOp 至少有几位?为什么?(2 分)
(3)取指周期中,MARsrc、ALUAsrc、ALUBsrc、RegWr 的取值各是什么?(4 分)
(4)左移指令执行周期中,ALUBsrc、RegWsrc、RegDst、RegWr 的取值各是什么?ExtOp 是否可以与 M 型指令的 ExtOp 取值相同?为什么?(6 分)

小程序中我的-账号中心-隐私与账号可绑定网页端账号
(1)①和②处是多路选择器。
(2)ExtOp 至少有 2 位。因为至少需要定义 3 种位扩展情况,故 ExtOp 至少需要 2 位编码。
(3)取指周期中 MARsrc = 0、ALUAsrc = 0、ALUBsrc = 01、RegWr = 0。
(4)左移指令执行周期中 ALUBsrc = 10、RegWsrc = 1、RegDst = 1、RegWr = 1。ExtOp 可以与 M 型指令的 ExtOp 取值相同。因为左移指令中 num 为 IR7∼ 4,扩展器对 IR11∼ 0 采用符号扩展还是零扩展,都不会影响 IR7∼ 4,故左移指令执行时 ExtOp 取值可任意,因此可以与 M 型指令的 ExtOp 取值相同。