【问题标题】:What is the purpose of the CIR if I have the MDR in Von Neumann Architecture?如果我在冯诺依曼架构中拥有 MDR,那么 CIR 的目的是什么?
【发布时间】:2021-06-22 20:12:28
【问题描述】:

从冯诺依曼架构的获取解码执行周期,在基本层面上,这是我的理解:

  1. PC 中的内存地址被复制到 MAR。
  2. PC +=1
  3. MAR地址中的指令/数据从主存中取出后存储在MDR中。
  4. 来自 MDR 的指令被复制到 CIR
  5. 内存中的指令/数据由 CU 解码和执行。
  6. 存储在 ACC 中的计算结果。
  7. 重复

现在如果将 MDR 值复制到 CIR,为什么它们都是必需的。我对系统架构很陌生,所以我可能搞错了,但我已经尽力了:)

【问题讨论】:

  • 谢谢,太好了。请将此作为答案,以便我将其标记为正确,干杯!
  • 好的,不确定这是否是您正在寻找的答案。

标签: cpu-architecture von-neumann


【解决方案1】:

想想如果当前指令是加载或存储会发生什么:在 MDR 之后是否需要发生任何事情?如果是这样,如果 CPU 不以某种方式跟踪它,它如何记住它正在执行的操作。

是否始终需要原始指令位取决于设计。

需要进行大量解码的 CPU(例如,具有紧凑可变长度指令集的 CISC,如原始 8086)可能不会保留实际指令本身,而只会保留一些解码结果。例如,实际的 8086 增量解码,一次扫描一个字节的前缀,直到到达操作码。现代 x86 解码为 uop,然后将其发送到管道中;不需要原始机器码字节。

但是像 MIPS 这样的 CPU 是专门设计的,因此部分指令字可以直接用作内部控制信号。不过,并不总是需要将整个指令集中在一起。

将 CIR 视为解码过程的输入锁存器可能更有意义,它产生必要的内部控制信号或微码序列,具体取决于设计。如果您不介意在任何步骤重做解码,那么拥有一个真正的物理 CIR 是可以的,您需要查阅它以确定下一步该做什么。

猜你喜欢
  • 2014-08-02
  • 1970-01-01
  • 2015-04-03
  • 2010-12-20
  • 1970-01-01
  • 2015-08-14
  • 1970-01-01
  • 2023-03-02
  • 2017-11-03
相关资源
最近更新 更多