IBM System/3 モデル 10 (ミラノ国立科学博物館) | |
| タイプ | ミッドレンジコンピュータ |
|---|---|
| 発売日 | 1969年 |
| 導入価格 | リース料は月額1,000ドル |
| 製造中止 | 1985年 |
| メモリ | 4,096 バイト |
| 前任者 | IBM 1400 シリーズ; IBM System/360ローエンドモデル( 20、25、30 ) |
| 後継 | IBM システム/32、 IBM システム/34 |
| 言語 | IBM RPG II |
IBM System/3は、1969 年に発表され[1]、1985 年まで販売されたIBM ミッドレンジ コンピュータです。ミネソタ州のIBM ロチェスターで、 IBM 1400 シリーズコンピュータやユニット レコード装置をまだ使用していた小規模組織を対象としたローエンド ビジネス コンピュータ[2]として製造されました。IBM が「ミッドレンジ」ラインと呼ぶ製品の最初の製品で、RPG IIプログラミング言語も導入されました。これは、現在のバージョンであるIBM iシリーズや、非常に成功したAS/400を含む製品ラインの最初の祖先です。
歴史
.jpg/500px-IBM_System3_model_10_(1).jpg)
1969年の発売時には月額1,000ドルで利用できました。これはIBM System/360 Model 20 [3]の半額以下でした。これはIBM System/360ファミリーの最小モデルです。
オリジナルの System/3 モデル 10 ユニットの多くはディスクなしで出荷され、同時に導入された 新しい小型の96 列パンチ カードの読み取り、パンチ、印刷、およびソートを行う新しい IBM 5424 多機能カード ユニット (MFCU) のみが搭載されていました。
IBM は次のモデルを提供しました。
- 1969 — IBM 5410、または System/3 モデル 10 が発表 (1970 年に出荷)
- 1970年 — IBM 5406、またはSystem/3 Model 6の導入(ディスク指向システム)[4] [5]
- 1973年 - IBM 5415(System/3 Model 15)が発売
- 1974年 - IBM 5408、またはSystem/3 Model 8が発売
- 1975年 - IBM 5412、またはSystem/3 Model 12が発売された[2]
- 1976年 - IBM 5404(System/3 Model 4)が発売
System/3と後継モデルのSystem/32、System/34、System/36、System/38は、IBMの用語では一般的に「ミッドレンジシステム」[6]と呼ばれており、 IBMのメインフレームとは対照的です。
ハードウェア



