Login

Cortex-M4 处理器

Cortex-M4 处理器 Image (View Larger Cortex-M4 处理器 Image)
ARM® Cortex®-M4 处理器是由 ARM 专门开发的最新嵌入式处理器,用以满足需要有效且易于使用的控制和信号处理功能混合的数字信号控制市场。

高效的信号处理功能与 Cortex-M 处理器系列的低功耗、低成本和易于使用的优点的组合,旨在满足专门面向电动机控制、汽车、电源管理、嵌入式音频和工业自动化市场的新兴类别的灵活解决方案。

 


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

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

    

 

易于使用的技术

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

 

 


ARM Cortex-M4 规范

ARM Cortex-M4 功能
ISA 支持 Thumb® / Thumb-2
DSP 扩展 单周期 16、32 位 MAC
单周期双 16 位 MAC
8、16 位 SIMD 运算
硬件除法(2-12 个周期)
浮点单元 单精度浮点单元
符合 IEEE 754
流水线 3 级 + 分支预测
性能效率 3.40 CoreMark/MHz* - 1.25 至 1.52 DMIPS/MHz**
内存保护 带有子区域和后台区域的可选 8 区域 MPU
中断 不可屏蔽的中断 (NMI) + 1 到 240 个物理中断
中断优先级 8 到 256 个优先级
唤醒中断控制器 最多 240 个唤醒中断
睡眠模式 集成的 WFI 和 WFE 指令和“退出时睡眠”功能。
睡眠和深度睡眠信号。
随 ARM 电源管理工具包提供的可选 Retention 模式
位操作 集成的指令和位段
调试 可选 JTAG 和Serial-Wire 调试端口。最多 8 个断点和 4 个检测点。
Trace 可选指令Trace (ETM)、数据 Trace (DWT) 和测量 Trace (ITM)

* 请参见:http://www.eembc.org/benchmark/reports/benchreport.php?benchmark_seq=1448&suite=CORE

** 较低的结果是在关闭内联的情况下获得的(按照 dhrystone 的建议),较高的结果是在打开内联的情况下获得的(和其他处理器架构类似)。Dhrystone v2.1。

ARM Cortex-M4 实现数据***
180ULL
7 轨,通常为 1.8v,25C)
90LP
7 轨,通常为 1.2v,25C)
40G
9 轨,通常为 0.9v,25C)
动态功耗 157 µW/MHz 33 µW/MHz 8 µW/MHz
Floorplan 面积 0.56 mm2 0.17 mm2 0.04 mm2

*** 基本可用配置包括 DSP 扩展、1 IRQ + NMI,不包括 ETM、MPU、FPU 和调试


ARM Cortex-M 技术

每个 Cortex-M 系列处理器都有其特定的优点,通过一些基本技术,使得 Cortex-M 处理器适用于广泛的嵌入式应用领域。


RISC 处理器内核 Thumb-2® 技术
  • 高性能 32 位 CPU
  • 具有确定性的运算
  • 紧凑而低延迟的管道
  • 16/32 位指令的最佳混合
  • 代码大小比 8 位设备小 30%
  • 对性能没有负面影响

工具和 RTOS 支持 CoreSight 调试和跟踪

低功耗模式 嵌套矢量中断控制器 (NVIC)
  • 集成的睡眠状态支持
  • 多电源域
  • 基于架构的软件控制
  • 低延迟、低抖动中断响应
  • 不需要汇编编程
  • 以纯 C 语言编写的中断服务例程

CMSIS

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

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

NVIC 是所有 Cortex-M 处理器不可或缺的组成部分,它为处理器提供了卓越的中断处理能力。在 Cortex-M0、Cortex-M0+ 和 Cortex-M1 处理器中,NVIC 支持多达 32 个中断 (IRQ)、一个不可屏蔽中断 (NMI) 和各种系统异常。Cortex-M3 和 Cortex-M4 处理器扩展了 VIC,使其支持多达 240 个 IRQ、一个 NMI 和更多系统异常。

大多数 NVIC 设置是可编程的。配置寄存器是内存映射的一部分,可以作为 C 指针进行访问。CMSIS 库还提供了各种辅助函数,使中断控制变得更简单。
在 NVIC 内部,每一个中断源都分配有一个中断优先级。一些类似于 NMI 的系统异常均拥有固定的优先级,而其他系统异常则拥有可编程的优先级。通过向每一个中断分配不同的优先级,NVIC 可自动支持嵌套中断,而无需任何软件干预。

