最近在关注Cortex-M处理器,针对目前进入大众视野的M0、M3、M4做了如下简单对比,内容来自ARM等官网,这里仅仅是整理了下,看起来更直观点,呵呵。

Cortex-M 系列针对成本和功耗敏感的 MCU 和终端应用(如智能测量、人机接口设备、汽车和工业控制系统、大型家用电器、消费性产品和医疗器械)的混合信号设备进行过优化。.

一、比较Cortex-M 处理器

Cortex-M 系列处理器都是二进制向上兼容的,这使得软件重用以及从一个 Cortex-M 处理器无缝发展到另一个成为可能。

M Cortex-M 技术

CMSIS

ARM Cortex 微控制器软件接口标准 (CMSIS)是 Cortex-M 处理器系列的与供应商无关的硬件抽象层。 使用 CMSIS,可以为接口外设、实时操作系统和中间件实现一致且简单的软件接口,从而简化软件的重用、缩短新微控制器开发人员的学习过程,并缩短新产品的上市时间。

深入:嵌套矢量中断控制器 (NVIC)

NVIC 是 Cortex-M 处理器不可或缺的部分,它为处理器提供了卓越的中断处理能力。

Cortex-M 处理器使用一个矢量表,其中包含要为特定中断处理程序执行的函数的地址。接受中断时,处理器会从该矢量表中提取地址。

为了减少门数并增强系统灵活性,Cortex-M 处理器使用一个基于堆栈的异常模型。出现异常时,系统会将关键通用寄存器推送到堆栈上。完成入栈和指令提取后,将执行中断服务例程或故障处理程序,然后自动还原寄存器以使中断的程序恢复正常执行。使用此方法,便无需编写汇编器包装器了(而这是对基于 C 语言的传统中断服务例程执行堆栈操作所必需的),从而使得应用程序的开发变得非常容易。NVIC支持中断嵌套(入栈),从而允许通过运用较高的优先级来较早地为某个中断提供服务。

在硬件中完成对中断的响应

Cortex-M 系列处理器的中断响应是从发出中断信号到执行中断服务例程的周期数。它包括:

检测中断

背对背或迟到中断的最佳处理(参见下文)

提取矢量地址

将易损坏的寄存器入栈

跳转到中断处理程序

这些任务在硬件中执行,并且包含在为 Cortex-M 处理器报出的中断响应周期时间中。在其他许多体系结构中,这些任务必须在软件的中断处理程序中执行,从而引起延迟并使得过程十分复杂。

NVIC 中的尾链

在背对背中断的情况下,传统系统会重复完整的状态保存和还原周期两次,从而导致更高的延迟。Cortex-M 处理器通过在 NVIC 硬件中实现尾链技术简化了活动中断和挂起的中断之间的转换。处理器状态会在比软件实现时间更少的周期内自动保存在中断条目上并在中断退出时还原,从而显著提升低 MHz 系统的性能。

NVIC 对迟到的较高优先级中断的响应

如果在为上一个中断执行堆栈推送期间较高优先级的中断迟到,NVIC 会立即提取新的矢量地址来为挂起的中断提供服务,如上所示。Cortex-M NVIC 对这些可能性提供具有确定性的响应并支持迟到和抢占。

NVIC 进行的堆栈弹出抢占

同样,如果异常到达,NVIC 将放弃堆栈弹出并立即为新的中断提供服务,如上所示。通过抢占并切换到第二个中断而不完成状态还原和保存,NVIC 以具有确定性的方式实现了缩短延迟。

二、为什么选择

1、为什么选择Cortex-M0

能耗最低的最小 ARM 处理器

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,特别是在这样的模拟设备中:这些模拟设备正在增加其数字功能,以有效地预处理和传输数据。

2、为什么选择Cortex-M3

提供更高的性能和更丰富的功能

于 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)。

3、为什么选择Cortex-M4

­目标用用:专门面向电动机控制、汽车、电源管理、嵌入式音频和工业自动化市场的新兴类别的灵活解决方案。

曾获大奖的高能效数字信号控制

Cortex-M4 提供了无可比拟的功能,以将 32 位控制与领先的数字信号处理技术集成来满足需要很高能效级别的市场。

易于使用的技术

