特集
» 2010年04月01日 00時00分 UPDATE

単体DSPは主役を降板?:「デジタル信号処理」が迎えた転換期 (1/3)

「デジタル化」の大きな流れの中、デジタル信号処理を利用する用途は着実に増加している。従来の例に倣えば、その処理を担うのは単体のDSP製品であるはずだった。しかし、現在ではその役割はマイクロプロセッサなどに移行しつつある。なぜ、このような状況の変化が起きたのだろうか。そして、デジタル信号処理の実現手法はどのように変貌してきているのだろうか。

[Robert Cravotta,EDN]

拡大する選択肢

 DSP単体を製品化したICは、消え行く運命なのだろうか。完全になくなることはないかもしれないが、DSPは、かつてのように最先端に位置するものでもなければ、システムの中心に位置するものでもなくなった。米EDN誌は毎年発行している『DSP Directory』におけるDSPの意味を、2006年から「Digital Signal Processor」から「Digital Signal-Processing」に変更した*1)。このわずかな変更は、デジタル信号処理を行うための選択肢が、DSPのようなソフトウエアベースのプログラマブルプロセッサの枠を超え、プログラマブルファブリックやIP(Intellectual Property)ブロック、ミックスドシグナル処理SoC(System on Chip)などへと拡大したことに対応した結果だ。このようなデジタル信号処理に対する各種アプローチは、それぞれ異なる制約を持ち、互いに補完したり、競合したりするものである*2)

 そもそも、デジタル信号処理には、フィルタリングやフーリエ変換、圧縮、伸張、合成、認識、強調(エンハンスメント)、符号化、復号化などの種類がある。いずれも、算術演算によって、データ群や信号ストリームに対する変換処理を施すというものだ。今日では、デジタル信号処理へのニーズは高くなる一方である。しかしながら、その処理に必ずしも単体のDSPをIC製品化したもの(以下、単体DSP)を用いる必要はない。例えば、プロセッサに組み込まれたマルチメディア命令などの特殊な演算を用いてもよい。あるいは、最近ではマイクロプロセッサとDSPを集積したSoCなども存在するので、そのDSPを用いてもよい。ますます進化して多数のロジックを組み込めるようになったマイクロプロセッサ/SoCが存在することから、単体DSPは使用されなくなりつつあるのだ。

 デジタル信号処理の実現手段としては、DSP以外に、FPGAやマイクロプロセッサを用いる方法がある。

■FPGA

 この数年間で、デジタル信号処理をFPGAで行うのか、それともDSPで行うのかという議論は姿を消した。両者はそれぞれ異なる種類の問題解決に適しており、1つの設計においてFPGAとプロセッサを並べて使用するのが合理的であるという結論に達したからだ。システム内で、FPGAはハードウエアアクセラレーションブロックとして機能し、多種多様な信号処理アルゴリズムに対応する。信号処理アルゴリズムの並列性が十分に高く、単体DSPに存在するのよりも多くの処理ユニットや高速の入出力が必要で、それらを効率的に利用可能であるケースでは、FPGAを用いることにメリットがある。その一方、ユーザーにとってFPGAのハードウエア設計フローは複雑であるため、使用するのに経験を要するという欠点もある。

 だが、そのFPGAの欠点も解消されようとしている。米Xilinx社のDSPソリューション担当シニアマーケティングマネジャを務めるTom Hill氏によれば、同社は「FPGAにおける設計の容易化に取り組んでいる」という。具体的には、C言語をベースとした設計フローや合成ツールを導入し、設計プロセスの複雑さを抽象化することによって容易化を実現しようとしている。

■マイクロプロセッサ

 マイクロプロセッサがムーアの法則に従い続ける限り、改良が施されたバスアーキテクチャや、階層化されたメモリー、乗算器などを搭載することによって、演算性能を向上させることができる。特に今日のマイクロプロセッサの中には、優れた演算性能とエネルギー効率、低いコストを実現しているものがある。これらの要素が十分に高いレベルにあれば、そのチップ上にデジタル信号処理機能を追加することが可能である。言い換えれば、マイクロプロセッサにデジタル信号処理専用の乗算器などを組み込んだデバイスは、必ずしも最高の演算性能と最小のコスト、最大のエネルギー効率を実現するわけではない。しかし、BOM(Bill of Material)コストを低減できることや、慣れ親しんだ設計フローを使用できるといったシステムレベルの利点があることから、単体DSPに勝る選択肢となり得るのである。

