IBM 709は、
1958年8月に
IBMが発表した初期の
コンピュータシステムであり、その前身である
IBM 704の改良版として位置づけられます。このシステムは、当時の
コンピュータ技術において重要な進歩を遂げ、その後の
コンピュータ開発に大きな影響を与えました。
IBM 709の主な特徴として、以下の点が挙げられます。
ハードウェアの進化
- - 機能拡張: IBM 709では、入出力のオーバーラップ機能が導入され、主記憶装置へのアクセスと入出力処理を並行して行うことが可能になりました。これにより、システムの処理能力が大幅に向上しました。また、間接アドレス指定や十進数命令といった機能も追加され、より複雑な計算やデータ処理に対応できるようになりました。
- - ワード長: 36ビットのワード長を採用し、これにより一度に処理できるデータ量が大きくなりました。アドレス空間は32Kワードで、1秒間に42,000回の加減算または5,000回の乗算が可能とされており、当時のコンピュータとしては高い処理性能を誇っていました。
- - エミュレーション: オプションのハードウェアエミュレータにより、IBM 704のプログラムを709上で実行することができました。これは初の商用エミュレータであり、過去のソフトウェア資産を有効活用する上で重要な役割を果たしました。エミュレータは、704のレジスタや主要命令を709のハードウェア上でエミュレートし、複雑な命令はソフトウェアで処理しました。
- - 真空管技術: IBM 709は、その主要な構成要素に真空管を使用しています。その後、トランジスタを採用したIBM 7090が1959年11月に登場し、より高速かつ信頼性の高いシステムへと進化しました。
レジスタ構成
IBM 709は、以下のレジスタを搭載していました。
- - アキュムレータ: 38ビットのアキュムレータを1つ搭載しており、演算結果を保持するために使用されました。
- - 積・商レジスタ: 36ビットの積・商レジスタは、乗算や除算の結果を格納するために使われました。
- - デクリメントレジスタ: 15ビットのデクリメントレジスタを3つ搭載しており、インデックスレジスタとして機能しました。これらのレジスタは、ベースアドレスから値を引いて実効アドレスを算出するために使用され、アドレス計算の柔軟性を高めました。また、2の補数による加算命令も用意されており、複雑なアドレス計算を効率的に行うことができました。1命令で3つのデクリメントレジスタ全てを操作することも可能で、複数のレジスタの内容を論理和で結合してアドレス計算に利用できました。
命令形式とデータ形式
IBM 709では、5種類の命令形式が採用されており、そのほとんどはタイプB形式でした。
- - タイプA: 3ビットのプレフィックス、15ビットのデクリメント、3ビットのタグ、15ビットのアドレスで構成されます。プレフィックスは命令の種類を、デクリメントは即値や命令の種類指定、タグはインデックスレジスタ、アドレスはアドレスや即値を格納するために使用されました。タイプA命令は6種類しかありません。
- - タイプB: 12ビットの命令コード、2ビットのフラグ、4ビットの未使用フィールド、3ビットのタグ、15ビットのアドレスで構成され、最も一般的な命令形式です。
- - タイプC,D,E: 特殊な命令で使用される形式です。
また、データ形式としては、以下のものが利用されました。
- - 固定小数点数: 符号+絶対値形式の2進数で格納されました。
- - 浮動小数点数: 符号ビット、8ビットの指数(エクセス128)、27ビットの仮数で構成されました。
- - 文字: 6ビットの文字コード(BCDの一種)が使用され、1ワードに6文字を格納できました。
タイプA命令のように、データワードの各フィールドを個別に操作する命令も存在し、特定のフィールドのみを効率的に変更できました。
I/Oチャネル
IBM 709における大きな改良点の一つが、独立したI/O専用プロセッサの採用です。これにより、メインプロセッサがプログラムを実行しながら、並行して入出力処理を進めることが可能になりました。以前の
IBM 704では、メインプロセッサが直接I/Oを制御していたため、処理の効率が課題となっていました。
- - データ・シンクロナイザ: 709にはIBM 766 Data Synchronizerが付属し、2つの独立したプログラムされたI/Oチャネルを提供しました。この装置は最大3台接続でき、それぞれが最大20台の磁気テープ装置やパンチカードリーダー/パンチ/プリンターを制御できました。これにより、接続可能な周辺機器の数が6倍に増加し、入出力処理能力が大幅に向上しました。
- - 磁気コアストレージ: IBM 738 Magnetic Core Storageも709向けに登場しました。磁気コアドライブ回路には真空管が使用されていましたが、リードセンス用アンプにはトランジスタが採用されており、この点でも技術の進歩が見られました。
ソフトウェア
バッチ処理OSのFORTRAN Assembly Programは、
IBM 709向けに最初に開発されました。これにより、科学技術計算や大規模なデータ処理が効率的に行われるようになりました。
まとめ
IBM 709は、初期の
コンピュータシステムにおいて、ハードウェアとソフトウェアの両面で重要な革新をもたらしました。入出力処理の並行化、柔軟なアドレス計算機能、初の商用
エミュレータなど、その後の
コンピュータ技術の発展に大きく貢献したと言えるでしょう。