痞子衡嵌入式:Ethos-U55,ARM首款面向Cortex-M的microNPU
大家好,我是痞子衡,是正经搞技术的痞子。今天痞子衡给大家介绍的是ARM Ethos-U55。
ARM 前几天刚发布了 Cortex-M 家族最新一款内核 - Cortex-M55 以及首款面向 Cortex-M 系列的 microNPU - Ethos-U55。Cortex-M55 是第一款面向 AI/ML 的 Cortex-M 内核,痞子衡也专门为此写过一篇小文 《为AI/ML而生(Cortex-M55)》,在那篇小文里痞子衡只是一笔带过 Ethos-U55,未作深入探讨,今天痞子衡就跟大家好好聊聊 Ethos-U55。
在正式介绍 Ethos-U55 之前,有必要提及一下 ARM 公司的 Project Trillium 项目,这是 ARM 公司于2018年2月推出的一套包括新的高度可扩展处理器的 Arm IP 组合以及相关配套软件的机器学习平台。这个平台里有你肯定不陌生的 Mali 系列 GPU 和 Arm NN 库,以及2019年10月发布的 Ethos-N 系列 NPU,如今 Ethos-U55 也正式加入了 Project Trillium 大军。
那么 Ethos-U55 到底是什么?其实它是一种小型的专用的 microNPU 推理加速器,强大的运算能力是其最核心的特点,其性能可达 64 - 512 GOP/s(Giga Operations Per Second,每秒十亿次的运算),这个运算能力秒杀 Cortex-M CPU。不过对比用在 Cortex-A 系列上的大型 NPU - Ethos-N 的 1 - 4 TOP/s 性能 (Trillion Operations Per Second,每秒万亿次的运算)还是要弱一些,因此它只能算 microNPU,适合与 Cortex-M 搭配工作。
在神经网络框架上 Ethos-U55 当前仅支持 TensorFlow Lite Micro,这点跟 Ethos-N 能支持的框架全家桶(TensorFlow, TensorFlow Lite, Caffe2, PyTorch, MXNet, ONNX)相比也单调一些,但毕竟是单片机 AI 嘛,第一步是先能玩起来,TensorFlow Lite 够用了。
虽然 Ethos-U55 是同 Cortex-M55 一起发布的,但它并不仅仅只能用在 Cortex-M55 上,其还可以搭配 Cortex-M4/M7/M33 一起工作,只不过 Ethos-U55 与 Cortex-M55 搭配起来效果最佳,其组合性能相比 Cortex-M7 单系统要提高 50 倍,而 ML 性能更是提升了令人瞠目结舌的 480 倍。
前面介绍了那么多 Ethos-U55 性能,我们再来看看它是如何与 Cortex-M 一起协同工作的,且以它的最佳搭档 Cortex-M55 为例。Ethos-U55 上设计了两个 AXI master 接口(64bit),其中 AXI-1 是可读可写的,用于访问共享 SRAM;另外 AXI-2 是只读的,专门用于从 NVM(flash) 里获取指令执行。此外 Ethos-U55 上还设计了一个 APB slave 接口,用以提供控制及配置寄存器的访问。
所以 Ethos-U55 在系统里的工作流程是,Cortex-M55 通过 APB 接口向 Ethos-U55 发出启动神经网络处理命令,Ethos-U55 收到命令后通过 AXI-2 从 NVM 获取具体命令序列指令,处理完成后 Ethos-U55 通过专门 IRQ 信号线向 Cortex-M55 发出中断事件。
让我们以一个典型的智能语音应用再来分析 Ethos-U55 与 Cortex-M55 协同工作机制,默认情况下 Ethos-U55 保持低功耗模式,由 Cortex-M55 来完成语音检测以及唤醒词识别(KWS),一旦检测到有效唤醒词,这时候便可激活 Ethos-U55 完成后续语音识别(ASR)任务,以及进一步神经网络处理去识别语义。
至此 Ethos-U55 痞子衡便介绍完了,不知道哪个 MCU 厂商会率先推出含这款 microNPU 的 MCU,不知道这款 microNPU 会和哪款 Cortex-M 内核初次搭档,留言说出你的答案。
欢迎订阅
文章会同时发布到我的 博客园主页、CSDN主页、微信公众号 平台上。
微信搜索"痞子衡嵌入式"或者扫描下面二维码,就可以在手机上第一时间看了哦。
痞子衡嵌入式:Ethos-U55,ARM首款面向Cortex-M的microNPU相关推荐
- 痞子衡嵌入式:单片机AI的春天已来,ARM Cortex-M55发布了
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是ARM Cortex-M55. 鼠年春节,大家都在时刻关心 2019nCoV 疫情发展,没太多心思搞技术,就在这个时候,ARM 不声不响 ...
- 痞子衡嵌入式:ARM Cortex-M文件那些事(6)- 可执行文件(.out/.elf)
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家讲的是嵌入式开发里的executable文件(elf). 第四.五节课里,痞子衡已经给大家介绍了2种output文件,本文继续给大家讲proje ...
- 痞子衡嵌入式:ARM Cortex-M文件那些事(3)- 工程文件(.ewp)
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家讲的是嵌入式开发里的project文件. 前面两节课里,痞子衡分别给大家介绍了嵌入式开发中的两种典型input文件:源文件(.c/.h/.s). ...
- 痞子衡嵌入式:ARM Cortex-M内核那些事(5)- 一表搜罗指令集
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是ARM Cortex-M指令集. 指令集 指令长度 (bits) 包含指令 Cortex M0 Cortex M0+ Cortex M1 ...
- 痞子衡嵌入式:ARM Cortex-M内核那些事(6)- 系统堆栈机制
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是ARM Cortex-M堆栈机制. 今天给大家分享的这篇依旧是2016年之前痞子衡写的技术文档,花了点时间重新编排了一下格式.前面痞子衡 ...
- 痞子衡嵌入式:ARM Cortex-M文件那些事(4)- 可重定向文件(.o/.a)
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家讲的是嵌入式开发里的relocatable文件(object, library). 前三节课里,痞子衡都是在给大家介绍嵌入式开发中的input文 ...
- 痞子衡嵌入式:ARM Cortex-M内核那些事(9.1)- 存储保护(MPU - PMSAv6/7)
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是ARM Cortex-M存储保护模块(MPU). <ARM Cortex-M内核MCU开发那些事>的内核篇连载最早是 201 ...
- 痞子衡嵌入式:ARM Cortex-M文件那些事(8)- 镜像文件(.bin/.hex/.s19)
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家讲的是嵌入式开发里的image文件(.bin, .hex, .s19). 今天这节课是痞子衡<ARM Cortex-M文件那些事>主 ...
- 《痞子衡嵌入式半月刊》 第 21 期
痞子衡嵌入式半月刊: 第 21 期 这里分享嵌入式领域有用有趣的项目/工具以及一些热点新闻,农历年分二十四节气,希望在每个交节之日准时发布一期. 本期刊是开源项目(GitHub: JayHeng/pz ...
最新文章
- .net中如何同步获取数据方式增加一样数据自动刷新列表_期待已久的动态数据库工具终于来了!...
- JVM——Java虚拟机架构
- 2013年4月20日 通用权限管理系统组件V3.8功能改进说明
- not in SQL语句转化为 not exists
- 菜鸟教程python3 mysql_MySQL 教程
- java settime_Java日历setTime()方法及示例
- javascript数组去重方法汇总
- JavaScript 基础 数据类型与运算符
- eBPF and IO Visor: The what, how, and what next!
- Spyder IDE中使用git
- boot入门思想 spring_SpringBoot基础入门
- 2020华为软挑热身赛
- ccc加拿大计算机竞赛在线评测系统,加拿大CCC计算机竞赛
- JavaScript 动态生成表格
- 销售订单(SO)新建BAPI_SALESORDER_CREATEFROMDAT2或修改BAPI_SALESORDER_CHANGE价格条件值扩大或缩小问题解决方法
- python 模拟键盘鼠标输入_Python模拟键盘输入和鼠标操作
- SenseTime Ace Coder Challenge 暨 商汤在线编程挑战赛-白色相簿
- 老调重弹,Squirrel,FASTCGI
- PS高效处理图片总结
- 微软高级工程师带你 21 天入门机器学习