Arm Cortex-MのAIアクセラレーターってどんな機能?:Q&Aで学ぶマイコン講座(117)(3/3 ページ)
マイコンユーザーのさまざまな疑問に対し、マイコンメーカーのエンジニアがお答えしていく本連載。今回は、初級者の方からよく質問される「Arm Cortex-MのAIアクセラレーター」についてです。
Arm Cortex-M55のMVE
この章では、Arm Cortex-M55にオプションとして提供されているAIアクセラレーター機能のMVEを解説します。
Arm Cortex-M55はArmv8.1-Mアーキテクチャです。従来のArmv8-Mに、信号処理や機械学習アプリケーション向けMVEなどの新機能が追加されています。Arm Cortex-Mプロセッサ向けのMVEは、「Arm Heliumテクノロジー」*2)と呼ばれています。どちらかと言うと、MVE よりもHeliumの名前の方が、世に出回っているので、読者の中には、すでにご存じの方がいるかもしれません。
*2):https://www.arm.com/ja/technologies/helium
Heliumは、新しいベクトル命令セット拡張です。特に次のような処理を高速化することを目的にしています。
- デジタル信号処理(オーディオ処理、センサー処理など)
- 組み込み向けの機械学習推論(キーワードスポッティング、画像分類など)
従来のArm Cortex-Mプロセッサに比べて、信号処理で最大約5倍、機械学習で最大約15倍の性能向上が見込まれます。
Heliumは、オプション機能なので、マイコンメーカーがマイコンを製品化する際に機能を選択します。例えばSTM32N6シリーズでは図3に示すように、Heliumを選択しています。
少し難しくなりますが、Heliumの特徴を挙げると次のようになります。
- 128ビット固定長のベクターレジスタ(q0〜q7など)を使用(図4参照)
- 8ビット/16ビット/32ビット整数や単精度浮動小数のベクター演算に対応
- 加算、乗算、MAC、畳み込み系などのDSP向け命令
- ロード/ストア、テーブルルックアップ、圧縮/展開などのメモリアクセス命令
- 述語(マスク)付き演算や条件付ベクター処理
プログラミングする際は、C言語で普通にコードを書いて、コンパイラに任せるのが一番簡単な使い方です。GCCやArm Compilerなどでは、Helium対応コンパイラがMVE用バックエンドを持っているため(使用前に確認が必要)、ループベースのDSP/MLコードを自動でベクター化してくれます。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
AI時代でもマイコンが必要とされる理由
マイコンユーザーのさまざまな疑問に対し、マイコンメーカーのエンジニアがお答えしていく本連載。今回は、初級者の方からよく質問される「AI時代でもマイコンが必要とされる理由」についてです。
C言語コード生成ツールが普及する理由
マイコンユーザーのさまざまな疑問に対し、マイコンメーカーのエンジニアがお答えしていく本連載。今回は、初級者の方からよく質問される「C言語コード生成ツールが普及する理由」についてです。
I3Cって何? 特長と使い方を基礎から解説
マイコンユーザーのさまざまな疑問に対し、マイコンメーカーのエンジニアがお答えしていく本連載。今回は、初級者の方からよく質問される「MIPI I3C」についてです。
マイコンの割り込み優先度、変更する理由とその仕組み
マイコンユーザーのさまざまな疑問に対し、マイコンメーカーのエンジニアがお答えしていく本連載。今回は、初級者の方からよく質問される「割り込み優先度」についてです。
マイコンの外部クロックと内部クロックの違い 種類や役割を一気に解説
マイコンユーザーのさまざまな疑問に対し、マイコンメーカーのエンジニアがお答えしていく本連載。今回は、初級者の方からよく質問される「外部クロックと内部クロック」についてです。
マイコンのクロックセキュリティシステムって何?
マイコンユーザーのさまざまな疑問に対し、マイコンメーカーのエンジニアがお答えしていく本連載。今回は、初級者の方からよく質問される「クロックセキュリティシステム」についてです。

