IBM 1401
コンピュータ歴史博物館の IBM 1401 | |
| デザイナー | IBM |
|---|---|
| ビット | 6ビット+ワードマークとパリティ |
| 紹介された | 1959 |
| デザイン | CISC |
| タイプ | メモリ-メモリ |
| エンコーディング | 変数 |
| 分岐 | 修飾文字付き分岐命令 |
| エンディアン | ビッグエンディアン |
| レジスター | |
| 3: 命令アドレスレジスタ(IAR)、命令レジスタ(IR)、Bレジスタ | |
IBM 1401は、1959年10月5日にIBMが発表した可変長10進コンピュータである。大成功を収めたIBM 1400シリーズの最初の製品であり、パンチカードに格納されたデータを処理するユニットレコード機器の置き換えや、大型コンピュータの周辺サービスの提供を目的としていた。[ 1 ] 1401は、その大衆受けの良さから、IBMによってコンピュータ業界のフォード モデルTとみなされている。 [ 2 ] 12,000台以上が製造され、新技術に置き換えられた後、多くがリースまたは再販された。1401は1971年2月8日に販売終了となった。
歴史

1401プロジェクトはIBMの「ワールドワイド・アカウンティング・マシン」(WWAM)というプロジェクトから発展したもので、これはBull Gamma 3の成功に対する反応であった。[ 3 ]
1401はIBMパンチカード装置と連携した独立したシステムとして使用された。また、IBM 700または7000シリーズシステムの補助装置としても運用された。[ 4 ]
1401構成の月額レンタル料金は2,500ドル(現在の価値で約27,000ドル)から始まりました。[ 5 ]需要は予想を上回りました。
「IBMは、最初の5週間で5,200件もの注文を受けたことに、嬉しい驚き(あるいはショック)を覚えた。これは、マシンの寿命全体を通しての予想を上回る数だった!」[ 6 ] 1961年後半までに、米国に設置された2,000台は、全メーカーの電子式プログラム格納型コンピュータの約4分の1を占めた。1401の設置台数は、1960年代半ばに1万台を超えた。「全体として、1960年代半ばまでに、世界中のコンピュータシステムのほぼ半分が1401型システムだった。」[ 6 ] このシステムは1971年2月まで販売された。[ 7 ]
1401 は中小企業の主要なデータ処理マシンとしてよく使われていましたが、メインフレーム コンピュータのオフライン周辺機器コントローラとしても頻繁に使われていました。このようなシステムでは、たとえばIBM 7090と共に、メインフレーム コンピュータは入出力に磁気テープだけを使用していました。低速の周辺機器 ( IBM 1402カード読み取りパンチなど) からテープへの入力データの転送や、テープからカード パンチ、IBM 1403プリンタ、またはその他の周辺機器への出力データの転送は、1401 によって行われました。これにより、メインフレームのスループットは、カード リーダーやプリンタの速度によって制限されませんでした (詳細については、「スプーリング」を参照してください)。後のシステム (NASA など) では、直接結合システム (DCS) 内の IBM 7094 のフロントエンド周辺機器コントローラとして 1401 が使用されました。
IBM 内部の人物、特に1401 の導入を担当していた幹部のJohn Haanstra は、進化するニーズに対応するため、より大型のモデル ( IBM 1410など) での継続を支持していましたが、1964 年にSystem/360にリソースを集中するという上層部の決定により、これらの取り組みは突然終了しました。
IBMは、Honeywell 200 [ 8 ] [ 9 ]と、System/360がSystem/1401の設計と互換性がないという 競争上の脅威に直面していました。IBMは、 ROM形式のマイクロコード・エミュレーションの先駆者となり、一部のSystem/360モデルでSystem/1401のプログラムを実行できるようにしました。[ 10 ]

IBM 1401はその人気と大量生産により、シンガポール(1963年、中央積立基金庁向け)[ 11 ]や韓国(1967年、経済計画局向け)[ 12 ]など、様々な国で導入された最初の電子メインフレーム・コンピュータとみなされることが多かった。[13 ] 1970年代には、IBMはインドとパキスタンに多数の1401を設置し、1980年代まで使用されていた。
カリフォルニア州マウンテンビューのコンピュータ歴史博物館では、2台の1401システムが復旧され、稼働可能な状態になっている。[ 14 ] [ 15 ]
建築

