转载:https://blog.csdn.net/chiooo/article/details/50463520?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase
最近在关注Cortex-M对于目前进入大众视野的处理器,M0、M3、M4做了以下简单的比较,内容来自ARM等官网,这里只是整理一下,看起来更直观,呵呵。
Cortex-M 系列针对成本和功耗敏感的MCU优化了终端应用(如智能测量、人机接口设备、汽车和工业控制系统、大型家用电器、消费品和医疗设备)的混合信号设备。.
Cortex-M系列处理器都是二进制向上兼容,使软件重用,从一个Cortex-M可能是处理器无缝发展到另一个。
ARMCortex微控制器软件接口标准 (CMSIS)是Cortex-M硬件抽象层与供应商无关。使用 CMSIS,可以为接口外设、实时操作系统和中间件实现一致且简单的软件接口,从而简化软件的重用、缩短新微控制器开发人员的学习过程,并缩短新产品的上市时间。
NVIC 是 Cortex-M 它为处理器提供了优异的中断处理能力。
Cortex-M 处理器使用一个矢量表,其中包含具体中断处理程序执行的函数的地址。处理器将从矢量表中提取地址。
为了减少门数,高系统灵活性,Cortex-M 处理器使用基于堆栈的异常模型。当出现异常时,系统将关键通用寄存器推到堆栈上。中断服务例程或故障处理程序完成后,寄存器将自动恢复,使中断程序恢复正常执行。使用此方法,无需编写汇编器包装器(这是基于 C 传统语言中断服务例程执行堆栈操作所必需的),使得应用程序的开发非常容易。NVIC支持中断嵌套(进入堆栈),利用更高的优先级提前为中断提供服务。
Cortex-M系列处理器的中断响应是从发出中断信号到执行中断服务例程的周期数。它包括:
检测中断
最佳处理背对背或迟到中断(见下文)
提取矢量地址
将易损坏的寄存器放入栈中
跳转到中断处理程序
这些任务在硬件中执行,包括在内 Cortex-M处理器报出的中断响应周期时间中。在其他许多体系结构中,这些任务必须在软件的中断处理程序中执行,从而引起延迟并使得过程十分复杂。
当背对背中断时,传统系统会重复两次完整的状态保存和恢复周期,导致更高的延迟。Cortex-M处理器通过 NVIC 尾链技术在硬件中的实现简化了活动中断与悬挂中断之间的转换。处理器状态现时间更少的周期内,处理器状态将自动保存在中断条目上,并在中断退出时恢复,从而显著提高和降低 MHz 系统性能。
若在上一次中断实施堆栈推送过程中优先级较高的中断迟到,NVIC如上所示,将立即提取新的矢量地址,为悬挂的中断提供服务。Cortex-M NVIC 对这些可能性提供一定的响应,并支持迟到和抢占。
同样,如果异常到达,NVIC如上所示,将放弃堆栈弹出,并立即为新的中断提供服务。在不完成状态恢复和保存的情况下,通过抢占和切换到第二个中断,NVIC 缩短延迟以确定的方式实现。
Cortex-M0 代码密度和能效优势意味着它是各种应用 8/16 位置设备的天然高性价比替代产品,同时保留和功能丰富Cortex-M3处理器工具与二进制向上兼容。
Cortex-M0 没有处理器 12 K 门面积内能耗仅为 85 μW/MHz(0.085 毫瓦),作为低能耗技术的领导者和创造超低能耗设备的主要驱动者,是无与伦比的 ARM 专门技术。
指令只有 56 所以你可以快速掌握整个 Cortex-M0 指令集(如有必要) C 语言友好的系统结构意味着这是不必要的。完全确定的指令和中断计时使计算响应时间非常容易。
设计支持低能耗连接,如 Bluetooth Low Energy (BLE)、IEEE 802.15 和 Z-wave,特别是在这样的模拟设备中:这些模拟设备正在增加其数字功能,以有效地预处理和传输数据。
于 2004 年引进,最近通过新技术更新和更新可配置性 Cortex-M3.是专门为微控制器应用开发的主流 ARM 处理器。
高性能低动态能耗,Cortex-M3 在 90nmG 基础上为 12.5 DMIPS/mW。将综合睡眠模式与可选状态保留功能相结合,Cortex-M3处理器确保应用程序同时需要低能耗和优异的性能。
处理器执行Thumb?-2包括硬件除法、单周期乘法大小,包括硬件除法、单周期乘法和位字段操作。Cortex-M3 NVIC 设计高度可配置,最多可提供 240 系统中断具有单独优先级、动态重置优先级功能和集成系统时钟。
基于功能与性能的结合 Cortex-M3 设备能有效处理多个设备 I/O 例如,渠道和协议标准 USB OTG (On-The-Go)。
-目标用途:灵活解决电机控制、汽车、电源管理、嵌入式音频和工业自动化市场的新兴类别。
Cortex-M4 为将会提供无与伦比的功能 32 位置控制与领先的数字信号处理技术集成,以满足需要高能效水平的市场。
Cortex-M4 通过一系列优秀的软件工具和Cortex微控制器软件接口标准 (CMSIS)很容易开发信号处理算法。
ARM Cortex-M0处理器执行Thumb指令集包括少量使用Thumb-2技术的32这是ARM Cortex-M3和ARM Cortex-M4支持指令集的二进制向上可与子集兼容。
核心面积、频率范围和功耗取决于工艺、库和优化。上面引用的数字是通用的 TSMC 工艺技术和 ARM 物理 IP标准单元库和RAM合成核心的说明。包括面积数字 CM3Core、嵌套向量中断控制器 (NVIC) 总线矩阵不包括可选组件(包括内存保护单元、嵌入式跟踪宏单元、断点单元、数据检测点单元和跟踪端口接口单元)。
速度优化的实现是指库选择、合成流决策和折衷,以实现目标频率性能。区域优化的实现是指为实现目标区域密度而做出的库选择、合成流决策和折衷。
核心面积、频率范围和功耗取决于工艺、数据库和优化。上述数字是低功耗技术和 ARM 物理 IP标准单元库和RAM合成核的描述。面积数包括中央核(包括) DSP 扩展,嵌套矢量中断控制器 (NVIC) 和总线矩阵),但不包括可选组件(包括内存保护单元、嵌入式跟踪宏单元、断点单元、数据检测点单元和 TracePort Interface Unit。
速度优化的实现是指为了实现目标频率性能而做出的库选择、合成流决策和折衷。面积优化的实现是指为了实现目标面积密度而做出的库选择、合成流决策和折衷。
以下的一点为M4页面特有的介绍:
系统 IP 组件对于在芯片上构建复杂的系统至关重要,通过利用系统 IP 组件,开发人员可以显著缩短开发和验证周期,从而节省成本并缩短产品的上市时间。
1、 LM3Sxxxx系列(M3)
2、 LM4Fxxxx系列(M4)
3、
4、
5、
6、
1、 LPC11xx LPC12xx系列(M0)
2、 LPC13xx LPC17xx LPC18xx 系列(M3)
3、 LPC43xx 系列(M4)
1、 Kinetis L系列(M0+)
2、 Kinetis X系列、K系列(M4)
1、 SAM3S/U/N系列(M3)
2、 SAM4S系列(M4)
3、 SAM7xxxx系列(ARM7)
4、 SAM9xxxx系列(ARM9)
1、 XCM4000系列(M4,是英飞凌第一次推出ARM架构的MCU)
1、 FM3家族(M3)
1、 SiM3C1xx(80MHZ)系列 (M3)
2、 SiM3U1xx(80MHZ USB)系列(M3)