IBM 1620

IBM 1620
IBM 1620 モデルI、レベルH
メーカーIBM
種類科学用ミニコンピュータ
発売日1959
出荷台数約2000
CPUトランジスタ式、SMSカード搭載、可変12~72ビットワード @ 50kHz (20マイクロ秒)
メモリ20,000~60,000桁 (コアメモリ)
電力2kW
重量550kg (1210ポンド)
前身機種IBM 650、 IBM 610IBM 608
後継機種IBM 1130
関連機種IBM 1710IBM 1720
1962年のシアトル万国博覧会で展示されたIBM 1620データ処理機とIBM 1627プロッター

IBM 1620は、 IBMが製造した科学技術計算用ミニコンピュータのモデルです。1959年10月21日に発表され[1]、その後、安価な科学技術計算用コンピュータとして販売されました[2] 。約2000台が生産された後、1970年11月19日に販売が終了しました。1620の改良版は、IBM 1710およびIBM 1720産業プロセス制御システムのCPUとして使用されました(これにより、工場設備のリアルタイムプロセス制御に十分な信頼性があると見なされた最初のデジタルコンピュータとなりました)。[1]

固定長の純粋な2進数ではなく、可変長の10進数であるため、学習用の最初のコンピュータとして特に魅力的でした。何十万人もの学生がIBM 1620で初めてコンピュータを体験しました

コアメモリのサイクルタイムは、(初期の)モデルIでは20マイクロ秒、モデルIIでは10マイクロ秒でした(2006年の一般的なコンピュータのメインメモリの約1000倍遅い)。モデルIIは1962年に導入されました。[3]

アーキテクチャ

メモリ

IBM 1620 モデルIは、磁気コアメモリを使用した可変長10進数(BCD)コンピュータでしたモデルIのコアは、各桁を6ビットで格納し、20,000桁の10進数を保持できました。[4] [3] IBM 1623ストレージユニット、モデル1(40,000桁を保持)、または1623モデル2(60,000桁を保持)を使用して、さらにメモリを追加できました。[1]

モデルIIはIBM 1625コアストレージ・メモリユニット[5] [6]を採用しました。より高速なコアを使用することで、モデルI(内部メモリまたは1623メモリユニット)と比較してメモリサイクルタイムが半分の10μs(つまり、サイクル速度が100kHzに向上)に短縮されました。

どちらのモデルも5桁のアドレスで10万桁の10進数をアドレス指定できましたが、6万桁を超えるマシンは市販されませんでした。[7]

メモリアクセス

メモリは2桁の10進数に同時にアクセスされました(数値データの場合は偶数と奇数の数字のペア、テキストデータの場合は1つの英数字)。各10進数は6ビットで、奇数パリティのチェックビット、フラグビット、および桁の値を表す4つのBCDビットで構成され、次の形式です。[8]

 CF 8 4 2 1

Fラグビットにはいくつかの用途がありました。

  • 最下位桁では、負の数(符号付き絶対値)を示すように設定されました
  • 数値の最上位桁をマークするように設定されました(ワードマーク)。
  • 5桁アドレスの最下位桁は間接アドレッシング(モデルIではオプション、1620モデルIIでは標準)に設定されていました。多段階間接[1]を使用できました(マシンを無限間接アドレッシングループにすることさえ可能でした)。
  • 5桁アドレス( 1620 II )の中央3桁は、 7つのインデックスレジスタのいずれかを選択するように設定されていました

有効なBCD桁値に加えて、3つの特別な桁値がありました(これらは計算には使用 できません)。

 CF 8 4 2 1 1 0 1 0 – レコードマーク(レコードの右端、二重のダガー記号‡として印刷されます) 1 1 0 0 – 数値ブランク(パンチカード出力フォーマットの場合はブランク) 1 1 1 1 – グループマーク(ディスクI/Oのレコードグループの右端)

命令は固定長(12桁の10進数)で、2桁の「オペコード」、5桁の「Pアドレス」(通常は宛先アドレス)、5桁の「Qアドレス」(通常はソースアドレスまたはソース即値)で構成されていました。B(分岐)命令などの一部の命令はPアドレスのみを使用し、後のスマートアセンブラには、7桁の分岐命令(オペコード、Pアドレス、そして次の命令が偶数桁から始まる必要があるため1桁の追加)を生成する「B7」命令が含まれていました。

固定小数点データの「ワード」は、2桁の10進数から、他の目的に使用されていないメモリ全体まで、任意のサイズにすることができます

浮動小数点データ「ワード」(ハードウェア浮動小数点オプションを使用)は、4 桁から 102 桁までの任意のサイズになります(仮数部は 2 桁から 100 桁、指数部は 2 桁)。

Fortran IIコンパイラは、固定形式のFortranソースの前に「ソースプログラム制御カード」を置くことで、この柔軟性への限定的なアクセスを提供していました。

*ffkks

1列目の*、ff は浮動小数点数の仮数の桁数(02から28まで)、kkは固定小数点数の桁数(04から10まで)、sは現在のコンピュータでない場合、コードを実行するコンピュータのメモリサイズを指定します。20,000桁、40,000桁、または60,000桁のメモリの場合は2、4、または6です。

このマシンにはプログラマがアクセス可能なレジスタがなく、すべての操作はメモリ間で行われました(1620 IIインデックスレジスタを含む)。

アーキテクチャ上の問題のセクションを参照してください

文字とオペコード

下の表は、英数字モードの文字(およびオペコード)を示しています。

文字とオペコードの表
BCD文字タイプライタプリンタテープ カード コアニーモニックと演算定義と注記
入力出力出力入力出力入力出力偶数奇数
空白   CC     
無効 Ж ❚ 1FADD 浮動小数点加算オプションの特殊機能
無効 Ж ❚ FSUB 浮動小数点減算オプションの特殊機能
 X0 8 21 X0 8 2112-3-8
