


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


Cyber 70 および 170 アーキテクチャは、以前のCDC 6600およびCDC 7600シリーズの後継であり、そのため以前のアーキテクチャの特性をほぼすべて共有していました。Cyber-70 シリーズは、以前のシステムからのマイナー アップグレードです。[ 6 ] 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 で提供することもできました。 Cyber 74 は CDC 6600 のアップデート版でした。[ 7 ] Cyber 74 のデュアル CPU バージョンには、以前の CDC 6700 と同様に、6600 スタイルの CPU と Cyber-73 スタイルの CPU がそれぞれ 1 つずつ搭載されていました。Cyber 76 は基本的にCDC 7600 の名前を変更したものでした。シングル CPU の Cyber-74 と Cyber-76 のどちらにも CMU 命令はありませんでした。デュアル CPU の Cyber-74 では、CMU 命令は 2 番目の Cyber-73 スタイルの CPU でのみ利用可能でした。
Cyber-170 シリーズは、CDC が個別の電子部品とコア メモリから集積回路と半導体メモリへと移行したことを表しています。172、173、174 は集積回路と半導体メモリを使用していますが、175 は高速の個別トランジスタを使用しています。[ 8 ] Cyber-170/700 シリーズは、1970 年代後半の Cyber-170 ラインのリフレッシュです。
中央プロセッサ(CPU) と中央メモリ (CM) は 60 ビットワード単位で動作しました。CDC の用語では、「バイト」という用語は 12 ビットのエンティティ (周辺プロセッサで使用されるワード サイズと一致します) を指していました。文字は 6 ビット、操作コードは 6 ビット、中央メモリ アドレスは 18 ビットでした。中央プロセッサの命令は 15 ビットまたは 30 ビット長でした。Cyber 170 シリーズに固有の 18 ビット アドレス指定により、メインメモリ (このシリーズの半導体メモリ) は 262,144 (256K) ワードに制限されました。中央プロセッサには 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 ワードの高速メモリが搭載されています。キャッシュ (通常、スタック内と呼ばれます) に収まるループは、命令フェッチのためにメインメモリを参照することなく、非常に高速に実行されます。ローエンド モデルには命令スタックは含まれていません。ただし、各 60 ビット ワードに最大 4 つの命令がパックされるため、ある程度のプリフェッチが設計に組み込まれています。
以前のシステムと同様に、Cyber 170 シリーズには 8 つの 18 ビット アドレスレジスタ(A0 ~ A7)、8 つの 18 ビット インデックス レジスタ (B0 ~ B7)、および 8 つの 60 ビット オペランド レジスタ (X0 ~ X7) があります。A レジスタのうち 7 つは、対応する X レジスタと関連付けられています。A1 ~ A5 を設定すると、そのアドレスが読み取られ、対応する X1 ~ X5 レジスタにフェッチされます。同様に、A6 または A7 レジスタを設定すると、対応する X6 または X7 レジスタが、A レジスタに書き込まれたアドレスの中央メモリに書き込まれます。A0 は実質的にスクラッチ レジスタです。
ハイエンドCPUは、複数の機能ユニット(シフト、インクリメント、浮動小数点加算など)で構成されており、ある程度の並列命令実行が可能でした。この並列性により、アセンブリプログラマは、データが必要になるずっと前に中央記憶装置からデータをプリフェッチすることで、システムのメモリフェッチ時間の遅さによる影響を最小限に抑えることができました。メモリフェッチ命令とフェッチされたオペランドを操作する命令の間に独立した命令をインターリーブすることで、メモリフェッチに要する時間を他の計算に利用できます。この手法と、命令スタック内に収まるように最適化されたループを巧みに設計することで、熟練したCyberアセンブリプログラマは、ハードウェアの性能を最大限に引き出す非常に効率的なコードを作成できます。
周辺プロセッササブシステムは、バレルとスロットと呼ばれる手法を用いて実行ユニットを共有します。各周辺プロセッサは独自のメモリとレジスタを持ちますが、プロセッサ(スロット)自体は各周辺プロセッサ(バレル)から1つの命令を順番に実行します。これはハードウェアマルチプログラミングの原始的な形態です。周辺プロセッサは、4096バイトの12ビットメモリワードと18ビットのアキュムレータレジスタを備えています。各周辺プロセッサは、自身のメモリに加えて、すべてのI/Oチャネルとシステムの中央メモリ(CM)すべてにアクセスできます。周辺プロセッサの命令セットには、例えば高度な算術演算機能がなく、ユーザーコードも実行しません。周辺プロセッササブシステムの目的は、I/Oを処理することで、より強力な中央プロセッサユニットをユーザー計算の実行に解放することです。
下位のCyber CPUの特徴の一つに、比較移動ユニット(CMU)があります。これは、テキスト処理アプリケーションを支援するための4つの追加命令を提供します。他の15ビットおよび30ビット命令とは異なり、これらは60ビット命令です(実際には3つは60ビットすべてを使用し、残りの1つは30ビットを使用しますが、アライメントの関係で60ビットを使用する必要があります)。これらの命令は、短い文字列の移動、長い文字列の移動、文字列の比較、および照合済み文字列の比較です。これらは、中央メモリ内の6ビットフィールド(1~10番地)に対して動作します。例えば、1つの命令で「ワード1000の3文字目から始まる72文字の文字列を、位置2000の9文字目へ移動する」と指定できます。CMUハードウェアは、Cyber CPUの上位機種には搭載されていません。これは、手書きのループがCMU命令と同等かそれ以上の速度で実行できるためです。
後期のシステムでは、通常 CDC のNOS (Network Operating System) が稼働します。NOS のバージョン 1 は 1981 年頃まで更新が続けられ、NOS バージョン 2 は 1982 年初頭にリリースされ、最終バージョン 2.8.7 PSR 871 は 1997 年 12 月に提供され、DtCyber をサポートするために、非公式のマイナー バグ修正、Y2K 対策などが引き続き提供されています。NOS 以外に 170 シリーズで一般的に使用されていたオペレーティングシステムは、NOS/BEまたはCDC のサニーベール部門の製品であるSCOPEのみでした。これらのオペレーティングシステムは、バッチ アプリケーションと対話型アプリケーションのタイム シェアリングを提供します。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 と改名しました。このシリーズの最初のマシンは 1982 年に発表され、NOS/VE オペレーティングシステムの製品発表は 1983 年に行われました。
コンピューティングの世界が8ビットバイトサイズに標準化されるにつれ、CDCの顧客はサイバーマシンにも同様の標準化を求めるようになった。その結果、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)があります。
初期ラインナップには、P1、P2、P3というコードネームの3つの真の180シリーズがありました。P2とP3は、より大型の水冷式設計でした。P2は、後に小型のP1を設計したのと同じチームによってオンタリオ州ミシサガで設計され、P3はミネソタ州アーデンヒルズで設計されました。P1は、ミシサガのグループによって設計された斬新な空冷式60ボード筐体で、60Hzの電流で動作しました(モータージェネレーターセットは不要でした)。4番目のハイエンド180シリーズモデル990(コードネームTHETA)もアーデンヒルズで開発されていました。
180シリーズは当初、内部の新しい8/64ビットシステムについては一切触れずに、170/8xxマシンとして販売されました。しかし、主要な制御プログラムは、環境インターフェース(EI)として知られる180モードプログラムです。170オペレーティングシステム(NOS)は、メインメモリ内の単一の大きな固定ページを使用していました。注意深いユーザーであれば気づくことができる手がかりがいくつかありました。例えば、起動時にオペレータコンソールに点滅する「ページテーブルを構築中」メッセージや、P2およびP3のPPワードあたり16個(12個ではなく)のトグルスイッチを備えたデッドスタートパネルなどです。
真の180シリーズの周辺プロセッサは常に16ビットマシンであり、符号ビットによって16/64ビットまたは12/60ビットのPP命令が実行されているかが決定されます。PP内のシングルワードI/O命令は常に16ビット命令であるため、デッドスタート時にPPはEIとNOS、および顧客の既存の170モードソフトウェアの両方を実行するための適切な環境をセットアップできます。このプロセスを顧客から隠すため、1980年代初頭にCDCはデッドスタート診断シーケンス(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は発売時に大きな失望を招きました(アムダールの法則を参照)。最も正確な推定では、STAR-100システムは3台しか納入されなかったとされています。
STAR の問題はすべて解決可能と思われた。1970 年代後半、CDC はCyber 203でこれらの問題のいくつかに対処した。新しい名前は新しいブランドに合致しており、おそらく STAR の失敗から距離を置くためでもあった。Cyber 203 は再設計されたスカラー処理と疎結合の I/O 設計を採用しているが、 STAR のベクトルパイプラインはそのまま残している。最も正確な推定では、2 台の Cyber 203 が納入されたか、STAR-100 からアップグレードされたとされている。
1980年、Cyber 203の後継機であるCyber 205が発表されました。[ 9 ]イギリスのブラクネルにある英国気象庁が最初の顧客となり、1981年にCyber 205を受け取りました。Cyber 205はSTARベクトルパイプラインを再設計されたベクトルパイプラインに置き換えています。スカラーユニットとベクトルユニットの両方がECLゲートアレイICを使用し、フロンで冷却されます。Cyber 205システムは2つまたは4つのベクトルパイプラインで利用可能で、4パイプバージョンは理論的に400 64ビットMFLOPSと800 32ビットMFLOPSを実現します。これらの速度は、手作業で作成されたアセンブリ言語以外では、実際に見られることはほとんどありません。ECLゲートアレイICはそれぞれ168個の論理ゲートを含み、[ 10 ]クロックツリーネットワークは手作業で作成された同軸ケーブルの長さ調整によって調整されます。命令セットは、現代のプロセッサではV- CISC (非常に複雑な命令セット)と見なされます。多くの特殊な操作は、ハードウェア検索、行列演算、および復号を可能にする特殊な命令を容易にします。
オリジナルのCyber 205は、 1983年にCyber 205 Series 600が導入された際に、Cyber 205 Series 400に名称変更されました。Series 600はメモリ技術とパッケージングが異なりますが、それ以外は同じです。4本のパイプを備えたCyber 205が1台設置されました。その他の設置場所はすべて2本のパイプを備えているようで、最終的な数は未定です。
Cyber 205のアーキテクチャは、 1983年9月に設計チームがETA Systemsとして独立するにつれて、 ETA10へと進化しました。最終開発段階としてCyber 250が開発され、1987年に2000万ドルで発売される予定でしたが、ETA SystemsがCDCに吸収された後、ETA30と改名されました。
各サイバープラス(別名アドバンスト・フレキシブル・プロセッサ、AFP)は、オプションで64ビット浮動小数点機能を備えた16ビットプロセッサであり、256Kワードまたは512Kワードの64ビットメモリを搭載しています。AFPはフレキシブル・プロセッサ(FP)の後継機であり、FPの設計開発は、レーダーや写真画像データの処理を目的とした極秘プロジェクトの下で1972年に始まりました。[ 12 ] FP制御ユニットは、条件付きマイクロ命令実行のためのハードウェアネットワークを備えており、4つのマスクレジスタと条件保持レジスタがありました。マイクロ命令フォーマットの3ビットは、結果の符号やオーバーフロー、I/O条件、ループ制御など、実行を決定するための約50の条件の中から選択します。[ 13 ]
1986年には、少なくとも21のCyberplusマルチプロセッサシステムが稼働していました。これらの並列処理システムは、それぞれ250MFLOPSの性能を持つ1~256個のCyberplusプロセッサで構成され、ダイレクトメモリ相互接続アーキテクチャ(MIA)を介して既存のCyberシステムに接続されていました。このアーキテクチャは、NOS 2.2上でCyber 170/835、845、855、および180/990モデルで利用可能でした。
物理的には、各サイバープラスプロセッサユニットは、サイバー180システムと同様に、一般的なメインフレームモジュールサイズであり、[ 14 ]正確な幅はオプションのFPUが搭載されているかどうかによって異なり、重量は約1トンでした。
Cyberplus を使用しているサイトには、ジョージア大学やドイツのGesellschaft für Trendanalysen (GfTA) (トレンド分析協会) などがあります。
256個のプロセッサを搭載したフル構成のサイバープラスシステムは、理論上の性能が64GFLOPS、重量は約256トンとなる。9ユニット構成のシステムは、1メガピクセルの画像に対して、1秒間に1組の画像ペアの速度で比較分析(前処理としての畳み込みを含む)を実行できるとされていた。
Cyber 18 は、CDC 1700ミニコンピュータの後継機である 16 ビットのミニコンピュータです。主にリアルタイム環境で使用されました。注目すべき用途の 1 つは、CDC 6000 シリーズおよび Cyber 70/Cyber 170 メインフレームで使用される通信プロセッサ 2550 の基盤として使用されたことです。2550 は、カリフォルニア州サンタアナにある CDC の通信システム部門 (STAOPS) の製品でした。STAOPS は、IBM メインフレームがホストするネットワークで使用される別の通信プロセッサ (CP) も製造しました。この M1000 CP (後に C1000 と改名) は、Marshall MDM Communications の買収によって入手したものです。3 枚のボードセットを Cyber 18 に追加して 2550 を作成しました。
Cyber 18は主にPascalとアセンブリ言語でプログラミングされていましたが、FORTRAN、BASIC、RPG IIも利用可能でした。オペレーティングシステムには、RTOS(リアルタイムオペレーティングシステム)、MSOS 5(マスストレージオペレーティングシステム)、TIMESHARE 3(タイムシェアリングシステム)が含まれていました。
「Cyber 18-17」は、1784プロセッサをベースにしたSystem 17の新しい名前でした。他のCyber 18(Cyber 18-05、18-10、18-20、18-30)は、最大128Kワードのメモリ、4つの追加の汎用レジスタ、拡張された命令セットを備えたマイクロプログラマブルプロセッサを搭載していました。Cyber 18-30はデュアルプロセッサでした。16ビットではなく32ビットのCyber 18の特別バージョンであるMP32は、暗号解読作業のために国家安全保障局向けに作成されました。MP32には、Fortran数学ランタイムライブラリパッケージがマイクロコードに組み込まれていました。ソビエト連邦はこれらのシステムをいくつか購入しようとし、米国政府が注文をキャンセルしたときには製造中でした。MP32の部品はCyber 18の生産に吸収されました。Cyber 18の用途の1つは、アラスカパイプラインの監視でした。
M1000 / C1000 は後に Cyber 1000 と改名され、連邦準備制度で使用されるメッセージストアアンドフォワードシステムとして使用されました。ハードドライブを取り除いた Cyber 1000 のバージョンは、ベル電話会社で使用されました。これは RISC プロセッサ (縮小命令セットコンピュータ) でした。回線終端サブシステムを備えた Cyber 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の主任エンジニアであった。

{{cite journal}}: CS1メンテナンス: アーカイブサービスは非推奨になりました (リンク)