【Arm 專欄】Arm CMSIS 助力智能加速與高效微控制器部署

最初,CMSIS 核心是用於基於 Arm Cortex-M 的微控制器,今日,越來越多的 Arm Cortex-A 類的裝置被應用於高效能微控制器,運行裸機軟體 (bare-moftware) 或即時操作系統。
評論
Arm 提供
評論

本文由 Arm 投稿。

當第一台 Arm Cortex-M3 裝置在 2004 年上市時,人們很快就清楚地認知,需要一個獨立於供應商的硬體抽象層來簡化軟體重用以減少新軟體開發人員的學習曲線。Arm Cortex  微控制器軟體接口標準 (CMSIS) 的推出使得處理器和周邊具有一致的裝置支援和簡單的軟體介面,從而減少了新裝置上市的時間。自最初推出以來,CMSIS 得到了大量的採用,如今,來自世界各地 30 多家晶片供應商,多達 5500 多件裝置都獲得了公開支援。

最初,CMSIS 核心是用於基於 Arm Cortex-M 的微控制器,今日,越來越多的 Arm Cortex-A 類的裝置被應用於高效能微控制器,運行裸機軟體 (bare-moftware) 或即時操作系統。為了支援這個使用情境,CMSIS 核心擴展延伸至能支援 Cortex-A5/7/9 內核和週邊裝置,例如支援 NXP、Microchip和Renesas 等主要晶片供應商的 Cortex-A 類裝置,這使得過去為 Cortex-M 裝置所創建的軟體元件可以重用。

CMSIS 組件

從 CMSIS 核心開始,近年來來陸續推出了幾個組件。優化後的CMSIS – DSP函式庫在業界很受歡迎,因為無論是否以可用的浮點單元,它都對 Cortex 技術提供了出色的支援。Mathworks 的 MATLAB 或 ASN 的 Filter Designer 等開發工具可以匯出可直接用於微控制器專案的 CMSIS – DSP 代碼。

CMSIS - RTOS API 可用於目前最流行的嵌入式工程中的即時操作系統,從 Arm Keil RTX5 的原生導入開始,FreeRTOS 和 Zephyr (Linux基金會提供的RTOS) 都有包裝器 (wrapper) 可用。在終端使用者應用中使用 CMSIS - RTOS API 也為功能安全鋪平了道路,因為 Keil RTX5 可用於功能安全運行時系統 (FuSa RTS),可應用於汽車、醫療、工業和鐵路應用。

許多開發專案需要在工程團隊之間 (內部或客戶) 以受控的方式共用軟體元件。CMSIS – Pack 是一種機制,它提供版本控制和定義良好的 XML 檔,其中包含套裝軟體的基本資訊。第三方的軟體合作夥伴以包 (pack) 的形式提供他們的元件,如 Micrium、RealTimeLogic 和 WolfSSL,CMSIS – Pack 也被大型晶片供應商用於裝置和板子的支援,如Nordic、新唐科技、NXP、Microchip、Silicon Labs 和 Texas Instruments。

裝置運行的中介軟體 (例如USB或網路堆疊) 需要底層裝置的驅動程式,為了簡化開發人員的工作時間,CMSIS – drivers 提供了一個標準化的介面來訪問底層硬體,而不需要調整中介軟體以適應新晶片的驅動程式包 (driver package)。許多 CMSIS 支援的裝置已經提供了這些 CMSIS 驅動程式,因此能協助更快地進入市場。

CMSIS - NN

雲運算利用互聯網上的大型伺服器來實現大數據應用。隨著這種方式越來越流行,必須減少用於終端節點和伺服器之間通信的資料頻寬,以避免網路超載。邊緣運算將許多資料處理帶回僅通過低頻寬資料連接到互聯網的終端節點。機器學習和神經網路應用可以在低功耗的 Cortex-M 裝置上運行,這些裝置通常甚至是由電池供電的,為了支援這些應用,我們提出了CMSIS - NN,這是一種經優化過的軟體核心開放原始碼函式庫,可極大化Cortex-A 與 Cortex-M 核心的 NN 效能,且只需使用最小的經常性記憶體,CMSIS – NN 提供了一個API,能用於處理器內核上運行一組高效的神經網路內核,在這種應用中,核心 (Kernel) 被開發以最大化神經網路效能和最小化所需的記憶體。

