购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

2.1 嵌入式系统的ARM处理器

嵌入式系统中的处理器有多种类型,小到51单片机,大到i7处理器和某些基于可编程逻辑器件的专用芯片,都可以作为核心处理器,但是在实际应用尤其是消费数码产品和工业控制系统中,目前ARM一枝独秀,占据了半壁江山,其优点是功耗低,缺点是计算能力较为低下且不能支持普通的Windows系统(Window 7、8非RT系统)。ARM(Advanced RISC Machines)是ARM(安谋国际科技)公司设计的处理器核心,是目前广为使用的嵌入式系统处理器。

2.1.1 ARM处理器的发展历程

ARM公司(安谋国际科技)是业界领先的微处理器技术提供商,其提供最广泛的微处理器内核,可满足几乎所有应用市场对性能、功耗及成本的要求。再加上一个富有活力的生态系统(拥有 1000多家可提供芯片、开发工具和软件的合作伙伴),ARM已售出超过300亿个处理器,每天的销量超过 1600 万,是真正意义上的“The Architecture for the Digital World”(面向数字世界的体系结构)。

安谋国际科技公司前身为艾康电脑,于1978年在英国剑桥(Cambridge)创立,在20世纪80年代晚期,苹果电脑开始与艾康电脑合作开发新版的ARM核心。1985年,艾康电脑研发出采用精简指令集的新处理器,名为ARM(Acorn RISC Machine),又称ARM 1。因为艾康电脑的财务出现状况,1990年11月27日,获得Apple与VLSI科技的资助,分割出安谋国际,成为独立子公司,其运作模式主要是涉及IP的设计和许可,并不进行生产和销售实际的半导体芯片,也就是说,其只提供一些对应的ARM核心架构,而由不同的半导体公司根据这些核心架构再加上其他外围部件来形成具体型号的芯片。ARM公司的特点如下:

● 全球领先的半导体IP公司;

● 成立于1990年;

● 目前为止已销售超过200亿个基于ARM 的芯片;

● 向250多家公司出售了800个处理器许可证;

● 获得了所有基于ARM的芯片的版税;

● 赢得了长期成长型市场的市场份额;

● ARM的收益增速通常要比整个半导体行业快。

除了处理器内核之外,ARM公司还提供了一系列用于优化片上系统设计的工具、物理和系统IP,如图2.2所示。

图2.2 ARM公司提供的其他产品

安谋国际科技的发展里程碑如下,可以看到几乎每一年都有创新性产品推出。

● 1985 年:Acorn Computer Group 开发出全球第一款商业 RISC(Reduced Instruction Set Computer,精简指令集)处理器。

● 1987年:Acorn 的ARM处理器作为低成本PC的第一款RISC处理器亮相。

● 1990年:Advanced RISC Machines(ARM))无须Acorn和Apple Computer提供合作,即可独立制定新的微处理器标准章程,VLSI Technology成为投资商和第一个授权使用方。

● 1991年:ARM推出第一款RISC核心,即ARM6解决方案。

● 1993年:推出ARM7解决方案。

● 1995年:发布Thumb架构扩展,以在16位系统成本的基础上提供32位的RISC性能,并且提供业界领先的代码;StrongARM核心发布。

● 1996年:推出ARM810微处理器;Windows CE被扩展到ARM架构上。

● 1997年:发布ARM9TDMI系列处理器;JavaOS被扩展到ARM架构上。

● 1998年:发布ARM7TDMI核心。

● 1999年:发布提高了信号处理能力的ARM9E核心。

● 2000年:发布SecurCore智能卡系列核心。

● 2001年:发布ARMv6架构。

● 2002年:发布ARM11微架构;发布RealView开发工具系列。

● 2003年:发布针对多核心的CoreSight实时调试和跟踪解决方案;和Nokia、STM、TI 成立 MIPI 联盟,为移动应用处理器指定开放性标准;发布为 ARM 核心提供了安全平台的TrustZone技术。

