
GE 645 メインフレーム コンピュータは、 Multicsプロジェクトで使用するためにGE 635を発展させたものです。これは、構成可能なハードウェア保護メモリ システムを実装した最初のコンピュータでした。これは、提案された次世代タイム シェアリングオペレーティングシステム ( Multics )をホストするプラットフォームを開発するというProject MACの要件を満たし、理論上のコンピュータ ユーティリティの要件を満たすように設計されました。[1]このシステムは、仮想メモリを使用する最初の真の対称型マルチプロセッシングマシンであり、現在ではトランスレーション ルックアサイド バッファとして知られるものを実装した最初のマシンの 1 つでもありました。[2] [3] [4]その基礎特許は、John Couleurと Edward Glaser に付与されました。[5]
ゼネラルエレクトリックは、 1965年11月の秋の合同コンピュータ会議[1] [3]でGE 645を初めて公表した。同年12月の記者会見[6] [7]では、このシステムの「広範な商用利用」 [8]に向けて取り組むと発表された。しかし、1966年末に積極的なマーケティングから撤退した。[8] 1967年から1975年にかけて、少なくとも6つのサイトでGE 645システムが稼働していた。[9]
システム構成
基本的なシステム構成は4つの基本モジュールの組み合わせで構成されていました[4] [10]。
- プロセッサ
- システムコントローラ
- 汎用 I/O コントローラ (GIOC)
- 拡張メモリユニット (EMU)

システムコントローラモジュール(SCM)は、事実上システムの心臓部として機能しました。これらは受動的なデバイスであり、各能動デバイス(プロセッサ、GIOC、EMU)に接続され、次の機能を提供しました。[4] [11]
- コア メモリ - 36 ビット ワードの 32K、64K、または 128K のサイズ容量を持つ 1 マイクロ秒のメモリ。
- アクティブモジュールから別のアクティブモジュールに制御信号を転送するための集中ポイント
- システム クロックとプロセッサへの割り込みを発行する機能。
600シリーズの他の機種と比べると、645はI/Oに標準のIOC(入出力コントローラ)を使用しませんでした。また、通信にDATANET-30フロントエンドプロセッサも使用しませんでした。代わりに、両方の機能セットがGIOC(汎用I/Oコントローラ)と呼ばれる1つのユニットに統合され、周辺機器(ディスク/テープ)と端末I/Oの両方に専用チャネルを提供しました。[4] [12] GIOCはアクティブデバイスとして機能し、特定の構成に存在する各システムコントローラへの専用リンクを介してメモリに直接接続されました。
拡張メモリユニットはドラムと呼ばれているが、実際にはトラックごとにヘッドが1つある大型の固定ヘッドハードディスクであり、[13]これはLibrascopeのOEM製品であった。[13] [14] EMUは4,096のトラックで構成され、4MW(メガワード)のストレージ(16MBに相当)を提供した。各トラックには専用の読み取り/書き込みヘッドがあり、これらはセクターの読み取り/書き込みに使用される16の「トラックセット」のグループに編成されていた。セクターはEMUのデータ割り当てのデフォルトの単位で、80ワードで構成され、そのうち64ワードがデータで、残りの16ワードはガードバンドとして使用された。[4] EMUとメモリ間の平均転送速度は毎秒470,000ワードで、すべての転送は72ビット(2ワード)幅で、4ワードの転送に6.7μsかかった。[4]このユニットの回転速度は1,725rpmで、平均遅延は17.4ミリ秒でした。[4]
建築
プロセッサモード
GE-645 には GE-635 から継承された 2 つの命令実行モード (マスターとスレーブ) がありますが、メモリ アドレス指定の 2 つのモード (絶対と追加) によって別の次元も追加されています。プロセスが絶対モードで実行されている場合、アドレス指定は 2 18ワードのメモリに制限され、すべての命令はマスター モードで実行されます。比較すると、追加モードでは、アドレス空間が 2 24ワードで、命令実行がマスター モードまたはスレーブ モードのいずれかで行われる「追加ワード」を使用してアドレスを計算します。[15]
スレーブモード
デフォルトでは、これはプロセッサがいつでも実行すべき通常モードです。このモードでは、このモードで実行できない少数の特権命令を除き、ほぼすべての命令が実行されます。このような命令を実行すると、不正な手順エラーがトリガーされ、割り込みを禁止する機能 (命令ワードのビット 28) も禁止されます。命令アドレスの形式は、追加プロセス経由です。
マスターモード
このモードでは、プロセッサはすべての命令を実行でき、その間は割り込みを禁止できます。スレーブ モードと同様に、アドレス形成のデフォルトの形式は追加プロセス経由です。
絶対モード
このモードではすべての命令を実行でき、ハードウェアの特権機能に完全にアクセスできます。割り込みは禁止され、命令フェッチは 2 18 (18 ビット) の絶対アドレスに制限されるため、プロセッサは物理コア メモリの下位 256 KW にしかアクセスできません。プロセッサは障害または割り込みが発生するとこのモードに切り替わり、追加プロセスによってオペランド アドレスが取得された転送命令を実行するまでこのモードのままになります。
追加モード
デフォルトでは、これはメモリ アドレス指定の通常モードであり、マスター モードとスレーブ モードの両方が通常このモードで動作します。間接ワードとオペランドは、実行された命令のビット 29 に 1 を配置するプロセスによる追加メカニズムを介してアクセスされます。したがって、有効アドレスはベース アドレスに追加されるか、オフセットがベース アドレスにリンクされます。
機能ユニット