12-1-2-8
12-3-821FMUL 浮動小数点乗算オプションの特殊機能
)))) X0C84 X0C8412-4-812-4-84  
無効 Ж ❚ 4 1FSL 浮動小数点左シフトオプションの特殊機能
無効 Ж ❚ 42 TFL 浮動小数点送信オプションの特殊機能
無効 Ж ❚ 421BTFL 浮動小数点分岐送信オプションの特殊機能
無効 Ж ❚  8FSR 浮動小数点右シフトオプションの特殊機能
無効 Ж ❚  81FDIV 浮動小数点除算オプションの特殊機能
++++ X0C X0C12121 BTAM 即値分岐送信アドレス(モデルII)
無効 Ж ❚ 11AM 即値加算 
無効 Ж ❚ 1SM 即値減算 
$$$$ X C8 21 X C8 2111-3-8
11-1-2-8
11-3-8121MM 乗算即値 
**** X84 X8411-4-811-4-814CM 比較即値 
無効 Ж ❚ 14 1TDM 桁送信即値 
無効 Ж ❚ 142 TFM フィールド送信即値 
無効 Ж ❚ 1421BTM 分岐送信即値 
無効 Ж ❚ 1 8LDM 被除数ロード(即値)オプション機能(モデルI)。
標準機能(モデルII)。
無効 Ж ❚ 1 81DM 除算(即値)オプション機能(モデルI)。
標準機能(モデルII)。
---- X X1111 BTA 分岐してアドレスを送信(モデルII)
////0C10C10-10-11A 加算 
無効 Ж ❚ S 減算 
,,,,0C8 210C8 210-3-8
0-1-2-8
0-3-821M 乗算 
0 840 840-4-80-4-84C 比較 
無効 Ж ❚ 4 1TD 桁送信 
無効 Ж ❚ 42 TF 送信フィールド 
無効 Ж ❚ 421BT 分岐して送信 
無効 Ж ❚  8LD 被除数ロードオプション機能(モデルI)。
標準機能(モデルII)。
無効 Ж ❚  81D 除算オプション機能(モデルI)。
標準機能(モデルII)。
無効 Ж ❚ 21 TRNM 送信レコード番号 RM(モデルII)
無効 Ж ❚ 211TR 送信レコード 
無効 Ж ❚ 21SF フラグ設定 
8 218 213-8
1-2-8
3-82121CF フラグクリア 
@@@@C84C844-84-8214K 制御(I/Oデバイス) 
無効 Ж ❚ 214 1DN 数値ダンプ 
無効 Ж ❚ 2142 RN 数値読み取り 
無効 Ж ❚ 21421RA 英数字読み取り 
無効 Ж ❚ 21 8WN 数値書き込み 
無効 Ж ❚ 21 81WA 英数字書き込み 
AAAA X01 X0112-112-1 41NOP 無操作 
BBBB X02  X02 12-212-2 4BB 分岐戻り 
CCCC X0C21 X0C2112-3
12-1-2
12-3 421BD 桁分岐 
DDDD X04 X0412-412-4 44BNF 分岐番号フラグ 
EEEE X0C 4 1 X0C 4 112-5
12-1-4
12-5 44 1BNR 分岐番号記録マーク 
FFFF X0C 42  X0C 42 12-6
12-2-4
12-6 442 BI 分岐インジケータ 
UMK マスク解除
MK マスク
1710 割り込み機能。Q フィールドに修飾子があります。
GGGG X0421 X042112-7
12-1-2-4
12-7 4421BNI 分岐番号インジケータ 
BO 分岐出力
BOLD 分岐出力およびロード
1710 割り込み機能。Q フィールドに修飾子があります。
HHHH X0 8 X0 812-812-8 4 8H 停止 
IIII X0C81 X0C8112-9
12-1-8
12-9 4 81B 分岐 
-0該当なし--該当なし X11-011-0 4 1   
J
-1
JJJ X C1 X C111-111-1 4 11  
K
-2
KKK X C2  X C2 11-211-2 4 1  
L
-3
LLL X21 X2111-3
11-1-2
11-3 4 121  
M
-4
MMM X C 4 X C 411-411-4 4 14  
N
-5
NNN X4 1 X4 111-5
11-1-4
11-5 4 14 1BNG 分岐グループ番号マークオプションの特殊機能
O
-6
OOO X42  X42 11-6
11-2-4
11-6 4 142   
P
-7
PPP X C 421 X C 42111-7
11-1-2-4
11-7 4 1421  
Q
-8
QQQ X C8 X C811-811-8 4 1 8WAIT 割り込み待ち1710 割り込み機能
R
-9
RRR X81 X8111-9
11-1-8
11-9 4 1 81  
無効 Ж ❚  42  BS 分岐と選択(モデルII)
無効 Ж ❚  42 1BX 分岐とインデックスレジスタ変更オプションの特殊機能 (モデルII)
SSSS0C2 0C2 0-20-2 42 BXM 分岐およびインデックスレジスタ変更(即値)オプションの特殊機能 (モデルII)
TTTT0210210-3
0-1-2
0-3 42 21BCX 条件付き分岐およびインデックスレジスタ変更( 即値)オプションの特殊機能 (モデルII)
UUUU0C 40C 40-40-4 42 4BCXM 条件付き分岐およびインデックスレジスタ変更(即値)オプションの特殊機能 (モデルII)
VVVV04 104 10-5
0-1-4
0-5 42 4 1BLX 分岐およびインデックスレジスタロードオプションの特殊機能 (モデルII)
WWWW042 042 0-6
0-2-4
0-6 42 42 BLXM 分岐およびインデックスレジスタロード( 即値)オプションの特殊機能 (モデルII)
XXXX0C 4210C 4210-7
0-1-2-4
0-7 42 421BSX 分岐およびインデックスレジスタストアオプションの特殊機能 (モデルII)
YYYY0C80C80-80-8 42  8  
ZZZZ0 810 810-9
0-1-8
0-9 42  81  
00000
12-0
0 421 MA アドレス移動オプションの特殊機能 (モデルII)
11111111 4211MF 移動フラグオプション機能(モデルI)。
標準機能(モデルII)。
222222 421TNS 数値ストリップ送信オプション機能(モデルI)。
標準機能(モデルII)。
3333C21C2133 42121TNF 数値フィル送信オプション機能(モデルI)。
標準機能(モデルII)。
4444 4 444 4214  
5555C 4 1C 4 155 4214 1  
6666C 42 C 42 66 42142   
7777 421 42177 421421  
88888888 421 8  
9999C81C8199 421 81  
無効 Ж ❚ 84SA アドレス選択
SACO アドレス選択、接点操作
SAOS アナログ出力信号選択
1710機能。Qフィールドの修飾子
無効 Ж ❚ 842 SLTA TAS選択
SLAR ADCレジスタ選択
SLTC リアルタイムクロック選択
SLIC 入力チャンネル選択 SLCB 接点ブロック選択
SLME 手動入力
選択
1710機能。Qフィールドの修飾子
無効 Ж ❚ 8F 42 RNIC 数値入力チャンネル読み取り1710機能。Qフィールドの修飾子
無効 Ж ❚ 8F 421RAIC 英数字入力チャンネル読み取り1710機能。Qフィールドの修飾子
無効 Ж ❚ 8 8WNOC 数値出力チャンネル書き込み1710機能。Qフィールドの修飾子
無効 Ж ❚ 8 81WAOC 英数字出力チャンネル書き込み1710機能。Qフィールドの修飾子
無効 Ж ❚ 81 BBT ビット分岐オプションの特殊機能 (モデルII)
無効 Ж ❚ 811BMK マスク分岐オプションの特殊機能 (モデルII)
無効 Ж ❚ 81ORF フィールドへの論理和オプションの特殊機能 (モデルII)
無効 Ж ❚ 8121ANDF フィールドへの論理積オプションの特殊機能 (モデルII)
無効 Ж ❚ 814CPLF 8進数フィールドの補数オプションの特殊機能 (モデルII)
無効 Ж ❚ 814 1EORF フィールドへの排他的論理和オプションの特殊機能 (モデルII)
無効 Ж ❚ 8142 OTD 8進数から10進数への変換オプションの特殊機能 (モデルII)
無効 Ж ❚ 81421DTO 10進数から8進数への変換オプションの特殊機能 (モデルII)
RM(停止)(停止)0 8 2 E
(停止)
0-2-80-2-8 8 2  記録マーク
GM(停止)(停止)0 8421E
(停止)
0-7-81-2-4-8 8421 グループマーク

下の表は数字モード文字の一覧です。

文字タイプライタプリンタテープ カード コア定義と注記
入力出力出力ダンプ入力出力入力出力
空白 000C 0 
000000
12-0
12
0 
11111111
12-1
1 1 
222222
12-1
2 
33333C21C213
12-3
1-2
12-1-2
3C21 
44444 4 44
12-4
44 
55555C 4 1C 4 15
12-5
1-4
12-1-4
5C4 1 
66666C 42 C 42 6
12-6
2-4
12-2-4
6C42  
77777 421 4217
12-7
1-2-4
12-1-2-4
7421 
88888888
12-8
88 
99999C81C819
12-9
1-8
12-1-8
9C 81 
-000-- X
 X0C
 X11-011-0 F 
-111JJ X C1 X C111-111-1CF1 
-222KK X C2  X C2 11-211-2CF2  
-333LL X21 X2111-3
11-1-2
11-3 F21 
-444MM X C 4 X C 411-411-4CF 4 
-555NN X4 1 X4 111-5
11-1-4
11-5 F 4 1 
-666OO X42  X42 11-6
11-2-4
11-6 F 42  
-777PP X C 421 X C 42111-7
11-1-2-4
11-7CF 421 
-888QQ X C8 X C811-811-8CF8 
-999RR X81 X8111-9
11-1-8
11-9 F81 
RM(停止、WN)

(DN)
(停止)0 8 2 E
(停止、WN)
0 8 2 
(DN)
0-2-80-2-8C 8 2 
テープ上の記録マーク。WNは代わりにEOLをパンチします!
フラグ RM(停止、WN)

(DN)
(停止)W X8 2 E
(停止、WN)
 X8 2 
(DN)
11-2-8
12-2-8
11-2-8 F8 2 フラグ付き記録マーク。
テープ上のWNは代わりにEOLをパンチします!
EOL(停止、WN)

(DN)
(停止)EE
(WN)
0 8 2 
(DN)
0-2-80-2-8C 8 2 行末。テープのみ。
注:メモリには記録マークがあります!
GM(停止、WN)

(DN)
(停止)G0 84210 84210-7-80-7-8C 8421グループマーク
フラグ GM(停止、WN)

(DN)
(停止)X X8421 X842112-7-812-7-8 F8421フラグ付きグループマーク
NB@@@C84C844-8C 84数値空白
フラグ NB@@* X84 X8411-4-8 F84フラグ付き数値空白

無効な文字

モデルIでは、タイプライターのキリル文字 Ж(発音はzh)を、正しいパリティを持つ汎用の無効文字として使用していました(無効なパリティは「–」の重ね打ちで示されます)。1620年代後半に導入された一部の機種では、1960年代後半に人気を博したジェームズ・ボンドの小説で使用されていたため、SMERSHと呼ばれていました。モデルIIでは、新しい文字❚(「pillow」と呼ばれる)を、正しいパリティを持つ汎用の無効文字として使用しました。

アーキテクチャ上の困難

IBM 1620のアーキテクチャは科学技術界で非常に人気がありましたが、コンピュータ科学者のエドガー・ダイクストラはEWD37「IBM 1620データ処理システムのレビュー」でその設計にいくつかの欠陥があることを指摘しました。[9]これらの欠陥の中には、マシンの分岐命令と送信命令、そして分岐バック命令の組み合わせでは、ネストされたサブルーチン呼び出しが1レベルしか許可されないため、複数レベルを持つコードのプログラマは、この「機能」をどこで最も効果的に使用できるかを決定する必要があるというものがあります。また、彼は、レコードマークはストレージで読み取られた文字を終了するために使用されるため、マシンの紙テープ読み取りサポートがレコードマークを含むテープを正しく読み取れないことを示しました。この影響の1つとして、1620はレコードマーク付きのテープを簡単な方法で複製することができません。レコードマークに遭遇すると、パンチ命令は代わりにEOL文字をパンチして終了します。しかし、これは致命的な問題ではありませんでした。

  • データはメモリの末尾にコピーされ、WN命令の代わりにDN命令を使用して逐語的にパンチできます。
  • テープは通常、オフラインで複製されました。