Cortex-M4 通过一系列出色的软件工具和  Cortex 微控制器软件接口标准 (CMSIS)使信号处理算法开发变得十分容易。

三、规范

1、M0

ARM Cortex-M0 处理器执行 Thumb 指令集,包括少量使用Thumb-2 技术的32 位指令。这是ARM Cortex-M3 和ARM Cortex-M4 支持的指令集的二进制向上可兼容子集。

2、M3

内核面积、频率范围和功耗取决于工艺、库和优化。上面引用的数字是使用通用 TSMC 工艺技术和 ARM 物理 IP 标准单元库和 RAM 的合成核心的说明。面积数字包括 CM3Core、嵌套向量中断控制器 (NVIC) 和总线矩阵,但不包括可选组件(包括内存保护单元、嵌入式跟踪宏单元、断点单元、数据检测点单元和跟踪端口接口单元)。

速度优化的实现是指为了实现目标频率性能而做出的库选择、合成流决策和折衷。面积优化的实现是指为了实现目标面积密度而做出的库选择、合成流决策和折衷。

3、M4

内核面积、频率范围和功耗取决于工艺、库和优化。上面引用的数字是使用低功耗工艺技术和 ARM 物理 IP 标准单元库和 RAM 的合成内核的说明。面积数字包括中央内核(包括 DSP 扩展、嵌套矢量中断控制器 (NVIC) 和总线矩阵),但不包括可选组件(包括内存保护单元、嵌入式跟踪宏单元、断点单元、数据检测点单元和 TracePort Interface Unit。

速度优化的实现是指为了实现目标频率性能而做出的库选择、合成流决策和折衷。面积优化的实现是指为了实现目标面积密度而做出的库选择、合成流决策和折衷。

以下的一点为M4页面特有的介绍:

系统 IP

系统 IP 组件对于在芯片上构建复杂的系统至关重要,通过利用系统 IP 组件,开发人员可以显著缩短开发和验证周期,从而节省成本并缩短产品的上市时间。

注:以上内容摘自http://www.arm.com/

目前部分主流厂家的产品介绍:

德州仪器:

1、 ­LM3Sxxxx系列(M3)

2、 LM4Fxxxx系列(M4)

意法半导体:

1、  STM32 F0xx系列(M0  48MHZ)

2、 STM32 Lxxx系列(M3  32MHZ)

3、  STM32 F1xx系列(M3  72MHZ)

4、  STM32 F2xx系列(M3  120MHZ)

5、  STM32 F3xx系列(M3  120MHZ)??

6、  STM32 F4xx系列(M4  168MHZ)

NXP:

1、 LPC11xx  LPC12xx系列(M0)

2、 LPC13xx  LPC17xx LPC18xx 系列(M3)

3、 LPC43xx  系列(M4)

飞思卡尔:

1、  Kinetis L系列(M0+)

2、  Kinetis X系列、K系列(M4)

Atmel:

1、 SAM3S/U/N系列(M3)

2、 SAM4S系列(M4)

3、 SAM7xxxx系列(ARM7)

4、 SAM9xxxx系列(ARM9)

英飞凌:

1、 XCM4000系列(M4,是英飞凌第一次推出ARM架构的MCU)

富士通:

1、 FM3家族(M3)

SILICON LABS:

1、 SiM3C1xx(80MHZ)系列 (M3)

2、 SiM3U1xx(80MHZ  USB)系列(M3)

M0、M3、M4简单对比相关推荐

  1. 关注Cortex-M处理器,M0、M3、M4简单对比

    最近在关注Cortex-M处理器,针对目前进入大众视野的M0.M3.M4做了如下简单对比,内容来自ARM等官网,这里仅仅是整理了下,看起来更直观点,呵呵. Cortex-M 系列针对成本和功耗敏感的  ...

  2. 单片机差分升级算法(STM32,M0,M3,M4等芯片都适用)

    为方便技术交流探讨,特建一个QQ群:47954837   ,欢迎加入! 目前新开发出的RLE_X3差分还原算法,已经能够支持最小1K的内存空间,目前有MDK默认编译器的ARM系列的库,欢迎进群索取. ...

  3. ARM 架构、ARM7、ARM9、STM32、Cortex M3 M4 、51、AVR 有啥区别

    ARM架构.ARM7.ARM9.STM32.Cortex M3 M4.51.AVR之间有什么区别和联系? ARM架构:由英国ARM公司设计的一系列32位的RISC微处理器架构总称,现有ARMv1~AR ...

  4. ARM 架构 ARM7 ARM9 STM32 Cortex M3 M4 51 AVR 有啥区别

    ARM架构.ARM7.ARM9.STM32.Cortex M3 M4.51.AVR之间有什么区别和联系? ARM架构:由英国ARM公司设计的一系列32位的RISC微处理器架构总称,现有ARMv1~AR ...

  5. 主流WEB开发语言简单对比(转)

    主流WEB开发语言简单对比  原文链接:http://www.uml.org.cn/site/201401091.asp   随着时间的飞逝,随着岁月的流失.从世界上第一台计算机ENIAC诞生至今,已 ...

  6. sql和python的区别_数据处理简单对比:Excel,SQL,Python

    前言 无论是什么工具,做数据分析的时候一定会涉及到两类工作: 合并多个关联表 做数据透视表 这篇文章简单对比一下Excel.SQL和Python在这两类任务上的实现过程,从而对比其异同. 用到的数据表 ...

  7. 坐火车卧铺,到底是上、中、下哪个好?其实简单对比一下就知道了

    坐火车卧铺,到底是上铺好还是下铺好?其实简单对比一下就知道了 我们出行,长途旅行经济有实惠的方式,当然大部分人还是会选择火车这一种简单快捷的手段,而且可以根据自己的长短距离自行选择是座位票,还是躺票, ...

  8. 不同CPU的MATLAB性能表现的简单对比方法

    MATLAB性能表现 小结:程序不同,无法一概而论.可以分为两部分:1.多线程,2.浮点数.[好像说了一堆众所周知的废话] 参考网址 https://www.mathworks.com/support ...

  9. T-SQL - 习题02_将数据表year|month|amount查询成year|m1|m2|m3|m4的样式

    时间:2017-09-11 整理:byzqy 题目:有个年度统计表,结构如下: 怎么样把这个表,查询成这样一个结果: 这是在面试过程中遇到的一个关于数据库的题,没有一点思路,不知它考查到的知识点是什么 ...

最新文章

  1. linux配置文件、日志文件全备份
  2. 回答网友提问:如何自学 SAP 电商云,销售云,营销云这些产品的业务知识?
  3. postman响应html,Postman工具——请求与响应(示例代码)
  4. C语言:求圆的面积和周长
  5. 计算机显示器出现黑屏分析
  6. 安卓 4.3 no such colum
  7. 数字通信系统误码性能仿真分析
  8. 信息安全实训——神奇的木马
  9. umts是移动还是联通_WCDMA/GSM是什么意思 是电信移动还是联通
  10. ReiBoot(iOS系统修复工具)v6.9.5.0官方版
  11. 海量的超赞 Linux 软件
  12. 用 Mathematica 破解密码
  13. r语言使用linux命令,技术|如何在 Ubuntu 上安装和使用 R 语言
  14. FineReport表格软件-CSS动态切换年月日查询报表
  15. 漏洞解决方案-认证绕过
  16. 创造与魔法怎么自建服务器,创造与魔法开服卷怎么获得 创造与魔法怎么得开服券...
  17. Oracle同义词。。。
  18. 疫情期间在家办公信息安全指南
  19. 什么是PowerShell,一起来看看自动化的历史发展阶段
  20. 【归档】证明V的三个子空间的并是V的子空间,当且仅当其中一个子空间包含另外两个子空间

热门文章

  1. 关于通达OA精灵的一点心得
  2. Keil5新建STM32工程(二)
  3. .net core linux环境下导出到excel报The type initializer for ‘Gdip‘ threw an exception.异常
  4. mysql性能优化 洪斌_技术分享 | InnoDB Cluster 如何高效加载数据
  5. 二十一世家赚钱之门路-----小投资大生意
  6. 微信小程---倒计时
  7. 如何将n维数组按照其中某个key的值进行升维?
  8. 步进电机的名词概念解析
  9. 计算机中xp系统中qq文件,WinXP电脑QQ为什么登不上去?如何解决?
  10. 创建五星级评级的五种方法