DSP(デジタルシグナルプロセッサ・Digital Signal Processor)とは、積和演算の高速な処理に特化したプロセッサのことです。主にオーディオや画像の信号処理や、モータの制御、計測、遠隔通信などの処理において使用されています。
DSP(デジタルシグナルプロセッサ)の機能・特徴・処理能力
DSPは積和演算に特化したプロセッサ
DSPは、プロセッサの中でも、積和演算の高速な処理に機能を特化したプロセッサです。
積和演算とは、演算の一つです。積和演算は、アナログ信号をデジタル化する処理や、デジタル化された値をアナログ信号に変換する処理の際に用いられます。
積和演算とは
積和演算とは演算のひとつで、積の和を求めるもの。(a1*b1)+(a2*b2)+(a3*b3)……のように複数の乗算を加算していく。
積和演算に特化したDSPは、データ量が多いオーディオや画像の信号処理なども高スピードで実行できます。
DSPの処理能力=クロック周波数
DSPは、命令をプロセッサ内で複数のステージに細分化したうえで、並列する処理を行っています。この処理をパイプライン処理といいます。
パイプライン処理とは
パイプライン処理とは、コンピュータの高速化を図る技術のひとつ。パイプライン処理では、1つの命令を独立したステージに分割し、各ステージを並列的に実行する。これにより複数の命令がオーバーラップされ、処理が高速化される。
DSPによる一連の動作は、パイプラインを使って実行されます。このため、見た目は、1クロックでの処理が可能になります。
クロックとは
クロックとは、CPUが処理を同期させるために用いる信号。1秒あたりに可能なクロック数が多いほど、処理速度が速く、高性能なCPUとなる。
このため、基本的にはDSPの処理能力の高さはクロック周波数と比例します。
DSPのアーキテクチャ
DSPは、高速な積和演算を実現するために、下記のようなアーキテクチャになっています。
- 積和演算器
- ハーバードアーキテクチャ
1クロックで積和演算を可能にする「積和演算器」
DSPの内部では、加算を行う加算器と積算を行う乗算器を一体化した構成にすることで、1クロックでの積和演算を可能にしています。これは「積和演算器」と呼ばれています。
積和演算器
加算器と乗算器が一体化した演算器のこと。これにより、一度の演算にて加算と乗算を同時にできる。
データと命令の読み込みを同時に行う「ハーバードアーキテクチャ」
多くのDSPは、データと命令を別々のバスから読みだすハーバードアーキテクチャを採用しています。ハーバードアーキテクチャにより、データと命令の両者への同時アクセスが可能となり、高速化を実現しています。
ポイント
- DSPは、積和演算の高速な処理に機能を特化したプロセッサ
- DSPの処理能力はクロック周波数
- DSPは、積和演算器を搭載している
- DSPは、データと命令の両者への同時アクセスが可能
DSP(デジタルシグナルプロセッサ)とマイコンの違い
DSPとマイコン(CPU)の違いの一覧表
DSP | マイコン(CPU) | |
---|---|---|
複数のデータ処理能力 | 高い | 低い |
汎用性 | 低い | 高い |
用途 | 高速な積和演算に特化 | 汎用的な多様な用途 |
複数のデータ処理能力はDSPのほうが高い
DSPでは、複数のデータ処理が可能です。このためDSPは、膨大なデータ量の処理を必要とする、オーディオや画像の信号処理、モータの制御、計測、遠隔通信などで使用されています。
これに対し、汎用マイコンで同じ処理を行う場合、複数の命令を高速で実行しなければなりません。その結果、実行に時間がかかり、必要な時間内での処理が難しくなります。
このため汎用マイコンは、膨大なデータ量の処理が必要な製品には適していません。
しかし、だからといってマイコンが不要なわけではありません。
汎用性はマイコン(CPU)のほうが高い
マイコンはDSPとは違って汎用性に優れており、また、豊富な機能が搭載されています。このため、様々な用途に使用することができます。
例えば、高速な積和演算を必要としない一般家電などでは、マイコンの方が望ましいと考えられます。つまり、用途に合わせた最適なマイコンやプロセッサを選択することが重要です。
最近ではARM社のCortex-M4とCortex-M7のような、DSP機能を搭載したマイコンも出現しています。
ポイント
- DSP :複数のデータ処理能力が得意
- 汎用マイコン(CPU):豊富な機能を搭載しており用途も多様