CMSIS-NN 類神經網路核心的總覽如下圖顯示,核心編碼包含兩個部份: NNFunctions 與NNSupportFunction。NNFunctions 包含實作常見類神經網路網路層類型的函數,如卷積 (convolution)、深度可分離卷積結構 (depthwise separate convolution)、全連接 (fully-connected; 即內積 inner-product )、池化 (pooling) 與啟動 (activation)。這些函數被應用程式碼用來實現類神經網路的推論應用。核心API則刻意保持簡單,以便輕鬆地重新鎖定到 TensorFlow、Caffe 或PyTorch 等各式機器學習框架。NNSupportFunctions 包含公用的程式函數,例如 NNFunctions 使用的數據轉換與激勵函數表 (activation table)。應用程式碼也可使用這些函數來建構更複雜的 NN 模組,如長短期記憶 (LSTM) 或閘控再流裝置單元 (GRU)。

Arm 提供

基於延遲、耗電量、成本、網路頻寬、可靠性、隱私與安全等各種考量,機器學習 (ML) 演算法朝向物聯網終端移動,因此,人們對於開發類神經網路 (NN) 解決方案,並將它們部署在例如 Arm Cortex-M 微控制器系統這類低功率終端裝置的興趣與日俱增。CMSIS – NN 無縫地整合入流行的神經網路框架 (如TensorFlow或Caffe) 開始的工作流中,並使用Arm NN SDK 將工作負載部署到各種目標上。

為了協助開發者在邊緣及終端快速部署人工智慧,Arm 致力於打造開源 AI 軟體生態系,以極大化類神經網路 (NN) 效能。透過 CMSIS-NN 函式庫與多樣化的 ML 框架結合,例如 TensorFlow Lite Micro、PyTorch、ONNX 等,使開發者能利用 Arm 處理器以及微神經網路處理器 (micro-NPU) 優化人工智慧工作負載,有效地在 MCU 與 MPU 進行智能加速與快速應用部署。

Arm 提供

2021 Arm 終端 AI 運算生態高峰會

Arm 提供

為了協助工程師與開發者更輕鬆地高效部署機器學習,Arm 將在 9月14 日於線上舉辦「2021 Arm 終端 AI 運算生態高峰會」,邀請 Arm AI 技術專家、台大電機系副教授李宏毅先生,以及包括 TensorFlow、Skymizer、賽微科技 (Cyberon) 與 Edge Impulse 在內的生態系夥伴分享開源 ML 框架、Endpoint AI 解決方案、語言機器學習研究、AI 系統軟體與指令客製工具,並將首次公開演示的 Arm Cortex-M55 處理器與  Ethos-U55 micro-NPU 帶來的優異機器學習效能。參加者不僅能了解Arm對於人工智慧學習的願景,Arm AI 解決方案,還能見到 tinyML 生態系的實際演示,並與各位產學界技術專家進行免費的線上交流,機會難得,歡迎工程師、開發人員、架構設計師、系統設計製造者、產品經理、企業主管以及對機器學習有興趣之觀眾報名,讓 Arm 協助你輕鬆高效部署機器學習!

責任編輯:Mia
核稿編輯:Anny



台灣創新技術博覽會登場!資策會展 AIoT 技術 帶動產業轉型升級

「窄頻物聯網 NB-IoT 全功能自主平台」即日起至 10 月 23 日在台灣創新技術博覽會線上展出,一睹資策會智慧系統研究所團隊最新的 5G 創新能量。
評論
Photo Credit:資策會
評論

疫情加速數位服務發展,由經濟部、科技部等十大部會共同主辦的 2021 年台灣創新技術博覽會(TIE)首度舉辦線上展覽,致力發展台灣資通訊的財團法人資訊工業策進會(資策會)此次展出「窄頻物聯網 NB-IoT 全功能自主平台」,具備低成本與快速部署優勢,提供網路基礎建設之佈建便捷性。

近年台灣重視 5G 發展,除了一般民眾認知的網路品質提升外,也著眼於基礎建設、技術實證及產業轉型,而經濟部技術處為讓國內迸發更多創新能量,透過多元的補助形式,支持資策會智慧系統研究所(系統所)團隊研發 5G 前導技術「窄頻物聯網 NB-IoT 全功能自主平台」,有助於改善物聯網訊號覆蓋不足的問題,同時利於發展專網應用,亦可作為 5G 衛星物聯網基地台使用,無論是郊區、海洋還是沙漠,創造不受地域限制的物聯網應用。

「窄頻物聯網 NB-IoT 全功能自主平台」即日起至 10 月 23 日在台灣創新技術博覽會線上展出,現場也規劃了「發明競賽區」及「三大主題館」、網紅開箱直播等活動,有興趣的民眾也可至台灣創新技術博覽會官網查詢。

圖說/資策會「窄頻物聯網 NB-IoT全功能自主平台」基站設備線上展區示意圖。Photo Credit:資策會