● 2004 年:发布了基于 ARMv7 架构的 ARM Cortex 系列处理器,并且发布了首款产品 Cortex-M3;发布了第一款集成多处理器 MPCore;发布了具有开创性的嵌入式信号处理核心OptimeoDe。

● 2005年:收购了Keil Software公司;发布了Cortex-A8处理器。

● 2007 年:推出了针对智能卡应用的 SecurCore SC300 处理器;推出了实现可扩展性和低功耗设计的Cortex-A9处理器。

● 2008年:发布了全球第一个在1080 HDTV分辨率下符合Khronos Open GL ES 2.0标准的Mali-200 GPU;同年,ARM处理器销售量已经达到了100亿台。

● 2009 年:推出体积最小、功耗最低和能效最高的处理器 Cortex-M0;宣布实现具有2GHz频率的Coretx-A9双核处理器。

● 2010年:推出符合AMBA 4协议的系统IP Corelink 400系列;推出ARM Mali-T604图形处理单元,同时 ARM Mali 成为被最广泛授权的嵌入式 GPU 价格;推出Cortex-A15 MPCore处理器;微软公司(Microsoft)成为ARM架构授权使用方;推出Cortex-M4处理器。

● 2011年:和Cadence、TSMC合力推出第一款20nm Cortex-A15多核处理器;发布了嵌入式软件库 ESS;发布了 ARM Mali-T658 GPU;推出了 ARMv8 架构;发布了Cortex-A7处理器;微软公司提出了基于ARM的Windows产品Windows RT。

● 2012年:第一代Windows RT产品问世。

2.1.2 ARM处理器的架构、类型和型号及一些专用术语

ARM处理器的分类是一个比较复杂的过程,需要区分不同的架构、类型(系列)和具体的芯片型号,其中架构和类型(系列)是ARM公司提供的,而芯片型号则是由生产厂商所提供的。

ARM公司提供了ARMv1、ARMv2、ARMv3、ARMv4、ARMv5、ARMv6、ARMv7和ARMv8共八种不同的架构,其中ARMv1和ARMv2都没有太大的实际使用价值,从ARMv3开始才逐步开始正式商用。

从ARMv3架构开始,ARM推出了对应的ARM6、7处理器类型(系列),目前常见的ARM处理器类型(系列)有ARM7、ARM9、ARM10、ARM11和Cortex。而每个系列处理器中又有许多不同的类型,如ARM9系列就有ARM9E-S、ARM966E-S等类型。

表2.1给出了ARM体系架构和具体的产品类型(系列)对应关系列表,其中后缀-E表明支持增强型DSP指令集、-J表明支持新的Java。

表2.1 ARM体系架构和对应的类型(系列)

具体的产品型号则是得到授权的生产厂商根据ARM公司提供的具体处理器类型生产的芯片,如高通公司(Qualcomm)的处理器MSM7201A即是ARM11系列处理器,其对应的具体ARM类型是ARM1136J(F)-S,使用的是ARMv6架构,这块处理器应用在HTC公司的Dream、Magic等手机上。

目前在消费数码产品中应用得最为广泛的ARM处理器是Cortex-A系列,采用了ARMv7架构,包括了Cortex-A8和Cortex-A9等子系列。

以下是一些ARM处理器所涉及的专用技术和术语。

● ARM 32-bit ISA:基于RISC原理的32位ARM指令集。

● Thumb 16-Bit ISA:Thumb技术是对32位ARM 体系结构的扩展,Thumb指令集是已压缩至16位宽操作码的、最常用32位ARM指令的子集。在执行时,这些16位指令实时、透明地解压缩为完整 32 位 ARM 指令,且无性能损失。卓越的代码密度,以尽量减小系统内存大小和降低成本。

● Thumb-2:以ARM Cortex体系结构为基础的指令集,其提升了众多嵌入式应用的性能、能效和代码密度,可以提供最佳代码大小和性能。其是以获得成功的 Thumb(ARM微处理器内核的创新型高代码密度指令集)为基础进行构建,用于增强ARM微处理器内核的功能,从而可以使开发人员能够开发出低成本且高性能的系统。