1620のほとんどのインストールでは、紙テープではなく、より便利なパンチカード入出力[10]が使用されていました。

1620の後継機であるIBM 1130 [11]は、全く異なる16ビットバイナリアーキテクチャに基づいていました。(1130シリーズは、1620周辺機器であるIBM 1627ドラムプロッタを1つ保持していました。)

ソフトウェア

IBM 1620 SPSカード

IBMは1620用に以下のソフトウェアを提供しました

  • 1620 シンボリックプログラミングシステム (SPS) (アセンブリ言語)
  • FORTRAN
  • FORTRAN II – 40,000桁以上のメモリが必要

  • GOTRAN – 「ロードアンド・ゴー」操作用のFORTRANの簡略化されたインタープリタ版[12]
  • Monitor I および Monitor II – ディスクオペレーティングシステム

モニターは、1620 SPS IId、FORTRAN IIdのディスクベース版とDUP(ディスクユーティリティプログラム)を提供しました。どちらのモニターシステムも、20,000桁以上のメモリと1台以上の1311ディスクドライブを必要としました。

IBM 1620関連のマニュアルのPDF形式のコレクションは、bitsaversで入手できます。[13]

1620 非10進演算

モデルIは加算/減算にメモリ内ルックアップテーブルを使用していたため、 [14]これらのテーブルの内容を変更することで、限定された基数(5から9)の符号なし数値演算を実行できましたが、ハードウェアには減算(および逆符号の加算)用の10の補数器が含まれていることに注意してください。

2から4の基数で完全に符号付きの加算と減算を行うには、補数器とキャリーロジックを偽装する「折り畳み式」加算テーブルを作成するために、ハードウェアの詳細な理解が必要でした。

また、プログラムでアドレス計算が必要になるたびに、通常の10の基数演算のために加算テーブルを再ロードし、その後、別の基数のために再度再ロードする必要がありました。そのため、この「トリック」は実用的なアプリケーションではやや役に立たないものになりました

モデルIIは加算と減算をハードウェアで完全に実装していたため、メモリ内のテーブルを変更して算術基数を変更することはできませんでした。しかし、8進入出力、論理演算、10進数との基数変換を行うためのハードウェアのオプションの特殊機能は利用可能でした。

8と10以外の基数はサポートされていませんでしたが、これによりモデルIIは、他のコンピュータ(IBM 7090など)によって8進形式でフォーマットされたデータを操作する必要があるアプリケーションにとって非常に実用的でした。

モデルI

「ゲート」の内部レイアウトを示す図

IBM 1620 モデルI(1959年から1962年にモデルIIが発売されるまで一般に「1620」と呼ばれていました)がオリジナルでした。価格を抑えるために、可能な限り安価に製造されました

  • 従来のALUハードウェアを備えていなかったため、演算はメモリテーブル参照によって行われました。加算と減算には100桁のテーブル(アドレス00300~00399)が使用されました。乗算には200桁のテーブル(アドレス00100~00299)が使用されました。[15] :p.4.4 基本マシンでは除算にソフトウェアサブルーチンが使用されていましたが、繰り返し減算アルゴリズムを使用する除算ハードウェアをオプションでインストールすることもできました。浮動小数点演算命令はオプションで利用可能でした(除算オプションがインストールされている場合)。
  • 磁気コアメモリの最初の20,000桁はCPU自体に内蔵されており、これにより基本システムの占有面積が削減されました。40,000桁または60,000桁への拡張には、IBM 1623メモリユニットの追加が必要でした。メモリサイクルタイムは20μs  つまり、メモリ速度は 50kHz = 1MHzの1/20)でした。メモリアドレスレジスタストレージ(MARS)[15]コアメモリの読み取り、クリア、または書き込み操作には2μsかかり、各書き込み操作は、20μsのメモリサイクル中に、同じ「レジスタ」の読み取りまたはクリア操作によって自動的に(必ずしも即時にではなく)先行していました。
  • 中央処理装置のクロック速度は1MHzで 、 10ポジションのリングカウンタによって20分周され、システムタイミングと制御信号を提供しました。命令のフェッチには8メモリサイクル(160μs)、実行には可変数のメモリサイクルが必要でした。間接アドレッシング[1]により、間接レベルごとに4メモリサイクル(80μs)が追加されました。
  • 重量は約1,210ポンド(550kg)でした。[16]

モデルII

IBM 1620 モデルII(一般に単にモデルIIと呼ばれる)は、オリジナルのモデルIと比較して大幅に改良された実装でした。モデルIIは1962年に導入されました

  • 加算と減算のための基本的なALUハードウェアを備えていましたが、乗算は依然として200桁のテーブル(アドレス00100~00299)を使用した コア内メモリテーブル参照によって実行されていました。アドレス00300~00399のメモリアドレスは、加算テーブルをハードウェアに置き換えることで解放され、7つの5桁インデックスレジスタからなる2つの選択可能な「バンド」のストレージになりました
  • モデル I のように利用可能なオプションではなく、繰り返し減算アルゴリズムを使用する除算ハードウェアが組み込まれています。浮動小数点演算は、8 進入出力、論理演算、および 10 進命令との間の基数変換と同様に、利用可能なオプションでした。
  • コアメモリ全体はIBM 1625メモリユニットに搭載されていました。メモリサイクル時間は、より高速なコアを使用することで、モデルI(内蔵または1623メモリユニット)と比較して半分の10μs(つまり、サイクル速度は100kHzに向上)に なりました  [ 6]メモリアドレスレジスタストレージ(MARS)コアメモリの読み取り、クリア、または書き込み操作には1.5μsかかり、各書き込み操作の前には、10μsのメモリサイクル中に同じ「レジスタ」の読み取りまたはクリア操作が自動的に(必ずしも即時に)実行されました
  • プロセッサのクロック速度も2MHzに倍増しましたが システムのタイミング/制御信号を提供するために、10ポジションのリングカウンタによって20で割られました。フェッチ/実行メカニズムは完全に再設計され、タイミングが最適化され、PフィールドまたはQフィールドが不要な場合に部分的なフェッチが可能になりました。命令のフェッチには1、4、または6メモリサイクル(10μs、40μs、または60μs)かかり、実行には可変数のメモリサイクルが必要でした。間接アドレッシング[1]は、間接レベルごとに3メモリサイクル(30μs)を追加しました。インデックスアドレッシングは、インデックスレベルごとに5メモリサイクル(50μs)を追加しました。間接アドレッシングとインデックスアドレッシングは、間接レベルまたはインデックスレベルのいずれでも組み合わせることができました。[17]

モデルIおよびIIコンソール

IBM 1620システムのモデル1 [18]とモデル2 [19]の下部コンソールは同じランプとスイッチを備えていましたが、上部コンソールは一部が異なっていました。

上部コンソール

モデルI(上部コンソール)ランプ数モデルII(上部コンソール)ランプ数
命令および実行サイクル60制御ゲート60
制御ゲート35入出力35
入出力15命令および実行サイクル15

上部コンソールの残りは両モデルで同じでした。

  • 操作レジスタ – 25個のランプ
  • メモリバッファレジスタ – 30個のランプ
  • メモリアドレスレジスタ – 25個のランプ
  • メモリアドレスレジスタ表示セレクタ – ロータリースイッチ、12ポジション

下部コンソール

  • 緊急オフプル – プルスイッチ
  • チェックコンディションステータスランプ/スイッチ – 15個のランプと5個のトグルスイッチ
  • プログラムスイッチ – 4個のトグルスイッチ
  • コンソール操作灯/スイッチ – 13個のライト、1個の電源スイッチ、12個のボタン

コンソールタイプライター

モデルIコンソールタイプライターは、モデルB1を改造したもので、リレーセットで接続されており、1秒あたりわずか10文字しか入力できませんでした

タイプライターに書き込んだり、タイプライターから読み取ったりする命令のセットがありました。一般的なRN(数値読み取り)命令とWN(数値書き込み)命令には、2番目のアドレスフィールドに「デバイス」コードを、2番目のアドレスフィールドの下位桁に制御コードを提供するアセンブリ言語のニーモニックがありました。

  • WNTYタイプライターへの数値書き込み各メモリ位置は000000から001001の範囲の6ビット文字を含んでいました。この命令では、各メモリ位置は「0」から「9」のいずれかの文字としてレンダリングされました。
  • WNTYタイプライターの英数字書き込み:各メモリ位置のペアには、タイプライターに表示される64文字の1つとして表示される2つの6ビット数字が含まれていました。
  • RNTYタイプライターへの数値読み取りタイプライターのキーボードから数値を読み取ります
  • RATY英数字タイプライター読み取り:キーボードから文字を読み取り、2桁の英数字として保存します。
  • TBTY:タブをタイプライター入力します。タブは手動で設定する必要があったため、この命令はほとんど使用されませんでした。
  • RCTYキャリッジリターンタイプライター:タイプライターに現在CR/LFシーケンスと呼ばれる処理を実行させます。

