このページは、ソフトウェア、機器組込みのエンベデット・ソフトウェア(ファームウェア)の開発に関連したコラムのページです。このコラムはメールマガジン「アメニティ&サウンド 音と快適の空間へ」で連載していた技術・開発コラムを再編集したものを掲載しています。
パソコン用のソフトウェア開発に興味がある方には、DSPは無縁とお考えの方がいらっしゃるかも知れませんが、Windows用などでポピュラーなIntel Pentium3/4などのプロセッサも、SIMD命令など、プロセッサのアーキテクチャの理解が重要となる部分があります。
▼Intelのホームページ
http://www.intel.co.jp/
リアルタイム制御では、いうまでもありませんが、パソコンのソフトウェアでプログラム・コードをオプティマイズ(最適化)する場合でもプロセッサのアーキテクチャや特性を理解して方針を決めなければなりません。
特に最近のPentium4など高速化され、キャッシュ・メモリーの支配力が強いプロセッサでは、その特徴を理解するのに、プロセッサのアーキテクチャを理解することが、高速化などのアルゴリズムを考える上でのキーポイントとなります。
さて、CPUとDSPの違いですが、大雑把には「データ専用バス」を持つアーキテクチャを取るものがDSP、それ以外のプロセッサがCPUと考えても差し支えないかと思いますが、実際には、DSPやCPUの製品によって、それぞれ特徴があり、必ずしも、バスによって分類するのが正しいとはいえないかもしれません。
プロセッサ製造メーカーがDSPといえばDSPで、CPUといえばCPUということになるかもしれません(それを言っては... )。
DSPはその名の通り、デジタル信号処理(離散的に符号化された音声や画像、データアクイジョンによって収集されたデータなどを計算する処理)に適したプロセッサであれば良いですから、データバスがコードバスと共通でも信号処理用プロセッサとなりえます……が……一般に特に形容無くDSPといえば、先に述べたようにデータバスが専用になっていて高速なデータスループットを持つものになっています。
コンパイラなどの開発ツールを評価する場合、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)ソフトウェアの開発を行っています。 お客様のお役に立てることがございましたらご用命ください。