8位、16位和32位的MCU,更多的位是更好的吗?

时间: 2023-10-04 admin IT培训

8位、16位和32位的MCU,更多的位是更好的吗?

8位、16位和32位的MCU,更多的位是更好的吗?


图1: mcu 由三个基本单元组成,中央处理器(CPU

“ bit”是“二进制数字”在一个8位单片机中,数据以8位的形式存储,称为字节(在某些情况下,称为八位元)。一个8位内存寄存器可以存储28个可能值中的一个。根据所使用的整数表示形式,实际值的范围不同。例如,对于无符号二进制数,范围是0到255(28减1) ,使用2的补码表示,范围是 -128(- 1 x27)到127(27-1)。虽然8位单片机中的数据总线是8位宽的,但是地址总线宽度可以不同。地址总线宽度通常为12位到16位。例如,16位宽地址总线的结果是直接可寻址内存空间为65,536(216)字节(称为64kb)。但是这些分类只是开始暗示特定的8位 mcu 的实际功能(图2)。

图2:8位处理器可以提供广泛的性能能力

8位 mcu 是多功能的; 它们提供简单的编程、能源效率和小型封装尺寸(有些只有六个引脚)。但是这些微控制器通常不是用来实现网络和通信功能的。最常见的网络协议和通信软件堆栈是16位或32位。通信外围设备可用于一些8位设备,但16位和32位 mcu 往往是更有效的选择。尽管如此,8位 mcu 通常用于各种控制、传感和接口应用程序。

32位功耗更高

虽然8位处理器是通用的,但它们的性能也同样有限。当8位不足时,设计人员可以使用32位的 mcu,它可以带来相当大的性能冲击。32位 mcu 被广泛应用,它们可以支持高端代数运算和浮点数学。虽然8位 mcu 通常被限制在几兆赫兹的处理速度,但是32位单元可用,时钟频率在 GHz 范围内,尽管几百兆赫兹单元更为常见。
提高性能的代价是增加32位 mcu 的编程复杂性,包括多个状态寄存器、复杂的中断管理、多层固件执行特权等等。这就是为什么32位单位如此强大的部分原因。他们可以快速处理数以千计的复杂计算,以满足需要大量数据处理的应用,例如图像处理或高速系统的实时控制。此外,32位处理器的较大内存地址空间往往需要缓冲高带宽的数据流。
通常与32位 mcu 相关的较高时钟速度也会导致能量消耗的增加。一般来说,32位 mcu 可以通过交换更高的能量消耗来支持更高强度的计算。但是在8位和32位之间的选择并没有那么简单。例如,32位单片机可以比8位单片机更快地完成一系列计算,然后进入睡眠模式的时间更长。那么,32位 MCU 是否更节能呢?这是可能的,但不一定是真的。一个8位单片机可以有较低的总体能源消耗和有助于更长的电池寿命在便携式设备。选择并不简单,最佳能源消耗解决方案必须根据具体情况确定。

这里有一个中间地带

回到 ICE 的类比,在4个圆柱体(8位)和8个圆柱体(32位)之间有一个中间地带; 通常,6个圆柱体(16位)的设计可以提供正确的效率和性能组合。8位 mcu 的性能本质上是有限的,只能通过添加外围设备在一定范围内进行改进。使用32位 mcu 的系统可以提供更高的性能,但是与其他解决方案相比,可能会过度消耗并消耗更多的功耗。
这就是16位 mcu 的用武之地; 它们可以结合8位单元的简单性,同时提供增强的性能,而不需要过多的功耗。特别是在不需要大规模多线程和适度内存需求的应用程序中,16位 mcu 可以提供最佳的中间解决方案(图3)。

图3:16位 mcu 与8位设备相比,配有专门的电机控制外围设备、数字变流技术、低功耗电池供电设计、高级模拟集成和硬件安全性能提高。(图片: 微芯片)

外围设备可能是关键。一些16位 mcu 有数学协处理器,支持密集的数学计算,类似于在相同时钟速度下的32位单元。此外,还有许多支持16位 mcu 的通信栈。例如,有了正确的实现,以太网、控制器局域网路、通用串行总线(USB)和 Zigbee 等通信协议就可以在16位 mcu 上高效运行。与许多32位解决方案相比,使用16位 mcu 可以提供更简单的电路板实现。
增加外围设备
外围设备的可用性以及它们所在的位置可能是推动选择8位、16位或32位的重要因素。向8位单片机添加外部通信外设也是一种选择。但是,外围芯片的加入往往会降低使用8位单片机的成本效益。使用一个集成了通信功能的32位单元可以节省成本。向上移动规模发现32位 mcu 通常包含更多的功能,并且能够比8位和16位设备更有效地处理多个外围功能。
使用16位和32位 mcu 可以使计算量更大、速度更快的应用程序受益。可以受益于16位或32位 mcu 的示例包括 FFT 计算、高质量音频或视频、高分辨率图像处理和各种边缘计算应用程序。此外,机器学习和人工智能的实现通常需要32位,通常使用特定应用程序的加速器。
在复杂度的另一端,处理来自传感器或其他来源的模拟信号并不一定受益于使用32位或16位 mcu。8位 mcu 可以包括内置的模数转换器(adc) ,支持8位、10位、12位甚至16位速率。
8位 mcu 可用于支持一些加密功能,以提高安全性。但是这些功能通常是在硬件上实现的,这增加了成本,或者软件增加了相对低功耗处理器的负担。如果高级安全功能很重要,那么使用16位或32位单片机可能是明智的。

总结-哪个单片机是最好的?

那么,更多的比特更好吗?不,不一定。这是一个复杂的决策过程(图4)。成功的设计确定了以最具成本效益的方式提供所需性能的单片机架构。对于电池供电的设备,以最节能的方式。

图4:8位与32位单片机的比较: 8位设备几乎总是比32位设计的功耗要低,而8位单位的成本可以更低,但这并不总是正确的。选择是复杂的,取决于许多特定于应用程序的需求。在某些情况下,16位单片机可能是最佳选择。

确定最佳的单片机不一定是一个简单的问题要回答。有时,这不仅仅是关于当今的性能需求; 随着时间的推移,可能需要交付一个具有增长潜力的解决方案,以处理更具挑战性的应用程序需求。例如,安全需求可以不断发展。适应未来对新的或增加的安全功能的需求的能力可能是一个重要的应用考虑因素。
如果一个特定的应用程序需要大量的内存,使用32位 MCU 通常会比8位甚至16位设备提供更多的内存随机存取存储器。延迟是比较各种 MCU 选择时需要考虑的另一个因素。可以使用8位、16位或32位 MCU“同样好地”执行某些功能。但是,如果应用程序需要较低的延迟,那么它可能需要16位或32位处理器的速度和更快的时钟速率。