入出力を簡素化するために、2つの命令

  • TNS数値送信:0から9までの2桁の英数字表現を1桁の表現に変換します。
  • TNF:数値送信フィル1数字表現を、0から9を表す2桁の英数字シーケンスに変換します。

モデルIIは、15.5cps(55%の改善)でタイプできる改造されたSelectricタイプライターを 使用していました

周辺機器

IBM 1627ドラムプロッタ

使用可能な周辺機器:

  • IBM 1621 - 紙テープリーダー
  • IBM 1622  – パンチカードリーダー/パンチ
  • IBM 1624 - 紙テープパンチ(1621内部の棚に設置)
  • IBM 1626 - プロッターコントローラー
  • IBM 1627  – プロッター
  • IBM 1311  - ディスクドライブ:最大3台のモデル2スレーブドライブを制御するモデル3マスタードライブ。[20] [21]
  • IBM 1443  – プリンター、フライングタイプバー
  • IBM 1405  – ディスクドライブはRPQ(価格見積依頼)で入手可能

プログラムの標準的な「出力」メカニズムはパンチカードであり、タイプライターを使用するよりも高速でした。これらのパンチカードは、2枚のカードに印刷するようにプログラムできるIBM 407機械式計算機に送られ、407で利用可能な追加の印刷列を使用できました。すべての出力は同期しており、入出力(I/O)装置が出力を生成している間、プロセッサは一時停止するため、タイプライターの出力がプログラムの実行時間を完全に支配することができました。

より高速な出力オプションであるIBM 1443プリンターは1963年5月6日に導入され[22] 、 150~600行/分の印刷能力は1620のどちらのモデルでも使用できました。[23] [24]

120桁または144桁の印刷が可能でした。文字幅は固定されていたため、用紙サイズが変わりました。プリンターは1インチあたり10文字を印刷するため、最大12インチまたは14.4インチのテキストを印刷できました。さらに、プリンターにはバッファが搭載されていたため、プロセッサのI/O遅延が短縮されました。ただし、行が完了していない場合は印刷命令がブロックされました。

操作手順

コンピュータの「オペレーティングシステム」は、フロントパネルとタイプライターで構成されるコンピュータコンソールのコントロールを使用して、近くのキャビネットに保管されているパンチカードや紙テープなどの利用可能な大容量ストレージメディアからプログラムをロードする人間のオペレーターで構成されていました。後に、コンピュータに接続されたモデル1311ディスクストレージデバイスにより、カードデッキや紙テープロールの取り出しと持ち運びが削減され、ディスクから何をロードするかを選択するのに役立つシンプルな「モニター」オペレーティングシステムをロードできるようになりました。[20] [25]

標準的な準備作業は、コンピュータメモリから以前のユーザーのデータをすべて消去することでした。磁気コアであるメモリは、電源を切っても最後の状態を保持していました。これは、コンソール機能を用いて、コンソールタイプライターで機械語を入力し、実行し、停止するという単純なコンピュータプログラムをロードすることで実現しました。これは、160001000000のような命令を1つだけ、アドレス0以降にロードするだけで済むため、それほど難しいものではありませんでした。これは、即値フィールド(16桁の2桁オペコード)をアドレス00010に送信し、即値定数フィールドの値は00000(5桁のオペランドフィールドで、2番目はアドレス11から7まで)とし、「フラグ」付きの数字がコピーされるまで、コピー元アドレスとコピー先アドレスをデクリメントしていくことを意味します。これは、最大5桁の定数をコピーするための一般的な機械語の方法です。数字列は下位からアドレス指定され、フラグ付きの数字で終了するまで下位アドレスに拡張されます。しかし、この命令では、ソース桁がフラグのない桁で直前に上書きされているため、フラグが見つかることはありませんでした。したがって、操作はメモリ内をロールし(メモリ自体を上書きすることさえあります)、オペレータがインジケータ ライトの揺れを見るのに飽きて [ Instant Stop - Single Cycle Execute]ボタンを押すまで、メモリをすべて 0 で埋め続けます。メモリの各 20,000 桁モジュールをクリアするには、ちょうど 1 秒弱かかりました。1620 IIでは、この命令は機能しませんでした(実装における特定の最適化のため)。代わりに、コンソールに[Modify]というボタンがあり、コンピュータが [Manual] モードのときに、このボタンをチェック リセットボタンと一緒に押すと、メモリの量に関係なく、開始を押したときに 10 分の 1 秒ですべてのメモリをクリアするモードにコンピュータが設定されます。また、メモリがクリアされると、オペレータが停止する必要がなく、自動的に停止します。

コンソールでマシンコードを入力する以外に、プログラムは紙テープリーダー、カードリーダー、または任意のディスクドライブを介してロードできました。テープまたはディスクからロードするには、まずコンソールタイプライターで 「ブートストラップ」ルーチンを入力する必要がありました

カード リーダーには、最初のカードがコンピューターのメモリ (アドレス 00000 から開始) に読み込まれて実行されることを示す特別なロードボタンがあるため、作業が簡単になります (カード リーダーを起動するだけで、カード リーダーはコンピューターからのカード読み取りコマンドを待機します)。これは、目的のプログラムを読み込んで実行するローダーを構成する残りのコード (カード リーダー、ディスクなどから) を読み込むのに十分なコードをコンピューターに取り込む「ブートストラップ」プロセスです。

プログラムは事前にオフラインで、紙テープやパンチカード上に準備されていました。しかし通常、プログラマーは、当時のメインフレームコンピュータのようにオペレーターに提出するのではなく、プログラムを個人的に、直接実行することが許されていました。また、コンソールタイプライターでは、事前にパッケージ化されたデータセットに対してブラインドバッチ実行を行って通常の印刷出力を得るだけでなく、対話形式でデータを入力し、出力を得ることができました。さらに、コンソールには4つのプログラムスイッチがあり、実行中のプログラムはその状態をテストし、ユーザーがその動作を指示することができました。コンピュータオペレーターは、実行中のプログラムを停止(または意図的にプログラムされた停止)し、メモリの内容を調査または変更することもできました。10進ベースであるため、これは非常に簡単で、浮動小数点数でさえ一目で読み取ることができました。その後、任意の時点から実行を再開できます。デバッグを除けば、科学的プログラミングは、同じ作業が定期的に繰り返される商用データ処理とは対照的に、一般的に探索的です。

コンソール

IBM 1620 メモリアドレスレジスタ表示セレクタスイッチ

1620年代のコンソールで最も重要な項目は、「挿入」「解放」というラベルの付いた2つのボタンと、コンソールタイプライターでした。

  • 挿入 - コンピュータを手動モードにしてこのキーを押すと、MARSコアメモリ内のプログラムカウンタがゼロにリセットされ、コンピュータが自動モード挿入モードに切り替わり、アドレス0へのタイプライターからの数値読み取りの実行がシミュレートされます(タイプライターのキーボードのロックが解除され、タイプライターが数値モードに移行します)。注:実際のタイプライターからの数値読み取りとは異なり、挿入モードでは、演算表の上書きを防ぐため、100桁入力した後に強制的に解放されます。
  • 解放 - タイプライターからの読み取り中にこのキーを押すと、読み取りが終了し、コンピュータが手動モードに切り替わり、タイプライターのキーボードがロックされます

タイプライターは、コンピュータのメインコンソール制御としてだけでなく、プログラム制御による入出力としても、オペレータの入出力に使用されます。後期型のタイプライターには、コンソールのリリースボタンとスタートボタンの機能を組み合わせた「RS」と記された特別なキーが搭載されていました(これは現代のキーボードのEnterキーに相当すると考えられます)。注:タイプライターのいくつかのキーは入力文字を生成しませんでした。これにはTabキーReturnキーが含まれます(1620年代の英数字および数字のBCD文字セットには、これらのキーに対応する文字コードがありませんでした)。

コンソールで次に重要な項目は、「スタート」「ストップ-SIE」「インスタントストップ-SCE」というラベルの付いたボタンでした。

  • スタート - コンピュータが手動モードのときにこのキーを押すと、コンピュータは自動モードに切り替わります(コンピュータはプログラムカウンタのアドレスから実行を開始します)。
  • ストップ-SIE - コンピュータが自動モードのときにこのキーを押すと、現在実行中の命令が完了したときにコンピュータは手動モードに切り替わります。コンピュータが手動モードのときにこのキーを押すと、コンピュータは1つの命令の間自動モードに切り替わります。
  • インスタントストップ-SCE - コンピュータが自動モードのときにこのキーを押すと、現在のメモリサイクルの終了時にコンピュータは自動/手動モードに切り替わります。コンピュータが手動モードまたは自動/手動モードのときにこのキーを押すと、コンピュータは自動/手動モードに切り替わり、1つのメモリサイクルを実行しました。

プログラムのデバッグ用に、 「保存しMARSを表示」というラベルの付いたボタンがありました

  • 保存 - コンピュータが手動モードのときにこのキーを押すと、プログラムカウンタがMARSコアメモリの別のレジスタに保存され、保存モードがアクティブになります

保存モードでブランチバック命令が実行されると、保存された値がプログラムカウンタにコピーされ(通常のように戻りアドレスレジスタにコピーするのではなく)、保存モードが無効になりました。

