

デジタル信号プロセッサ(DSP )は、デジタル信号処理の動作要件に合わせてアーキテクチャが最適化された特殊なマイクロプロセッサチップです。[ 1 ]: 104~107 [ 2 ] DSPは、金属酸化物半導体(MOS)集積回路チップ上に製造されます。 [ 3 ] [ 4 ]これらは、音声信号処理、電気通信、デジタル画像処理、レーダー、ソナー、音声認識システム、および携帯電話、ディスクドライブ、高精細テレビ(HDTV)製品などの一般的な民生用電子機器で広く使用されています。 [ 3 ]
DSP の目標は通常、連続する実世界のアナログ信号を測定、フィルタリング、または圧縮することです。ほとんどの汎用マイクロプロセッサもデジタル信号処理アルゴリズムを正常に実行できますが、リアルタイムで継続的にそのような処理に追いつくことができない場合があります。また、専用の DSP は通常、電力効率が優れているため、消費電力の制約がある携帯電話などのポータブルデバイスに適しています。 [ 5 ] DSP は、複数のデータまたは命令を同時にフェッチできる特殊なメモリ アーキテクチャを使用することがよくあります。

デジタル信号処理(DSP)アルゴリズムでは、通常、一連のデータサンプルに対して多数の数学演算を高速かつ繰り返し実行する必要があります。信号(音声センサーや映像センサーなど)は、常にアナログからデジタルに変換され、デジタル的に処理された後、再びアナログ形式に変換されます。多くのDSPアプリケーションにはレイテンシに関する制約があり、つまり、システムが動作するためには、DSP演算が一定の時間内に完了する必要があり、遅延処理(バッチ処理)は適用できません。
ほとんどの汎用マイクロプロセッサとオペレーティングシステムはDSPアルゴリズムを正常に実行できますが、電力効率の制約のため、携帯電話やPDAなどの携帯機器での使用には適していません。[ 5 ]ただし、専用のDSPは、より低コストで、より優れたパフォーマンス、より低いレイテンシ、および専用の冷却や大型バッテリーを必要としないソリューションを提供する傾向があります。
このような性能向上により、商用通信衛星にデジタル信号処理が導入されるようになりました。これらの衛星では、数百または数千ものアナログフィルタ、スイッチ、周波数変換器などが、アップリンクされた信号を受信して処理し、ダウンリンク用に準備するために必要とされますが、専用のDSPに置き換えることで、衛星の重量、消費電力、構造の複雑さ/コスト、信頼性、運用の柔軟性を大幅に向上させることができます。たとえば、 2018年に打ち上げられたSES社のSES-12およびSES-14衛星は、いずれもエアバス・ディフェンス・アンド・スペース社によって製造され、容量の25%にDSPが使用されています。[ 6 ]
DSPのアーキテクチャは、デジタル信号処理に特化して最適化されています。信号処理はシステムの唯一のタスクではないため、ほとんどのDSPはアプリケーションプロセッサやマイクロコントローラの機能も一部サポートしています。DSPアルゴリズムを最適化するための有用な機能について、以下に概説します。
汎用プロセッサの基準からすると、DSP命令セットはしばしば非常に不規則です。従来の命令セットは、より幅広い演算を実行できる汎用的な命令で構成されていますが、デジタル信号処理に最適化された命令セットには、DSP計算で頻繁に発生する一般的な数学演算のための命令が含まれています。従来の命令セットとDSP最適化命令セットのどちらも任意の演算を実行できますが、ARMやx86では複数の命令が必要となる演算でも、DSP最適化命令セットでは1つの命令で済む場合があります。
ソフトウェアアーキテクチャにおける一つの重要な点は、高度なコンパイラ技術に頼って基本的なアルゴリズムを処理するのではなく、手作業で最適化されたアセンブリコードルーチン(アセンブリプログラム)をライブラリにパッケージ化して再利用することが一般的になっている点です。最新のコンパイラ最適化技術を用いても、手作業で最適化されたアセンブリコードの方が効率的であり、DSP演算に関わる多くの一般的なアルゴリズムは、アーキテクチャの最適化を最大限に活用するために手作業で記述されています。
DSPは通常、ストリーミングデータ用に最適化されており、ハーバードアーキテクチャや改良型フォンノイマンアーキテクチャなど、複数のデータや命令を同時にフェッチできる特殊なメモリアーキテクチャを使用します。これらのアーキテクチャでは、プログラムメモリとデータメモリが分離されており(場合によっては複数のデータバス上で同時アクセスも可能)、データと複数のデータを同時に取得できます。
DSPは、キャッシュ階層やそれに伴う遅延に関する情報を、サポートコードに依存する場合がある。これは、パフォーマンス向上につながるトレードオフである。さらに、DMAが広く利用されている。
DSPはマルチタスクオペレーティングシステムをよく利用するが、仮想メモリやメモリ保護機能は備えていない。仮想メモリを使用するオペレーティングシステムは、プロセス間のコンテキスト切り替えに時間がかかるため、レイテンシが増加する。

