リアルタイム推論対応の組み込みシステム開発


STM32N6マイコンの畳み込みアクセラレータ


[受講無料]GPU/CPU/量子コンピュータによるサイバーセキュリティ実践プログラミング(8月27日~9月3日 オンライン受講)


NPUアーキテクチャと内部構成

図1 STM32N657はディープニューラルネットワーク(D-NN)に特化し、組み込み機器におけるリアルタイム推論を可能にする


STM32N657に搭載されたNPUは,Neural-ART 14と呼ばれる構成をもちます.NPUが動作を開始すると,DMAを介して自動的に外部メモリからデータを取得し,処理後の結果を外部メモリに送信します.この一連の流れはCPUの介入を最小限に抑え,推論処理を高速化するしくみです.

NPU内部には複数の要素が配置され,役割分担を行っています.

  1. COMPR:データを展開するデコンプレッションユニット
  2. Processing Unit:演算処理を担う基本ブロック
  3. CA(Convolutional Accelerator):積和演算を担当する演算器

これらの要素が連携することで,学習済みモデルの畳み込み層を効率的に実行できます.

畳み込みアクセラレータのしくみ

CAは積和演算(MAC)を高速に処理する専用ハードウェアです.1つのMACは3×3の固定小数点演算に対応し,入力データ形式に応じて構成を切り替えることができます.具体的には以下のような構成です.

  1. 16bit×16bitの演算を1つ処理
  2. 8bit×16bitの演算を2つ処理
  3. 8bit×8bitの演算を4つ処理

1つのCAは3個のMACをまとめたクラスタを6つ搭載しています.さらにNPU全体には4つのCAユニットが配置されています.そのため8bit×8bit演算の場合,1クロックサイクルで次のような並列処理が可能です.

$4 \times (3 \times 6) \times 4 = 288$個の演算を同時に実行できる計算能力をもちます.この並列性により,画像認識や物体検出など畳み込み演算が支配的なタスクを効率的に処理できます.

組み込み推論への応用

STM32N657のNPUは外部メモリとのデータ転送を自動化し,畳み込みアクセラレータで演算を並列化することで,マイコン環境でもリアルタイム推論を実現できるしくみを提供します.I$^2$CやSPIといったインターフェースを通じてセンサから取得したデータをそのままNPUで処理することが可能です.これによりクラウドに依存せず,エッジ側での即時応答が求められる組み込み応用に適しています.

〈著:ZEPマガジン〉

講師紹介

  • 山田 浩之
  • 2015年 都内電子機器メーカに入社.主にUSB3.1やDisplayPort,MIPI,車載向けSer/Desなど高速インタフェース変換基板の設計開発.回路設計からファームウェア,ソフトウェア開発(C/C++)を担当
  • 2023年 「Y-Logic」として独立開業

著書

  1. タッチパネルLCD搭載!Cortex-M4/M7×500MHz!全部入りキット STM32H747I-DISCO誕生.ZEPエンジニアリング.
  2. ディジタル信号処理入門 FFTスペアナの制作.ZEPエンジニアリング.
  3. ディジタル信号処理入門 再生速度&音程エフェクタの制作.ZEPエンジニアリング.
  4. STM32H7ハイスペック・マイコンで作るオーディオ・スペクトラム・アナライザ
  5. スピーカ周波数特性テスタの実装.ZEPエンジニアリング.
  6. 世界統一規格新USBType-C攻略DVD(特集)第4部,トランジスタ技術2020年2月号,CQ出版社.
  7. 電池交換不要!消費電流1μA未満のソーラ充電式導通チェッカ,トランジスタ技術2020年10月号,CQ出版社.
  8. AVRでサクッとマイコン開発(特集すべて),トランジスタ技術2021年4月号,CQ出版社.
  9. 3桁表示ミリオーム計の設計・製作,トランジスタ技術2021年6月号,CQ出版社.
  10. 直流バイアス付きコンデンサ容量計,トランジスタ技術2021年11月号-2022年3月号(短期連載),CQ出版社.
  11. 超便利!ICの故障・真贋チェッカの製作,トランジスタ技術2023年3月号,CQ出版社
  12. 作る!わかる!USBType-C&電源(特集)第1部3-4章,トランジスタ技術2023年6月号,CQ出版社.
  13. 20mVステップUSB可変電源の製作,トランジスタ技術2023年9月号,CQ出版社.
  14. 「大安」「仏滅」を計算する六曜カレンダ回路の製作,トランジスタ技術2024年3月号,CQ出版社.

参考文献

  1. [VOD/KIT]STM32マイコン&Wi-Fiモジュールで学ぶ C/C++プログラミング入門,ZEPエンジニアリング株式会社.
  2. 実験しながら学ぶフーリエ解析とディジタル信号処理[Vol.1:フーリエ解析の基本「三角関数」の正しい理解]
  3. [VOD]Pythonで学ぶ やりなおし数学塾2【フーリエ解析】