これは、デバッグ中にプログラムが停止した場所を記憶し、オペレーターがタイプライタで入力したデバッグ命令が終了した後にプログラムを再開できるようにするために使用されました。注:プログラムカウンタを保存するために使用されるMARSレジスタは、乗算命令でも使用されていたため、この命令と保存モードは互換性がありませんでした。ただし、デバッグコードでは乗算を使用する必要がなかったため、これは問題とは見なされませんでした。

  • MARを表示 - コンピュータを手動モードにしてこのキーを押すと、選択したMARSレジスタとそのアドレスのメモリの内容がコンソールランプに表示されます。
「ブレークポイント」手順注記
Stop-SIEを押してください現在の命令の終了時にコンピュータを停止します。
Saveを押す実行を再開するアドレスを保存します。
Insertキーを押しますタイプライターキーボードのロックを解除し、数字入力モードに切り替わります。
35xxxxx0010036xxxxx0010042と入力します。
 
xxxxxはブレークポイントを設定するアドレスです。
Releaseキーを押しますタイプライターキーボードをロックします。
Startキーを押します実行を開始します。12桁の命令が出力されるまでお待ちください。
Releaseキーを押しますダンプ数値を停止します。
Startキーを押します実行を開始します。
48と入力してください「ブレーク」する命令のオペコードをHaltオペコードに置き換えてください。
Releaseキーを押しますタイプライターキーボードをロックします。
Startキーを押します実行を再開します。コンピューターが「ブレークポイント」で停止するまでお待ちください。
Insertキーを押しますタイプライターキーボードのロックを解除し、数字入力モードに切り替わります。
36xxxxx0010049xxxxxと入力してください
 
xxxxxは、以前にブレークポイントを設定したアドレスです。これからクリアします。
Releaseキーを押しますタイプライターキーボードをロックします。
Startキーを押します実行を開始します。
ooと入力してくださいooは、以前出力された元の12桁の命令の2桁のオペコードです。
Releaseキーを押しますタイプライターキーボードをロックします。
Stop-SIEを押してくださいこれで、マシンは(クリアされた)「ブレークポイント」の位置から実行を再開する準備が整いました。続行する前に、必要なデバッグ操作を実行できます

アドレスからアドレス+1への転送命令を入力して実行することで、コンソールからメインメモリ全体をクリアできます。これにより、通常は転送命令を停止するワードマークが上書きされ、メモリの最後で折り返されます。しばらくして「Stop」を押すと転送命令が停止し、メモリがクリアされます。

IBM 1621/1624 紙テープリーダー/パンチ

1961年、ニューヨーク州ホワイトプレインズのIBM本社で、IBM 1620で紙テープを持つユーザーと、背景にIBM 1621紙テープリーダーがあります。

IBM 1621紙テープリーダーは、最大150文字/秒の読み取りが可能でした。IBM 1624紙テープパンチは、
最大15文字/秒の出力が可能でした。[1]

両方の装置:

  • 8チャンネルの紙テープを処理可能
  • 正確性を確保するために自己チェックを実行
  • 1文字コードで数値情報とアルファベット情報の両方に対応しました

1621テープリーダーと1624テープパンチには、以下の制御機能が含まれていました。

  • 電源スイッチ - 「オン」の場合、CPUの電源投入時にユニットリーダーの電源がオンになります。
  • リール/ストリップスイッチ - このスイッチは、紙テープのリールまたはストリップのどちらを使用するかを選択します。
  • リール電源キー - 供給リールと巻き取りリールに電源を供給し、テープを読み取り位置に配置して、リーダーを準備完了状態にします
  • 非プロセスランアウトキー - リーダーが空になるまでテープを送り、リーダーを準備完了状態から戻します。
ブートストラップ手順注記
Insertキーを押しますタイプライターキーボードのロックを解除し、数字入力モードに切り替わります。
36xxxxx0030049yyyyyと入力してください
 
xxxxxはテープをロードするアドレスです。yyyyy
は実行を開始するアドレスです。
Releaseキーを押しますタイプライターキーボードをロックします。
Startキーを押します実行を開始します。

IBM 1622 カードリーダー/パンチ

IBM 1622 カードリーダー/パンチはのことが可能です。

  • 毎分最大250枚のカード読み取り
  • 最大125枚/分のカードをパンチできます。[1]

1622のコントロールは、3つのグループに分かれています。3つのパンチコントロールロッカースイッチ、6つのボタン、および2つのリーダーコントロールロッカースイッチです。

パンチロッカースイッチ:

  • パンチオフ/パンチオン – このロッカーは、パンチ機構のオン/オフを切り替えます。
  • ノーストップ選択/ストップ選択 – このロッカーは、パンチミスしたカード(通常のパンチスタッカーではなく、パンチエラー選択スタッカーに収納されているカード)がパンチを続行するか、チェック停止させるかを選択します。
  • 非処理ランアウト – パンチホッパーが空の状態でこのロッカーを押すと、パンチ機構から残りのカードが「ランアウト」します。

ボタン:

  • パンチ開始 – パンチがアイドル状態でオンの状態でこのキーを押すと、パンチが開始されます。これでコンピューターはカードをパンチできます。
  • パンチ停止 – パンチがアクティブな状態でこのキーを押すと、パンチが停止します。
  • チェックリセット – このキーを押すと、リーダーとパンチのすべての「エラーチェック」状態がリセットされます
  • ロード – リーダーがアイドル状態でオン、コンピュータが手動モードの状態でこのキーを押すと、リーダーが起動し、プログラムカウンタ(MARSコアメモリ内)がゼロにリセットされ、カード1枚がリーダーのバッファに読み込まれ、カードのエラーがないかチェックされ、カードリーダーからアドレス0への数値読み取りの実行がシミュレートされ(リーダーのバッファの80文字がメモリアドレス00000~00079に読み込まれ)、コンピュータが自動モードに切り替わります(プログラムカウンタのアドレスから実行が開始されます)。
  • リーダー停止 – リーダーがアクティブな状態でこのキーを押すと、リーダーが停止します。
  • リーダー起動 – リーダーがアイドル状態でオンの状態でこのキーを押すと、リーダーが起動し、カード1枚がリーダーのバッファに読み込まれ、カードのエラーがないかチェックされます。これでコンピュータはカードを読み取ることができるようになりました。

リーダーロッカースイッチ:

  • 非プロセスランアウト – 読み取りホッパーが空の状態でこのロッカーを押すと、リーダー機構から残りのカードが「ランアウト」します。
  • リーダーオフ/リーダーオン – このロッカーは、リーダー機構のオン/オフを切り替えます。
ブートストラップ手順注記
ロードを押す

ディスクドライブ

IBM 1311 ディスクドライブ – モデル2(スレーブ)およびモデル3(マスター)、IBM 1620 IIに接続

1311ディスクドライブのコントロール。

  • モジュールライト – このライトはドライブ番号を示します。点灯しているときは、ドライブはアクセス可能な状態です。
  • 比較無効化キースイッチ – このスイッチ(マスターのみ)がオンの位置にあり、アドレス書き込みボタンを押すと、アドレスを比較せずにフルトラック書き込みを実行できます。ディスクパックのフォーマットに使用されます。
  • 選択ロックライト – このスイッチ(マスターのみ)が点灯しているときは、1つ以上のドライブに障害があります。ディスクアクセスは実行できません
  • 書き込みアドレスボタン/ライト – このキー(マスターのみ)は、セクターアドレスの書き込みを制御します。押すと、有効/無効が切り替わり、ライトのオン/オフが切り替わります。
  • 有効/無効トグルスイッチ – このスイッチは、ドライブへのアクセスを有効または無効にします。マスターでこのスイッチが無効になっている場合、ドライブ自身のスイッチの状態に関係なく、すべてのドライブが無効になります。また、ディスク使用時間メーターも制御します。
  • 開始/停止ボタン – このキーを押すと、ディスクドライブのモーターが起動または停止します。蓋を開けてディスクパックを交換するには、モーターを停止する必要があります
ブートストラップ手順注記
Insertキーを押しますタイプライターキーボードのロックを解除し、数字入力モードに切り替わります。
3400032007013600032007024902402
x
y1963611300102 と入力してください。
x – モニター制御カードのソースを指定します。1 = タイプライター、3 = 紙テープ、5 = カード
。y – モニターが存在するディスクドライブを指定します。1、3、5、7。02402
はモニタープログラムのエントリポイントのアドレスです。
Releaseキーを押しますタイプライターキーボードをロックします。
Startキーを押します実行を開始します。
再起動手順注記
Insertキーを押しますタイプライターキーボードのロックを解除し、数字入力モードに切り替わります。
490225 FLG 6と入力してください。
 
02256̅はモニタープログラムの再起動ポイントのアドレスを含む場所のアドレスです。
注記:この手順では、モニターがすでにメモリにロードされていることを前提としています。
Releaseキーを押しますタイプライターキーボードをロックします。
Startキーを押します実行を開始します。

一般

FORTRAN IIコンパイラとSPSアセンブラは現代の基準からするとやや扱いにくいものでしたが[26] [27]、繰り返していくうちに手順はすぐに自動化され、細かい点について考える必要がなくなりました。

