【问题标题】:Why is the value for the instruction register 1106 for the load One instruction?为什么指令寄存器 1106 的值是 load One 指令?
【发布时间】:2022-01-24 02:57:22
【问题描述】:

对于这个问题:

跟踪以下程序的 fetch-decode-execute 循环:

1 .org 100

2              Load One

3              JnS IncRoutine

4              Halt

5 IncRoutine , HEX 0

6              Add One

7              JumpI IncRoutine

8 One ,        DEC 1

对于加载一指令:

  Step           RTL              PC  IR   MAR  MBR  AC  M[103]
Load One   (initial values)       100  -    -    -   -    -
Fetch       MAR←PC                100  -   100   -   -    -
            IR←M[MAR]             100 1106 100   -   -    -
            PC←PC+1               101 1106 100   -   -    -
Decode      MAR←IR[11-0]          101 1106 106   -   -    -
            (Decode IR[15-12])
Get operand MBR←M[MAR]            101 1106 106 0001  -
Execute     AC←MBR                101 1106 106 0001 0001  -

我不明白上面显示的指令寄存器的 1106 是从哪里来的。如果有人能解释一下那就太好了

【问题讨论】:

  • 为了将来参考,请用处理器/cpu类型标记您的问题。

标签: cpu-architecture marie


【解决方案1】:

1106Load One 指令的操作码。当它开始跟踪时,它甚至还没有获取指令。它将程序计数器加载到内存寄存器中,然后将内容提取到IR。所以,IR 有“要执行的指令”。下一步必须解码指令(1)和地址字段(106)。

顺便说一句,如果你给我们一点线索,这会更容易一些。这是一些虚构计算机的虚构指令集,但没有细节,我们只是猜测。

【讨论】:

    猜你喜欢
    • 2019-04-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-08
    相关资源
    最近更新 更多