私は、Analog Devicesのデジタル信号プロセッサ(BF706)でDSPプロジェクト(IIRフィルタリング)に取り組んでおり、それに付属するコンパイラスイートCrossCore Studioを使用しています。FIRやIIRフィルターなどの単純なDSPの例と、そのためのライブラリ関数の例があります。プロセッサのマニュアルにはアセンブリ命令セットが記載されていますが、Cについてはコメントしていません。
私の疑問はこの特定のアプリケーションから生じますが、DSP開発者が従うべきベストプラクティスがあると思いました。だから私は一般的な方法でそれを組み立てます:
このDSPに付属する例で理解したのは、DSPアプリケーション用に設計された回路を使用する場合、アセンブリでプログラムしてそれらの命令を直接実行する必要があるということです(乗算や加算など)。私はCでプログラムするだけですが、コンパイラ(DSPチップ会社からも提供されています)は、そのDSP用に最適化し、その機能を使用しませんか?それとも、アセンブリで直接DSPルーチンを記述する必要がありますか?