3.5.3 典型的ARM处理器
ARM微处理器目前有多个系列可供选择,每一个系列的ARM微处理器都有各自的特点和应用领域,可以粗略划分为应用处理器、嵌入式处理器和经典ARM处理器三大类,如图3- 11所示。
图3-11 ARM处理器概况
3.5.3.1 ARM应用处理器
ARM Cortex应用程序处理器是开放式操作系统的高性能处理器Cortex-A系列,在高级工艺节点中可实现高达“2 GHz+标准频率”的卓越性能,从而可支持下一代的移动Internet设备。这些处理器具有单核和多核种类,最多提供4个具有可选NEON多媒体处理模块和高级浮点执行单元的处理单元,可执行复杂操作系统和支持复杂图形用户界面,如图3-12所示。此类处理器集成了内存管理单元(memory managment unit,MMU)来管理这些复杂操作系统的内存需求,并允许下载和执行第三方软件。
Cortex-A5、Cortex-A8、Cortex-A9和Cortex-A15处理器都适用于各种不同的性能应用领域。不过,尽管这些处理器都支持同样卓越的基础功能和完整的软件兼容性,但提供了显著不同的特性,可确保其完全符合未来高级嵌入式解决方案的要求。高性能的Cortex-A15,可伸缩的Cortex-A9、经过市场验证的Cortex-A8处理器和高效的Cortex-A5处理器均共享同一体系结构,因此具有完整的应用兼容性,支持传统的ARM、Thumb指令集和新增的高性能紧凑型Thumb-2指令集。
图3-12 应用处理器
Cortex-A8微处理器是ARM Cortex新系列中第一款采用ARMV7架构中所有新技术的ARM处理器,是ARM公司截至目前开发的速度最快、最节能的处理器,是灵活的低功耗、高性能处理领域的巨大跃迁;最高可达2 000 MIPS,使它成为运行多通道视频、音频和游戏应用的要求越来越高的消费产品的最佳选择。
Cortex-A9微架构可提供两种选项:可扩展的Cortex-A9 MPCore多核处理器或较为传统的Cortex-A9单核处理器。可扩展的多核处理器和单核处理器支持16 KB、32 KB或64 KB四路组相连一级缓存的配置,具有无与伦比的灵活性,皆能达到特定应用和市场的要求。Cortex-A9和Cortex-AMC是ARM处理器家族中的两个新成员,旨在满足单核和多核处理器设计需求;采用相同的微架构,整合多种特色功能,使处理器核心和整个集成系统的架构功能、性能和功效得到了大幅提升。Cortex-A9单核处理器比现有ARM11级设备提供了更好的性能和功效,不但增强了移动设计的功能,而且降低了功耗水平。在实现方面,Cortex-A9处理器还具有出色的架构软件兼容性,能够在达到Cortex-A8级性能的前提下降低成本,从而扩大了相关软件投资的市场应用范围。而MPCore型处理器则拥有先进的电源管理功能,能够进一步降低功耗,达到并超过了日益增多的市场和应用对功耗的要求。除此之外,Cortex-A9 MPCore还拥有卓越的性能可扩展性,能够很好地满足特定应用和市场所要求的性能。
3.5.3.2 ARM嵌入式处理器
ARM嵌入式处理器主要着重于在各种功耗敏感型应用中提供具有高确定性的实时行为。这些处理器通常执行实时操作系统和用户开发的应用程序代码,因此只需内存保护单元(MPU),而不需要应用程序处理器中提供的内存管理单元(MMU),主要涉及Cortex-M0和Cortex-M3系列处理器。该类处理器可提供行业领先的具有确定性的行为、最低睡眠功耗和动态功耗以及尽可能小的面积,同时保持较高的处理效率。
1)Cortex-M系列
Cortex-M系列产品如图3-13所示。Cortex-M0针对FPGA应用,Cortex-M1用于替代低成本MCU,而Cortex-M3主要为了占领高性能MCU市场。
图3-13 Cortex-M系列产品
Cortex-M0处理器是目前市场上尺寸最小、功耗最低的32位ARM处理器。这款处理器功耗极低、门数少、代码资源占用小,是超低功耗MCU和混合信号应用的理想之选,可以以16位的资源占用来提供32位的性能和效率。ARM Cortex-M1处理器是第一个专为FPGA中的实现设计的ARM处理器。面向所有主要FPGA设备并包括对领先的FPGA综合工具的支持,ASIC和ASSP的多个项目之间合理地利用软件和工具投资来节省大量成本,此外还能够通过使用行业标准处理器实现更大的供应商独立性。
ARM Cortex-M4处理器将以32位控制与领先的数字信号处理技术集成来满足需要很高能效级别的市场,高效的信号处理功能与Cortex-M处理器系列的低功耗、低成本和易于使用的优点组合,为面向电动机控制、汽车、电源管理、嵌入式音频和工业自动化市场提供灵活解决方案。Cortex-M4处理器已设计为具有适用于数字信号控制市场的多种高效信号处理功能,采用扩展的单周期乘法累加(MAC)指令、优化的SIMD运算、饱和运算指令和一个可选的单精度浮点单元(FPU)。
2)Cortex-R系列
Cortex-R4处理器是第一个基于ARMV7-R体系结构的深层嵌入式实时处理器,2006年5月投放市场。Cortex-R4处理器可通过内存保护单元(MPU)、高速缓存以及紧密耦合内存(TCM)让处理器能针对各种不同的嵌入式应用进行最佳化调整,且不会影响基本的ARM指令集兼容性,协助应用软件开发者与OEM厂商重复运用现有的软件投资。
Cortex-R7处理器是性能最高的Cortex-R系列处理器,其设计重点在于提升能效、实时响应性、高级功能和简化系统设计,是高性能实时SoC的标准。Cortex-R7处理器可以实现以超过1 GHz的频率运行,此时可提供2700DMIPS的性能。Cortex-R7处理器为范围广泛的深层嵌入式应用提供了高性能的双核、实时解决方案,通过引入新技术(包括无序执行和动态寄存器重命名),并与改进的分支预测、超标量执行功能及用于除法和其他功能的更快的硬件支持相结合,提供了比其他Cortex-R系列处理器高得多的性能级别。
3.5.3.3 经典ARM处理器
经典ARM处理器的推出时间已超过15年,ARM7 TDMI仍是市场上销量最高的32位处理器。经典ARM处理器由ARM11、ARM9和ARM7这3个处理器系列组成,包含8个处理器。但是,ARM微处理器有多达十几种的内核结构、几十个芯片生产厂家以及千变万化的内部功能配置组合,从而给开发人员在选择方案时带来一定的困难。
目前ARM公司推荐使用Cortex系列代替经典的ARM7~ARM11系列,ARM7的程序可以很容易地升级到Cortex。如果希望使用WinCE或标准Linux等操作系统以减少软件开发时间,就需要选择带有MMU功能的ARM芯片,虽然ARM9和ARM11都带有MMU功能,但Cortex-A系列更值得深一步的研究。表3-4描述了经典ARM7~ARM11与新型Cortex之间的对应关系。
表3-4 ARM7~ARM11与新型Cortex之间的对应关系