【问题标题】:Why is AVR instruction format so complex?为什么 AVR 指令格式如此复杂?
【发布时间】:2015-01-12 20:24:12
【问题描述】:

查看 atmel 8 位 AVR 指令集 (http://www.atmel.com/Images/doc0856.pdf) 时,我发现指令格式相当复杂。许多指令具有不同的位域,其中操作数/操作码位在指令中的不同位置:为什么会这样?解码单元实际解码这种格式的操作码和操作数不是更难吗?

【问题讨论】:

  • 这就是他们选择做事的方式,实际上很少有位域组织得很好,mips和模仿mips的人会这样做,但是很多其他指令集甚至是旧的cisc会认为每个门都很重要,不是。
  • 这个问题似乎跑题了,因为它与编程无关。
  • 获得一个 8 位微控制器来提供一个健壮的 ISA 以很好地映射到一个健全的 C 环境是一个挑战 - 一个得到了很好的回报。看看 AVR GCC 端口——它与嵌入式目标的 C 工具链一样容易使用。 AVR 无法承受像早期 RISC 架构那样具有固定字段的宽大、固定的 4 字节指令。我不得不不同意你的前提。

标签: avr instruction-set


【解决方案1】:

我认为这在很大程度上可能来自兼容性的考虑。 在某个阶段,一条指令变得更强大,并且附加选项被编码在空闲位中,因此旧指令字仍然调用旧行为。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-02-11
    • 2017-10-27
    • 2019-10-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多