该体系结构为每一个可编程的中断或异常提供 8 位优先级设置。为了减少门数,这些寄存器中只有一部分得以实现。Cortex-M0、Cortex-M0+ 和 Cortex-M1 处理器(ARMv6-M 体系结构)提供了 4 个可编程的优先级。Cortex-M3 和 Cortex-M4 处理器(ARMv7-M 体系结构)的设计允许 8 到 256 个优先级。

为了使 Cortex-M 处理器更简单易用,Cortex-M 处理器使用一个基于堆栈的异常模型。一旦出现异常,系统就会将许多寄存器推送到堆栈上。当异常处理程序完成时,这些寄存器将恢复为其原始值。这使得异常处理程序能以普通的 C 函数形式编写,还能减少中断处理过程中隐藏的软件开销。

此外,Cortex-M 处理器使用一个向量表来包含要为每一个特定中断处理程序执行的函数的地址。接受中断时,处理器会从该矢量表中提取地址。这也将避免软件开销,减少中断延迟。

Cortex-M 处理器的实现中还应用了各种优化技术,使得中断处理更高效,系统响应速度更快:

尾链 - 如果在 ISR 退出时有另一个异常挂起,处理器不会从堆栈中恢复所有已保存的寄存器,相反,它会前进到下一个 ISR。这可以减少从一个异常处理程序切换到另一个时的延迟。

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

迟到 - 如果在优先级较低的中断推入堆栈的过程中出现优先级较高的中断,处理器会提取新的矢量地址,并先处理优先级较高的中断。

通过这些优化,随着中断负载的增加,中断开销会减少,从而使嵌入式系统能实现较高的中断处理吞吐量。


系统 IP

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

说明 AMBA 总线 系统 IP 组件
AMBA Design Kit (ADK) AHB ADK
AMBA DMA 控制器 AHB DMA 控制器


物理 IP
ARM® 物理 IP 平台提供工艺优化的 IP,以进行 Cortex-M4 处理器的同类最佳实现。
标准单元逻辑库 ARM 标准单元库在多种不同的架构中可用,支持一个适用于所有设计类型的、十分广泛的性能范围。设计人员可以选择不同的库,并针对速度、功耗和/或面积优化其设计
内存编译器和寄存器 丰富的经过芯片验证的 SRAMRegister FileROM 内存编译器,适用于从关键性能应用到成本敏感型和低功耗应用的各种设计
接口库 为符合不断变化的系统架构和标准而设计的一系列硅验证接口 IP。通用 I/O专用 I/O、高速 DDR串行接口已经过优化,可通过较少的引脚数提供较高的数据吞吐量性能。

工具支持

所有 ARM 处理器均受 ARM Development Studio 5 (DS-5™ ) 工具套件以及各种第三方工具、操作系统和 EDA 供应商的支持。ARM DS-5 软件开发工具独一无二,能够提供的解决方案充分利用完整 ARM 技术组合的优势。

微控制器开发工具详细信息可从 Keil 网站获得。


本部分介绍有关 ARM Cortex-M 处理器和相关技术的有用文档、白皮书和教程。

有关包括开发工具、软件、板卡和设备数据库、CMSISmBed 在内的详细信息,请访问 ARM 嵌入式微型站点

书目

ARM Cortex-M0 权威指南
编程和实现全新 ARM Cortex-M0 处理器的综合性指南
ARM Cortex-M3 权威指南
编程和实现全新 ARM Cortex-M3 处理器的综合性指南

ARM 权威指南
Cortex-M0(韩语)

编程和实现
全新
ARM Cortex-M0 处理器的
综合性指南

 

适用于 Cortex-M 设备用户的文档

适用于 Cortex-M 设备用户的软件开发工具

查找基于 Cortex-M 的微控制器

大学

相关用户指南和应用说明

Cortex-M0/3/4 设备通用用户指南

指令计时信息

架构(需要注册)

ARM 应用程序说明

Keil 应用程序说明

用于访问处理器 IP 的 DesignStart





Maximise


Cookies

We use cookies to give you the best experience on our website. By continuing to use our site you consent to our cookies.

Change Settings

Find out more about the cookies we set