【问题标题】:ALU overflow status bit & COND addressALU 溢出状态位 & COND 地址
【发布时间】:2015-12-06 21:52:58
【问题描述】:

COND 字段或微指令字是 2 位,有四种可能的不同代码:

00 表示不跳转;如果 N=1 则为 01 跳转;如果 Z=1,则为 10 跳转; 11 代表总是跳跃。

如果需要其中一个代码来测试新实现的 ALU 溢出状态位,您会建议我牺牲四个代码中的哪一个?另外,我很想听听为什么。

谢谢!

【问题讨论】:

  • 这个 COND 字段是在分支/跳转指令中还是在非分支/跳转指令中(它告诉指令只有在条件为真时才会执行)?我之所以问是因为术语不明确,并且因为 00“无跳转”在分支/跳转指令中没有意义,而 00 或 11 在非分支/跳转指令中没有意义。什么都不做的指令的目的是什么?如果您需要这样的指令作为代码填充器而没有副作用,您可能会找到比指令编码中浪费位更有效的解决方案。
  • @AlexeyFrunze COND 字段在 branch.jump 指令中。我试图从一项包含 00 代码的作业中理解一个问题,以防止跳跃。因此,如果我对您的理解正确,则有另一种方法可以执行此操作。但是,我必须用位来实现它。所以 00 将是解决方案,因为不会有副作用?谢谢。

标签: microcontroller bit microcoding


【解决方案1】:

从不跳转的跳转指令几乎是无用的。 OTOH,条件跳转有很多理想的条件,超过4个(想想8-16个),所以直接支持更多是一件好事。您可以将 00 重新用于溢出条件。

【讨论】:

  • 太棒了。您的解释超出了作业范围,我对此表示赞赏,因为我喜欢为未来而学习,而不仅仅是上课。谢谢!
猜你喜欢
  • 1970-01-01
  • 2015-08-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-07-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多