嗨,我是嵌入式系统的新手。我不知道将微处理器分为8位,16位,32位的真正原因。
在我阅读的文档中,它解释了这是因为我们用来给寄存器地址编号的位数。但是我认为这是不对的,因为如果我们需要32位为处理器的寄存器地址编号,那么我们必须有2个以上的 32 寄存器。看来胡说八道,它太多了。因此,我认为也许取决于寄存器的大小,总线的大小或位数,哪个微处理器可以同时工作。
请帮助我澄清此问题。
答案 0 :(得分:0)
它不是寄存器的地址,而是寄存器的宽度。
答案 1 :(得分:0)
很明显,您或者误解了您的参考文献,或者措辞不当。大概应该声明:
...用于地址寄存器的位数
这意味着处理器的地址范围为2 n ,因此也许您的引用是指内存位置,而不是寄存器
即它指的是寄存器的位宽,而不是寄存器的枚举。
但是我建议通过“位宽”来表示数据路径宽度是处理器体系结构中更为常见和有用的度量。例如,8位处理器通常具有16位地址总线和16位地址寄存器。 16位8086设备使用两个16位寄存器(32位)来表示 20位地址,但它既不是20位处理器也不是32位处理器。 32位和64位处理器倾向于具有相同的地址和数据寄存器宽度,这可能是导致此错误声明的原因。
如here所述,整数的自然大小(即单个机器指令用作操作数的整数大小)是这种情况下的常用分类方法。