ARM_Cortex各系列处理器分类比较
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Cortex-M系列
M0:
Cortex-M0是目前最小的ARM处理器,该处理器的芯片面积非常小,能耗极低,且编程所需的代码占用量很少,这就使得开发人员可以直接跳过16位系统,以接近8 位系统的成本开销获取32 位系统的性能。Cortex-M0 处理器超低的门数开销,使得它可以用在仿真和数模混合设备中。
M0+:
以Cortex-M0 处理器为基础,保留了全部指令集和数据兼容性,同时进一步降低了能耗,提高了性能。2级流水线,性能效率可达1.08 DMIPS/MHz。
M1:
第一个专为FPGA 中的实现设计的ARM 处理器。Cortex-M1 处理器面向所有主要FPGA 设备并包括对领先的FPGA 综合工具的支持,允许设计者为每个项目选择最佳实现。
M3:
适用于具有较高确定性的实时应用,它经过专门开发,可使合作伙伴针对广泛的设备(包括微控制器、汽车车身系统、工业控制系统以及无线网络和传感器)开发高性能低成本平台。此处理器具有出色的计算性能以及对事件的优异系统响应能力,同时可应实际中对低动态和静态功率需求的挑战。
M4:
由ARM 专门开发的最新嵌入式处理器,用以满足需要有效且易于使用的控制和信号处理功能混合的数字信号控制市场。
M7:
在ARM Cortex-M 处理器系列中,Cortex-M7 的性能最为出色。它拥有六级超标量流水线、灵活的系统和内存接口(包括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,带有可选ECC
Cortex-A系列:
ARM Cortex-A 系列是一系列用于复杂操作系统和用户应用程序的应用程序处理器。Cortex-A 系列处理器支持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 相似,但性能提升15~20%,Cortex-A7是ARM的大小核设计中的小核部分,并且与高端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的大小核设计。小型高能效的Cortex-A7 是最新低成本智能手机和平板电脑中独立CPU 的理想之选,并可在big.LITTLE 处理配置中与Cortex-A15 结合。
A8:
第一个使用ARMv7-A架构的处理器,很多应用处理器以Cortex-A8为核心。
Cortex-A8 处理器是一个双指令执行的有序超标量处理器,针对高度优化的能效实现可提供 2.0 Dhrystone MIPS(每 MHz),这些实现可提供基于传统单核处理器的设备所需的高级别的性能。Cortex-A8 在市场中构建了 ARMv7 体系结构,可用于不同应用,包括智能手机、智能本、便携式媒体播放器以及其他消费类和企业平台。分开的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能并发某些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控制器提供了硬件的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处