IBM 7030は、IBMの最初のスーパーコンピュータ構築の試みであり、ストレッチ(Stretch)の名でも知られている。1号機は1961年、ロスアラモス国立研究所に納入された。

当初の価格は1350万ドルとされたが、当初の野心的な性能見積もりを達成できず 778万ドルにせざるを得なかった。また、事前に契約していた顧客以外への販売を行わなかった。7030は当初予定したよりも性能が悪かったが、LARCを上回ってはおり、1961年から1964年まで世界最高速のコンピュータの地位を守った。1964年に世界一になったのはCDC 6600である。

## 開発の経緯

ローレンスリバモア国立研究所のエドワード・テラーは三次元の流体力学計算のための新たな科学計算システムを所望し、IBMとUNIVACに対してこの新たなシステム LARC (Livermore Automatic Reaction Calculator) への提案書を要求した。予測コストは約250万ドルで、性能は1~2MIPS、完成期限は契約成立後2~3年とされた。

IBMでは、設計提案書作成をJohn Griffithとジーン・アムダールらのチームが行った。彼らが提案書を完成し提出しようとしたとき、Ralph Palmer がそれを制止して「それは間違いだ」と言った。提案書の設計で使うとしている点接触型トランジスタや接合型トランジスタよりも最新技術の拡散(プレーナー型)トランジスタがすぐにも性能で凌駕しそうだったのである。チームはリバモアで提案書に描かれたIBMが確実に開発できるマシンを説明したが、同時に「我々はこのマシンではなく、もっとよいマシンを作りたい。それにどれだけかかるかは分からない。もしかするとさらに百万ドルと1年の期間がかかるかもしれない。それがどれだけの性能になるかも分からない。それでも我々は毎秒1000万命令に挑戦したい」と訴えた。

1955年5月、IBMは提案における(上述のような)突然の方針転換のために受注を逃し、当時優勢だったUNIVACがLARCの契約を勝ち取った。UNIVACが建造したLARCは算術演算が二五進法による十進方式だった。

1955年9月、ロスアラモスも同じマシンを発注するかもしれないと恐れたIBMはリバモアに拒絶された改善された設計に基づくコンピュータの予備的提案書を送付し、ロスアラモスはこれに興味を持った。このIBMによる設計は(純)二進方式だった。1956年1月、ストレッチプロジェクトが正式に開始された。

1956年11月、IBMはロスアラモス国立研究所との契約を勝ち取った。性能目標は意欲的で「IBM 704の100倍(すなわち約4MIPS)」とされ、納入期限は1960年となった。

設計してみると、クロック速度を遅くしなければならないことが明らかになり、ストレッチは当初の意欲的な性能目標を達成できないことが明らかとなった。それでも「IBM 704 の60倍から100倍の性能」と予測された。1960年、IBM 7030の価格は1350万ドルに設定された。

1961年、実際にベンチマークを取ってみるとIBM 7030の性能は「IBM 704の30倍」程度であることが判明した(約1.2MIPS)。これはIBM社内に混乱を引き起こした。1961年5月、会長のトム・ワトソンは交渉の結果として7030の価格を778万ドルに再設定し、かつ今後の販売を即時停止することとした。

浮動小数点演算の性能は、加算は1.38~1.5μ秒、乗算は2.48~2.70μ秒、除算は9.00~9.90μ秒であった。

## 技術的影響

IBM 7030 自体は成功したとは言いがたいが、そこから様々な技術が生まれ、その後のマシンに生かされていった。ストレッチのトランジスタ論理回路は「標準モジュラーシステム」と呼ばれ、IBM 7090科学技術コンピュータ、IBM 7080ビジネスコンピュータ、IBM 1620小型科学技術コンピュータなどに使われた(7030 では 17万個のトランジスタが使われた)。IBM 7032 型磁気コア装置も IBM 7090系やIBM 7080で使われた。マルチタスク、メモリ保護機能、汎用割り込み機構、8ビットバイトといったコンセプトは後にSystem/360で生かされ、その後のCPUでも採用された。パイプライン処理、命令プリフェッチとデコード、メモリインターリーブなどは後のスーパーコンピュータの設計で使われた。これらの技術は最新のマイクロプロセッサでも使われている。

