ARM Cortex -M3内核

1. Cortex-M3内核介绍

Cortex-M3处理器提供了一个高性能、低成本的平台,满足系统对最小化内存现、减少引脚计数和低功耗的要求。包括以下特点:

  • 32位的Cortex-M3体系结构为占用空间小的嵌入式应用程序进行了优化;
  • 出色的处理性能与快速中断处理相结合;
  • ARM Thumb-2结合了16位和32位指令,与8位、16位小内存设备提供32位ARM高性能核心预期,对于微控制器类的应用程序,通常在几千字节的内存范围内;
  • 快速的代码执行允许更慢的处理器时钟或增加睡眠模式时间;
  • 哈佛体系结构:指令和数据的独立总线;
  • 高效的处理器核心、系统和内存;
  • 面向乘法累加的硬件除法和快速数字信号处理;
  • 信号处理的饱和算法;
  • 对于时间敏感的应用程序,提供确定性的、高性能的中断处理;
  • 增强的系统调试功能,具有广泛的断点和跟踪功能;
  • 充分调试与数据匹配的观察点生成;
  • 从ARM7处理器家族迁移,以获得更好的性能和能效;
  • 标准跟踪支持;
  • 优化的单周期闪存使用;
  • 超低功耗,集成睡眠模式;
  • 高达48MHZ运行速度;

2. 内部框图

Cortex-M3处理器基于3段流水线哈佛架构的高性能核心,因此,它是要求很高的嵌入式应用程序的理想选择。处理器通过高效的指令集和广泛优化的设计提供了卓越的功率效率。该指令集包括单周期和SIMD乘法和累加乘法能力,饱和算法和专用硬件除法的范围。
为了便于成本敏感设备的设计,Cortex-M3处理器实现了紧密耦合的系统组件,减少了处理器面积,同时显著提高了中断处理和系统调试能力。Cortex-M3处理器实现了基于Thumb-2技术的Thumb指令集版本;从而确保了较高的代码密度和减少了程序内存需求。Cortex-M3指令集提供了现代计算机所期望的32位体系结构,高代码密度的8位和16位微控制器。
Cortex-M3处理器紧密集成了一个嵌套的矢量中断控制器(NVIC),以提供中断服务程序(ISRs)的快速执行,从而显著减少中断延迟。寄存器的硬件堆叠以及挂起load-multiple和store-multiple操作的能力进一步降低了中断延迟。中断处理程序不需要任何汇编程序存根,因此从ISRs中删除了代码开销。尾链优化也显著降低了从一个ISR切换到另一个ISR时的开销。为了优化低功耗设计,NVIC集成了睡眠模式,包括深度睡眠模式,使整个设备能够快速断电。

ARM Cortex -M3内核

4. 程序设计模型

4.1 软件执行的处理器模式和特权级别
Cortex-M3处理器有两种操作模式:

  • 线程模式执行应用软件。处理器退出重置后进入线程模式
  • 处理模式处理异常。当处理器完成异常处理时,它返回到线程模式。

此外,Cortex-M3处理器有两个特权级别,非特权级和特权级。

  • 在非特权模式下,软件有以下限制:
    限制使用MSR和MRS指令,没有使用CPS指令
    没有权限访问系统定时器,NVIC或SCB
  • 在特权模式下,软件可以使用所有指令,并可以访问处理器中的所有资源

在线程模式下,CONTROL寄存器控制软件执行是特权执行还是非特权执行。在处理程序模式下,软件执行总是享有特权。只有特权模式的软件才能写CONTROL寄存器来改变在线程模式下执行软件的特权级别。非特权软件可以使用SVC指令产生监管请求,将控制权转移给特权软件。
4.2 堆栈
Cortex-M3处理器使用一个完整的降序堆栈,这意味着堆栈指针指示内存上最后一个地址。当处理器将一个新项压入堆栈时,它将堆栈指针减1,然后将该项写入新的内存位置。处理器有两个堆栈,主堆栈和进程堆栈,每个都有一个指针保存在独立的寄存器中。
在线程模式下,控制寄存器控制处理器是使用主堆栈还是进程堆栈。在处理程序模式下,处理器总是使用主堆栈。

来源:无眉倒长

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年1月21日
下一篇 2021年1月21日

相关推荐