


CDC Cyberシリーズのメインフレームクラスのスーパーコンピュータは、1970年代から1980年代にかけてControl Data Corporation (CDC)の主力製品でした。当時、CDC Cyberシリーズは科学技術計算や数学計算に最適なコンピュータアーキテクチャでした。流体解析、材料科学の応力解析、電気化学加工解析、[ 1 ]確率解析、[ 2 ]エネルギーおよび学術計算、[ 3 ]放射線遮蔽モデリング、[ 4 ]などのアプリケーションに使用されました。このラインナップには、Cyber 18とCyber 1000ミニコンピュータも含まれていました。前身のCDC 6600と同様に、Cyber 18とCyber 1000は1の補数表現を採用した珍しい製品でした。
Cyber 製品ラインには、次の 5 つの異なるコンピュータ シリーズが含まれていました。
サイバー マシンの一部は、従来のスーパーコンピュータのタスクではなく、主に大規模なオフィス アプリケーションを対象としていましたが、従来の CDC の役割でパフォーマンスを向上させるための基本的なベクトル命令も含まれていました。


Cyber 70 および 170 アーキテクチャは、以前のCDC 6600およびCDC 7600シリーズの後継であり、以前のアーキテクチャの特徴をほぼすべて共有していました。Cyber-70 シリーズは、以前のシステムからのマイナー アップグレードです。Cyber-73 は、比較移動ユニット (CMU) を追加した以外は、CDC 6400 とほぼ同じハードウェアでした。CMU 命令は、ワード境界に揃えられていない 6 ビット文字データの比較と移動を高速化しました。Cyber-73 は、1 個または 2 個の CPU で構成できました。デュアル CPU バージョンは CDC 6500 に代わるものです。CDC 6200 の場合と同様に、CDC は Cyber-72 も提供していました。Cyber-72 は Cyber-73 と同一のハードウェアでしたが、各命令に追加のクロック サイクルを追加して速度を落としました。これにより、CDC は新しいハードウェアを開発することなく、パフォーマンスの低いバージョンを低価格で提供できました。デュアル CPU での提供も可能でした。サイバー74はCDC 6600のアップデート版であった。[ 5 ] サイバー74のデュアルCPU版には、6600スタイルのCPUが1つと、以前のCDC 6700に似たサイバー73スタイルのCPUが1つ搭載されていた。サイバー76は、実質的にはCDC 7600の名称を変更したようなものであった。シングルCPUのサイバー74とサイバー76のどちらにもCMU命令は搭載されていなかった。デュアルCPUのサイバー74では、CMU命令は2つ目のサイバー73スタイルのCPUでのみ利用可能であった。
Cyber-170シリーズは、CDCが個別の電子部品とコアメモリから集積回路と半導体メモリへと移行したことを象徴しています。172、173、174は集積回路と半導体メモリを使用し、175は高速ディスクリートトランジスタを使用しています。[ 6 ] Cyber-170/700シリーズは、1970年代後半にCyber-170シリーズを刷新したものです。
中央プロセッサ(CPU)と中央メモリ(CM)は、60ビットワード単位で動作しました。CDC用語では、「バイト」という用語は12ビットのエンティティ(これは周辺プロセッサで使用されるワードサイズと一致していました)を指します。文字は6ビット、オペレーションコードは6ビット、中央メモリのアドレスは18ビットでした。中央プロセッサの命令は15ビットまたは30ビットの長さでした。Cyber 170シリーズに固有の18ビットアドレス指定は、このシリーズでは半導体メモリであるメインメモリの容量を262,144ワード(256KB)に制限しました。中央プロセッサにはI/O命令はなく、I/Oは周辺プロセッサ(PP)ユニットに依存します。
Cyber 170 シリーズのシステムは、25 MHz または 40 MHz で動作する 1 個または 2 個のCPUで構成され、10、14、17、または 20 個の周辺プロセッサ (PP)、および高速 I /O用の最大 24 個の高性能チャネルを備えています。CPU のメモリ参照時間が比較的遅いため (モデルによっては、メモリ参照命令が浮動小数点除算よりも遅い)、ハイエンドの CPU (Cyber-74、Cyber-76、Cyber-175、Cyber-176 など) には、命令キャッシュとして使用される 8 ワードまたは 12 ワードの高速メモリが搭載されています。キャッシュに収まるループ (通常、インスタックと呼ばれます) は、命令フェッチのためにメイン メモリを参照することなく、非常に高速に実行されます。ローエンド モデルには命令スタックが含まれていません。ただし、最大 4 つの命令が各 60 ビット ワードにパックされているため、ある程度のプリフェッチが設計上必然的に備わっています。
Cyber 170シリーズは、従来システムと同様に、8つの18ビットアドレスレジスタ(A0~A7)、8つの18ビットインデックスレジスタ(B0~B7)、および8つの60ビットオペランドレジスタ(X0~X7)を備えています。7つのAレジスタは、対応するXレジスタに接続されています。A1~A5を設定すると、そのアドレスが読み出され、対応するX1~X5レジスタにフェッチされます。同様に、レジスタA6またはA7を設定すると、対応するX6またはX7レジスタの値が、Aレジスタに書き込まれたアドレスの中央メモリに書き込まれます。A0は実質的にスクラッチレジスタです。
ハイエンドCPUは複数の機能ユニット(シフト、インクリメント、浮動小数点加算など)で構成されており、ある程度の命令の並列実行が可能でした。この並列性により、アセンブリプログラマは、データが必要になるかなり前に中央メモリからデータをプリフェッチすることで、システムの遅いメモリフェッチ時間の影響を最小限に抑えることができます。メモリフェッチ命令とフェッチされたオペランドを操作する命令の間に独立した命令をインターリーブすることで、メモリフェッチに要する時間を他の計算に使用できます。この手法と、命令スタックに収まるタイトなループを手作業で作成することで、熟練したCyberアセンブリプログラマは、ハードウェアのパワーを最大限に活用した非常に効率的なコードを作成できます。
周辺プロセッサ サブシステムは、バレルとスロットと呼ばれる手法を使用して実行ユニットを共有します。各 PP には独自のメモリとレジスタがありますが、プロセッサ (スロット) 自体は各 PP (バレル) から 1 つの命令を順番に実行しました。これは、ハードウェアマルチプログラミングの原型です。周辺プロセッサには、4096 バイトの 12 ビット メモリ ワードと 18 ビットのアキュムレータ レジスタがあります。各 PP は、PP 独自のメモリに加えて、すべてのI/Oチャネルとシステムの中央メモリ (CM) にアクセスできます。たとえば、PP 命令セットには広範な算術演算機能がなく、ユーザー コードを実行しません。周辺プロセッサ サブシステムの目的は、I/O を処理して、より強力な中央プロセッサ ユニットを解放し、ユーザーの計算を実行できるようにすることです。
下位のCyber CPUの特徴の一つに、比較移動ユニット(CMU)があります。これは、テキスト処理アプリケーションを支援するための4つの追加命令を提供します。他の15ビットおよび30ビット命令とは異なり、これらの命令は60ビット命令です(3つは実際には60ビットすべてを使用し、もう1つは30ビットを使用しますが、アライメントのために60ビットを使用する必要があります)。これらの命令は、短い文字列の移動、長い文字列の移動、文字列の比較、照合された文字列の比較です。これらの命令は、中央メモリ内の6ビットフィールド(1から10まで番号が付けられています)を操作します。例えば、1つの命令で「ワード1000の3番目の文字目から始まる72文字の文字列を、位置2000の9番目の文字目へ移動する」という命令を実行できます。上位のCyber CPUにはCMUハードウェアは搭載されていません。これは、手動でコーディングしたループがCMU命令と同等かそれ以上の速度で実行できるためです。
以降のシステムでは、通常、CDC のNOS (ネットワーク オペレーティング システム) が実行されます。NOS バージョン 1 は、1981 年頃まで更新され続けました。NOS バージョン 2 は 1982 年初めにリリースされ、最終バージョン 2.8.7 PSR 871 が 1997 年 12 月に配信されました。このバージョンでは、DtCyber をサポートするために、引き続き細かい非公式のバグ修正、Y2K 緩和策などが提供されています。NOS の他に、170 シリーズで一般的に使用されていたオペレーティング システムは、NOS/BEまたはその前身であるSCOPE (CDC のサニーベール部門の製品) のみでした。これらのオペレーティング システムは、バッチ アプリケーションと対話型アプリケーションのタイム シェアリングを提供します。NOS の前身はKronosで、1975 年頃まで一般的に使用されていました。開発されたアプリケーションは特定のインストールの文字セットに大きく依存していたため、多くのインストールでは、アプリケーションを変換するのではなく、古いオペレーティング システムを実行することを選択しました。その他のインストールでは、アプリケーションの互換性を維持するために、古い文字セットを使用するようにオペレーティング システムの新しいバージョンにパッチを適用します。
Cyber 180 の開発は、1973年にカリフォルニア州エスコンディードに設立された CDC/ NCR の共同開発ベンチャーである Advanced Systems Laboratory で始まりました。このマシン ファミリは当初 Integrated Product Line (IPL) と呼ばれ、NCR 6150 および CDC Cyber 70 製品ラインの仮想メモリの代替となることを目指していました。IPL システムは、開発文書では Cyber 80 とも呼ばれていました。このプロジェクトでは、すべての言語とオペレーティング システム (IPLOS) を SWL で記述することを意図して、高級Pascal風言語である Software Writer's Language (SWL) が開発されました。SWL は後に PASCAL-X に改名され、最終的にCybilになりました。この共同事業は 1976 年に中止され、CDC はシステム開発を継続し、Cyber 80 を Cyber 180 に改名しました
コンピューティングの世界が8ビットバイトサイズに標準化されるにつれ、CDCの顧客はCyberマシンにも同様の標準化を求め始めました。その結果、60ビットモードと64ビットモードの両方で動作可能な新しいシステムシリーズが誕生しました。64ビットオペレーティングシステムはNOS/VEと呼ばれ、ハードウェアの仮想メモリ機能をサポートしていました。従来の60ビットオペレーティングシステムであるNOSとNOS/BEは、旧システムとの互換性を確保するために、特別なアドレス空間で動作できました。
真の180モードマシンは、両方の命令セットを同時にサポートできるマイクロコードプロセッサです。ハードウェアは、以前の6000/70/170マシンとは全く異なります。小型の170モード交換パッケージは、はるかに大型の180モード交換パッケージにマッピングされました。180モード交換パッケージには、8/16/64ビットの2の補数180命令セットと12/60ビットの1の補数170命令セットのどちらを実行するかを決定する仮想マシン識別子(VMID)があります。
初期のラインナップには、真の180型機が3機種あり、それぞれコードネームP1、P2、P3と名付けられていました。P2とP3は大型の水冷式機でした。P2は、後に小型のP1を設計した同じチームによって、オンタリオ州ミシサガで設計されました。P3はミネソタ州アーデンヒルズで設計されました。P1は、ミシサガのグループによって設計された、60枚のボードを搭載した斬新な空冷式機で、60Hzで動作しました(モーター発電機は不要)。4つ目のハイエンド180型機、モデル990(コードネームTHETA)もアーデンヒルズで開発中でした。
180シリーズは当初、170/8xxマシンとして販売されましたが、内部に搭載されている新しい8/64ビットシステムについては言及されていませんでした。しかし、主要な制御プログラムは、環境インターフェース(EI)と呼ばれる180モードプログラムでした。170オペレーティングシステム(NOS)は、メインメモリ内に単一の大きな固定ページを使用していました。起動時にオペレータコンソールに表示される「ページテーブルを作成中」というメッセージや、P2およびP3のPPワードあたり12個ではなく16個のトグルスイッチを備えたデッドスタートパネルなど、注意深いユーザーであれば気付く手がかりがいくつかありました。
真の180年代における周辺プロセッサは常に16ビットマシンであり、符号ビットによって実行中のPP命令が16/64ビットか12/60ビットかが判別されます。PP内のシングルワードI/O命令は常に16ビット命令であるため、デッドスタート時にPPはEIとNOS、そして顧客の既存の170モードソフトウェアの両方を実行するための適切な環境を構築できます。このプロセスを顧客から隠蔽するため、CDCは1980年代初頭にデッドスタート診断シーケンス(DDS)パッケージのソースコードの配布を中止し、独自の共通テスト&初期化(CTI)パッケージに切り替えました。
170/800の初期ラインナップは、170/825 (P1)、170/835 (P2)、170/855 (P3)、170/865、そして170/875でした。825は当初、マイクロコードに遅延ループが追加された後にリリースされました。トロントの設計者たちが少しやり過ぎたようで、性能がP2に近すぎたようです。865と875モデルは、170/760ヘッド(6600/7600スタイルの並列機能ユニットを備えた1つまたは2つのプロセッサ)を改良し、メモリ容量を増大させました。865は通常の170メモリを使用し、875はCyber 205ラインからより高速なメインプロセッサメモリを採用しました。
最初の発売から1、2年後、CDCは800シリーズの真の性能を顧客に発表し、真の180シリーズは180/825(P1)、180/835(P2)、180/855(P3)と改名されました。その後、遅延マイクロコードを搭載したモデル815が発売され、より高速なマイクロコードがモデル825に復元されました。最終的に、THETAはCyber 990として発売されました。
1974年、CDCはSTARアーキテクチャを発表しました。STARは完全に新しい64ビット設計で、特定のクラスの数学タスクで高いパフォーマンスを実現するために仮想メモリとベクトル処理命令が追加されました。STARのベクトルパイプラインはメモリ間のパイプであり、最大65,536要素のベクトル長をサポートします。ベクトルパイプラインのレイテンシは非常に長いため、非常に長いベクトルを使用した場合にのみピーク速度に達します。スカラープロセッサはベクトルプロセッサ用のスペースを確保するために意図的に簡素化されており、CDC 7600と比較すると比較的低速です。そのため、最初のSTARは発売時に大きな失望を招きました(アムダールの法則を参照)。最も良い推定では、3台のSTAR-100システムが納入されたと言われています。
STARにおける問題はすべて解決可能であると思われた。1970年代後半、CDCはサイバー203でこれらの問題の一部に対処した。新しい名称はCDCの新しいブランドイメージに引き継がれ、おそらくSTARの失敗から距離を置くためだったと思われる。サイバー203は、再設計されたスカラー処理と疎結合I/O設計を採用しているが[ a ]、STARのベクトルパイプラインは維持されている。最も正確な推定では、2機のサイバー203がSTAR-100から納入またはアップグレードされたとされている。
1980年に、サイバー203の後継機であるサイバー205が発表された。[ 7 ]英国ブラックネルの英国気象局が最初の顧客であり、1981年にサイバー205を受け取った。サイバー205は、STARベクトルパイプラインを再設計されたベクトルパイプラインに置き換えたものである。スカラーユニットとベクトルユニットの両方でECLゲートアレイICが使用され、フレオンで冷却される。サイバー205システムは、2つまたは4つのベクトルパイプラインで利用でき、4パイプバージョンは理論上400 64ビットMFLOPSと800 32ビットMFLOPSを実現する。これらの速度は、手作業で作成されたアセンブリ言語以外では実際にはめったに見られない。ECLゲートアレイICにはそれぞれ168個の論理ゲートがあり、[ 8 ]クロックツリーネットワークは手作業で作成された同軸長調整によって調整されている。命令セットは、現代のプロセッサの中ではV- CISC (非常に複雑な命令セット)と見なされる。多くの特殊な操作により、ハードウェア検索、行列計算、および復号化を可能にする特別な命令が容易になります。
オリジナルのサイバー205は、 1983年にサイバー205シリーズ600が導入された際に、サイバー205シリーズ400に改名されました。シリーズ600はメモリ技術とパッケージが異なりますが、それ以外は同じです。4パイプのサイバー205が1基設置されました。その他のサイトでは2パイプの設置が行われているようですが、最終的な設置数は未定です。
1983年9月に設計チームがETA Systemsに分社化した際に、 Cyber 205アーキテクチャはETA10へと進化しました。最終的な開発はCyber 250で、1987年に2,000万ドルの価格でリリースされる予定でしたが、ETA SystemsがCDCに再吸収された後、ETA30に改名されました。
サイバープラス(別名アドバンストフレキシブルプロセッサ、AFP)は、オプションで64ビット浮動小数点演算機能を備えた16ビットプロセッサで、256Kワードまたは512Kワードの64ビットメモリを備えています。AFPはフレキシブルプロセッサ(FP)の後継機であり、FPの設計開発は1972年にブラックプロジェクトの一環としてレーダーや写真画像データの処理を目的として開始されました。[ 10 ] FP制御ユニットには、4つのマスクレジスタと条件保持レジスタを備えた条件付きマイクロ命令実行用のハードウェアネットワークが搭載されていました。マイクロ命令フォーマットの3ビットは、結果の符号とオーバーフロー、I/O条件、ループ制御など、約50の条件から実行を決定するために使用されます。[ 11 ]
1986 年には、少なくとも 21 台の Cyberplusマルチプロセッサが稼働していました。これらの並列処理システムには、それぞれ 250 MFLOPS を提供する 1 ~ 256 個の Cyberplus プロセッサが含まれており、ダイレクト メモリ相互接続アーキテクチャ (MIA) を介して既存の Cyber システムに接続されています。これは、NOS 2.2 の Cyber 170/835、845、855、および 180/990 モデルで利用可能でした。
物理的には、各サイバープラスプロセッサユニットは、サイバー180システムと同様の典型的なメインフレームモジュールサイズであり、[ 12 ]正確な幅はオプションのFPUがインストールされているかどうかに依存し、重量は約1トンでした。
Cyberplus を使用しているサイトには、ジョージア大学やドイツの Gesellschaft für Trendanalysen (GfTA) (トレンド分析協会) などがあります。
256プロセッサを搭載したサイバープラスシステムのフル構成は、理論上の性能が64GFLOPS、重量は約256トンです。9ユニット構成のシステムは、1メガピクセル画像の比較分析(前処理畳み込みを含む)を毎秒1組の速度で実行できるとされていました。
Cyber 18は、CDC 1700ミニコンピュータの後継機である16ビットミニコンピュータです。主にリアルタイム環境で使用されました。注目すべき用途の一つは、CDC 6000シリーズおよびCyber 70/Cyber 170メインフレームで使用される通信プロセッサである2550のベースとしての使用です。2550は、カリフォルニア州サンタアナにあるCDCの通信システム部門(STAOPS)の製品でした。STAOPSは、IBMメインフレームでホストされるネットワークで使用される別の通信プロセッサ(CP)も製造していました。このM1000 CP(後にC1000と改名)は、Marshall MDM Communicationsの買収によって誕生しました。Cyber 18に3枚のボードセットが追加され、2550が誕生しました。
Cyber 18は主にPascalとアセンブリ言語でプログラムされていましたが、FORTRAN、BASIC、RPG IIも利用可能でした。オペレーティングシステムには、RTOS(リアルタイムオペレーティングシステム)、MSOS 5(マスストレージオペレーティングシステム)、TIMESHARE 3(タイムシェアリングシステム)が含まれていました。
「サイバー18-17」は、1784プロセッサをベースにしたシステム17の新たな名称でした。他のサイバー18(サイバー18-05、18-10、18-20、18-30)は、最大128Kワードのメモリ、4つの追加汎用レジスタ、そして拡張命令セットを備えたマイクロプログラマブルプロセッサを搭載していました。サイバー18-30はデュアルプロセッサを搭載していました。サイバー18の特別バージョンであるMP32は、16ビットではなく32ビットで、国家安全保障局(NSA)の暗号解読作業用に開発されました。MP32は、マイクロコードにFortranの数値演算ランタイムライブラリパッケージを組み込んでいました。ソ連はこれらのシステムを複数購入しようとしましたが、製造途中だったため、米国政府が注文を取り消しました。MP32の部品はサイバー18の製造に吸収されました。サイバー18の用途の一つは、アラスカパイプラインの監視でした。
M1000 / C1000(後にサイバー 1000 と改名)は、連邦準備制度のメッセージ ストア アンド フォワード システムとして使用されました。ハード ドライブを取り除いたサイバー 1000 のバージョンは、ベル電話で使用されました。これは RISC プロセッサ(縮小命令セット コンピュータ)でした。ライン ターミネーション サブシステムを備えたサイバー 1000-2 として知られる改良版には、256 個のZilog Z80マイクロプロセッサが追加されました。ベル オペレーティング カンパニーは、1980 年代中期から後半にかけて、データ通信用にこれらのシステムを大量に購入しました。1980 年代後半には、プロセッサが改良され(直接メモリ アクセス命令が追加された)、キャビネット サイズが 2 つから 1 つに縮小された XN10 がリリースされました。XN20 は、フットプリントが大幅に小さい XN10 の改良版でした。回線終端サブシステムは、改良されたZ180マイクロプロセッサを使用するように再設計されました(バッファコントローラカード、プログラマブル回線コントローラカード、および2枚の通信回線インタフェースカードが1枚のカードに統合されました)。XN20は、1992年に通信システム部門が閉鎖された時点で試作段階にありました。
ジャック・ラルフはサイバー1000-2、XN-10、XN-20システムの主任設計者であり、ダン・ネイはXN-20の主任エンジニアでした。
このセクションは拡張が必要です。不足している情報を追加していただければ幸いです。 (2021年6月) |
