基于ARM嵌入式处理器的片上系统解决方案可应用于企业应用、汽车系统、家庭网络和无线技术等市场领域。ARM Cortex系列提供了一个标准的体系结构来满足以上各种技术的不同性能要求,其包含的处理器基于ARMv7架构的三个分工明确的部分。A部分面向复杂的尖端应用程序,用于运行开放式的复杂操作系统;R部分针对实时系统;M部分为成本控制和微控制器应用提供优化。
Cortex-M3是ARM公司于2004年底推出的首款基于ARMv7-M架构的处理器,它集紧凑封装、降低功耗、简化开发于一体,是专门为了在微控制器、汽车车身系统、工业控制系统和无线网络等对功耗和成本敏感的嵌入式应用领域实现高系统性能而设计的。
In-Stat首席分析师Max Baron表示,最近几年,32位微控制器工业发展神速,2005年收入比以前提高一倍,市场价值达到38亿美元。在未来五年内,该市场出货量将比2005年提高一倍,收入将超过61亿美元,Cortex-M3处理器为深嵌入式应用市场提供了一款集多个优点于一身的产品。
2006年10月在加州圣克拉拉举行的ARM开发商大会上,意法半导体宣布将在其下一代32位微控制器系列产品内集成ARM Cortex-M3处理器,以加快市场从高端的8位、16位微控制器升级到32位解决方案,为市场提供能够简化开发过程、大幅度节省成本和电能的高性能微控制器。
如果按ARM公司原来的ARM7、ARM9、ARM11等方式来命名,这款芯片的名称应该为ARM12, 但是ARM已经决定继续使用Cortex系列来命名,将来还会推出针对特定应用的Cortex系列产品。本文介绍Cortex-M3的特点、结构及应用领域。
一、Cortex-M3处理器的特点
1、通过提高效率来提高性能
处理器可通过两种途径来提高它的性能,一是“work hard”,也就是直接通过提高时钟频率来提高性能,这种情况以高功耗作为代价,并增加了设计的复杂性。另一种是“work smart”,在低时钟频率的情况下提高运算效率,使处理器可以凭借简单的低功耗设计来完成与情况1中同样的功能。Cortex-M3处理器的核心是基于哈佛架构的3级流水线内核,该内核集成了分支预测,单周期乘法,硬件除法等众多功能强大的特性,使其在Dhrystone benchmark上具有出色的表现(1.25 DMIPS/MHz)。根据Dhrystone benchmark的测评结果,采用新的Thumb-2指令集架构的Cortex-M3处理器,与执行Thumb指令的ARM7TDMI-S处理器相比,每兆赫的效率提高了70%,与执行ARM指令的ARM7TDMI-S处理器相比,效率提高了35%。
2、快速有效的应用程序开发源于简易的使用方法
缩短上市时间与降低开发成本是选择微控制器的关键标准,而快速和简易的软件开发能力是实现这些要求的关键。Cortex-M3处理器专门针对快速和简单的编程而设计,用户无需深厚的架构知识或编写任何汇编代码就可以建立简单的应用程序。Cortex-M3处理器带有一个简化的基于栈的编程模型,该模型与传统的ARM架构兼容,同时与传统的8位、16位架构所使用的系统相似,它简化了8位、16位到32位的转换过程。此外,使用基于硬件的中断机制意味着编写中断服务程序(handlers)不再重要。在不需要汇编代码寄存器操作的情况下,启动代码得到了大大的简化。
在位字段处理、硬件除法和If/Then指令的协助下,Thumb-2指令集架构(Instruction Set Architecture-ISA)底层的关键特性使C 代码的执行变得更加自然。在开发方面,Thumb-2指令自动优化了性能和代码密度,在无需交互使用ARM代码和Thumb代码的情况下加快了开发的进程,简化了编译目标的长期维护和支持工作。如此一来,用户不但可以继续使用C代码,而且还免去了建立预编译目标代码库的麻烦,代码在更大程度上获得了重复利用。
3、针对敏感市场降低成本和功耗
成本是采用高性能微控制器永恒的屏障。由于先进的制造工艺相当昂贵,只有降低芯片的尺寸才有可能从本质上降低成本。为了减小系统区域,Cortex-M3处理器采用了至今为止最小的ARM内核,该内核的核心部分(0.18um G)的门数仅为33000个,它把紧密相连的系统部件有效地结合在一起。通过采用非对齐数据存储技术、原子位操作和Thumb-2指令集,存储容量的需求得到最小化,其中Thumb-2指令集对指令存储容量的要求比ARM指令减少超过25%。
为了迎合对节能要求日益增长的大型家电和无线网络市场,Cortex-M3处理器支持扩展时钟门控和内置睡眠模式。当采用ARM Metro标准单元库和TSMC 0.13G制造工艺时,处理器运行在50MHz的目标频率下的功耗仅为4.5mW,芯片封装面积只有0.33mm2。
4、集成的调试和跟踪功能
嵌入式系统通常不具备图形用户界面,软件调试也因此成了程序员的一大难题。传统上,在线仿真器(ICE)单元作为插件使用,通过大家熟悉的PC界面向系统提供窗口。然而,随着系统体积的变小及其复杂性的增加,物理附加类似的调试单元已经再难成为可行的方案。Cortex-M3 处理器通过其集成部件在硬件的本身实现了各种调试技术,使调试在具备跟踪和分析、断点、观察点和代码修补功能的同时,速度也获得了有效的提高,促使产品可以更快地投入市场。此外,处理器还通过一个传统的JTAG端口或一个适用于低管脚数封装(LPC封装)器件的2管脚串行线调试(Serial Wire Debug-SWD)端口赋予系统高度的可视性。
5、从ARM7升级为Cortex-M3可获取更佳的性能和功效
在过去十年中,ARM7系列处理器被广泛应用于众多领域。之后,Cortex-M3在ARM7的基础上开发成功,为基于ARM7处理器系统的升级开辟了通道。它的中心内核效率更高,编程模型更简单,它具有出色的确定中断行为,其集成外设以低成本提供了更强大的性能。
二、Cortex-M3处理器结构
基于ARMv7架构的Cortex-M3处理器带有一个分级结构。它集成了名为CM3Core的中心处理器内核和先进的系统外设,实现了内置的中断控制、存储器保护以及系统的调试和跟踪功能。这些外设可进行高度配置,允许Cortex-M3处理器处理大范围的应用并更贴近系统的需求。目前Cortex-M3内核和集成部件(图3)已进行了专门的设计,用于实现最小存储容量、减少管脚数目和降低功耗。
阅读全文,请访问广州周立功单片机发展有限公司网站http://www.zlgmcu.com/download/downs.asp?ID=1863。