考虑以下微操作顺序。
MBR ← PC
MAR ← X
PC ← Y
Memory ← MBR
此序列可能执行以下哪一项操作?
(A)取指令
(B)获取操作数
(C)有条件分支
(D)启动中断服务答案: (D)
说明: MBR –内存缓冲区寄存器(用于存储与即时访问存储之间传输的数据)
MAR –内存地址寄存器(保存需要访问的数据的内存位置。)
PC –程序计数器(它包含当前正在执行的指令的地址)
第一条指令将PC的值放入MBR
第二条指令将地址X放入MAR。
第三条指令将地址Y放入PC。
第4条指令将MBR的值(这是旧的PC值)放入内存中。
现在,从第一和第四指令可以看出,控制流不是顺序的,并且PC的值存储在内存中,因此控制可以再次返回到它离开执行的地址。
在中断处理的情况下可以看到此行为。 X可以是内存中单元的地址,其中包含中断服务程序的起始地址。
Y可以是中断服务程序的起始地址。
在条件分支的情况下(对于选项C),仅使用目标地址更新PC,而无需将旧的PC值存储到内存中。
对于指令提取和操作数提取(对于选项A和B),PC值不会存储在其他任何地方。
因此,选项D。
这个问题的测验