1.1 Helium简介
Arm是业界领先的微处理器供应商,给客户提供范围广泛的微处理器内核,以满足几乎所有应用市场的性能、功耗和成本要求。该公司不生产硅片。相反,Arm设计微处理器,并将其授权给半导体公司和原始设备制造商(Original Equipment Manufacturer,OEM),然后由它们将已授权的微处理器设计集成到片上系统(System on Chip,SoC)设备中去。由此,一个由1000多家公司组成的生态系统设计和制造硅片,并编写开发工具和软件。
在介绍Helium之前,理解Arm的架构与具体实现之间的区别会很有用。为了保证不同处理器之间的兼容性,Arm定义了一系列架构规范。这些规范提供了关于中央处理单元(Central Processing Unit,CPU)之间为了保持兼容性必须满足的行为的相关定义。每一款实现Arm架构的处理器都必须遵从特定版本的Arm架构。
Arm处理器广泛用于不同的应用,具有不同的应用性能和价位——从物联网传感器节点到超级计算机。这意味着客户有相当广泛的处理器可供选择。这些处理器都是按照不同配置文件分类的,并遵从不同版本的Arm架构。
• Cortex-A——应用处理器。它们被用于非常复杂或超高性能的场景中,这些场景一般需要支持操作系统,如Linux、Windows或Android。
• Cortex-R——这些处理器针对实时系统,例如硬盘驱动控制器和移动手机基带等系统。
• Cortex-M——微控制器类的处理器。这些处理器常用于要求低成本或低功耗的系统,或更具确定性、中断响应更快速的系统中。据Arm统计,截至2019年,全球已经制造了超过450亿个基于Cortex-M的芯片。
另外,Arm采用品牌名称Neoverse来命名其在基础设施市场领域的产品。
Cortex-M处理器非常小,可以很容易地集成到SoC设计中。这些处理器实现了被称为M系列的Arm架构的某一个版本。几个不同的版本如下所示。
• Armv6-M——这是由Cortex-M0、Cortex-M0+和Cortex-M1处理器实现的。这些非常流行的CPU具有高能效和小型化的特点。(Arm声称在40纳米工艺制程下Cortex-M0+的面积仅为0.0066平方毫米,这也就意味着每平方毫米的硅片上可以容纳150个这样的CPU。)
• Armv7-M——该版本的架构由Cortex-M3、Cortex-M4和Cortex-M7处理器实现,这些处理器具有更高的性能。Armv7-M的指令集架构提供了对增量寻址模式、条件执行、位域处理以及乘加硬件的支持。Cortex-M4和Cortex-M7支持32位SIMD操作和可选的浮点单元(Floating-Point Unit,FPU)。该浮点单元可能是Cortex-M4或Cortex-M7支持的单精度浮点单元,也可能是Cortex-M7上面可选的双精度浮点单元。Cortex-M7是超标量的架构,可以支持高速缓存和紧耦合内存(Tightly-Coupled Memory,TCM)。
• Armv8-M——此版本的架构添加了一些新功能,例如对TrustZone安全扩展的支持,并由最新的Cortex-M处理器(例如Cortex-M23和Cortex-M33)实现。
Arm公司还提供了Ethos系列的神经元处理单元(Neural Processing Unit,NPU)。这款Ethos-U55微神经元处理单元旨在加速面积受限的嵌入式和物联网设备中机器学习推理算法的性能。