● VFP:为浮点体系结构(Vector Floating Point,VFP)为半精度、单精度和双精度浮点运算中的浮点操作提供硬件支持。可以为汽车动力系统、车身控制应用和图像应用(如打印中的缩放、转换和字体生成及图形中的 3D 转换、FFT 和过滤)中使用的浮点运算提供增强的性能。

● Jazelle 技术:可以用于提高执行环境(如 Java、.Net、MSIL、Python 和 Perl)速度。Jazelle技术是ARM提供的组合型硬件和软件解决方案。ARM Jazelle 技术软件是功能丰富的多任务 Java 虚拟机(JVM),经过高度优化,可利用许多 ARM 处理器内核中提供的 Jazelle 技术体系结构扩展。还包括功能丰富的多任务虚拟机(MVM),领先的手机供应商和 Java 平台软件供应商提供的许多 Java 平台中均集成了此类虚拟机。通过利用基础Jazelle技术体系结构扩展,ARM MVM软件解决方案可提供高性能应用程序和游戏,快速启动和应用程序切换,并且使用的内存和功耗预算非常低。

● TrustZone:安全扩展,提供可信计算,是系统范围的安全方法,针对高性能计算平台上的大量应用,包括安全支付、数字版权管理(DRM)和基于 Web 的服务。TrustZone 技术与 Cortex-A 处理器紧密集成,并通过 AMBA AXI 总线和特定TrustZone 系统 IP 块在系统中进行扩展。此系统方法意味着,现在可保护外设(包括处理器旁边的键盘和屏幕),以确保恶意软件无法记录安全域中的个人数据、安全密钥或应用程序,或与其进行交互。用例包括:实现安全 PIN 输入,在移动支付和银行业务中加强用户身份验证,安全 NFC 通信通道,数字版权管理,数字版权管理,基于忠诚度的应用,基于云的文档的访问控制,电子售票移动电视。

● SIMD:单指令多数据,当前的智能手机和 Internet 设备必须提供高级媒体和图形性能,才具有竞争力。ARMv6和ARMv7体系结构中的SIMD扩展改进了此类性能。SIMD 扩展已经过优化,可适用于众多软件应用领域,包括视频和音频编解码器,这些扩展将性能提高了75%或更多。

● NEON:通用 SIMD 引擎可有效处理当前和将来的多媒体格式,从而改善用户体验。可加速多媒体和信号处理算法(如视频编码/解码、2D/3D 图形、游戏、音频和语音处理、图像处理技术、电话和声音合成)。可增强许多多媒体用户体验(观看任意格式的任意视频、编辑和强化捕获的视频-视频稳定性、游戏处理、快速处理几百万像素的照片、语音识别)。

● Virtualization:随着软件复杂性的提高,对在同一个物理处理器上提供多种软件环境的要求也同时增多。因为隔离、可靠性或不同实时特征而要求分隔的软件应用程序需要一个具备所需功能的虚拟处理器。通过高能效方式提供虚拟处理器要求组合利用硬件加速和高效的软件虚拟机监控程序。云计算和其他面向数据或内容的解决方案增加了对每个虚拟机的物理内存系统的需求。

● 多核技术 ARM MPCore:除了 Cortex-A8 外,其他(A5、A9、A15)都支持 ARM的第二代多核技术:单核到四核实现,支持面向性能的应用领域,支持对称和非对称的操作系统实现。技术允许设计时可配置的处理器支持一个、两个、三个或四个处理器一起运行,同时保持集成的高速缓存一致性。这些多核处理器群集在 1 级高速缓存边界内完全一致,而且可通过加速器一致性端口(ACP)配置将有限的一致性扩展到其余的芯片上系统(SoC)中。ACP 允许系统主外设和带有未经缓存的内存视图的加速器(如 DMA 引擎或加密加速器内核)共享处理器的高速缓存,同时保持高速缓存完全一致。多核群集包括一个与全局中断控制器(GIC)体系结构兼容的带专用外设的集成中断和通信系统,因此可提高性能和简化软件可移植性。此GIC可配置为支持0(旧版Bypass 模式)至224个独立中断源,以此为大量设备提供低延迟中断途径。该处理器可支持单核或双核 64 位 AMBA 3AXI 互连接口,以及 SoC内不同地址空间之间的全速过滤选项。

