网站导航: 首页 > 设计参考 > 正文 文章搜索
ARM Cortex-M3处理器简介
 
文章编号:
100808134115
文章分类: 单片机 STM8/STM32
点 击:
...
关 键 词: Cortex-M3,入门
文章来源:
http://www.eefocus.com
摘 要:
Cortex-M3处理器是一个低功耗的处理器,具有门数少, 中断延迟小, 调试容易等特点。它是为功耗和价格敏感的应用领域而专门设计的、具有较高性能的处理器,应用范围可从低端微控制器到复杂SoC...

1.2 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指令时,才需要一个周期的取指延迟。

 
相关文章:

12 下一页
 
最新开源项目
 
 
  查看更多...  
 
本站相关产品   淘宝网店
 




 
  查看更多...  

 

本站程序由百合电子工作室开发和维护
Copyright @ baihe electric studio
渝ICP备09006681号-4