随着嵌入式技术应用领域的不断扩展,对嵌入式系统的要求越来越高,而作为嵌入式系统核心的微处理器也面临日益严竣的挑战。ARM公司从成立以来,一直以知识产权(IP,Intelligence Property)提供者的身份出售知识产权,在32位RISC CPU开发领域中不断取得突破,其设计的微处理器结构已经从v3发展到现在的v7。
引 言
Cortex系列处理器是基于ARMv7架构的,分为Cortex-M、Cortex-R和Cortex-A三类。ARM系列微处理器的核心及体系结构如表1所列。
1 ARM Cortex处理器技术特点
ARMv7架构是在ARMv6架构的基础上诞生的。该架构采用了Thumb-2技术,它是在ARM的Thumb代码压缩技术的基础上发展起来的,并且保持了对现存ARM解决方案的完整的代码兼容性。Thumb-2技术比纯32位代码少使用31%的内存,减小了系统开销。
同时能够提供比已有的基于Thumb技术的解决方案高出38%的性能。ARMv7架构还采用了NEON技术,将DSP和媒体处理能力提高了近4倍,并支持改良的浮点运算,满足下一代3D图形、游戏物理应用以及传统嵌入式控制应用的需求。此外,ARMv7还支持改良的运行环境,以迎合不断增加的JIT(Just In Time)和DAC(DynamicAdaptive Compilation)技术的使用。
在与早期的ARM处理器软件兼容性方面,ARMv7架构在设计时充分考虑到了。ARM Cortex-M系列支持Thumb-2指令集(Thumb指令集的扩展集),可以执行所有已存的为早期处理器编写的代码。通过一个前向的转换方式,为ARM Cortex-M系列处理器所写的用户代码可以与ARM Cortex-R系列微处理器完全兼容。
ARMCortex-M系列系统代码(如实时操作系统)可以很容易地移植到基于ARM Cortex-R系列的系统上。ARMCortex-A和Cortex-R系列处理器还支持ARM 32位指令集,向后完全兼容早期的ARM处理器,包括从1995年发布的ARM7TDMI处理器到2002年发布的ARMll处理器系列。图1为v5~v7架构的处理器技术比较。由于应用领域的不同,基于v7架构的Cortex处理器系列所采用的技术也不相同。
在命名方式上,基于ARMv7架构的ARM处理器已经不再延用过去的数字命名方式,而是冠以Cortex的代号。基于v7A的称为"Cortex-A系列",基于v7R的称为"Cortex-R系列",基于v7M的称为"Cortex-M3"。
2 ARM Cortex-M3处理器技术特点
ARM Cortex-M3处理器是为存储器和处理器的尺寸对产品成本影响极大的各种应用专门开发设计的,其结构如图2所示。它整合了多种技术,减少使用内存,并在极小的RISC内核上提供低功耗和高性能,可实现由以往的代码向32位微控制器的快速移植。ARM Cortex-M3处理器是使用最少门数的ARM CPU,相对于过去的设计大大减小了芯片面积,可减小装置的体积或采用更低成本的工艺进行生产,仅33 000门的内核性能可达1.2DMIPS/MHz。此外,基本系统外设还具备高度集成化特点,集成了许多紧耦合系统外设,合理利用了芯片空间,使系统满足下一代产品的控制需求。
ARM Cortex-M3处理器结合了执行Thumb-2指令的32位哈佛微体系结构和系统外设,包括Nested Vec-tored Interrupt Controller和Arbiter总线。该技术方案在测试和实例应用中表现出较高的性能:在台机电180 nm工艺下,芯片性能达1.2 DMIPS/MHz,时钟频率高达100 MHz。Cortex-M3处理器还实现了Tail-Chaining中断技术。该技术是一项完全基于硬件的中断处理技术,最多可减少12个时钟周期数,在实际应用中可减少70%中断;推出了新的单线调试技术,避免使用多引脚进行JTAG调试,并全面支持RealView编译器和RealView调试产品。RealView工具向设计者提供模拟、创建虚拟模型、编译软件、调试、验证和测试基于ARMv7架构的系统等功能。
为微控制器应用而开发的Cortex-M3拥有以下性能:
实现单周期Flash应用最优化;
准确快速地中断处理,永不超过12周期,仅6周期tail-chaining(末尾连锁);
有低功耗时钟门控(Clock Cating)的3种睡眠模式;
单周期乘法和乘法累加指令;
ARM Thumb-2混合的16/32位同有指令集,无模式转换;
包括数据观察点和Flash补丁在内的高级调试功能;
原子位操作,在一个单一指令中读取/修改/编写;
1.25 DMIPS/MHz(与O.9DMIPS/MHz的ARM7和1.1 DMIPS/MHz的ARM9相比)。
3 ARM Cortex-R处理器技术特点
ARM Cortex-R系列处理器目前包括ARM Cortex-R4和ARM Cortex-R4F两个型号,主要适用于实时系统的嵌入式处理器。
3.1 ARM Cortex-R4处理器技术特点
Cortex-R4处理器结构如图3所示。该处理器支持手机、硬盘、打印机及汽车电子设计,能协助新一代嵌入式产品快速执行各种复杂的控制算法与实时工作的运算;可通过内存保护单元(MPU,Memory Protection Unit)、高速缓存以及紧密耦合内存(TCM,Tightly Coupled Memory)让处理器针对各种不同的嵌入式应用进行最佳化调整,且不影响基本的ARM指令集兼容性。这种设计能够在延用原有程序代码的情况下,降低系统的成本与复杂度,同时其紧密耦合内存功能也能提供更小的规格及更高效率的整合,并带来快速的响应时间。
Cortex-R4处理器采用ARMv7体系结构,让它能与现有的程序维持完全的回溯兼容性,能支持现今建立在全球各地数十亿的系统;并已针对Thumb-2指令进行最佳化设计。此项特性带来很多的利益,其中包括:更低的时钟速度所带来的省电效益;更高的性能将各种多功能特色带人移动电话与汽车产品的设计;更复杂的算法支持更高性能的数码影像与内建硬盘的系统。运用Thumb-2指令集,加上RealView开发套件,使芯片内部存储器的容量最多得以降低30%,大幅降低系统成本,其速度比在ARM946E-S处理器所使用的Thumb指令集高出40%。由于存储器在芯片中的占用空间愈来愈多,因此这项设计将大幅节省芯片容量,让芯片制造商运用这款处理器开发各种SoC(System on a Chip)器件。
相比于前几代的处理器,Cortex-R4处理器高效率的设计方案,使其能以更低的时钟达到更高的性能;经过最佳化设计的Artisan Metro内存,则进一步降低嵌入式系统的体积与成本。处理器搭载一个先进的微架构,具备双指令发送功能,采用90 nm工艺并搭配Artisan Advantage程序库的组件,底面积不到1 mm2,耗电量低于0.27mW/MHz,并能提供超过600 DMIPS的性能。
Cortex-R4处理器在各种安全应用上加入容错功能和内存保护机制,支持最新版OSEK实时操作系统;支持RealView Develop系列软件开发工具、RealView Create系列ESL工具与模块,以及Core Sight除错与追踪技术,协助设计者迅速开发各种嵌入式系统。
3.2 ARM Cortex-R4F处理器技术特点
Cortex-R4F处理器结构如图4所示。该处理器拥有针对汽车市场而开发的各项先进功能,包括自动除错功能、可相互连结的错误侦测机制,以及可选择优化的浮点运算单元(FPU,Floating-Point Unit)。ECC技术能监控内存存取作业,侦测并校正各种错误。当发生内存错误时,ECC逻辑除通报错误并停止系统运作外,还会加以校正。
它还拥有Cortex-R4系列的各项先进功能,能够透过高效能内存保护单元、高速缓存,以及紧密耦合内存,使处理器能针对各种不同的应用进行最佳化调整;同时将传统处理器中的错误侦测功能延伸至整个SoC中,系统会不断地扫描先前侦错的资料,以提升系统的可靠度。基于对安全性能的重视,Cortex-R4F处理器特别搭载了高分辨率内存保护机制,能严密控制独立的软件作业。
Cortex-R4F处理器中执行浮点运算的FPU,提供胜过固定小数点操作数的动态范围及精准度。该FPU与ARM其他处理器核心之间的FPU均维持回溯兼容性,并针对各种汽车应用常见的单精度处理作业进行优化。使用单倍精度格式,而非双倍精度的数值资料,不仅能将数据处理速度提升至2倍,更能维持必要的精度以提高SoC设计的效率。
Cortex-R4F处理器采用一套具备双指令发送功能的先进微架构,透过ARM Artisan Advantage程序库中针对90 nm工艺的优化,达到超过800 DMIPS的性能水准。Level 1内存松散的时序设计,使组件能使用高密度、低功耗的RAM,使在总成本中占有高比重的内存,能像处理器逻辑一样拥有节省空间的优势。在90 nm工艺下,占用空间不到1 mm2,且耗电量不到0.27 mW/MHz,有效地协助系统开发者降低成本与功耗。
该处理器采用ARMv7ISA架构,能与已被全球数十亿台系统所采用的ARM程序代码维持回溯兼容性,并针对Thumb-2指令集进行最优化设计。运用Thumb-2指令,搭配ARM RealView开发套件,使芯片内部存储器的容量最大能缩减30%,大幅降低系统成本。此外,相较于内建在ARM946E-S处理器的旧版Thumb指令集,新技术能够提高40%的工作效能。
4 ARM Cortex-A8处理器技术特点
ARM Cortex-A8处理器是一款适用于复杂操作系统及用户应用的应用处理器,其结构如图5所示。支持智能能源管理(IEM,Intelligent Energy Manger)技术的ARM Artisan库以及先进的泄漏控制技术,使得Cortex-A8处理器实现了非凡的速度和功耗效率。在65 nm上艺下,ARM cortex-A8处理器的功耗不到300 mW,能够提供高性能和低功耗。它第一次为低费用、高容量的产品带来了台式机级别的性能。
ortex-A8处理器是第一款基于下一代ARMv7架构的应用处理器,使用了能够带来更高性能、更低功耗和更高代码密度的Thumb-2技术。它首次采用了强大的NEON信号处理扩展集,为H.264和MP3等媒体编解码提供加速。
Cortex-A8的解决方案还包括Jazelle-RCTJava加速技术,对实时(JIT)和动态调整编译(DAC)提供最优化,同时减少内存占用空间高达3倍。该处理器配置了先进的超标量体系结构流水线,能够同时执行多条指令,并且提供超过2.0 DMIPS/MHz的性能。处理器集成了一个可调尺寸的二级高速缓冲存储器,能够同高速的16 KB或者32 KB一级高速缓冲存储器一起工作,从而达到最快的读取速度和最大的吞吐量。新处理器还配置了用于安全交易和数字版权管理的Trust Zone技术,以及实现低功耗管理的IEM功能。
Cortex-A8处理器使用了先进的分支预测技术,并且具有专用的NEON整型和浮点型流水线进行媒体和信号处理。在使用小于4 mm2的硅片及低功耗的65 nm工艺的情况下,Cortex-A8处理器的运行频率将高于600MHz(不包括NEON追踪技术和二级高速缓冲存储器)。在高性能的90 nm和65 nm工艺下,Cortex-A8处理器运行频率最高可达1 GHz,能够满足高性能消费产品设计的需要。
结 语
这些新的ARM Cortex处理器系列都是基于ARMv7架构的产品,从尺寸和性能方而来看,既有少于33 000个门电路的ARM Cortex-M系列,也有高性能的ARMCortex-A系列。
其中,ARM Cortex-A系列是针对日益增长的,运行包括Linux、Windows,CE和Symbian操作系统在内的消费者娱乐和无线产品设计的;ARM Cortex-R系列针对的是需要运行实时操作系统来进行控制应用的系统,包括汽车电子、网络和影像系统;ARM Cortex-M系列则是为那些对丌发费用非常敏感同时对性能要求小断增加的嵌入式应用(如微控制器、汽车车身控制系统和各种大型家电)所设计的。随着在各种不同领域应用需求的增加,微处理器市场也在趋于多样化。为了适应市场的发展变化,基于ARMv7架构的ARM处理器系列将不断拓展自己的应用领域。