1
互联网时代,MCU无处不在,它被应用于许多领域,比如移动电话、汽车、家电、玩具、物联网设备等等。很多人都知道MCU有8位、16位和32位,一般来说,位数越多MCU处理性能越强。
图① MCU由中央处理器(CPU)、存储器和外围功能组成
有的人会疑惑既然都已经有32位MCU了,8位及16位的MCU怎么还没被淘汰?其实MCU并不是单一地看位数大小来决定它的好坏。
首先我们需要先明白MCU中“位”的含义。“位”是一个二进制数字,在一个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)。
图② 8位处理器可以提供广泛的性能能力
8位MCU应用广泛,但与16位MCU和32位MCU相比,性能有限。当8位不够时,设计师可以向32位MCU求助,这可以带来相当大的性能冲击。它们可以支持高端代数操作和浮点数学操作。虽然8位MCU通常仅限于MHz的处理速度,但32位单元的时钟速率可以达到GHz范围,尽管数百个MHz单元更为常见。
提高性能的代价是增加32位 mcu 的编程复杂性,包括多个状态寄存器、复杂的中断管理、多层固件执行特权等等。这就是为什么32位单位如此强大的部分原因。他们可以快速处理数以千计的复杂计算,以满足需要大量数据处理的应用,例如图像处理或高速系统的实时控制。此外,32位处理器的较大内存地址空间往往需要缓冲高带宽的数据流。
通常与32位 mcu 相关的较高时钟速度也会导致能量消耗的增加。一般来说,32位 mcu 可以通过交换更高的能量消耗来支持更高强度的计算。但是在8位和32位之间的选择并没有那么简单。例如,32位单片机可以比8位单片机更快地完成一系列计算,然后进入睡眠模式的时间更长。那么,32位 mcu 是否更节能呢?这种可能性很大,但未必准确。8位mcu可以减少总能量消耗,帮助延长便携式设备的电池寿命。
回到 ICE 的类比,在4个圆柱体(8位)和8个圆柱体(32位)之间有一个中间地带,通常6个圆柱体(16位)的设计可以提供正确的效率和性能组合。
8位 mcu 的性能本质上是有限的,只能通过添加外围设备在一定范围内进行改进。使用32位 mcu 的系统可以提供更高的性能,但是与其他解决方案相比,可能会过度消耗并消耗更多的功耗。
这时候16位 mcu 就脱颖而出了,它们可以结合8位单元的简单性,同时提供增强的性能,而不需要过多的功耗。特别是在不需要大规模多线程和适度内存需求的应用程序中,16位 mcu 可以提供最佳的中间解决方案(图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位单片机可能是明智的。
所以说,选择多少位 mcu 是个复杂的决策过程(图4),它需要参考多种应用因素,选型需要根据具体情况才能确定最佳的能耗方案。
图④ 8位与32位单片机的比较
审核编辑 :李倩
全部0条评论
快来发表一下你的评论吧 !