なぜデジタル信号プロセッサ(DSP)が現代デバイスのあらゆる場所で使われているのか
ARM CPUが初期採用者のAppleなどにより普及し始めると、モバイル利用が急増しました。メリットは明確でした:組み込みプロセッサーがあらゆるデバイスを多機能で機能豊富なプラットフォームに変えることができたのです。さらに、ソフトウェアアップデートでハードウェアの寿命を延ばせるため、単一チップで複数の製品世代を支えることができました。

(出典:CEVA)
汎用CPUは幅広いタスクに優れていますが、リアルタイムかつ低消費電力な処理を要求される操作(スマートフォンのモデムなど)には苦戦します。モデムはデジタル化された連続アナログ無線信号を処理しなければならず、通常のCPUでは過度な電力消費なしに迅速かつ効率的な計算を提供できません。
DSPはこのようなタスクのために設計されています。ネイティブな浮動小数点サポートと最適化された数学ユニット(特に乗算累積(MAC)演算)を備え、CPUの典型的なバッチ指向ワークロードとは異なり、ストリーミングデータを効率的に処理します。
オーディオ処理も同じ要件を共有します。DSPはハイエンドオーディオ機能を支えます——イコライゼーション、Dolby圧縮、フライト中も安眠できる高度なノイズキャンセリングヘッドホンまで。
AIはデータセンターを超えてモバイルとエッジデバイスに拡大しました。今日、車両は歩行者、衝突、車線標識を検出し、基本的な自律走行を実現しています。音声制御テレビ、スマートスピーカー、さらにはヘルメット搭載GoProまで、ユーザーがハンズフリーで操作できるようになっています。
これらの機能は、音声、静止画、ビデオなどストリーミングデータのリアルタイム処理に依存しています。例えばオーディオ処理では、マルチマイクビームフォーミング、エコーキャンセレーション、ノイズ抑制による高品質な収音が必要ですが、これらはDSPが数十年の実績を持つ分野です。
コマンド認識には訓練済みニューラルネットワークが使用されます——CPU中心のコードとは大きく異なるアルゴリズムです。CPUでも実行可能ですが、その結果生じる遅延はバッテリー寿命を消耗します。DSPのような高度に並列なアーキテクチャでネットワークを実行すると、同時演算が可能になり、電力を節約できます。
DSPは汎用開発者には特殊すぎると思われるかもしれません。実際、プログラミングはCPUと同様です:両方ともCコードを記述します。鍵は、DSPの強みを最大限に活かすコードを書くことです。

(出典:CEVA)
DSPは至る所にあります:すべての携帯電話無線——Bluetooth、Wi-Fi、セルラー——は1つ以上のDSPに依存しています。Bluetoothイヤホン、スマートスピーカー、音声制御リモコン、ホームセキュリティカメラ、自動車センサーはすべて、オーディオ処理、動き検出、リアルタイム意思決定のための音声分析にDSPを採用しています。
GPUはデータセンターでのAIトレーニングには強力ですが、サイズ、消費電力、コストの理由でエッジ用途には不向きです。プライバシーとセキュリティの要求が高まる中、AIは低コスト・低消費電力ハードウェアへシフトしなければならず、DSPが組み込みデバイスの実用的な選択肢となっています。
結果として、組み込みDSPが急増しています。完全にプログラマブルでありながら、低コスト・低消費電力で音声制御、物体検出、オーディオ拡張などを実現します。CPUが依然として汎用管理を担う一方で、DSPはスマートオーディオとビジュアル処理をますます支配しています。
この記事は、DSPとハードウェアアクセラレーターを探るシリーズの幕開けです。続編には「DSPがハードウェアアクセラレーターを上回るとき」と「決断、決断:ハードウェアアクセラレーターかDSPか?」があります。
埋め込み