1. 简介
在ARM11之后的处理器家族,改采Cortex命名,并针对高、中、低阶分别划分为A、R、M三大处理器。
像是高阶手机用的Coretex-A系列,或者是微控制器所使用的Coretex-M系列,
需要较高性能、或是实时处理的系统则改用Coretex-R系列。
除了Cortex-M0、Cortex-M1为ARMv6-M,冯?纽曼架构之外,其他Cortex的处理器架构更新到ARMv7,一样由高至低分成ARMv7-A、
ARMv7-R、ARMv7-M三种,其中ARMv7-M不支持最原始的ARM指令集,仅支持16bit的Thumb指令集,却加入NVIC(Nested Vectored
Interrupt Controller),提供更快的中断处理、还有负责CPU在深层睡眠时的中断处理WIC(Wake-up Interrupt Controller)。
Cortex-A(ARMv7-A)和Coretex-R(ARMv7-R)2种架构基本上是相同的,都支持更新的进阶型SIMD处理,称为NEON,ARM宣称效
能至少是上一代处理器架构ARMv6的2倍。NVIDIA的Tegra 2处理器较为特殊,虽是采用Cortex-A的CPU,但没有包含NEON,反而使用自
家的技术,内建专门的音频处理器和视讯处理器。
Cortex-A和 Coretex-R最大的差异在于内存管理单元部分:
Cortex-A使用MMU(memorymanagement unit)
Cortex-R使用MPU(memoryprotection unit)
前者的内存管理单元提供虚拟内存的支持,后者只能运作在内存保护模式。
2. Cortex-A
ARM Cortex?-A 系列的应用型处理器可向托管丰富的操作系统平台的设备和用户应用提供全方位的解决方案,包括超低成本的手机、智能手机、移动计算平台、数字电视、机顶盒、企业网络、打印机和服务器解决方案。高性能的 Cortex-A15、可伸缩的 Cortex-A9、经过市场验证的 Cortex-A8 处理器和高效的 Cortex-A5 处理器均共享同一体系结构,因此具有完整的应用兼容性,支持传统的 ARM、Thumb? 指令集和新增的高性能紧凑型 Thumb-2 指令集。
3. Cortex-R
ARM Cortex?-R实时处理器为具有严格的实时响应限制的深层嵌入式系统提供高性能计算解决方案。目标应用包括:
· 智能手机和基带调制解调器中的移动手机处理。
· 企业系统,如硬盘驱动器、联网和打印。
· 家庭消费性电子产品、机顶盒、数字电视、媒体播放器和相机。
· 用于医疗行业、工业和汽车行业的可靠系统的嵌入式微控制器。
在这些应用中,采用的是对处理响应设置硬截止时间的系统,如果要避免数据丢失或机械损伤,则必须符合所设置的这些硬截止时间。因此 Cortex-R 处理器是专为高性能、可靠性和容错能力而设计的,其行为具有高确定性,同时保持很高的能效和成本效益。
Cortex-R 实时系列处理器使用实时操作系统提供在硬实时限制下运行的高性能和深层嵌入式应用的必要功能。此功能集将 Cortex-R 与 Cortex-M 和 Cortex-A 系列处理器区别开来。显而易见,Cortex-R 提供的性能比 Cortex-M 系列提供的性能高得多,而 Cortex-A 专用于具有复杂软件操作系统(使用虚拟内存管理)的面向用户的应用。
4. Cortex-M
ARM Cortex?-M 处理器系列是一系列可向上兼容的高能效、易于使用的处理器,这些处理器旨在帮助开发人员满足将来的嵌入式应用的需要。这些需要包括以更低的成本提供更多功能、不断增加连接、改善代码重用和提高能效。
Cortex-M系列针对成本和功耗敏感的 MCU 和终端应用(如智能测量、人机接口设备、汽车和工业控制系统、大型家用电器、消费性产品和医疗器械)的混合信号设备进行过优化。
比较 Cortex-M 处理器
Cortex-M 系列是必须考虑不同的成本、能耗和性能的各类可兼容、易于使用的嵌入式设备(如微控制器 (MCU))的理想解决方案。每个处理器都针对十分广泛的嵌入式应用范围提供最佳权衡取舍。
ARM Cortex-M0ARMCortex-M3ARM Cortex-M4
“8/16 位”应用
“16/32 位”应用
“32 位/DSC”应用
低成本和简单性
性能效率
有效的数字信号控制
Cortex-M 系列处理器都是二进制向上兼容的,这使得软件重用以及从一个 Cortex-M 处理器无缝发展到另一个成为可能。
http://t17.techbang.com/topics/16639-fully-understand-arm-processors-cisc-and-risc-are-what-history-structure-a-see-through