1976年、リチャード・ウィギンズはテキサス・インスツルメンツのダラス研究所でポール・ブリードラブ、ラリー・ブランティンガム、ジーン・フランツにSpeak & Spellのコンセプトを提案した。2年後の1978年、彼らは最初のSpeak & Spellを開発した。その技術的な中心は、業界初のデジタル信号プロセッサであるTMS5100 [ 15 ]だった。また、線形予測符号化を使用して音声合成を実行する最初のチップであるなど、他のマイルストーンも打ち立てた。[ 16 ]このチップは7μm PMOS製造プロセスによって実現した。[ 17 ]
1978年、アメリカン・マイクロシステムズ(AMI)はS2811をリリースした。[ 3 ] [ 4 ] AMI S2811「信号処理周辺機器」は、後の多くのDSPと同様に、単一の命令で乗算累積演算を実行できるハードウェア乗算器を備えている。 [ 18 ] S2811は、DSPとして特別に設計された最初の集積回路チップであり、それまで量産されていなかった垂直金属酸化膜半導体( VMOS 、V溝MOS)技術を使用して製造された。 [ 4 ]これは、モトローラ6800用のマイクロプロセッサ周辺機器として設計され、[ 3 ]ホストによって初期化する必要があった。S2811は市場で成功しなかった。
1979年、インテルは「アナログ信号プロセッサ」として2920を発売した。 [ 19 ]オンチップADC/DACと内部信号プロセッサを搭載していたが、ハードウェア乗算器がなく、市場では成功しなかった。
1980年、改良型ハーバードアーキテクチャ[ 20 ]に基づく初のスタンドアロン型完全DSPであるNEC μPD7720とAT&TのDSP1が、国際固体回路会議'80で発表された。両プロセッサは、公衆交換電話網(PSTN)通信の研究から着想を得ていた。音声帯域アプリケーション向けに導入されたμPD7720は、初期のDSPの中で最も商業的に成功したものの1つである。[ 3 ]
Altamira DX-1もまた、遅延分岐と分岐予測を備えた4整数パイプラインを利用した初期のDSPの一つである。
テキサス・インスツルメンツ(TI)が1983年に発表したもう一つのDSP、TMS32010は、さらに大きな成功を収めた。ハーバード・アーキテクチャをベースとしており、命令メモリとデータメモリが分離されていた。ロード・アンド・アキュムレートや乗算・アンド・アキュムレートといった特殊な命令セットを備え、16ビットの数値を処理でき、 乗算・加算演算には390ナノ秒を要した。TIは現在、汎用DSP市場のリーダーとなっている。
約5年後、第2世代のDSPが普及し始めた。これらは2つのオペランドを同時に格納できる3つのメモリを備え、タイトなループを高速化するハードウェアを搭載していた。また、ループアドレッシングが可能なアドレッシングユニットも備えていた。中には24ビット変数で動作するものもあり、典型的なモデルでは MAC演算に約21ナノ秒しか必要としなかった。この世代の代表的なものとしては、例えばAT&T DSP16AやMotorola 56000などが挙げられる。
第3世代における主な改良点は、データパス内、あるいは場合によってはコプロセッサとして、アプリケーション固有のユニットと命令が登場したことである。これらのユニットにより、フーリエ変換や行列演算といった、非常に特殊でありながら複雑な数学的問題を直接ハードウェアアクセラレーションすることが可能になった。Motorola MC68356のような一部のチップは、並列処理のために複数のプロセッサコアを搭載していた。1995年当時の他のDSPとしては、TIのTMS320C541やTMS320C80などが挙げられる。
第4世代の特徴は、命令セットと命令エンコード/デコードの変更にある。SIMD拡張機能が追加され、VLIWとスーパースカラアーキテクチャが登場した。従来通り、クロック速度も向上し、3 ナノ秒のMAC命令が可能になった。
最新の信号プロセッサは、より高い性能を発揮します。これは、設計ルールの簡素化、高速アクセス可能な2レベルキャッシュ、(E) DMA回路、より広いバスシステムといった技術的およびアーキテクチャ上の進歩によるものです。すべてのDSPが同じ速度を提供するわけではなく、さまざまな種類の信号プロセッサが存在し、それぞれが特定のタスクに最適で、価格帯は約1.50米ドルから300米ドルまで幅広くあります。
テキサス・インスツルメンツは、クロック速度1.2GHzで、命令キャッシュとデータキャッシュを分離したC6000シリーズDSPを製造しています。また、 8MiBの第2レベルキャッシュと64個のEDMAチャネルを備えています。最上位モデルは、最大8000MIPS(1秒あたり数百万命令)の処理能力を持ち、VLIW(超長命令語)を使用し、クロックサイクルごとに8つの演算を実行でき、幅広い外部周辺機器や様々なバス(PCI/シリアルなど)と互換性があります。TMS320C6474チップはそれぞれ3つのDSPを搭載しており、最新世代のC6000チップは浮動小数点演算と固定小数点演算の両方をサポートしています。
フリースケール社は、マルチコアDSPファミリーであるMSC81xxシリーズを製造しています。MSC81xxはStarCoreアーキテクチャプロセッサをベースとしており、最新のMSC8144 DSPは、4つのプログラマブルなSC3400 StarCore DSPコアを搭載しています。各SC3400 StarCore DSPコアのクロック速度は1GHzです 。
XMOS社は、DSP処理に最適なマルチコア・マルチスレッドプロセッサシリーズを製造しています。処理速度は400~1600MIPSと幅広く展開しています。マルチスレッドアーキテクチャを採用しており、コアあたり最大8つのリアルタイムスレッドを実行できるため、4コアデバイスでは最大32のリアルタイムスレッドをサポートできます。スレッド間の通信は、最大80Mbit/sのバッファ付きチャネルを介して行われます。これらのデバイスはC言語で容易にプログラミングでき、従来のマイクロコントローラとFPGAの間のギャップを埋めることを目指しています。
CEVA, Inc.は、 3つの異なるDSPファミリーを製造およびライセンス供与しています。おそらく最もよく知られ、最も広く普及しているのは、CEVA-TeakLite DSPファミリーでしょう。これは、16ビットまたは32ビットのワード幅と、シングルまたはデュアルMACを備えた、古典的なメモリベースのアーキテクチャです。CEVA-X DSPファミリーは、VLIWとSIMDアーキテクチャを組み合わせたもので、ファミリー内の異なるメンバーがデュアルまたはクワッドの16ビットMACを提供します。CEVA-XC DSPファミリーは、ソフトウェア無線(SDR)モデム設計を対象としており、32個の16ビットMACを備えたVLIWとベクトルアーキテクチャの独自の組み合わせを活用しています。
Analog Devices はSHARCベースの DSPを製造しており、その性能は 66 MHz/198 MFLOPS (1 秒あたりの浮動小数点演算の百万回) から 400 MHz/2400 MFLOPS までです。一部のモデルは、複数の乗算器とALU、SIMD命令、オーディオ処理専用のコンポーネントと周辺機器をサポートしています。Blackfinファミリの組み込みデジタル信号プロセッサは、DSP の機能と汎用プロセッサの機能を組み合わせています。その結果、これらのプロセッサは、リアルタイムデータで動作しながら、μCLinux、Velocity、Nucleus RTOSなどのシンプルなオペレーティングシステムを実行できます。SHARC ベースの ADSP-210xx は、遅延分岐と非遅延分岐の両方を提供します。[ 21 ]
NXPセミコンダクターズは、オーディオおよびビデオ処理に最適化されたTriMedia VLIWテクノロジーをベースとしたDSPを製造しています。一部の製品では、DSPコアはSoC内の固定機能ブロックとして組み込まれていますが、NXPは柔軟性の高いシングルコアメディアプロセッサも幅広く提供しています。TriMediaメディアプロセッサは、固定小数点演算と浮動小数点演算の両方をサポートし、複雑なフィルタやエントロピー符号化を処理するための専用命令を備えています。
CSR社は、スキャナやコピー機アプリケーション向けの文書画像データ処理に最適化された、1つ以上のカスタムイメージングDSPを搭載したQuatroファミリーのSoCを製造しています。
マイクロチップ・テクノロジー社は、 PIC24をベースとしたdsPICシリーズのDSPを製造しています。2004年に発表されたdsPICは、モーター制御や電源装置など、真のDSPと真のマイクロコントローラの両方を必要とするアプリケーション向けに設計されています。dsPICは最大40MIPSの処理能力を持ち、16ビット固定小数点MAC、ビット反転、モジュロアドレッシング、およびDMAをサポートしています。
ほとんどのDSPは固定小数点演算を使用します。これは、実際の信号処理において、浮動小数点演算による追加の範囲は必要なく、ハードウェアの複雑さが軽減されることで速度とコストの面で大きなメリットが得られるためです。浮動小数点DSPは、広いダイナミックレンジが求められるアプリケーションでは非常に有用です。また、浮動小数点演算の方がアルゴリズムの実装が容易なため、製品開発者は、より高価なハードウェアを使用する代わりに、ソフトウェア開発のコストと複雑さを軽減するために浮動小数点DSPを使用することもあります。
一般的に、DSPは専用の集積回路ですが、フィールドプログラマブルゲートアレイ(FPGA)チップを使用してDSP機能を実現することも可能です。
組み込み型の汎用RISCプロセッサは、その機能においてますますDSPのような性質を帯びてきている。例えば、OMAP3プロセッサにはARM Cortex-A8とC6000 DSPが搭載されている。
通信分野では、DSP機能とハードウェアアクセラレーション機能を融合させた新世代のDSPが主流になりつつある。こうしたモデムプロセッサとしては、ASOCSのModemXやCEVAのXC4000などが挙げられる。
2018年5月、中国電子技術集団の南京電子技術研究所が設計したHuarui-2が受入試験に合格した。処理速度0.4 TFLOPSのこのチップは、現在の主流DSPチップよりも優れた性能を実現できる。[ 22 ]設計チームは、TFLOPSレベルの処理速度と人工知能のサポートを備えたHuarui-3の開発を開始した。[ 23 ]

