这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » ARM Cortex-M3处理器

共8条 1/1 1 跳转至

ARM Cortex-M3处理器

专家
2010-12-03 11:35:08     打赏

  ARM Cortex-M3处理器

  Cortex-M3处理器是一个低功耗的处理器,具有门数少, 中断延迟小, 调试容易等特点。它是为功耗和价格敏感的应用领域而专门设计的、具有较高性能的处理器,应用范围可从低端微控制器到复杂SoC。

  Cortex-M3处理器使用了ARM v7-M体系结构,是一个可综合的、高度可配置的处理器。它包含了一个高效的哈佛结构三级流水线,可提供1.25DMIPS/MHz的性能。在一个具有32个物理中断的标准处理器实现上(0.13um Metro @50MHz),达到了突出的0.06mW/MHz能效比。

  为降低器件成本,Cortex-M3处理器采用了与系统部件紧耦合的实现方法,来缩小芯片面积,其内核面积比现有的三级流水线内核缩小了30%。Cortex-M3处理器实现了Thumb-2指令集架构,具有很高的代码密度,可降低存储器需求,并能达到非常接近32位ARM指令集的性能。

  对于系统和软件开发,Cortex-M3处理器具有以下优势:

  。小的处理器内核、系统和存储器,可降低器件成本;

  。完整的电源管理,很低的功耗;

  。突出的处理器性能,可满足挑战性的应用需求;

  。快速的中断处理,满足高速、临界的控制应用;

  。可选的存储器保护单元(MPU),提供平台级的安全性;

  。增强的系统调试功能,可加快开发进程;

  。没有汇编代码要求,简化系统开发;

  。宽广的适用范围:从超低成本微控制器到高性能SoC。

  Cortex-M3处理器在高性能内核基础上,集成了多种系统外设,可以满足不同应用对成本和性能的要求。处理器是全部可综合、高度可定制的(包括物理中断、系统调试等),Cortex-M3还有一个可选的细粒度的(fine-granularity)存储器保护单元(MPU)和一个嵌入式跟踪宏单元(ETM)。

  1.2.1 处理器组件

  图 1 2 Cortex-M3部件图

 

  注意:ETM和MPU是可选组件,在某些实现中可能不存在

  Cortex-M3处理器主要包括:

  • 处理器内核

  • 与处理器核紧密结合的嵌套向量中断控制器(NVIC)以实现低延迟的中断处理

  • 存储器保护单元(MPU),可选部件MPU实现存储器保护。

  • 总线接口

  • 调试接口

  1.2.2 Cortex-M3的层次和实现选项

  处理器组件有两个层次,如图1-1所示,这是RTL设计层次。ETM、TPIU、SW/JTAG-DP和ROM表四个组件在Cortex-M3层的外部,因为这些组件要么是可选的,要么就是在实现和使用时可以灵活改变的。实际的实现可能与图1-2不一样,可能的实现选项:

  。TPIU

  TPIU是ITM、ETM(如果存在)和片外跟踪端口分析器之间传输Cortex-M3跟踪数据的桥梁。TPIU可以设置成支持低开销调试的串行引脚跟踪,或者用于更高带宽跟踪的多引脚跟踪。 TPIU是与CoreSight兼容的。

  TPIU的实现选项有:

  • 如果系统中有ETM组件,那么就有TPIU格式器,否则就没有。

  • 多个TPIU中的一个就可以跟踪多核的实现。

  • ARM TPIU部件可以被特定的CoreSight相应TPIU替代.

  • 在一个实际器件中,可能没有TPIU。

  注意

  如果没有TPIU,那么Contex-M3就没有跟踪能力。

  。SW/JTAG-DP

  处理器可以设置成有SW-DP 或者 JTAG-DP 调试端口,或者两者都有。调试端口提供对系统中所有的外设寄存器、存储器、处理器寄存器的调试访问。

  SW/JTAG-DP的实现选项有:

  • 在实现中可能只有SW-DP或JTAG-DP,也可能都有。

  • ARM SW-DP可能被合作方专用的配合CoreSight技术的SW-DP替代。

  • ARM JTAG-DP可能被特定的CoreSight技术的JTAG-DP替代。

  • 可能包含其他特定的测试接口,与SW-DP或JTAG-DP并联。

  。ROM表

  如果系统中加入额外的调试组件,ROM存储器表将进行修改。

  1.2.3 处理器内核

  处理器内核是ARMv7-M架构的。Cortex-M3内核是建立在一个高性能哈佛结构的三级流水线基础上的,可满足事件驱动的应用需求。通过广泛采用时钟选通等技术,改进了每个时钟周期的性能,包括单周期的32x32乘法和硬件除法,获得了优异的能效比。另外,通过一个基于堆栈的异常模式的实现,显著地缩小了内核的物理尺寸。Cortex-M3内核实现了Thumb-2指令集——传统Thumb指令集的一个超集,既获得了传统32位代码的性能,又具有16位的高代码密度。

  Cortex-M3内核具有如下特点:

  • ARMv7-M Thumb-2指令集架构(ISA)的子集,包括了所有16位和32位的Thumb-2基本指令,不包含SIMD、DSP和ARM系统访问。

  • 采用哈佛处理器结构,在取指的同时可以读取/存储数据。

  • 三级流水线。

  • 单周期32位乘法。

  • 硬件除法。

  • Thumb和Debug状态。

  • Handler和Thread模式。

  • 处理器状态自动保存与恢复,保证低延迟的ISR进入和退出。

  • 可打断-继续LDM/STM, PUSH/POP。

  • 支持ARMv6的BE8/LE(大小端)。

  • ARMv6不对齐访问。

  寄存器

  • 13个32位的通用寄存器。

  • 链接寄存器(LR)。

  • 程序计数器 (PC)。

  • 程序状态寄存器xPSR。

  • 2个分段堆栈指针寄存器。

  存储器接口

  处理器采用哈佛结构,在取指的同时可以读取/存储数据。访问存储器由以下部件控制:

  • 一个独立的加载和存储单元(LSU),把读写操作从算术逻辑单元(ALU)中独立出来。

  • 3个字长的入口预取单元。每次取一个字长的指令,可以是两条Thumb指令、一个字对齐的Thumb-2指令、或者一个半字对齐的Thumb-2指令的高/低半字、或者另一个半字对齐的Thumb-2指令的低/高半字。所有从内核取指的地址都是字对齐的。如果一条Thumb-2指令是半字对齐的,那么取这条指令就需要两次取指。然而,有了3个入口预取缓冲器就可以保证只有在取第一条半字的Thumb-2指令时,才需要一个周期的取指延迟。

  1.2.4 嵌套向量中断控制器(NVIC)

  Cortex-M3处理器紧密结合一个可配置的中断控制器(NVIC),提供了工业领先的中断处理性能。标准的NVIC实现包括一个不可屏蔽中断(NMI),加上具有优先级的32个通用物理中断。通过简单的综合选择,控制器可以被配置为1-244个物理中断。另外,抢占式优先级的数目,可以在综合时配置到255个。

  与处理器内核的紧密结合,使处理器可以更快地执行中断服务程序(ISR)。典型情况下,从中断发生到进入服务可减少70%的周期数,这是通过寄存器硬件堆栈,加上退出和重启多寄存器Load-Store操作完成的。这种实现也意味着不需要任何汇编代码来完成寄存器数据传送,大大简化了代码。

  NVIC采用尾链(Tail-Chaining)技术,简化了在激活与挂起的中断之间的数据传送。它用简单的6个周期的取指,取代了传统的串行堆栈通常需要超过30个时钟周期的Push-Pop操作。

  为了提高低功耗特性,NVIC设计了三种睡眠方式。其深度睡眠(Deep-Sleep)功能可以输出信号到其他系统模块,使整个器件快速关闭。

  NVIC为低延迟实现异常处理提供了方便。主要有以下特征:

  • 可配置1~240个外部中断。

  • 可配置优先级位数3~8位。

  • 支持电平和脉冲(边沿)中断。

  • 可以动态重新分配中断优先级。

  • 优先级分组。

  • 支持尾链(tail-chaining)中断。

  • 进入中断时,处理器状态自动保存,退出中断时状态自动恢复,无额外指令开销。

  1.2.5 总线矩阵

  ARM Cortex-M3处理器集成了一个AMBA AHB-Lite总线来连接系统外设,并降低系统集成的复杂性。总线矩阵支持不对齐的数据访问,使不同的数据类型可以在存储器中紧密衔接(不因为数据需要对齐而留出空隙),可显著降低SRAM的需求和系统成本。

  总线矩阵将处理器、调试接口连接到外部总线。总线矩阵连接到以下外部总线:

  • ICode总线。这是一条32位的AHB-Lite总线,主要用于从指令空间中取指和取向量。

  • DCode总线。这是一条32位的AHB-Lite总线,主要用于从指令空间的数据读写和调试访问。

  • 系统总线。这是一条32位的AHB-Lite总线,主要用于从系统空间中取指、取向量、读写数据和调试访问。

  • PPB。这是一条32位的APB (v2.0)总线,主要用于从PPB空间读写数据和调试访问。

  总线矩阵还控制:

  • 不对齐访问。总线矩阵把不对齐的处理器访问转化成对齐的访问。

  • 位绑定(bit banding)。 总线矩阵把位绑定的别名(alias)访问转换成位绑定的区域访问。完成如下操作:

  — 对位绑定的装载,提取位域 。

  — 对位绑定的存储,读-修改-写变成原子操作。

  • 写缓冲。总线矩阵有一个写缓冲器,使总线等待脱离处理器内核。

  1.2.6 集成调试

  ARM Cortex-M3实现了一个完整的硬件调试解决方案,通过一个传统的JTAG口或一个适合小封装器件的2线串行调试口(SWD),可以获得很高的处理器系统可视度。

  对于系统跟踪,处理器在数据观察点基础上集成了一个可选的ETM(嵌入式跟踪宏单元),它可以被配置为特定的系统事件触发。为了简化这些系统事件的处理,一个串行观测器(Serial Wire Viewer,SWV)可以通过一个引脚输出标准的ASCII数据流。

  Flash修补技术,使器件和系统开发者在调试或运行过程中,可以修补从ROM到SRAM或Flash的代码错误,可避免昂贵的重定制。

  Cortex-M3有关系统调试的几个组件:FPB、DWT和ITM。

  FPB

  FPB单元实现了硬件断点和从代码空间到系统空间的修正存取。FPB有八个比较器:

  • 6个指令比较器,可以各自被配置成实现把取指从指令空间重映射到系统空间,或者实现一个硬件断点。

  • 2个文字(literal)比较器。可以把文字存取从指令空间重映射到系统空间。

  DWT

  DWT单元含有以下的调试功能:

  • 它有四个比较器,每个都能设置成一个硬件观察点、一个ETM触发器、一个PC采样事件触发器,或者一个数据地址采样事件触发器。

  • 性能分析用的几个计数器或数据匹配事件触发器。

  • 可设置成在特定间隔发射一个PC采样值或中断事件信息。

  ITM

  ITM是一个应用驱动的跟踪源,它支持应用程序事件跟踪和printf风格的调试。

  ITM提供以下跟踪信息的来源:

  • 软件跟踪。 软件可以直接操作ITM有关寄存器,引发信息包发出。

  • 硬件跟踪。 信息包由DWT产生,然后由ITM发出。

  • 时间戳(time stamping)。与信息包相关的时间戳的发射。

  1.2.7 可选组件

  ARM Cortex-M3有二个可选组件:存储器保护单元(MPU)、嵌入式跟踪宏单元(ETM)。

  细粒度的MPU设计,使多任务的应用可以实现安全特权,以及分离代码、数据和堆栈。在类似汽车等许多嵌入式应用中,这类需求正变得越来越普遍。

  嵌入式跟踪单元(ETM)提供了一种远小于传统跟踪单元范围的指令跟踪捕获,使许多低价器件(如MCU)可以实现跟踪调试。

  1.2.8 Cortex-M3处理器应用

  Cortex-M3处理器的特性,使它适合很大范围的应用,主要包括:

  价格敏感的设备——通用MCU、智能玩具、个人电子设备

  。小的核可以降低硅片面积

  。紧密结合系统外设可缩小面积、降低开发成本

  。Thumb-2代码可减小指令存储器达30%

  。SWD允许使用较小的引脚数和封装

  。在ISR、Boot代码中无需汇编代码

  。单周期的Read/Modify/Write,更紧凑的数据打包

  。确定的中断处理

  。系统更新时的修补能力(ROM到Flash、SRAM)

  低功耗设备——Zigbee、PAN(BlueTooth)、医疗电子设备

  。低功耗内核:0.047mW/MHz(0.13um,ARM Metro Lab,50MHz)

  。高级时钟选通技术降低功耗

  。集成的睡眠模式

  。系统部件的功耗控制

  。高效率允许较低的时钟源

  。快速完成任务、增加睡眠时间,降低总的功耗

  高性能设备——超低价格手机、汽车应用、大容量存储设备;

  。性能可达1.25 DMIPS/MHz

  。执行Thumb指令时,比ARM7处理器性能高70%

  。执行ARM指令时,比ARM7处理器性能高35%

  。硬件除法——更好的算法实现

  。快速中断处理

  。可选的MPU针对特定应用

  。调试与跟踪能力




关键词: Cortex-M3     处理器     一个     中断     调试     应用    

菜鸟
2011-07-15 14:09:19     打赏
2楼

正在学习


菜鸟
2011-08-26 10:26:53     打赏
3楼
great  研究一下

菜鸟
2011-09-08 12:48:17     打赏
4楼
挺好,看看.复习一遍

菜鸟
2011-10-23 13:53:39     打赏
5楼
看看 好给力

菜鸟
2011-12-01 11:57:06     打赏
6楼

正在努力学习cortex系列的ARM芯片


工程师
2011-12-08 11:33:18     打赏
7楼
这个其实还是比较简单的!

菜鸟
2011-12-08 13:33:47     打赏
8楼
挺好,看看.复习一遍

共8条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]