このページは、ソフトウェア、機器組込みのエンベデット・ソフトウェア(ファームウェア)の開発に関連したコラムのページです。このコラムはメールマガジン「アメニティ&サウンド 音と快適の空間へ」で連載していた技術・開発コラムを再編集したものを掲載しています。
前回までは、ちょっと専門的で細かいお話が続きました(テーマの性質上しかたのない部分もありますが)。少し本流に戻ってみたいと思います。
これまでの細かい話は、大きく分けるとコンパイラのオプティマイズ(最適化)やコード効率評価の評価と正常動作させるための評価が主な内容でした(この評価の比重が一番重要になりますから)。
現在の高速CPUでは、パイプラインやキャッシュの技術が主となっていますので、コンパイラのオプティマイザのパイプラインに対する最適化やキャッシュ性能を生かすリンカーの配置などが欠かせません。
DSPのコンパイラなどでは、パソコン用のプロセッサと比較しても特殊なコードとなる物も存在しますし、そもそもDSPは、データバスが分離されていることが特徴と定義されることもあるくらいですから、メモリアクセスなども特殊になっている物が多くなります。
DSPの定義は、デジタル信号処理用途に利用できるプロセッサであればよいということになりますが、多くの場合は2つほどの特徴を持ちます。
というようなことが一般には言われていましたが...
現在の高速なパソコン用のCPUなども乗算器やバレルシフタなどの演算用専用回路を持つのはあたりまえになっています。特殊なバスというのは、あまり見かけませんが、キャッシュ機構なのアーキテクチャはかなり複雑になってきていますので...
DSP創生期に近いころの某社のプロセッサは、画像処理 専用プロセッサと謳われていましたが、画像処理に限定しないで、乗加算器を持つ高速プロセッサという使い方ができるものでした(実は便利なチップです)。
やはり、「デバイスメーカーがDSPと言えばDSP、CPUと呼べばCPU」ということになるのではないかという気もします (^^)。
主にコード生成について述べて来ましたが、他にも開発初期段階には評価、確認すべき点があります(最終的に作成する機器の性能が重要ですから、コード生成やコードの質が最重要であることは間違いありませんが)。
この連載の最初に申し上げたように、デバッグ作業がかなりの時間を占めます。コンパイラのコード生成が良くてもデバッグ効率が悪い場合には、検討の余地が生じます。
パソコン用のデバッガや、汎用CPUのデバッガとは異なり、特殊用途のCPU、DSPのデバッガの場合には、シンボリックデバックもステップ実行も、ブレークも、エミュレーションメモリも何も無いことも、珍しくありません(評価しても、他のツールの選択の余地がない場合も往々にしてありますが、デバッグ手法を効率良く行なうための工夫をして初期段階に確率する必要があります)。
ARIはハードウェア設計、製造、ファームウェア開発、 Windowsアプリケーションの開発をしています。 実績等に興味をお持ちいただけましたら、会社情報に主な開発実績を 「音響と開発」のコーナーには事例など関連情報を掲載していますのでご覧ください。
ソフトウェア開発と開発ツール関連の雑記
機器組込みのエンベデット・ソフトウェア(ファームウェア)の開発に関連したコラムです。 メールマガジン「アメニティ&サウンド 音と快適の空間へ」に連載していた技術・開発コラムを編集掲載しています。
ソフト、ハードウェア 技術関連の雑記
このコラムは無料メールマガジン「アメニティ&サウンド 音と快適の空間へ」 vol.36〜vol.64(2003年8/21〜2004年11/18)に 音響と開発の関連コラムとして連載していたものを編集掲載したものです。
技術・開発の閑話-2- vol.11〜20F1とコンピュータ技術 / ソフトウェアの標準と部品化
( 戦術と戦略の誤解 / アジャイル開発 / リファクタリング / 遺産と再生産 / 標準と生産管理 ほか)
|
技術・開発の閑話-2- vol.01〜10「ありえない」フェイルセーフと安全機能の連鎖 / HDD容量の差(天使の分け前) / リアルタイムとベストエフォート / エラーとコスト(ブルースクリーン/XP) / NDAと情報公開 / 専門ドメインの基礎範囲 / NHK技研公開(超高精細映像システム) |
エーアールアイはPCアプリケーション、デジタル機器の組込み(CPU)、信号処理(DSP)ソフトウェアの開発を行っています。 お客様のお役に立てることがございましたらご用命ください。