645プロセッサは4つの主要な機能ユニットに分かれており、それらは以下の通りである。[15]
- 追加単位:
- メモリからのデータI/Oを制御する
- メモリの選択とインターリーブを制御する
- メモリ追加を実行します
- 制御障害認識
- 電源オン/オフシーケンス
- 連想記憶ユニット:
- 16 x 60ビットレジスタで構成される連想メモリで構成されています[16]
- レジスタは、最近使用したセグメント(セグメント記述子ワード)または最近使用したページ(ページテーブル)を指します。
- 現在 TLB として分類される機能を実行します。
- コントロールユニット:
- すべての制御機能を実行する
- アドレスの変更を実行します
- プロセッサモード(マスター、スレーブ、絶対)を制御します
- 割り込み認識/処理
- オペコードのデコード
- 運用ユニット:
- 分数と整数の除算と乗算を実行します。
- 加算と減算の浮動小数点数の自動アライメントを実行します。
- 浮動小数点数の逆除算を実行します。
- 浮動小数点結果の自動正規化を実行します。
- シフトを実行します。
- インジケータ レジスタの読み込みと保存を実行します。
- タイマーレジスタのロードと減分を実行します。
GE 635 との主な違いの 1 つは、仮想メモリのハイブリッド「ページセグメンテーション」モデルを実装するために使用された「追加ユニット」(APU) の追加です。APU は、 Multics が構築されている基本的な抽象化の 1 つであるシングルレベルストアの実装にも使用されました。命令フォーマットも拡張され、以前は使用されなかったビット 29 が、命令のオペランドアドレスが 18 ビットフォーマット (ビット 29 = 0) を使用するか、3 ビットのベースレジスタアドレスと 15 ビットのオフセット (ビット 29 = 1) で構成されるかを制御します。[4] : 18、22 [15]
ビット 29 が 1 に設定されている命令形式は次のとおりです。
1 1 2 2 2 2 3 3
0 2 3 7 8 6 7 8 9 0 5
+---+---------------+--------+-+-+-+------+
|BR | Y | OP |0|I|1| タグ |
+---+---------------+--------+-+-+-+------+
- Bはベースレジスタフィールドです
- Yはアドレスフィールド(15ビット)で、32KWをアドレス指定します。
- OPはオペコード(9 ビット)であり、追加ビット 27 はオペコード拡張ビットです。
- I は割り込み禁止ビットです。
- タグは実行されるアドレス変更の種類を示します。GE 645ではいくつかの追加タグがサポートされています。[4] : 19–20
アドレスベースレジスタ
GE 645には8つのアドレスベースレジスタ(abr)があり、[17]これらは「ペア」モードと「非ペア」モードのどちらでも動作できます。[18]後のHoneywell 6180では、これらが8つのポインタレジスタに変更されました。各abrは24ビット幅で、18ビットがアドレス用、6ビットが制御機能用でした。[19]
制御機能フィールドの 1 ビットは、ABR が「内部」または「外部」である場所を示します。ABR が内部の場合、制御機能フィールドの別の 3 ビット サブフィールドは、この ABR とペアになっている別の ABR を指定します。この別の ABR は外部であり、外部 ABR のアドレス フィールドにセグメント番号が含まれ、内部 ABR には外部 ABR で指定されたセグメント内のオフセットが含まれます。[15] : 4–4 命令または間接ワードが外部 ABR を参照する場合、命令または間接ワードのアドレス フィールドは、外部 ABR で指定されたセグメント内のオフセットとして使用されます。内部 ABR を参照する場合、命令または間接ワードのアドレス フィールドが ABR のオフセットに追加され、結果の値が、内部 ABR とペアになっている外部 ABR で指定されたセグメント内のオフセットとして使用されます。[15] : 6–26
レジスタはビット21の設定に応じて次の形式になります。[19]
ビット 21 を設定した「外部」ベースとしてフォーマットします。
1 1 2 2 22
0 7 8 0 1 23
+------------------+---+-+--+
| PDW |\\\|1|\\|
+------------------+---+-+--+
ビット 21 がクリアされた「外部」ベースへのポインタを持つ有効な「内部」アドレスのコンポーネントとしてフォーマットします。
1 1 2 2 22
0 7 8 0 1 23
+------------------+---+-+--+
| PY |PB |0|\\|
+------------------+---+-+--+
- PDWは記述子ワードへのポインタです
- PYは、有効な内部アドレス「Y」のコンポーネントPです。
- PBはビット21が1である別のベースレジスタへのポインタである。
Multicsでは、偶数番号のABRとそれに続く奇数番号のABRがペアになっている。アセンブリ言語(EPLBSA/ALM) [NB 1]で記述する場合、標準的なMulticsの慣習では、これらのレジスタに次のようにラベルを付ける。[20]
- apは abr 0 です
- abは abr 1 です
- abr 2のbp
- abr 3 のbb
- abr 4 のlp
- lbは abr 5
- abr 6のsp
- sbは abr 7 です
命名規則は次のようなものに基づいています: [21]
- 引数リストポインタのa
- bは一般塩基
- lはリンクセグメントポインタ
- スタックセグメントポインタのs
Honeywell 6180 およびその後継機の 8 つのポインタ レジスタは、GE-645 の 4 つのペア ベース レジスタと同じ目的で使用され、セグメント内のオフセットを参照します。
歴史
CTSSはMIT計算センターでIBM 709を使用して開発され、1961年11月に初めて実演されました。 [22]その後、 1962年に7090にアップグレードされ、 [23]最終的に1963年に7094にアップグレードされました。 [24]これには、いくつかのRPQの追加による標準システムの変更が必要でした。RPQには、2つのメモリバンクとユーザーモードとスーパーバイザーモード間のバンク切り替えが追加されました。つまり、Aコアメモリバンクで実行されるプログラムは、Bコアバンクで実行されるプログラムにはアクセスできない命令にアクセスできました。[25]
プロジェクト MAC は、1963 年 7 月 1 日に ARPA との契約に署名して正式に開始されました。1963 年 10 月までに、彼らは CTSS を実行するための専用の 7094 を受け取りました。これは、赤いサイド パネルを備えていることから「レッド マシン」と呼ばれていました。[24]これはプロジェクト MAC にタイム シェアリング環境を提供し、その後 Multics の開発に頻繁に使用されることになります。この期間中、CTSS の代替品がどのようなものになるか、また、それを実行するために必要なハードウェアの種類について調査作業が行われました。フェルナンド J. コルバト、テッド グレイザー、ジャック デニス、ロバート グラハムからなる委員会が結成され、ハードウェア プラットフォームの入札に対する業界の関心度を測定するためにコンピューター メーカーを訪問する責任がありました。[26] [27]プロジェクト MAC が開発パートナーを探していることが明らかになりました。要件を満たすにはかなりのハードウェア変更が必要であり、その要件は次のように指定されていました。[28]
- 読み取り/書き込み保護を持つユーザー プログラム。
- 特権命令はエンドユーザープログラムからはアクセスできない
- 少なくとも 256KW のメモリを直接アドレス指定する機能。
- すべてのプロセッサが同等の機能レベルであるネイティブマルチプロセッシング機能
- 従来の電話回線だけでなく、MITが開発したKludge [29]グラフィカル端末などのグラフィックディスプレイ端末を実行できる高速データリンクも処理できる通信の効果的なサポート。
- ページング デバイスとして使用できる高速ドラムを含む大容量記憶装置。
- 仮想メモリのオーバーヘッドを削減するために、コンテンツ アドレス可能メモリ (CAM) をサポートするセグメンテーションとページングの両方をハードウェアでサポートします。
彼らは、バロウズ、CDC、DEC、ゼネラル・エレクトリック、IBM、スペリー・ユニバックなどを訪問した。このうちGEとIBMが最も強い関心を示した。[26] 1964年の夏までにDEC、IBM、GEから提案が寄せられ、技術委員会による評価の後、GEのGE 645提案を採用することが満場一致で決定された。GE 645はGE 635をベースにした設計であったが、上記の要件を満たすように修正されていた。[28]
GE 645 ハードウェアがフェニックスで設計され、デバッグされている間に、GE 635 を使用して 6.36 と呼ばれるシミュレータを実行できるシステムが導入されました。 [30]これにより、Multics の開発とチェックアウトが並行して行われるようになりました。このプロセスでは、CTSS システムでテープを作成し、それを MIT の 635 システム上の GECOS に入力して 6.36 シミュレータで実行します。結果の出力はテープ経由で CTSS に持ち帰られ、デバッグと分析が行われます。[31]このシミュレートされた環境は、1967 年に最初の 645 ハードウェアに置き換えられました。GECOSオペレーティング システムは、1969 年に Multics に完全に置き換えられ、 Multicsスーパーバイザ[3]は、ユーザー モードからアクセスできるように「ゲート」を備えた保護リングで分離されました。[32]
645F(Fは後継機のF)という後継機は、部門がHoneywellに売却された時点では完成しておらず、Honeywell 6180として知られるようになった。GE/Honeywell 645のオリジナルのアクセス制御メカニズムは、アクセス命令の高速トラッピングには不十分であることが判明し、6180の再実装によりそれらの問題は解決された。[33] Multicsでタイムシェアリングを実行するこれらのコンピュータの大部分は、NSAや同様の政府機関に導入された。その使用は厳格なセキュリティ対策によって制限されており、保護リング以外の後続のシステムへの影響は限られていた。[34]
このコンピュータで導入され、6180 で修正されたハードウェア保護は、後にIntel 286コンピュータ プロセッサに 4 層の保護リングとして実装されましたが、4 つのリングはプログラムが面倒で、動作が遅すぎることが判明しました。保護リング アーキテクチャは現在、645 の当初の使用時と同様に、カーネル モードをユーザー モード コードから保護するためにのみ使用されています。[3]
参照
さらに読む
- オーガニック、エリオット・アーヴィング(1972年)。マルチカスシステム:その構造の検討。ケンブリッジ、MIT出版。ISBN 978-0-262-15012-5. 2023年10月22日閲覧。
- ワトソン、リチャード W. (1970)。タイムシェアリング システム設計コンセプト。ニューヨーク [usw]、デュッセルドルフ: McGraw- Hill。ISBN 978-0070684652. 2023年10月22日閲覧。
- ドノヴァン、ジョン J. (1972)。システムプログラミング。マグロウヒル。ISBN 978-0-07-017603-4. 2023年10月22日閲覧。
- Fano, Robert M. (1979)。「Project Mac」。Belzer, Jack、Holzman, Albert G.、Kent, Allen (編)。コンピュータサイエンスとテクノロジーの百科事典: 第 12 巻 - パターン認識: コンピュータシステムの信頼性のための構造記述言語。ニューヨーク: CRC プレス。pp. 339–360。ISBN 978-0-8247-2262-3. 2023年11月2日閲覧。
- Pugh, Emerson W.; Johnson, Lyle R.; Palmer, John H. (1991)。IBM の 360 および初期の 370 システム。マサチューセッツ州ケンブリッジ: MIT プレス。ISBN 9780262161237. 2023年10月31日閲覧。
- オールドフィールド、ホーマー R. (1996)。『七人の小人の王: ゼネラル・エレクトリックのコンピュータ業界に対する曖昧な挑戦』カリフォルニア州ロサンゼルスアラミトス: IEEE コンピュータ協会出版局。ISBN 978-0-8186-7383-2. 2023年11月5日閲覧。
- McGee, Russell C. (2002)。「私のドワーフとの冒険: メインフレーム コンピューターの個人史」。Googleドキュメント。2023 年11 月 5 日に閲覧。
- カイスラー、スティーブン H. (2020)。メインフレーム コンピュータ システム: ゼネラル エレクトリック社。ケンブリッジ スカラーズ パブリッシング。ISBN 978-1-5275-6116-8. 2023年10月22日閲覧。
注記
- ^ EPL BootStrap Assember / Multics 用アセンブリ言語
参考文献
- ^ ab Corbató, FJ; Vyssotsky, VA (1965 年 11 月 30 日)。「Multics システムの紹介と概要」。1965年11 月 30 日~12 月 1 日秋季合同コンピュータ会議議事録、第 1 部、XX - AFIPS '65 (秋季、第 1 部)。Association for Computing Machinery。pp. 185~196。doi :10.1145/1463891.1463912。ISBN 9781450378857. S2CID 11197018。
- ^ John Couleur (1995 年冬)。「 Black Canyon Computer Corporation の中核」(PDF)。IEEE Annals of the History of Computing。17 ( 4): 56–60。doi :10.1109 / 85.477436。
- ^ abcd Glaser, EL; Couleur, JF; Oliver, GA (1965 年 11 月 30 日)。「タイム シェアリング アプリケーション用コンピュータのシステム設計」。1965年 11 月 30 日~12 月 1 日秋季合同コンピュータ カンファレンスの議事録、第 1 部、第 20 部 - AFIPS '65 (秋季、第 1 部) 。Association for Computing Machinery。pp. 197~202。doi : 10.1145 /1463891.1463913。ISBN 9781450378857. S2CID 15819355。
- ^ abcdefghij 「GE-645 システムマニュアル」(PDF)。ゼネラル・エレクトリック。1968年1月。 2023年9月26日閲覧。
- ^ 米国特許 3412382、COULEUR JOHN F & GLASER EDWARD L、「共有アクセスデータ処理システム」、マサチューセッツ工科大学に譲渡
- ^ スミス、ウィリアム・D.(1965年12月2日)。「GEが開発した新しいコンピューター」ニューヨーク・タイムズ。 2023年10月20日閲覧。
- ^ 「GE-645 タイムシェアリングシステム」。デジタルコンピュータジャーナル。18 ( 2 )。海軍研究局 - 数学科学部門: 5–6。1966 年。
- ^ ab 「US vs IBM_Exhibit 14971 - Historical Narrative The 1960's」(PDF)。pp. 434、510 。 2023年10月21日閲覧。
- ^ 「Multics Site Timeline」. multicians.org . 2023年10月21日閲覧。
- ^ カイスラー (2020)、op.引用、p. 274
- ^ カイスラー (2020)、op.引用、p. 275
- ^ Ossanna, JF ; Mikus, LE; Dunten, SD (1965 年 11 月 30 日)。「多重化コンピューティング システムにおける通信と入出力スイッチング」。1965年 11 月 30 日~12 月 1 日秋季合同コンピュータ会議議事録、第1部、XX - AFIPS '65 (秋季、第 1 部)。Association for Computing Machinery。pp. 231~241。doi :10.1145 / 1463891.1463916。S2CID 15847853。
- ^ ab Van Vleck, Tom. 「Low Bottle Pressure」. multicians.org . 2023年10月29日閲覧。
- ^ 「The Librazette Vol. 10 No. 9」(PDF)。2022年5月19日時点のオリジナル(PDF)よりアーカイブ。
- ^ abcde 「モデル 645 プロセッサ リファレンス マニュアル」(PDF)。Honeywell Information Systems Inc. 1972 年 5 月。2023 年9 月 26 日閲覧。
- ^ Schroeder, Michael D. ( 1971)。「Multics の動作中の GE-645 連想メモリのパフォーマンス」。SIGOPSワークショップのシステム パフォーマンス評価に関する議事録。Association for Computing Machinery。pp. 227–245。doi :10.1145/ 800024.808361。ISBN 9781450373821. S2CID 44850627。
- ^ オーガニック(1972)、前掲書、 18ページ
- ^ Green, Paul. 「Multics 仮想メモリ - チュートリアルと考察」. multicians.org . 2023 年12 月 20 日閲覧。
- ^ ab Organick (1972)、前掲書、 19ページ
- ^ オーガニック(1972)、前掲書、p. 20-21
- ^ オーガニク(1972)、前掲書、 22-23ページ
- ^ Pugh (1991)、前掲書、 356ページ
- ^ Corbató, Fernando J.; Merwin Daggett, Marjorie; Daley, Robert C. (1962 年 5 月 3 日)。「実験的なタイムシェアリング システム」。1962年 5 月 1 日~3 日開催の春季合同コンピュータ カンファレンス (AIEE-IRE '62 (春季)) の議事録。Association for Computing Machiner。pp. 335~344。doi : 10.1145 / 1460833.1460871。ISBN 9781450378758. S2CID 234039583。
- ^ ab Van Vleck, Tom. 「IBM 7094 と CTSS」www.multicians.org . 2023 年10 月 30 日閲覧。
- ^ Crisman, PA, ed. (1969 年 12 月 31 日). 「互換性のあるタイムシェアリングシステム、プログラマーズガイド」(PDF) . MIT 計算センター. 2022 年3 月 10 日閲覧。
- ^ ab Dennis, Jack B. (Jack Bonnell); O'Neill, Judy E. (1989年10月31日). 「ジャック・ボンネル・デニスとのオーラルヒストリーインタビュー」. hdl :11299/107244 . 2023年10月31日閲覧。
- ^ Corbató, FJ (1990年11月14日). 「フェルナンド・J・コルバトとのオーラルヒストリーインタビュー」. hdl :11299/107230 . 2023年10月31日閲覧。
- ^ ab Fano (1979)、前掲書、 348ページ
- ^ 「コレクション: マサチューセッツ工科大学、コンピュータサイエンス研究所の研究記録 | MIT ArchivesSpace」。archivesspace.mit.edu。
- ^ 「Project MACとBTLにおけるGE-635」. multicians.org . 2023年10月19日閲覧。
- ^ 「Project MAC Progress Report III, 1966-67」(PDF)。2016年6月4日時点のオリジナル(PDF)よりアーカイブ。
- ^ 「Project MAC Progress Report V, 1966-68」(PDF)。2016年6月4日時点のオリジナル(PDF)よりアーカイブ。
- ^ Michael D. Schroeder および Jerome H. Saltzer。「保護リングを実装するためのハードウェア アーキテクチャ」。2012 年9 月 27 日閲覧。
- ^ ドナルド・A・マッケンジー(2001年)。『証明の機械化:コンピューティング、リスク、信頼』MIT出版。ISBN 0-262-13393-8。
外部リンク
- GE-645 回路基板
- 645 システム: アーティストの構想
- Multics Phase One (GE-645 の写真を含む)
- パリでの GE-645 の設置 (GE-645 の一部の写真を含む)
