ARM® Cortex®-A35 处理器的发布标志着 ARM 全新系列超高能效应用处理器的开端。ARM 今天发布了该系列的第二个成员 Cortex-A32 —— 一款全新的 32 位处理器。Cortex-A32 的亮点包括:
在本文中,我将介绍市场环境和 Cortex-A32 的一些亮点,同时回答以下问题:为什么我们要开发 Cortex-A32?
嵌入式市场
嵌入式市场极为多样化。它涵盖数不胜数的产品(几乎涉及所有事物,而非一部手机、一台电脑或一台服务器),并且横跨大范围的处理要求。而 ARM 的三大处理器系列可以很好地满足嵌入式市场的多样化要求:Cortex-A、Cortex-R 和 Cortex-M。A、R 和 M 系列的根本差异如下所示:
关于嵌入式市场中的 Cortex-M 处理器,很多作者都写过文章,这些处理器非常盛行。迄今为止,更少人关注嵌入式应用中正在越来越多地使用 Cortex-A 处理器。本篇博文将重点讨论这些需要完整操作系统的丰富嵌入式应用。这些是 Cortex-A 处理器的用武之地。
有两项基本方面使得丰富嵌入式应用不同于使用 Cortex-R 和 Cortex-M 处理器的传统型嵌入式应用。第一个方面为丰富的操作系统支持,这需要虚拟内存和内存管理单元。绝大多数基于 Cortex-A 的嵌入式产品运行基于完整虚拟内存的操作系统,如 Linux、Android 和 Windows。第二个方面为更高的性能。所需的性能也极为多样化,并且在某些情况下,嵌入式应用所需的性能接近于智能手机和笔记本电脑所需的性能;而 Cortex-A 处理器当然可以提供这样的性能。
丰富嵌入式市场已日趋成熟。根据 VDC 公司的估计,基于 ARM 的设备在丰富嵌入式细分市场 (SoC) 的份额超过了 70%。正如整个嵌入式市场一样,丰富嵌入式市场也极为多样化。该市场存在诸多用例,一些需要较高的性能,而另一些则对成本和功耗非常敏感。让我们来看看几个例子:工业设备、智能手表、智能眼镜以及各种各样家用产品 - 从恒温器到多媒体中心。这些设备均使用 Cortex-A 处理器,可为用户提供更丰富的体验。
丰富嵌入式市场正在迅猛发展,背后有两大推动因素:
现今,市面上提供有 100 多种基于 Cortex-A 的单板计算机 (SBC),且性能和成本点各异。随着丰富的操作系统、开源代码和所有权变得越来越普及,嵌入式开发已向越来越多的开发人员敞开大门。Cortex-A 处理器的软件生态系统也包括领先的 RTOS 和嵌入式工具供应商提供的支持。他们对于 Cortex-A 的兴趣来自于其客户的需求,这些客户想要利用 Cortex-A 的性能、兼容性、广泛的可用性以及多供应商和价格/性能点的优势。
最近,关于 64 位的谈论屡见不鲜,从而推动了智能手机和开放计算市场的发展;但是在嵌入式领域,大多数软件生态系统仍注重于 32 位软件。尽管有一些嵌入式应用正在向 64 位迈进,如高端 SBC、NAS 和 ADAS 系统,但仍有很多嵌入式应用坚持使用 32 位软件以降低成本和复杂程度。在可预见的未来,我们预计仍有大量嵌入式设备保持 32 位。
Cortex-A32 处理器的亮点
首先,我们是针对嵌入式市场开发的 Cortex-A32 处理器。嵌入式市场前景无限,并且我们想要继续开发可加快该市场创新的处理器。那么,Cortex-A32 处理器能够为丰富嵌入式市场提供哪些优势?
让我们来看看这些关键优势的一些详细信息。
1.ARMv8-A 架构增强
Cortex-A32 是唯一一款适用于 32 位计算的 ARMv8-A 处理器。同样地,Cortex-A32 为目前使用 ARMv7-A 处理器(如 Cortex-A5 和 Cortex-A7)或 ARM 经典处理器(如 ARM926 和 ARM1176)的应用提供 ARMv8 升级路径。
ARMv8-A 架构在 AArch32 和 AArch64 执行状态下同时支持 32 位和 64 位计算功能。Cortex-A32 经过优化,可在 AArch32 执行状态下支持 A32/T32 指令集,这对于需要最低成本和功耗的 32 位丰富嵌入式应用而言是理想之选。即便在 AArch32 下,ARMv8-A 也能添加 100 多种新指令,而 Cortex-A32 将从所有这些指令中受益。
2.更高的效能和性能
在相同工艺节点下,Cortex-A32 的效能比 Cortex-A7 提高了 25%(每 mW 下能够提供更多性能)。Cortex-A32 通过性能改进和减耗实现了这一效能,这两者通常是相互冲突的设计目标,Cortex-A32 团队却设法做到了两全其美。
相较于 Cortex-A5 和 Cortex-A7 处理器,Cortex-A32 的性能也得到了改进。在与嵌入式市场相关的一系列基准中,相对于 Cortex-A5 的性能改进范围介于 30% 至 1300% 之间。流处理和加密是这一范围顶端的关键基准。相较于 Cortex-A7,Cortex-A32 的性能提高了 5% 到 25%。通盘考虑,Cortex-A32 提供的性能与 Cortex-A9 相似,而后者是仅仅几年前的高端智能手机的标准。目前,该性能即将进入成本最低的丰富嵌入式设备,并且功耗已大幅降低。
对于整数型工作负载而言,由于 Cortex-A32 兼顾了性能改进和减耗,在效能方面比 Cortex-A7 和 Cortex-A5 分别高出 25% 和 30%。相较于 Cortex-A35,Cortex-A32 提供相同的 32 位性能,但是功耗却降低了 10% 且内核面积减少了 13%。这意味着,Cortex-A32 处理器在 32 位领域所能提供的能效比 Cortex-A35 处理器高出 10%。
3.可扩展性
考虑到嵌入式应用的多样化,我们知道我们必须使 Cortex-A32 具备可扩展性。因此,Cortex-A32 提供大量配置选项。以下图表显示了 Cortex-A32 的两种配置,但是两者之间存在多种可能性。
上述图表左侧的配置显示了性能经过优化的典型多核配置(四核、更大的缓存大小),包含 NEON 和加密引擎等可选功能。此配置为大多数丰富嵌入式应用提供出色的性能,并保留了 ARM 在低功耗方面的领先地位 - 当在 28nm 工艺节点上以 1.0 GHz 运行时,每处理器内核消耗的功率小于 75mW。而另一侧显示的是 Cortex-A32 处理器的最小配置,它采用已针对面积优化的物理实施,其所占面积小于 mm2 的四分之一,且在相同的 28nm 工艺节点上以 100 MHz 运行时,所消耗的功率小于 4mW。凭借这一可扩展性,Cortex-A32 适用于大量丰富嵌入式应用。
总而言之,成本最低的丰富嵌入式应用将变得更加精彩。对于丰富嵌入式应用而言,Cortex-A 已是首选的 CPU 架构。Cortex-A32 不仅扩充了 Cortex-A 系列,而且还增添了目前为止效能最高的 32 位应用处理器。未来,Cortex-32 定会在丰富嵌入式领域和 IoT 领域推动创新,而我已迫不及待地想要看到我们的合作伙伴将利用它开发出怎样的产品。