SSEC のプログラム方法

目次

全体構造

データ表現

周辺機器番号(r)バスの指定(b)そのほかの設定(s)四つ組

実行ユニット

非対称命令フィールド

命令

NOP加減算条件判断乗算除算

ふたつのシフト

half correctionシフト

次回につづく


条件判断

・03 Tolerance check


条件停止命令です。

02 の Accumulation と同様に計算を行い、結果が負の場合に停止を行います。

「結果が負」を判定するので、計算内容は通常は「減算」になるように、データの符号を調整します。


また、計算結果をどこかに書き込む必要はありませんが、「転送」ではなく計算であることを明示するため、データ記述部分のどれか一つを「出力」に設定する必要があります。

(たとえば、Rs を 4 に設定する。受け取りレジスタや装置を指定する必要はない)


P-Q <0 の時停止、という計算式を書いた場合、P<Q の時停止することになります。


乗算

・10 Multiplication without half correction

・15 Multiplication with half correction of the product


乗算を行います。


R = P * Q です。


内部的には、データを乗算器に送って、その後結果を処理して出力装置に納めています…が、プログラマが気にする必要がありません。

Accumulation と同じように使うことができます。


除算

・20 Division without half correction

・25 Division with half correction of the Quotien


除算です。乗算と同様。

R = P / Q です。


ふたつのシフト

命令には half correction の有無で2つのものがありました。

これ、実は計算結果をシフトするかどうか、の違いです。


これとは別に、通常のシフト指示もあります。


half correction

命令には「with half correction」と「without half correction」の2通りが用意されています。

この違いを説明しましょう。


計算部分に使用されている IBM 603 は、28桁+符号を扱えました。

しかし、乗除算器は入力が 14桁になっていて、14桁×14桁=28桁の計算をすることができます。


値が最初から14桁以下であれば、特に問題はありません。入力には 28桁の「下半分」が取り出されるためです。

しかし、14桁を超えている場合、乗算時にデータを与える時点で桁あふれを起こすことになります。


主に固定小数点演算を行っている場合など、最初から 14桁以上であることがわかっている時には、あらかじめ上半分を取り出し、14桁以下にしておく処理が必要になります。


これが half correction 、「半分だけ得る」です。

この後乗除算を行うことがわかっているデータを得る際に、この機能を使うのです。


SSEC としては、IBM 603 が内部で 28桁で演算した結果を、19桁だけ受け取っています。

これが 14桁に減るため、5桁分の左シフトを行ったのと同じことになります。


シフト

half correction とは別に、SSEC には明示的な「シフト」機能があります。

これは、周辺機器にデータを書き込む際にのみ使うことができる機能です。


命令の SH1 / SH2 フィールド1桁で、シフトする桁数を指定します。

右シフトか左シフトかは、データを「書き込み」に指定するフィールドで同時に決めます。


また、 SH1 / SH2 フィールドが1桁しかないため、10以上のシフトを行いたい際も、データの扱いフィールドで同時に決めます。




この「シフト」は、IBM 603 の内部バス部分で行われています。

つまり、28桁の段階でシフトが行われ、その結果の下 19桁を SSEC 側に取り出すのです。


掛算を行った場合、14桁×14桁の28桁が求まります。

下 19桁を取り出すのですから、10桁同士以上の掛け算になる場合は、少なくとも 9桁のシフトを行わなくては値が桁あふれすることになります。


状況によっては、28桁のシフトも必要かもしれません。結果は必ず 0 ですが、符号だけは残ります。

SSEC としては 19桁までしか扱えないのですが、シフト桁数の指定は 29桁まで対応できるようになっています。


次回につづく

さて、命令概要を示すまでで、かなり長くなってしまいました。


SSEC には数多くの周辺機器がありましたが、その「装置番号」が示せていません。

また、表引き装置など一部の特殊な機器の使用法も示せていません。


次回は、これらの使い方を示します。




参考文献
SSEC特許書面(1982年に書かれた解説付き)F.E. Hamilton1953/1982IBM
COMPUTER HISTORY MUSEUM - archive SSEC2005-2010
その他、WEB上の各種ページ


前ページ 1 2 3 4

(ページ作成 2015-06-11)

前記事:高速化のために     戻る     次記事:SSECの周辺装置
トップページへ

-- share --

2000

-- follow --




- Reverse Link -