IBM System/3は、当初以下の要素から構成されるコンピュータシステムとして発表されました。 [7]
- IBM 5410 モデル 10 中央処理装置
- IBM 5424 多機能カードユニット (MFCU)
- IBM 5203 ライン プリンター
- IBM 5444 ディスク ストレージ (オプション)
- IBM 5471 プリンター キーボード
- IBM 5475 データ入力キーボード
- IBM 5496 データ レコーダー、印刷および検証機能を備えたキーパンチ マシン
- IBM 5486 カードソーター
メモリ
エントリーモデルには、わずか 4K (4096) バイトの磁気コアメモリが搭載されていました。
直接アクセスストレージ
System/3は大容量ストレージとしてIBM 5444シングルプラッタディスク[ 8]を使用していた。これは大きなピザほどの大きさで、当初は各プラッタに2.5MBのデータを保存できた。ストレージの標準的な構成は1台または2台の固定ディスクで、それぞれが別々の引き出しに収められており、通常はオペレーティングシステムとユーザーが開発したプログラムを保存していた。さらに、各固定ディスクには取り外し可能なカートリッジディスクを接続することもできた。これには通常、給与計算などのさまざまなアプリケーションに関連付けられたデータファイルが含まれており、ユーザーはそれらを複数所有することが多かった。そのため、ローエンドのシステムは最大10MBのオンラインストレージ(固定2台、取り外し可能2台)をサポートできたが、実際にはこれは非常に高価で一般的ではなかった。
System/3 は IBM 5445 ディスク ドライブ (20 MB) も利用可能で、後にモデル 15 では「ウィンチェスター」スタイルの 3340 ドライブが使用可能になりました。小型モデルでは、5445 ドライブを接続できる一方で、オペレーティング システムやその他のプログラミング ライブラリ用に 5444 を保持する必要がありましたが、この制限は elimn8 というソフトウェアによって変更され、5445 ドライブで 5444 を完全に置き換えることが可能になりました。Memorex などの他の企業も、System/3 用の互換性のある 5445 ドライブを製造しました。
多機能カードユニット
最も一般的なパンチカード装置は、IBM 5424多機能カード装置(MFCU)で、新しい小型の96列パンチカードの読み取り、パンチ、印刷、およびソートを実行しました。従来の80列IBMカードの長方形のパンチ穴の代わりに、新しいカードには紙テープのような小さな(1 mm)円形の穴がありました。データは、6ビットの2進化10進コード(32文字×3行)または8ビットのEBCDIC(上部の2つの追加穴)で保存されました。新しいカードには、32文字×4行で128文字を印刷するスペースがありました。サイズは古い80列カードの約1/3でしたが、テキストデータの保存可能数は20%増加しました。カードが小さく軽量になったため、より高速な機器で処理でき、詰まりも少なくなりました。
80 列のカードに対応するRPQ (特別注文機器)として、読み取り、パンチ、解釈、ソートが可能な IBM 2560 多機能カード マシン (MFCM) と、読み取りとパンチのみの IBM 1442がありました。
磁気テープ
標準の IBM 9 トラック テープを読み書きできる外付けテープ ドライブを購入すれば、オフライン ストレージも利用できるようになります。
System/3 Mod 10 にはオプションで IBM 3410 磁気テープ サブシステムが含まれていました。
オペレータコンソール機能
System/3 オペレータ コンソール機能 (OCF)は、コンピュータにインターフェイスされた改良型IBM Selectric タイプライター、または特殊用途のIBM 3270ディスプレイで構成されていました。OCF には、パーティション (P1 または P2) を含む実行中のプロセスやタスクを「キャンセル」する機能がありました。モデル 15 または通信制御プログラム (CCP) を実行しているシステムを除き、システムは 2 つのプログラムしか同時に実行できませんでした。CCP は、端末のオンライン ネットワークをサポートできるシステム制御プログラミング機能でした。
プリンター