2.1.3 ARM处理器的分类

对于ARM的处理器而言,其目前有Classic(传统)系列、Cortex-M系列、Cortex-R系列、Cortex-A系列和Cortex-A50系列5个大类。

1.Classic(传统)系列

Classic(传统)系列处理器上市已经超过15年,其中的ARM7TDMI依然是市场占有率最高的32位处理器,该系列处理器由三个子系列九种处理器组成。

● ARM7系列:基于 ARMv3或 ARMv4架构,包括 ARM7TDMI-S和 ARM7EJ-S处理器。

● ARM9 系列:基于 ARMv5 架构,包括 ARM926EJ-S、ARM946E-S 和 ARM968E-S处理器。

● ARM11 系列:基于 ARMv 架构,包括 ARM1136J(F)-S、ARM1156T2(F)-S、ARM1176JZ(F)-S 和 ARM11MPCore处理器。

注意: Classic系列处理器在很大程度上已经逐步被Cortex系列所取代,所以在最新的设计中并不推荐使用该系列处理器,尤其是ARM7系列。

ARM的Classic(传统)系列内核主要基于三种主要技术产品而构建,可以用于各种应用领域,表2.2给出了它们的技术说明。

表2.2 ARM的Classic系列内核

ARM的Classic系列处理器具有经济实惠的特点,其可以以多种形式进行授权,可以提供单次使用许可、多年期许可和永久使用许可,并且其中多种处理器可用作硬核从而可以降低设计风险并且缩短上市时间。在ARM的Connected Community(合作伙伴联盟)中有650多家成员支持ARM处理器,提供了专门针对ARM指令集架构的关键开放源项目;提供了行业中最广泛的编译器、调试器和RTOS工具体系,以及大量可以和处理器集成的第三方IP。

ARM的Classic系列处理器的比较说明如表2.3所示,需要说明的是,在最新的设计中都推荐使用Cortex产品进行升级替换。

表2.3 ARM的Classic系列处理器的比较说明

2.Cortex-M系列

Cortex-M系列处理器包括Cortex-M0、Cortex-M0+、Cortex-M1、Cortex-M3、Cortex-M4共5个子系列,该系列主要针对成本和功耗敏感的应用,如智能测量、人机接口设备、汽车和工业控制系统、家用电器、消费性产品和医疗器械等。

整体来说,Cortex-M系列处理器偏重于工业控制,其提供了更低的功耗和更长的电池寿命,提供了更少的代码和更高的性能,并且提供了兼容性的代码、统一的工具和操作系统支持,具有如下优点。

● Cortex-M系列处理器为8位和16位体系结构提供了极佳的代码密度,在具有对内存大小要求苛刻的应用中具有很大的优势。

● Cortex-M 系列处理器虽然使用 32 位的指令,但是其使用了可提供极佳代码密度的ARM Thumb-2技术,也可以支持16位的Thumb指令,其对应的C编译器也会使用16位版本的指令,可以更加有效地执行运算。

● Cortex-M 系列处理器采用了 8 位和 16 位的数据传输,从而可以高效地利用数据内存,同时开发者可以使用其在面向8/16位系统的应用代码中的相同的数据类型。

● Cortex-M系列处理器提供了较大的能效优势,面对如USB、蓝牙、WiFi等连接及如加速计和触摸屏等复杂模拟传感器且成本日益降低的产品需求有极大地优势。

● Cortex-M 处理器完全可以通过 C 语言编程,并且附带了各种高级调试功能,能帮助定位软件中的问题,同时网上具有大量的应用实例可以参考。

