CDC 7600

CDC 7600は、CDC 6600 の後継機としてシーモア・クレイが設計したコンピュータであり、1970年代に向かうスーパーコンピュータ市場におけるコントロール・データ・コーポレーションのシェアを伸ばすことに貢献した。クロック周波数は36.4MHz（クロックサイクルは27.5ナノ秒）で、65Kワードの主記憶（磁気コアメモリ）と可変容量（最大512Kワード）の二次記憶を備えている。6600の約10倍の速さであり、アセンブリ言語で書いたコードでは約10MFLOPSの性能を発揮し、理論上のピーク性能は36MFLOPSとされていた。さらに1970年初めに行われたベンチマークテストで、ライバルであるIBMの System/360 Model 195 より若干よい性能を示した。1969年にリリースされた当時、オプションや機能を追加すると価格は500万ドル以上となった。 6600がリリース間近になるとクレイは興味を失い、その後継機の設計を開始した。マシンを「多少」速くすることは1960年代末には難しいことではない。集積回路の導入は部品の実装密度を上げ、クロック速度の向上をもたらす。トランジスタも製造工程と品質の改善によって若干性能が向上していた。しかし、これらの改良で見込める性能向上は2倍、がんばっても5倍であり、クレイの目標である10倍は達成できない。6600 で機能ユニットを10個搭載して並列性を利用しているため、さらに機能ユニットを追加しても効果は期待できなかった。 この問題を解決するために、クレイは命令パイプラインの採用を考えた。6600では、複数の命令を同時に実行できるが、ひとつの機能ユニットがある命令を実行している間は完了を待って次の命令を渡す必要があった。ある期間、ひとつのユニットの中の大部分の回路は使われていない。パイプラインでは前の命令が完了する前に次の命令を供給し、従ってマシン全体と同様に各ユニットも効果的に並列動作する。性能改善の程度は、ユニットが処理を完了するまでの過程を何段階に分割するかにかかっている。例えば6600で除算は10サイクルかかったが、これをパイプライン化すれば10倍の速度となることが期待できる。 しかし事は決してそんなに単純ではない。パイプライン方式は、ユニットの回路をステップ毎に完全に分離しなければならない。これは非常に困難である。それでも 7600 でのパイプラインは 6600 と比較して性能を3倍に向上させた。 クレイは以前と同様、実装の問題に注力し、サイズを小さくして信号経路を短くし、動作周波数を上げることに努めた。7600では、各回路モジュールは最大6枚のプリント基板から構成される。各基板には超小型の抵抗器やダイオードやトランジスタをびっしり実装した。6枚の基板は重ねられ、相互接続され、非常にコンパクトにまとめられた。ただし、そのために修理は困難になった。 しかし、その稠密なパッケージングは最も大きな問題をもたらしていた。発熱問題である。7600のために、クレイは6600と同様にディーン・ラウシュに依頼した。冷凍庫を専門とする Amana 社出身の技術者である。ラウシュはアルミニウムのプレートを回路モジュールの側面にあて、マシンのコアを通るフレオンでそれを冷やした。このシステムはメカニカルで故障しやすかったため、7600は、上から見ると「C」の形状に再設計された(Cray-1のように丸くはない)。これは冷却パイプのどちら側にもアクセスできるようにしたもので、Cの中に入って行ってキャビネットを開くことで、内側からも内部にアクセスすることができた。 7600はハードウェアも命令も60ビットワード長も6600と共通の特徴を有するが、CDC 6600とオブジェクトコードレベルの互換性はなかった。さらに、完全なソースコード(COMPASS)互換でもなく、いくつかの命令は追加され、いくつかの命令は削除されている。当初 CDC 6800 と名付けられたが、完全な互換性が提供できないためクレイ自身が 7600 へと改称することを決定した。しかし、オペレーティングシステムの設計により、6600と7600のソフトウェア環境は（細かい差異はあるが）ほぼ同様のものとなった。 おおまかに言って、7600は6600によく似ている。当時、メモリは個別のアクセス経路を持つブロック群として構成でき、クレイの設計はその点を活用したものであった。多くのマシンが単一のCPU上でシステムの機能を実行していたのに対して、クレイはCPUが処理している間、メモリが何もしていないことに注目した。この時間を活用するため、6600と7600では、出力のプリントアウトやパンチカードの読み取りなどといった仕事を10個の（CDC 160A ベースの）12ビットマシンである「周辺プロセッサ(PP)」に任せた。マシンはサイクル毎にいずれかのPPが制御を受け持ってメモリにデータを供給し、その間にCPUは計算をし続ける。あるサイクルが終わると、次のPPに制御が渡される。この方式ではメモリは常にデータが書き込まれ、それをCPUが使うことができ(周辺装置による遅延をCPUが待つ必要がない)、CPUは算術演算に専念して他のことをする必要がないのである。 6600と同様、7600は60ビットのワード長で、命令長は15ビット(長い命令もある)であった。しかし、メモリのレイアウトが変更されたために命令セットは変更されており、6600との互換性はない。それでもよく似ていたので、コンパイラやオペレーティングシステムを移植するのは難しくなかった。このマシンは、リリース時にはソフトウェアが存在しなかったため、導入したサイトでは自前でオペレーティングシステム(LTSS(Livermore Time Sharing System)、NCAROSなど)やコンパイラ(LRTRAN：FORTRANのリバモア版であり、動的メモリ管理機能など特殊な機能を備えていた)を書く必要があった。 6600の後を継いで、1969年から1976年にかけて、CDC 7600 は世界最高速のコンピュータ（これはCray-1を後継とした場合）であった。しかし、高度な冷却機構を使っていたにもかかわらず、7600 は故障が多かった。ローレンス・リバモア国立研究所やアメリカ大気研究センターによれば、このマシンは1日に1回の割合で故障し、ひどいときには1日に4、5回故障したという。バグが落ち着くまで各サイトでの受け入れは数年かかり、マシンが売れるようになってもハイエンドのニッチ市場であったため、CDCにとって利益を上げたとは考えられない。後継の CDC 8600 は完成することなく、シーモア・クレイは自身の会社であるクレイ・リサーチを設立することとなった。 世界最高速のコンピュータのリストとしては、6600とCray-1の間に、TI ASC（en:TI Advanced Scientific Computer）とILLIAC IVを入れることがある（これらは、商業機ではなかったり、商業的には失敗したとされる）。 現存する7600の一部がコンピュータ歴史博物館に展示されている。あまりにも大きいので、角の2ユニットのみの展示となっている。残りのユニットは倉庫に保管されている。 Chippewa Falls Museum of Industry and Technology にも7600が展示されており、コンソールやテープコントローラがある。 ^ a b c Gordon Bell - A Seymore Cray Perspective ^ a b “Control Data Corporation (CDC) 7600: 1971–1983”. Computational and Information Systems Laboratory. University Corporation for Atmospheric Research. 2011年7月20日時点のオリジナルよりアーカイブ。2011年9月25日閲覧。 ^ a b “7600 Supercomputer”. Collections. Computer History Museum. 2011年9月25日閲覧。 ^ 平木敬による世界最高速のコンピュータのリスト Neil R. Lincoln with 18 Control Data Corporation (CDC) engineers on computer architecture and design, Charles Babbage Institute, University of Minnesota. Presentation of the CDC 7600 and other machines designed by Seymour Cray – by C. Gordon Bell of Microsoft Research (formerly of DEC) SCD Computer Gallery Computer History Museum Chippewa Falls Museum of Industry and Technology