メインシステムには小型のプリンター(IBM 5203)が接続されていました。5203は交換可能なカートリッジを備えたチェーンプリンターでした。モデルに応じて、1分間に100行または200行で動作できました。[9]その後、IBMは、もともとIBM 1401コンピューター用に構築された既存のIBM 1403プリンターラインの複数のモデルを提供しました。
フロッピーディスク
IBM 3740データ エントリ システムの登場により、System/3 モデル 10 には LCA (ローカル通信アダプタ) と呼ばれる機能が追加され、IBM 3741 ステーションをシステムに「接続」してデータの送受信が可能になりました。モデル 8 などの System/3 の後継モデルはカードレスで、8 インチの 3740 スタイルのフロッピー ディスクを使用しました。
命令セット
命令セットは、メイン メモリの限られた可用性と RPG II プログラミング言語という、製品の 2 つの重要な側面に合わせて最適化されました。オリジナルの S/3 (モデル 10、その後 6、8、12) には 29 個の命令があり、すべて 3 ~ 6 バイト (24 ~ 48 ビット) を占めていました。
最初の 4 ビットは多くの情報を伝えます。「1111」は、これがコマンドと呼ばれるオペランドのない命令であることを意味します。たとえば、Start I/O (I/O op は、以前にロードされた I/O レジスタによって定義されます)。「11xx」と「xx11」は、分岐などの 1 オペランド命令を意味します。xx が 00 の場合、オペランドは完全な 16 ビット アドレスによってアドレス指定されます。xx=01 または 10 は、それぞれインデックス レジスタ 1 または 2 を使用して、ベース ディスプレイスメント アドレッシングが使用されたことを意味します。ベース アドレスは、以前は 2 つのインデックス レジスタの 1 つにロードされ、命令には最大 256 バイト (8 ビットのアドレス指定) のディスプレイスメントが含まれていました。
この最初のハーフバイトの他のパターンは、2 つのオペランド命令を示しています。「0000」は、両方のオペランドが直接 16 ビット アドレスでアドレス指定されていることを意味します。「0100」: オペランド 1 は reg 1 をベースとして使用し、オペランド 2 は直接アドレス指定を使用します。「0110」: オペランド 1 は reg 1 をベースとして使用し、オペランド 2 は reg 2 を使用します。以下同様です。
最初のバイトの残りの 4 ビットは、命令をさらに定義します。この構造は、合計で最大 64 の操作が可能であることを意味しています。16 個のコマンド (製品範囲全体で 5 個を超えることはありません)、11xx で始まる 1 オペランド命令が 16 個、xx11 で始まる 1 オペランド命令が 16 個、2 オペランド命令が 16 個です。
すでに述べた 2 つのインデックス レジスタ (1 と 2、または 2 進数の 01 と 10 と呼ばれます) の他に、他のレジスタもありました。「レジスタ 4」(0100) は、現在の命令を指す命令アドレス レジスタ (IAR) でした。「レジスタ 8」(1000) は、特定の命令によって設定されるアドレス リコール レジスタ (ARR) でした。これらのレジスタの中には、分岐操作の直後のバイトを指すために使用する条件分岐 (ニーモニック BC) がありました。IBM メインフレームの動作に慣れているプログラマにとって、これは S/3 分岐操作が条件付き BALR (分岐およびリンク レジスタ) に似ていることを意味しました。これは、サブルーチンに分岐し、処理が完了した後に復帰するときに非常に便利です。最後に、「レジスタ 16」(00010000) はプログラム ステータス レジスタ (PSR) で、比較命令の結果などを保持します。レジスタは、算術演算ではなく、アドレス指定とプログラム ステータスにのみ使用されることに注意してください。
29 個の命令のうち、提供されている算術命令は、2 進加算/減算 (アドレスの操作を支援するために提供) と 10 進加算/減算です。乗算と除算は標準ハードウェアでは提供されておらず、ソフトウェア ルーチンで処理する必要がありました。浮動小数点はまったく提供されていませんでした。これは、後の、一般的にもっと洗練された Systems/34 および 36 でも当てはまりました。
上記のすべては、System/3 モデル 15、Systems/34、Systems/36 ではさらに複雑になりました。これらのシステムはすべて、依然として 16 ビットのアドレス指定を使用していましたが、64K をはるかに超えるメイン ストレージ (最大 512K、理論上はそれ以上) をサポートできるため、アドレス変換を使用して 64K アドレス空間を別の 64K アドレス空間にスワップしました。アドレス変換レジスタは、使用中の実際のアドレス空間を定義するように設定され、その内容は、プログラムが実際のアドレスを生成するために使用する 16 ビット アドレスと連結されます。これらの「ATR」は特権的で、オペレーティング システムのみが使用できます。
オリジナルの S/3 モデル 10 (および後のモデル 12) には、デュアル プログラム機能と呼ばれる、オプションの粗雑なマルチプログラミング形式がありました。これにより、メイン メモリのアドレス指定はなくなりましたが、1 つの「プログラム レベル」から別の「プログラム レベル」に切り替わる 2 セットのレジスタと命令が提供されました。標準の I/O 命令も、I/O が開始されると切り替わるように変更されました。
これまで、ここでは命令の最初のバイトについてのみ説明してきました。次の ("Q") バイトは、通常、修飾子であり、文字の移動オペレーションで移動するバイト数や分岐でテストする条件を指定します。いくつかの命令では、このバイトを 1 バイトの "即値" オペランドに使用しました。残りのバイトは、オペランドの変位またはアドレス、または一部のコマンドの詳細用です。
例: 単純なコマンド、条件付きジャンプ、主に短いコード ブロックをジャンプするのに適した特殊なタイプの条件付き分岐 (前方のみ、最大 256 バイト) : オペレーション コード バイト = F2 (これは 16 進数で、16 進数 F は 2 進数の 1111、16 進数 2 (0010) はオペレーションを定義します)。Q バイト = 00000001 は、条件レジスタに "等しい" ビットがオンになっている場合に "ジャンプ" することを指定します。オペランド = 00011000: 条件が満たされると、24 バイト前方にジャンプします。
インジケータは、プログラム フローを制御するために使用されるバイナリ スイッチです。プログラマーは、100 を超えるインジケータを使用できました。上で説明した命令形式を使用すると、インジケータ指向の操作の多くを 3 バイトに収めることができます。たとえば、RPG の 1 行でインジケータの「オン」をテストするとします。「ビット オンのテスト」操作に 3 バイト、次に前述のようにジャンプに 3 バイトで、RPG コンパイラーに役立ちます。あちこちで奇数バイトを節約するのは、64K しか使用できないときには便利です。また、S/3 自体では、オペレーティング システムを含める必要がありました (モデル 10 では「通信制御プログラム」CCP の導入により約 20K に増加しました)。
操作制御言語
オペレーション制御言語 (OCL) と呼ばれる単純なジョブ制御言語は、表面的にはジョブ制御言語(JCL) に似ていました。
オペレータ制御コマンド
システムとの通信にはオペレータ制御コマンド (OCC) が使用されました。
言語
System/3はRPG II、Fortran IV、COBOL、アセンブラをサポートしていました。[10]
RPG II コンパイラ
System/3には、 RPG IIコンパイラが標準装備されていました。カードのみのシステムでは、RPG II コンパイラは 2 フェーズで提供されていました。最初のフェーズは MFCU の 1 つの入力ホッパーから起動され、ソースはコンパイラの後に読み込まれます。中間フォームはカードにパンチされ、コンパイラの 2 番目のフェーズによって読み込まれます。次に、実行可能プログラム デッキがパンチされます。この実行可能ファイルは、必要な処理を実行するために起動 (「IPL」、つまり「Initial Program Load」) されます。このプロセスは、かなり大きなサイズのプログラムでは 1 時間以上かかる場合があります。
System/3 の問題
System/3 には、いったん実行を開始したプロセスを停止する機能はありませんでした。たとえば、最初のページのエラーが原因でコンパイルが失敗した場合、ユーザーは、時には膨大なコンパイル リストがすべて印刷されるまで待たなければなりませんでした。ユーザーは、プリンターの下に手を伸ばして用紙排出シュートを揺らす方法を習得しました。これにより、マシンが停止し、「P3」(プリンター エラー) が表示されます。その後、ユーザーは応答コード FF をダイヤルして実行を中止できます。停止する別の方法は、コンソールの緑の「開始」ボタンを押してシステムを再起動することです。
エラー コードは、2 桁の7 セグメント ディスプレイ(最初に登場したものの 1 つで、LED ではなくランプで構築されています) に表示されました。エラー コードの範囲には、10 進数と 16 進数 (7 セグメント ディスプレイで一般的に使用されている) だけでなく、他の限られた文字のセットも含まれていました。たとえば、「P3」はいくつかのプリンタ エラー コードの 1 つでした。System/3 に付属していた分厚いマニュアルは、オペレータがエラー コードを解釈し、回復手順を提案するのに役立ちました。System/3 には警告音が鳴るデバイスがないため、印刷、カードの読み取り、またはその他の明らかなアクティビティを行っていないプログラムは停止することがあり、オペレータはステータス ディスプレイを偶然見ない限りそれに気付きません。デュアル プログラム機能を備えたモデルには、2 つの独立したステータス ディスプレイがありました。
大半の/多くのユーザーはコンソールを購入しませんでした。代わりに、OCL コードは完全に抑制されるか、5203 プリンターで印刷されました。IBM が提供したコンソールは基本的に電動タイプライターであったため、OCL コマンドを印刷するとプログラムの実行速度が大幅に低下しました。
コンソールからパンチ カードを入力するというコンセプトは、マーケティング戦略でした。実際には、System/3 はコンピューターとキーパンチを同時に使用することはできなかったため、キーパンチとして使用している場合はコンピューティングは不可能でした。1969 年 7 月に発表されたオリジナルの IBM System/3 にはキーパンチ コンソールが搭載されていたため、月額 2,000 ドル以下でコンピューターを提供できました。実際には、これは機能せず、ユーザーはほぼ例外なくスタンドアロンのキーパンチ/検証機を購入しました。
その後、いくつかの OEM 企業が 96 列のキーパンチ、ソーター、コレーターを製造しました。これにより、MFCU の「重労働」が軽減され、System/3 は実際のコンピューティング機能に使用できるようになりました。
経験豊富な System/3 ユーザーのほとんどは、システムのボトルネックであったため、MFCU の使用を可能な限り最小限に抑えていました。
エミュレーション
その後のSystem/32、IBM System/34、IBM System/36はすべて、エミュレーションを通じて System/3 アプリケーションを実行できるようになりました。
System/32 は、16 ビットのマイクロコード ワードを持つ垂直マイクロコードプロセッサを使用しており、System/3 の命令セットをマイクロコードでかなり低速にエミュレートしていました。System/34 と System/36 はどちらも 2 つのプロセッサを持っていました。1 つは System/32 と同様にほとんどのスーパーバイザと入出力操作を処理する制御ストレージ プロセッサ (CSP)、もう 1 つはメイン ストレージ プロセッサ (MSP) です。後者は System/3 モデル 15 プロセッサの再実装であり、実質的に System/3 の「ハードウェア エミュレーション」を提供していました。
参照
参考文献
- ^ オリジナルシステム/3 製品発表
- ^ ab 「IBMが新型コンピュータ、モデル12を発表」ニューヨーク・タイムズ、1975年7月8日。
- ^ 「IBM system/3」。IBMアーカイブ。IBM。2003年1月23日。 2019年3月26日閲覧。
- ^ G520-2370-0 IBM System/3 モデル6。 1970年10月。
- ^ ウィリアム・D・スミス (1970 年 10 月 29 日)。「IBM が 2 台の新型コンピュータを発表」。ニューヨーク・タイムズ。
- ^ (業界の他の人たちならミニコンピュータと言うでしょう)
- ^ IBM フィールドエンジニアリング発表: IBM System/3
- ^ System/3、IBMエンジニアリング発表
- ^ Pugh, Emerson (1991). IBM の 360 および初期の 370 システム. MIT プレス. p. 449.
- ^ G360-0002-0 IBM System/3 モデル8。IBM。1974年9月。
さらに読む
- 「システムについてあなたがいつも知りたかったことすべて/3 でも誰も教えてくれなかった」チャーリー・マソグリア著
- 「プログラミング言語としての System/3 ディスクソート」 Charlie Massoglia 著
- 「System/3 プログラミング RPG II」、ソロモン・マーティン・バーナード著、1972 年、ISBN 0-13-881698-0
- 「コンピューティング入門: IBM System/3」ジェローム T. マレー著、1971 年、ISBN 0-04-510037-3
- 「パンチカード データ処理と System/3 モデル 10 を備えたビジネス システム」、FR Crawford 著、1973 年、ISBN 0-13-107698-1
外部リンク
- 「IBM System/3」。IBM アーカイブ。2003 年 1 月 23 日。2007 年 10 月 25 日時点のオリジナルよりアーカイブ。2006 年 5 月 29 日閲覧。
- 1969 年頃のオリジナル ビンテージ フィルム コンピュータ歴史アーカイブ プロジェクト
- CoreStore で修復中の System/3
- IBM System/3 ウェブサイト
- IBM System/3 モデル 8、10、12、および 15 コンポーネント リファレンス マニュアル
