Super Harvard Architecture Single-Chip Computer
SHARCは、ハーバード・アーキテクチャーのワードマシンのVLIWプロセッサーであり、 オクテットではなく32ビットワードを示すようにアドレスが振られているため、 8ビットや16ビットの値を扱うことはできない。 64ビットのデータを扱ったり、8ビットや16ビットのデータを1つの32ビットのワードに 詰め込んだりする時に、コンパイラーはリトルエンディアンやビッグエンディアンをルールとして 利用することはあるが、SHARC CPU自体はリトルエンディアンでもビッグエンディアンでもない。 アナログ・デバイセズは、問題を避けるため自社のCコンパイラーで32ビットcharを使うのを避けている。
ワードサイズは命令については48ビットであり、整数と普通の浮動小数点数については32ビット、 拡張された浮動小数点数については40ビットである。 コードとデータは通常はチップ上のメモリーからフェッチされる。 つまりユーザーは求められるワードサイズに合わせて領域を分割しておく必要がある。 短いデータタイプであっても長いメモリーに保持されるため、このような利用をすると、 領域の利用には無駄が生まれる。 40ビットの拡張された浮動小数点数を利用しないシステムでは、チップ上のメモリーを コード用の48ビット領域とそれ以外のための32ビット領域に分割する。 ほとんどのメモリーに関連するCPUの命令は、48ビットメモリーの全てのビットにアクセスすることが できない。 しかし特別な48ビットレジスターを利用すれば、48ビットメモリー内のビットにアクセスする ことができる。 この特別な48ビットレジスターは、より短いレジスターとして扱うことができ、これにより 通常のレジスターとの間でデータをやり取りできる。