1_ARM Cortex-M处理器简介

文章目录

  • ARM Cortex-M处理器简介
    • 什么是Cortex-M处理器
      • Cortex-M3和M4处理器
      • Cortex-M处理器家族
      • 处理器和微控制器区别
    • Cortex-M处理器的优势
      • 低功耗
      • 性能
      • 能耗效率
      • 代码密度
      • 中断
      • 易于使用
      • 可扩展性
      • 调试特性
      • OS支持
      • 多种系统特性
      • 软件可移植性和可重用性
      • 设备、工具、OS等
    • ARM处理器及微控制器资源介绍
      • ARM网站文档

ARM Cortex-M处理器简介

什么是Cortex-M处理器

Cortex-M3和M4处理器

Cortex-M3 和 Cortex-M4 处理器使用32位架构,寄存器组中内部寄存器,数据通路以及总线接口都是32位,使用的指令集架构(ISA)为Thumb ISA,基于Thumb-2技术并同时支持16位和32位指令。

Cortex-M3 和 Cortex-M4 处理器特点如下:

  • 三级流水线设计(取指、译码、执行)
  • 哈佛总线架构,具有统一的存储器空间:指令和地址总线使用相同的地址空间。
  • 32位寻址,支持4GB存储器空间。
  • 基于ARM AMBA(高级微控制器总线架构)技术的片上接口,支持高吞吐量的流水线总线操作。
  • 名为NVIC(嵌套向量中断控制器)的中断控制器,支持最多240个中断请求和8 ~ 256个中断优先级(取决于实际芯片设计)
  • 支持多种OS特性,如节拍定时器和影子栈指针等。
  • 休眠模式和多种低功耗特性。
  • 支持可选的 MPU(存储器保护单元),提供了可编程存储器或访问权限控制等存储器保护特性。
  • 可以选择使用单个或多个处理器。

Cortex-M3 和 Cortex-M4 处理器提供的指令如下:

  • 普通数据处理,包括硬件除法指令。
  • 存储器访问指令,支持8位,16位,32位和64位数据,以及其他可以传输多个32位数据的指令。
  • 位域处理指令。
  • 乘累加(MAC)以及饱和指令。
  • 用于跳转、条件跳转以及函数调用的指令。
  • 用于系统控制、支持OS等的指令。

另外Cortex-M4 处理器还支持:

  • 单指令多数据(SIMD)操作。
  • 其他快速MAC和乘法指令。
  • 饱和运算指令。
  • 可选的浮点指令(单精度)。

Cortex-M处理器家族

整个Cortex-M家族如下图所示:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-AYM0bf8o-1616487785042)(en-resource://database/2035:1)]

Cortex-M3 和 Cortex-M4 处理器基于 ARMv7-M架构,它们都具有高性能,且是位微控制器应用设计。M4还可以用于与执行一些数字信号处理程序。

Cortex-M0 和 Cortex-M0+ 以及 Cortex-M1基于ARMv6-M,它们指令集比较小。适合低成本微控制器产品。

Cortex-M1专门为FPGA应用设计。

处理器和微控制器区别

典型的微控制器设计中,处理器只占用芯片的一小块区域,其他部分则分为存储器、时钟生成(PLL)和分配逻辑、系统总线以及外设等,如下图所示:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7tgNAQu8-1616487785045)(en-resource://database/2037:1)]

Cortex-M处理器的优势

低功耗

与其他32位微控制器设计相比,Cortex-M处理器相对较小,处理器也进行了低功耗的优化,许多控制器功耗都小于 200uA/MHz,有的还低于100uA/MHz。另外处理器还支持休眠模式特性,可以和其他先进的超低功耗设计技术配合使用,因此可以用用于各种超低功耗的控制器产品中。

性能

Cortex-M3 和 Cortex-M4 处理器的性能可以达到 3 CoreMark/MHz1.25DMIPS/MHz,这样Cortex-M3 和 Cortex-M4 处理器就可以处理许多复杂的应用,或者使用更低的频率以降低功耗。

关于CoreMark :
CoreMark是由EEMBC(Embedded Microprocessor Benchmark Consortium)的Shay Gla-On于2009年提出的一项基准测试程序,其主要目标是测试处理器核心性能,CoreMark标准的测试方法很简单,就是在某配置参数组合下单位时间内跑了多少次CoreMark程序,其指标单位为CoreMark/MHz。CoreMark数字越高,意味着性能更高。

关于DMIPS(Dhrystone Million Instructions executed Per Second):
(Dhrystone Million Instructions executed Per Second)

能耗效率

结合前面低功耗和高性能的特点,Cortex-M3 和 Cortex-M4 处理器具有非常优秀的能耗效率,这意味着在有限的能量下,仍然可以进行大量的处理工作,可以提高可移动产品的电池寿命。

代码密度

Thumb ISA提供了良好的代码密度,这意味着完成同样的任务,所需的程序代码更少,因此可以选择具有较小flash的微控制器以降低成本和功耗。

中断

Cortex-M3 和 Cortex-M4 处理器具有可佩值得中断控制器设计,支持多大240个可嵌套向量中断和多个中断优先级,中断嵌套由硬件自动处理,具有零等待状态存储器的系统的中断等待仅为12个周期。因此适合实时控制应用。

易于使用

Cortex-M处理器具有简单、线性的存储器映射,因此几乎所有的代码都可以用C实现,包括中断处理。

可扩展性

由于处理器架构间的一致性,只需要使用一种工具链就可以很容易的重用软件。

调试特性

除了标准的调试特性,如多数微控制器都支持的但不和暂停调试,还可以生成捕获程序流、数据变动以及概况信息等的跟踪数据。对于多处理设计,每个Cortex-M处理器的调试系统可以连在一起,并共享调试链接。

OS支持

Cortex-M处理器在设计之初就考虑了OS应用,许多特性保持了OS的实现及高效运行。

多种系统特性

Cortex-M3 和 Cortex-M4 处理器支持多种系统特性,如 可位寻址存储器区域(位段特性)MPU(存储保护单元)等。

软件可移植性和可重用性

由于架构对C比较友好,几乎所有的代码都可以用标准的ANSI C进行变成。CMSIS(Cortex微控制器软件接口标准)是ARM提出的,它通过提供标准的头文件以及标准的Cortex-M处理器功能的API,使得基于Cortex-M处理器的编程更加简单。提高了软件的可重用性和代码的可移植性。

设备、工具、OS等

Cortex-M微控制器支持多种软件开发调试工具、嵌入式OS及中间件,可以灵活的进行选择。

ARM处理器及微控制器资源介绍

ARM网站文档

ARM网站文档部分链接(Infocenter):https://developer.arm.com/documentation

你可能感兴趣的:(ARM,Cortex-M3M4)