操作的微操作顺序?

Sequence of micro-operations for operations?

考虑以下微操作序列。

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

下面哪一项是这个序列可能执行的操作?

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

答案为选项(4)。

我的尝试:

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

Can you explain in sequence of micro-operations for operations given in option?

这道题使用了 William Stalling 的一本 Computer Organization and Architecture 教科书中的符号。对于不熟悉 Stalling 教科书的人来说,问题本身没有足够的背景 material 来回答(我没有 Stalling 的教科书,也不知道这个问题引用了哪个版本)。

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

我的第三个 link 是一个 powerpoint presentation,其中包含一张幻灯片,我在下面将其复制为图片。有一张幻灯片解释了 MAR 和 MBR 代表什么:

Memory Address Register (MAR)

  • Connected to address bus

  • Specifies address for read or write op

Memory Buffer Register (MBR)

  • Connected to data bus

  • Holds data to write or last data read

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