在圣何塞举行的年度TechCon大会上,Arm宣布了可以由客户定制的自定义指令,这是其Armv8-M架构用于嵌入式CPU的一项新功能,嵌入式和物联网应用程序。顾名思义,它使客户能够编写自己定制的自定义指令,以加速他们的嵌入式和物联网应用的特定用例。
“我们已经有了增加加速度的方法,但是还没有深入到CPU的核心。ARM汽车和物联网业务高级总监Thomas Ensergueix表示:“我们在这方面给予我们客户的灵活性,可以编写自己的指令,定义自己的指令,并由CPU执行。”
他指出,Arm有一系列加速选项,首先是它的内存映射架构,用于通过总线GPU以及神经处理器单元进行连接。这允许CPU和加速器并行运行,但是总线是瓶颈。客户也可以选择直接连接到CPU的协处理器,不过今天推出的自定义指令将允许客户直接创建他们自己的加速算法,然后直接在CPU上运行。这意味着与内存映射解决方案相比可以获取更低的延迟。
正如Arm所指出的,这种设置为集成客户工作负载加速提供了最低成本(和风险)的途径,因为它不会对影响到现有的CPU特性,并且仍然允许客户使用他们已经熟悉的现有标准工具。
目前,自2020年上半年开始,自定义指令只能在Arm Cortex-M33 cpu上实现。后续它也会适用于未来所有的Cortex-M处理器。不需要为Arm的客户支付额外的费用或购买新的许可证。
Ensergueix指出,随着我们进入一个设备连接越来越多的世界,Arm的更多客户将希望优化他们的处理器,以适应他们通常非常具体的用例,例如,通过创建定制指令,可以更多的减小功耗,以获得更多的电池寿命。
Arm已经与众多合作伙伴合作,以支持定制指令,这些客户包括IAR Systems,恩智浦,Silicon Labs和意法半导体等。
恩智浦的Geoff Lees表示:“ Arm的新自定义指令功能使像恩智浦这样的芯片供应商能够为其客户提供针对特定应用的全新指令优化,以提高性能,功耗和静态代码大小,以适应新兴的嵌入式应用程序。”的微控制器。“此外,所有这些改进都在广泛的Cortex-M生态系统中实现,因此客户的现有软件投资得以最大化。”
规格和功能
Arm自定义指令打开了实现定制数据处理操作的大门,而不会给软件开发流程带来复杂性。通过使用Armde 自定义指令芯片设计师可以在保证性能的前提下获得更好的易用性和安全性。
Arm自定义指令可实现更高级别的优化,以满足不断增长的行业对工作负载特定计算的需求。Arm自定义指令功能包括:
· Arm架构兼容
· 受符合Arm的标准软件开发工具的支持,包括开源编译器(例如GCC)
· 与处理器管道紧密耦合,为延迟和功耗敏感型应用带来了最高的性能效率提升
· 与TrustZone技术兼容
Armv8-M架构的自定义指令说明
Armv8-M体系结构的 Arm自定义指令 使您可以通过在小型嵌入式处理器中添加特定于应用程序域的功能来进一步提高性能和效率,同时保持Arm的软件生态系统的所有优势。Arm自定义指令支持智能快速开发完全集成的自定义CPU指令,而不会造成软件碎片。
Arm自定义指令允许您在Cortex-M33处理器内部添加可自定义的模块,称为配置空间。该模块由预解码指令驱动,并与CPU的标准算术逻辑单元(ALU)共享相同的接口。将自定义指令添加到可自定义的CPU需要两个步骤:
①提供一个配置文件,该文件列出了要用于添加自己的自定义指令的区域。
②为您自己的自定义指令构建数据路径,并将其集成到配置空间中。