表2.4给出了Cortex-M系列处理器的对比,其升级关系如图2.3所示,所有的Cortex-M系列处理器都是二进制向上兼容的,可以很方便地重用软件及从一个Cortex处理器无缝发展到另外一个。

表2.4 Cortex-M系列处理器的对比

图2.3 Cortex-M系列处理器的升级关系

● Cortex-M0:Cortex-M0 是最小的 ARM 处理器,体积极小、能耗很低且编程所需要的代码占用量极少,其具有低功耗(90LP工艺的最低配置下门数低于12KB的时候能耗只有16μW/MHz)、简单(只有56个指令且架构对C语言友好,提供了可供选择的具有完全确定性的指令和中断计时,使得计算响应时间十分容易)和优化的连接性(支持实现低能耗网络互连设备)等特点,常见的Cortex-M0处理器有NXP的LPC1100系列、意法半导体的STM32F0系列。

● Cortex-M0+:Cortex-M0+是在 Cortex-M0 基础上开发的能效极高的处理器,其保留了 Cortex-M 的全部指令集和数据兼容性,同时进一步降低了能耗,其和 Cortex-M一样,芯片面积很小、功耗极低,所需的代码量极少,使得开发人员可以直接跳过16 位系统以接近 8 位系统的成本开销获取 32 位系统的性能。其具有一个只有 2 级的流水线,具有低功耗(90LP 工艺的最低配置下门数低于 12KB 的时候能耗只有11.2μW/MHz)、简单(保留了Cortex-M0的56个指令)和多功能性(如内存保护单元、可重定位的矢量表、用于提高控制速度的单周期 I/O 接口和用于增强调试的Micro Trace Buffer)等特点,常见的Cortex-M0+处理器有NXP的LPC1100系列和Atmel的SAM D20系列。

注意: 在当前的实际产品中基本都使用Cortex-M0+来替代Cortex-M0。

● Cortex-M1:Cortex-M1 类型的 ARM 处理器是为了在 FPGA 中应用而设计的,其支持包括Actel、Altera和Xilinx公司的FPGA设备,可以满足FPGA应用的高质量、标准处理器架构的需要,开发人员可以在受行业中最大体系支持的单个架构上进行标准设计以降低其硬件和软件工程成本,所以在通信、广播、汽车等行业得到了广泛应用。其可以实现常用高密度 Thumb-2 指令集的最新型三阶段 32 位 RISC 处理器,其可以使处理器和软件占用空间都满足最小 FPGA 设备的面积预算,同时保留与 ARM7TDMI 处理器上任何 ARM 处理器 Thumb 代码的兼容性,其可以提供0.8DMIPS/MHz。

● Cortex-M3:Cortex-M3处理器是行业领先的32位处理器,适用于具有较高确定性的实施应用,如汽车车身系统、工业控制系统、无线网络和传感器等,其具有出色的计算性能及对事件的优异系统响应能力。其具有较高的性能和较低的动态功耗,支持硬件除法、单周期乘法和位字段操作在内的 Thumb-2 指令集,最多可以提供 240个具有单独优先级、动态重设优先级功能和集成系统时钟的系统中断。Cortex-M3相比Cortex-M0来说提供了更高的性能和更丰富的功能,于2004年推出,其将集成的睡眠模式与可选的状态保留功能相结合,具有较高的性能和较低的动态功耗,所以可以提供领先的能效。其提供了包括了硬件除法、单周期乘法和位字段操作在内的 Thumb-2 指令集以获取最佳的性能和代码大小;其还可以高效地处理多个 I/O 通道和类似USB OTG的协议标准。其常见的型号有Atmel的SAM3N(无与伦比的性能和易用性)、SAM3S(低功耗和简化的 PCB 应用)、SAM3U(带高速 USB 接口)、SAM3A(CAN总线应用)、SAM3X(增强型网络应用);NXP的LPC1300系列和 LPC1700 系列;德州仪器(TI)的 TMS470M 系列、Stellaris 系列、C2000 Concerto 28x系列;意法半导体的STM32F1和STM32F2系列。