FORTRAN IIコンパイル手順注記
プログラムスイッチを次のように設定します。
  1. オフ(ソースリストなし)
  2. オフ(バッチコンパイルなし)
  3. オフ(ソースはカードから入力)
  4. オフ(3がオンの場合のみ使用
パスIオプション
オーバーフローチェックスイッチをプログラムに、その他すべてをストップに設定します
リセットを押す
空白カード(12エッジを裏向きに最初に)をパンチホッパーにセットし、パンチスタートを押す
コンパイラのパスI(9エッジを裏向きに最初に)を読み取りホッパーにセットし、ロードを押すパスIがロードされ、タイプライターに「ソースプログラムを入力してください。スタートを押してください」と印刷されるのを待ちます
コンパイラのパスIを読み取りスタッカーから取り出します
プログラムソースデッキ(9エッジを裏向きに最初に)を読み取りホッパーにセットし、スタートを押すパスIが完了するまで待ち、タイプライターに「シンボルテーブルを表示するにはスイッチ1をオンにし、スタートを押してください」と印刷してください。
プログラムスイッチ1をオフにしてから、スタートを押してくださいデバッグのためにシンボルテーブルリストが必要な場合は、プログラムスイッチ1をオンにしてください。シンボルテーブルリストがタイプライターに印刷されます。
パスIでタイプライターに「END OF PASS 1」と印刷されるまでお待ちください。
プログラムスイッチを次のように設定します。
  1. オフ(文番号/アドレスリストなし)
  2. オフ(未使用)
  3. オフ(IF文のトレースなし)
  4. オフ(算術文のトレースなし)
パスIIのオプション
オーバーフローチェックスイッチをプログラムに、その他すべてをストップに設定します
リセットを押す
空白カード(12エッジを裏向きに最初に)をパンチホッパーにセットし、パンチスタートを押す
コンパイラのパスIIを(9面を下にして最初に)読み取りホッパーにセットし、「ロード」を押します。パスIIがロードされるまでお待ちください。
コンパイラのパスIIを読み取りスタッカーから取り出します
パスIの中間出力をパンチスタッカーから取り出し、9面を下にして読み取りホッパーにセットし、リーダースタートを押してからスタートを押します。パスIIが完了し、タイプライターに「SW 1 ON TO PUNCH SUBROUTINES, PRESS START」と印刷されるまで待ちます。
リーダースタッカーから中間出力を取り出します。
プログラムスイッチ1をオンにし、サブルーチンデッキを(9面を下にして)読み取りホッパーにセットし、リーダースタートを押してからスタートを押します。パスIIがタイプライターに「END OF PASS II」と印刷されるまで待ちます。
サブルーチンデッキをリーダースタッカーから取り出し、完成したオブジェクトデッキをパンチスタッカーから取り出します。

GOTRANは、メモリ内に実行ファイルを直接生成するため、はるかに使いやすかったです。しかし、完全なFORTRAN実装ではありませんでした

これを改善するために、様々なサードパーティ製FORTRANコンパイラが開発されました。その1つは、ライス大学のプログラマーであるボブ・リチャードソン[28] [29]によって開発されたFLAG(FORTRAN Load-and-Go)コンパイラです。FLAGデッキがロードされると、出力デッキに直接アクセスするにはソースデッキをロードするだけで済みます。FLAGはメモリ内に保持されるため、次のソースデッキをすぐに受け入れる準備ができていました。これは、多数の小さなジョブを処理するのに特に便利でした。例えば、オークランド大学では、学生の課題(通常、多くのメモリを必要としない多数の小さなプログラム)用のバッチジョブプロセッサは、後期のIBM 1130がディスクベースのシステムで実行したよりもかなり高速に授業をこなしました。コンパイラはメモリ内に保持され、学生のプログラムは残りのメモリで成功するか失敗するかのチャンスがありましたが、重大な失敗は常駐コンパイラを混乱させる可能性がありました

その後、ディスク記憶装置が導入され、カードデッキ上の作業用ストレージが不要になりました。コンパイラとローダーを構成する様々なカードデッキは、キャビネットから取り出す必要がなくなり、ディスクに保存して、シンプルなディスクベースのオペレーティングシステムの制御下でロードできるようになりました。多くのアクティビティは目に見えにくくなりましたが、それでも継続しています。

カードリーダーパンチのパンチ側はカードの上部に文字をエッジ印刷しなかったため、出力デッキを別の機械(通常はIBM 557アルファベット・インタープリター)に持ち込み、各カードを読み取り、その内容を上部に印刷する必要がありました。リストは通常​​、リストデッキをパンチし、IBM 407会計機を使用してデッキを印刷することで生成されました。

ハードウェア実装

標準モジュラーシステム(SMS)カード

1620の論理回路の大部分は、速度に優れる「ドリフト」トランジスタ(1953年にハーバート・クローマーが発明したトランジスタの一種)を用いた抵抗トランジスタ論理(RTL)の一種で、IBMはこれを飽和ドリフトトランジスタ抵抗論理(SDTRL)と呼んでいました。IBMが使用したその他の回路タイプは、Alloy(一部は論理機能を持つが、主に様々な非論理機能を持ち、使用されているトランジスタの種類にちなんで名付けられました)、CTRL (別の種類のRTLで、 SDTRLよりも低速)、CTDL (ダイオードトランジスタ論理(DTL)の一種)、 DL(別の種類のRTLで、使用されているトランジスタの種類である「ドリフト」トランジスタにちなんで名付けられました)と呼ばれていました。これらすべての回路の典型的な論理レベル(Sレベル)は、高:0V~-0.5V、低:-6V~-12Vでした。SDTRL回路の伝送線路論理レベルCレベル)は、高:1V、低:-1Vでした。リレー回路は、2つの論理レベル(Tレベル)高:51V~46V、低:16V~0V、または(Wレベル)高:24V、低:0V のいずれかを使用しました。

これらの回路は、IBMがSMSカード(標準モジュラーシステム)と呼んでいた、16ピンの金メッキエッジコネクタを備えた2.5×4.5インチ(64×114ミリメートル)の片面紙エポキシプリント基板に搭載された個別のディスクリート部​​品で構成されていました。1枚のカードのロジックの量は、7400シリーズSSIまたはより単純なMSIパッケージ1つ(例:3~5個のロジックゲートまたは2、3個のフリップフロップ)とほぼ同じ でした

これらのボードは、IBMがゲートと呼んでいた扉のようなラックに取り付けられたソケットに挿入されました。マシンの基本構成では、以下の「ゲート」がありました。

1620では、 2種類のコアメモリが使用されていました。

  • メインメモリ
    • 同時電流XYラインアドレス指定
      • 20,000、40,000、または60,000桁
    • 12ビットの偶奇桁ペア
    • 各モジュールに12個の1ビットプレーン、1~3モジュール
      • プレーンあたり10,000コア
  • メモリアドレスレジスタストレージ(MARS)メモリ
    • ワードラインアドレス指定
      • 16ワード(基本構成では最低8ワードを使用)
      • 1ワード読み出し、複数ワードクリア/書き込み
    • 24ビット、5桁の10進メモリアドレス(8~1万ビットは格納されません)
    • 1プレーン
      • 384コア

メインメモリのアドレスデコードロジックは、XYラインの半電流パルスを生成するために、モジュールごとに100 個のパルストランスコアの2つのプレーンも使用しました。

1620には2つのモデルがあり、それぞれハードウェア実装が全く異なります。

開発履歴

「小規模科学市場」向けのコンピュータ

1958年、IBMはニューヨーク州ポキプシーの開発研究所に「小規模科学市場」を調査するためのチームを編成しました。当初、チームはウェイン・ウィンガー(マネージャー)、ロバート・C・ジャクソン、ウィリアム・H・ローズで構成されていました。

要件と設計

この市場で競合していたコンピュータは、Librascope LGP-30Bendix G-15で、どちらもドラムメモリマシンでした。当時IBMで最も小型のコンピュータは、人気のあったIBM 650で、これもドラムメモリを使用した固定ワード長の10進マシンでした。3つとも真空管を使用していました。IBMはこの分野で真に新しいものは何も提供できないという結論に達しました。効果的に競争するには、IBMが大型コンピュータ用に開発した技術を使用する必要があり、同時にマシンは可能な限り低コストで製造する必要がありました。

この目標を達成するために、チームは以下の要件を設定しました。

  • コアメモリ
  • 制限された命令セット
    • 除算命令や浮動小数点命令は使用せず、「汎用プログラムパッケージ」内のサブルーチンを使用する
  • 可能な限り、ハードウェアを既存の論理マシン機能に置き換える
    • 算術回路は使用せず、コアメモリ内のテーブルを使用する
  • 可能な限り安価な入出力
    • パンチカードは使用せず、紙テープを使用する
    • プリンターは使用せず、オペレーターコンソールのタイプライターを使用する

プロトタイプ

チームはアン・デックマン、ケリー・B・デイ、ウィリアム・フローラック、ジェームズ・ブレンザの加入により拡大しました。彼らは1959年春に(コードネーム)CADETプロトタイプを完成させました。

