【发布时间】: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