近日,在一年一度的 ARM Techcon 2019 大会上,ARM 宣布推出一项全新的功能 Arm Custom instructions,该功能允许客户在特定的 CPU 内核中加入自定义指令功能,从而来加速特定的用例、嵌入式和物联网应用程序。
ARM 拥抱自定义指令集
据了解,Arm Custom Instructions 功能适用于 Cortex-M33 内核及以后的 Cortex-M CPU 系列。从 2020 上半年起,所有使用上述 CPU 内核的 Arm 客户都可以免费使用自定义指令功能;也就是说,Arm 不会对新的或既有授权厂商收取额外费用,同时让系统单芯片(SoC)设计人员在没有软件碎裂风险下,得以针对特定嵌入式与物联网应用加入自己的指令。
另外,通过对 CPU 进行修改来启用 Arm 自定义指令,为处理器保留编码空间,以便设计人员可以轻松添加自定义数据路径扩展,同时保持现有软件生态系统的完整性。此功能与现有的协处理器接口一起使 Cortex-M33 CPU 可以使用针对机器学习(ML)和人工智能(AI)等边缘计算进行了优化和各种类型的加速器进行扩展。
Cortex-M 是是 ARM 公司多种系列产品中的其中一个,该处理器系列是一系列可向上兼容的高能效、易于使用的处理器,这些处理器旨在帮助开发人员满足将来的嵌入式应用的需要,比如说以更低的成本提供更多功能、不断增加连接、改善代码重用和提高能效。雷锋网了解到,Arm Cortex-M 系列针对成本和功耗敏感的 MCU 和终端应用(如智能测量、人机接口设备、汽车和工业控制系统、大型家用电器、消费性产品和医疗器械)的混合信号设备进行过优化,也可以与智能手机和 PC 的应用程序中的 Cortex-A 性能内核配合使用。
不过,Arm Cortex-M 处理器的内核主要还是应用在低功耗嵌入式处理器(比如说 IoT 终端设备所用的处理器)中,已许可给 40 个以上的 ARM 合作伙伴,包括恩智浦、意法半导体、德仪和东芝等供应商,每年的出货量可达数亿级别。
在发布会上,Arm 宣布已经与不少合作伙伴进行合作来支持自定义指令集,这些合作伙伴包括 IAR-Systems、恩智浦、芯科科技、ST 意法半导体等。
对于 Arm 的这一动作,Arm CEO Simon Segars 表示:
这将使你们所有人都能更快地行动起来。添加此功能后,我们对如何支持工具流程进行了很多思考。Arm 于 7 月宣布了其灵活设计计划,过去两年中签署的 Arm 处理器许可中有 75% 现在包括了该计划,开发人员可以在此调整设计,而不必不断返回 Arm 进行审批……随着我们迈向第五波计算浪潮,我期待更多的创造力。定制说明更进一步。Arm 设计了一种方法,可以支持智能集成和快速开发完全集成的自定义 CPU 指令,而不会产生软件碎片。
另外,ARM 方面表示,新增的 Arm Custom Instructions 功能,结合此前 Arm 推出的 Arm Flexible Access 计划,都是为了致力于增强芯片合作伙伴的灵活性和差异化,以支持机器学习、人工智能、自驾车、5G 与物联网等全新边缘运算的机会——为此,Arm Custom Instructions 在未来的 Arm Cortex-M CPU 上将变成标准功能,使这款 CPU 成为 Arm 历来最成功的 CPU 之一。
Arm 显然感受到了压力
在移动互联网时代,Arm 显然是绝对的主流;就在这次大会上,Arm CEO Simon Segars 也表示,成立近 30 年来,在 1000 多个合作伙伴的推动下,Arm 核心的出货量已经超过 1500 亿。
但显然,随着移动互联网时代的结束和 IoT 时代的到来,Arm 已经感受到了来自 RISC-V 的压力。
RISC-V 是一个精简指令集架构(ISA),源自加州大学伯克利分校 2010 年的一个新项目,其架构简单、完全开源,且可通过扩展指令做定制化。推出几年后受到了全球范围内巨头们的支持,英伟达、西部数据、谷歌、高通、微软、华为、阿里巴巴等都加入了 RISC-V 基金会。并且,在印度政府的大力资助下,RISC-V 还成为了印度的国家指令集——当然在中国市场 RISC-V 也颇受关注。
实际上,RISC-V 作为新的开源指令集架构已经引发了全球的关注,而去年 Arm 建立网站对 RISC-V 攻击的行为表明了 Arm 对于这个新架构的担心,Arm 还对 RISC-V 质疑称可扩展指令集会带来碎片化的问题。
但显然,RISC-V 的优势也让 Arm 忌惮不已。雷锋网在采访非营利性组织 RISC-V 基金会中国顾问委员会主席方之熙之后认为,让 Arm 真正感到焦虑的,是 RISC-V 的灵活性,这种灵活性能够更好地满足未来市场的需求;基于 RISC-V 的灵活性,它能够在 IoT、专用芯片、数据中心、边缘计算市场发挥出性能、功耗、安全性的优势。
在雷锋网看来,Arm 加入自定义指令集的本质,正是为了增强自身内核架构的灵活性,从而在 IoT 时代与和 RISC-V 正面竞争。
当然,RISC-V 的发展确实存在一些问题,比如碎片化风险,生态系统的建设还处于早期阶段,同时,想要设计相对复杂的 RISC-V 芯片仍然需要工具链的支持。反过来看,RISC-V 的劣势其实也正是 Arm 目前的优势所在——在发布会上,Arm 强调称,Arm Custom Instructions 为集成客户工作负载加速提供了最低成本(和风险)的途径,因为它不会对影响到现有的 CPU 特性,并且仍然允许客户使用他们已经熟悉的现有标准工具。
对于 Arm 作出的改变,它的客户已经表达了正面回应;比如说,恩智浦高级副总裁兼 MICR 产品事业部总经理 Geoff Lees 就表示:
Arm 的新自定义指令功能,使像恩智浦这样的芯片供应商能够为其客户提供针对特定应用的全新指令优化,以提高性能,功耗和静态代码大小,以适应新兴的嵌入式应用程序……此外,所有这些改进都在广泛的 Cortex-M 生态系统中实现,因此客户的现有软件投资得以最大化。
总结
其实,除了宣布在 CPU 内核中加入自定义指令,ARM 还在 TechCon 2019 大会上宣布更改其免费开源物联网操作系统 Mbed OS 的合作伙伴治理模型,与诸多合作伙伴成立自动驾驶汽车计算联盟,还宣布与 Unity Technologies 合作来支持各种 3D 内容创作——但总体来看,Arm 对自定义指令集的拥抱,成为本次大会的最大看点。
而从整个行业来看,Arm 对自定义指令集的拥抱,将增加 AI + IoT 时代芯片架构发展的不确定性和变数——但对客户来说,更激烈的竞争未必不是一件好事。