## 使用例

1. ロスアラモス国立研究所。1961年4月納入、1961年5月検収。1971年6月21日まで使用した。
2. アメリカ国家安全保障局。1962年2月。IBM 7950 Harvestシステム(暗号解読用)の主CPUとして。1976年、磁気テープ装置の部品が破損し、修理不可能となったため利用停止となった。
3. ローレンスリバモア国立研究所
4. イギリス核兵器機関(イギリス)
5. 米国気象局
6. MITRE社で1971年8月まで使用され、1972年春にブリガムヤング大学に売却された。
7. アメリカ海軍ダールグレン海軍実験場
8. IBM
9. フランス原子力庁(Commissariat à l'Énergie Atomique、フランス)

注: ローレンスリバモア国立研究所の(磁気コアメモリ装置を除いた)IBM 7030やMITRE社/ブリガムヤング大学の IBM 7030 はコンピュータ歴史博物館のコレクションとなっている(カリフォルニア州マウンテンビュー)。

## アーキテクチャ

### データ形式

- 固定小数点数は任意の長さで、二進数形式(1ビットから64ビット)と十進数形式(1桁から16桁)がある。符号なしの形式と符号-仮数形式がある。
- 浮動小数点数は1ビット指数符号、10ビット指数、48ビット仮数で構成され、さらに全体の符号として4ビットの符号部があり、全体として符号-仮数形式となっている。
- 文字は任意長で8ビット以下の任意の文字コードを使用
- 「バイト」は任意長(1から8ビット)

### 命令形式

命令は 32ビット形式のものと64ビット形式のものがあった。

### レジスタ

レジスタはメモリの先頭32ワード部分とオーバーレイされていた。

| アドレス | ニーモニック | レジスタ | 格納場所 |
| --- | --- | --- | --- |
| 0 | $Z | 64ビットのゼロ | 主磁気コア装置 |
| 1 | $IT | 19ビットインターバルタイマ | インデックス磁気コア装置 |
| $TC | 36ビットタイムクロック |
| 2 | $IA | 18ビット割り込みアドレス | 主磁気コア装置 |
| 3 | $UB | 18ビット上限アドレス | トランジスタによるレジスタ |
| $LB | 18ビット下限アドレス |
|  | 1ビット境界制御 |
| 4 |  | 64ビット保守ビット群 | 主磁気コア装置 |
| 5 | $CA | 7ビットチャネルアドレス | トランジスタによるレジスタ |
| 6 | $CPUS | 19ビット 他のCPUビット群 | トランジスタによるレジスタ |
| 7 | $LZC | 7ビット 左端ゼロカウント | トランジスタによるレジスタ |
| $AOC | 7ビット 1のビット数全カウント |
| 8 | $L | 128ビット アキュムレータの左半分 | トランジスタによるレジスタ |
| 9 | $R | 128ビット アキュムレータの右半分 |
| 10 | $SB | 8ビット アキュムレータ符号 - ZZZZSTUV |
| 11 | $IND | 64ビット 識別レジスタ | トランジスタによるレジスタ |
| 12 | $MASK | 64ビット マスクレジスタ | トランジスタによるレジスタ |
| 13 | $RM | 64ビット 剰余レジスタ | 主磁気コア装置 |
| 14 | $FT | 64ビット 因数レジスタ | 主磁気コア装置 |
| 15 | $TR | 64ビット 移行レジスタ | 主磁気コア装置 |
| 16 ... 31 | $X0 ... $X15 | 64ビット インデックスレジスタ(16本) | インデックス磁気コア装置 |
|

アキュムレータとインデックスレジスタは符号-仮数形式として処理される。

### メモリ

16,384ワードを1バンクとして、最大 262,144ワード。ワード長は64ビット。

メモリは油に浸され、特性が変化しないよう温度が一定に保たれていた。