| CDC STAR-100 | |
|---|---|
2 つの CDC STAR-100、8 MB バージョン (前面) と 4 MB バージョン (背景) | |
| デザイン | |
| メーカー | コントロールデータコーポレーション |
| デザイナー | ジム・ソーントン |
| 発売日 | 1974年[1] |
| ケーシング | |
| 寸法 | フルコンピュータのおおよそのサイズ: 高さ:212 cm(83インチ) 長さ:745 cm(293インチ) 内部セクション:[2] 高さ:76インチ(190 cm) 幅:28.5インチ(72 cm) 奥行き:30インチ(76 cm) |
| 重さ | 2,200ポンド(1,000kg) |
| 力 | 250kW @ 208V 400Hz [ 2 ] |
| システム | |
| オペレーティング·システム | ヘリオス[2] |
| CPU | 64ビット プロセッサ@ 25MHz [ 1] |
| メモリ | 最大8メガバイト(4 * 4 * 64K x 64ビット)[3] |
| ストレージ | - |
| ミップス | 1 MIPS(スカラー)[4] [2] |
| フロップス | 100 MFLOPS (ベクター) [1] |
| 前任者 | - |
| 後継 | CDCサイバー200 |
CDC STAR-100は、コントロールデータコーポレーション(CDC)が設計、製造、販売したベクトルスーパーコンピュータです。ベクトルプロセッサを使用して適切な科学アプリケーションのパフォーマンスを向上させた最初のマシンの1つでした。また、集積回路を使用した最初のスーパーコンピュータであり、100万ワードのコンピュータメモリを搭載した最初のスーパーコンピュータでもありました。[5]
STARはSTリング(2進数)とARレイを組み合わせたものです。 [6] 100は、 1秒あたり1億回の浮動小数点演算(MFLOPS)の公称ピーク処理速度を示しています。[5]以前のCDC 7600は36MFLOPSのピーク性能を提供しましたが、通常は約10MFLOPSで動作しました。
この設計は、1960年代半ばにローレンス・リバモア国立研究所(LLNL)に提出された入札の一部でした。 [5]リバモアは、独自の予算ではるかに高速なマシンを製造し、その結果得られた設計を研究所にリースするパートナーを探していました。1970年代初頭に公表され、1971年8月17日にCDCは、ゼネラルモーターズが最初の商業注文を行ったことを発表しました。
このマシンの基本的な設計上の特徴のいくつかは、1974 年に初めて商業的に使用されたときの実際のパフォーマンスが予想よりはるかに低いことを意味しており、これが1975 年にCray-1が発表された際に CDC がスーパーコンピュータ市場での以前の優位性から押し出された主な理由の 1 つでした。STAR-100 システムは 3 台のみ納品され、2 台は LLNL に、もう 1 台はNASA ラングレー研究センターに納品されました。
説明
STARは64ビットアーキテクチャを持ち、195の命令で構成されていた。[7]その主な革新は、ベクトル処理用の65のベクトル命令が組み込まれたことである。これらの命令によって実行される操作は、 APLプログラミング言語の概念と演算子に強く影響されており、特に「制御ベクトル」(現代の用語ではベクトルマスク)の概念と、制御ベクトルを使用したベクトル置換のいくつかの命令は、APLから直接引き継がれました。[8] [9]
ベクトル命令は、メイン メモリ内の連続した場所に格納されたベクトルに対して動作しました。メモリのアドレス指定は仮想でした。ベクトル命令は算術パイプラインに供給され、1 つの命令で、1 回の命令フェッチだけで最大 65,535 要素の 2 つの可変長ベクトルを追加できました。STAR は、ベクトル オペランドを 512 ビット単位 (スーパーワード) でフェッチし、平均メモリ待ち時間を短縮しました。
「次の」オペランドのメモリ位置がわかっているため、CPU は前のオペランドを操作しながら次のオペランドをフェッチできます。一般的な命令パイプラインと同様に、1 つの命令を完了するために必要な時間は以前と変わりませんが、CPU は一度に複数のデータ ポイントを処理するため、全体的なパフォーマンスは大幅に向上します。
STARの命令の多くは複雑で、特にベクトルマクロ命令は、通常であれば長い命令シーケンスを必要とする複雑な操作を実行した。これらの命令は、STARの一般的に複雑なアーキテクチャとともに、マイクロコードで実装された。[10]
メインメモリの容量は、スーパーワード (SWORD) と呼ばれる65,536 個の 512 ビットワードでした。 [11]メインメモリは、メモリアクセスをパイプライン化するために 32 ウェイインターリーブされていました。これは、アクセス時間が 1.28 μs のコアメモリで構成されていました。メインメモリは、ストリームユニットからの要求を処理するストレージアクセスコントローラ(SAC) によって制御される 512 ビットバスを介してアクセスされました。ストリームユニットは、3 つの 128 ビットデータバス (2 つは読み取り用、1 つは書き込み用) を介して SAC を介してメインメモリにアクセスします。命令フェッチ、I/O、および制御ベクターアクセス用の 128 ビットデータバスもあります。ストリームユニットは、制御ユニットとして機能し、命令のフェッチとデコード、パイプライン化された機能ユニットに代わってメモリアクセスの開始、命令実行の制御などのタスクを実行します。また、実行ユニットにデータをストリーミングするための 2 つの読み取りバッファと 1 つの書き込みバッファも含まれています。[11]
STAR-100 には 2 つの演算パイプラインがあります。1 つ目は浮動小数点加算器と乗算器を備え、2 つ目はすべてのスカラー命令を実行できます。また、浮動小数点加算器、乗算器、除算器も備えています。両方のパイプラインは浮動小数点演算用に 64 ビットであり、マイクロコードによって制御されます。STAR-100 は浮動小数点パイプラインを 4 つの 32 ビット パイプラインに分割して、精度を半分にすることでシステムのピーク性能を 100 MFLOPS に倍増できます。[11]
STAR-100 は、I/O プロセッサを使用して CPU から I/O をオフロードします。各 I/O プロセッサは、コア メモリで実装された 65,536 ワード (各 16 ビット) の独自のメイン メモリを備えた 16 ビットミニコンピュータです。すべての I/O プロセッサは、SAC への 128 ビット データ バスを共有します。
実際のパフォーマンス、ユーザー、影響
STAR-100 の実際のパフォーマンスは、いくつかの理由により、理論上のパフォーマンスのほんの一部に過ぎませんでした。まず、ベクトル命令は「メモリ間」であるため、メモリから機能ユニットまでのパイプラインが非常に長いため、起動時間が比較的長くなりました。7600 のレジスタベースのパイプライン機能ユニットとは対照的に、STAR のパイプラインははるかに深くなっています。STAR のサイクル時間が 7600 よりも遅い (40 ns 対 27.5 ns) という事実によって、問題はさらに複雑になりました。そのため、STAR が 7600 よりも高速に動作するために必要なベクトルの長さは、約 50 要素で発生しました。ループが要素数の少ないデータ セットで動作している場合、ベクトル パイプラインの設定にかかる時間コストは、ベクトル命令によって得られる時間の節約よりも高くなりました。
1974 年にマシンがリリースされると、全体的なパフォーマンスが期待外れであることがすぐに明らかになりました。一連の単一命令に効果的にベクトル化できるプログラムはほとんどありません。ほぼすべての計算は、以前の命令の結果に依存しますが、その結果はパイプラインをクリアしてからでないとフィードバックされません。このため、ほとんどのプログラムはベクトル ユニットのセットアップ コストを高く支払わなければならず、通常「機能する」プログラムは極端な例でした。さらに悪いことに、ベクトル パフォーマンスを向上させるために、基本的なスカラー パフォーマンスが犠牲になりました。プログラムがスカラー命令を実行しなければならないときはいつでも、マシンの全体的なパフォーマンスが大幅に低下しました。(アムダールの法則を参照してください。)
最終的に、STAR-100 システムが 2 台、ローレンス・リバモア国立研究所に納入され、1 台が NASAラングレー研究センターに納入されました。[12] STAR 納入の準備として、LLNL のプログラマーは7600 上でSTAR のベクトル演算をエミュレートするために、 STACKLIBと呼ばれるサブルーチンのライブラリを開発しました。STACKLIB の開発過程で、彼らは、STACKLIB を使用するように変換されたプログラムは、7600 上でも以前よりも高速に実行されることを発見しました。これにより、STAR のパフォーマンスにさらなるプレッシャーがかかりました。
STAR-100は関係者全員にとって失望の種となった。CDC 1604および6600プロジェクトでシーモア・クレイの側近であり、STARの主任設計者でもあったジム・ソーントンがCDCを離れ、ネットワーク・システムズ・コーポレーションを設立した。基本アーキテクチャの更新版は1979年にサイバー203としてリリースされ、[12]続いて1980年にサイバー205がリリースされたが、この時点ではクレイ・リサーチのかなり高性能なシステムが市場に出回っていた。STARの失敗により、CDCはスーパーコンピュータ市場での以前の優位性から押し出され、 1983年9月にETAシステムズを設立してその問題に対処しようとした。[12]
インストール
CDC STAR-100は5機製造され、1974年から納入が開始された。[1]
- コントロール データ コーポレーション、アーデン ヒルズ、ミネソタ州 (2)
- ローレンス・リバモア国立研究所。(2)
- NASAラングレー
参考文献
- ^ abcd 大規模コンピュータシステムと新しいアーキテクチャ、T. ブロック、CERN、ジュネーブ、スイス、1978 年 11 月
- ^ abcd アトラスコンピュータ研究所へのSTARコンピュータシステムの提案、マイケル・ベイリス、コントロールデータ、1972年4月
- ^ Star-100 ハードウェアリファレンスマニュアル
- ^ Whetstone ベンチマークの履歴と結果
- ^ abc マッケンジー、ドナルド(1998)。機械を知る:技術変化に関するエッセイ。MITプレス。ISBN 978-0-262-63188-4。
- ^ CJ Purcell ( 1974)。「制御データ STAR-100 - パフォーマンス測定」。AFIPS 1974 要件知識管理に関する国際ワークショップ。p. 385。doi :10.1109/AFIPS.1974.113。S2CID 43509695 。
- ^ Hwang, Kai; Briggs, Fayé Alayé (1984).コンピュータアーキテクチャと並列処理. McGraw-Hill. pp. 234–249.
- ^ Hockney, RW; Jesshope, CR (1981).並列コンピュータ: アーキテクチャ、プログラミング、アルゴリズム. Adam Hilger. p. 15.
- ^ Ibbett, RN; Topham, NP (1989).高性能コンピュータのアーキテクチャ、第1巻:ユニプロセッサとベクトルプロセッサ。Springer -Verlag。p . 159。
- ^ シュネック、PB (1987)。スーパーコンピュータのアーキテクチャ。クルーワーアカデミック。 99–118ページ。
- ^ abc PM Kogge、「パイプラインコンピュータのアーキテクチャ」、Taylor & Francis、1981年、162-164ページ。
- ^ abc RW Hockney と CR Jesshope、「並列コンピュータ 2: アーキテクチャ、プログラミング、アルゴリズム」、Adam Hilger、1988 年、21 ページ。
さらに読む
- RG Hintz および DP Tate、「Control Data STAR-100 プロセッサ設計」、Proc. Compcon、1972 年、pp. 1-4。
外部リンク
- ニール・R・リンカーンと、ミネソタ大学チャールズ・バベッジ研究所のコンピューターアーキテクチャーと設計を担当する Control Data Corporation (CDC) のエンジニア 18 名。エンジニアには、ロバート・モー、ウェイン・スペッカー、デニス・グリナ、トム・ローワン、モーリス・ハットソン、カート・アレクサンダー、ドン・パゲルコフ、マリス・バーグマニス、ドラン・トス、チャック・ホーリー、ラリー・クルーガー、マイク・パブロフ、デイブ・レズニック、ハワード・クローン、ビル・ベンド、ケント・シュタイナー、レイモン・コート、ニール・R・リンカーンが含まれます。議論のトピックには、CDC 1604、CDC 6600、CDC 7600、CDC 8600、CDC STAR-100、およびシーモア・クレイが含まれます。
