2

考虑以下微操作序列。

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

以下哪一项是该序列可能执行的操作?

  1. 取指令
  2. 操作数获取
  3. 条件分支
  4. 启动中断服务

答案是选项(4)。

我的尝试:

  1. 取指令:取指令:从 PC 中的地址读取指令代码并放入 IR。(红外←内存[PC])
  2. Operand fetch:必要时从内存中获取操作数:如果任何操作数是内存地址,则启动内存读取周期以将它们读入 CPU 寄存器。如果操作数在内存中,而不是在寄存器中,则操作数的内存地址称为有效地址,简称 EA。因此,操作数的获取可以表示为寄存器←内存[EA]。在当今的计算机上,CPU 比内存快得多,因此操作数获取通常需要多个 CPU 时钟周期才能完成。
  3. 条件分支指令导致 PSW 中的位置计数器设置为寄存器中指定的地址或寄存器加上 12 位偏移量,如果满足条件(并且寄存器不为 0)
  4. 中断服务程序 (ISR) 是硬件调用以响应中断的软件程序。ISR 检查中断并确定如何处理它。ISR 处理中断,然后返回一个逻辑中断值。

您能按选项中给出的操作的微操作顺序解释吗?

4

1 回答 1

4

此问题使用 William Stalling 的计算机组织和体系结构教科书中的符号。该问题本身不包含足够的背景材料,不熟悉 Stalling 教科书的人无法回答(我不拥有 Stalling 的教科书,也不知道该问题引用了哪个版本)。

但是,在看到指向另一个站点的答案的评论后,我在 Google 上搜索了“时钟周期分组规则”。这导致了一堆指向各种不同幻灯片集的链接。

对我来说,第三个链接是一个powerpoint 演示文稿,其中包括一张我在下面复制为图像的幻灯片。有一张幻灯片解释了 MAR 和 MBR 的含义:

内存地址寄存器 (MAR)

  • 连接到地址总线

  • 指定读或写操作的地址

内存缓冲寄存器 (MBR)

  • 连接到数据总线

  • 保存要写入的数据或最后读取的数据

截屏

所以看起来正在发生的事情是首先将PC放置在MBR. 接下来,PC将保存的地址从复制XMAR。在同一个周期中,它PC被设置为中断服务程序的开始,该程序在 中可用Y。最后,输入的数据在MBR总线上传输到内存。

于 2015-12-14T21:41:02.030 回答