关注、星标公众号,不错过精彩内容
整理:黄工
公众号:strongerHuang
昨天(2020-02-10),Arm官方推出Cortex-M55处理器,它是一款支持AI处理能力的Cortex-M处理器,也是首款采用Arm Helium技术的芯片。它的出现将增强IoT终端设备的AI性能。
一、首推Cortex-M55
Cortex-M55是首款采用Arm Helium技术的芯片,为物联网设备带来了节能的ML和DSP性能的显着提升。Arm提供了多种开发工具和模型,以帮助各MCU厂商将基于Cortex-M55的设备推向市场。与以前的Cortex-M设计相比,Arm工具和模型对于了解体系结构差异和性能改进特别有用。
Arm Helium技术:
Arm Helium技术用于Arm Cortex-M内核的M-Profile矢量扩展,为其提供高达15倍的机器学习性能和高达5倍的信号处理能力,这样一来,我们可以继续使用M内核芯片,而无需采用更高性能的处理器架构。
Helium和Neon(用于Cortex-A处理器的高级SIMD技术)具有相似性,但Helium专为单片机的高效信号处理性能而设计。
二、Cortex-M55特性
Cortex-M55处理器可提高设备上的处理性能,同时保持Cortex-M的易用性,包括单个工具链和熟悉的软件开发生态系统。与现有的Cortex-M处理器相比,超过150种新的标量和矢量指令,低开销循环和半精度浮点都有助于将ML性能提高15倍,并将信号处理性能提高5倍。
Cortex-M55处理器具有多种配置的高度可配置性,以提高性能和安全性。对于DSP应用,矢量单元每个周期支持两个32位MAC运算,扩展的算术支持包括用于ML工作负载的8位固定点。
Cortex-M55处理器具有多项优势,包括增强的ML和DSP性能,简单的程序员模型,统一的控制和信号处理以及对通用ML框架。
特点和优点:
1.提高机器学习和DSP性能
与现有的Cortex-M处理器相比,ML的性能提高了15倍,信号处理性能提高了5倍。
2.加快上市时间
Corstone-300参考设计提供了最快,最安全的方式来将Cortex-M55集成到片上系统(SoC)中。
3.简化软件开发
由广泛的软件,工具,库和资源生态系统支持的单一开发人员工具链。
三、Cortex-M55技术指标
内核框架:
技术参数:
详细介绍请参看:
https://developer.arm.com/ip-products/processors/cortex-m/cortex-m55
四、开发工具和开发人员
借助Arm工具,可以在基于Cortex-M55的芯片对软件进行编译,执行和调试。
1.已有的工具
所有开发工具都已经在早期提供并使用,只需要升级即可,并将于2020年3月、4月公开。
Keil MDK:Cortex-M项目的最受欢迎的工具,将在MDK V5.30集成。
请参看我教程:Keil MDK 系列教程
Arm Development Studio:适用于任何Arm IP的集成开发环境。
Arm Fast Models:一个全面的建模环境。
Arm Fixed Virtual Platform:使用Arm快速模型构建的虚拟开发板,无需物理板即可进行软件开发,并在11.10中支持Cortex-M55处理器。
Arm Cycle Models:Arm IP的100%周期精确的Arm IP模型,用于性能分析和IP选择。
2.开发人员
嵌入式软件开发工程师:使用Arm工具来学习新的矢量指令,循环增强功能,新的寄存器,节拍概念以及编程模型的其他增强功能。
算法开发工程师:使用Arm工具将现有算法移植到基于Cortex-M55的设备上,并优化代码以利用提高的性能和降低的软件复杂性。
SoC架构师:使用Arm工具进行性能分析,以将基于Cortex-M55的系统与以前的Cortex-M设计进行比较,并为即将到来的项目做出明智的IP选择决策。
五、在Cortex-M55处理器上开发
Keil MDK和Arm Development Studio中都包含Arm最新的编译器Arm Compiler 6。包括Armv8.1-M和Cortex-M55处理器。Arm Compiler 6.14增加了对Cortex-M55处理器的特定支持。它汇集了现代LLVM编译器基础结构和高度优化的Arm库和链接器。
1.hello.c代码
一个乘累加(MLA)函数的例子,它可以被Arm编译器自动向量化:
__attribute__((noinline)) int mla(short *a, short *b, int length)
{
int i;
int sum = 0;
for(i = 0; i < length; i++)
{
sum += a[i] * b[i];
}
return sum;
}
2.从Arm Compiler 5迁移到Arm Compiler 6,将需要对编译器命令行选项进行一些更改:
3.调试代码
开发Cortex-M55处理器可用Keil MDK 和 Development Studio工具。
Development Studio中的反汇编窗口显示上面示例中的向量指令:
µ Vision调试器显示矢量指令的反汇编 :
Development Studio 和µ Vision 显示矢量寄寄存器,包括Q寄存器(最适合您的格式)和VPR(矢量预测状态和控制寄存器):
µ Vision 具有有可配置,显示的Helium寄存器的专用视图:
更多介绍和开发资料请见Arm官方的信息。
‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧ END ‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧
推荐阅读:
精选汇总 | 目录 | 搜索
ANSI C、ISO C、Standard 是什么关系?
支持10K高清视频是HDMI 2.1有什么特点?
关注微信公众号『strongerHuang』,后台回复“1024”,查看更多精彩内容。
长按前往图中包含的公众号关注