1401の各英数字は、B、A、8、4、2、1と呼ばれる6つのビットでエンコードされています。B 、Aビットはゾーンビット、8、4、2、1ビットは数値ビットと呼ばれ、これらの用語はIBMの80桁パンチカードに由来しています。
- 1から9までの数字の場合、ビットBとAはゼロで、数字BCDはビット8、4、2、1にエンコードされます。数字0はビット8、2にエンコードされます。
- アルファベット文字のビット設定は、IBM 80桁パンチカード文字コードのゾーンおよび数字パンチから取得されます。B ,Aは12、Bは11、Aは0から取得されます。ビット8,4,2,1の設定は、1から9までのパンチのBCDエンコードから取得されます。したがって、パンチカード文字コードにおける文字A, 12,1は、B,A,1としてエンコードされます。
- 2 桁以上のパンチを持つパンチ カード文字のエンコーディングについては、文字およびオペ コードの表を参照してください。
IBMは1401の文字コードをBCD(「2進化10進数」)と呼んでいたが、この用語は10進数のエンコードのみを説明している。[ 16 ] 1401の英数字照合シーケンスはパンチカードの照合シーケンスと互換性がある。
各メモリ位置には、奇数パリティチェックを表すCビットとワードマークを表すMビットが2つ関連付けられています。Mビットはメモリ内には存在しますが、パンチカードには存在しません。そのため、特別な機械語命令を用いて設定する必要があります。メモリを印刷する場合、通常は文字に下線が引かれて表示されます。Cビットは自動的に計算されますが、パンチカードにも存在しません。
各メモリ位置には次のビットがあります。
CBA 8 4 2 1 M
1401には、1,400、2,000、4,000、8,000、12,000、16,000文字の6種類のメモリ構成が用意されていた。 [ a ]各文字はアドレス指定可能で、アドレスの範囲は0から15999である。ごく少数の1401は、特別な要望により32,000文字まで拡張された。[ 17 ]
一部の操作では特定のメモリ位置が使用されます(これらの位置は予約されておらず、他の目的に使用できます)。 カード読み取りは、カードから取得した80列のデータをメモリ位置001~080に格納します。インデックスレジスタ1、2、3は、それぞれメモリ位置087~089、092~094、097~099にあります。カードパンチは、メモリ位置101~180の内容をカードにパンチします。行書き込みは、メモリ位置201~332の内容を印刷します。
1401の命令フォーマットは
オペコード [AまたはIまたはユニットアドレス [Bアドレス]] [修飾子] ワードマーク
オペコードは1文字です。メモリアドレス(分岐先を示す「I」、データを示す「A」と「B」)とユニットアドレスは3文字です。オペコード修飾子は1文字です。命令長は1、2、4、5、7、または8文字です。ほとんどの命令の後にはワードマークが必要です(通常、ワードマークと次の命令のオペコードが一致するため、この要件は満たされます)。
操作のリストについては、 文字コードとオペコードを参照してください。
命令内の3文字のメモリアドレスは、5桁のメモリアドレスをエンコードしたものです。5桁のアドレスの下位3桁(000~999)は、3文字の数値ビットによって指定されます。上位文字のゾーンビットは、Aが1000、Bが2000、BとAを合わせて3000という増分値を指定し、4,000のメモリロケーションをアドレス指定できます。下位文字のゾーンビットは、4000、8000、または12000の増分値を指定し、16,000のメモリロケーション(IBM 1406ストレージユニットを使用)をアドレス指定します。[ b ] 例えば、3文字のアドレス「I99」は、メモリロケーション3000 + 999、つまり3999への参照です。
3 文字のメモリ アドレスの中央の文字のゾーン ビットは、多くのオプション機能の 1 つである 3 つのインデックス レジスタの 1 つを指定できます。
AアドレスとBアドレスで参照されるオペランドは、単一のメモリ位置、可変長フィールド、または可変長レコードです。可変長フィールドは下位(最上位アドレス)位置でアドレス指定され、その長さは上位(最下位アドレス)位置に設定されたワードマークによって定義されます。加算などの演算を実行する場合、プロセッサは2つのフィールドの下位位置から演算を開始し、上位フィールドへと順に演算を進めます。これは、人が鉛筆と紙を使って加算を行うのと同じです。
このようなフィールドの長さを制限するのは、使用可能なメモリだけです。 可変長フィールドに適用される命令には、加算、減算、乗算、除算、比較、文字を A または B ワード マークに移動、文字を移動、および編集があります。 1 つ以上の隣接する可変長フィールドで、可変長レコードを構成できます。 可変長レコードは、その上位位置でアドレス指定され、その長さは下位位置にあるワードマーク付きのグループ マーク文字またはレコード マーク文字で定義されます。文字レコードまたはグループ マークの移動命令を使用して、レコードのブロックを組み立てることができます。 磁気テープに書き込まれる可変長レコードまたはレコードのブロックは、その上位位置でアドレス指定され、その長さは下位位置の直後に続くワード マーク付きのグループ マーク文字で定義されます。
隣接するフィールドに対する一連の演算は、前の演算でアドレスレジスタに残されたアドレスを用いて「連鎖」させることができます。例えば、隣接するデータフィールドの加算はA 700,850、 、A 695,845、と記述できます。連鎖により、これは、、A 690,840と記述でき、2番目と3番目の命令からデータアドレスを省略できます。[ 18 ]A 700,850AA
IBM 1401G
IBM 1401Gは6つのモデルで販売されました(G1とG11:1,400の記憶位置、G2とG12:2,000、G3とG13:4,000)。 [ 19 ] 1401と1401Gの違いの1つは、リーダーパンチの制御方法です。[ 20 ]
起動とサンプルプログラム
1402 カード読み取りパンチのLOADボタンが押されると、カードがメモリ位置 001 ~ 080 に読み込まれ、実行可能な命令であることを示すワード マークが位置 001 に設定され、位置 002 ~ 080 のワード マーク (ある場合) がクリアされ、実行は位置 001 の命令から開始されます。これは常に、後続の 2 つのワード (命令) にワード マークを設定する 2 項の Set Word Mark です。1 つのSet Word Mark命令で 2 つのワード マークを設定できますが、1 つのワード マークがその命令自体に設定されている必要があるため、プログラムのコードまたはデータにワード マークを段階的に設定し、後続のSet Word Mark命令のワード マークを設定するこれらの命令のシーケンスが必要になります。カード内の命令の実行は継続され、ワード マークの設定、プログラムのメモリへのロード、プログラムの開始アドレスへの分岐が行われます。後続のカードを読み取るには、各カードの最後の命令として明示的にReadコマンド(オペコード1)を実行し、新しいカードの内容を001~080番地に読み込む必要があります。Readコマンドを実行してもワードマークは消去されず、次のカードの読み込みのためにそのまま保持されることに注意してください。これは便利です。最初の数枚のカードは、主に適切な位置にワードマークを設定することを目的としているからです。最初の6枚程度のワードマークが既に設定されているため、プログラマーはそれらのワードマークを再度設定する必要がありません。
1枚のカードを使ったプログラムは、様々な用途に使用できます。一般的には、1枚のカードからカードのデッキを印刷するプログラムや、デッキをカードパンチに複製するプログラムなどが利用されていました。Tom Van Vleckのウェブサイトをご覧ください。[ 21 ]以下は、「HELLO, WORLD!」と印刷する1枚のカードを使ったプログラムです。LOAD(上記)を押すと、1枚のカードが読み込まれ、001(最初のカード,)から実行が開始されます。最初のカードに既にワードマークが設定されている場合、プログラムは自動的にワードマークを設定します,。
,036008,040015,044022,051029,052053/299/332L0652132.HELLO, WORLD!
従来の IBM 表記法に従うと、アンダースコアは、プログラムの実行後にメモリ内でワードマークが設定される場所を示します。パンチカードでは、アンダースコアは視覚的に示されず、パンチデータ内にも存在しません。
プログラムは次のとおりです。
- ワードマークを設定します(オペコード
,オペランド 036 008)。これは常に最初の命令であり、そのオペランドの1つは常に008でなければなりません。そうでないと、次の命令に実行可能命令であることを示すワードマークが付与されません。 - 追加のワードマーク設定命令。下線は、すべての
,命令コードの実行完了後にワードマークが配置される位置を示しています。036以降のワードマークはプログラムの「中核」部分でのみ必要であり、029までのワードマークはワードマーク設定命令にのみ必要です。プログラムの中核部分には6つのワードマークが必要なため、合計5つのワードマーク設定命令が必要です。ワードマーク設定命令が1つ少ないのは、最後のワードマーク設定命令が他のワードマーク設定命令のオペランドを無駄にする必要がないためです。 - ストレージをクリア- 印刷領域の残り 299-200 (オペコード
/オペランド 299) - ストレージをクリア- 印刷領域 332-300 の一部 (オペコード
/オペランド 332) HELLO, WORLD!印刷領域に移動しますL(オペコード、オペランド065と213。位置052のワードマークにより移動が停止します(これは、停止および分岐命令の終了も定義します)。- プリンタに1 行書き込みます
2(オペコード: 「HELLO, WORLD!」がプリンタの左端 13 の位置に印刷されます) - 停止(オペコード
.)
ハードウェア実装

1401 のロジック回路の大部分はダイオード・トランジスタ・ロジック(DTL)の一種で、IBM ではこれをCTDL (Complemented Transistor Diode Logic)と呼んでいました。その他の IBM 回路タイプは、Alloy (一部ロジックあり、主にさまざまな非ロジック機能、使用されているゲルマニウム合金トランジスタにちなんで名付けられました)、CTRL ( Complemented Transistor Resistor Logic 、抵抗器・トランジスタ・ロジック(RTL)の一種) と呼ばれていました。後のアップグレード (例: TAU-9 テープ インターフェイス) では、速度の理由から「ドリフト」トランジスタ(1953 年にHerbert Kroemerが発明したトランジスタの一種) を使用する、より高速なタイプの DTL が使用されており、IBM ではこれを SDTDL (Saturated Drift Transistor Diode Logic)と呼んでいました。これらの回路の一般的なロジック レベルは、(S および U レベル) 高: 0 V ~ -0.5V、低: -6 V ~ -12 V でした。 (T レベル) 高: 6 V ~ 1 V、低: -5.5 V ~ -6 V。
これらの回路は、2.5 x 4.5 インチ (64 x 114 mm)で 16 ピンの金メッキ エッジコネクタ(シングル ワイド) を備えた、または 5.375 x 4.5 インチ (136.5 x 114.3 mm) で 2 つの 16 ピンの金メッキエッジ コネクタ (ダブル ワイド) を備えた片面紙エポキシ プリント基板に実装された個別のコンポーネント (抵抗、コンデンサ、トランジスタ) で構成されており、IBM ではこれをSMSカード ( Standard Modular System ) と呼んでいました。1 枚のカード上のロジックの量は、7400 シリーズSSIまたはより単純なMSIパッケージ 1 つとほぼ同じです (たとえば、シングル ワイド カードでは 3 ~ 5 個のロジック ゲートまたは数個のフリップフロップ、ダブル ワイド カードでは最大約 20 個のロジック ゲートまたは 4 個のフリップフロップ)。

SMS カードは、IBM がゲートと呼んでいた、ヒンジ付きのスイングアウト ラックのソケットに挿入されていました。
使用されたモジュールは、従来のユニットレコード機器に比べてかなり繊細だったため、IBMは新開発の梱包材であるプチプチで包んで出荷しました。これは、この梱包材が広く普及した最初の事例の一つであり、受け取った人々に大きな感銘を与え、この梱包材の評判を大きく高めました。
当時のほとんどのマシンと同様に、1401 は磁気コアメモリを使用しています。コアの直径は約 1 mm で、4 線式 (x、y、センス、およびインヒビット) で構成されています。メモリは 4000 個のコアがプレーンに配置され、各コアが 1 ビットを格納します。このようなプレーンを 8 つ重ねて、4000 個のメモリ位置の 6 つのデータ ビット、ワードマーク ビット、およびパリティ ビットを格納します。追加のストレージ機能用に、コアの数が少ない 8 つのプレーンを追加することで、4000 文字のメモリ モジュールを構成しました。[ 22 ]このようなモジュールの 1 つが 1401 のメイン エンクロージャに収納されています。システムは通常、このようなモジュールを 2 つ、3 つ、または 4 つ搭載して利用できました。追加モジュールは、約 2 フィート四方、3 フィートの高さのアドオン ボックスである 1406 コア メモリ ユニットに収納されています。

メモリ内のオペランドは、一度に1つのメモリ位置ずつシリアルにアクセスされ、1401は11.5マイクロ秒の基本サイクル時間内に1つのメモリ位置を読み書きすることができます。[ 23 ]
すべての命令タイミングはこのサイクルタイムの倍数で示されています。[ 24 ]
IBM 1403 プリンター

IBM 1403プリンターは、1959年10月に1401データ処理システムとともに発表されました。このプリンターは全く新しい開発でした。
ソフトウェア
1401 用の IBM ソフトウェアには次のものが含まれています。
- 1401 シンボリック プログラミング システムアセンブラー。
- より高度なアセンブラであるAutocoder on Tape では、少なくとも 4000 文字のメモリと 4 つのテープ ドライブが必要でした。
- Autocoder on Disk は Autocoder on Tape に似ていますが互換性はなく、少なくとも 1 台の 1311 ディスク ドライブが必要です。
- COBOL には少なくとも 4000 文字のメモリと 4 つのテープ ドライブが必要でした。
- RPG の前身であるFARGO (Fourteen-o-one Automatic Report Generation Operation) では、少なくとも 4000 文字のメモリが必要でした。
- FORTRAN IIは少なくとも8000文字のメモリを必要としました。1401 Fortranコンパイラについては、下記のHaines, LH (1965)で説明されています。Fortranコンパイラは、小さなメモリ用のコードを生成するために、先駆的な形式のインタープリタ型「pコード」を使用していましたが、プログラマーたちはその動作を具体的には認識していませんでした。
- FORTRAN IVには、少なくとも 12,000 文字のメモリと、4 つのテープ ドライブまたは少なくとも 1 つのIBM 1311ディスク ドライブが必要でした。
- RPG (レポート プログラム ジェネレーター)。基本的な RPG には少なくとも 4000 文字のメモリが必要です。
1401 ソフトウェアの IBM カタログについては、IBM 1400 シリーズを参照してください。
文字コードとオペコード
1401の命令コードは1文字です。多くの場合、特に一般的な命令では、選択された文字は演算を表すニーモニックです。例えば、Aは加算、Bは分岐、Sは減算などです。
表は文字照合順序になっています。
- 注:ワードマークビットが設定されている場合、Cビットは表示されているものと逆になります。Cビットはマシンによって自動的に決定およびチェックされるため、通常はプログラマーにとって問題になりません。Cビットを入力する唯一の方法は、補助コンソールのスイッチを手動で操作することです。プログラマーはデバッグ中にこれらのスイッチを使用して簡単なパッチを作成する場合があります。
| BCD文字 | プリントA | 印刷-H | カード | BCD Mなし | 手術 | 定義と注釈 |
|---|---|---|---|---|---|---|
| 空白 | C | |||||
| 。 | 。 | 。 | 12-3-8 | BA8 21 | 停止 | |
| ⌑ | ⌑ | ) | 12-4-8 | CBA84 | クリアワードマーク | ロゼンジ |
| [ | 12-5-8 | BA84 1 | ||||
| < | 12-6-8 | BA842 | 未満 | |||
| ⯒ | 12-7-8 | CBA8421 | グループマーク | |||
| & | & | + | 12 | CBA | ||
| $ | $ | $ | 11-3-8 | CB 8 21 | ||
| * | * | * | 11-4-8 | B 84 | ||
| ] | 11-5-8 | CB 84 1 | ||||
| ; | 11-6-8 | CB 842 | ||||
| Δ | 11-7-8 | B 8421 | デルタ(モード変更) | |||
| - | - | - | 11 | B | ||
| / | / | / | 0-1 | C A 1 | クリアストレージ | |
| 、 | 、 | 、 | 0-3-8 | C A8 21 | ワードマークを設定する | |
| % | % | ( | 0-4-8 | A84 | 分ける | オプションの特別な機能。 |
| ˠ | 0-5-8 | C A84 1 | 単語区切り | |||
| \ | 0-6-8 | C A842 | 左斜筋 | |||
| ⧻ | 0-7-8 | A8421 | テープセグメントマーク | |||
| ƀ | ‡ | ‡ | 該当なし 0 | A | コストなしのRPQなしではカードから読み取ることはできません。その場合は8-2として読み取られます。[ c ] パンチはゼロ(RPQの場合は8-2)です。 テープには 「偶数パリティ」で空白です。 | |
| # | # | = | 3-8 | 8 21 | 住所の変更 | オプション( 4000文字のメモリ |
| @ | @ | ' | 4-8 | C 84 | 掛け算 | オプションの特別な機能。 |
| : | 5-8 | 84 1 | ||||
| > | 6-8 | 842 | より大きい | |||
| √ | 7-8 | C 8421 | テープマーク | |||
| ? | & | & | 12-0 | CBA8 2 | ゼロと加算 | プラスゼロ |
| あ | あ | あ | 12-1 | BA 1 | 追加 | |
| B | B | B | 12-2 | BA 2 | 分岐またはインジケータによる分岐 | 「5文字のインジケータ分岐命令(B)の修飾子」セクションを 参照 |
| C | C | C | 12-3 | CBA 21 | 比較する | |
| D | D | D | 12-4 | BA 4 | 数値を移動 | (ビット) |
| E | E | E | 12-5 | CBA 4 1 | 文字を移動して編集する | |
| F | F | F | 12-6 | CBA 42 | コントロールキャリッジ | (プリンター) |
| G | G | G | 12-7 | BA 421 | ||
| H | H | H | 12-8 | BA8 | Bアドレスレジスタを保存する | オプションの特別な機能。 |
| 私 | 私 | 私 | 12-9 | CBA8 1 | ||
| ! | - | - | 11-0 | B 8 2 | ゼロと減算 | マイナスゼロ |
| J | J | J | 11-1 | CB 1 | ||
| K | K | K | 11-2 | CB 2 | スタッカーとその他のデバイスコントロールを選択 | 「Select Stacker (K)命令の修飾子」セクションを 参照 |
| L | L | L | 11-3 | B 21 | ワードマークに文字を読み込む | |
| M | M | M | 11-4 | CB 4 | 文字をワードマークに移動する | |
| 北 | 北 | 北 | 11-5 | B 4 1 | 操作なし | |
| お | お | お | 11-6 | B 42 | ||
| P | P | P | 11-7 | CB 421 | 文字を移動 記録またはグループマーク | オプションの特別な機能。 |
| 質問 | 質問 | 質問 | 11-8 | CB 8 | Aアドレスレジスタを保存する | オプションの特別な機能。 |
| R | R | R | 11-9 | B 8 1 | ||
| ‡ | ‡ | ‡ | 0-2-8 | A8 2 | 記録マーク | |
| S | S | S | 0-2 | C A 2 | 減算 | |
| T | T | T | 0-3 | A 21 | 翻訳する | (1460のみ) |
| あなた | あなた | あなた | 0-4 | C A 4 | コントロールユニット | (テープ) |
| V | V | V | 0-5 | A 4 1 | ワードマークの分岐 および/またはゾーン | |
| W | W | W | 0-6 | A 42 | ビットが等しい場合に分岐 | オプションの特別な機能。 |
| X | X | X | 0-7 | C A 421 | ゼロを移動して挿入する | オプションの特別な機能。 |
| はい | はい | はい | 0-8 | C A8 | ゾーンを移動 | (ビット) |
| Z | Z | Z | 0-9 | A8 1 | キャラクターを移動して ゼロを抑制 | |
| 0 | 0 | 0 | 0 | C 8 2 | ||
| 1 | 1 | 1 | 1 | 1 | カードを読む | |
| 2 | 2 | 2 | 2 | 2 | 一行書く | |
| 3 | 3 | 3 | 3 | C 21 | 書くと読む | |
| 4 | 4 | 4 | 4 | 4 | カードをパンチする | |
| 5 | 5 | 5 | 5 | C 4 1 | 読んでパンチする | |
| 6 | 6 | 6 | 6 | C 42 | 書いてパンチする | |
| 7 | 7 | 7 | 7 | 421 | 書いて、読んで、パンチする | |
| 8 | 8 | 8 | 8 | 8 | フィードを読む | オプションの特別な機能。 |
| 9 | 9 | 9 | 9 | C 8 1 | パンチフィード開始 | オプションの特別な機能。 |
2 つの命令、Branch on Indicator (B) と Select Stacker (K) では、「修飾子」オペランドが使用されます。
5文字のインジケータ分岐命令(B)の修飾子Bオペコードに3文字のオペランドが続く場合、指定されたアドレスへの単純な無条件分岐となります。4文字目のオペランド文字が存在する場合(オペコードを含めて合計5文字)、条件分岐となります。この「修飾子」文字は、テストする条件を指定します。
| 選択スタッカー(K)命令の修飾子セレクトスタッカー(K)命令は、様々なデバイスにコマンドを送信します。1402リーダー/パンチとの関連性からこの名前が付けられました。
|
1401文化
2006年10月、アイスランドの前衛音楽家ヨハン・ヨハンソンは、アルバム「IBM 1401、ユーザーズ・マニュアル」を音楽出版社4ADよりリリースした。[ 26 ]このコンセプトは、アイスランド初のコンピューターの主任保守技術者であったヨハン・ヨハンソンの父、ヨハン・グンナルソンと、アイスランド初のプログラマーの一人であるエリアス・ダヴィドソン[ 27 ]が1964年に行った仕事に基づいている。 このアルバムはもともと弦楽四重奏、オルガン、エレクトロニクスのために作曲され、長年の協力者である友人のエルナ・オマルスドッティルのダンス作品の伴奏として書かれた。 アルバムのレコーディングのために、ヨハンは60人編成の弦楽オーケストラ用に書き直し、新たな終楽章を追加し、エレクトロニクスと、父親の屋根裏部屋で見つかった歌う1401のビンテージのリールテープの録音を取り入れた。[ 27 ]
さらによく知られているのは、CPUに搭載されたトランジスタラジオで音楽を再生する様々なデモプログラム[ 28 ]や、コンピュータ「アート」、つまりチェーンプリンターでXと0を使って印刷されたキッチュな絵などである[ 29 ] 。 他のプログラムでは、プリンターのハンマーの衝撃を利用して音を発生させ、特定の文字列や文字のグループをプリンターに印刷させることで音楽を生成するものもあった。
1971年、ネパールで国勢調査のために初めて導入されたコンピュータはIBM 1401でした。国勢調査には約1年かかりました。当時のネパールの人口は約1,000万人でした。
トラックベースのポータブルバージョン
1960年に軍事用に設計されたトラックベースのIBM 1401はポータブルコンピュータと指定され、データモバイルというニックネームが付けられました。[ 30 ] [ 31 ] [ 32 ]
参照
注記
- ^ 1401 は 10 進コンピュータなので、たとえば「8000」文字は 8,192 文字ではありません。
- ^簡単に言えば、4つのゾーンビットは10進数値0から15を2進数値0000から1111にエンコードします。エンコードされた値は、1401アドレスの千の位の部分に使用されます。そのため、1401は、メモリアドレスが3桁の10進数と4桁の2進数の組み合わせで格納されるという、非常に興味深いマシンです。IBMは1401のアドレス指定を説明する際に「2進数」という言葉を使用していません(1401リファレンスマニュアルを参照)。
- ^ RPQ「リーダー/パンチカードコード8-2およびAビット互換性」(898148)により、1401はIBM 1410との互換性のためにAビットを8-2として読み取り/パンチする。 [ 25 ]
参考文献
- ^ Boshe, Charles J.; Johnson, Lyle R.; Palmer, John H.; Pugh, Emerson W. (1986). IBM's Early Computers . MIT Press. p. 473. ... スタンドアロン使用と大型コンピュータの周辺サービス用に構成されています... テープなしで最小限のメモリ容量を備えた小型構成は、月額 2,500 ドル弱で利用できました。これは、
407
会計コンピュータ 3 台と
604
電卓1 台よりもはるかに高いパフォーマンスを、はるかに低いレンタル料金で実現したものです。
- ^ 「IBM 1401」www.ibm.com . 2024年1月5日閲覧。
- ^ 「1401の建築とデザインの起源」 ibm-1401.info 2023年7月28日閲覧。
- ^ 「1401データ処理システム」 IBMアーカイブ。1959年10月5日。 2010年6月2日閲覧。
- ^ 「IBM 1401」www.columbia.edu . 2024年3月28日閲覧。
- ^ a b Spicer, Dag. 「Back to Life: The story behind CHM's IBM 1401 Restoration」(PDF)。コンピュータ歴史博物館。2010年11月5日時点のオリジナル(PDF)からアーカイブ。 2011年5月27日閲覧。
- ^ 「製品とサービスに関するFAQ」IBMアーカイブ。2001年6月11日。 2010年6月2日閲覧。
- ^とりわけ、Honeywell はIBM のAutocoderに似たEasycoderという名前を使用していました。
- ^ Liberator という 1401 オブジェクト コードの半自動コンバータもありました:「Liberator の使用」。
- ^エマーソン・W・ピュー(1995年)『IBMの建設:産業と技術の形成』MIT、273ページ。ISBN 0-262-16147-8。
- ^ 「マイルストーン」。
- ^メインフレームの変革ibm.com2023年8月15日アーカイブ、 Wayback Machine
- ^ 서현진. (1997年)。 처음쓰는 한국컴퓨터사 (서울: 전자신문사)。
- ^ 「1401修復プロジェクト」。
- ^ 「1401 「IBMの再構築」フィリップ・E・ロス著、IEEE Spectrum、2009年11月」 。2009年11月3日時点のオリジナルよりアーカイブ。
- ^ IBMとBCD
- ^ Fedorkow, Guy (2015). IBM 1401A 最新動作理論(PDF) . p. 143. 2022年10月10日時点のオリジナルよりアーカイブ(PDF) 。
- ^ IBM (1962年4月). IBM 1401データ処理システム: リファレンス・マニュアル(PDF) . p. 20. A24-1403-5. 2010年8月9日時点のオリジナル(PDF)からアーカイブ。
- ^ IBM 1401G、小冊子520-1061-0
- ^ 「システム操作リファレンス・マニュアル。IBM 1401、IBM 1460」(PDF)。2015年4月3日時点のオリジナルよりアーカイブ(PDF) 。
- ^ 「トム・ヴァン・ヴレック:私が知っている1401年代」。
- ^ Rob Storey. 「1401のコアメモリフレーム」 。 2012年7月16日時点のオリジナルよりアーカイブ。2012年7月15日閲覧。
- ^ 「IBM 1401」。IBM 1401修復プロジェクト。コンピュータ歴史博物館。 2012年7月15日閲覧。1401
のクロック周波数は毎秒86,957サイクル、つまり約87キロヘルツです。これは11.5マイクロ秒のシステムクロックサイクル時間に相当します。… 1401 CPUはすべてを文字シリアル方式で処理します。例えばN桁の数字を2つ加算する場合、CPUは命令自体をフェッチするのに数サイクルかかり、その後、命令の2つのオペランドまたは引数の各文字ごとに1サイクル、つまり合計2Nサイクルかかります。
- ^ 「IBM 1401 プログラミングの原則、第7章」(PDF)。IBM個人学習プログラム。IBMコーポレーション 。1961年 。p. 19。2022年10月10日時点のオリジナルからアーカイブ(PDF) 。 2012年7月15日閲覧。IBM
1401のタイミングは、1回の完全なコアストレージサイクルに必要な時間、つまり11.5マイクロ秒で表されます。…内部処理命令に必要な時間は常にこの時間間隔の倍数です。
- ^ 「IBM 1401、1440、および1460データ処理システムのカスタム機能」(PDF) 。 2012年8月29日時点のオリジナル(PDF)からアーカイブ。 2015年9月23日閲覧。
- ^ 「IBM 1401 ユーザーズ・マニュアル - Live in Italy」 。 2015年1月29日閲覧。
- ^ a b「Jóhann Jóhannsson: IBM 1401 ユーザーズ・マニュアル」 .作者のウェブサイト. 2015年2月11日時点のオリジナルよりアーカイブ。 2015年1月29日閲覧。
- ^ "1401-music-Movie" . YouTube . 2008年12月18日.
- ^ Gansing, Kristoffer (2007). 「ワーキングペーパー版 - 人間は機械のように考える - スウェーデンの福祉国家における偶発的なメディアアート」(PDF) . マルメ大学、芸術・コミュニケーション学部. 2012年3月23日時点のオリジナル(PDF)からアーカイブ。 2017年11月29日閲覧。 完全版は、2009年にヴァイマルVDGで出版される「Place Studies in Art, Media, Science and Technology」に掲載される予定。
- ^ IBM 1401: メインフレーム--文化的影響
- ^ IBM 1401: メインフレーム-- 概要
- ^コロンビア大学コンピュータ史--IBM 1401
ビデオ
- IBM 1401 システム - コンピュータ歴史博物館での 50 周年記念YouTube 2009 年 11 月 19 日
- IBM 1401 フランス語プレゼンテーション(英語字幕付き) YouTube 2014年4月20日
- IBM 1401 for the Roper Corporation YouTube 2015年5月14日
- IBM 1401はFORTRAN IIをコンパイルして実行するYouTube 2018年2月2日
さらに読む
- バシェ, チャールズ J.; ジョンソン,ライル R.; パーマー, ジョン H.; ピュー, エマーソン W. (1986). IBMの初期コンピュータ. MIT. pp. 717. ISBN 0-262-02225-7。第12章基盤の拡大465~494ページ、IBMの1401と1403の開発の歴史
- IBM 1401 システム概要(PDF) . IBM. 1966年4月. A24-1401-1.2022年10月10日時点のオリジナルよりアーカイブ(PDF) 。機械の機能、コンポーネント、構成、特別な機能の簡単な説明
- IBM 1401 データ処理システム:リファレンス・マニュアル(PDF)。IBM。1962年4月。A24-1403-5。 2010年8月9日時点のオリジナル(PDF)からアーカイブ。
外部リンク
- bitsavers.org の 1401 件の文書
- 「スマートの世紀:IBM 1401(1959年)」IBMソーシャル・メディア。2009年11月16日。2011年3月9日時点のオリジナルよりアーカイブ。2009年11月17日閲覧。このビデオは、2009 年にニューヨーク州エンディコットで開催された同窓会で、1401 の元チーム メンバーの考えや感想をとらえたものです。1401 のマーケティング フィルムの映像も含まれています。
- 1401本のビデオとサウンド
- 1401s I have Known、トム・ヴァン・ヴレック
- LH Haines (1965). 「シリアルコンパイルと1401 FORTRANコンパイラ」 . IBM Systems Journal . 4 (1): 73– 80. doi : 10.1147/sj.41.0073 . 2012年2月14日時点のオリジナルよりアーカイブ。 2008年9月30日閲覧。この記事は、Lee, John AN (1967). Anatomy of a Compiler (第1版および1974年第2版). Van Nostrand Reinhold.の両版に編集・転載されました。
- 1401 にインスパイアされた音楽: ヨハン・ヨハンソンの「IBM 1401: ユーザーズ・マニュアル」 - CD / LP
- 1401で使用されたダブル幅のSMSカードはゲルマニウム合金トランジスタを使用しました
- シャリフ、ケン(2021年2月)「IBM 1401の起動:1959年製パンチカード式コンピュータがプログラムをロードする方法」
- シャリフ、ケン(2021年3月)「ゲルマニウムトランジスタ:IBM 1401コンピュータの論理回路」
- Jaeger, Jay (GitHub) IBM1410FPGA (VHDL) IBM1410Console (C#)