大家好,我是痞子衡,是正经搞技术的痞子。今天痞子衡给大家介绍的是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的更多相关文章

  1. 痞子衡嵌入式:ARM Cortex-M调试那些事(1)- 4线协议标准(JTAG)

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家讲的是嵌入式调试里的接口标准JTAG. 在结束<ARM Cortex-M文件那些事>系列文章之后,痞子衡休整了一小段时间,但是讲课的 ...

  2. 痞子衡嵌入式:ARM Cortex-M文件那些事(2)- 链接文件(.icf)

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家讲的是嵌入式开发里的linker文件. 在前一节课源文件(.c/.h/.s)里,痞子衡给大家系统地介绍了source文件,source文件是嵌入 ...

  3. 痞子衡嵌入式:ARM Cortex-M文件那些事(3)- 工程文件(.ewp)

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家讲的是嵌入式开发里的project文件. 前面两节课里,痞子衡分别给大家介绍了嵌入式开发中的两种典型input文件:源文件(.c/.h/.s). ...

  4. 痞子衡嵌入式:ARM Cortex-M文件那些事(6)- 可执行文件(.out/.elf)

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家讲的是嵌入式开发里的executable文件(elf). 第四.五节课里,痞子衡已经给大家介绍了2种output文件,本文继续给大家讲proje ...

  5. 痞子衡嵌入式:ARM Cortex-M文件那些事(1)- 源文件(.c/.h/.s)

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家讲的是嵌入式开发里的source文件. 众所周知,嵌入式开发属于偏底层的开发,主要编程语言是C和汇编.所以本文要讲的source文件主要指的就是 ...

  6. 痞子衡嵌入式:ARM Cortex-M文件那些事(4)- 可重定向文件(.o/.a)

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家讲的是嵌入式开发里的relocatable文件(object, library). 前三节课里,痞子衡都是在给大家介绍嵌入式开发中的input文 ...

  7. 痞子衡嵌入式:ARM Cortex-M文件那些事(5)- 映射文件(.map)

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家讲的是嵌入式开发里的map文件. 第四节课里,痞子衡给大家介绍了第一种output文件-relocatable文件,本文继续给大家讲projec ...

  8. 痞子衡嵌入式:ARM Cortex-M文件那些事(7)- 反汇编文件(.s/.lst/.dump)

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家讲的是嵌入式开发里的反汇编文件(.s, .lst, .dump). 痞子衡在第四.五.六节课分别介绍了编译器/链接器生成的3种output文件( ...

  9. 痞子衡嵌入式:ARM Cortex-M文件那些事(8)- 镜像文件(.bin/.hex/.s19)

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家讲的是嵌入式开发里的image文件(.bin, .hex, .s19). 今天这节课是痞子衡<ARM Cortex-M文件那些事>主 ...

随机推荐

  1. 使用sqlmap中的tamper脚本绕过waf

    使用sqlmap中tamper脚本绕过waf 脚本名:0x2char.py 作用:用UTF-8全角对应字符替换撇号字符 作用:用等价的CONCAT(CHAR(),...)对应替换每个(MySQL)0x ...

  2. 阿里云函数计算 .NET Core 初体验

    体验了一波阿里云函数计算, 已支持 .NET Core 2.1, 那么按照惯例, 来写个 "Hello World" 吧. 作者注: 开发环境 Windows 10 & V ...

  3. 小小知识点(十五)——origin pro 2018 安装和消除demo字样

    安装 1.安装过成中选择语言为中文或者英文,安装完成后可在注册表中切换语言. 2.安装过程中使用序列号 中文版:DF2W8-9089-7991320英文版:GF3S4-9089-7991320 3.安 ...

  4. 2019牛客暑期多校第五场题解ABGH

    A.digits 2 传送门 题意:给你一个n,要求输出一个每一位数字之和能整除n且其本身也能整除n的数.n不超过100,要求的数不超过10000位数. 题解:直接将n输出n次. 代码: #inclu ...

  5. Spring中的beanPostProcess的作用

    BeanPostProcessor是Spring框架中非常重要的bean之一.贯穿在Spring容器中bean的初始化的整个过程. Spring中的beanpostProcess体系结构如下: 可以看 ...

  6. Java开源工作流引擎Jflow表单方案系列讲解一

    关键字: 驰骋工作流程快速开发平台 工作流程管理系统 工作流引擎 asp.net工作流引擎 java工作流引擎. 开发者表单  拖拽式表单  表单方案介绍 适配数据库: oralce,mysql,sq ...

  7. pip 下载源更换

    Python博大精深之处在于丰富的库,而目前最方便的下载库的方法无疑是pip.但是由于国内的网络环境导致,好多库下载是在太慢了,原因大家都懂得.. 一.临时修改 使用pip的时候加入参数 -i pip ...

  8. D2. Optimal Subsequences (Hard Version) 主席树

    题目链接:https://codeforces.com/contest/1262/problem/D2 将数组按大到小排序(相同大小的按下标由小到大排序),依次将排序后的每个数在原数组中的位置放入主席 ...

  9. Spring Boot 入门(十二):报表导出,对比poi、jxl和esayExcel的效率

    本片博客是紧接着Spring Boot 入门(十一):集成 WebSocket, 实时显示系统日志写的 关于poi.jxl和esayExcel的介绍自行百度. jxl最多支持03版excel,所以单个 ...

  10. IDEA中的JUNIT测试

    安装插件 Ctrl+Alt+s→Plugins→junitgenerator v2.0 Alt+insert 选中JUnit test 中JUnit4 package test.com.demo.co ...