2010年代以降、従来のアナログFMおよびAM短波・中波放送の受信用に設計されたラジオでは、古い設計のアナログチューニング回路の大部分がDSPベースのデジタルICに置き換えられ、デジタル領域で処理とデコードの大部分を実行するものが増えています。そのようなICの例として、Silicon Labs / Skyworks Si4831/35シリーズがあり、これは1つのチップ内でFMとAMの両方のデコードをサポートしています。[ 25 ] [ 26 ]
このようなICの多くは(上記のSi4831/35を含め)、外部的に従来型の機械的に調整される設計での使用に適しており、またそのように設計されている。[ 26 ] [ 24 ]従来の真のアナログ回路と比較すると、これらのICは、特に古いDSPベースの設計では、顕著なチューニングとオーディオの特異性(例えば、連続的ではなく離散的なステップでチューニングがジャンプするなど)を示す可能性がある。 [ 27 ]
{{cite web}}: CS1 maint: タイトルとしてアーカイブされたコピー (リンク)このシンプルで使いやすいFM/AMラジオは、見やすいユニバーサルデザインと、簡単で安定したチューニングを実現する新しいデジタルチューナーを搭載しています。 [..] 周波数範囲 FM 87 - 108MHz (50kHzステップ) AM 520 - 1730kHz (9/10kHzステップ) [離散的なチューニングステップは、DSPベースの技術を使用していることを示します]
{{cite web}}: CS1メンテナンス: アーカイブサービスは非推奨になりました (リンク)/35はデジタル回路であり、MCUとDSPがチップ内部に統合されています。
年前、[SiLabs]は1つの小さなチップでラジオ業界全体を変革しました。実際、市場に出回っているほとんどの新しいデジタル短波/AM/FMラジオは、受信機アーキテクチャの中心としてSiLabs(または他のメーカー)のDSPチップを使用しています[…]しかし、デジタルチップを[機械式アナログチューニングのラジオに]使用することは理にかなっているのでしょうか?SiLabsと[他のメーカー]は[理にかなっている]と考えています[…]チューニング:アナログラジオとは少し違う[…]局と静電気ノイズは比較的粗い5kHzのチャンクで通過します[その他挙げられている特異性]