ARM处理器现在分成了三个系列(如图1),从家族来讲是A系列、R系列和M系列。A系列主要是面向应用的处理器,R面向实时性处理器,M主要是面向微控制器。在ARM的架构里,每个系列都有独特的特征。针对这些独特的特征,每个系列里都推出了独特的处理器。
ARM现有的这些架构现在都有ARMv8架构了(图1)。针对ARMv8-A,公司在2013年已经推出了Cortex-A57和Cortex-A53。公司也在不断地扩展ARMv8-A指令架构,推出了ARMv8.1和ARMv8.2。ARMv8.1我们有Far Atomics,NEON指令,以及对于虚拟化的增强。而ARMv8.2支持半精度浮点(Half Precision Floating point)以及针对一些服务器的RAS 特征。

每个系列都有独特的功能以及特性(图2)。Cortex-A支持Linux/Rich OS, 32位/64位的ARM指令集,在软件上支持软件中断管理。在存储方面,支持多级缓存。在安全性方面,提供ASIL B级的支持。
对Cortex-R目前有支持MMU的,所以它也可以支持Rich OS。同样我们也可以选择支持MPU的操作系统,在Cortex-R上我们只有32位ARM指令集和Thumb指令集,这主要是专门针对嵌入式市场做的优化。在终端,ARM有专门的软件管理,还有一个Cache和TCM以及安全性方面支持ASIL D。
Cortex-M系列主要针对超低功耗以及最小面积进行设计的,所以目前我们是支持实时性的操作系统RTOS,目前支持32位Thumb的指令集。在终端这方面支持硬件中断管理,终端处理的速度可以是非常快的。在Cache和TCM这方面一般是用Cortex-M7来进行支持,在安全性方面,我们支持到 ASIL-D。
不同的处理器可处理不同的应用(图3)。例如,在可穿戴方面,主要用Cortex-A和Cortex-M。存储方面是Cortex-R和Cortex-M。在ADAS方面有Cortex-A和Cortex-R,由于ADAS对安全性要求特别高,所以针对Cortex-R,ARM做了特别的优化,提供了一些function package(功能包)。在ADAS这边,还有一些高性能的,可以用Cortex-A进行处理。在移动消费市场,Cortex-A、Cortex-R和Cortex-M都有应用,A来做应用处理器,R主要是做基带,Cortex-M可能会用于sensor hub(传感器中枢)的芯片领域。
NVIDIA & Freescale
|
|
|
|
NVIDIA® Tegra™ K1 NXP® Kinetis™ K20 Companion MCU |
NXP® i.MX 8QuadMax |
— / NVIDIA® Tegra™ 3 |
NXP®/Freescale i.MX 6Quad / NXP®/Freescale i.MX 6Dual |
ARM Cortex™-A15 Cortex™-M4 (Companion MCU) |
ARM Cortex™-A72, Cortex™-A53, Cortex™-M4 |
— / ARM Cortex™-A9 |
ARM Cortex™-A9 |
Up to 2.1 GHz (A15) 100 MHz (M4) |
1.6GHz (A72), 1.2GHz (A53), 266MHz (M4) |
Up to 1.4 GHz |
800 MHz / 1.0 GHz |
VFPv4 |
Yes |
VFPv3 |
VFPv3 |
Yes |
Yes |
Yes |
Yes |
Yes |
— |
— |
— |
32KByte per core |
32KB (A72), 32KB (A53), 16KB (M4) |
32KByte per core |
32KByte per core |
32KByte per core |
32KB (A72), 32KB (A53), 16KB (M4) |
32KByte per core |
32KByte per core |
NVIDIA® Tegra™ 3 |
NVIDIA® Tegra™ 2 |
NXP® i.MX 8X |
NXP®/Freescale i.MX 7Dual / NXP®/Freescale i.MX 7Solo |
NXP®/Freescale i.MX 6DualLite / NXP®/Freescale i.MX 6Solo |
NXP® i.MX 6ULL |
NXP®/Freescale Vybrid™ |
NXP®/Freescale Vybrid™ |
Marvell® PXA310 |
Marvell® PXA320 |
Marvell® PXA270 |
ARM Cortex™-A9 |
ARM Cortex™-A9 |
ARM Cortex™-A35, Cortex™-M4 |
ARM Cortex™-A7, Cortex™-M4 |
ARM Cortex™-A9 |
ARM Cortex™-A7 |
ARM Cortex™-A5 |
ARM Cortex™-A5, Cortex™-M4 |
Intel XScale® ARM |
Intel XScale® ARM |
Intel XScale® ARM |
Up to 1.4 GHz |
1.0 GHz |
1.2GHz (A35) |
1.0 GHz (A7), 200 MHz (M4) / 800 MHz (A7), 200 MHz (M4) |
1.0 GHz / 800 MHz |
800 MHz / 528 MHz |
400 MHz |
500 MHz (A5), 167 MHz (M4) |
624 MHz |
806 MHz |
520 MHz / 312 MHz |
VFPv3 |
VFPv3-D16 |
Yes |
VFPv4 |
VFPv3 |
VFPv3 |
VFPv4 |
VFPv4 |
— |
— |
— |
Yes< |