C90はECLの10000ゲートのカスタムLSIを使用しており、クロックは、244MHz(4.1ns)であった。これはY-MP Model Dの1.5倍のクロック周波数である。さらに各プロセサのベクタパイプライン演算器を2個に増加したアーキテクチャとなったので、プロセサあたりのピーク演算性能は、3倍に向上している。つまり、1台のプロセサで244×2(パイプライン)×2(積、和)=976MFlopsと約1GFlopsのピーク演算性能を持っている。

C916は16プロセサであるので、システム全体のピーク演算性能は15.616GFlopsということになる。これは、Cray-3の仕様上の最大構成の15.38GFlopsを若干上回る性能である。そして、前に書いたように、Cray-3は何とか試作品の3プロセサシステムは動いたが、商品にならなかったので、ビジネス的にはCray C90がその穴を埋めることになった。

図1.61はCray C90のプロセサのブロックダイアグラムである。C90はプロセサあたりのベクタパイプが2本になっているので、右上から2番目の浮動小数点演算器のブロックは斜め線で2つに分けられており、2つの演算パイプラインがあることを示している。

なお、両方のパイプを使うためには、プログラムをリコンパイルして、2並列のパイプラインを使うバイナリを作る必要があった。しかし、一方のベクタ演算パイプラインを遊ばせるなら、古い1パイプラインのY-MPのプログラムも変更なしで動くという。

  • C90のプロセサのブロックダイアグラム

    図1.61 C90のプロセサのブロックダイアグラム。右上から2番目の浮動小数点演算器のブロックは斜め線で2つに分けられており2つの演算パイプラインがあることを示す (出典:Cray C90 Functional Description Manual)

なお、この図はメモリの左に16個のプロセサがあり、右側にプロセサ0の内部の詳細を示す図が書かれている。その意味では、メモリにプロセサ0が2個接続されている絵になっている。

メモリは15nsのBiCMOSで作られ、最大構成のC916では1024M語(8GB)の容量を持っていた。メモリは1024バンク構成で、メモリバンド幅は245.8GB/sである。これは15.7B/FlopのBand幅/浮動小数演算比(B/F比)であり、現在のスパコンが0.5B/Flopかそれ以下のB/F比であるのと比べると圧倒的にメモリリッチなハードウェアである。

そして、IOSが最大16個メモリに接続されて、13.6GB/sのI/Oバンド幅を持っていた。

また、C90シリーズのメモリをDRAM化したD92、D92A、D94、D98というモデルも作られた。DRAMであるのでアクセスは遅いが、8プロセサモデルであるD98では16GBのメインメモリを持つことができた。

図1.62は、Cray-1からCray C90までのプロセサの複雑度の向上を示すグラフである。縦軸は、プロセサ1台あたりのアクティブ回路素子(実質上、トランジスタ数)の数である。

Cray-1では25万素子を若干上回る程度であったが、XMP4では50万に近い素子数となり、YMP8では75万に近い素子数になり、C90では125万素子を超えている。X-MPではマルチプロセサをサポートするためのロジックの追加があり、Y-MPではプロセサ数の増加などでロジックが増えたと思われる。そして、C90ではパイプラインを2つの増加したのが50万素子あまりの素子の増加に効いていると思われる。

しかし、Cray-1は2ゲートのECL ICを使っていたのに対して、X-MPでは16ゲートのMSIを使い、Y-MPでは2500ゲートのLSI、C90では10000ゲートのLSIと素子数の増加よりずっと速いペースで集積度が向上しているので、プロセサ数の増加を含めても、同程度のサイズの筐体に全システムを収容することができている。

  • Cray-1とその後継機の1プロセサあたりのアクティブ素子の数の推移

    図1.62 Cray-1とその後継機の1プロセサあたりのアクティブ素子の数の推移 (出典:Dezsõ Sima, Terence Fountain, Péter Kacsuk、"Advanced Computer Architectures"、Addison-Wesley、1997)

(次回は12月14日の掲載予定です)