● Cortex-M4:Cortex-M4是Cortex-M3的升级版,其提供了无可比拟的功能,将32位控制与领先的数字信号处理技术集成来满足需要很高能效级别的市场,曾经在Elektra2010(European Electronics Industry Awards 2012)上获得了大奖,其主要实际应用型号包括 Atmel 的 SAM4L、SAM4S、德州仪器(TI)的 TM4C 系列和意法半导体的STM32F3系列。

3.Cortex-R系列

Cortex-R系列处理器包括Cortex-R4、Cortex-R5、Cortex-R7共3个子系列,其对低功耗、良好的中断行为、卓越性能及与现有平台的高兼容性这些需求进行了平衡考虑,具有高性能、实时、安全和经济实惠的特点,面向如汽车制动系统、动力传动解决方案、大容量存储控制器等深层嵌入式实时应用。

Cortex-R系列处理器使用了深度流水化微架构及指令预取、分支预测和超标量执行等性能增强技术,提供了硬件除法、浮点单元(FPU)选项和硬件SIM DSP,采用了可以在不牺牲性能的前提下实现高密度代码的带Thumb-2指令的ARMv7-R架构和带指令、指令cache控制器的哈佛架构,并且拥有获得快速响应代码和数据处理器本地的紧密耦合内存(TCM)和高性能AMBA3 的AXI总线接口,其具有如下特点。

● 高性能:可以快速地执行复杂代码和 DSP 功能,其使用了高性能、高时钟频率、深度流水化的微架构;使用了双核多处理(AMP/SMP)配置;使用了可以用于超高性能DSP和媒体功能的硬件SIMD指令。

● 实时性:可以保证响应速度和高吞吐量的确定性操作;其有快速、有界且确定性的中断响应;有用于获得快速响应代码/数据的处理器本地的紧密耦合内存(TCM);有可加快终端进入速度的低延迟中断模式(LLIM)。

● 安全性:可以检测错误并保证可靠的系统运行,其具有内存保护单元(MPU)的用户和授权软件操作模式;有由于 1 级内存系统及总线的 ECC 和奇偶校验错误检测/更正;有双核锁步(DCLS)冗余内核配置。

● 经济实惠。

Cortex-R系列处理器和Cortex-M和Cortex-A系列处理器都不同,其提供的性能比Cortex-M系列要高得多,可以作为Classic系列处理器中的ARM9、ARM11系列处理器的升级产品;但是其又不像Cortex-A系列处理器更偏重于面向必须使用虚拟内存管理技术的复杂软件操作系统,从图2.4中可以看出它们的升级关系。

图2.4 Cortex-R系列处理器的升级关系

● Cortex-R4:Cortex-R4 处理器是第一款基于 ARMv7-R 架构的深度嵌入式实时处理器,主要用于高产量、深入嵌入式的片上系统应用,如硬盘驱动控制器、无线基带处理器、消费类产品和汽车系统的电子控单元等;其能提供更高的性能、实时的响应速度、可靠性和高容错性。Cortex-R4 在使用主流低功耗工艺技术(40nm LP)进行实现的时候,可以做到 600MHz 以上的最大时钟频率,性能可以达到 1.66 DMIPS/MHz,效率到达24 DMIPS/mW以上。

● Cortex-R5:Cortex-R5 处理器是在Cortex-R4 基础上扩展功能集得到的,支持在可靠的实时系统中获得更高级别的系统性能、提高效率和可靠性并加强错误管理,提供了一种从 Cortex-R4 处理器向上迁移到更高性能的 Cortex-R7 处理器的简单迁移途径;通常用于市场上的实时应用提供高性能解决方案,包括移动基带、汽车、大容量存储、工业和医疗市场。Cortex-R5 是为了实现高级芯片工艺而设计的,其重点是更高的能效、实时的响应速度、高级功能和简单的系统设计,其提供了高度灵活且有效的双周期本地内存接口,并且集成了包括 LLPP(低延迟外设端口)在内的许多高级系统级功能以帮助进行软件开发。Cortex-R5 在使用主流低功耗工艺技术(40nm LP)进行实现的时候,可以做到600MHz以上的最大时钟频率,性能可以达到1.66 DMIPS/MHz,效率达到24 DMIPS/mW以上。

