《ARMCortex各系列处理器分类比较.doc》由会员分享,可在线阅读,更多相关《ARMCortex各系列处理器分类比较.doc(12页珍藏版)》请在三一文库上搜索。
1、Cortex-M 系列M0:Cortex-M0是目前最小的 ARM处理器,该处理器的芯片面积非常小, 能耗极低, 且编程所需 的代码占用量很少,这就使得开发人员可以直接跳过 16 位系统,以 接近 8 位系统的成本 开销获取 32 位系统的性能。 Cortex-M0 处理器超低的门数开销, 使得它可以用在仿真和数 模混合设备中。M0+:以 Cortex-M0 处理器为基础, 保留了全部指令集和数据兼容性, 同时进一步降低了能耗, 提 高了性能。 2 级流水线,性能效率可达 1.08 DMIPS/MHz 。M1:第一个专为 FPGA 中的实现设计的 ARM 处理器。 Cortex-M1 处理器面
2、向所有主要 FPGA 设备并包括对领先的 FPGA 综合工具的支持,允许设计者为每个项目选择最佳实现。M3: 适用于具有较高确定性的实时应用, 它经过专门开发, 可使合作伙伴针对广泛的设备 (包括 微控制器、汽车车身系统、工业控制系统以及无线网络和传感器)开发高性能低成本平台。 此处理器具有出色的计算性能以及对事件的优异系统响应能力, 同时可应实际中对低动态和 静态功率需求的挑战。M4:用以满足需要有效且易于使用的控制和信号处理功由 ARM 专门开发的最新嵌入式处理器, 能混合的数字信号控制市场。M7:在 ARM Cortex-M 处理器系列中, Cortex-M7 的性能最为出色。它拥有六级
3、超标量流水线、 灵活的系统和内存接口(包括 AXI 和 AHB)、缓存( Cache)以及高度耦合内存( TCM),为 MCU 提供出色的整数、浮点和 DSP 性能。互联: 64 位 AMBA4 AXI, AHB 外设端口 (64MB 到 512MB)指令缓存: 0 到 64kB,双路组相联,带有可选 ECC数据缓存: 0 到 64kB,四路组相联,带有可选 ECC指令 TCM:0 到 16MB ,带有可选 ECC数据 TCM:0 到 16MB ,带有可选 ECCCortex-M 系列规格对比类别M0M3M4M7体系结构ARMv6M (冯诺依曼)ARMv6M (哈佛)ARMv6M (哈佛)AR
4、Mv7-M (哈佛)ISA支持Thumb,Thumb-2Thumb,Thumb-2Thumb,Thumb-2Thumb,Thumb-2DSP扩展单周期 16/32 位 MAC 单周期双 16 位 MAC8/16 位 SIMD 运算 硬件除法( 2-12 周期)单周期 16/32 位 MAC 单周期双 16 位 MAC8/16 位 SIMD 运算 硬件除法( 2-12 周期)浮点单元单精度浮点单元符合 IEEE 754单和双精度浮点单元与 IEEE 754 兼容流水线3级3级3 级 +分支预测6 级超标量 + 分支预测DMISP/MHz0.90.991.251.501.251.522.14/2.
5、55/3.23中断NMI+1-32 物理中断NMI+ 1-240 物理中断NMI + 1240 物理中断NMI + 1240 物理中断中断优先级825682568256唤醒中断控制器最多 240 个最多 240 个最多 240 个内存保护带有子区域和后台区 域的 可选 8 区域 MPU带有子区域和后台区域的可选 8 区域 MPU可选的 8/16 区域 MPU, 带有子区域和背景区域睡眠模式集成的 WFI 和 WFE 指 令和“退出时睡眠”功 能。睡眠和深度睡眠信号随ARM 电 源 管 理 工 具 包 提供的可选的 Retention 模式集成的 WFI 和 WFE 指令和“退出时睡眠” 功能。
6、 睡眠和深度睡眠信号。 随 ARM 电源管理工 具包提供的可选保留 模式集成 WFI 和 WFE 指令和 “退出时睡眠”功能。 睡眠和深度睡眠信号。 随 ARM 电源管理工具 包提供的可选 Retention 模式集成 WFI 和 WFE 指令 以及 Sleep On Exit 功能。 休眠和深度休眠信号。ARM 电 源 管 理 工 具 包 及可选 Retention 模式增强的指令硬件单周期 (32x32) 乘法选项硬件除法( 2-12 个周 期)和单周期 (32x32) 乘法、饱和数学支持。调试可 选 JTAG 和 Serial-Wire 调试端口。最多 4 个断点和 2 个 观察点可选
7、JTAG 和串行线 调试端口。最多 8 个 断点和 4 个检测点。可选 JTAG 和 Serial-Wire 调试端口。最多 8 个断 点和 4 个检测点。可选的 JTAG 和 串行线 调试 端口。最多 8 个 断点和 4 个观察点。跟踪可选指令跟踪 (ETM)、 数 据 跟 踪 (DWT) 和 测量跟踪 (ITM)可选指令跟踪 (ETM)、数 据跟踪 (DWT) 和测量跟 踪 (ITM)可选指令跟踪 (ETM)、数 据跟 踪 (DWT) 和测量 跟踪 (ITM)Cortex-A 系列:ARM Cortex-A 系列是一系列用于复杂操作系统和用户应用程序的应用程序处理器。 Cortex-A 系
8、列处理器支持 ARM、 Thumb 和 Thumb-2 指令集。A5:一个高性能、 低功耗的 ARM 宏单元,带有 L1高速缓存子系统, 能提供完全的虚拟内存功能。 Cortex-A5 处理器实现了 ARMv7 体系结构并运行 32 位 ARM 指令、 16 位和 32 位 Thumb 指令, 还可在 Jazelle 状态下运行 8 位 Java 字节码。 Cortex A-5 是最小以及最低功 耗的 Cortex-A 处理器,但处理性能比其他 A 系列差。A7:Cortex-A7 处理器的功耗和面积与超高效 Cortex-A5 相似,但性能提升 1520%, Cortex-A7 是 ARM
9、的大小核设计中的小核部分,并且与高端 Cortex-A15 CPU 体系结构完全兼容。 Cortex-A7 处理器包括了高性能处理器 Cortex-A15 的一切特性,包括虚拟化( virtualization )、 大容量物理内存地址扩展( Large Physical Address Extensions (LPAE,) 可以寻址到 1TB 的存储 空间)、NEON、VFP以及 AMBA 4 ACE coherency ( AMBA4 Cache Coherent Interconnect (CCI)。 Cortex-A7 支持多核 MPCore 的设计以及 Big+Little 的大小核
10、设计。 小型高能效的 Cortex-A7 是 最新低成本智能手机和平板电脑中独立 CPU 的理想之选, 并可在 big.LITTLE 处理配置中与 Cortex-A15 结合。A8:第一个使用 ARMv7-A 架构的处理器,很多应用处理器以Cortex-A8 为核心。Cortex-A8 处理器是一个双指令执行的有序超标量处理器,针对高度优化的能效实现可提 供 2.0 Dhrystone MIPS(每 MHz ),这些实现可提供基于传统单核处理器的设备所需的高级别 的性能。 Cortex-A8 在市场中构建了 ARMv7 体 系结构,可用于不同应用,包括智能手机、智 能本、便携式媒体播放器以及其
11、他消费类和企业平台。分开的 L1 指令和数据 cache 大小可 以为 16KB或者 32KB,指令和数据共享 L2 cache,容量可以到 1MB。 L1和 L2 cache的 cache 数据宽度为 128 比特,L1 cache 是虚拟索引, 物理上连续, 而 L2 完全使用物理地址。 Cortex-A8 的 L1 cache 行宽度为 64byte , L2 cache 在片内集成。另外和 Cortex-A9 相比,由于 Cortex-A8 支持的浮点 VFP 运算非常有限,其 VFP 的速度非常慢,往往相同的浮点运 算,其速度是 Cortex-A9的1/10。Cortex-A8能并发
12、某些 NEON指令(如 NEON的load/store 和其他的 NEON 指令),而 Cortex-A9因为 NEON位宽限制不能并发。 Cortex-A8的 NEON和ARM是分开的, 即 ARM核和 NEON核的执行流水线分开, NEON访 问 ARM寄存器很快,但是 ARM端需要 NEON寄存器的数据会非常慢。A9:Cortex-A9 MPCore 或者单核处理器单 MHz 性能比 Cortex-A5 或者 Cortex-A8 高,支持 ARM, Thumb, Thumb-2, TrustZone, Jazelle RCT, Jazelle DBX技术。 L1 的 cache控制器提供
13、了硬 件 的 cache 一 致 性 维 护 支 持 多 核 的 cache 一 致 性 。 核 外 的 L2 cache 控 制 器 (L2C-310, or PL310) 支持最多 8MB 的 cache。Cortex-A9 的 L1 cache行宽度为 32byte,L2 cache 因为多核的原因在核外集成,即通过SCU来访问多核共享的 L2 cache。常见的 Cortex-A9 处理器包括 nVidia's 双核 Tegra-2, 以及 TI's OMAP4平台。使用 Cortex-A9 处 理器的设备包括 Apple 的 ipad2( apple A5 处理器)
14、, LG Optimus 2X ( nVidia Tegra-2 ), Samsung Galaxy S II等A15:Cortex-A15 MPCore处理器是目前 Cortex-A 系列中性能最高的处理器,一个突出的特性是其 硬 件 的 虚 拟 化 技 术 (Hardware virtualization) 以 及 大 物 理 内 存 的 扩 展 (Large Physical Address Extension (LPAE)能, 寻址到 1TB 的内存 )。目前集成 Cortex-A15 的处理器量产的只有 Samsung 的 Exynos 5 系列处理器, 但 TI 的 OMAP5 系
15、列处理器也采用 Cortex-A15 的核。具体的设备有 Arndale Board 。A17:A12 的提升版,也就将 A12 合并到 A17 中,最新的高性能 ARMv7-A 核处理器,以更小和更 节能的优势,提供与 A15相仿的性能。相比 A9 有 60%的性能提升。仍为 32 位 ARMv7Cortex-A17 处理器提供了优质的性能和高端的特性使它理想的适合每一个屏幕,从智能手机到智能电视。 Cortex-A17处理器架构上与广泛使用 Cortex-A7 处理器一致,促使下一代中档 设备基于 big.LITTLE技术。A53:最低功耗的 ARMv8处理器,能够无缝支持 32和 64位
16、代码。是世界上能效最高,面积最小 的 64 位处理器。使用高效的 8-stage 顺序管道和提升的获取数据技术性能平衡。Cortex-A53 提供比 Cortex-A7 更高的性能, 并能作为一个独立的应用处理器或在big.LITTLE配置下,搭配 Cortex-A57 处理器,达到最优性能、可伸缩性和能效。A57:最高效的 64 位处理器, 用于扩展移动和企业计算应用程序功能, 包括计算密集型 64 位应用, 比如高端电脑、平板电脑和服务器产品。性能比 A15 提升一倍。A72:Cortex-A72 是 ARM 性能最出色、最先进的处理器。于 2015 年年初正式发布的 Cortex-A72
17、 是基于 ARMv8-A 架构、并构建于 Cortex-A57 处理器在移动和企业设备领域成功的基础之 上。在相同的移动设备电池寿命限制下, Cortex-A72 能相较基于 Cortex-A15 处理器, 28 纳 米工艺节点的设备,提供 3.5 倍的性能表现,展现优异的整体功耗效率。Cortex-A72 的强化性能和功耗水平重新定义了 2016 年高端设备为消费者带来的丰富连接 和情境感知( context-aware )的体验。Cortex-A72 可在芯片上单独实现,也可以搭配 Cortex-A53 处理器与 ARM CoreLinkTM CCI 高 速缓存一致性互连( Cache C
18、oherent Interconnect )构成 ARM big.LITTLETM 配置,进一步提 升能效。Cortex-A 列规格对比类别Cortex-A5Cortex-A7Cortex-A8Cortex-A9Cortex-A15发布时间2009年 12月2011年10 月2006 年 7 月2008 年 3 月2011 年 4 月时钟频率1GHz1GHz on28nm1GHz on65nm2GHz on 40nm2.5GHz on28nm执行顺序顺序执行顺序执行顺序执行乱序执行乱序执行多核支持1 to 41 to 411 to 41 to 4MIPS/MHz1.61.922.53.5VFP
19、/NEON支 持VFPv4/NEONVFPv4/NEONVFPv3/NEONVFPv3/NEONVFPv4/NEON半精度扩展(16-bit floating-point )是是否, 只有32-bit 单精 度和 64-bit 双精度浮点是是FP/NEON 寄存器 重命名否否否否是GP寄存器重命名否否否是是硬件的除法器否是否否是LPAE (40-bit physical address)否否否否是硬件虚拟化否是否否是big.LITTLENoLITTLENoNoBig融合的 MAC 乘累 加是是否否是流水线级数 pipeline stages88139 to 1215+指令译码 decodes1
20、Partial dual issue2 (dual-issue )2 (dual-issue)3返回堆栈 stack 条目488848浮点运算单元FPUOptionalOptionalYesOptionalOptionalAMBA总线宽度64-bit I/FAMBA 3128-bit I/FAMBA 464 or 128-bit I/FAMBA 32× 64 -bit I/FAMBA 3128-bitL1 Data CacheSize4K to 64K8KB to 64KB16/32KB16KB/32KB/64KB32KBL1 InstructionCache Size4K to 6
21、4K8KB to 64KB16/32KB16KB/32KB/64KB32KB2-way set2-way set4-way set2-way setassociativassociativassociativeassociativL1 Cachee (Inst)e (Inst)4-way set(Inst)e (Inst)Structure4-way set4-way setassociative4-way set4-way setassociativassociativassociativeassociative (Data)e (Data)(Data)e (Data)L2 Cache ty
22、peExternalIntegratedIntegratedExternalIntegratedL2 Cache size-128KB to1MB128KB to 1MB-512KB to1MBL2 Cache8-way set8-way set8-way setStructureassociativ eassociativeassociativ eCache line(bytes)3232643264Classic处理器:ARM7:1994 年推出,使用范围最广的 32 位嵌入式处理器系列。0.9MIPS/MHz 的三级流水线和冯诺依曼结构ARM9:ARM9 系列技术特点? 基于 ARMv5
23、TE 架构? 高效的 5 级流水线,更快的吞吐量和系统性能,哈佛结构o 提取 / 解码 / 执行 / 内存 / 写回? 同时支持 ARM 和 Thumb 指令集o 高效 ARM-Thumb 交互工作允许最佳组合性能和代码密度? 哈佛架构 - 独立的指令和数据内存接口o 可用内存带宽增加o 同时访问 I & D 内存o 更高性能? 31 x 32 位寄存器? 32 位 ALU 和桶行移位器? 32 位 MAC 块增强CoreSight? ETM9 接口用于增强调试和 trace? 标准 AMBA? AHB? 接口? 协处理器接口内存控制器? 内存操作受 MMU 或 MPU 控制? MMU
24、 提供o 虚拟内存支持o 快速上下文切换扩展 (FCSE)? MPU 支持o 内存保护和边界o 应用沙坑效应? 写缓冲o 从外部内存解耦内部处理器o 可在 4 个独立地址中存储 16 个字o 清除缓冲脏行灵活的缓存设计? 硬件缓存架构? 大小可从 4 KB 到 128 KB(以 2 的方幂形式增长)? I & D 缓存可具有独立大小? 行长度固定为 8 个字? 固定 4 向集关联? 零等待状态存取? 关键词首先缓存行填充? 无阻塞? 虚拟寻址 灵活的 TCM 设计? 哈佛机构? 大小可为 0 KB 或 4 KB 到 1 MB (以二次方形式增长)? 可具有独立大小? 可为 RAM 或
25、ROM? 允许等待状态? ARM968 上的双存储 TCM? 物理寻址o 将非顺序存取停止一个周期以允许地址转换DSP 增强? 单周期 32x16 乘法器实现o 加快所有乘法指令o 流水线设计允许一个 16x16 或 32x16 开始每个周期? 新的 32x16 和 16x16 乘法指令o 允许独立存取 16 位半寄存器o 允许压缩的 16 位操作数高效使用 32 位带宽o ARM ISA 提供 32x32 乘法指令? 有效微小数字饱和算法o QADD、 QSUB、QDADD、 QDSUB? 前导零计数指令o CLZ 加快标准化和除法ARM11:ARM11 处理器系列所提供的引擎可用于当前生产
26、领域中的很多智能手机,还广泛用于消费 类、家庭和嵌入式应用程序。 该处理器的功耗非常低, 提供的性能范围为小面积设计中的 350 MHz 到速度优化设计中的 1 GHz( 45 纳米和 65 纳米)。ARM11 处理器软件可以与以前所 有 ARM 处理器兼容,并引入了用于媒体处理的 32 位 SIMD、用于提高操作系统上下文切 换性能的物理标记 cache、强制实施硬件安全性的 TrustZone 以及针对实时应用的紧密耦合 内存。ARM11 处理器系列功能:? 强大的 ARMv6 指令集架构? ARM Thumb? 指令集可以减少高达 35% 的内存带宽和大小需求? 用于执行高效嵌入式 Ja
27、va 的 ARM Jazelle? 技术? ARM DSP 扩展? SIMD(单指令多数据)媒体处理扩展可提供高达2 倍的视频处理性能? 作为片上安全基础的 ARM TrustZone? 技术( ARM1176JZ-S和 ARM1176JZF-S 处理器)? Thumb-2 技术(仅 ARM1156(F)-S),可提高性能、能效和代码密度? 低功耗:o 0.21 mW/MHz (65G) ,包括 cache 控制器o 节能关闭模式能够处理高级工艺中的静态漏电情况? 高性能整数处理器o 8 级整数流水线可提供高时钟频率(对于 ARM1156T2(F)-S 为 9 级)o 单独的加载 - 存储和算
28、术流水线o 分支预测和返回栈? 高性能内存系统设计o 支持 4-64k cache 大小o 针对多媒体应用领域的、带 DMA 的可选紧密耦合内存o 对于媒体处理和网络应用领域, 高性能 64 位内存系统加快了数据存取速度o ARMv6 内存系统架构加快了操作系统上下文切换速度? 矢量中断接口和低中断延迟模式提高了中断响应速度和实时性能? 用于汽车 / 工业控制和三维图形加速的可选矢量浮点协处理器(ARM1136JF-S、ARM1176JZF-S 和 ARM1156T2F-S 处理器)? 所有 ARM11 系列处理器都作为符合 ARM-Synopsys 参考方法的可交付项来提供, 从而显著缩短了
29、生成内核的特定技术实现的时间,以及生成一组完整的行业标准视 图和模型的时间。Classic处理器比较类别ARM7ARM9ARM11体系结构冯·诺依曼ARMv5TE(哈佛)ARMv6M(哈佛)指令集ARM、 ThumbARM、 ThumbARM、 Thumb 、Thumb-2流水线3级5级8级DMIPS/MHz0.91.11.2NMU无有有DSP扩展否是是单指令多数据扩展否否是浮点支持否是( VFP9)是( VFP11)Cache 支持否是是密集耦合内存否是是TrustZone 安全扩展否否是(仅 ARM1176JZ( F)-S)Cortex-R系列:R4:第一个基于 ARMv7-R
30、体系的嵌入式实时处理器。专用于大容量深层嵌入式片上系统应用, 如硬盘驱动控制器、 无限基带处理器、 消费产品手机 MTK 平台和汽车系统的电子控制单元。R5:2010 年推出,基于 ARMv7-R 体系,扩展了 Cortex-R4 处理器的功能集,支持在可靠的实时 系统中获得更高级别的系统性能、 提高效率和可靠性并加强错误管理。 这些系统级功能包括 高优先级的低延迟外设端口 (LLPP) 和加速器一致性端口 (ACP),前者用于快速外设读写, 后来用于提高效率并与外部数据源达成更可靠的高速缓存一致性。基于 40 nm G 工艺, Cortex-R5 处理器可以实现以将近 1 GHz 的频率运行
31、,此时它可提供 1,500 Dhrystone MIPS 的性能。该处理器提供高度灵活且有效的双周期本地内存接口,使 SoC设计者可以最大限度地降低系统成本和功耗。R7:Cortex-R7 处理器是性能最高的 Cortex-R 系列处理器。它是高性能实时 SoC 的标准。Cortex-R7 处理器是为基于 65 nm 至 28 nm 的高级芯片工艺的实现而设计的,此外其设计 重点在于提升能效、 实时响应性、 高级功能和简化系统设计。 基于 40 nm G 工艺,Cortex-R7 处理器可以实现以超过 1 GHz 的频率运行,此时它可提供 2,700 Dhrystone MIPS 的性能。 该
32、处理器提供支持紧密耦合内存 (TCM) 本地共享内存和外设端口的灵活的本地内存系统, 使 SoC 设计人员可在受限制的芯片资源内达到高标准的硬实时要求。Cortex-R系列处理器比较ARM Cortex-R4ARM Cortex-R5ARM Cortex-R71.68 / 2.02 / 2.45DMIPS/MHz*3.47 CoreMark/MHz*1.67 / 2.01 / 2.45DMIPS/MHz*3.47 CoreMark/MHz*2.50 / 2.90 / 3.77 DMIPS/MHz*4.35 CoreMark/MHz*Lockstep configurationLockstep
33、configuration Dual-core Asymmetric Multi-Processing (AMP) configurationLockstep configurationDual-core Asymmetric Multi-Processing (AMP) with QoS configuration Dual core Symmetric Multi-Processing (SMP) configurationTightly Coupled MemoryTightly Coupled MemoryTightly Coupled MemoryARM Cortex-R4ARM C
34、ortex-R5ARM Cortex-R7(TCM)Low Latency PeripheralPortAccelerator CoherencyPortMicro Snoop Control Unit( SCU)Low Latency Peripheral Port Accelerator Coherency Port Snoop Control Unit (SCU)8-stage dual issue pipeline with instruction pre-fetch and branch prediction8-stage dual issue pipeline with instr
35、uction pre-fetch and branch prediction11-stage superscalar pipeline with out-of-order execution and register renaming and advanced dynamic and static branch prediction with instruction loop bufferI-Cache and D-CacheI-Cache and D-CacheI-Cache and D-CacheHardware divide, SIMD,DSPHardware divide, SIMD,
36、DSPHardware divide, SIMD, DSPIEEE754 Double PrecisionFPUIEEE754 Double Precision FPU or optimized SP Floating Point UnitIEEE754 Double Precision FPU or optimized SP Floating Point UnitMemory Protection Unit(MPU) with 8 or 12 memory regionsMemory Protection Unit(MPU) with 12 or 16 memory regionsMemor
37、y Protection Unit (MPU) with 12 or16 memory regionsECC and Parity protection on L1 memoriesECC and Parity protection on L1 memories and AXI bus portsECC and Parity protection on L1 memoriesError management with error bankVectored Interrupt Controller (VIC) Port or Generic Interrupt Controller (GIC)Vectored Interrupt Controller (VIC) or Generic Interrupt Controller (GIC)Integrated Generic Interrupt Controller (GIC)总结:Cortex-A:面向尖端的基于虚拟内存的操作系统和用户应用 Cortex-R:针对实时系统Cortex-M :微控制器