一方、カリフォルニア州サンノゼの施設では独自の提案に取り組んでいました。IBMは2つのうち1つしか製造できず、ポキプシーの提案が採用されました。その理由は「サンノゼ版は最高級品で拡張できませんが、あなたの提案はあらゆる拡張機能を備えています。拡張できないマシンは絶対に提供しないでください」というものでした

IBM 1620 モデルI レベルA(プロトタイプ)の登場時

IBMによるマシン発表時のもの

経営陣は、コアメモリが小型マシンで動作できるかどうか完全には確信していなかったため、ジェリー・オタウェイがチームに派遣され、バックアップとしてドラムメモリを設計しました。製品テストラボでの受入テスト中に、コアメモリの故障が繰り返し発生し、経営陣の予測が現実になりそうでした。しかし、土壇場で、コアスタックに熱風を送り込むために使用されていたマフィンファンが故障し、コアがノイズパルスを拾って正しく読み取りできないことが判明しました。ファンの問題が解決した後、コアメモリにそれ以上の問題は発生せず、ドラムメモリの設計作業は不要として中止されました。

生産のためにサンノゼに移管

1959年10月21日のIBM 1620の発表後、IBMの社内組織再編により、製造のためにポキプシーのデータ処理部門(大規模メインフレームコンピュータのみ)からサンノゼの一般製品部門(小型コンピュータとサポート製品のみ)に移管することが決定されました