● Cortex-R7:Cortex-R7同样是为实现高级芯片工艺而设计的,其重点是更高的能效、实时的响应速度、高级功能和简单的系统设计,提供了支持紧耦合内存(TCM)本地共享内存和外设端口的灵活本地内存系统,使 SoC 设计人员可以在受到限制的芯片资源内达到高标准的硬实时要求。Cortex-R7 在使用主流高性能移动工艺技术(28nm HPM)进行实现的时候,可以做到 1GHz 以上的最大时钟频率,性能可以达到2.5 DMIPS/MHz,效率达到27 DMIPS/mW以上。

4.Cortex-A系列

Cortex-A处理器包括Cortex-A5、Cortex-A7、Cortex-A8、Cortex-A9、Cortex-A12和Cortex-A15共6个子系列,用于具有高计算要求、运行丰富操作系统及提供交互媒体和图形体验的应用领域,如智能手机、平板电脑、汽车娱乐系统、数字电视等。

Cortex-A系列处理器具有以下特点。

● 是移动互联网的理想选择,其为 Adobe Flash10.1 以上版本提供了原生支持;提供了高性能 NEON 引擎,广泛支持媒体解码器;采用了低功耗设计,支持全天浏览和连接。

● 其具有高性能,可以为其目标应用领域提供各种可伸缩的能效性能点。

● 都支持 ARM 的第二代多核技术;支持面向性能的应用领域的单核到四核的实现;支持对称和非对称的操作系统实现;并且可以通过加速器一致性端口(ACP)在系统的整个处理器中保持一致性。并且 Cortex-A5 和 Cortex-A15 将多核一致性扩展至AMBA ACE的1~4核群集以上,支持big LITTLE(ARM big.LITTLE TM 处理是一项节能技术,它将最高性能的ARM处理器与最高效的ARM处理器结合到一个处理器子系统中,与当今业内最优秀的系统相比,不仅性能更高,能耗也更低)处理。

● 除了具有与上一代经典 ARM 和 Thumb 架构的二进制兼容性之外,Cortex-A 类处理器还可以通过Thumb-2、TrustZone安全扩展、Jazelle技术扩展来提供更多的优势。

Cortex-A系列处理器均适用于各种不同的性能应用领域,其共享ARMv7-A的架构和功能集,成为开放式平台设计的最佳解决方案并且可以为不同设计之间的软件提供兼容性和可移植性,其提供了ARM、Thumb-2、Thumb、Jazelle、DSP的指令集支持、TrustZone安全扩展、高级单精度和双精度浮点支持、NEON媒体处理引擎及对包括Linux全部分发版本(Android、Chrome、Ubuntu和Debian)、Linux第三方(MontaVista、QNX、Wind River、Symbian、Windows CE)、需要使用内存管理单元的其他操作系统支持。Cortex-A也提供了各种显著不同的特点,如表2.5所示。

表2.5 Cortex-A系列处理器比较

续表

● Cortex-A5:Cortex-A5 处理器是体积最小、功耗最低的应用型处理器,并且可以带来完整的网络体验,可为现有的 ARM926EJ-S 和 ARM1176JZ-S 处理器设计提供高价值的迁移途径。它可实现比 ARM1176JZ-S 更好的性能、比 ARM926EJ-S 更好的功效和能效,以及100%的 Cortex-A兼容性。

