操作的微操作顺序?

时间:2015-11-13 12:39:17

标签: assembly operating-system interrupt computer-architecture isr

考虑以下微操作序列。

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

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

  1. 取指令
  2. 操作数提取
  3. 条件分支
  4. 启动中断服务
  5. 答案是选项(4)。

    我的尝试:

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

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

1 个答案:

答案 0 :(得分:3)

此问题使用William Stalling的Computer Organization and Architecture教科书之一的符号。对于不熟悉Stalling教科书的人来说,问题本身并没有足够的背景材料来回答它(我没有Stalling的教科书,或者知道这个问题引用的版本)。

然而,在看到another site处的答案的评论后,我用Google搜索了"时钟周期分组规则"。这导致了一系列指向各种不同幻灯片的链接。

我的第三个链接是powerpoint presentation,其中包含我在下面复制的幻灯片作为图片。有一张幻灯片解释了MAR和MBR的含义:

  

存储器地址寄存器(MAR)

     
      
  • 连接到地址总线

  •   
  • 指定读取或写入操作的地址

  •   
     

内存缓冲寄存器(MBR)

     
      
  • 连接到数据总线

  •   
  • 保存数据以写入或上次读取数据

  •   

screenshot

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