8位MCU相比32位MCU的一些缺点
现在MCU有8位、16位、24位和32位的,随着工艺与IP的逐渐成熟,相比32位的MCU,缺点逐渐显示出来了,下面来看看8位MCU相比32位MCU的一些缺点。
缺点一、8位处理器响应慢
这个就是完全的误解了。典型的嵌入式应用中,响应速度主要跟中断响应和唤醒延迟相关。8位处理器有天然的优势(地址转换工作量小、IP单元实现门数少),至少不输于32位的处理器。
缺点二、相同价格的32位处理器功能远强于8位处理器
这个也有一定程度的可信度,但是不要忘记有相当大的一部分应用使用8位的MCU就已足够在这种情况下,非要购买平均价格高一点的32位MCU,成本就会上升。对于很多基本上标准化了的嵌入式产品来说,8位MCU还是具有一定的成本优势的。
缺点三、8位处理器不能胜任IoT应用需求
IoT应用不是一个单独的应用,而是一个复合应用。智能手表、智能音箱、主控制器、网关这种当然需要复杂的处理器来实现。但是IoT应用还包含大量的传感器节点、执行节点和转换节点。这种节点用低功耗的8位处理器来实现更加适合。
缺点四、8位处理器开发工作更繁重且没有升级路径
32位处理器的处理更加以软件为中心,可以做更多的代码复用。而8位处理器更多地利用硬件外设来完成任务。综合而言,没有绝对的差别。
缺点五、8位处理器设计的应用不能适应未来变化
这是个思维角度问题,作为嵌入式程序员,更应该考虑当前的任务。不管是什么类型的MCU,如果产品形态变化了或者需求本身变化了,就要重新设计。未来谁都看不清,何必考虑那么多没有实际意义的前瞻。
缺点六、8位处理器缺乏创新
不少人会认为既然现在市场的宠儿是32位的MCU,厂商们是不是都没有投入研发资源在8位产品上了。这么想的人可能一想到8位的MCU,脑海中会浮现40DIP的“经典8051”的形象。
事实上,芯片厂商们并没有停止创新。比如,CIP-51内核因为采用了一个时钟周期等同于一个指令周期的设计,瞬间将同频率的8051性能提高了12倍。国内的一些半导体厂商也有基于8051或其他8位内核的创新。
说了这么多8位MCU的缺点,再来说两个8位MCU的优点吧!
优点一、8位处理器的能效低于32位处理器
曾经看过ARM公司的权威工程师写的一本书,书中观点是32位处理器的能效比高于8位的MCU,理由是32位处理器能快速处理完任务,休眠时间的比例更大。但是,这个结论包含一个假设,就是任务有一定复杂度。
如果任务本身非常简单,唤醒过程的功耗也很大,那么这个假设不成立。针对不同应用场景,不能简单说8位、32位哪个能效比更高。至少非常简单的应用中,8位的能效比要高。如果再加上单独响应,无需CPU干预的一些任务,8位的能效比甚至能高出很多。
优点二、8位处理器专为简单应用而生
这个观点倒是有几分真实,但是嵌入式应用本身就是简单应用居多。嵌入式系统应用的本身特点决定了8位依然有很多用武之地。外设和编译器的进化将慢慢拓展8位处理器的应用范畴。