第1世代SHARC DSP


SHARCの特徴

 SHARCTMAnalog DevicesのDSPで、 以下の特徴があります。


DSPコア

SHARC DSP core
DSPコアのブロック図

 SHARCはSuper Harvard ARchitecture Computerの略です (ただし、一般名詞ではなく、Analog Devices, Inc.の商標です)。 harvard architectureというのは プログラム用とデータ用に独立したバスを持つ方式で、 プログラムとデータに同時にアクセスできます。 SHARCはその変形で、 データ専用バス (Data Memory Bus: DM Bus) と プログラム/データ共用バス (Program Memory Bus: PM Bus) の2本があります。 メモリ空間も、DM (Data Memory) とPM (Program Memory) の2つがあります。

 畳み込み演算のように2個のデータを同時にアクセスする場合には、 プログラム/データ共用バスをデータ用に使用します。 命令キャッシュは、データ2個を同時にアクセスする命令だけを記憶しておき、 バスの競合による速度低下を防ぎます。

 演算部は

で構成されます。 メモリアクセスはレジスタのロードストアのみで、 計算は全てレジスタ間で行うという、 ロードストアアーキテクチャになっています。 このDSPも、複数の処理を同時に実行できます。 同時に実行できる組み合わせはいろいろありますが、例えば、 を同時実行できます。 ALUはA+BとA-Bを同時に実行できるので、 1命令でA+B, A-B, C×Dを同時に計算できます。 これはFFTで多用されます。

 2個のメモリに同時にアクセスするために、 アドレス発生器 (Address Generator, Data Address Generator, DAG) が2組用意されています。 DAG1はDMの、DAG2はPMのアドレスを計算します。


SHARC DSP

SHARC block diagram
SHARC DSPのブロック図

 SHARC DSPは、DSPコアに、 2個の2ポートメモリ、 I/Oプロセッサ、 2組のシリアルポート、 6本のリンクポートなどを組み合わせたものです。 2ポートメモリはDSPコアとI/Oプロセッサから同時にアクセス可能です。 DSPコアに計算をさせながらリンクポートで隣のDSPにデータを転送する… といった処理ができます。


[上へ] [戻る DSPとは?] [目次] [次へ 第3世代SHARC DSP]