📜  门| GATE CS 2013 |问题28

📅  最后修改于: 2021-06-29 17:58:57             🧑  作者: Mango

考虑以下微操作顺序。

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。
这个问题的测验