GATE | GATE CS 2013 |问题28

考虑下面的微操作序列。

null
     MBR ← PC 
     MAR ← X  
     PC ← Y  
     Memory ← MBR

以下哪一项是此序列可能执行的操作? (A) 指令获取 (B) 操作数提取 (C) 条件分支 (D) 中断服务的启动 答复: (D) 说明: MBR–内存缓冲寄存器(用于存储与即时存取存储器之间传输的数据)

MAR–内存地址寄存器(用于保存需要访问的数据的内存位置。)

PC–程序计数器(它包含当前执行的指令的地址)

第一条指令将PC值放入MBR

第二条指令将地址X放入MAR。

第三条指令将地址Y放入PC。

第四条指令将MBR的值(旧PC值)放入内存。

现在,从第1条和第4条指令可以看出,控制流不是顺序的,PC的值存储在内存中,因此控制可以再次返回到它离开执行的地址。

这种行为可以在中断处理的情况下看到。这里X可以是内存中包含中断服务程序起始地址的位置的地址。 Y可以是中断服务程序的起始地址。

在条件分支的情况下(对于选项C),只有PC用目标地址更新,并且不需要将旧的PC值存储到内存中。

在指令提取和操作数提取的情况下(对于选项A和B),PC值不会存储在其他任何地方。

因此,选择D。 这个问题的小测验

© 版权声明
THE END
喜欢就支持一下吧
点赞8 分享