IBM 7090 は、IBM の科学技術計算用第二世代トランジスタ 版メインフレーム であり、真空管ベースの IBM 709 の後継マシンである。最初の7090は1959年 11月に稼動。1960年、典型的なシステム価格は290万ドルで、レンタルでは月額63,500ドルであった。
IBM 7094 の制御卓
ワード 長は36ビット で、アドレス空間は32Kワード[1] 。最大メモリ容量144Kバイト[2] 。基本メモリサイクルは2.18μ 秒[3] [2] 。IBM 7030 (Stretch) プロジェクトから生じた IBM 7302 磁気コアメモリ 記憶装置を流用している。
7090は709の6倍の性能で、レンタル料は半分だった[4] 。
IBM 7040 の制御パネル
709は704を強化したマシンだったが、709がリリースされたころには真空管からトランジスタへと時代が移りつつあった。そこでIBMは709開発チームにトランジスタ版の後継機開発を指示した。このプロジェクトは709-T(Tは Transistorized の意)と呼ばれたが、それを「セブン・オー・ナインティ」と発音したことから、機種名が7090となった。
IBM 7090 から以下のような機種が派生している:
IBM 7094 (1962年 9月)
上位機種。7本のインデックスレジスタを持つ(7090は3本)。制御コンソール上部に追加されたインデックスレジスタの内容を示すランプ群が追加されている。倍精度 浮動小数点数 と関連する命令が追加されているが、7090とは大部分で互換性 が保たれている。インデックスレジスタが増えているために命令形式は微妙に変更され、これが問題の元となることがあった。
IBM 7040 (1963年 )
下位機種。命令が削減され、入出力機構が単純化されている。具体的にはインデックスレジスタ、文字操作命令、浮動小数点演算命令がオプションとなっている。
IBM 7044 (1963年 )
7040の規模拡張版。
IBM 7094 II (1964年 4月)
7094の上位機種。クロック速度向上と命令のオーバーラップ実行(原始的な命令パイプライン )が導入され、7090の約2倍の性能を誇る[5] 。
基本命令形式は IBM 709 と同じで、「プレフィックス」3ビット、「デクリメント」15ビット、「タグ」3ビット、「アドレス」15ビットから構成される。プレフィックス部は命令の種類を指定する。デクリメント部は命令結果を修飾する即値を格納するか、命令の種類指定に使われる。タグ部はインデックスレジスタ を指定し、指定されたインデックスレジスタの内容がアドレスから引かれ て実効アドレスとなる。アドレス部はアドレスか即値オペランドを格納している。命令はパイプライン処理されず、とある整数演算命令には14サイクルの実行時間を要した[2] 。
固定小数点数が二進の符号+絶対値形式 で格納された。
単精度 浮動小数点数 は、符号ビット、8ビット指数(エクセス128)、27ビット仮数で構成され、メモリ上では1ワード(36ビット)に格納される。
7094で導入された倍精度 浮動小数点数は、符号ビット、8ビット指数(エクセス128)、54ビット仮数で構成される63ビット分であるが、メモリ上では連続する2ワード(72ビット)に格納され、第2ワードに格納された符号ビットと指数部はオペランドとして使用されるときには無視される。
文字は6ビットで表され(BCD の一種で、英文字には大文字小文字の種類は無い)、メモリ上の1ワードに6文字が格納される。
文書やプログラムでは八進法 が用いられた。制御卓のランプやスイッチも3ビットずつグループ化されている。
エイムズ研究センター の IBM 7090 (1961)。右端の男性が触っているのはパンチカードリーダ
7090シリーズはチャネル を入出力に採用しており、現代のDMA 方式の先駆けとも言える。最大8本のデータチャネルを接続でき、各チャネルに10台の IBM 729 磁気テープ装置を接続できる。各データチャネルはコマンドと呼ばれる非常に簡単な操作を受け付けた。テープだけでなく、パンチカードやプリンタなども接続可能で(後にはハードディスクも)、当時としては高性能である。ただし、プリンタやパンチカード の入出力には既存のPCS のものを流用しているので性能は低い。その後、安価な IBM 1401 を使用してパンチカードから磁気テープ に変換して7090/94に持っていくという方法が一般化した。出力も磁気テープにいったん溜め込み(スプーリング )、1401で印刷したりパンチカードに変換したりした。というのも、IBM 1401用のプリンタ (1403) の方がPCS用プリンタより高速だったのである。後にIBMは7094/7044 Direct Coupled System を導入し、データチャネル間の通信ができるようにして、7094が計算を行い7044が入出力を担当するという構成を可能にした(7040/7044は IBM 1401 用周辺機器が接続可能)。
7090 と 7094 は当時としては成功した機種であり、IBMは様々なソフトウェアを提供した。また、非常に活発なユーザー組織 SHARE もあった。
IBSYS は重装備のオペレーティングシステムであり、各種サブシステムと言語サポートを備えていた。例えば、FORTRAN 、COBOL 、SORT/MERGE、MAPアセンブラなど。なお、7090/7094用のIBSYSと7040/7044用IBSYSには一部に非互換があった。IBSYSは磁気テープ上のジョブ(プログラムとデータ)間に書かれた制御カードイメージを処理するモニターである。IBSYS制御カードは1桁目に "$" があり、続いて「制御名」でIBSYSの設定すべきユーティリティを指定し、後続のジョブをそのユーティリティで処理する。パンチカードのカードデッキのイメージを磁気テープ上に持ち込んだものであり、これはオフラインでパンチカードから磁気テープにコピーされた。
FMS (FORTRAN Monitor System) は、FORTRANとアセンブリ言語のバッチ処理に特化した IBSYS よりも軽いシステムである。そのアセンブラ FAP (FORTRAN Assembly Program) は MAPには劣るが当時としては十分な機能を備えていた。FMSのFORTRANコンパイラは IBM 704 向けにバッカスらが開発したコンパイラの強化版である。
NASAのマーキュリー計画 で使われたデュアル構成の 7090
CTSS (Compatible Time-Sharing System) タイムシェアリング オペレーティングシステムは、メモリバンクを追加するなどの改造を施した7094上にMIT の Project MAC が開発したものである。
NASA は7090(後に7094)を複数台マーキュリー計画 やジェミニ計画 の制御に使用した。アポロ計画 の初期でもSystem/360 に移植完了するまでは7094上のフライト計画ソフトウェアが使用され続けた。
ジェット推進研究所 は Space Flight Operations Facility に 7094/7044 Direct Coupled System を所有していた。
アメリカ空軍は、弾道ミサイル早期警戒システム (BMEWS) 用の7094を1980年代まで約30年間使い続けた。
アメリカ海軍は、1980年代終盤まで Pacific Missile Test Center の 7094 を使い続けた(引退式は1982年6月に開催された)。そのアプリケーション群は後継のCDC_Cyber (英語版 ) 175 に全部移植されることはなかった。
アメリカン航空のSABRE 航空機予約システムでは2台の 7090 が使用された (1962) 。
1961年、Alexander Hurwitz は 7090 を使用して当時としては最大のメルセンヌ数 (1281桁と1332桁)を発見した。
1961年、7094 は世界初の歌うコンピュータとなった。歌った曲は「デイジー・ベル 」。主プログラムはジョン・ケリー とキャロル・ロックボーム (Carol Lockbaum)によるもので、伴奏はマックス・マシューズ がプログラムした。このパフォーマンスは映画『2001年宇宙の旅 』の同様のシーンのアイデアの元になった。
映画『博士の異常な愛情 』に 7090と1401が登場している。そこで1403プリンタがプロットの転換点の役割を果たしている。
作曲家ヤニス・クセナキス は、IBM 7090 で「Atrées」を作曲し、パリのヴァンドーム広場 で演奏した。
日本へは、IBM 7090が1963年に合計3台輸入され、それぞれ三菱原子力(のちにDP部門は三菱総研 へ吸収)、日本IBM のデータセンター(東京・ワカ末ビル)、東芝 (川崎市)に1台ずつ設置された。各所にはIBM 729モデルII磁気テープ駆動装置付きのIBM 1401システムも置かれ、データの準備および計算結果の印刷などは磁気テープを媒体にこちらで行われた。[6]
P.HAYES, JOHN (1978,1979). Computer Architecture and Organization . McGRAW-HILL INTERNATIONAL BOOK COMPANY. pp. 33. ISBN 0-07-027363-4 Brooks, Rodney (2022). “So Much Moore”. IEEE Spectrum 59 (1): 23.
IBM Reference Manual, IBM 7090 Data Processing System, 1961, IBM A22-6528-3
Emerson W. Pugh, Lyle R. Johnson, John H. Palmer, IBM's 360 and early 370 systems , MIT Press, 1991, ISBN 0-262-16123-0 , p. 36
Reference Manual, IBM 7090 Data Processing System, 1961, IBM A22-6528-3