0

我想知道将 MCU 标记为 32 位或 64 位的原因是什么。在哈佛或诺依曼架构这样的简单架构中,它曾经是数据总线的宽度。但是在市场上,我看到了具有 64 位数据线的 MCU,但以 32 位 MCU 的形式销售。有人可以解释一下吗?

4

1 回答 1

3

处理器的位宽不是由数据总线宽度定义的。Intel 8088(用于最初的 IBM PC)是具有 8 位数据总线的 16 位设备,而摩托罗拉 68008(Sinclair QL)是具有 8 位总线的 32 位设备。

它主要由指令集的性质(操作数的宽度)和寄存器宽度(必须相同)来定义。

当大多数设备具有匹配的总线和指令/寄存器宽度时(即大约在 1980 年之前),没有必要进行区分,并且当窄总线宽度时,不清楚它是指总线宽度还是寄存器/指令宽度无关紧要宽指令/寄存器设备的总线版本被引入它代表了一个营销困境。尽管 QL 有 8 位总线,但它被广泛宣传为具有 32 位处理器,而 8088 有时被称为 8/16 位部件。68008 可以在一条指令中轻松执行 32 位操作 - 事实上,它需要 4 个总线周期来获取操作数对软件是透明的,并且指令和数据获取周期的总数仍然远远少于它需要 8 位处理器执行相同的 32 位操作。

在这种情况下,另一个有趣的架构是ARM 架构 v4,除了 32 位 ARM 模式外,它还支持称为“Thumb”的 16 位模式。在 Thumb 模式下,指令和寄存器集都是 16 位的。这比 ARM 模式具有更高的代码密度。在使用外部存储器接口的情况下,大多数 ARM v4 部件都支持 16 位或 32 位外部总线 - ARM 或 Thumb 都可以与任何一个一起使用,但是当实现 16 位总线时,Thumb 模式通常比 32 位的运行效率更高位指令集由于每条指令或操作数提取的单个总线周期。

鉴于架构指令/寄存器集和总线宽度的种类越来越多,现在通过指令/寄存器集来表征架构是有意义的。

于 2014-01-08T20:58:14.150 回答