8位世界中的32位MCU应用
全球MCU市场出货量预估将在2010年超过150亿颗,其中,32位MCU的成长速度,更将是传统8位的三倍。许多目前采用8位MCU的装置,都将逐渐被32位MCU所取代。32位MCU装置的成长,受到不同市场力量的驱动,其中包括重复使用程序代码的需求、应用复杂度的提升、装置的逐渐汇整,以及系统的连结。然而,在此同时,厂商仍需考虑成本追加的限制及产品上市时程的控管。
由于8位MCU移转至32位牵涉为数众多的架构平台与协力厂商,因此在过去被视为不可能的任务。但由于现今程序代码密度与长度的演进,加上硅组件制程的改良,使架构平台汇整的目标得以实现,并使32位装置的版图,能首度拓展至过去由8位与16位应用所主宰的低成本市场。
8位与32位MCU市况
32位MCU跨足8位与16位的既有市场,原本就会面临不少挑战,再加上可预见的未来,将出现低于0.5美元的量产产品市场,或其它硅组件厂商无力触及的超低成本应用领域,更让32位MCU的普及受到限制。虽然如此,市场上仍有为数可观的应用,让32位MCU装置有机可乘,开始挑战既有的8位及16位市场。例如:Luminary Micro推出超过百款从1美元量购价起跳、搭载ARM® Cortex-M3处理器技术的MCU。此外,包括Atmel、ADI、NXP、STMicro与TI等许多厂商,也纷纷推出一系列搭载ARM处理器技术的装置。
上述厂商推出的32位MCU装置,提供了比其它平台更高的单位价格效能,并在数量上快速超越了传统的8位设计。这些32位MCU被广泛应用在无数的电子装置中,包括遥控器、待机模式控制器、警报系统、电子投票机、家用电器、厨房用品控制器,以及整合许多8位系统的汽车与数据登入应用。
程序代码长度
部分工程师在决定是否转换至32位处理器时,最主要担忧就是转换会使程序代码长度大幅增加。但是,许多案例显示转换事实上简化并缩短了程序代码。此外,许多8051指令仍需2或3个字节,而ARM Thumb®-2指令却更简短,且能完成更多工作。
ARM Cortex-M3处理器中的Thumb-2技术等32位指令集应用,能够提供更精简的程序代码与更快的效能。举例来说,经由Cortex-M3处理器编译后,推动堆栈中的3个缓存器,以及将它们取出及置回的程序代码,总数仅不到原本的三分之一。
事实上,在最近几个采用EEMBC业界标准程序代码所进行的独立标竿测试中,证实了一组先进8051装置的完整程序代码长度,较Cortex-M3处理器程序代码多出3.6倍。同时,Cortex-M3处理器所提供的效能,更高出该8051装置有十倍之多。
数据格式的一致性,是比较程序代码长度时的另一个重要考虑。在16或32位指令中,一个指令的长度可能是2或4字节,但ARM的工具会自动执行转换,使程序代码长度永远以字节为单位。反之,Mircrochip等其它厂商将程序代码长度标示为指令字符,要开发业者自行将数据乘以指令长度,因而经常造成混淆。
MCU中断处理能力
新一代32位MCU的中断能力远胜于传统MCU装置,且提供远超过传统8位装置的简易使用度与弹性。新一代的MCU系列,如采用Cortex-M3处理器的Luminary Stellaris与STMicro STM32,都提供超过32个中断,并支持8或16个优先级。此外,处理中断的所有暂存作业都是由硬件自动处理,这不但提供了一个极为简单、可靠,且可重复的解决方案,也意谓着所有中断处理装置都可撰写成一般的C语言函式,而无须使用组译程序。将中断控制器整合至中央核心亦带来许多其它先进的功能,包括无限制巢套、优先屏蔽,与关键优先无屏蔽中断。
以Cortex-M3处理器为基础的32位MCU,其性能大幅领先8051架构装置,甚至是效能高于标准8051架构八倍之多的最新一代「加速型」8051架构。虽然许多最新的8051装置宣称其中断延迟仅有5或6个周期,但这并不包括开始处理中断时所耗费的大量资源。
Cortex-M3处理器的12个周期中断延迟,包括了将缓存器推入堆栈、取得特殊向量,及撷取ISR指令所耗费的时间。从下表的比较中,我们可看到Cortex-M3处理器的中断延迟,比加速型8051装置还要短,而这类加速型装置的速度已经较标准型8051装置快上8倍。在许多其它的8051系统中,这些延迟甚至会更长。
位处理运用的重要性
在32位与8位MCU的比较之中,位处理层面也必须被合理的考虑。过去十年,大多数的32位装置都着重于数据封包处理,而忽略了真正控制工程所需的个别位运用。然而,最新一代的32位装置已重新开始注重这块领域,且能够替个别位与位控制提供优异的效能。例如:Cotex-M3处理器定义两类内存,一者是内部SPAM,而另一者为外围内存,能够提供个别位达到类似自动化的效能。
此外,在加入支持位处理作业的一组新指令后,仅须单一指令即可插入、清除或交换一组可编程位。举例而言,想要改变数据域位中的3至5位,8051架构装置需要9个字节与6个频率周期,但若运用Thumb-2中的位字段插入(Bit Field Insert)指令,则仅须4个字节与1个频率周期。
工具整合优势
尽管32位MCU具备许多优势,许多开发业者对于尝试这些新装置所需的巨额投资,仍存有疑虑。但事实正好相反,许多8位开发业者所熟悉使用的工具,如:Keil和IAP工具套件,都已支持32位装置。
由于整合了使用熟悉的开发环境,因此,改写大部分的C语言程序代码变得十分简单,整体开发也更容易。近来,随着采用Cortex-M3处理器的32位装置陆续问市,为这些装置撰写程序代码所需的知识门坎也大幅降低。
应用的日趋复杂、装置汇整,与连结MCU的兴起等因素,都持续促使市场迈向效能更高的32位MCU装置。最初为了提升程序代码的重复使用性,并降低各部门的成本,而在业界兴起平台整合趋势,却在最后无心插柳地将这些高效能装置,带向始料未及的发展境界,并直接挑战了传统的8与16位装置市场。(本文由ARM安谋科技股份有限公司资深营销经理Hayden Povey提供)
暂无评论