Cray-2のシステム構成
Cray-2では、最大256M語の共通メモリを中心として、バックグランドプロセサとフォワードプロセサがつながっている。バックグランドプロセサは、これまでのCPUで、スカラやベクトルの演算を行う。
バックグランドプロセサの大きな改良点は、これまでの64エントリのTレジスタやBレジスタが高速の64ビット16K語のローカルメモリに替わった点である。また、メインメモリの増大により24ビットのアドレスでは不足であるので、Aレジスタが32ビットに拡張されている。
図1.46は、Cray-2のバックグラウンドプロセサのブロック図である。Cray-1との大きな違いは、SレジスタとAレジスタにつながるTレジスタ、Bレジスタという中間のバッファレジスタがなくなり、ローカルメモリが置かれている点である。このローカルメモリは、SレジスタとAレジスタに共通で、また、スカラとアドレスの演算ユニットにもつながっている。
このローカルメモリにはベクトルデータも格納できると書かれており、スカラとベクトルで浮動小数点演算器を共用しているパスを使って、ベクトルレジスタからローカルメモリをアクセスできるようになっているようである。なお、ローカルメモリのアクセスには4サイクル必要で、1サイクルでアクセスできたTレジスタやBレジスタよりもかなりアクセス時間が長い。
そして、Cray X-MPでも採用されたScatter/Gatherがサポートされ、開平(Square Root)演算器が追加されている。
また、命令バッファは、Cray-1の4枚に対して、Cray-2では8枚に増えている。
Cray-2はピーク演算性能ではCray X-MP/4の約2倍という最速のスパコンではあったが、ベクトルパイプラインの段数が長いために高い性能が出るプログラムを書くのが難しく、多くの実問題ではそれほどの性能差は無く、X-MPの方が売れたようである。