複数のスカラープロセッサーを並列で動かし
ベクトル処理を可能にする「BSP」
BSPは、今から見ればコンピューターというよりはアクセラレーターに近い。BSPはフロントエンドに同社のB7700/7800というメインフレームマシンを置き、これが周辺回路やディスクアクセスなどをすべて管理する構造を取っている。
このB7700/7800から1.5MB/秒の専用リンク経由でBSPに命令を送り、結果を受け取るという構造になっていた。
そのBSPであるが、プロセッサー部の構造をもう少し細かく示したのが下の画像である。フロントエンドとの通信は、一旦ファイルストレージユニットに格納される。ファイルストレージとあるが、実際にはCCDを利用した半導体メモリーである。
CCDは今でこそイメージセンサーのみに使われているが、1970年代はまだイメージセンサーとしての技術が確立される途中で、むしろ一種のメモリーとして使われることも多かった。ただCCDメモリーはあくまでも外部キャッシュという扱いである。
なぜでファイルメモリーと呼ぶかといえば、Fortran(数値演算に向いたプログラミング言語)のファイルステートメント(データの格納を行なう命令)に適した構造だから、ということであって、昨今のOSが提供するファイルシステムとは意味合いがやや異なっている。
資料によれば、このファイルストレージユニットは平均して60MB/秒程度の転送速度を維持していたそうである。昨今ではUSB 2.0程度の速度であるが、1977年当時としてはかなり高速だと思っていい。
メインとなるのは、命令制御を行なうスカラープロセッサーを内蔵するコントロールユニットと、実際に演算を行なうパラレルプロセッサーの2ブロックからなり、それぞれがローカルメモリーを抱えていた。
さて、スカラープロセッサーは実際にはパラレルプロセッサーに対してどんな順序で計算を行なわせるかの管理をする部分で、例えばループ演算を分解してベクトルに展開する、という処理が主な作業であり、ここでスカラー演算そのものをさせることは考えていなかったようだ。したがってメインはパラレルプロセッサーブロックになる。
そのパラレルプロセッサーブロックの中核部が下図である。上の画像で“16 Parallel Arithmetic Elements”とある中身は、2つのクロスバースイッチ(OperandとResult)、16の算術演算ユニット(AU:Arithmetic Unit)、17のメモリー(MU:Memory Unit)である。
BSPのコンセプトは複数のスカラープロセッサーを並列で動かすことで、ベクトル処理を可能にしようというもので、このあたりはどことなくILLIAC IVの臭いがしなくもないのだが、いろいろと痛い目にあったのだろう。AUを16個に留めた(つまりベクター長は最大16)あたりは、実現の可能性を高めるために配慮したのだろうか?
おもしろいのは、これに組み合わせるメモリーシステムが、わざわざクロスバースイッチ経由になっていることである。
Burroughsはこれを“Conflict-free Memory Access”と称しているが、例えばFFTなどの行列演算のようにメモリーを2次元的に舐めるようなケースでは、通常の1次元的なメモリーアクセスがボトルネックになりやすい。
もちろんこれを防ぐために、ハードウェアで、ある程度の分量のキャッシュを挟んだり、ソフトウェアでアルゴリズムを工夫するなど方策はあるのだが、BSPはAUとMUをクロスバースイッチでつなぐという、やや斜め上の力技で回避する方法を取った。
ちなみにこのAUあるいはクロスバースイッチに対しては、パラレルプロセッサー・コントロールユニットから命令をブロードキャストの形で一斉に送り出す仕組みになっており、その意味ではベクトル的な動作しかできないことになっている。
BSPのサイクル時間は160ナノ秒、つまり6.25MHzほどの動作周波数である。このアレイユニット全体はパイプライン構造になっており、Operand Routing→AU→Rresult Routing→MUという4段のステージが5サイクルで実行できるようになっている(同社はこれをマクロ・パイプラインと呼んでいる)。
BSPの1語のサイズは48bitになっており、いわゆる倍精度浮動小数点よりはやや精度が落ちることになる。
ちなみに演算性能は、基本はパイプライン構造になっているが、AUのみ2サイクルを要する関係で、ピークでは6.25MHz×16÷2=50MFLOPSの演算性能を持つことになっていた。
内部素子はCML(Current Mode Logic)とされており、要するにECL(Emitter-coupled logic:エミッター結合回路)の一種である。1977年当時としては妥当な選択だっただろう。
→次のページヘ続く (競合他社に抜かれ、あっさり開発中止)
この連載の記事
-
第798回
PC
日本が開発したAIプロセッサーMN-Core 2 Hot Chips 2024で注目を浴びたオモシロCPU -
第797回
PC
わずか2年で完成させた韓国FuriosaAIのAIアクセラレーターRNGD Hot Chips 2024で注目を浴びたオモシロCPU -
第796回
PC
Metaが自社開発したAI推論用アクセラレーターMTIA v2 Hot Chips 2024で注目を浴びたオモシロCPU -
第795回
デジタル
AI性能を引き上げるInstinct MI325XとPensando Salina 400/Pollara 400がサーバーにインパクトをもたらす AMD CPUロードマップ -
第794回
デジタル
第5世代EPYCはMRDIMMをサポートしている? AMD CPUロードマップ -
第793回
PC
5nmの限界に早くもたどり着いてしまったWSE-3 Hot Chips 2024で注目を浴びたオモシロCPU -
第792回
PC
大型言語モデルに全振りしたSambaNovaのAIプロセッサーSC40L Hot Chips 2024で注目を浴びたオモシロCPU -
第791回
PC
妙に性能のバランスが悪いマイクロソフトのAI特化型チップMaia 100 Hot Chips 2024で注目を浴びたオモシロCPU -
第790回
PC
AI推論用アクセラレーターを搭載するIBMのTelum II Hot Chips 2024で注目を浴びたオモシロCPU -
第789回
PC
切り捨てられた部門が再始動して作り上げたAmpereOne Hot Chips 2024で注目を浴びたオモシロCPU -
第788回
PC
Meteor Lakeを凌駕する性能のQualcomm「Oryon」 Hot Chips 2024で注目を浴びたオモシロCPU - この連載の一覧へ