● Cortex-A7:Cortex-A7 处理器是一种高能效应用处理器,除了低功耗应用外,还支持低成本、全功能入门级智能手机,该处理器与其他 Cortex-A 系列处理器完全兼容并整合了高性能 Cortex-A15 处理器的所有功能,包括虚拟化、大物理地址扩展(LPAE)NEON高级SIMD 和 AMBA 4 ACE一致性。单个Cortex-A7处理器的能效是 ARM Cortex-A8 处理器的 5 倍,性能提升了 50%,而尺寸仅为后者的五分之一,支持如今的许多主流智能手机。目前提供 Cortex-A7 的厂商包括德州仪器(TI)、三星(SAMSUNG)、飞思卡尔(Freescale)、博通(Broadcom)、海思半导体(HISILICON)和LG。

● Cortex-A8:Cortex-A8 处理器基于 ARMv7 架构,支持 1GHz 以上的工作频率,采用了高性能、超标量微架构及用于多媒体和 SIMD 处理的 NEOD 技术,可以满足300mW 以下运行的移动设备的低功耗要求,并且与 ARM926、ARM1136 和ARM1176 处理器的二进制兼容,目前提供 Cortex-A8 的厂商有德州仪器(TI)、三星(SAMSUNG)、飞思卡尔(Freescale)、博通(Broadcom)和ST(意法半导体)。

● Cortex-A9:Cortex-A9 处理器是低功耗或散热受限的成本敏感型设备的首选处理器,其支持多核,在用作单核心的时候性能比 Cortex-A8 提升了 50%以上,其主要用于主流智能手机、平板电脑、多媒体播放器等。还可以提供多达 4 个处理器集成,在必要的时候能实现轻量级的工作量及峰值性能。

● Cortex-A12 处理器:其是 Cortex-A9 的升级版,专注应用于智能手机和平板电脑,提供了对1TB存储空间的支持,在同功耗下其比Cortex-A9性能提升了大约40%,通常来说该芯片使用较少,故在此不多再赘叙。

● Cortex-A15:Cortex-A15 处理器是 Cortex-A 系列处理器的最新产品,也是最高性能产品,和其他处理器系列兼容,具有无序超标量流水线,带有紧密耦合的大小可以达到4MB的低延迟2级cache;改进后的浮点和NEON媒体性能可以给用户提供下一代的体验并为 Web 基础结构应用提供高性能计算。其通常应用于移动计算、高端数码家电、服务器和无线基础架构。Cortex-A15 是基于 ARMv7 架构的处理器,其和 Cortex-A 系列的其他处理器完全兼容,所以支持相当多成熟的开发平台和软件体系,包括Android、AFP(Adobe Flash Player)、Java Platform Standard Edition(Java SE)、JavaFX、Linux、Microsoft Windows Embedded、Symbian 和 Ubuntu 等。Cortex-A15还支持big.LITTLE技术,其可以和Cortex-A7处理器配对并且确保合适的工作分配给合适的处理器,以达到合适的性能和功耗的平衡。

● Cortex-A50 系列:Cortex-A50 系列处理器基于 ARMv8 架构,可以在 AArch32 执行状态下为ARMv7的32位代码提供更好的性能,也可以在AArch64执行状态下支持64 位数据和更大的虚拟寻址空间,其允许在 32 位和 64 位之间进行完全的交互操作,因此可以从运行 32 位 ARMv7 应用程序的 64 位操作系统开始,迁移到在同一系统中混合运行32位应用程序和64位应用程序,最终一步步迁移到64位系统。其提供了A53和A57两种型号的处理器,由于该系列处理器刚刚发展起来,还没有大规模实际应用,在此不多做赘述。

5.ARM处理器选择总结

通常来说,作为工业控制处理器,可以选择Cortex-M系列处理器,其中M0比较简单便宜,适合用于替代51单片机,其缺点是不带MMU,需要直接编写/运行控制代码;Cortex-R系列处理器可以取代ARM9作为具有带操作系统的控制系统;Cortex-A系列处理器更加常用的场合是消费电子,但是其中的Cortex-A5处理器也经常用于工业控制场合。 X81247X87zYzRtG+qPWs2ozyHS59WbnjSgrhXV6sD1r2tCw9QCtAZ3o9Q6+U3LY1

点击中间区域
呼出菜单
上一章
目录
下一章
×