我认为最大的区别在于数学函数的速度和优化,当然还有内部总线的大小,但是你能在这些平台之间发布更多差异吗?
答案 0 :(得分:9)
这是一个复杂的问题。不同的微观家族的能力各不相同。位数仅指数据管道的宽度,这限制了数学的精度,尽管许多微控制器将模拟高阶数学或具有可执行更高精度数学函数的特殊HW。
历史上的差异一直是价格:8位是最便宜的,32位是昂贵的。一般情况下仍然如此,但16位器件的价格已大幅下降。
大多数8位处理器都是旧的并且在旧架构上运行,因此它们往往更慢。它们也更便宜,因为这是竞争在8位点的地方,这使得它们趋于缓慢。它们也倾向于对支持的RAM /其他存储具有下限,但实际数量取决于系列。
16位处理器也倾向于关注价格,但是有大量的部件可用,其中一些具有相当高的性能和大量的片上外设。在精度大于8位的数学运算中,这些部分的执行速度通常比8位部分快,并且往往具有更多的可寻址存储器。32位芯片主要与应用程序的性能竞争。有相当多的32位部件可供选择,每个部件都针对某些特定应用。他们倾向于装载外围设备并在功能完整性方面展开竞争。它们具有大量可寻址内存,性能往往优于16位部分。
答案 1 :(得分:6)
术语8/16/32位可用于表示具有数据总线,地址总线,寄存器和指令集宽度的各种组合的器件;所以它本身就是一个糟糕的分类学。您必须比较特定设备及其相关编译器以得出任何具体结论。
从软件的角度来看,数据大小和地址范围是最明显的变化。例如,在C中,int的大小可能会有所不同,在8位和16位编译器上通常为16位。
从根本上说,8位器件需要更多的总线访问和更多的指令来执行16或32位算术运算,因此可能比基本时钟速度慢得多。
虽然与架构宽度无关,但16位和8位设备不太可能包含FPU或MMU,甚至不能包含高速缓存,而这些在32位设备中更为常见。