大家好,我是痞子衡,是正经搞技术的痞子。今天痞子衡给大家介绍的是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主页微信公众号 平台上。

微信搜索"痞子衡嵌入式"或者扫描下面二维码,就可以在手机上第一时间看了哦。

最新文章

  1. Esfog_UnityShader教程_UnityShader语法实例浅析
  2. HTML Window.document对象
  3. 获取、增加、修改、删除sqlserver字段描述
  4. 10、NFC技术:读写NFC标签中的文本数据
  5. 轻量级jquery框架之--工具栏(toolbar)
  6. php替换文件指定行的内容
  7. Java开源生鲜电商平台-财务系统模块的设计与架构(源码可下载)
  8. 设计模式-策略模式(strategy pattern)
  9. Day013--Python--内置函数一
  10. CentOS 网络设置
  11. 你应该掌握的C++ RAII手法:Scopegaurd
  12. [iOS]深入理解GCD
  13. mongodb 慕课网
  14. cf280C. Game on Tree(期望线性性)
  15. How to 对拍?
  16. GPS数据包格式及数据包解析
  17. __attribute__中constructor和destructor
  18. js组件开发-移动端地区选择控件mobile-select-area
  19. SpringBoot静态资源访问+拦截器+Thymeleaf模板引擎实现简单登陆
  20. Linux之Ubuntu

热门文章

  1. 「Main」
  2. 使用Theia——添加语言支持
  3. 使用阿里云 ECS 快速部署 WordPress 博客系统
  4. 小小知识点(二十四)什么是5G
  5. Pandas 数据分析,高中体测练习
  6. js面试题之手写节流函数和防抖函数
  7. 830. String Sort
  8. MapGIS注记文字无损转入ArcGIS软件
  9. next_permutation 函数
  10. 架构师JavaScript 的对象继承方式,有几种程序写法?