IBM 709

From Wikipedia, the free encyclopedia

IBM 709 の制御パネル(コンピュータ歴史博物館

IBM 709IBM1958年8月に発表した初期のコンピュータシステムのひとつ。IBM 704 の改良版である。IBM 709 では、入出力のオーバーラップ機能、間接アドレス指定十進数命令などが追加されている。ワード長は36ビットで、アドレス空間は32Kワードであり、1秒間に42,000回の加減算または5000回の乗算が可能とされていた[1]

オプションのハードウェアエミュレータで IBM 704 のプログラムを実行することができた。これは初の商用エミュレータである。レジスタとよく使われる 704 命令が709のハードウェア上でエミュレートされた。複雑な 704 命令は 709 のソフトウェアでエミュレートされている。

709は真空管を使っている。709をトランジスタ化したのが IBM 7090 で、1959年11月に登場した。

バッチ処理OSの FORTRAN Assembly Program は、709向けに開発されたのが最初である。

IBM 709 の持つレジスタは次の通り。

  • アキュムレータ×1、38ビット
  • 積・商レジスタ×1、36ビット
  • デクリメントレジスタ×3、15ビット

デクリメントレジスタとはインデックスレジスタであり、ベースアドレスからその値を引いて実効アドレスとするため、このように呼ばれた。2の補数で加算を行う命令も用意されていた。1命令で3つのデクリメントレジスタ全てを関与させることもできる。命令にある3ビットのタグフィールドは各ビットがそれぞれデクリメントレジスタに対応しているので、複数をONにすれば複数のデクリメントレジスタをアドレス計算に使用できる。ただし、その場合デクリメントレジスタの内容を加算するわけではなく論理和で結合する[2]p. 12

命令形式とデータ形式

命令形式にはタイプAからタイプEまで5種類がある[2]。ほとんどの命令はタイプB形式である[3]

タイプA命令形式は、「プレフィックス」3ビット、「デクリメント」15ビット、「タグ」3ビット、「アドレス」15ビットから構成される。プレフィックス部は命令の種類を指定する。デクリメント部は命令結果を修飾する即値を格納するか、命令の種類指定に使われる。タグ部はインデックスレジスタを指定し、指定されたインデックスレジスタの内容がアドレスから引かれて実効アドレスとなる。アドレス部はアドレスか即値オペランドを格納している。タグフィールドで指定したデクリメントレジスタの内容に基づいて条件分岐する命令もある。プレフィックスの2ビット目と3ビット目が共にゼロの場合、タイプBと判断されるため、タイプAの命令は6種類しかない。

タイプBの命令形式は、12ビットの命令コード(うち2ビット目と3ビット目は常にゼロ)、2ビットのフラグフィールド、4ビットの未使用フィールド、3ビットのタグフィールド、15ビットのアドレスフィールドから構成される。

タイプC、タイプD、タイプEは特殊な命令で使われた。

  • 固定小数点数が二進の符号+絶対値形式で格納された。
  • 単精度浮動小数点数は、符号ビット、8ビット指数(エクセス128)、27ビット仮数で構成される。
  • 文字は6ビットで表され(BCDの一種)、1ワードに6文字が格納される。

タイプAの命令形式のようにデータワードをプレフィックス、デクリメント、タグ、アドレスのフィールドに分けて操作する命令があり、ワードの他のフィールドを変更せずに特定のフィールドだけを操作できる。

I/Oチャネル

脚注

外部リンク

Related Articles

Wikiwand AI