众所周知,ARM公司在经典处理器ARM11以后的产品改用Cortex命名,并分成A、R和M三类,旨在为各种不同的市场提供服务,正好是ARM公司英文简写的三个字母。Cortex系列属于ARMv7架构,这是到2010年为止ARM公司最新的指令集架构。(2011年,ARMv8 架构在TechCon 上推出)
ARMv7架构定义了三大分工明确的系列:“A”系列面向尖端的基于虚拟内存的操作系统和用户应用;“R”系列针对实时系统;“M”系列对微控制器。OK,我们下面要介绍的“猪脚”是Cortex系列下的Cortex-M家族处理器,看官且听我娓娓道来。
一 Cortex-M家族发展
经过多年的发展,Cortex-M家族下已从最初的讲究最低成本的Cortex-M0和追求最高能效的Cortex-M0+型号处理器,到目前讲究灵活性的Cortex-M33以及有着最高性能Cortex-M7型号处理器,已繁衍出7种型号的处理器产品,且性能参数各不相同,如性能比较下图所示。
当然,看一个处理器的优缺点,不单单只是从性能上来评价其好坏,而重要是合不合适,比如,性能好的往往功耗很大,散热就是个问题,而功耗低的,能效高,性能却又不给力。所以,在选取处理器时要看的是自己的产品倾向什么功能,在哪方面应用,等等,这样根据自己的实际需要选取合适的处理器。
Cortex-M家族人数如此众多,且性能各异,满足了不同客户的需求,使得ATMEL公司拥有 40 个以上的 ARM 合作伙伴,包括 NXP Semiconductors、STMicroelectronics、Texas Instruments 和 Toshiba 等领先供应商。使用标准处理器使 ARM 合作伙伴可以创建具有一致体系结构的设备,同时使它们可以专注于创建优秀的设备实现,也就是说大家的设备核心是一样的。使用同一家公司的处理器可以使各自的设备能够很好的兼容,使供应商不必因设备之间的兼容而担忧,使他们专注创造出更优秀的设备。
二 为什么选择
下面主要简单介绍针对目前在众视野比较流行M0,M3,M4,并讲一讲大家选择它们的理由。
1为什么选择Cortex –M0
说它是能耗最低的最小ARM处理器可谓实至名归,因为Cortex-M0 处理器在不到 12 K 门的面积内能耗仅有 85 μW/MHz(0.085 毫瓦),这在整个ARM处理器系列中,无人能望及项背,M0 的代码密度和能效优势意味着它是各种应用中 8/16 位设备的自然高性价比换代产品,同时保留与功能丰富的 Cortex-M3 处理器的工具和二进制向上兼容性。
简单,M0指令只有 56 个,这样便可以快速掌握整个 Cortex-M0 指令集(如果需要);但其 C 语言友好体系结构意味着这并不是必需的。可供选择的具有完全确定性的指令和中断计时使得计算响应时间十分容易。
M0优化的连接性,设计为支持低能耗连接,如 Bluetooth Low Energy (BLE)、IEEE 802.15 和 Z-wave,特别是在这样的模拟设备中:这些模拟设备正在增加其数字功能,以有效地预处理和传输数据。
2.为什么选择Cortex-M3
作为少有的具有高性能和低动态能耗,Cortex-M3 处理器提供领先的功效:在 90nmG基础上为12.5DMIPS/mW。将集成的睡眠模式与可选的状态保留功能相结合,Cortex-M3处理器确保对于同时需要低能耗和出色性能的应用不存在折衷。
全功能性让M3处理器执行Thumb®-2 指令集以获得最佳性能和代码大小,包括硬件除法、单周期乘法和位字段操作。Cortex-M3 NVIC 在设计时是高度可配置的,最多可提供240 个具有单独优先级、动态重设优先级功能和集成系统时钟的系统中断。
3为什么选择Cortex-M4
ARMCortexM4处理器是由ARM专门开发的最新嵌入式处理器,在M3的基础上强化了运算能力,新加了浮点、DSP、并行计算等,用以满足需要有效且易于使用的控制和信号处理功能混合的数字信号控制市场。其高效的信号处理功能与Cortex-M处理器系列的低功耗、低成本和易于使用的优点的组合,很好的满足了专门面向电动机控制、汽车、电源管理、嵌入式音频和工业自动化市场的新兴类别的灵活解决方案。
总结一下,还是前面所说的选取处理器不要单单看这款处理器的好坏,合适才是最重要的! |