SHARCTMは Analog Devicesの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個を同時にアクセスする命令だけを記憶しておき、 バスの競合による速度低下を防ぎます。
演算部は
2個のメモリに同時にアクセスするために、 アドレス発生器 (Address Generator, Data Address Generator, DAG) が2組用意されています。 DAG1はDMの、DAG2はPMのアドレスを計算します。
SHARC DSPは、DSPコアに、 2個の2ポートメモリ、 I/Oプロセッサ、 2組のシリアルポート、 6本のリンクポートなどを組み合わせたものです。 2ポートメモリはDSPコアとI/Oプロセッサから同時にアクセス可能です。 DSPコアに計算をさせながらリンクポートで隣のDSPにデータを転送する… といった処理ができます。