DSP製品の変化

 DSP製品は、変化をやめてしまったというわけではない。現在も進化し続けている。従来、DSPは複雑なものだと考えられていた。初期のDSPアーキテクチャでは、算術アルゴリズムをデバイス上にいかに容易に実装できるようにするかということよりも、最大処理性能をいかに引き出すかということのほうが重要視されていた。だが、DSPの世代が進むたびに、より多くのトランジスタを使用できるようになったこともあり、種々の方法によって処理を実装できるようになってきた。C言語によるプログラミングが可能なDSPがその一例である。デジタル信号処理がより多くの分野へと拡大したことに伴い、「使いやすさ」がDSP製品の重要な要素となったのである。

 そのほかの変化として、「呼称」の変更がある。ここでは、米Texas Instruments社(以下、TI社)の製品シリーズ「TMS320C2000」を例に挙げてみよう。同社はかつてこれらのデバイスを「コントローラ機能を持つDSPである」と説明していた。しかし、数年前からこれらのプロセッサはDSC(Digital Signal Controller:デジタル信号コントローラ)として知られるようになった。さらに同社は、アーキテクチャは変更していないにもかかわらず、EDN誌の2009年度版DSP DirectoryからTMS320C2000を削除し、「リアルタイムマイクロコントローラ」と呼ぶよう要望した。つまり、明示的に変更したのは、その用途である。現在、同社は開発サポート環境をマイクロコントローラ開発者にとってより使いやすいものにすることに力を入れている。

 このような方針をとるメーカーに対して、不誠実だと感じる人もいるのかもしれない。しかし、多くのプロセッサ製品では、主なターゲットとなる用途が最も重要な要素だと考えられている。デジタル信号処理機能は、その補助機能として提供しているにすぎないのである。

 先述したように、マイクロプロセッサの進化によって、DSPの機能が取り込まれたものが、従来と同じくマイクロプロセッサとして数多く販売されている。具体例を列挙すると、米Analog Devices社の音声/映像/通信処理向けのプロセッサ「Blackfin」や、マルチメディア処理命令セット「NEON」をサポートする英ARM社のプロセッサ、「AltiVec」の拡張機能を搭載した米Freescale Semiconductor社の「Power Architecture」製品、ドイツInfineon Technologies社の車載/産業用プロセッサ「TriCore」、SSE(Streaming Single Instruction/Multiple Data Extensions)に対応した米Intel社の「Pentium」、米Microchip Technology社のモーター制御/電力変換DSC「dsPIC」、オランダNXP Semiconductors社のプロセッサ「CoolFlux」、米Tensilica社のオーディオ/ビデオエンジン「Xtensa」、TI社の「DaVinci」や「OMAP」などがある。

 これらのプロセッサは、デジタル信号処理機能を搭載しており、それがターゲットアプリケーションで利用される。多くのプロセッサベンダーは、製品の用途を絞り込み、その用途向けのアルゴリズムや信号処理ライブラリを提供している。このことによって、最終製品の開発期間を短縮するだけでなく、新しい機能に関する専門知識がなくても、開発者が自分の設計に特定用途向けの機能を容易に追加できるようにしているのである。


脚注

※1…Cravotta, Robert, "DSP Directory", http://www.edn.com/dspdirectory

※2…Cravotta, Robert, "Tee up your multiprocessing options," EDN, June 11,2009, p.24, http://www.edn.com/article/CA6662624


       1|2|3 次のページへ

Copyright© 2017 ITmedia, Inc. All Rights Reserved.

RSSフィード

EDN 海外ネットワーク

All material on this site Copyright © 2005 - 2017 ITmedia Inc. All rights reserved.
This site contains articles under license from UBM Electronics, a division of United Business Media LLC.