Assembly 操作的微操作顺序?
考虑以下微操作序列Assembly 操作的微操作顺序?,assembly,operating-system,interrupt,computer-architecture,isr,Assembly,Operating System,Interrupt,Computer Architecture,Isr,考虑以下微操作序列 MBR ← PC MAR ← X PC ← Y Memory ← MBR 以下哪一项是此序列可能执行的操作 指令提取 操作数提取 条件分支 中断服务的启动 答案是选项(4) 我的尝试: 指令获取:获取指令:从PC地址读取指令代码并放入IR。(IR)← 内存[PC]) 操作数提取:必要时从内存中提取操作数:如果任何操作数是内存地址,则启动内存读取周期以将其读入CPU寄存器。如果操作数在内存中,而不是在寄存器中,则操作数的内存地址称为有效地址,简称EA
MBR ← PC
MAR ← X
PC ← Y
Memory ← MBR
以下哪一项是此序列可能执行的操作
答案是选项(4) 我的尝试:
对于选项中给出的操作,您能否按微操作的顺序进行解释
这个问题使用了威廉·斯泰林的一本教科书中的符号。问题本身没有足够的背景材料,不熟悉Stalling教科书的人无法回答(我没有Stalling的教科书,也不知道这个问题引用的版本) 然而,在看到指向答案的评论后,我在谷歌上搜索“时钟周期分组规则”。这导致了一系列指向不同幻灯片集的链接 对我来说,第三个链接是一个链接,其中包括一张幻灯片,我在下面复制了一张图片。有一张幻灯片解释了MAR和MBR的含义: 存储器地址寄存器(MAR)
- 连接到地址总线
- 指定读或写操作的地址
- 连接到数据总线
- 保存要写入或上次读取的数据
因此,似乎正在发生的是,首先将
PC
放置在MBR
中。接下来,将保存PC
的地址从X
复制到MAR
。在同一循环中,PC
被设置为中断服务程序的开始,该程序在Y
中可用。最后,MBR
中的数据通过总线传输到内存。问题是什么?我要求执行给定的MBR之类的微操作← 个人电脑市场← X个人电脑← Y记忆← MBR
用于启动中断服务。类似地,如果你能为其他选项(1)、(2)和(3)给出正确的代码,我有点困惑,内存不是吗?如果返回地址写在内存中某个预定义的位置,它可能会被中断,但我怀疑…你能解释一下选项中给出的操作的微操作顺序吗?谢谢你的解释。我不明白两个不同的地址如何在一个时钟周期(时钟周期t2)内通过一条地址总线同时传递到寄存器MAR和PC。