IBM 1620

IBM 1620
IBM 1620 モデル I、レベル H
メーカーIBM
タイプ科学ミニコンピュータ
発売日1959
出荷ユニット数約2000
CPUトランジスタ化、SMS カード搭載、可変 12~72 ビット ワード @ 50 kHz (20 us)
メモリ20,000~60,000桁(コアメモリ
2kW
重さ550 kg (1210 ポンド)
前任者IBM 650 ; IBM 610 ; IBM 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]

固定長の純粋なバイナリとは対照的に、可変長の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 桁のアドレスの中央の 3 桁 ( 1620 II上) は、7 つのインデックス レジスタの 1 つを選択するように設定されていました

有効な 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 桁から他の目的に使用されていないメモリ全体までの任意のサイズになります。

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

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

*ふぅっ

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-11追加 
無効 Ж ❚ 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 英数字を書く 
 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 停止 
 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
 X4 1 X4 111-5
11-1-4
11-5 4 14 1BNG支店番号グループマークオプションの特別な機能。
O
-6
 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  
質問
-8
質問質問質問 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)。
あなたあなたあなたあなた0C 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)。
はいはいはいはい0C80C80-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)。
無効 Ж ❚ 811マスクに関するBMK支部オプションの特別機能(モデルII)。
無効 Ж ❚ 81ORF ORからフィールドへオプションの特別機能(モデルII)。
無効 Ж ❚ 8121ANDF ANDからフィールドへオプションの特別機能(モデル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 
-555 X4 1 X4 111-5
11-1-4
11-5 F 4 1 
-666 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 
-888質問質問 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 をパンチします。
終了(停止、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フラグ付きグループマーク
注意@@@C84C844-8C 84数値の空白
フラグNB@@* X84 X8411-4-8 F84フラグ付き数値空白

無効な文字

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

建築上の難しさ

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

  • データはメモリの末尾にコピーされ、WN命令の代わりにDN命令でそのままパンチされる。
  • テープは通常、オフラインで複製されていました。

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

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

ソフトウェア

IBM 1620 SPS カード

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

  • GOTRAN – FORTRANの簡略化されたインタープリタ版で、「ロード&ゴー」操作用[12]
  • モニター I およびモニター 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 :数値TYライターへの書き込み: 各メモリ位置には、000000 ~ 001001 の範囲の 6 ビット文字が含まれています。この命令により、各メモリ位置は「0」~「9」の文字の 1 つとしてレンダリングされます。
  • WATY :英数字のTYライターに書き込みます。メモリ位置の各ペアには表示可能な 64 文字の 1 つとしてタイプライターに表示される 2 つの 6 ビット数字が含まれています。
  • RNTY :数値読み取りTY pewriter: タイプライターキーボードから数値を読み取る
  • RATY :英数字の読み取りTYライター:キーボードから文字を読み取り、2桁の英数字として保存します
  • TBTY :タブを手動で設定する必要があったため、この命令 あまり使用されませんでした。
  • RCTY :リターンキャリッジTYタイプライター: タイプライターに、現在 CR/LF シーケンスと呼ばれる処理を実行させました。

入力と出力を簡素化するために、次の 2 つの命令がありました。

  • TNS :数値送信トリップ: 2桁の英数字表現「0」から「9」を1桁の表現に変換ます
  • TNF :数値フィルを送信: 1桁の数字表現を「0」から「9」を表す2桁の英数字シーケンスに変換します

モデルIIでは改良されたSelectricタイプライターが使用され、15.5 cps で入力可能となり、55% の向上が見られました。

周辺機器

IBM 1627ドラムプロッタ

利用可能な周辺機器は次のとおりです。

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

プログラムの標準的な「出力」機構はパンチカードであり、これはタイプライターよりも高速でした。パンチカードはIBM 407機械式計算機に送られ、2枚のカードに印刷するようにプログラムすることで、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 年代のコンソールの最も重要なアイテムは、 「挿入」「解放」というラベルの付いた一対のボタンと、コンソール タイプライターでした。

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

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

コンソール上で次に重要な項目は、[Start][Stop-SIE][Instant Stop-SCE]というラベルの付いたボタンでした。

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

プログラムのデバッグ用に、 [Save & Display MAR]というラベルの付いたボタンがありました

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

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

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

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

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

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

IBM 1620 で紙テープを持っているユーザーと、その背景にある IBM 1621 紙テープ リーダー。1961 年、ニューヨーク州ホワイト プレーンズの IBM 本社。

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

両ユニット:

  • 8チャンネルの紙テープを扱える
  • 正確性を確保するために自己チェックを実施した
  • 数値とアルファベットの両方の情報を単一文字コードで収容します。

1621 テープ リーダーと 1624 テープ パンチには、次のコントロールが含まれていました。

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

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

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

  • 1分間に最大250枚のカードを読み取ります
  • 1分間に最大125枚のカードをパンチする。[1]

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

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

  • パンチ オフ/パンチ オン – このロッカーはパンチ メカニズムのオン/オフを切り替えます。
  • ノーストップ選択/ストップ選択 - パンチミスしたカード(通常のパンチスタッカーではなくパンチエラー選択スタッカーに投入されたカード)によってパンチが続行されるか、チェック停止が発生するかを判断する場合に、このロッカーを選択します。
  • 非プロセス ランアウト - パンチ ホッパーが空のこのロッカーは、パンチ メカニズムから残りのカードを「ランアウト」します。

ボタン:

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

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

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

ディスクドライブ

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

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

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

一般的な

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

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

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

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

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

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

ハードウェア実装

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

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

これらの回路は、IBMがSMSカード(Standard Modular System)と呼んだ、2.5×4.5インチ(64×114ミリメートル)の片面紙エポキシプリント基板に実装された個々のディスクリート部​​品で構成されていました。基板には16ピンの金メッキエッジコネクタが付いていました。1枚のカードに搭載されたロジックの量は、7400シリーズSSI、あるいはよりシンプルなMSIパッケージ1つ分と同程度でした(例えば、3~5個のロジックゲート、あるいは数個のフリップフロップ)。

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

  • 「ゲート A」 – 「ゲート B」の後にある、アクセスのために後方に開く前方ヒンジゲート。
  • 「ゲート B」 – アクセスのために後方に開く後部ヒンジゲート。
  • 「ゲートC」 – アクセスするには背面にスライド式で開きます。コンソールのタイプライターインターフェース。主にリレーロジックを使用しています。
  • 「ゲートD」 – スライド式でアクセス可能。標準I/Oインターフェース。

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

  • メインメモリ
    • 同時電流XYラインアドレス指定
      • 20,000桁、40,000桁、または60,000桁
    • 12ビットの偶数・奇数桁のペア
    • 各モジュールに12個の1ビットプレーン、1~3個のモジュール
      • 1機あたり10,000コア
  • メモリアドレスレジスタストレージ(MARS)メモリ
    • ワードラインアドレス指定
      • 16ワード、基本構成では最低8ワードを使用
      • 単一ワードの読み取り、複数ワードのクリア/書き込み
    • 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 A dd, Do oesn't Even T ry」の略ではないかと示唆した。これは専用の加算回路ではなく、メモリ内の加算表を使用していることを意味する(また、「SDTRL」は実際には「S old Down T he 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」に統合されました。
        • これは、Model 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を使用してヤンコ群J1の位数を計算しました。[35]

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

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

映画やテレビでの使用

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

逸話

士官候補生

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

マシンのコード名に関する 3 つの既知の解釈の説明については、開発履歴を参照してください。

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

参考文献

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

参照

参考文献

  1. ^ abcdefgh “1620 Data Processing System”. 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. ^ 「... 100x100 の配列として配置され、各 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-62017年12月22日時点のオリジナルよりアーカイブ(PDF)
  6. ^ ジョン・インパグリアッツォ、ティモ・ヤルヴィ、ペトリ・パジュ(2009年)。北欧コンピューティングの歴史2:第2回IFIP WG 9.7会議。ISBN 978-3642037573
  7. ^ 1960 年代後半に大幅に改造されたハードウェアを使用して設計された 100,000 桁のマシン 1 台についての記述もあります。
  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. ^ “Subject: GOTRAN ON THE IBM 1316 DISK STORAGE PACK (Serial No. K7402)”. 2006年2月21日時点のオリジナルよりアーカイブ。 2006年3月3日閲覧
  13. ^ “Index of /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つのインデックスレジスタのいずれかを選択するように設定されていた。Dan Ryan(2011年)。コンピュータグラフィックスの歴史。DLRアソシエイツシリーズ。ISBN 978-1456751159
  18. ^ 「IBM 1620 中央処理装置 モデル1」(PDF) p. 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年表』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 枚のパンチカード、または磁気テープ リールの 5 分の 1 に相当します。」
  26. ^ 1620 FORTRAN (FORMAT付き) (PDF) . IBM Systems Reference Library. pp.  51– 56. 2009年1月9日時点のオリジナルよりアーカイブ(PDF) 。
  27. ^ IBM 1620 FORTRAN IIプログラミング・システム・リファレンス・マニュアル(PDF)。IBM Systems Reference Library。pp.  22– 28。 2009年1月9日時点のオリジナルからアーカイブ(PDF) 。
  28. ^ ダン・ライアン (2011). コンピュータグラフィックスの歴史: Dlr Associates シリーズ. ISBN 978-1456751159ライス大学のプログラマー、ボブ・リチャードソンによって開発され
  29. ^ ユーザー:Br6cycles3 は、これまでで最初で唯一の編集 (2019 年 2 月 24 日 18:15) で、記事内の名前をBob RichardsonからMike McCantsに変更しようとし、要約に次のように書きました。「誤りの修正: 私は Bob Richardson であり、プログラマーが実際には Mike McCants であったことを知っています。」
  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. ^ Jayant K Singh、The Spark、Icct 2021、IIT Kanpur
  35. ^ ズヴォニミール・ヤンコ「アーベル的シロー部分群を持つ新しい有限単純群」Proc. Natl. Acad. Sci. USA 53 (1965) 657-658
  36. ^ 「ITU - テクノロジーの物語」国際印刷連合. 1966年.
  37. ^ “Ský - Fyrstu tölvurnar”. www.sky.です。 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 ディスク ドライブ用の取り外し可能なディスク パックでした。これは、次のように説明しています。「『The Man from UNCLE』の映画には、技術的な時代錯誤が満載です...映画の舞台となった 1963 年当時は、10 ポンドの IBM 1316 のようなディスク パックが販売されていました。」『The Man from UNCLE』の映画には、技術的な時代錯誤が満載です。
  41. ^ オーンスタイン、セベロ(2002年)『中世のコンピューティング:塹壕からの視点 1955-1983』レキシントン、ケンタッキー州:ファーストブックス、p.62、ISBN 978-1-4033-1517-5
  • コンピュータ歴史博物館所蔵のIBM 1620データ処理システム(2004年アーカイブ)
  • IBM アーカイブ: 1620 データ処理システム (アーカイブ) IBM アーカイブ展示より
  • 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_II"