このページの本文へ

前へ 1 2 3 次へ

ロードマップでわかる!当世プロセッサー事情 第327回

スーパーコンピューターの系譜 CRAYに対抗し飲み込まれたFPS Tシリーズ

2015年10月30日 12時00分更新

文● 大原雄介(http://www.yusuke-ohara.com/) 編集●北村/ASCII.jp

  • この記事をはてなブックマークに追加
  • 本文印刷

 前回のTI ASCに比べれば多少新しいのが今回解説するFPS(Floating Point Systems, Inc.)のFPS Tシリーズである。

FPS Tシリーズの前身である「FPS-164」

CRAY-1より安価なマシンを供給していた
FPS

 FPSという会社は名前の通り、浮動小数点演算、つまり科学技術用の計算システムを製造・販売していたメーカーである。創立は1970年とけっこう古めで、最初の製品であるAP-120Bは1976年に発表された。

 これはさまざまなホスト(例えばDECのPDP-11という16bitのミニコンピューター)と接続してアクセラレーターとして動作するもので、内部構造は下の画像のように加算と乗算ユニットを搭載し、これにメモリーとレジスターがくっついたシステムである。

AP-120Bの内部構造。ホストとの接続はDMAなので、PDP-11との接続の場合、おそらくQ-Busの汎用DMAボードで直接メモリー転送になったと思われる。

 同社はこれをScientific Array Processorと称している。命令セットは64bit長であるが、おもしろいのは内部が8つの8bit領域(Parcel)に分割され、それぞれ内部のユニットに対する処理を記述する方式になっていたことだ。

 VLIWと異なるのは、あくまでこの8つのPercelで1つの命令を記述していることで、実際命令コード(OPERATION CODE)の領域は1つしかない。

OpCodeが少ないのは、基本演算命令がそれほどない(シンプルな加算/乗算とメモリー転送、条件分岐/ループ程度)だったからと思われる。普通ならば、Operandにどのレジスター、もしくはアドレスなどを指定するかが入るが、そうしたものは別のPercellで指定するため、命令そのものは全部で8bit幅で済んだと思われる

 では他のPercelはなにをやっているかといえば、例えばX Reg, Write Percelというのは結果をX Registerに書き込む場合、レジスターのどれを使うかを明示的に指定するものだ。

 最近のCPUはこうしたものは自動的にCPU内部で割り当てを行なう仕組みが用意されているが、なにせ1976年のことなので、こうしたものを明示的にプログラマーが指定する必要があった。

 もっとも、うまくやれば下の画像のようにパイプライン動作が可能になり、ベクトツプロセッサーと同じような性能が得られる。

ループの際に依存関係をうまく調整することで、パイプラインストールを起こさないようにできる仕組みだ

 実際のスループットで言えば、乗加算(A+B×C)はスカラーで10サイクルなのがベクトルで3サイクル、除算(A/B)はスカラーで22サイクルなのがベクトルで7サイクルとされ、うまくデータをプログラマーが扱えば性能が大きく改善するとしている。

 ちなみにデータ長は38bitという不思議なもので、これは当時APS-120Bがターゲットとしたアプリケーションでは32bitでは精度が足らず、64bitにすると無駄が多すぎるかららしい。

 ただし、後継のFPS-164はこれを64bit幅に拡張している。APS-120Bのシステム全体の動作速度は6MHzで、理論性能では12MFLOPSということになる。CRAY-1の160MIPSに比べると見劣りはするが、その分価格も安かったようで、予算の少ない研究所や、医療用のイメージ処理など、CRAY-1クラスを導入できないところに好評だったらしい。

 APS-120Bに続いて、やや性能を上げるとともにIBMのメインフレームに接続できるようにしたAP-190Lと、逆に信号処理向けの低価格品であるFPS-100がリリースされ、次いで1980年には先に述べた通り内部のデータ幅を64bit化したFPS-164が投入されている。

FPS-164。同機のカタログより抜粋

 しかし、この頃の同社の競合製品はIBMであって、IBM 3081や、その後継として投入されたIBM 3090(ベクトル演算支援付き)などは、FPS-164を上回る性能を発揮した。

 FPS-164の性能そのものは、11MFLOPS(若干動作速度が落ちた)こともあり、FPSは後追いで行列演算に特化させたFPS-164/MAXを投入する。これは、行列演算用の回路を追加することで22MFLOPSを実現した。

 さらに後追いで、内部の回路をTTLからECLに変更することで5倍の動作周波数を実現したFPS-264も投入される。ただし性能そのものは3.5~4倍程度だったらしい。

 もっとも、競合といってもIBMと顧客を奪い合うというよりは、性能を308x/3090より引き上げないとIBMに採用されなかった、という方が実情に近いかもしれない。

 IBMは当時LCAP(Loosely Coupled Array of Processors)というシステムを構築しており、試験的に作られたLCAP/1とLCAP/2に続き、商用モデルとしてLCAP/3090というシステムを開発していた。

 これはCRAY-1などに対抗するのに、単一の高性能プロセッサーの代わりに多数のアクセラレーターを接続してトータルでの性能アップを目指すという構成である。

これは初期のLCAP/1の構成で、“AP”と書かれているのがFPS-164/MAX。後にLCAP/2ではここにFPS-264が加わり、LCAP/3090ではホストがIBM 3090になるなど細かい違いがある

 ちなみにLCAPに関しては、単にIBMだけでなくDECのVAXシリーズとやはり同じような構成を取ったシステムを構築したりするなど、さまざまなものがあった。

 いずれも目的は簡単で、CRAYに代表される高速なベクトルコンピューターの市場を、もう少し廉価に自社のシステムで代替できるようにするというもので、このビジネスは1991年にFPSがCRIに買収されるまで形を変えつつ続いた。

(→次ページヘ続く 「後継の超並列マシン、FPS Tシリーズ」)

前へ 1 2 3 次へ

カテゴリートップへ

この連載の記事

注目ニュース

ASCII倶楽部

プレミアムPC試用レポート

ピックアップ

ASCII.jp RSS2.0 配信中

ASCII.jpメール デジタルMac/iPodマガジン