固定小数点プログラム開発の手間を省ける組み込み機器向けDSPコアを開発 ──15人日でMP3デコーダを開発可能に
まず,省電力性やコストの点で,難しい技術課題や制約が存在します.また,開発競争が厳しいため,製品の開発期間は短めです.仕様変更や機能追加も頻繁に行われます.いきおい,検証漏れや仕様の積み残しも出やすくなります.
このような状況への対応策の一つとして,プロセッサを搭載し,ソフトウェア・プログラムによって機能を実装する方法が利用されています.最終的な機能をプログラムとして実装しているため,不ぐあいが見つかった場合でもプログラムの更新だけで対応できる可能性があります.その意味では,開発プロジェクト全体に安心感を与えてくれます.この10年で,高級言語による開発も一般的になり,プログラム開発の生産性も向上しました.また,プログラマの数も増えてきています.
筆者が担当するようなディジタル信号処理機能を,プロセッサとプログラムによって実装することも,現在では一般的になりました.プロセッサの信号処理性能(単位時間当たりに実行可能な演算量)も10年前と比べて,驚くほど向上しています.
その一方で,ディジタル信号処理のアプリケーション・プログラムの開発手法に目を向けると,実はあまり進歩がないことに気づきます.確立しているプログラム開発の省力化手法は,ライブラリの利用です.代表的なアプリケーションについては,プロセッサ・メーカなどからミドルウェアが提供されています.しかし,ユーザが,いざ独自のアプリケーションやアルゴリズムを実装しようとすると,独自プログラムの開発が必要になります.その際には,あいかわらずアセンブリ言語を用いたプログラム開発が主流です.その割には,ディジタル信号処理のわかるプログラマの数は,それほど増えているようには見受けられません.
筆者ら(旭化成)は,組み込み機器向けディジタル信号処理アプリケーションのプログラム開発の手間を減らすことを目指して,ディジタル信号処理プロセッサ(DSP)コア「FitDSP」を開発しています.このDSPコアは,算術方式として「ブロック浮動小数点方式」を採用しています.これによって,組み込み機器開発に求められる低コスト化とプログラミング作業の簡素化を両立させています.
以下では,まずディジタル信号処理アプリケーションのプログラム開発における問題点を整理し,プログラム開発を簡単にする方策を,開発事例と併せて紹介します.また,ここで紹介するDSPコアを用いてアプリケーションごとに最適化されたシステムLSIを開発する手法についても解説します.