ARM 前幾天剛發佈了 Cortex-M 家族最新一款內核 - Cortex-M55 以及首款面向 Cortex-M 系列的 microNPU - Ethos-U55。Cortex-M55 是第一款面向 AI/ML 的 Cortex-M 內核,痞子衡也專門為此寫過一篇小文 《為AI/ML而生(Cor... ...
大家好,我是痞子衡,是正經搞技術的痞子。今天痞子衡給大家介紹的是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主頁、微信公眾號 平臺上。
微信搜索"痞子衡嵌入式"或者掃描下麵二維碼,就可以在手機上第一時間看了哦。