サンノゼへの異動後、そこで誰かが冗談めかして、コードネームCADETは実際には「C an't Add , Does n't Even Try (できない、できない、できない」の略で、専用の加算回路ではなくメモリ内の加算表を使用していることを指していると示唆しました(そしてSDTRLは実際には「S old Down The River Logic リバーロジック」の略で、CEの間でよく使われるジョークになりました)。これは定着し、ユーザーコミュニティの間で非常によく知られるようになりました。[30] [31] [32]

実装「レベル」

  • モデルI
    • レベルA:プロトタイプ
      • 設計に使用されたすべてのフリップフロップは、オリジナルのエクルズ・ジョーダン・トリガー回路のトランジスタ化版でした。このマシンは完全に機能していましたが、これらに使用されていたコンデンサ結合は、コンソールタイプライターの駆動に使用されるリレーやタイミングカム駆動スイッチのノイズの多い信号環境では問題を引き起こすことが判明しました。そのため、 SRフリップフロップを使用するようにマシンを完全に再設計する必要がありました( SRフリップフロップのクロックを生成するために使用される2つのトリガーを除く)。ただし、「トリガー」という用語は、IBMの慣例的な用語であったため(英数字は「アルファメリック」と呼ばれていたため)、すべてのドキュメントでフリップフロップを参照する際には保持されました。
      • これは1ピースの垂直コントロールパネルを使用している唯一のレベルです。設計がポキプシーからサンノゼに移管された際に、すべての生産モデルで使用される2ピースの角度付きコントロールパネルに再設計されました。
    • レベルB:最初の生産。
      • これは、磨かれたアルミニウムの下部コントロールパネルを使用している唯一のレベルです。後のレベルではこのパネルは白で仕上げられました
    • レベルC:1622カードリーダー/パンチの導入。
    • レベルD:1311ディスクドライブの導入と、ディスク制御ロジックを含むオプションの「ゲートJ」の追加。
    • レベルE:浮動小数点オプションの導入。
    • レベルF
    • レベルG:割り込みオプションの導入( IBM 1710に必要)。
      • 割り込みコードでBTおよびBBサブルーチンをサポートしていませんでした!
      • 「ゲートJ」ロジックのディスク制御ロジックは、「ゲートA」および「ゲートB」に統合されました。
        • モデルII用に設計されたカードを使用して多くのロジックが圧縮されたため可能になりました。
    • レベルH:割り込みコードでBTおよびBBサブルーチンをサポートする改良された割り込みオプション。
      • モデルIの最終バージョン。
  • モデルII(現時点では「レベル」に関する情報はありません)
1620モデルIIは、加算と減算のための基本的なALUハードウェア(「加算できない、試せない」はもはや当てはまらないインデックスレジスタ導入ました。

特許

  • 米国特許第3,049,295号 – 乗算コンピュータ
    • 特許出願日:1960年12月20日
    • 特許発行日:1962年8月14日
    • 発明者
      • ウィリアム・H・ローズ
      • ジェームズ・G・ブレンザ
      • ウェイン・D・ウィンガー
      • ロバート・C・ジャクソン
    • 請求項および先行技術文献
      • 請求項21件
      • 先行技術なし
    • 図とテキスト
      • 図156枚(1620の詳細を詳細に説明しています。)
      • 本文31枚
  • 米国特許第3,328,767号 - コンパクトなデータ参照テーブル
    • 特許出願日:1963年12月31日
    • 特許発行日:1967年6月27日
    • 発明者
      • ジェラルド・H・オタウェイ
    • 請求項および先行技術文献
      • 請求項11件
      • 先行技術5件
    • 図とテキスト
      • 図5枚
      • 本文4枚
  • 米国特許第3,199,085 号 - テーブル参照演算ユニット機能を備えたコンピュータ
    • 特許出願日:1960年12月20日
    • 特許発行日:1965年8月3日
    • 発明者
      • ウィリアム・H・ローズ
      • ジェームズ・G・ブレンザ
      • ウェイン・D・ウィンガー
    • 請求項および先行技術文献
      • 請求項21件
      • 先行技術5件
    • 図とテキスト
      • 図156枚(1620の詳細を詳細に説明しています。)
      • 本文31枚
  • 米国特許第3,239,654号 - 除算コンピュータ
    • 特許出願日:1961年2月8日
    • 特許発行日:1966年3月8日
    • 発明者
      • ロバート・C・ジャクソン
      • ウィリアム・A・フロラック
      • ウェイン・D・ウィンガー
    • 請求項および先行技術文献
      • 請求項9件
      • 先行技術1件
      • 出版物3件
    • 図とテキスト
      • 図13枚
      • 本文19枚

注目すべき用途

NASA本部(FOB 10B、ワシントンD.C.)のVearl N. Huffは、IBM 1620 モデルIIを使用して、宇宙で2つの物体をテザーで繋ぐことの安全性が完全には理解されていなかった時代に、テザーで繋がれたジェミニカプセルと アジェナロケットモジュールの二体問題の3次元シミュレーションをFortranでプログラムしました。同じコンピュータは、ジェミニ飛行の軌道のシミュレーションにも使用され、各軌道のプリンターアートチャートが作成されました。これらのシミュレーションは一晩中実行され、翌日にデータが分析されました。[33]

1963年にIBM 1620がIITカンプールに導入され、インドのソフトウェア力の飛躍的な向上につながりました。[34]

1964年、オーストラリア国立大学でマーティン・ワードはIBM 1620 モデルIを使用してヤンコ群J 1の位数を計算しました。[35]

1966年、ITUはワシントン・イブニング・スター紙IBM 1620とリノフィルム写真植字機を使用した1963のコンピュータ植字システムに関する解説映画を制作しました[36]

1964年、アイスランド大学にIBM 1620が設置され、アイスランド初のコンピュータとなりました。[37]

映画とテレビでの使用

  • IBMのジョン・バージソンと当時アメリカ海軍の少尉だった弟のポールが開発した野球ゲームシミュレーターをベースに、DJレゲ・コルディックがKDKAピッツバーグ向けにラジオ番組を開発しました。このプログラムは、シミュレーション演習を実行するコンピュータの能力を示す例として、1960年から1963年にかけて数多くのデモンストレーションイベントで使用されました。
  • 架空のコンピュータColossus of Colossus: The Forbin Project」では、余剰市場で購入した約12個の廃棄された1620のフロントパネルを様々な向きで使用しました。[38]
  • 同様の配置が、テレビドラマ「The Man from UNCLE」の後期エピソード[39]と映画[40]でTHRUSHスーパーコンピュータを描くために使用されました

逸話

CADET

ユーザーコミュニティの多くは、1620がCADETと呼ばれていたことを覚えています。これは冗談めかして「加算できない、試すことさえできない」という意味で専用加算回路なくメモリ内の加算表を使用していることに由来しています。[41]

マシンのコードネームの3つの既知の解釈については、開発履歴を参照してください。

このマシンには社内コードネーム「CADET」が選ばれました。開発者の1人は、これは「 Advanced Economic Technologyを備えたComputer 略であると述べていますが、他の人は単に「SPACE - CADET」の半分だったと記憶しています。SPACE当時開発中だったIBM 1401マシンの社内コードネームでした。 [要出典]

参考文献

  • ローリー、エドワード・J. (1963). 『コンピューターとその仕組み:IBM 1620、IBM 1401、IBM 650』. サウスウェスタン出版会社.— 発売直後に執筆された入門書。

参照

参考文献

  1. ^ abcdefgh 「1620データ処理システム」. 2003年1月23日. 2005年1月14日時点のオリジナルからアーカイブ。
  2. ^ 「IBMのヨーロッパ、中東、アフリカ(EMEA)における事業の重要な日付」(PDF) 。 2022年10月10日時点のオリジナル(PDF)からアーカイブ
  3. ^ ab 「IBM 1620:チュラ大学の統計学部に最適なマシン」。2017年12月22日時点のオリジナルよりアーカイブ。 2017年12月20日閲覧
  4. ^ 「…100×100の12ビット位置の配列として配置され、それぞれが2桁の10進数を保持します。(各10進数は6ビットを使用して2進数でエンコードされます。)」
  5. ^ Oddur Benediktsson (2009). 「FORTRAN II – アイスランド大学で使用された最初のコンピュータ言語」(PDF) .北欧コンピューティングの歴史 2. IFIP 情報通信技術の進歩. 第303巻. pp.  149– 155. doi :10.1007/978-3-642-03757-3_16. ISBN 978-3-642-03756-6。 2017年12月22日時点のオリジナルよりアーカイブ(PDF) .
  6. ^ ジョン・インパグリアッツォ、ティモ・ヤルヴィ、ペトリ・パジュ(2009年)。北欧コンピューティングの歴史2:第2回IFIP WG 9.7会議。ISBN 978-3642037573
  7. ^ 1960年代後半に設計された、大幅に改造されたハードウェアを使用した10万桁のマシン単体の記述もあります。
  8. ^ 「メインメモリは論理的には20,000個の6ビットワードとして配置されていました。各ワードは4つのBCDデータビット、フラグビット、および奇数パリティチェックビットで構成されていました。これは論理的な配置でしたが、物理的にはメモリは100×100の12ビットフェライトコアワードの配列であり、命令セットにいくつかの癖がありました。すべての命令はメモリの連続する12桁を占有し、2桁のオペコードを1つの12ビット物理ワードで読み取ることができるように、偶数アドレスから開始する必要がありました。」「IBM 1620 モデル1 - Physics @ SMU」
  9. ^ EW Dijkstra アーカイブ:IBM 1620 データ処理システムのレビュー (EWD 37)
  10. ^ 「基本的なプログラミング概念とIBM 1620コンピュータ」(PDF)。2015年7月20日にオリジナル(PDF)からアーカイブ。パンチカードは、機械との通信に最も広く使用されている媒体です
  11. ^ 「小型から中型の科学技術コンピュータに対する同様の需要が、IBM 1620とその後継機であるIBM 1130を生み出した。」ジェームズ・L・ピーターソン、ヴェルナー・ラインボルト (2014). コンピュータ構成とアセンブリ言語プログラミング. ISBN  978-1483268590
  12. ^ 「件名:IBM 1316ディスク・ストレージ・パック上のGOTRAN(シリアル番号K7402)」。2006年2月21日時点のオリジナルよりアーカイブ。 2006年3月3日閲覧
  13. ^ 「/pdf/ibm/1620の索引」。2006年2月11日時点のオリジナルよりアーカイブ2006年4月6日閲覧
  14. ^ 「IBM 1620」。スウォンジー大学 – swansea.ac.uk。2017年12月22日時点のオリジナルからアーカイブ2017年12月19日閲覧。
  15. ^ ab 227-5630-1 IBM 1620 浮動小数点機能 CE マニュアル(PDF)。IBM Corporation。2022年10月10日時点のオリジナルからアーカイブ(PDF) 。
  16. ^ Weik, Martin H. (1961年3月). 「IBM 1620」。ed -thelen.org . 国内電子デジタル計算システムの第3回調査
  17. ^ 「多段階間接参照が使用でき(マシンを無限間接アドレッシングループに陥らせることさえ可能でした)、5桁アドレスの中央3桁(1620 IIの場合)は、7つのインデックスレジスターの1つを選択するように設定されていました。Dan Ryan (2011). コンピュータグラフィックスの歴史. DLR Associatesシリーズ. ISBN 978-1456751159
  18. ^ 「IBM 1620 中央処理装置 モデル1」(PDF) 。28ページ。 2017年10月9日にオリジナル(PDF)からアーカイブ。2017年12月18日閲覧
  19. ^ 「IBM 1620 中央処理装置 モデル2」(PDF) p. 71。 2019年5月25日時点のオリジナル(PDF)からアーカイブ。 2017年12月18日閲覧
  20. ^ ab "IBM 1311". 2003年1月23日。2005年1月21日時点のオリジナルからアーカイブ。
  21. ^ 「…200万文字のストレージ。」
  22. ^ "1963年:5月6日、IBM 1620データ処理システムで使用するためのIBM 1443プリンターがデビュー。" "DPD chronology". 2003年1月23日。2010年8月20日時点のオリジナルからアーカイブ。
  23. ^ "IBM 1443 PRINTER for 1620/1710 Systems" (PDF)。IBM Systems Reference Library。2022年10月10日時点のオリジナルからアーカイブ(PDF) 。
  24. ^ この出版物は、IBM 1443プリンターを、1620データ処理システム(モデル1およびモデル2)、および1710制御システムのオンライン出力装置として説明しています。ファイル番号1620/1710-03。フォームA26-5730-2
  25. ^ 「…200万文字。これは約25,000枚のパンチカード、または磁気テープ1リールの5分の1に相当します。」
  26. ^ 1620 FORTRAN(フォーマット付き)(PDF)。IBM Systems Reference Library。51  56ページ。2009年1月9日時点のオリジナルからアーカイブ(PDF) 。
  27. ^ IBM 1620 FORTRAN IIプログラミング・システム・リファレンス・マニュアル(PDF)。IBM Systems Reference Library。22  28ページ。 2009年1月9日にオリジナルからアーカイブ(PDF) 。
  28. ^ Dan Ryan (2011). コンピュータグラフィックスの歴史:Dlr Associatesシリーズ。ISBN  978-1456751159 ライス大学のプログラマー、ボブ・リチャードソンによって開発されました
  29. ^ ユーザー:Br6cycles3は、2019年2月24日 18:15の編集で、記事中の名前をボブ・リチャードソンからマイク・マッキャンツに変更しようとし、要約に「誤りです。私はボブ・リチャードソンです。プログラマーは実際にはマイク・マッキャンツだったことを知っています。」と書きました。
  30. ^ 「1962年、IBMは当初Cadetと呼ばれていたが、IBM 1620として販売された注目すべき小型マシンの出荷を開始しました。」エドウィン・D・ライリー (2003).コンピュータサイエンスと情報技術のマイルストーン. ISBN 978-1573565219
  31. ^ 5年後でも、高校にIBM 1620があるのは珍しいことでした:「IBM 1620」。
  32. ^ 「IBM 1620(別名CADET)は…『足し算ができず、試すことさえしない』という意味でした。」
  33. ^ ヴァール・N・ハフの息子、ドナルド・N・ハフの個人的な回想
  34. ^ ジャヤント・K・シン、「The Spark」、Icct 2021、インド工科大学カンプール校
  35. ^ Zvonimir Janko, A new finite simple group with abelian Sylow subgroups, Proc. Natl. Acad. Sci. USA 53 (1965) 657-658
  36. ^ 「ITU - Story of Technology」。国際タイポグラフィ連合。1966年
  37. ^ 「Ský - Fyrstu tölvurnar」、www.sky.is。 2021年11月2日にオリジナルからアーカイブ2021年11月2日閲覧。
  38. ^ Spicer, Dag (2005年7~9月)、「IBM 1620修復プロジェクト」(PDF)IEEE Annals of the History of Computing27 (3): 33– 43、doi :10.1109/MAHC.2005.46、S2CID  710051 、 2010年9月2日閲覧。[永久リンク切れ]
  39. ^ 「THRUSHは『究極のコンピュータ』を開発中…」『The Man from UNCLE - The Ultimate Computer Affair (TV Episode)』。IMDb。1965年10月
  40. ^ IBM 1316は、IBM 1620のIBM 1311ディスクドライブ用のリムーバブルディスクパックでした。これは次のように説明しています。「『マン・フロム・UNCLE』の映画は技術的な時代錯誤に満ちている…映画の舞台となった1963年当時は、10ポ​​ンドのIBM 1316のようなディスクパックが利用可能だった。」『マン・フロム・UNCLE』の映画は技術的な時代錯誤に満ちている
  41. ^ Ornstein, Severo (2002). Computing in the Middle Ages: A View from the Trenches 1955-1983 . Lexington, KY: 1st Books. p. 62. ISBN 978-1-4033-1517-5
  • コンピュータ歴史博物館所蔵のIBM 1620データ処理システム(2004年アーカイブ)
  • IBMアーカイブ:IBMアーカイブ展示の1620データ処理システム(アーカイブ)
  • bitsavers.org所蔵のIBM 1620文書
  • IBM 1620 中央処理装置 モデル1 システム・リファレンス・マニュアル(1965年7月)bitsavers.orgより
  • IBM 1620 中央処理装置 モデル2 システム・リファレンス・マニュアル(1965年11月)bitsavers.orgより
  • IBM 1620 モデルII(2007年アーカイブ、ギリシャ語版)テッサロニキ科学センター・テクノロジー博物館所蔵
  • IBM 1620 シミュレーター Java アプレット(v1.0.1a)(IBM 1620 修復プロジェクトの一部)
Retrieved from "https://en.wikipedia.org/w/index.php?title=IBM_1620&oldid=1317511673#Model_I"