SHARCプロセッサについて
Super Harvard Architecture Single-Chip Computer(SHARC)は、
アナログ・デバイセズによって開発された高性能な
デジタルシグナルプロセッサ(DSP)です。特に浮動小数点演算と固定小数点演算において優れた性能を発揮し、様々な信号処理用途に対応しています。SHARCは1994年に設計され、その汎用性ゆえに、単一のCPUによる砲弾の制御から、最大1000個のCPUを用いた海上オブジェクト追尾レーダーの信号処理コンピュータに至るまで、多岐にわたるアプリケーションで使用されています。
アーキテクチャの特性
SHARCプロセッサは、ハーバードアーキテクチャを基本にした
VLIW(Very Long Instruction Word)プロセッサです。アドレスが
32ビットワードに設定されているため、8ビットや16ビットのデータを直接扱うことはできませんが、コンパイラーを用いることで、異なるビット数のデータを
32ビットワードに詰め込むことが可能です。しかし、SHARC自体はリトルエンディアンでもビッグエンディアンでもなく、特に自社のCコンパイラーでは
32ビットcharの使用を避けています。
命令のワードサイズは
48ビットで、整数及び通常の浮動小数点数は
32ビット、拡張浮動小数点数は40ビットとして扱われます。コードとデータは、通常チップ内のメモリーから取得されますが、短いデータタイプで長いメモリーを使用することにより、メモリの利用効率が低下する可能性があります。例えば、拡張浮動小数点数を使用しないシステムでは、
48ビット領域と
32ビット領域にメモリーを分割し、外部メモリーとも接続して効率を上げる努力がなされます。
メモリ管理とアクセス
SHARCは
32ビットワード単位のアドレス空間を持ち、最大で16GBから24GBの範囲のメモリを持つことができます。命令は
32ビットの即値をオペランドとして取り扱うことが可能で、条件付きの命令も多く、アセンブリ言語でのシンプルな条件節の記述を可能にします。2つの
遅延スロットを持ち、ジャンプ命令の後には次に続く2つの命令が自動的に実行される構造になっています。SHARCプロセッサはリーク制御機能も内蔵し、最大6レベルの制御を経てループを高速に処理できます。
コンテクストスイッチと高速処理
SHARCプロセッサは2セットのレジスタを持ち、これによりアプリケーションとオペレーティングシステムの間、または複数のスレッド間で即座にコンテキストを切り替えることができ、これにより処理の効率が格段に向上します。加えて、特別なDMAエンジンを活用することで、命令実行に伴う
48ビットデータの転送やオーバーレイ管理を行うことが可能です。
参考情報
SHARCアーキテクチャは、多くの派生型や関連技術と共に、今後のデジタル信号処理の分野においても重要な役割を果たすでしょう。関連する技術には、TigerSHARC、
Blackfin、Qualcomm Hexagon、Texas InstrumentsのTMS320、CEVA, Inc.などが挙げられます。
外部リンク
SHARCプロセッサは、その独自の性能とアーキテクチャにより、未来の信号処理技術を牽引していく存在として期待されています。