JPS602690B2 - 内部プログラムデータ処理装置 - Google Patents
内部プログラムデータ処理装置Info
- Publication number
- JPS602690B2 JPS602690B2 JP51071306A JP7130676A JPS602690B2 JP S602690 B2 JPS602690 B2 JP S602690B2 JP 51071306 A JP51071306 A JP 51071306A JP 7130676 A JP7130676 A JP 7130676A JP S602690 B2 JPS602690 B2 JP S602690B2
- Authority
- JP
- Japan
- Prior art keywords
- address
- register
- segment
- memory
- field
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9024—Graphs; Linked lists
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99941—Database schema or data structure
- Y10S707/99943—Generating database or data structure, e.g. via user interface
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Executing Machine-Instructions (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
発明分野
この発明は一般的には計算機システム、特にデータ・ベ
ース・オペレーション領域の改良されたディジタル計算
機に関する。 従来技術の説明 電子計算機は主として真空管によって袴徴づけられる第
1世代のハードウェアから、トランジス外こよって特徴
づけられる第2世代のハードウェアに、そして集積回路
によって主として特徴づけられる第3世代のハードウェ
アに成長してきた。 これらの異る世代のハードウェアと共に異る世代のソフ
トウェアがあり、その第1の世代のソフトウェアは機械
語、ァッセンブラ、サブ・ルーチンによって主として特
徴づけられ、第2世代のソフトウェアは高レベル言語、
モニカ、マイクロアツセンブラによって特徴づけられる
。第3世代のソフトウエアはオベレーテイングシステム
、オンライン・リアル・タイム・システム、マルチプロ
グラミング・システム、及びデータ・ベース管理システ
ムによって特徴づけられる。第1世代のソフトウェアと
組み合わされた第1世代のハードウェア、及び第2世代
のソフトウェアと組み合わされた第2世代のハードウェ
アは、ジョブが主として直列に解釈実行されるバッチ処
理の方に向けられていた。 さらに、第3世代のハードウエア/ソフトウエア・シス
テムはまたバッチ処理に向けられている。しかしながら
、マルチプログラミングの出現のため、いくつかのジョ
ブは直列よりも並列に解釈実行され、入力情報が発生す
るとき処理のためにそれを受け取らせる。第4世代のシ
ステムは、広いプロセッサ応用が可能な回線制御システ
ムとして典形的には分類され、かつまた主としてバッチ
・プログラムよりもむしろ伝送データによって動作させ
られ(すなわち、システム制御は主としてオペレータ動
作によるよりも入力によって確立する)、そしてここで
情報の提出はリアル・タイムで一般的になされる。コン
ピュータシステムの上述の世代の進展において、主要な
要求は計算機システムのデータ・ベースの効果的アクセ
ス・メソッドを開発することだった。 システム・データ・ベースの開発において、最初は多く
の異るデータ・ベースが各用途のために発展した。デー
タ・ベースのこの多くの発展の結果、過度の記憶装置要
求及び余分なデータ記憶が生じるという問題が起こり、
そしてそれはある個所では正しく、かつ別の個所では不
正確に異る時間に更新される余分なデータを有すること
により、その問題をさらに悪化させる。システムの多く
のデータ・ベースを一つのデータ・ベースに集積するこ
とにより、これらの問題を解決する処置がなされた。ハ
ネウエル・ィンテグレーテツド。データ。ストア(mS
)はこれらの問題を緩和するために設計されたシステム
の一例であった。このmSは、例えばこの発明の制御シ
ステムによるデー夕べ−スの関連データの読みこみ書き
出しのため内部監査手打頂及び給与計算手順に使用する
ことのできる一つの中央データベースから成る。この中
央集積データ・ベースにおいて、いくつかの機能的要求
に共通な情報を記述する単一の記録がある。例えば、在
庫管理及び内部監査では倉庫内の任意の部品の数を読み
こみ書き出すであろう。集積データベースを用いる効果
的な技術は常に改善されるソフトウェア技術によって発
展した。 このセットの概念は記録間の関係を基礎にして集積デー
タ,ベースの記録を読みこみ書き出す技術である。典形
的関係は例えば製造部門のような特別の部門の全従業員
である。製造部門はオーナー記録と呼ばれるものによっ
て記述され、かつその部門の従業員はメンバー記録と呼
ばれるものによって記述される。その部門のメンバーの
ような関係を記述するセットはそのときオーナー記録を
通して読みこみ書き出され、そしてそれはソフトウェア
によって全てのメンバー記録を得、このように例えばこ
の部門の全ての従業員をプリントする。この段階の開発
において、IDSは上述した真のデータ問題のいくつか
、すなわち異るデータ・ベースの冗長データ及び最新の
多重記録複写問題を解決した。 この問題は単一の記録によって解決され、それ故それは
データ記録袋直サイズを減少させ、かつ単一データ複写
を可能にした。データ・ベースを用いるときの別の問題
は依然として実行領域に残る。このセットの概念は計算
機を利用する新しい技術を表わし、これらの新しい技術
を助ける現在の中央プロセッサに存在する特殊ハードウ
ェア命令はなかった。結果として、このセットの第1の
メンバ−を見つけるようなセットの動作が、加算、ロー
ド、ストア等の一連の標準機械命令を遺してソフトウェ
アで実施される。この結果は、むしろ簡単なセット及び
他のセットの動作のために命令実行が長くなった。必要
なのは、命令実行時間及び他のシステム実行パラメ−外
こ関して、セットの動作及び効率的なデータ・ベース・
システムを用いる集積データ技術ですでに解決されたよ
うな伝統的データ問題を解決したデータ・ベース・シス
テムであった。 この特殊ハードウェア/ファームウェア支持命令を達成
するために、このセットの動作が加わることが必要だっ
た。たとえば、データ・べ−ス・ページの次の有効記録
を見つけるための一つの命令は伝統的機械において同じ
動作を実行するのに要求される一連の10〜2の票準機
械命令よりもずっと少し・時間で実行される。発明の目
的 この発明の主要な目的は改良された汎用のディジタル計
算機を提供することである。 この発明の昇りの目的は改良されたデータ・ベース管理
動作を有する改良された汎用のディジタル計算機を提供
することである。 この発明のさらに別の目的はデータ・ベースポィンタが
現在ストアされている適正なしジスタを決定し、そのレ
ジスタからそのポインタを取り出して主メモ川こストア
させるハードウエアノフアームウェア命令を提供するこ
とである。 この発明のさらに別の目的はユーザ及びオベレ−テイン
グ・システム・プログラムの命令を減らすことである。 発明の要約先の目的は、データ・ベース・ポインタが現
在ストアされている適切なしジスタを決定し、そのポイ
ンタをそのレジスタから取り出して主メモリ内にストア
する一連のハードウェア/ファームウェア実行命令を与
えるこの発明の一実施例によって達成される。 1概論 A 開示の範囲及び編制 大規模計算機にロードされていないデータ1ベース命令
に使用される環境は必然的に複雑になり、かつ典形的に
はハネウエル・シリーズ6幅計算機に見られる。 さらに、この発明の教えの完全な理解は、このような装
置が存在する環境を読者が熟知しているときにのみ得ら
れる。このため、この発明の原理が有利に利用される型
式の奥形的大規模データ処理システムの一般的構成を少
くとも簡単に調査することが望ましい。また、この発明
の基本的概念をまず確立し、理解することが望ましい。
データ・ベース・セットのキ晩念は、計算機歴史の大部
分で、主としてプログラミングにおいて共通に使用され
てきたい〈つかの技術(テーフル、リスト、チエイン、
リング、フアイル、フイールドァレィ)を統合する。(
この概念はデータ構成セットがその名前とその特性の多
くを得る一般的数学的セット千鰍念の限定である。この
開示において、“セット”という用語は常にデータ構成
内で使用され、数学的な意味ではない)。多くのシステ
ムはこのセットの概念を支持するがしかしソフトウエア
においてのみである。 データベース管理領域で、ハネウエル・インテグレーテ
ツド・デ−夕・ストア(IDS)システムはこのセット
の概念を始めて広く使用して、複雑な製造及び銀行業務
問題を処理した。IDSはチェイン(リング)型のセッ
トのインプレメンテーションを使用する。これらの基本
的概念はハードウェアノフアームウェァで実施され、か
つ現存する機琢内に獲み合わされて新しい、改良された
ディジタル計算機を提供する。セットは、自然界対象物
を近似するデータ構成を築き、かつ記憶する必要のある
3つの補足的概念(記録、フィールド、セット)の一つ
である。 もし自然界が、存在する実体、それらを説明する特質、
及びそれらに関連する関係に関して考えられるならば、
そのとき等価な情報システム視宅念はそれぞれ記録、フ
ィールド、及びセットである。学校環境から取られた簡
単な例において、実体は先生と子供である。先生の特質
のいくつかは“名前”、“学年”、及び“教室”である
。子供の特質のいくつかは“名前”、“年令”、“父兄
の名前”である。先生と子供の間に関係が存在する。こ
の自然界環境の情報システム・モデルにおいて、2つの
類の記録(一方は先生のため、もう一方は子供のため)
が生じるであろう。各先生の記録において、先生の名前
を記憶するフィールド、学年のための別のフィールド、
教室番号のための別のフィールドがある。各子供の記録
は子供の名前のためのファイル、彼の年令のための別の
ファイル、及び彼の父兄の名前の別のファイルを有する
。情報システムはセット概念を実行するように選択され
たい〈つかの方法のうちのひとつで先生の記録に子供の
記録を結びつけることができる。これは、彼らの先生の
記録がファイルに配列されたのち全ての子供の記録を物
理的に贋くことによってなされる。これはテーブルもし
くは記録アレイと呼ばれる。この実施例はセット概念の
チヱィン(リング)インプレメンテーション技術を組み
合わせる。この形式において、オーナー記録は第一のメ
ンバー記録へのポィンタを含む。次に、各メンバー記録
は次のメンバー記録へのポィンタを含む、この絹の最後
のメンバー記録はオーナー記録にもどるポィンタを含む
。以前の記録のアドレスを保持する追加のポィンタフィ
ールド及び多分メンバー記録のためのオーナー記録への
ポィンタを有するオーナーと全てのメンバー記録あるい
はオーナー記録を供給する変形が許される。このように
説明されたデータ構成のセットの概念は数学的セット概
念の精製である。 すなわちデータ構成セットにおいてセット定義は“オー
ナー”ロールの例に具体化される。セット・メンバーは
“メンバー”ロールの例に具体化される。記録は同時に
異なるセットのオーナー及びメンバーのような多くのロ
ールを有する。この特性により裏世界の複雑さを模する
複雑な構成が形成され、処理される。数学的セット鴇*
念のこの精製において、オーナーからメンバーにあるい
は任意のメンバーからオーナーに可逆的に進み、セット
定義を再確立することができる。データ構成セットにと
つて、セット定義はオーナー記録内のあるフィールドの
値に通常基いており、他方このセットのメンバーは潜在
メンバー記録内の等価なフィールドの匹敵値により計算
機内に再確立される。 この匹敵データを保持するメンバー記録からこのフィー
ルドを除くことにより、かつ再組み立てのためにオーナ
ー記録に依存して、この現象はいましば有利に利用され
る。上述の学校の例において、先生は、先生/子供セッ
トの“オーナー”の役割を有する。この例を拡張するた
めに、我々は、大部分の学校において先生と子供の関係
は、子供が異なる学科のために異なる先生につくとき単
純な関係ではなく(1:n)、むしろ複雑な関係(m:
n)であるということを認める。先生、子供の複雑な関
係は新しい関係の実体、生徒、及び二つの単純な関係、
すなわち先生:生徒と子供:生徒に変換される。先生は
クラスの生徒として多くの子供を持ち、かつ生徒として
、子供は多くの先生を持つ。新しい“生徒”実体は、一
つの関係の実体を説明しかつ別のものと区別するのに役
立つ特質“学科”と“時間”を有する。子供はいくつか
の学科に対して同じ先生を持つ。データ礎成セット概念
は四つの基本的特性を持つ。1 1セットはオーナーロ
ールに1つ、ただ1つ、そして常に1つの記録を持つ。 2 1セットはメンバーロールにゼロ、1あるいはそれ
以上の記録を持ち、かつその数は時間と共に変化する。 3 任意の記録は同時にゼロ、1、あるいはそれ以上の
セットのオーナーである。4 任意の記録は同時にゼロ
、1、あるいはそれ以上のセットのメンバーであり、こ
のように同時にいくつかのオーナー記録によって所持さ
れる。 各記録は特別のセットのメンバーとして1回だけ現われ
る。メンバーロールはオーナーロールと低鰍しない。“
次の”と“以前の”の祖*念は記憶プログラム計算機で
解く問題に基づく手続上のアルゴリズムにとって重要な
概念である。 一時に1つの記録を処理する手続上の限界に加えて、も
しセット内のメンバ−記録が前もって定義されたデータ
値の親則正しい順序もしくは時間挿入の規則正しい順序
でそれに伝えることができるならば、アルゴリズムは重
要な簡単にされた影響がある。FIF0(先入れ先出し
)、あるいはLIF○(後入れ先出し)。“最初”と“
最後”の概念はデータアルゴリズムの反複命令実行を開
始しかつ停止させるのに重要である。このようにセット
内のメンバーの順序はセットの合理的処理に欠くことが
できない。ファイル内のセットに記録を組み合わせるこ
との主要な目的は、自然界関係を模することと、ある特
別の関係を表わすファイル内の選択された記録を読みこ
み書き出すのを助けることである。セット−アクセス・
メソッドが表1に載せられている。表 1 アクセスメソッド ダイレクト・アクセス・メソッド −記録を回収 データキー・アクセス・メソッド −記録を回収 セット・オーナー・アクセス・メソッド 一記録を回収 セット・メンバー・アクセス・メソッド くり返し使用、すなわちセットの各メンバーを回収ファ
イル逐次アクセス・メソッドくり返し使用、すなわちフ
ァイル内の各記録を回収最初の4つのアクセス・メソッ
ドはトランザクション及びインクワィアリ処理において
主として使用され、そして特別の実体、関連した群の実
体の記録された状態を決定し、あるいはそれらの記録さ
れた状態を更新する必要がある。 ファイル逐次アクセス・メンツド‘ま主として周期的に
バッチファイルを更新するため、そして報告をもたらす
ために使用される。必要な場合、5つの全てのメソッド
によって同じ記録を呼び出すことは可能である。同様に
、特別の結果を達成するためにこれらのアクセス・メソ
ッドを組み合わせて使用することが可能である。上述の
例によると、先生の記録はデータキー・アクセス・メン
ツド‘こよって回収し、かつ生徒の全ての記録はセット
・メンバー・アクセス・メソッドによって回収できる。 各生徒の記録に対して、子供の記録はセット・オーナー
・アクセス・メンツド1こよって回収される。次に、回
収は子供の記録に対してデータ・キ−・アクセスによっ
て開始され、それから子供の全ての記録、そして先生の
記録を呼び出す。セットから得られる基本的回収機会は
下の表0で与えられる。表U 回収機会 与えられるもの アクセス・メソッド 決 定オー
ナー セット 第1のメンバーもしく
はからのセット通知 オーナー セット 第1のメンバーもし鰯
蕪側しけトオーナー セット・メンバー 最後
のメンバーもしくはからのセット通知 オーナー セット・メレ」 次のメンバ−もしくは
最後のセット通知億のメが‐セット.メ小‐学駿できふ
母 知 総診メンバー セット・ォ‐ナ‐ セットのオーナーセ
ットに適用する基本的オペレーションのひと組がある。 これらはよく知られている記録及びフィールドの基本的
オペレーションに補足的なものである。セットの基本的
オペレーションの収集及び記録とフィールドの補足基本
的オペレーションは、ユーザーが、彼の従事しているデ
ータを呼び出し、変化させ、移動させ、削除等を行うハ
ードウェアノフアームウェアのプリミティブを有する処
理装置として知られているものを構成する。このプリミ
ティブ(すなわちハードウェア/ファームウェア命令)
は、フィールド(すなわちデータ項目)、記録、セット
、及び手順論理制御に関するオペレーションに細分化す
ることができる。ハードウェアノフアームウェア命令の
次の群はフィールド内のデータを処理する。オペレーシ
ョンを実行するために必要なフィールド記述情報(例え
ばサイズ、位置、記録状態)はそのオペレーションと関
連したデータ記述装置の役割として記憶される。この群
に含まれるオペレーションは、例えば桁送り、比較、寄
せ集め、加算、減算、乗算、及び除算である。ハードウ
ェアノフアームウェア命令の次の群はデータのダイレク
トアクセスと直列アクセスの両方の処理をする。 これらはデータ記録、その次の回収、変形、テスト、破
壊をする。記録ファームウェア/ハードウェア命令は記
録をつくり、記録を破壊し、直援記録を見つけ、直列記
録を見つけ、記録タイプをテストすることである。セッ
ト・ハードウェア/ファームウェア命令の次の群は普通
のデータ処理の本質及び高等データベース及び通信情報
管理システムのビルディングフロックをなす。 それらはセットの創造呼び出し、処理及びテストをする
。ハードウェア/ファームウェア命令は記録を挿入し、
記録を取り除き、関連した言己鍵を見つけ、(1番を見
つけ、最後を見つけ、次を見つけ、以前を見つけ、1番
目を見つけ)、オーナー記録を見つけ、からのセットを
テストし、挿入されたメンバーをテストし、オーナー記
録を開始し、メンバー記録を開始することである。次の
群のベースレジスタハードウェア/ファームウェア命令
はデータベースアクセスに関する現在のプロセス状態を
決定しかつ変化させる。 ハードウェア命令はベースレジス夕の記憶を取り除き、
ベースレジスタとべ−スレジスタに記憶させる前述の“
見つけ”命令を取り消すことである。適用データベース
の記録を組織しかつ呼び出すのに使用されると共に、セ
ットはまた非常に多様なシステムソフトウェア領域で使
用される。システムソフトウェア領域のリストは下記に
図表化され、いくつかの使用法がセット概念領域にそれ
ぞれ列挙される。このリストは明白な使用法を例示する
が完全なものではない。1 データベースシステム a インデックス構成(逐次インデックスとランダムイ
ンデックス)b データ記述構成 c 共有アクセス制御リスト d プロセス応答度構成 2 フアイルシステム a カタログ構成 b アクセス権制御 3 メッセージ・システム a 郵便箱インデックス構成 b 待ち行列・メッセージ C マルチェレメントメッセージ呼び出し4 プログラ
ムシステム a 制御プログラム・ライブラリー b テキスト編集 c プログラム制御構成 d 記号参照と記号定義の結合構成 e 編成翻訳のための中間プログラム形状5 オベレー
テイング・システム a ジョブの待ち行列 b リソース・アロケーシヨン・テーブルc デッドリ
、ェンブレィス検出 d イベントを待つプロセスの待ち行列 (1/0完成、タイマー) e 発信待ち合わせ 1 一般吟味 この発明は典型的にはオペレーティングシステムによっ
て統合され、後述されるハードウェアシステム環境にお
いて動作する。 第1図を参照すると、サプシステムは、プロセス・サブ
システム101、記憶サプシステム102、及び1以上
32までの周辺サブシステム103である。プロセッサ
・サブシステムは中央処理ユニット(CPU)104、
と4つまでの入力/出力制御ユニット(IOC)105
である。各周辺サプシステムは周辺制御ユニット(PC
U)106、多数の装置アダプタ(DA)107、及び
256までの周辺1/0装置108から成る。記憶サブ
システム102は、それぞれ32〜512キロバィトの
1〜4つの半導体メモリモジュールから成る。プロセッ
サ/サブシステム101において、CPUはこのシステ
ムの基本処理オペレーションを実行し、メモリー02と
のインターフェイスを示す。 IOCI05は記憶サブシステム102と周辺装置10
6との間の全ての情報交換を制御する。A 中央処理ユ
ニット CPUは、主メモリ・シンクロナイザ109、バッファ
ストア110、計算ユニット111を構成する種々の素
子、及び選択ェミュレータ112を含む。 主メモリ・シンクロナィザ109は、計算ユニット11
1、バッファ・ストア110、及びIOCIO9の間で
主メモリを使用するための衝突を解決する。衝突は優先
権を基本にして解決される。すなわちIOCは最高の優
先権を持ち、次に(計算ユニットからの)メモリ書き込
み、それから(バッファ・ユニットへの)メモリ読み出
しと続く。 主CPUはまた主メモリアドレス指定を制御するアドレ
ス制御ユニットACU131と、主メモリの技も駁近使
用されたアドレスを記憶するために使用される麓想〆モ
リAS132を含む。バッファ・ストア110は、主メ
モリの選択された領域を再生し、かつ計算ユニット11
1とのインターフェイスを形成して平均〆モリ呼出時間
を減少させる小さな高速バッファ・メモリである。各メ
モリ読み出しの間、バッファ・ストアと壬〆モリが呼び
出される。命令取り出しされる情報がすでにバッファ・
ストアにあるならば、主メモリ読み出し
ース・オペレーション領域の改良されたディジタル計算
機に関する。 従来技術の説明 電子計算機は主として真空管によって袴徴づけられる第
1世代のハードウェアから、トランジス外こよって特徴
づけられる第2世代のハードウェアに、そして集積回路
によって主として特徴づけられる第3世代のハードウェ
アに成長してきた。 これらの異る世代のハードウェアと共に異る世代のソフ
トウェアがあり、その第1の世代のソフトウェアは機械
語、ァッセンブラ、サブ・ルーチンによって主として特
徴づけられ、第2世代のソフトウェアは高レベル言語、
モニカ、マイクロアツセンブラによって特徴づけられる
。第3世代のソフトウエアはオベレーテイングシステム
、オンライン・リアル・タイム・システム、マルチプロ
グラミング・システム、及びデータ・ベース管理システ
ムによって特徴づけられる。第1世代のソフトウェアと
組み合わされた第1世代のハードウェア、及び第2世代
のソフトウェアと組み合わされた第2世代のハードウェ
アは、ジョブが主として直列に解釈実行されるバッチ処
理の方に向けられていた。 さらに、第3世代のハードウエア/ソフトウエア・シス
テムはまたバッチ処理に向けられている。しかしながら
、マルチプログラミングの出現のため、いくつかのジョ
ブは直列よりも並列に解釈実行され、入力情報が発生す
るとき処理のためにそれを受け取らせる。第4世代のシ
ステムは、広いプロセッサ応用が可能な回線制御システ
ムとして典形的には分類され、かつまた主としてバッチ
・プログラムよりもむしろ伝送データによって動作させ
られ(すなわち、システム制御は主としてオペレータ動
作によるよりも入力によって確立する)、そしてここで
情報の提出はリアル・タイムで一般的になされる。コン
ピュータシステムの上述の世代の進展において、主要な
要求は計算機システムのデータ・ベースの効果的アクセ
ス・メソッドを開発することだった。 システム・データ・ベースの開発において、最初は多く
の異るデータ・ベースが各用途のために発展した。デー
タ・ベースのこの多くの発展の結果、過度の記憶装置要
求及び余分なデータ記憶が生じるという問題が起こり、
そしてそれはある個所では正しく、かつ別の個所では不
正確に異る時間に更新される余分なデータを有すること
により、その問題をさらに悪化させる。システムの多く
のデータ・ベースを一つのデータ・ベースに集積するこ
とにより、これらの問題を解決する処置がなされた。ハ
ネウエル・ィンテグレーテツド。データ。ストア(mS
)はこれらの問題を緩和するために設計されたシステム
の一例であった。このmSは、例えばこの発明の制御シ
ステムによるデー夕べ−スの関連データの読みこみ書き
出しのため内部監査手打頂及び給与計算手順に使用する
ことのできる一つの中央データベースから成る。この中
央集積データ・ベースにおいて、いくつかの機能的要求
に共通な情報を記述する単一の記録がある。例えば、在
庫管理及び内部監査では倉庫内の任意の部品の数を読み
こみ書き出すであろう。集積データベースを用いる効果
的な技術は常に改善されるソフトウェア技術によって発
展した。 このセットの概念は記録間の関係を基礎にして集積デー
タ,ベースの記録を読みこみ書き出す技術である。典形
的関係は例えば製造部門のような特別の部門の全従業員
である。製造部門はオーナー記録と呼ばれるものによっ
て記述され、かつその部門の従業員はメンバー記録と呼
ばれるものによって記述される。その部門のメンバーの
ような関係を記述するセットはそのときオーナー記録を
通して読みこみ書き出され、そしてそれはソフトウェア
によって全てのメンバー記録を得、このように例えばこ
の部門の全ての従業員をプリントする。この段階の開発
において、IDSは上述した真のデータ問題のいくつか
、すなわち異るデータ・ベースの冗長データ及び最新の
多重記録複写問題を解決した。 この問題は単一の記録によって解決され、それ故それは
データ記録袋直サイズを減少させ、かつ単一データ複写
を可能にした。データ・ベースを用いるときの別の問題
は依然として実行領域に残る。このセットの概念は計算
機を利用する新しい技術を表わし、これらの新しい技術
を助ける現在の中央プロセッサに存在する特殊ハードウ
ェア命令はなかった。結果として、このセットの第1の
メンバ−を見つけるようなセットの動作が、加算、ロー
ド、ストア等の一連の標準機械命令を遺してソフトウェ
アで実施される。この結果は、むしろ簡単なセット及び
他のセットの動作のために命令実行が長くなった。必要
なのは、命令実行時間及び他のシステム実行パラメ−外
こ関して、セットの動作及び効率的なデータ・ベース・
システムを用いる集積データ技術ですでに解決されたよ
うな伝統的データ問題を解決したデータ・ベース・シス
テムであった。 この特殊ハードウェア/ファームウェア支持命令を達成
するために、このセットの動作が加わることが必要だっ
た。たとえば、データ・べ−ス・ページの次の有効記録
を見つけるための一つの命令は伝統的機械において同じ
動作を実行するのに要求される一連の10〜2の票準機
械命令よりもずっと少し・時間で実行される。発明の目
的 この発明の主要な目的は改良された汎用のディジタル計
算機を提供することである。 この発明の昇りの目的は改良されたデータ・ベース管理
動作を有する改良された汎用のディジタル計算機を提供
することである。 この発明のさらに別の目的はデータ・ベースポィンタが
現在ストアされている適正なしジスタを決定し、そのレ
ジスタからそのポインタを取り出して主メモ川こストア
させるハードウエアノフアームウェア命令を提供するこ
とである。 この発明のさらに別の目的はユーザ及びオベレ−テイン
グ・システム・プログラムの命令を減らすことである。 発明の要約先の目的は、データ・ベース・ポインタが現
在ストアされている適切なしジスタを決定し、そのポイ
ンタをそのレジスタから取り出して主メモリ内にストア
する一連のハードウェア/ファームウェア実行命令を与
えるこの発明の一実施例によって達成される。 1概論 A 開示の範囲及び編制 大規模計算機にロードされていないデータ1ベース命令
に使用される環境は必然的に複雑になり、かつ典形的に
はハネウエル・シリーズ6幅計算機に見られる。 さらに、この発明の教えの完全な理解は、このような装
置が存在する環境を読者が熟知しているときにのみ得ら
れる。このため、この発明の原理が有利に利用される型
式の奥形的大規模データ処理システムの一般的構成を少
くとも簡単に調査することが望ましい。また、この発明
の基本的概念をまず確立し、理解することが望ましい。
データ・ベース・セットのキ晩念は、計算機歴史の大部
分で、主としてプログラミングにおいて共通に使用され
てきたい〈つかの技術(テーフル、リスト、チエイン、
リング、フアイル、フイールドァレィ)を統合する。(
この概念はデータ構成セットがその名前とその特性の多
くを得る一般的数学的セット千鰍念の限定である。この
開示において、“セット”という用語は常にデータ構成
内で使用され、数学的な意味ではない)。多くのシステ
ムはこのセットの概念を支持するがしかしソフトウエア
においてのみである。 データベース管理領域で、ハネウエル・インテグレーテ
ツド・デ−夕・ストア(IDS)システムはこのセット
の概念を始めて広く使用して、複雑な製造及び銀行業務
問題を処理した。IDSはチェイン(リング)型のセッ
トのインプレメンテーションを使用する。これらの基本
的概念はハードウェアノフアームウェァで実施され、か
つ現存する機琢内に獲み合わされて新しい、改良された
ディジタル計算機を提供する。セットは、自然界対象物
を近似するデータ構成を築き、かつ記憶する必要のある
3つの補足的概念(記録、フィールド、セット)の一つ
である。 もし自然界が、存在する実体、それらを説明する特質、
及びそれらに関連する関係に関して考えられるならば、
そのとき等価な情報システム視宅念はそれぞれ記録、フ
ィールド、及びセットである。学校環境から取られた簡
単な例において、実体は先生と子供である。先生の特質
のいくつかは“名前”、“学年”、及び“教室”である
。子供の特質のいくつかは“名前”、“年令”、“父兄
の名前”である。先生と子供の間に関係が存在する。こ
の自然界環境の情報システム・モデルにおいて、2つの
類の記録(一方は先生のため、もう一方は子供のため)
が生じるであろう。各先生の記録において、先生の名前
を記憶するフィールド、学年のための別のフィールド、
教室番号のための別のフィールドがある。各子供の記録
は子供の名前のためのファイル、彼の年令のための別の
ファイル、及び彼の父兄の名前の別のファイルを有する
。情報システムはセット概念を実行するように選択され
たい〈つかの方法のうちのひとつで先生の記録に子供の
記録を結びつけることができる。これは、彼らの先生の
記録がファイルに配列されたのち全ての子供の記録を物
理的に贋くことによってなされる。これはテーブルもし
くは記録アレイと呼ばれる。この実施例はセット概念の
チヱィン(リング)インプレメンテーション技術を組み
合わせる。この形式において、オーナー記録は第一のメ
ンバー記録へのポィンタを含む。次に、各メンバー記録
は次のメンバー記録へのポィンタを含む、この絹の最後
のメンバー記録はオーナー記録にもどるポィンタを含む
。以前の記録のアドレスを保持する追加のポィンタフィ
ールド及び多分メンバー記録のためのオーナー記録への
ポィンタを有するオーナーと全てのメンバー記録あるい
はオーナー記録を供給する変形が許される。このように
説明されたデータ構成のセットの概念は数学的セット概
念の精製である。 すなわちデータ構成セットにおいてセット定義は“オー
ナー”ロールの例に具体化される。セット・メンバーは
“メンバー”ロールの例に具体化される。記録は同時に
異なるセットのオーナー及びメンバーのような多くのロ
ールを有する。この特性により裏世界の複雑さを模する
複雑な構成が形成され、処理される。数学的セット鴇*
念のこの精製において、オーナーからメンバーにあるい
は任意のメンバーからオーナーに可逆的に進み、セット
定義を再確立することができる。データ構成セットにと
つて、セット定義はオーナー記録内のあるフィールドの
値に通常基いており、他方このセットのメンバーは潜在
メンバー記録内の等価なフィールドの匹敵値により計算
機内に再確立される。 この匹敵データを保持するメンバー記録からこのフィー
ルドを除くことにより、かつ再組み立てのためにオーナ
ー記録に依存して、この現象はいましば有利に利用され
る。上述の学校の例において、先生は、先生/子供セッ
トの“オーナー”の役割を有する。この例を拡張するた
めに、我々は、大部分の学校において先生と子供の関係
は、子供が異なる学科のために異なる先生につくとき単
純な関係ではなく(1:n)、むしろ複雑な関係(m:
n)であるということを認める。先生、子供の複雑な関
係は新しい関係の実体、生徒、及び二つの単純な関係、
すなわち先生:生徒と子供:生徒に変換される。先生は
クラスの生徒として多くの子供を持ち、かつ生徒として
、子供は多くの先生を持つ。新しい“生徒”実体は、一
つの関係の実体を説明しかつ別のものと区別するのに役
立つ特質“学科”と“時間”を有する。子供はいくつか
の学科に対して同じ先生を持つ。データ礎成セット概念
は四つの基本的特性を持つ。1 1セットはオーナーロ
ールに1つ、ただ1つ、そして常に1つの記録を持つ。 2 1セットはメンバーロールにゼロ、1あるいはそれ
以上の記録を持ち、かつその数は時間と共に変化する。 3 任意の記録は同時にゼロ、1、あるいはそれ以上の
セットのオーナーである。4 任意の記録は同時にゼロ
、1、あるいはそれ以上のセットのメンバーであり、こ
のように同時にいくつかのオーナー記録によって所持さ
れる。 各記録は特別のセットのメンバーとして1回だけ現われ
る。メンバーロールはオーナーロールと低鰍しない。“
次の”と“以前の”の祖*念は記憶プログラム計算機で
解く問題に基づく手続上のアルゴリズムにとって重要な
概念である。 一時に1つの記録を処理する手続上の限界に加えて、も
しセット内のメンバ−記録が前もって定義されたデータ
値の親則正しい順序もしくは時間挿入の規則正しい順序
でそれに伝えることができるならば、アルゴリズムは重
要な簡単にされた影響がある。FIF0(先入れ先出し
)、あるいはLIF○(後入れ先出し)。“最初”と“
最後”の概念はデータアルゴリズムの反複命令実行を開
始しかつ停止させるのに重要である。このようにセット
内のメンバーの順序はセットの合理的処理に欠くことが
できない。ファイル内のセットに記録を組み合わせるこ
との主要な目的は、自然界関係を模することと、ある特
別の関係を表わすファイル内の選択された記録を読みこ
み書き出すのを助けることである。セット−アクセス・
メソッドが表1に載せられている。表 1 アクセスメソッド ダイレクト・アクセス・メソッド −記録を回収 データキー・アクセス・メソッド −記録を回収 セット・オーナー・アクセス・メソッド 一記録を回収 セット・メンバー・アクセス・メソッド くり返し使用、すなわちセットの各メンバーを回収ファ
イル逐次アクセス・メソッドくり返し使用、すなわちフ
ァイル内の各記録を回収最初の4つのアクセス・メソッ
ドはトランザクション及びインクワィアリ処理において
主として使用され、そして特別の実体、関連した群の実
体の記録された状態を決定し、あるいはそれらの記録さ
れた状態を更新する必要がある。 ファイル逐次アクセス・メンツド‘ま主として周期的に
バッチファイルを更新するため、そして報告をもたらす
ために使用される。必要な場合、5つの全てのメソッド
によって同じ記録を呼び出すことは可能である。同様に
、特別の結果を達成するためにこれらのアクセス・メソ
ッドを組み合わせて使用することが可能である。上述の
例によると、先生の記録はデータキー・アクセス・メン
ツド‘こよって回収し、かつ生徒の全ての記録はセット
・メンバー・アクセス・メソッドによって回収できる。 各生徒の記録に対して、子供の記録はセット・オーナー
・アクセス・メンツド1こよって回収される。次に、回
収は子供の記録に対してデータ・キ−・アクセスによっ
て開始され、それから子供の全ての記録、そして先生の
記録を呼び出す。セットから得られる基本的回収機会は
下の表0で与えられる。表U 回収機会 与えられるもの アクセス・メソッド 決 定オー
ナー セット 第1のメンバーもしく
はからのセット通知 オーナー セット 第1のメンバーもし鰯
蕪側しけトオーナー セット・メンバー 最後
のメンバーもしくはからのセット通知 オーナー セット・メレ」 次のメンバ−もしくは
最後のセット通知億のメが‐セット.メ小‐学駿できふ
母 知 総診メンバー セット・ォ‐ナ‐ セットのオーナーセ
ットに適用する基本的オペレーションのひと組がある。 これらはよく知られている記録及びフィールドの基本的
オペレーションに補足的なものである。セットの基本的
オペレーションの収集及び記録とフィールドの補足基本
的オペレーションは、ユーザーが、彼の従事しているデ
ータを呼び出し、変化させ、移動させ、削除等を行うハ
ードウェアノフアームウェアのプリミティブを有する処
理装置として知られているものを構成する。このプリミ
ティブ(すなわちハードウェア/ファームウェア命令)
は、フィールド(すなわちデータ項目)、記録、セット
、及び手順論理制御に関するオペレーションに細分化す
ることができる。ハードウェアノフアームウェア命令の
次の群はフィールド内のデータを処理する。オペレーシ
ョンを実行するために必要なフィールド記述情報(例え
ばサイズ、位置、記録状態)はそのオペレーションと関
連したデータ記述装置の役割として記憶される。この群
に含まれるオペレーションは、例えば桁送り、比較、寄
せ集め、加算、減算、乗算、及び除算である。ハードウ
ェアノフアームウェア命令の次の群はデータのダイレク
トアクセスと直列アクセスの両方の処理をする。 これらはデータ記録、その次の回収、変形、テスト、破
壊をする。記録ファームウェア/ハードウェア命令は記
録をつくり、記録を破壊し、直援記録を見つけ、直列記
録を見つけ、記録タイプをテストすることである。セッ
ト・ハードウェア/ファームウェア命令の次の群は普通
のデータ処理の本質及び高等データベース及び通信情報
管理システムのビルディングフロックをなす。 それらはセットの創造呼び出し、処理及びテストをする
。ハードウェア/ファームウェア命令は記録を挿入し、
記録を取り除き、関連した言己鍵を見つけ、(1番を見
つけ、最後を見つけ、次を見つけ、以前を見つけ、1番
目を見つけ)、オーナー記録を見つけ、からのセットを
テストし、挿入されたメンバーをテストし、オーナー記
録を開始し、メンバー記録を開始することである。次の
群のベースレジスタハードウェア/ファームウェア命令
はデータベースアクセスに関する現在のプロセス状態を
決定しかつ変化させる。 ハードウェア命令はベースレジス夕の記憶を取り除き、
ベースレジスタとべ−スレジスタに記憶させる前述の“
見つけ”命令を取り消すことである。適用データベース
の記録を組織しかつ呼び出すのに使用されると共に、セ
ットはまた非常に多様なシステムソフトウェア領域で使
用される。システムソフトウェア領域のリストは下記に
図表化され、いくつかの使用法がセット概念領域にそれ
ぞれ列挙される。このリストは明白な使用法を例示する
が完全なものではない。1 データベースシステム a インデックス構成(逐次インデックスとランダムイ
ンデックス)b データ記述構成 c 共有アクセス制御リスト d プロセス応答度構成 2 フアイルシステム a カタログ構成 b アクセス権制御 3 メッセージ・システム a 郵便箱インデックス構成 b 待ち行列・メッセージ C マルチェレメントメッセージ呼び出し4 プログラ
ムシステム a 制御プログラム・ライブラリー b テキスト編集 c プログラム制御構成 d 記号参照と記号定義の結合構成 e 編成翻訳のための中間プログラム形状5 オベレー
テイング・システム a ジョブの待ち行列 b リソース・アロケーシヨン・テーブルc デッドリ
、ェンブレィス検出 d イベントを待つプロセスの待ち行列 (1/0完成、タイマー) e 発信待ち合わせ 1 一般吟味 この発明は典型的にはオペレーティングシステムによっ
て統合され、後述されるハードウェアシステム環境にお
いて動作する。 第1図を参照すると、サプシステムは、プロセス・サブ
システム101、記憶サプシステム102、及び1以上
32までの周辺サブシステム103である。プロセッサ
・サブシステムは中央処理ユニット(CPU)104、
と4つまでの入力/出力制御ユニット(IOC)105
である。各周辺サプシステムは周辺制御ユニット(PC
U)106、多数の装置アダプタ(DA)107、及び
256までの周辺1/0装置108から成る。記憶サブ
システム102は、それぞれ32〜512キロバィトの
1〜4つの半導体メモリモジュールから成る。プロセッ
サ/サブシステム101において、CPUはこのシステ
ムの基本処理オペレーションを実行し、メモリー02と
のインターフェイスを示す。 IOCI05は記憶サブシステム102と周辺装置10
6との間の全ての情報交換を制御する。A 中央処理ユ
ニット CPUは、主メモリ・シンクロナイザ109、バッファ
ストア110、計算ユニット111を構成する種々の素
子、及び選択ェミュレータ112を含む。 主メモリ・シンクロナィザ109は、計算ユニット11
1、バッファ・ストア110、及びIOCIO9の間で
主メモリを使用するための衝突を解決する。衝突は優先
権を基本にして解決される。すなわちIOCは最高の優
先権を持ち、次に(計算ユニットからの)メモリ書き込
み、それから(バッファ・ユニットへの)メモリ読み出
しと続く。 主CPUはまた主メモリアドレス指定を制御するアドレ
ス制御ユニットACU131と、主メモリの技も駁近使
用されたアドレスを記憶するために使用される麓想〆モ
リAS132を含む。バッファ・ストア110は、主メ
モリの選択された領域を再生し、かつ計算ユニット11
1とのインターフェイスを形成して平均〆モリ呼出時間
を減少させる小さな高速バッファ・メモリである。各メ
モリ読み出しの間、バッファ・ストアと壬〆モリが呼び
出される。命令取り出しされる情報がすでにバッファ・
ストアにあるならば、主メモリ読み出し
【ま終わり、情
報はバッファ・ストアから命令取り出しされる。さもな
ければ、主メモリー02が読み出される。これがなされ
る毎に、CPUは必要な情報を含む32バイトを取り出
す。この情報は未釆のメモリ・レフアレンスのためにバ
ツフア・ストア内に残る。 バッファ・ストアはソフトウェアに対して透明であるの
で、任意の瞬間に計算機を制御するプログラムは、それ
が処理する情報が、バッファ・ストアあるいは主メモリ
のどちらから命令取り出しされたかを決定することがで
きない。計算ユニット111はCPU内の全てのデータ
処理及びアドレス発生をなす。 計算ユニット内の典形的制御ストア130(Prent
iceHall、Inc.のSamirS.Husso
nによる名称がMicroprogramingである
本のPdnciplesandP協cticesを参照
のこと)はこのシステムを開始させ、CPUI04とI
OCI05を制御し、命令セットを解読するファームウ
ェアを含む。制御ストアは選択的に科学命令、テストル
ーチン、エミユレータ・パッケージ、あるいはプロセッ
サ・サブシステムの能力を伸ばす特殊目的の特徴を形成
する。選択的に、CPUはこのシステム以外のシステム
のエミュレーションを形成する。 ェミユレータ112はフアームウエア、ソフトウェア、
及びある場合にはハードウェアの構成要素である。B
入力一出力制御ユニット プロセッサ・サブシステムのIOCI05部分は任意の
周辺サブシステム103と記憶サブシステム102の間
にデータ通路を形成する。 この遠路は周辺指令制御袋贋を開始させ、データ伝達を
生じさせる。 IOCは典型的に32までのチャンネル制御ユニット(
図示されず)を処理する。C 周辺サブシステム 第1図の周辺サブシステム103におい て、PCUI06は、1/0オペレーションの間1/0
装置108を制御することによりCPUI04のロード
を救援する独立マイクロプログラミング・プロセッサで
ある。 PCUはこれをチャンネルプログラムに含まれる実行命
令によってなされる。 このプログラムはPCUで実行される代数、論理、伝達
、桁送り、及び分M皮オペレーションを生じる。 各制御装置の種類に従っていくっかの種類のPCUがあ
る。すなわちユニット記録、集中(ディスク)記憶装置
、磁気テープ、通信等である。装置アダプタ107は各
PCUとそれを制御する装置の間で伝達の媒介をする。 各々は特別の型式の装置との通信を実施するのに必要な
ファームウェア及び論理装置を含む。この型式に従って
、DAI07は1〜数個の袋鷹を制御する。周辺サブシ
ステム103によってなされる主要な機能は次の様であ
る。 I CPU命令を一連の周辺装置に変換する。 2 CPUもしくは適切な周辺袋直によって必要とされ
る形にデータをバックし、かつ.アンパツクする。 3 サブシステム及びその制御のもとにある装置の状態
をCPUに通知したままに保持する。 4 エラー及び回復手順を独立して開始し、かつ処理す
る。 5 関連周辺プロセッサの袋道共有能力を乱すことなく
、装置のオンライン診断を可能にする。 PCUはそれぞれに取り付けられた菱贋間の主メモリの
衝突を解決するが、IOCはPCU間の衝突を解決する
。 D 記憶サブシステム 各メモリ・モジュール1−4は4あるいは8バイトの中
である。 モジュール数、それらのサイズ、及びデータ通路中は計
算機の大きさに従って変化する。メモリ。モジュールは
、4つのモジュールが順次呼び出されるように4重にイ
ンターリ−ブされる(モジュ−ルーは第1の8バイトを
含み、モジュール2は第2の8バイトを含む等である)
。 このインターリーブは主メモリを呼び出すときの衝突数
を減らし、それによって平均〆モリ呼出時間を減らす。
メモリは故障の場合に再配列することができる。すなわ
ちモジュール内のメモリ・フロックは隣接アドレッシン
グを壊すことなく除去される。主メモリー02は、酸化
金属半導体 (MOS)チップの形をした容量記憶媒体から成る。 この媒体は情報を維持するため、リフレッシュすること
を原則にして動作する。各メモリ位置は典型的には、少
くとも2ミリ秒毎に1回りフレッシュされ、すなわちリ
フレッシュタィミング.とメモリ呼び出しの間にほとん
ど衝突は生じないように設計される(衝突の場合に、リ
フレッシュすることが優先する)。主メモリで始まる領
域はハードウェアとファームウェアのために指定されて
いる。 この領域の上限は、システムソフトウェアに明らかな境
界アドレスレジスタ(後述されるBAR)の内容によっ
て限定される。 BAR内容はシステム開始時間に設定される。BAR内
に指定されたアドレス以下のメモリ領域は、周辺サブシ
ステムの構成を限定するIOCテーフル、CPUを制御
するフア−ムゥェア、あるいはエミュレーション用のマ
イクロプログラムとテーブルを含むことができる。 BAR内に指定されたアドレス以下の領域のサイズはシ
ステム構成に左右される。マイクロプログラムが主メモ
リにあるか、あるいは制御ストアにあるかどうかはシス
テム構成及びシステムの応用動作に左右される。2 基
本的機械構成 このハードウェアで利用される典形的には3つの基本デ
ータ構成がある。 すなわちデータ・フオーマットソフトウェア可視レジス
タ、及び命令フオーマツトである。A デ−夕・フオー
マツト 情報は8並列ビットの倍数でCPUとメモリ間で伝達さ
れる。 情報の各8ビットユニットはバイトと呼ばれる。パリテ
ィあるいはエラー訂正データがまたデータと共に伝達さ
れるが、ソフトウェアには影響されない。それ故、この
明細書において、データという用語はそれに関連したパ
リティあるいはエラー訂正データを除外する。B ノゞ
イト バイト内のビットは左から右に0〜7の番号がつけられ
る。 バイトは別々に、あるいはグループで処理される。2バ
イトは半藷を、4バイトは1語を、8バイトは2語を、
そして18ゞィトは4語を構成する。 命令を含む全てのデータに基本的フオーマットがある。
C データ表示 全てのデータは2進形であるが、2進、10進、あるい
は文字数字式に解釈される。 データビットは、IG隼符号化2進データとして、4つ
の群で解釈される。すなわち8は文字数字式に、16〜
64は2進数字として解釈される。後者は2進概念にお
いて、符号化、固定もしくは浮動小数点数として解釈さ
れる。2語までの隣接ビットの任意の数はまたストリン
グとして処理される。 文字数字式字の組は、EBCDICで表わされる。 ASCIIは別の交換コードとして支持される。D /
ゞイト・アドレス 主メモリのバイト位置はゼロで始まる連続番号がつけら
れる。 各番号はバイトのアドレスである。一群の連続バイトは
、もし群内の左のバイトのアドレスがそれぞれ2、4、
8あるいは16の倍数であるならば、半語、1藷、2語
あるいは4語整列しているといわれる。半語、1語、2
語、あるいは4語がこのように整列しているときはいつ
でも、そのユニットはそのアドレスから命令取り出しさ
れる。主メモリのデータの位置は、アドレス展開の間、
間接的に呼び出されるデータ記述子によって指定される
。(発明の名称が“分解アドレス展開”でこの世願と同
じ談受人に譲渡された米国特許第39斑096号を参照
のこと)E 可視レジスタ 第1図のCPUI04には33のユーザ可視レジスタが
あり、その内容はCPUの状態を集合的に限定する。 4つの型式がある(第2図参照)。 1 汎用レジスタ 2 ベースレジスタ 3 科学レジスタ(選択的) 4 種々雑多なしジスタ F 汎用レジスタ 第2図の汎用レジスタ(GR)201は固定4・数点2
進数及びビットストリングを処理するために使用される
。 CPUI04には、16の32ービツトの汎用レジス夕
GRQ〜GR15がある。汎用レジスタGR8〜GR1
5はまたインデックスレジスタとして使用することがで
きる。インデックスレジスタとして使用されるとき、そ
れらはここではXO〜X7と呼ばれる。すなわちインデ
ツクシングはしジスタに含まれる32ビットの2つの補
足整数を使用してなされる。G ベースレジスタ ベースレジスタは命令カウンタIC及びスタツクレジス
タ202一203と同じフオーマットを有する。 ベースレジスタはメモリ部分を限定するアドレス計算の
間に使用される。 奥形的には、8つの32ビットベースレジスタBRO〜
BR7がある。H 科学レジスタ 科学レジスタ(SR)は浮動小数点2進数によって計算
する選択装置である。 奥形的には4つの8バイト科学レジスタ4がありSRO
〜SR3として参照される。科学レジスタは第2図のフ
オーマツト204−205を有する。1 種種々雑多な
しジスタ 5つの他のレジスタがある。 すなわち、・フオーマット202一203を有する命令
力ウンタ・フオーマット207を有する状態レジスタ・
(Tレジスタと呼ばれる)スタツクレジスタ・構成20
2一203を有する境界アドレスレジスタ・構成208
を有するハードウェア制御マスクレジスタ命令カウンタ
(IC)は、実施される命令のアドレスを含む32ビッ
トのレジスタである。 状態レジスタ(STR)207は、現在実施されている
手順についての事実を記録する8ビットのレジスタであ
り、列えば機も技近のオベレーシ3ンによってアンダー
フローが生じたかどうかを記録する。Tレジスタとして
また知られているスタツクレジスタは、現在有効な手順
と関連したプッシュ・ダウン・スタックのトップに指示
を有する32ビットのレジスタである。 後述されるスタツクは、局部変数を保持し、かつ手順開
始を指定する機構及びワークスペースを形成し、そして
情報を戻す。 境界アドレス・レジスタ(BAR)206はソフトウエ
アによって呼び出すことのできる最低主メモリアドレス
を指定する28ビットのレジスタである。 このレジスタはシステム開始の間にロードされ、そして
ソフトウェアによってのみ読み出される。ハ−ドウヱア
制御マスクレジスタ208は機械条件情報を記録する8
ビットのレジスタである。J 命令フオーマツト 多かれ少かれ利用されるけれども、略200の命令があ
る。 各命令は4つの異る長さのうちの一つであるが、常に偶
数バイトの長さである。命令は連続記憶位置に記憶され
る。最も左のバイトのアドレスは2の倍数であり、かつ
その命令のアドレスである。 命令の8つの最上位ビット(及びある場合には8〜11
あるいは12〜15のビット)はオペレーションコード
を表わし、他方残りのビットは1以上のオペランドを表
わす。 オペランドはしジスタ指示子、鞍贋指示子、アドレス語
(論理アドレス)、リテラル値、ィメデイェイト・リテ
ラル値である。オペランドの数及びその型式は命令フオ
ーマットによって決まる。3 システム組織 A ジョブステップ及びタスク 計算機システムによって実行されるワークは、ジョブ制
御言語を通して一連のジョブステップによって外部から
限定される。 ジョブステップは一単位のワークであり、そしてハード
ウェア手段がそれに割り当てられる。典型的には、ジョ
ブステップはいくつかのタスクから成る。タスクはユー
ザー限定ワークの最も小さい単位であり、対応なく実行
される命令の流れから成る。Bプロセスタスク及びジョ
ブステップのユーザー可視概念はプロセス及びプロセス
群によってそれぞれハードウェア内に表示される。 プロセスは、CPUによって同期して実行される規則正
しい順序の命令として定義される(すなわち、いくつか
のプロセスは有効な、共有手段であるが、実際上一つの
プロセスのみが任意の瞬間に動作する。プロセス群は一
つのジョブステップを実行するのに必要な関連した一組
のプロゼスである。C プロセス制御ブロック及びシス
テムベースプロセスはその実行の間、種々の点でCPU
制御を停止するため、主メモリの記憶領域はCPU状態
を保持するプロセスに利用される。 この状態情報は、プロセスがCPUの制御を再び始める
前にCPUを前もって調整するために利用される。プロ
セスに割り当てられた記憶領域はプロセス制御ブロック
(PCB)400と呼ばれ、第4図に示されている。 PCBに含まれるデータは、プロセスに割り当てられた
メモリ領域のアドレス(アドレス・スペース)、全ての
関連レジスタの内容、及びプロセスの状態を含んでいる
。このように、PCBは、いかなる情報損もなくプロセ
スを開始、あるいは再開するのに必要な情報の一時的記
憶領域として役立つ。各PCBはハードウェアに対して
透明であり、そしてシステム開始中に開発され、システ
ムオペレーション中に変形される一組のハードウェアテ
ーブルを通して、オペレーティングシステムによってア
ドレス指定される。(第5図)。システム・ベースとし
て参照される絶対的主メモリ領域である(第5図及び第
6図)。 この領域はファームウェアによって開発され、かつ読み
出すことができるが書きこむことのできないベース・ア
ドレス・レジスタ(BAR)501を通して呼び出され
る。 システム・ベース502は、現在動作しているプロセス
のジョブステップ数とプロセスステップ数(J、P)を
含む多数のシステム特質を含む。このシステム・ベース
の別の特質はJテーブル503として知られたハードウ
ェア限定データ構成への指示である。このテーフルは現
在のこのシステムの各ジョブステップのェントリを含む
。Jテーブル503の各ェントリは、またハードウェア
限定データ構成である関連Pテーブルを指示する。この
テ−ブルはプロセス群を限定し、かつプロセス群の各プ
ロセスのェントリを含む。各PテーブルェントリはPC
B400を指示する。第5図を参照する。 計算ユニット111(第2図)の算術部分506を通し
てJ番号により指示されたJテーブルポィンタ505は
、Jテーブルェントリ503を呼び出す。 このェントリは、計算ユニット506を通してP番号に
より指示されるときPテーブルェントリ504を呼び出
すPテーブルポィンタを含む。このPテーブルェントリ
は現在動作しているプロセスのPCBへのボインタ50
7を含む。このように、オペレーティングシステムはB
AR50 1の内容を使用して有効PCBを呼び出すこ
とができ、かつそれに関連した(J、P)論理名称を与
えられた別のPCBを呼び出すことができる。 D 記憶セグメンテーション ここに記述されたようなマルチプロセス環境には任意の
時間にメモリ内に多くのプロセスがある。 このようなプロセスはメモリアロケーション問題を生じ
るメモリのサイズと要求を変化させる。ここに記述され
たハードウエアはオベレーテイングシステム(ここでは
図示されず)と共同してメモリスペースを動的に割り当
てることによりこの問題を解決する。ランダム性質のメ
モリ要求により、メモリは可変サイズセグメントに割り
当てられ、そのメモリアロケーションはプロセス動作時
間の間再構成される。このようにプロセスは多数の非隣
接メモリセグメントを割り当てられる。このメモリアロ
ケーション方法はセグメンテーションと呼ばれる。セグ
メンテーションは、プロセスの一部あるいは全部が再配
置するときはいつでも変化するメモリアドレスにおいて
付加的問題を生じる。 この問題を軽減するためにここに記述されたようなシス
テムはプロセスによって使用されたアドレスが絶対的主
メモリアドレスよりも論理的である技術を提給する。こ
のような論理アドレスは絶対アドレスを開発するのに使
用される。セグメンテーションにより、セグメント記述
子を通してそれ自身のあるいは関連したメモリセグメン
トを各プロセスは呼び出す。 セグメント記述子を呼び出すことによってプロセスはセ
グメントのアドレスを得ることができる。セグメント記
述子は主メモリに含まれ、オペレーティングシステムに
よって維持される。 各プロセスは2068までのメモリセグメントを呼び出
す。 通常、これはプロセスにつき同数のセグメント記述子を
要求する。しかしながらセグメントが分割されてから後
では、オベレーテイングシステムはセグメント記述子を
セグメントテーブルに分類する。 この分類方法は1プロセス(タスク)、1プロセス群(
ジョブ・ステップ)、あるいは全体的(システム中)に
より呼びだし能力に基づいている。各プロセスはそれに
関連する15セグメントテーブルまで有する。この技術
はセグメントテーブルを通してプロセスにより呼び出さ
れることのできる各セグメントのためのただ1つのセグ
メント記述子を必要とする。このように、セグメント記
述子のため必要とされたメモリスペースは減少させられ
る。 再配置中に更新されるメモリは縮少され、いくつかのプ
ログラム保護がなされる。 (プログラム保護のための主機構はリング・システムで
ある。発明の名称が“マルチプログラム、マルチプロセ
ッサー、コンピューターシステムの情報保護”であって
この発明と同じ譲り受けた人に譲渡された米国特許出顔
第52895y号を参照のこと。)プロセスはどのセグ
メントが呼び出されるかを決定することができなければ
ならない。 従って、このシステムは2セグメントテーブル語アレイ
(STWA)を有するプロセスを形成する。これらのア
レイは、プロセスに呼び出すことのできる全てのセグメ
ントテーブルのアドレスを含む。2つのセグメントサイ
ズ、大きいのと小さいのがあるので、プロセス毎に2つ
のセグメントテーブル語アレイがある。 大きなセグメントは最大サイズ〆2バイトを有する一方
、小さなセグメントは最大サイズ?Bバイトを有する。
全てのセグメントはその最大にまで10ゞィトづつ増進
してサイズを変える。システムは典形的には28までの
大きなセグメント2040までの4・さなセグメントを
収容する。セグメントテーブル語アレイはオペレーティ
ングシステムによって再配置され、それ故プロセスは関
連したSTWAの絶対アドレスを知らなければならない
。 任意のプロセスのPCBは、第4図のアドレス、スペー
ス語ASWO−1として知られているこの情報を含む2
語を含む。 各語はセグメントテーブル語アレイSTWAを指示する
。オペレーティングシステムは、関連STWAが再配置
されるときはいつでもASWの内容を更新する。指示チ
ェィンを下方に動かせ、セグメント記述子を解読するこ
とがファームウェアの機能であり、このようにいったん
開始されると、オペレーティング・システムに対してさ
え明らかでない。セグメンテーションはプロセスのため
に利用できるような2億バイト以上のアドレス・スペー
スを限定する。 この数は主メモリの容量を越える。それ故、2次記憶装
直(磁気ディスクあるいはドラム)が主メモリと共に使
用される。オペレーティングシステムは、このシステム
が真に利用できる以上に大きなメモリを有するという錯
覚を生じる。この棺舷念はバーチユアル・メモリと呼ば
れる。任意のときに、限定されたセグメントは物理的に
主メモリ内にあってもよいし、なくてもよい。 セグメント記述子の内容は、関連したセグメントが主メ
モリ内にあるかどうかを指示する。ハードウェアは、主
メモリ内にないセグメントを呼び出す試みをプロセスに
よって検出し、かつオペレーティングシステムに通知す
る。オペレーティングシステムにより、必要なセグメン
トは2次記憶装置から主メモリ内にロードさせる。それ
から、オペレーティングシステム、セグメントの絶対ア
ドレスが見つけられる場所であるセグメント記述子内に
セグメントのメモリアドレスを位置させる。このオペレ
ーションはこのプロセスに明白でなく、そしてセグメン
トが主メモリ内になかったか、あるいはそれが主メモリ
内に再配置されなければならないということに気づいて
いない。(メモリ・セグメンテーションに対しては、発
明の名称が“区分アドレス開発”である米国特許第3耕
斑096号を参照のこと)ここで説明した計算機システ
ムは、プロセスが互いに干渉し、あるいは互いのアドレ
ススペースが独断的な方法で共有するのを妨げることに
より、データ及び手順保護を形成する。 この保護は、メモリセグメンテーションを通して呼び出
し能力を制限することにより、かつリングシステムによ
って達成される。 セグメント・テーブルはこのシステムの 種々のプロセスのアドレス・スペースを分離する。 プロセスは常に実行中にセグメント・アドレスを使用す
る。セグメント・アドレス,は、このセグメント内のセ
グメント数及び関連アドレスから成る(‘‘セグメント
・アドレス開発”の上述の出願を参照のこと)。ハード
ウェアは、プロセスによって使用されるアドレスが、こ
のプロセスに割り当てられたアドレス・スペースの一部
であるということをチェックする。もしこのアドレスが
前述のアドレス・スペースの外側にあるならば、例外が
生じる。ハードウェアは参照プロセスのセグメントテー
ブルを使用するので「別のプロセスのアドレススペース
内のデータを照会することができない。このように、別
のプロセス群に属する実体を、プロセスもしくはプロセ
ス群が照会する可能性はない。一般的に、このシステム
のアドレス・スペースの重複は、全てのプロセスに共有
されるセグメントに生じる。 これらの公知のセグメントは、アドレス衝突しないよう
にチェックするシステム・プログラムによって生じる。
このように、セグメンテーションは、ユーザープログラ
ムを互いに対して保護し、かつオペレーティング・シス
テムをユーザープログラムに対して保護する。いくつか
のプロセスによって共有されるセグメントは、これらの
プロセスの一つによる譲使用からは保護されない。 この問題を解くために、リングシステムが利用され、そ
れによって手順及びデ−タセグメントは4段階体系にグ
ループ化される。4つのりング種類は0〜3の番号がつ
けられる。 各リングはシステム特権レベルを、穣大の特権をレベル
0(最も内側のりング)、そして最4・の特権をレベル
3で(毅も外側のリング)表わす。 このシステムの各手順はそれに割り当てられた最小及び
最大実行リング番号を有し、かつそれはこの手順を呼ぶ
ものを指定する。手順は、他の手順を呼ぶことができ、
かつそれらにパラメータを通すことができるサブルーチ
ンである。リングシステムの一般的役割は次の様である
。 1 内側リング内の手順は外側リング内のデータを自由
に呼び出す。 逆に、外側リングの手順は内側リング内のデータを呼び
出すことができない。 2 外側リングの手順は内側リングの手順に分岐するこ
とができるが、逆は不可能である。 3 デ−夕を含む各セグメントは2リング値を、一方は
読み出し(RD)のために、かつもう一方は書き込み(
WR)のために割り当てられる。 これらのリング値は最大IJング値を指定し、かつ読み
出しあるいは書き込みモードのどちらかでデータを呼び
出すとき、手順は解釈実行される。 手順命令が実行される毎に、この手順のりング番号(効
果的アドレスリング、EAR)は照会データを含むセグ
メントに割り当てられたりング番号によってチェックさ
れる。 EARは、命令・カウンターのプロセス・リング番号と
、アドレツシング通路のデータ記述子及び基本的レジス
タの全てのりング番号の最大番号である。 データを呼び出すことはリング番号の比較に基いて認め
られ、あるいは否認される。例えば、もしシステムテー
ブルが最大読み出しリング値3と最大書き込みリング1
を有するセグメント内に存在するならば、そのときリン
グ3内で実行されるユーザー手順はこのテーブルを読み
出すが、しかしこのテーブルを更新しない。前もって設
計することにより、リング0と1はオペレーティングシ
ステムのために指定され、かつリング2と3はユーザー
のために指定されている。 リング川ま全システムオペレーションに重大なこれらの
セグメントを含む。IJングーは、故障が破滅的になら
ず、回復できる容量のシステムセグメントを含む。ユー
ザーはチェックアウト・プログラムのためにリング2を
、そしてデバッグプログラムのためにリング3を利用す
る。F 手順コール手順コールはここで説明されるシス
テムにおいては重要な機能である。 手順コ−ルはある手順から別の手順に通すために使用さ
れる。 すなわち、ユーザー手順でオペレーティングシステム・
サービスを用いるために、そしてオペレーティングシス
テム内にモジュール構成を達成するために使用される。
手順コールは命令及びスタックと呼ばれるハードウェア
認可実体によって達成される(第7A図)。 スタックは、最後に入り最初に出ろを基体にしてデータ
を受け取り、記憶し、そして訂正する機構である。 スタツクはスタックセグメントと呼ばれる特別のセグメ
ント内にある。 スタツクセグメントはスタツクフレーム701(第7A
,7B図)と呼ばれる多数の隣接部分から成り、かつそ
れは機能的に各手順に割り当てられる。第1のスタツク
フレームはセグメントのトップにロードされ、かつ次の
フレームはその後にロードされる。没後のロードされた
フレームがスタツクのトップと考えられる。Tレジスタ
702は、現在有効なプロセスのスタックのトップを定
める。事実上のTレジスタがこのシステムの全ての他の
プロセスのPC鱗均に存在する。第78図のスタックフ
レーム701は3つの領域から成る。 すなわち変数を記憶するワーク領域702、レジスタの
内容を保持する保持領域703、及び手順間でパラメー
タを遺す通信領域704から成る。手順コールの前に、
ユーザーは、彼が保持することを望むレジスタを指定し
なければならず、かつ彼はコールされた手順に通される
パラメータを通信領域にロードしなければならない。コ
ールがなされるとき、ハードウェアは命令カウンタIC
及びコ−ルされた手順からの復帰を容易にするため指定
されたベース・レジスタの内容を保持する。各手順コー
ルはスタックセグメント701内にスタックフレームを
創り、かつ次にネスティングされたコールは別のフレー
ムを創る。 このようにコールされた手順の一つからの各出口がスタ
ツクフレームをスタツクから削除させる。このように、
規則正しい復帰を容易にするコールの履歴が維持される
。異るリング内で実行される手順の保護を保証するため
に、異るスタックセグメントが使用される。 プロセス毎の保護リングに相当する1スタツクセグメン
トがある。PCBは、プロセスと関連したりング0,1
,2のスタツクセグメントの開始を指示する3つのスタ
ツク基本語を含む。リング3・スタツクセグメントは内
方コールによってはけつして入ることができず、それ故
、そのスタツク開始アドレスはPCBには必要でない。
4 プロセス管理及び同期化このシステムは、ソフトウ
エア、ハードウエア、及びファームウェアの組み合せを
使用するオペレーティングシステムにより制御されるマ
ルチプロセス・オペレーションをなす。 ソフトウェアはシステム内にプロセスを創りかつ削除す
る一方、ハードウェアとファームウェアはCPUのプロ
セスを多重化する。さらに、ソフトウェア、ハードウェ
ア、及びファームウエアの組合せによりプロセス間の同
期化をする。プロセスは常にではないが通常、関連した
ジョブ処理中に、そしてこのオペレーティングシステム
によって必要と考えられる目的のために他の時に、1/
0オペレーションの開始及び終了で開始され、そして停
止される。それ故、通信システムは、関連したプロセス
を効果的に開始させ、かつ停止させるために、そしてそ
れらの間に情報を通すために必要である。このハードウ
ェアシステムは、プロセス間に通信結合を形成するため
、セマフオア(semaphores:信号機)と呼ば
れる内部メッセージを発生する。A プロセス状態プロ
セスは任意のときに4つの可能なステートのうちの一つ
である。 すなわち、動作中、準備中、待機もしくは中止中である
。 ハードウェアは4つの可能なプロセスステートを認識し
、かつプロセスデイスパツチ、ステート変化を達成する
ため、またプロセスステ−トに基いたデータ構成を維持
するため種々のファームウェア手順を実行する。PCB
はその関連したプロセスの現在のステートを限定するス
テート・フィールドを含む。プロセスは、それがCPU
の制御を有するとき動作ステートにある。 この状態はアドレススペース(セグメントテーブル)及
び開始アドレスをCPUに供給することを含む。CPU
はそのときプロセスの手順セグメントにある命令を実行
する。 現在動作中のプロセスのためのPCBのプロセス名称J
テーブル語(論理アドレス)はシステムベース範囲内で
動作中のプロセス語(BAR十60)に保持される(表
6)。(洋:表5に表示されたシステムベースは表6に
表示されたものと同じであるが、いくつかの詳細は省略
されている。 )準備ステートはプロセスがCPUによって認められな
いのでCPUの制御を有さないことを除いて動作中ステ
ートと等しい。 準備ステートのプロセスはCPUを他の準備プロセス及
び動作中プロセスと争う。信号を通してメッセージのよ
うな特別なイベントが生じるまでプロセスが続かないと
きそれは待機ステートにある。 待機プロセスはCPUを争わないが要求されるイベント
を他の待機プロセスと争う。中止プロセスはソフトウェ
アによって1時止められ、後で再び始められるプロセス
である。 プロセスを止めて再び始める決定はプロセス以外のもの
である。このように中止プロセスは活動的でなくそれゆ
えイベントの発生の通知を受け取れず、またCPUを利
用できない。プロセスは次のような状態(コンディショ
ン)で中止される: ‘1} 終了命令を実行することによって(全ての機能
を完了した結果として)■ オペレーティングシステム
によって中止命令を実行することによって‘31 制御
がオペレーティングシステムに伝達されることによって
例外コンディションの発生によって B プロセス・デイスパツチ プロセスが動作中プロセスの動作によってあるステート
から他の随意的ステートに移し、もしくは他のプロセス
動作によって不随薫ステートに移す。 ディスパッチャとして知られているCPUファームウエ
アはステート間のプロセスのトランザクションを制御す
る。 デイスパツチヤは準備ステートあるいは待機ステートに
あるプロセスを処理するために−粗の待ち合わせを使用
する。中止プロセスはソフトウェアによって制御される
。第6,8,9図を参照すれば、準備あるいは待機プロ
セスはPCBとプロセスリンクと呼ばれる特別の待ち行
列エントリーとによって表わされる。 第9図はGOセグメント802の内容の展開用を示し、
有効プロセスの803a一803bと803c一803
gのプロセスリンクを含み、中止プロセスの自由プロセ
スリンクの805a−805cを含む。各プロセスリン
クはプロセス名称(J、P)「プロセス優先権及び待ち
行列中の次のプロセスリンクへの指示を指定する。これ
らは待機待ち行列803a−b及び準備待ち行列803
c一gのようなさまざまなタイプの待ち行列である。G
テーブルとして知られている、Jテープルに類似してい
るハードウェア装置は、(第6,8図)、一般的な(公
知のシステム中)セグメント802一802nへの指示
を含む。 Gテーブル801の第1の素子GOはデイスパツチャ待
ち行列を含むセグメント802を指示する。Gテーブル
801へのGテーブル指示は第5図のシステムベース5
02に現われる。またこのシステムにおいて、ベースは
GOセグメント802の準備待ち行列803c一803
gのヘッド805を講限りする内部プロセス待ち行列語
(IFQW)と呼ばれるエントリーである。このように
ディスパッチャは、準備待ち行列803c一803gを
考慮することによって全ての準備プロセスを調査するこ
とができる。 現在動作中のプロセスがステートを変えるとき、ディス
パツチャは準備待ち行列のヘッドでプロセスリンクを取
り除きPCBを呼び出すために1、P名称を使用する。
PCBによって定められたプロセスはそのとき新しい動
作中プロセスとなる。1つ以上のプロセスが同じイベン
トで待ち受けられるので、待機中プロセス803a−8
03bの待ち行列は各々のイベントに存在する。 待機中プロセスはまたGOセグメントにあるプロセスリ
ンク805を通して一緒に配列される。待機待ち行列の
ヘッドへの指示はセマフオア903(後で記述されるた
め)にある。多数のイベントはプロセスが待機する間に
存在し、それゆえ各々が関連したセマフオア903と9
04を有する多数の待機待ち行列がある。準備あるいは
待機中プロセス数は大きく変化する。 このように準備及び待機待ち行列を命ずるプロセスリン
ク数もまた変化する。この事実によりディスパツチャの
メモリ管理問題が生じる。その問題はフリー・プロセス
リンク待ち行列805a−cと呼ばれる他の持ち行列に
より解決される。この待ち行列は準備もしくは待機待ち
行列により使用されないセグメントCO内の全てのプロ
セスリンクと結合し、そして準備もしくは待機中プロセ
スの特別な待ち行列を延ばすのに使用されることができ
る。フリー・プロセスリンク待ち行列805のヘッド9
02への指示はGOセグメント802の開始近くに存在
する。C プロセス同期 プロセス同期は同じタスクに2つのプロセスワーキング
のアクティビティを調整するよう命ぜられる。 同期は通信プロセスのアドレススペースにあるデータ構
成であるセマフオア903一904を使用して達成され
る。セマフオアはイベントの発生を知らせ、かつメッセ
ージの待ち行列を処理するために使用される。このよう
な関係のイベントは、ある他のプロセスに関心あるプロ
セスによって認められる。このイベントは非同期オペレ
ーションの完了、あるいは一手段の効力の完了である。
プロセスはイベントの発生を知らせるために2つのセマ
フオア・オペレーションを使用する。 一方のオペレーションはセマフオアに信号を送り、他方
はセマフオアから信号を検出する(送り動作はいまいま
Vオペレーションと呼ばれ、受け取り動作はPオペレー
ションと呼ばれる〉。送り動作は、データが準備中であ
るデータあるいは信号をプロセスに送らせる。セマフオ
アは、別のプロセスが信号を検出する準備中となるまで
信号を記憶する。 このように、送りプロセスは、それがデータを送ってか
らは、自由に進む。受け取りオペレーションは指定され
たセマフオアを調査し、信号を検出する。一もし信号が
存在するならば、受け取りプロセスは命令を解釈実行し
続ける。しかしながら、もしセマフオアに信号がないな
らば、受け取りプロセスは待機ステートに入る。そのと
きセマフオアは待機待ち行列の先頭の指示器として役立
つ。このプロセスは、別のプロセスがその特別のセマフ
オアに信号を送るまで、セマフオアで待ち合せる待機ス
テートのままにされる。このように、セマフオアは、プ
ロセスが信号を検出するまで信号を保持することができ
、あるいはセマフオアは、信号がそれに送られるまでプ
ロセスを保持することができる。メッセージはまたプロ
セスからプロセスに通される。 メッセージは信号プラス追加情報と同じ現在もしくはそ
うでない特質を有する。 情報の一部はハードウェアによって供給され、かつ一部
はメッセージを送ったプロセスの手順によって供給され
る。メッセージは送りプロセスのプロセス名を伴う。こ
のように、多くのプロセスは送りプロセスの名前をつけ
た単一のセマフオアを通して情報を送ることができる。
メッセージ・セマフオアは、プロセスによって検出され
るべく待機中のメッセージの待ち行列を有する。 信号セマフオアによって、メモリのスペース要求は、現
存するメモリ管理問題を増加させかつ減少させる。再び
、この問題はフリー・メッセージ・リンクの待ち行列に
よって解決される。これらのリンクは、メッセージリン
クを供g資しあるいは吸収する必要があるとき、容易に
見つけられるセグメント内の既知の場所にある。 セマフオア及びそこで形成される待ち行列を異るプロセ
スによって共有されるので、全セマフオア構成が保護さ
れる。 これは、セマフオアを含む任意のセグメントの呼び出し
を制限するハードウェア及びソフトウェアによって達成
される。このように、セマフオアはセマフオア記述子セ
グメント内になければならず、(もしシステム通信が必
要ならば)そのいくつかはGセグメントである。しかし
ながら、全てのGセグメント(00を除く)はセマフオ
ア記述子セグメントである。各セマフオァ記述子はセマ
フオアへの指示器を含む。 セマフオア・アドレスはセマフオア記述子を通して開発
され、このようにセマフオアの付加された保護を形成す
る。セマフオア・セグメントは、セグメント内のセグメ
ント番号及び相対位置を使用して論理的に、あるいはG
、D番号を使用して直接にアドレス指定される。E プ
ロセス制御ブロック構成 第4図を参照すると、プロセス制御ブロック(PCB)
のフオーマツトが示されている。 プロセス制御ブロック400は主メモリの記憶領域であ
って、CPU状態を保持するプロセスに利用される。P
CBのアドレス指定は第5図に関して上述したようにな
される。PCB指示器507(第5図)は第4図のメモ
リ位層0でプロセス制御ブロックPCBを指示する。メ
モリ位置を下方向に進むとき、4バイトだけ増加するの
に対して、メモリ位置0から上方向に進むとき、それら
は8バイトだけ増加する。下方メモリ位置は0から正方
向であると考えられるのに対して、0から上方向の位置
は貸方向と考えられる。上方位置はオプショナルであり
、かつプロセス制御ブロックに含まれてもよいし、含ま
れなくてもよい。 また位置148〜176もオブショナルである。(メモ
リ位置の下の数字はプロセス制御ブロックPCBの0基
準位置からの変位をバイトで指定し、かつ特許図面にお
いて普通部品を論捉りするために使用される参照番号と
混同すべきでないということに注意のこと)バイト16
を含まず、バイト0から上方に開発されるとき、4つの
プロセス主要語PMWO〜PMW3が記憶され、かつ各
プロセス主要語PMWは長さが4バイトである。プロセ
ス主要語0はバイト0〜3を占め、かつ4部分から成る
。すなわち、ケーパピリテイ・バイト、優先権バイト、
ステート・バイト及びデコー拡張バイトDEXTである
。第10a図〜第10d図を参照すると、プロセス主要
語PMWOの詳細が示されており、さらにケーパビリテ
ィ・バイト1001の詳細第10b図に示されている。
第10b図を参照する。第1ビット1005は、時間ァ
カウント機能がこのプロセスのために実行されるかどう
かを示すアカウント・モードビットである。アカウント
・モードビット1005が2進0に設定されるとき、時
間アカウント機能はこのプロセスのために実行されない
。これに対してアカウント・モード1005が2進1に
設定されるとき、時間アカウントが実行される。 科学モード・ビット1006は、ゼロに設定されるとき
、この機械の科学レジス夕の保持が実行されず、かつ第
4図のバイト148〜176に位置した科学レジスタ保
持領域はプロセス制御ブロックPCBには存在しない。
科学モード・ビット1006が2進1に設定されるとき
、科学オプショナル特徴が存在し、かっこのプロセスに
おいて使用され、そして科学レジスタ保持領域は、必要
なとき科学レジスタの内容を保持するために使用される
。コード・モード・ビット1007は、標準コード・セ
ットあるいはコンパチプル・コード・セットがこのプロ
セスによって使用され、その位置の2進0は、標準コー
ド・セットが使用されているということを示すのに対し
て、第3のビット位置1007の2進1は、コンパチプ
ル・コード・セットが使用されているということを示す
。ケーパビリテイバィトの残りのビットはゼロに設定さ
れる。優先権バイト1002の詳細は第10c図に示さ
れている。 第10c図を参照すると、優先権バイト1002の最初
の4つのどツト1008が、その任意のプロセス制御ブ
ロックPCBと関連したプロセスの優先権レベルを設定
するために利用される。各プロセスは、規則正しい競争
プロセスのために使用される優先権の16レベルのうち
の一つを割り当てられる。すなわち‘a}準備プロセス
の闇の動作されるべきプロセスを選択するため、■プロ
セスを待ち行列にするために使用される。優先権は0か
ら15に減少し、かつ任意の優先権レベルのために、F
IF○(技初に入り最初に出る)規則が適用される。優
先権バイト1002の次の4つのビットはゼロである。
第10d図を参照すると、ステート・バイト1003の
詳細が示されている。 ステート・バイトは、プロセス制御ブロック400に関
連したプロセスに関して情報を供酪費するために利用さ
れる。 有効フィールドビットAIOIOは、このプロセスが動
作するとき、2進1に設定される。中止フィールドSI
OIIは、このプロセスが中止されるとき2進1に設定
される。副ステート・フィールドSSIO12は2ビッ
トフイールドであり、プロセスの次の副ステートを限定
する。 すなわち【a’、2進00に設定されるとき、プロセス
は不動作であり、‘b’、2進01に設定されるとき、
このプロセスは準備プロセスの待ち行列で待機しており
(Q/PR/RDY)、【c’、2進10に設定される
とき、このプロセスはセマフオアの待ち行列で待機して
おり(Q/PR/S)、【d’2進11に設定されると
き、このプロセスはプロセッサによって実行されている
。中間オペレーションフィールド(MOI)1013は
、割込みが生じるとき2進1に設定され、命令の実行中
、すなわちプロセスの完了前は、準備中である。拡張デ
コーモ−ドビツトEXTDI O 1 4は、このプロ
セスがこの機械のエミュレーションモードにあるデコー
拡張モードで動作するとき1に設定される。プロセス主
要語PMWOの第4のバイトはデコ‐拡張番号を含み、
かっこのシステムがエミュレーションモードであるとき
利用される。 プロセス主要語PMWIはプロセス制御ブロックPCB
のバイト4一7に記憶される。 PWMIの詳細は第10e図に示されている。 状態バイト1016はPMWIの第1のバイトであり、
かつ状態レジスタ内容を記憶する。マルチプロセッサバ
イトMPIO18はマルチプロセッサアーキテクチヤに
おいて重要であり、さもなければこのフィールドはゼロ
である。プロセス主要語1の第2と第4のバイトはそれ
ぞれMBZフィールド1017と1019であり、かつ
それらは通常の動作の間ゼロでなければならない。プロ
セス主要語PMW2はプロセス制御ブロックのバイト8
〜11を占め、かつ第10f図に詳細に示されている。 第10f図を参照する。ビット4〜31からのフィール
ドは、セマフオアのローカル・ネームSEG、SRAI
021を含み、そしてプロセスが待機もしくは中止ステ
ートのどちらかのとき、それにPCBがリンクされる。 例外クラス及びタイプ・フイールド1023は、プ。セ
スが例外後中止ステートにやる割込状例外のクラス及び
タイプを含む。ビット4〜15からのフィールドは、プ
ロセスが前述したのとは異るステートにあるとき無意味
1022である。 プロセス主要語PMW3はPCB内でバイト12〜15
を占め、かつデコー拡張テーブルを指示する。 PMW3の詳細のために第10g図を参照する。DET
Sフィールド1024はテーブルへのェントリ数を限定
し、かつもしこのフィールドがゼロであるならば、デコ
ー拡張はこのプロセスには認められない。DETAフィ
ールド1025は10ゞィトを単位にしたデコー拡張テ
ーブルの絶対アドレスであり、かつもしDETSZが0
でないときのみ重要である。 デコー拡張テーブルはDETSZェントリから成る。各
ェントリは1バイトの大きさである。テーブルのDEX
T番目のェントリはプロセスのケーパビリティを限定し
て、デコー拡張モードDEXTで動作させる。 DEXT番目のバイトが0のとき、デコー拡張番号DE
XTは許されないのに対して、もしDEXT番目のバイ
トが1ならば、デコー拡張番号DEXTは許される。0
と1以外のDEXTの値は非合法である(第10a図の
DEXで番号1004参照)。 PCB400のバイト16〜23はそれぞれ2アドレス
スペース語ASWOとASWIを含み、各ASWはセグ
メントテーブル語のアレイへの指示器を含む。 ASWOとASWIの両方はそれぞれ、第10h図に示
されたのと同じフオーマツトを有する。セグメントテー
ブル語のアレイのサイズはアレイ内のセグメントテーブ
ル語の数によって限定され、典形的にはASWOのため
に6つとASWIのために8つから成る。STWSZフ
ィールド1036はセグメントテーブル語のアレイのサ
イズを示す。セグメントテーブル語アレイフィールドS
TWAI027は16バイトを単位にしてアレイの絶対
アドレスSTWAを含む。すなわちアレイの絶対アドレ
スはバイトでSWAの1階である。 PCBのバイト24〜27は第10i図に詳細に示され
た例外語EXWを含む。 例外語は、プロセス主要語PMW2内に記憶されたよう
なクラスに従うプロセス側外に続いてなされる動作を限
定する例外クラステーブルへの指示器(SE○、SRA
)1029を含む。 (第10f図参照)。例外語EXWのM欧フィールド1
028は0でなければならない。PCBのバイト28〜
31内に位直したスタック語SKWは、プロセスが動作
していないときプロセスのスタツクのTレジスタのトッ
プの値を含み、第10i図に詳細に示される。 第10j図を参照する。ビット0と1はTAGフィール
ド1030を限定する。TAGはその内容によって記述
子のタイプを示し、かつSKWのためにゼロでなければ
ならない。 SKW語のビット2と3は保護目的のためにスタツクの
セグメント・アドレスに関連したりング番号を含むリン
グフィールド1031を含み、そしてこの場合セグメン
ト・アドレスはゼロでなければならない。ビット4〜3
1はセグメント番号SEGと、セグメント関連アドレス
SRAI032を含み、かつそれはセグメントテーブル
で記述されるセグメントと、このセグメント内のセグメ
ント関連アドレスを識別するフィールドである。スタッ
ク語SKWは、プロセスが動作ステートを離れる毎に更
新される。それはこのプロセスが動作する毎にTレジス
タの内容を再記憶するために使用される。この最後の場
合に、TAGI030とRWC1031はゼロであるか
テストされなければならず、さもなければ非合法なPC
B例外が生じる。PCB400のバイト32〜35、時
にはICCとして参照される命令カウンタ内容語ICW
を含む。 第10K図を参照すると、命令カウン夕語にWの詳細が
示され、ここでTAGフィールド1033は2進00を
含まなければならない(すなわちゼロ以外の値は命令カ
ウンタにおいて非合法である)。 ビット2と3を占める現在のRINGフィールド103
4は、主記憶装置状態の呼び出し権を決定するときに使
用されるプロセスの現在のリング番号を限定する。ビッ
ト4〜31は、セグメント番号と実行されるべき次の命
令のアドレスを限定するセグメント関連アドレス(SE
G、SRA)1035を限定する。 バイト3 6〜3 9のMBZフイールドはゼロでなけ
ればならない。 (M故フィールドは常にゼ。 でなければならないフィールドを示すということに注意
)。M欧語はPCBが名前J、Pから呼び出される毎に
テストされる。 もしそれがゼロでないならば、非合法PC財例外が生じ
る。 スタツクベース語SBWO一2はプロセス制御ブロック
400内のバイト40一51を占める。 これらの語は第101図に詳細に示されたのと同じフオ
ーマツトを有する。それらはスタツクオベレーシヨンの
間に利用され、かつ使用されるときはいつでもそれらの
TAGフイールド1036はRmGフイールド1037
はゼロでなければならず、さもなければ非合法PC鷲例
外が生じる。 ビット4〜31‘ま、それぞれリング0,1,2のため
にスタックセグメントの第1のバイトのセグメント・ア
ドレス(SEG、SRA)1038を含む。プロセス制
御ブロック400のバイト52〜83はベースレジスタ
保持領域(8語)のために指定されたスペースである。 バイト84〜147は全ての汎用レジスタ(1虎積)の
値を保持するために利用される保持領域である。バイト
148〜179は科学レジスタを保持するために利用さ
れる保持領域である(8語)。 5つの2重語が、PMW項積のアカウント・モードビッ
トが設定されるとき、時間アカウント目的のためのPC
Bゼロアドレス上方のPCB400内に備えられる。 これらの語はPCBアドレスマイナス8からPCBアド
レスマイナス40に位置する。各語は、最初の52ビッ
トにマイクロ秒単位で表わされた時間もしくは期間を含
み、ビット52〜63はゼロで満たされる。余剰時間終
了倍長語RT0(PCB内の0上方の最初の8バイト)
は、終了例外が生じる前に、このプロセスに代ってプロ
セッサによって実際上費やされるだけの時間を含む。 RTO語は次の様にして更新される。すなわちプロセス
が動作ステートを出る鏡に、プロセスタイマー値はRT
O語内に記憶される。プ。セスが動作ステートに入る毎
にプロセスタイマー値はRTOからロードされる。バイ
ト7〜15の動作時間アカウント RUA倍長語はプロセスが動作ステートになった全プロ
セッサ時間を指定する時間カウンタである。 アカウント時間は、プロセスの代わりにプロセッサによ
って独立的に実際上費やされる時間である。RUA語は
次の様にして更新される。すなわち、プロセスが動作ス
テートを出る毎に、プロセスタイマーPTの値は読みこ
まれる。RTOとRTの内容の差はRUAに加えられる
。(連続的に、PT値はRTO内に記憶される)。プロ
セスが中止されている時間は計算されないということに
注意されたい。RTOとRUA語は、もしアカウント・
モードビットが0に設定されていてさえ更新される。し
かしながら(後述される)CET、RTA、WTA語は
、プロセス主要語PMWOのアカウント・モードビット
が1に設定されているときにのみ、プロセス制御ブロッ
クに備えられる。 それらはこの場合にのみ更新される。バイト17〜23
の待機時間アカウント WT鳩語は、プロセスが待機ステートにあった真の全時
間を記す実時間カウンタである。 WT鳩語は次の様にして更新される。すなわちプロセス
が待機ステートを出る嶺に、一日時計の時間値TODが
読み込まれ、かつTODの値からCET語の値を差し引
いた値はWTA語に加えられる。バイト24〜31に位
置した準備時間アカウントRTA語は、プロセスが準備
ステートにあった真の全時間を記す実時間カウンタであ
る2重語である。 RTAは次の様にして更新される。すなわちプロセスが
準備ステートを出る毎に、一日時計の時間値TODが読
みこまれ、かつTODの内容からCBTの内容を差し引
いたものがRTAに加えられる。バイト32〜39の現
在のェントリ時間 CET2重語は、プロセスが次のステート、すなわち準
備、待機、動作、そして中止ステ−トの一つに入る一日
の時間を含む。 システムベース構成 第6図を参照すると、システムベース600のフオーマ
ツトが示されている。 このシステムベースは絶対主メモリ内にあり、かつファ
ームウェアによって開発され、そして読み出すことがで
きるが書きこむことのできない境界アドレスレジス夕(
BAR)を通して呼び出すことができる。境界アドレス
レジスタBARはハードウェアのために指定された主メ
モリ内の領域の下方にあって、かつハードウェアのため
に指定されたメモリのこの領域とシステムベース600
とを分離する。さて第6図を参照する。システムベース
600は、現在動作中のプロセスのためにジョブステッ
プ番号とプロセス群番号(J、P)を含む多数のシステ
ム特質を含む。 プロセスJ、Pのローカル・ネームから、相当するプロ
セス制御ブロックPCBの絶対アドレスが得られる。J
テーブルのサイズ及びアドレスはJテーブル語(JTW
)の内容によって限定される。この語はBARレジスタ
によって限定されたアドレスに置かれる。JTMのフオ
ーマットは第11a図に示されている。第12図のサイ
ズ(JISZ)1101あるいはJテーブル1204は
、255のエントリまであるJテーブル1204のェン
トリ数を限定する。 JTSZIIOIは8ビットの正の整数である。すなわ
ちもしJがJTSZよりも大きいならば、Jテーブルか
らの例外が生じる。Jテーブル1204の絶対アドレス
はJテーブルポィンタ1 102を1母音することによ
り得られる。Jテ−ブル1204はJテーブルェントリ
を含み、そのフオーマットは第11b図に詳細に示され
ている。各Jテーブルェントリは、Pテーブルポインタ
1104を1針音することによって得られるPテーブル
1205の絶対アドレスを限定する。Pテーブルのサイ
ズ(PTSZ)1103はPテーブルのエントリ数を限
定する。PTSZは8ビットの正の整数であり、かつそ
れは典形的には0〜255まで変化して、Pテーブルの
ェントリ数を指示する。 Pテーブルからの例外は、PがP丁SZよりも大きいな
らは生じる。Pテーブル1205の各ヱントリは、プロ
セス制御ブロックインジケータ1 107を1針音する
ことにより、プロセス制御ブロック(PCB)1206
の絶対アドレスを限定する。存在ィンジケータPII0
5は、2進0に設定されるときPCB1206の不存在
を指示し、かつ2進1に設定されるときPCBの存在を
指示する。(存在ィンジケータP1105が0であると
き、空のPテーフルェントリ例外が生じる)。 Pテーブルインジケータのビット1〜7(第11c図)
は0(MBZ)1106でなければならず、さもなけれ
ば非合法Pテーブルェントリ例外が生じる。システムベ
ース6 0 0のアドレスBAR+4において、Gテー
ブル語(GTW)のフオーマット・バイトがあり、第1
1d図に詳細に示されている。 第12図のGセグメントテーブル1212のサイズ及び
アドレスはGテーブル語(GTW)の内容によって限定
される。Gテーブル121 2のサイズ(GTSZ)1
108は、典形的に255ェントリまであるGテーブル
のェントリ数を限定する。GTSZは8ビットの正の整
数である。すなわちもしG番号がGTSZよりも大きい
ならば、Gテーブルからの例外が生じる。Gテーブル1
212の絶対アドレスはGテーブルポィンタ1 109
を1母音することにより得られる。Gセグメントテーブ
ルエントリのフオーマツトは2語サイズ(8バイト)で
あり、かつGセグメント記述子と呼ばれる。Gセグメン
ト記述子のフオーマットは第11eと11f図に詳細に
示されている。全てのGセグメント記述子は直接的であ
り、それ故間接ビット1、1 111は0でなければな
らず、さもなければ非合法記述子例外が生じる。存在ィ
ンジケータPIIIOは1ビットフィールドであり、か
つそれは2進1に設定されるとき、セグメントが、その
記述子が相当するセグメント番号の主記憶側層内に限定
されるということを示すのに対して、もしそれが0にク
リアされていたならば、セグメントは限定されず、セグ
メント記述子への照会により、セグメント例外をしそこ
なう。利用ビットAIl12は1ビットフィールドであ
り、かつそれはセグメントが利用できるかどうかを指示
する。それはこのセグメントが限定される場合にチェッ
クされるにすぎず、(すなわちPは2進1に等しい)さ
もなければそれは無視される。使用されたフラグフイー
ルドUII13は、セグメントが呼び出されたかどうか
を指示する。 もしUビットが2進0に設定されるならば、このセグメ
ントは呼び出されないのに対して、もしUフィールドが
2進1に設定されるならば、セグメントは呼び出される
。書きこまれたフラグフイールドWII14は、セグメ
ントが書きこまれたかどうかを指示する。 もしWが2進0に設定されるならば、このセグメントは
書きこまれないのに対して、もしWが2進1に設定され
ているならばセグメントは書きこまれる。Gセグメント
記述子のゲート・インジケータGSII15は2進01
に設定されなければならず、さもなければ非合法セグメ
ント記述子例外が生じる。この理由は、Gセグメントが
常にセマフオアを含み(逆は真ではない。すなわち全て
のセマフオアはGセグメント内にあることが必要ではな
い)、そしてセマフオアの命令はGSコードを2進01
にすることが必要であるということである。セグメント
1214のベースの絶対アドレスは、24ビットのべ−
スフイールド1116によって第11e図のGセグメン
ト記述子内に限定される。すなわちこのフィールドの内
容は絶対アドレスを得るために1所音される。第11f
図のGセグメント記述子の第2の語はGテーブル121
2内のビット位鷹32〜63を占める。RSUフイール
ド1117、ビット32〜39はソフトウェア使用のた
めに指定され、かっこの場合のようにGセグメント記述
子として使用されるとき一般に無視される。MBZフィ
ールド1118は0でなければならず、さもなければ非
合法セグメント例外が生じる。MBZフィールド111
8はビット40〜51を占めるので、それは小さなセグ
メントSIZEのためのフィールドであるSIZEフィ
ールド1119を設定する。従って全てのGセグメント
は4・さなセグメントタイプのものでなければならない
。セグメントSIZEI I 19はこのセグメント内
のバイト数を限定する12ビットの正の整数であり、こ
のセグメントサイズは16の倍数として解釈される。そ
れ故、Gセグメント1214のセグメントサイズは?6
バイト(小さなセグメント)を越えることができない。
Gセグメント内の変位Dが、DがSIZEIII9より
も大きいかそれに等しいところで照会されるならば、セ
グメントからの例外が生じる。Gセグメント及びそのセ
グメント内の変位Dを使用する主メモリを呼び出す方法
はG、Dアクセシングと呼ばれる。 G、Dメモリオペレーションの間に生じる種々の例外は
G、Dアクセス例外として参照される。再び第6図のシ
ステムベース600を参照する。 BAR+8とBAR+44の間に位直した9つのシステ
ム例外セル語がある。システム例外セル語BXCのフオ
ーマットは第11g図に示されている。システム例外が
生じるとき削除されたプロセスにメッセージを伝達する
ためにセマフオアカ沃U用されるので、これらのセマフ
オアへのポィンタはメモリの9位置内に見られ、そして
各位贋はシステム例外のクラス毎に一つの、システム例
外セルと呼ばれる。M旧Zフィールド1 120は2進
0に設定これなければならず、さもなければシステムチ
ェックが生じる。各例外セル(EXC)はそれぞれシス
テム・ネームG、DI121と1122を含む。 システムベース600のBAR十44に位贋したチャン
ネル例外セルは、前述したシステム例外セルと同様のフ
オーマットを有し、かつチャンネル例外が生じるとき削
除されたプロセスにメッセ−ジを伝達するために使用さ
れるセマフオアのシステム・ネームGDを含む。 内部プロセッサ待ち行列語IPOWはBAR+48で始
まるように位置し、かつそのフオーマットの詳細は第1
1h図に示されている。 IPOW藷は、参照番号905と805によって第9図
に示されたような準備プロセスの待ち行列(Q/PR/
RDY)のヘッドを指示する。 準備プロセスの待ち行列(Q/PR/RDY)は準備ス
テートにある全てのプロセッサをリンクする。 それは準備プロセス待ち行列のトップを指示することに
よりIPOW語のQ/PR/RDYフィールド1124
(第11h図)のHEADにより照会される。Q/PR
/RDYフイールド1 124のHEADは16ビット
の正の整数を含み、それは、GOセグメントとして参照
されるGセグメント番号0のベースからQ/PR/RD
Yの第1のバイトへの変位である。もしこのQ/PR/
RDYビットフィールドが0であるならば、準備待ち行
列は空であると考えられる。M欧7イールド1123は
0でなければならず、さもなければシステムチェックが
生じる。 システムベース600のBAR+52において、初期と
現在の再試行カウントのための記億が図示されており、
そのフオーマットは第1 1 i図に詳細に示されてい
る。 NESフィールド1125は非機能記憶フィールドであ
り、かっこのシステムベースによっては利用されない。
初期の再試行カウントフィールド1126と現在再試行
カウントフィールド1127は機械故障例外状態を発生
させるために機械エラーが創られる前に自動命令再試行
が実行される回数を制御するために使用される。それら
にリセット再試行カウントにより同じ数でロードされる
。第11j図に示された動作プロセス語 (RPW)はシステムベース600のBAR+56内に
記憶され、かつモノブロセッサ。 アーキテクチャの場合に優先権と共に、動作プロセスの
ネームを記憶するために使用される。NFSフィールド
1128と1131はそれぞれ非機能故障フィールドで
あり、かつ任意の手段による任意の目的のために利用さ
れるが、一般的にはシステムベースによっては利用され
ない。 動作プロセスの優先権レベルはFRIフィールド112
9内に記憶される。非同期トラツブビツトがABフィー
ルド1132内に記憶されるのに対して、非同期トラッ
プリングがARNフィールド1132内に記憶される。
モノプロセッサ・アーキテクチャの場合に動作プロセス
の論理ネームJ、PはJ、Pフィールド1133内に記
憶される。第1 1K図に示された絶対化テーブルポィ
ンタ語はシステムベース600のBAR十60に位直し
、かつそれは、BARの内容をISLプログラムの全て
の絶対アドレスに加えることにより、初期システムロー
ド(ISL)プログラムの絶対アドレスを開始するため
に初期システムロードで利用される。絶対化テーフルポ
ィンタ1135は絶対化テーブル(図示されず)の位置
を限定する。絶対化テーブルサイズはATSZフィール
ド11 34によって示されている。第111図に示さ
れたCPU直列番号語はBAR+鼠に位置した4バイト
語であり、かつCPU直列番号フィールド1 136内
にCPUの直列番号を含む。 第11m図に示された主記憶上限語は BAR十斑に位魔し、かつそれは主記憶に最後に利用で
きる語の絶対アドレスを与えることにより主記憶上限1
139を示す。 BAR十72に、第1 1n図に示された語が位置し、
初期システムロードISり度瞳チャンネル番号(CN)
1140とハードウェア装置チャンネル番号(CN)1
141を形成する。 計算機システムで使用される装置の型式及び副型式は、
それぞれフィールド1143と1144にハードウェア
装置型式語(第11o図)によって示されるのに対して
、RSUフィールド1142はソフトウエアのために指
定される。 この語はシステムベースのBAR十76に見られる。 第11p図に示されたのと同様のタイプのフオーマツト
を有する同様の藷は、初期システムロードで使用される
装置の型式及び副型式を含む。この語はBAR+80に
位置している。 計算機の再スタートボタンが押されると き、シユミレートされたVオペレーションはセマフオア
で実行され、準備ステートに入る。 このセマフオアへのポインタはシステムベース600の
BAR+84で見られ、かつ再スタート・セル語と呼ば
れ、第11q図に示されたフオーマットを有する。この
フオーマツトは前述したシステム例外セルと同機であり
、それぞれGフィールド1149とDフィールド115
0においてセマフオアのシステム・ネームG、Dを含む
。M故フィールド1148は0でなければならない。 計算機システムに1以上のプロセッサがある場合、マル
チプロセス拡張のためにシステムベース600のBAR
十88に語が備えられる。 この語の詳細は第11r図に示されている。システムベ
ース及びプロセス制御ブロックの使用例第12図を参照
すると、ユーザーセグメント、システムセグメント、あ
るいは待ち行列プロセッサ準備(Q/PR/RDY)セ
グメント、のアドレス指定をし、かつそれを呼び出すた
めに、プロセス制御ブロックと絹合せてシステムベース
がどのように利用されるかの一例が示されている。 主メモリ1200はハードウェア使用のために指定され
た部分1203を有する。境界アドレスレジスタBAR
1202はシステムベース1215をハードウェアのた
めに指定されたメモリ1203の部分から分離する。境
界アドレスレジスタBAR1202は、境界アドレスレ
ジスタの内容を、システムベースに必要とされる項目の
4バイト単位の変化に加えることにより、システムベー
ス1215の項目のアドレス指定のために利用される。 次にこのアドレスは、必要とされるシステムベースの項
目の第1のバイトを指示する。 第12図において、BAR1202はJテーブル語(J
TW)を指示している。前述したようにJテーブル語は
Jテーブル1204を指示するボインタを有する。第5
図に示されたJ番号をインデックスすることにより、J
テーブルェントリ1216が得られる。Jテーブルェン
トリにおいて、Pテーブル1205の絶対アドレスを指
示するPテーブルポインタがある。Pテーブル1205
内のP番号(第5図参照)をインデックスすることによ
り、プロセス制御ブロック1206の絶対アドレスが得
られる。前に図示されたように、プロセス制御ブロック
PCB1206において、2つのアドレススペース語A
SWOとASWIがある。ベースレジスタ1201のセ
グメントテーブル番号フィールドSTNの高順位ビット
は2つのアドレススペース語の一方を呼び出すために使
用される。この場合には、セグメントテーブル語アレイ
STWA1208を指示するセグメントテーブル語アレ
イSTWAポインタを有するASWIである。ベースレ
ジスタ1201のセグメントテーブル番号STNと共に
、8つのセグメントテーブル語の一つがSTW1208
に呼び出され、かつそれは8つのセグメントテーブル1
210の一つを指示する。ベースレジスタ1201から
のセグメントテーフルエントリSTEはそのときセグメ
ント記述子が置かれるセグメントテーブル1210の2
56のェントリの一つを創るために利用される。セグメ
ント記述子はそのときユーザーセグメント1211を呼
び出すために利用される。(詳細については、発明の名
称が“区分アドレス開発”でこの発明と同じ該受人に譲
渡された米国特許第39斑096号を参照のこと)セマ
フオアを記憶するために利用されるシステムセグメント
1214を呼び出すために、Gテーブル語GTWはシス
テムベース1215で利用される。 Gテーブル語のアドレスは、システムベースのGテーブ
ル語の変位を、境界アドレスレジスタBAR1202に
加えることにより得られる(第6図参照)。Gテーブル
語GTWはGテーブル1212を指示するGテーブルポ
インタを含む。このシステムに利用できるG番号を利用
し、かつGテーブルにインデックスすることにより、G
セグメント記述子は呼び出され、それはシステムセグメ
ント1214のアドレスを指定するために利用される。
同様に、システムベース1215は、Q/PR/RDY
セグメント1213を指示する内部プロセッサ待ち行列
語IPQWを位置させることにより、準備プロセス待ち
行列(Q/PR/RDY)を呼び出すために利用される
。 G 制御ユニット第13a−13c図を参照すると、制
御ユニットの詳細が示されている。 制御ユニットは中央処理ユニット(CPU)から分離し
て示されているけれども、それは実際上CPUの一部で
あり、かつ制御ストアユニットCSU1301、制御ス
トアインターフェイスアダプタCIA1302と付属副
ユニット、制御ストアローダーCSL1303、制御及
びロードユニットCLU1307から成る。 制御ストアユニットCSU1301は、制御及び。 ードュニツトCLU1304と制御ストアインターフェ
イスアダプタCUL1 302を通して、制御ストアロ
ーダーCSL1303からマイクロ命令を受け取る。通
常の動作条件のもとで、マイクロプログラムはシステム
開始の闇外部源からロードされ、永久制御機能の機械に
なる。しかしながら、制御ストアユニットCSU130
1は種々の中央処理ユニットCPU1306を演算モー
ドにする様に再ロードされ、かつ開始される能力を有す
る。CPUのオペレーションの次のモードはCSU13
01の制御のもとで利用できる。 すなわち‘a’、固有モード、‘b’エミュレーション
モード、‘cー固有及びエミュレーション同時モ−ド、
{d}診断モードである。この能力は、CPUにあるマ
イクロ命令がエミュレーションユニット1316、算術
論理ユニットALU1317、命令フェツチユニツトI
FU1318、アドレス制御ユニットACU1319、
及びデータ管理ユニットDMU1321のような全ての
他のCPU機館ユニットのオペレーションを制御するた
めに使用されるマイクロオペレーション源であるために
、可能である。また中央処理ユニットCPU内に前述し
た汎用レジスタ1307、ベースレジスター308、科
学レジス夕1309、Tレジスタ1310、状態レジス
ター31 1、命令カウンタIC1312、及びハード
ウェア制御マスク・レジスタ1313が示されている。
典形的には、制御ストアユニットCSU1301は、読
み出し/書きこみランダムアクセスストア(RAM)と
混ぜられた鮒のバィポーラー集積回路プログラム可能の
謙出専用メモリ(PROM)である。 それは典形的には150ナノ秒の読み出しサイクルと4
50ナノ秒の貫きこみサイクルを有する。制御ストアの
各位瞳は一つの槌ビットのマイクロ命令語(後に十分に
説明される)を記憶し、かつ各マイクロ命令語は1つの
CPUサイクルを制御する。制御ストアユニットCSU
1301の制御ストアの各位直が読み出されると、その
内容は、マイクロオペレーション制御信号を発生するマ
イクロオペレーション解読器によって解読され、かつ各
信号によりCPU内で指定されたオペレーションが行わ
れる。(詳細に後述される)。各マイクロ命令語内の位
置を分類することにより(詳細に後述される)、指定の
CPUオペレーションあるいは命令を実行する制御スト
アシーケンスが得られる。 各命令がCRUによって開始されると、オペレーション
コード内のあるビットは制御ストア起動シーケンスを決
めるために使用される。命令解読機能によって設定もし
くはリセツトされるあるフロツプ(図示されず)のテス
トにより、必要なとき制御ストアメモリを更に特定のシ
ーケンスに分岐させる。制御ストアインターフェイスア
ダプタCIA1302は、制御ストアユニット1301
、データ管理ユニットDMC1321、アドレス制御ユ
ニットACU1319、及び第131図の制御ストアメ
モリ1333のオペレーションを命令する算術論理ユニ
ットALU1317と通信をする。 CM1302は、制御ストアアドレス変更、テスト、エ
ラーチェック、及びハードウェアアドレス発生、のため
の論理装置を含む。ハードウェアアドレス発生はエラー
シーケンスの起動アドレスを開発するため、あるいは開
始シーケンスのために一般に利用される。データ管理ユ
ニットDMU1 32 1は、CPU1306と、第1
図に示された主メモリ及び/又はバッファストアメモリ
との間にインターフェイスを形成する。 どのユニットが、他のユニットに必要とされる情報を含
み、かつその情報を適切な時間にCPUレジスタに入れ
るのかを認識するのはデータ管理ユニットの責務である
。 データ管理ユニットDMUはまた部分的書きこみオペレ
ーションの間マスキングを実行する。命令フェツチユニ
ツトIFU1318は、DMU1 32 1、ACU1
3 1 9、ALU1 3 17、CSU1301を
インターフヱイスし、かつ命令によって供給されるCP
Uを保持する責務がある。 命令フェツチュニットは、現在の命令が完了するまで、
そのレジスタで利用できる次の命令を有する。この能力
を形成するために、命令フェツチュニットびU1318
は、通常1以上の命令を含む12ゞィトの命令レジスタ
(図示されず)を含む。さらに、IFUは、CSUの制
御のもとで、命令が実際に必要とされる前に主メモリか
らの情報(命令)を要求し、このようにして、12バイ
トの命令レジスタを常に更新する。 命令はこのように通常使用されないメモリサイクルによ
って前もって取り出される。命令フェツチユニツトはま
た各命令を解読し、命令長及びフオーマツトを他のユニ
ットに知らせる。アドレス制御ユニットACU1319
は、CMを遺して、CCU、IFU、ALU、DMUと
通信する。 ACU‘よCPUの全てのアドレス開発に対して責務が
ある。ACUへの、ACUから、そしてACU内の全て
のオペレーションは、このユニット内のCSUマイクロ
オペレーション及び論理によって命令される。ACUの
通常のサイクルは命令の型式よりも命令内のアドレスの
型式に左右される。 アドレス型式に従って、AC山ま命令の各アドレスのた
めに異るオペレーションを実行する。ACUはまた奥形
的にはセグメント数と共に、8つの最も最近に使用され
たメモリセグメントのベースアドレスを記憶する連想メ
モリ1319を含む。 メモリ要求がなされる毎に、セグメント番号は、セグメ
ントのベースアドレスがすでに開発され、かつ記憶され
たかどうかを決定するため連想メモリ内容に対してチェ
ックされる。もしベースアドレスが連想メモリ1319
a内に含まれるならば、このアドレスは絶対アドレス開
発で使用され、かっかなりの時間が節約される。 もしベースアドレスが錘想〆モリ1319a内に含まれ
ないならば、それは王〆モリテーブルを呼び出すことに
よって開発される。しかしながら、セグメントのベース
アドレスが開発された後、それは後の参照のために、セ
グメント番号と共に連想メモリ内に記憶される。ACU
、mU、DMU、CSUとのインターフェイスは算術及
び論理ユニットALU1 317である。 その主要な機能は算術オペレーションとCPUの必要な
データ処理を実行することである。算術論理ユニットの
オペレーションは完全に制御ストアユニットCSU13
01からのマイクロオペレーション制御信号に左右され
る。ALU1 31 7及びCSU1 301と、スク
ラツチパツドメモリユニツトLSU1 3 1 5が関
連している(時にはまたローカル・ストアユニットとし
て参照される)。 それは奥形的には25成立置く位置毎に32ビット)の
ソリツデステートメモリと、そのメモリのための選択及
び読み出し/書きこみ論理袋贋から成る。スクラツチパ
ツドメモIJ1315はCPU制御情報及び維持能力情
報を記憶するために使用される。 さらに、スクラツチパツドメモリ1315は、データ処
理の間主としてオペランド及び部分的結果の一時的記憶
婆直のために使用されるワーキング位置を含む。 また計算機システムの種々雑多なステートを記憶するた
め、奥形的にMのフリップフロップから成る補助メモリ
1317aがALU1317と関連している。 CPUはまた刻時ユニット1320を有 し、かつ本質的に2刻時システムがある。 すなわち第1の刻時システムは制御インターフェイスア
ダプタCM1302のために時間調節をし、かつ第2の
刻時システムは中央処理ユニット内の機能ユニットのオ
ペレーションのためのタイミングパルスを発生する。第
13c図を参照すると、制御ストア語1325のフオー
マツトが示されている。 制御ストア藷は典形的には84ビットの中であり、かつ
6つの主要フィールドに分割される。すなわち、a シ
ーケンス型式フィールド1326(3ビツト)b 分岐
及び/又はマイクロオペレーション1327(23ビツ
ト)c 定数発生及び指示1328(14ビット)d
バスへのデータ1329(8ビット)e マイクロオペ
レーション1330(32ビツト)f チエツク133
1(4ビット) 制御ストア語1325の3ビットEフィ−ルドはシーケ
ンス制御フィールドとして使用される。 奥形的には7つの異るシーケンス型式があり、かつ一つ
はこの発明の計算機システムのために、予約された型式
である。第13b図のブロック1335を参照すると、
マイクロ命令1325の分岐フィールドA,B,C,D
,Eは、Eフィールドが2進0、1、あるいは2に等し
いとき、次のアドレスを発生するために利用される。 KSレジスタ1337の技初の6ビットは、Bフィール
ド、Cテスト結果、Dテスト結果、及びLフィールドと
共に利用され、次のマイクロ命令の次のアドレスを発生
し、それからマイクロ命令はアドレスレジスタKS13
37内に魔かれる。 8フィールドが2進4に設定されるとき(ブロック13
35を参照)、次の選択されたアドレスは割込み復帰レ
ジスタKA1339から取られる。 KAレジスタ内に記憶されたアドレスは、ハードウェア
割込みが生じるとき次のアドレス発生論理装贋によって
発生したものである。Eフィールドが2進5に設定され
るとき、分岐はマイクロプログラムサブルーチンからの
副復帰を開始するために使用される。使用されるとき、
復帰レジスタKR1346の内容は次の制御ストアアド
レスとして使用される。復帰レジスタ1346は制御ス
トア令令を発することによってロードされ、そしてそれ
はインクリメンタ1338からKRレジスタ1346に
、KSレジスタ1337の現在の制御ストアアドレス十
1をロードする。1レベルネステイング・サブルーチン
能力はKT復帰分岐レジスタ1347を通して発生する
。 KRレジスタ1346がロードされる毎に、KRレジス
タの古い内容は、マイクロプログラム復帰が呼ばれる毎
にKTレジスタ1347に伝達される。すなわち、KT
レジスタの内容はKRレジスタに伝達される。第3のレ
ベルのネステイング・サブルーチン能力はKUレジスタ
1340によって供給され、かつ第4のレベルのネステ
イング・サブルーチン能力はKV復帰分岐レジスタ13
49によって供酪農される。制御ストア語のEフィール
ドが2進6に設定されるとき、アドレス指定された次の
制御ストア語は、インクリメンタ1 338において、
KSレジスタ1337の現在のアドレス十1に等しくな
る。Eフィールドが2進7に設定されるとき、CSU1
301は診断モードに入り、次のアドレスは現在のアド
レス十1になる。 前述され、かつブロック1335で示された次の制御ス
トアアドレスへの分岐のシーケンス制御に加えて、第1
3b図のブロック1336にはハードウェア発生シーケ
ンス制御が示されている。 (註:ブロック1335と1336はマイクロ命令が取
られる異るフオームを描くように図示されたハードウェ
アレジスタである)。ハードウェア発生分岐は、Eフィ
ールドを削除し、固定アドレスを制御ストアアドレスレ
ジスタKS1337に入れる重合状態である(エラーの
ように、制御ストアスキャン等を開始する)。この分岐
は、割込みラインを1刻時期間の間高くし、かつEフィ
ールドの制御のもとでKA割込み復帰レジスタ1339
内に発生したアドレスを記憶することにより創られる。
ハードウェア発生アドレスは制御ストアアドレスレジス
タ内に置かれる。あるハードウェアノフオームウェア発
生割込みは、割込みブロックフリップフロツプが、割込
み条件が満足されるまでそれらのクラスの別の遮断が実
行されるのを妨げるとき優先権を持つ。ファームウェア
マイクロオペレーションは、ファームウェア制御のもと
にあるシーケンスの割込みブロックフリップフロツプの
リセットを制御するために存在する。ハードウェア制御
のもとでこれらのシーケンスはこのシーケンスの終りに
フリップフロップをリセットする。優先権によって表に
した次の条件はこのカテゴリに存在する。すなわち{a
席。御ストアロード、‘b)集U御ストアスキヤン、【
c’ハードウエアエラー、‘d’ソフトウエアエラーで
ある。残りのハードウェア条件は割込みブロックフリッ
プを設定しないが、しかし発生するときただちに動作を
生じさせる。優先権によって表にされた次の条件はこの
カテゴリに存在する。【aー 開始 他ソフトークリア 【cー 維持パネルに入る {d} 維持パネルに入る ‘e’ハードウエアを出る 開始信号はCSUi301をアドレス2進0に分岐させ
、リードウェアリセット可能のエラーをクリアさせ、ハ
ードウェア制御のもとで制御ストアスキャンシーケンス
を伴う制御ストアロードオペレーションを実行させる。 それはまたシステムを開始させる。ソフトウェアクリア
信号はCSU1301をアドレス2進0に分岐させ、ハ
ードウェアリセット可能のエラーをクリアさせ、割込み
ブロツクフリツプをリセットさせる。維持パネル入信号
はCSUを維持パネル(図示されず)上のCSUアドレ
ススイッチで前もって設定されたアドレスに分岐させる
。維持チャンネル入信号はCSUを維持チャンネル(図
示されず)を経て発生したアドレスに分岐させる。 ロードされたアドレスは、維持チャンネルの一部である
維持バスQMB1344からなされ、かつ正当化される
。ハードウェア出信号はCSUを2進アドレス2に分岐
させる。このシーケンスは維持手段として使用される。
このシーケンスの終りに、Eフィールド分岐を発するこ
とにより復帰が開始され、かっこのEフィールドは2進
4に設定される。制御ストアロード信号はCSUをアド
レス2進0に分岐させる。 それはまたCSU譲みこみサイクルフロツプ(図示され
ず)、システムクロツク1320をオフにし、CSUを
ロード・ステートに置く。ロード・ステートにおいて、
CSUは、制御ストアローダーCSL1303、IOC
1305、主メモリ102、あるいは維持パネル135
5からロードされることができる。 CSLからロードされるとき、自動スキャンがロードの
終りに発生する。他の媒体からロードされるとき、スキ
ャンはマイクロオペレーション信号を発生するか、ある
いは維持パネル上のスキャンスイッチを設定することに
よって発する。制御ストアスキャン信号はCSUをアド
レス2進0に分岐させる。制御ストアスキャンはこのシ
ーケンスの持続期間中ハードウェア制御のもとにある。
このスキャンの間、システムクロツク132川まオフで
あり、それ故、命令もしくはテストは実行されない。ス
キャン順序の終りに、ハードウェアは割込み復帰レジス
タKAの内容をアドレスレジスタKSに伝達し、このシ
ステムクロツクはオンにされ、制御はファームウェアに
復帰する。ハードウェアエラー信号はCSUをアドレス
2進4に分岐させる。 通常の処理モードにおいて、任意のCPU機能ユニット
で検出されるハードウエアエラーはハードウエアエラー
ラインを動作させる(図示されず)。発生した制御スト
アシーケンスは、システム条件をテストして、とられる
べき動作を決定する。 診断モードにおいて、検出可能なハードウェアであるエ
ラー条件はマイクロ診断には明白である。マイクロ診断
はとられるべき動作を制御する。他方、ソフトウェアエ
ラー信号は制御ストアをアドレス2進1に分岐させる。
このアドレスは、マイクロプログラム制御のもとにある
ソフトウェアエラー報告シーケンスの開始である。再び
第13c図を参照する。Eフィールド1326は前述し
たように、分汁皮コードのための3ビットフィールドで
ある。 分岐及び/又はマイクロオペレーションフィールド13
27はA、B、C、D及びLフィールド(または第13
b図のブロック1335で示されている)から成り、こ
こでAフィールドは次のアドレスの上6ビットであり、
Bフィールドは鼠分岐のマスクフィールドの次のアドレ
スの中間4ビットであり、Cフィールドは鼠テストの1
つのための6ビットテストフイールドであり、Dフィー
ルドは64テストのうちの一つのための別の6ビットテ
ストフイールドであり、そしてLフィールドは最も重要
でないビットである。Kフィールド1328は14ビッ
トフイールドであり、その6ビットは一定フィールドの
ためのものであり、4ビットは一定もしくはステアリン
グフィールドのためのものであり、そして4ビットはス
テアリングフィールドである。バスへのデータフイール
ド1 329はQMBバス1 344のQA部分への情
報を制御するための4ビットを有するQAフィールドか
ら成り、かつQBフィールドはQMBバス1344のQ
B部分への情報を制御するための4ビットを有する。F
フィールド1330はマイクロオペレーション副命令を
発生するために符合化される32ビットのフィールドで
ある。Pフィールド1331はチェックのために予約さ
れた4ビットから成る。オペレーションにおいて、マイ
クロ命令語は制御ストアアレイ1333内に記憶される
。 ーサイクルのオペレーションの間、制御ストアアレイは
KSアドレスレジスタ1 337の内容によってアドレ
ス指定される。これによって、その位置の内容は読みこ
みラツチの群内に読みこまれるアドレスによって指定さ
れる。読みこみラッチの語内容の一部はCPUの機能ユ
ニットの各R内の記憶レジスタに分布され、あるいはそ
れに伝達される。 各機能ユニットはシステムクロック源の制御のもとで制
御ストア語によって指定される必要な副命令を発生する
解読論理回路を含む。一般に、解読は、解読時間を減少
させるため、かつもし解読が中央で実用されたならば命
令信号を伝達するために通常必要とされるケーブル数を
減らすために、中央で実行されるよりもむしろCPUの
各機能ユニット内で実行される。 さらに、この解読はケーブル遅延の差から生じる時間問
題を避けるために各ユニット内でなされる。さらに、各
ユニットで副命令を解読することにより、この機能ユニ
ット内に存在するある条件を表わす信号が、CMユニッ
ト1302に復帰させる必要のないある副命令信号を発
生させるために必要とされる。 典型的解読語ユニット1359は、マイクロ命令語から
種々のフィールドを受け取り、かつマイクロオペレーシ
ョン信号a,b,c,d,・・・・・・,rを発生させ
るように第13b図に示されている。典形的マイクロオ
ペレーション解読器1359はマイクロ命令語からの命
令を受け取る。マイクロ命令語からのフィールドは解読
され、かつ複数のラインs,t,u,……y,zの一つ
を高く設定する。マトリックスは、点Q,8,y….・
・J,のでs−zラインに予定の制御ラインインピーダ
ンスを結合させることにより形成される。典形的にはマ
イクロ命令からのフィールドが解読されるとき、ライン
s−zの一つは高くなる。ギリシャ文字Q−のによって
、マトリックス内に示された黒鳥点は2組の線の間を結
合するインピーダンスを表わし、任意の水平線にそつて
伝ぱんする電気信号は、インピーダンス結合(黒V点)
が示される垂直線aーッに沿って伝搬するように結合さ
れる。 そのとき各垂直線a−yはANDゲート1360一13
65の各Rへの入力として結合される。他の入力信号は
またタイミング信号広を含み、ANDゲートi360−
1365に結合される。従って、各タイミング信号ts
が高くなるとき、他の入力信号が全て高くなるこれらの
ゲートは可能にされ、CPUの予定の機能ユニットにマ
イクロ命令信号を発生する。たとえば、もし読みこみラ
ッチ1357からの命令1341が解読され、かつ水平
ラインが高くなるならば、a,b,c’q垂直制御線は
高くなり、ANDゲート1360,1361,1362
,1364は、Gタイミング信号がこれらのゲートに順
次印加されるとき可能にされる。従って「垂直制御ライ
ンがギリシャ文字Q−の‘こよって表わされる異る点の
水平制御ラインに縫合される組合せは、制御ストアアレ
イ1333から供v給されるマイクロ命令によって中央
処理ユニット内の機能ユニットを制御するため中央制御
ユニットCPUにマイクロオペレーション信号を供v給
する永久スイッチマトリックスを表わす。変更特徴を有
する永久ファームウェアは、計算機システムの能力とし
て必要なマイクロオペレーションのシーケンスを単に指
定することによってこの発明の機械内に創ることができ
る。通常のコンディションのもとで、データ は、またロ−カルレジスタYO1343として公知のC
PU書き出しデータレジスタを通して制御ストアアレイ
1333内に書きこまれる。 制御フロツプ(図示されず)は、記憶装置アレイの上半
分あるいは下半分が書きこまれているかどうかを限定す
る。制御及びロードユニットCLU1304からのデー
タは維持バスQMBを通してCIA/CSUに到達し、
そして制御ストアアレイ1333に書きこまれる前に記
億ロ−カルレジスタYO1343によってバッファされ
る。記憶ローカルレジスタ1343は、読み込み及び書
き出しローカルレジスタの両方と時分割である。マルチ
プレクサKQM1345は維持パネル1355あるいは
マイクロ診断のどちらかによって制御されかつそれに結
合されたレジスタからの読み出し通路を形成する。比較
レジスタKP1350は非機能的使用のために備えられ
、かつ主として保守目的のために使用され、そして比較
論理装置1352及び解読論理装置1351と共に利用
される。H プロセス制御のためのデイスバツチヤフア
ームウエアデイスパツチヤはフアームウエア/ハードウ
ェアユニットであり、かつその主要目的は種々の待ち行
列プロセスを管理し、かつプロセス間の切り替えをする
ことである。 そしてこのディスパッチャは待ち行列プロセスを更新す
ること、プロセス制御ブロックPCBシステムベースの
動作プロセス語、及び新たなプロセスのレジスタを含む
。それはまた、セマフオアで実際上待機中のプロセスに
メッセージを送る。(Vオペレーションの後、IOCま
たは例外処理装置のためのシミユレートVオペレーショ
ン)。それはまた、プロセスがそのメッセージを送るた
めにフリー・リンクセマフオアで待機しているときメッ
セージリンクを自由にするPオペレーションの後、セマ
フオアでメッセージを待ち行列化する。さらに、デイス
バツチヤュニツトは固有モードでプ。 セス実行の“ロールィン”後、あるいはもし現在のプロ
セスが動作中であり、固有モードで実行されるならば“
競争”後、固有モード命令ファームウェアを呼ぶ。それ
はまたヂコー拡張ファームウェアを次のために呼ぶ。す
なわち‘a’そのデコー拡張内で実行されるプロセスの
ロールアウト中の一時的コール【b’そのデコー拡張内
で実行されるプロセスのロールイン中の一時的コール‘
c’そのデコ−拡張内で実行されるプロセスのロールイ
ン中の終りの最終的コール‘d’もし現在のプロセスが
動作中で、そのデコ‐拡張内で実行されているならば、
競争の後の最後的コール さらに、このデイスパツチヤはこのシステムを、動作プ
ロセスがないときアイドルループ内に置く。 次の様にディスパッチャに入り、あるいはそこから出る
いくつかの方法がある。 {1)開始手順が最後のステップとしてのェントリを形
成する(発明の名称が“システム開始手丸頂’’で、こ
の出願と同じ談受人に譲渡された米国出願番号第52斑
14号を参照のこと)。 ‘21 開始及び中止命令がそのェントリのためにデイ
スパツチヤに供艶給される。 開始命令はプロセスを起動させ、かつ中止命令はプロセ
スを終了させる(発明の名称が“起動及び中止命令’’
である出願番号第529017を参照のこと)‘3’P
及びVオペレーションはデイスパツチャへのェントリを
形成する。 Pオペレーションはセマフオアからのメッセージを検出
し、かつもしメッセージがなかったなら ば、そのときプロセスは待機ステートになる。 (発明の名称が“セマフオア上のP及び Vオペレーション”である。 出願番号第52斑56号を参照のこと) 要するに、デイスパツチヤは、どのプロセスが動作して
いるかを決定し、それから現在動作しているプロセスを
ロールアウトさせ(すなわちハードウエアレジスタ、ス
クラツチバッドメモリ等に含まれる現在動作プロセスに
関する全ての情報をPCB内に書きこむ)、そして新し
いプロセスをロールインさせる(すなわち新しいプロセ
スを動作させるのに必要な全ての情報を、種々のハード
ウェアレジスタ、スクラツチパツドメモリ等にPCBか
ら書きこむ)ような適切な動作をとることによって、プ
ロセスを、従ってプロセス制御ブロックPCBを管理す
る主要機構である。 デイスパツチャによって実行されるファームウェア内(
すなわち制御ユニット内)のオペレーションの表示は第
14a−14i図のフローチャートで示されている。 例えば、第14a図のブロック1402はデイスパツチ
ヤによって実行されるオペレーションの表示であり、こ
こでマイクロプログラム語は制御ストアユニットによっ
て供輪蒼され、かつ解論器1359によって解読される
とき、適当な一連のマイクロオペレーション信号136
0,1361等を通してCPUの応用可能な部分を制御
して、記憶サブシステム102のシステムベースからI
DOWを回収し、そしてそれをスクラツチパツドメモI
J1315に伝達する。 同時に、ディスパッチャは、システムベースのGテーブ
ル語GTWによって指示されたセグメント記述子のGテ
ーブルからGOセグメント記述子(第12図参照)に命
令取り出しをする。 IPOW語のビット16−31は16ビットの正の整数
を含み、そしてそれは準備プロセスの待ち行列Q/PR
/ROYのヘッド(最初のバイト)に対しての、GOセ
グメントとして参照されたようなGセグメント番号0の
ベースからの変位である。もしIPQW語のビット16
一31が0ならば、1403準備待ち行列は空であると
考えられる。 もし準備待ち行列が空であるならば、それはQ/PR/
RDYに現在待中のプロセスがなく、準備待ち行列は空
であるということを示す。決定ブロック1405内で決
定されるべき次の疑問は空ィンジゲータが設定されてい
るかどうかを決めることによって機械内に現在動作中の
プロセスがあるかどうかである。 もし空ィンジケータが設定されているならば(すなわち
現在動作中のプロセスがない)、そしてプロセッサを使
用するため待機している準備待ち行列のプロセスがない
ということは前もって決定されるので、この機械はアイ
ドルステート1406になる。 しかしながら、もしこの機械内に現在動作しているプロ
セスがあるが、機械を使用するために待機しているもの
はないならば、現在のプロセスはその次の命令1407
を呼び出す。さて、第14a図のフローチャートの決定
ブロック1403に戻る。 もしIPQWのポィンタ領域に正の整数があるならば(
すなわちビット16一31)、GOセグメントのIPQ
W語によって指示された準備待ち行列のヘッドはスクラ
ッチパッドメモリに取り出される。(注:繰り返しを避
け、明りようにするため、制御ユニット及びCPUと共
にディスパッチャの中間機能は省略される。 しかしながら一例によって前述したようなこのような中
間機能は存在するということが理解できよう)。 この点までに、準備待ち行列の待機プロセスがあるとい
うことが決定された。別の動作が示される前に、もし中
央プロセッサに現在動作中のプロセスがあるかどうかを
決定することが必要である。これはフローチャート表示
の決定ブロック1410で決定され、かつもし中央プロ
セッサに現在動作中のプロセスがないならば(すなわち
CJPなし)、準備待ち行列のヘッドは動作する141
2。しかしながら、もし中央プロセッサに動作中のプロ
セスがあるならば、デイスパツチヤはどれが優先権を持
つか、現在動作中のプロセスかあるいは準備待ち行列の
ヘッドかを決定しなければならない。従って、それ故シ
ステムベースPCB400の動作プロセス語内に位置す
る現在のプロセス(CJP)の優先権バイトは取り出さ
れる1413。そのとき現在動作中のプロセスCJPが
、準備待ち行列のヘッドで特期している新しいプロセス
NJPよりも低い優先権のものであるかどうかについて
の決定がなされる1414(決定ブロック1414参照
)。もしCJPがNJPよりも低い優先権のものでない
ならば、CJPは中央プロセッサの制御のもとに残り、
かつ競争ィンジケータはリセツトされる1415(イン
ジケータは、最後の命令の始めがCJPに代って実行さ
れ、それによって衝突の可能性が生じて以来、一以上の
新しいプロセスが準備待ち行列に置かれるのを除いて、
競争ィンジケータは常にゼロに設定される。 これらの状態のもとでは、競争ィンジケータ2進1に設
定される。 )現在のプロセスCJPが続けられ、かつ別の命令を実
行する前に、CJPがデコー拡張モード1415である
かどうかの決定がなされる。もしCJPがデコー拡張モ
ードで動作しているならば、そのとき次の命令がエミュ
レーションモードで(すなわちデコー拡張)で実行され
、かつもしそれがデコー拡張モードで動作していないな
らば、次の命令が固有モードで実行される。再び決定ブ
ロック1414に戻ると、もし準備待ち行列の先頭のN
JPがCJPよりも高い優先権を持つならば(すなわち
その優先権番号はCJPの優先権番号よりも低い)、現
在動作中のプロセスCJPはその機械から“ロールアウ
ト”され、かつ新しいプロセスNJPはその機械に“ロ
ールイン”される。従ってファームウェア優先権サブル
−チンPRIQ1 41 8は、フアームウエアサブル
ーチンRILO1419の命令のもとで、LIFO優先
権によってかつCJPの最初の“ロールアウト”による
優先番号によって、現在のプロセスCJPを準備待ち行
列に向ける。RLLOサブルーチンは、汎用レジスタ、
ベースレジスタ、科学レジスタ、Tレジスタ、状態レジ
スタ、及び命令カウン外こ記憶されるCJPの情報の書
き出しを、王〆モリのプロセス制御ブロックPCBの適
切な記憶領域に戻す。そしてそれをRUAの更新にする
。さらに、PCB内のプロセス主要語0(PMWO)の
DEXT番号は更新される1420。新しいプロセスN
JPはまさに今“ロール・ィン”されようとしている。 境界アドレスレジスタBARは取り出され1 422、
そして動作プロセス語RPWはシステムベースのアドレ
スBAR+56から取り出される。ブロック1423を
参照のこと。新しいプロセスNJPのネームは次に動作
プロセス語RPWに書き込まれる。そして新しいプロセ
スNJPのネームがQ/PR/RDYのプロセスリンク
PLに書き込まれたので、プロセスリンクPL内のネー
ムはそれゆえ今RPW、ブロック1424に置かれる。
それゆえNJPは準備待ち行列からすぐにCJPになり
、それゆえQ/PR/RDYでもはや待たない、そして
そのネームをQ/PR/RDYのプロセスリンクPLか
ら取り出すことによって待ち行列解除されなければなら
ない。 これが実行されるとき、プロセス準備Q/PR/RDY
の待ち行列はフア−ムウエアサブルーチンUQLK、1
425aによって新しくされる。それゆえ、機械を取
り出されたばかりのプロセスのJP番号はもはや機械の
制御を有さないで、それを待たなければならないので、
Q/PR/RDY内のプロセスリンク内に置かれる、1
426。この点で、中央プロセスのこの制御を新しいプ
ロセスに与え、古いプロセスを準備待ち行列内に置く変
換は完了される。中央プロセッサの制御中にプロセス(
新しいCJP)があるので、空ィンジケータはゼロ、に
設定される;1427一方中央プロセッサの制御中にC
JPがないならば、空ィンジケー外ま1に設定されるこ
とになる。この点で、プロセッサの割り当ては完了され
、古いプロセスが準備待ち行列中に置かれたのに反して
、新しいプロセスは中央プロセッサを得る。しかしなが
ら、新しいプロセスは、汎用レジスタ1307、ベース
レジスタ1308、科学レジスタ1309・Tーレジス
タ1310、状態レジスタ1311と命令カゥンタ13
12のような第13a図の中央処理ユニット1306の
ハードウェアのためにまだ動作する準備がなされてなく
、制御命令が新しいプロセスのプロセス制御ブロックか
ら供v給されなければならない。
‐従ってファームウェアサブルーチン1
43川まCPUを制御し、最初PCB(第4図)からス
クラツチパツドメモリ1315にPMWを取り出し、そ
のときPMWOを取り出す。 PMWOのMB2フィールドはチェックされ1433、
もしそれが2進0でないならば非合法的PC繊例外が結
果として生じる。しかしながら、もしPMWOのMB2
フィールドがゼロであるならばPMWIは取り出される
1434。またPMWIのMB2フィールドはそれが2
進0かどうかを決めるためにテストされる。 もしそれが2進0でないならば、非合法的PC母例外が
存在する。それに反してもしそれが0と等しいならばデ
ィスパッチヤはCまで進む。従ってアドレススペース語
OASWOは PC母村の適当なスペースから取り出され、セグメント
テーブル語サイズSTWS2はそれが7以下であるかど
うか決定するようにテストされる1437。 もしそれが7以上ならば、非合法的PCBが結果として
生じ、もしそれが7以下かあるいは7と等しいならば、
そのときASWIはPCB、ブロック1438から取り
出され、そしてそのSTWS2フィールドはそれが8以
下かあるいは8と等しいかどうか決定するようにテスト
される。もしそのフィールドが8以上であるならば、そ
のとき非合法的PCBが結果として生じる。しかしなが
ら、もしそのSTWS2フィールドが8と等しいかある
いは8以下であれば例外語EXWは取り出され1440
、そのMB2フィールドはそれが0と等しいかどうかを
決定するようにテストされる。もしMB2フィールドが
0と等しくないならば非合法PCBが結果として生じる
。ところがもしそれが0と等しいならばスタック語SK
Wは取り出され1422、そのM旧2フィールドが0と
等しいかどうかを決定するようにテストされる1443
。もしM旧2フィールドが0と等しくないならば、その
とき非合法的PCBが結果として生じる。 これに反して、もしそれが0と等しいならば命令カウン
タ語ICWはPCBから取り出され、命令カウンタIC
に置かれる。そしてそのTAGフィールドはそれが0と
等しいかどうかを決定するようにテストされる。もしT
AGフィールドが0と等しくないならば、そのとき非合
法的PCBが結果として生じる。しかしながら、TAG
フィールドが0と等しいならば、MB2語は取り出され
1446、そのM旧2フイールド(ビット0一3 1)
はそれが0と等しいかどうか決定するようにテストされ
る1447。もしそれが0と等しくないならば、そのと
き非合法的PCBが結果として生じる。ところが、もし
それが0と等しいならばスタックベース語0、そしてる
BW0,1と2は取り出される1448。PCBのベー
スレジスタ保持領域内の8つのベースレジスタの内容は
そのとき取り出され1449、機械のベースレジスタに
記憶される1308。 そのときPCBの汎用レジスタ保持領域からの16の汎
用レジスタの内容は取り出され1450、機械の汎用レ
ジスタに記憶される1307。しかしながら、科学レジ
スタの内容を取り出す前に、科学モードが使用されるか
どうかを決定するためにプロセス主要語0(PMWO)
のケーバビリテイ・バイトがチェックされる1415。
もし科学モードが使用されるならば、そのときPCBの
科学レジスタ保持領域からの科学レジスタの内容は取り
出されそして記憶される1452。ファームウェアはそ
のときアカウントモードが使用されるかどうかを決定す
るためにPMWOのケーパビリテイ・バイトをチェック
させるように進む1453。もしアカウソト・モードが
使用されているならば(たとえば2進1に設定されたケ
ーパピリテイ・バイトのアカウント・ビット)、アカウ
ント語はPCB内に存在し、準備時間アカウント語RT
Aは更新される。 そのときファームウェアは、DEXT番号が0に設定さ
れるかどうか決定するために進む1454。もしそれが
0に設定されないならば、機械はエミュレーションモー
ド内にあり(すなわちデコー拡張能力が使用される)、
それがプロセス主要議3のDETS2フィールド以上か
あるいはそれ以下かどうかを決定するためにPMWOの
DEXT番号がチェックされる1455ことを、それは
示している。 またDEXT番号がDETS2フィールドより小さいが
0ではないので非合法的PCB例外が結果として生じる
DETS2フィールドよりそれが大きい場合、機械は合
法的エミュレーションモード内で実行し、Fに進む。決
定ブロック1415に戻って、もしDEXTフィールド
が2進0であるならば、そのとき固有モードは実行され
そして機械はSTWを取り出す1457。PCBの余剰
時間終了語RTOは取り出され1458、CJPが動作
状態に費やす時間限界でプロセスタイマがロードされる
。 この点までに、【a’機械内に古いプロセスCJPが存
在し、新しいプロセスNJPが古いプロセスCJPより
優先されたとき、新しいプロセスNJPはCPUを制御
するために“ロール・ィン”されたかまたは、‘bーC
PUの制御中にCJPが存在しないで準備待ち行列のヘ
ッドが動作されたかである。 条件{aーの下で簡単に、CJPはRPWに取り出され
、Q/PR/RDYのプロセスリンクPL内に置かれる
。そしてQ/PR/RDYのプロセスリンクPL内のN
JPは、CJPにすぐなるNJPを制御し、かつ古いC
JPの制御を停止させる2つのプロセスの位置を効果的
に切り換えるRPW内に置かれる。 そのときNJPのPCBは呼び出され、NJPを動作す
るよう要求される情報はスクラッチパツドメモ1′にあ
るいはACUのレジスタのアレイに置かれる。もしCP
Uの制御中にCJPが存在しないならば(条件b)、そ
のとき準備待ち行列のヘッド‘ま動作される。 たとえばディスパッチャは準備待ち行列からのプロセス
リンクPLからNJPを取り出し2それをRPW語に置
くために、NJPはCJPになる。これを実行すること
によつてプロセスリンクPLはQ/PR/RDYに何も
残されず、それを取り出すよう要求される。従って決定
ブロック1461で始まり、ファームウェアはCPUの
制御中にCJPがあったかどうかを決定する。 そしてもし自由プロセスリンク(FPは)が存在するな
らばそれは呼び出され、待ち行列化され、CJPはここ
に書かれる。しかしながらもしCPUの制御中にCJP
が存在しないならば、NJPのPMWOのステートバィ
トが更新され1460、機械内にCJPが存在するかど
うか決定される1463。もしプロセッサの制御中にC
JPがないならば、NJPのプロセスリンク(Q/PR
/RDYの中にあって、現在機械の制御中にあるもの)
は、Q/PR/ROYに取り出された1466(すなわ
ちQ/PR/RDYから待ち行列を解除させる)、フリ
ー・リンク・セマフオアFLSPになり、フリー・プロ
セスリンク待ち行列(第9図の805)内に待ち行列化
され、フリー・プロセスリンク待ち行列の一部になる1
466a。境界アドレスレジスタBARの内容は取り出
され1 464、システムベースのBAR+56に位直
したNJP(現在CJP)の動作中プロセス語RPWは
RPW、ブロック1465にNJP識別を贋くことによ
って更新される。空ィンジケータはCJPが存在しない
場合0に設定される。次に競争ィンジケータは0に設定
され1467、災形的内容のアドレス指定可能なメモリ
であるセグメントアソシェィタ(第1図の132)はク
リアされ1471、そのときプロセスモードが入れられ
る1470。(例外がオペレーティングシステムよりむ
しろプロセッサ内に動作しているプロセスによって処理
されることを、プロセスモードは示す。)そのときファ
ームウェアはCABに続き1480、非同期トラップビ
ットABはそれが2進1に設定されるかどうかを決定す
るためにチェックされる1481。もしABビットが2
進1に設定されるならばそのときプロセスリング番号P
RNが非同期トラップビツトARNより大きいかあるい
は等しいかどうかを決定しチェックされる1482。(
AB及びARNは各プロセスのPCBの優先権バイトに
位直され、プロセスが動作ステートにあるとき意味があ
る。AB及びABNはシステムベースのBAR十56に
位置したRPWから取られる。)次のステップ1484
は非同期トラップルーチンに進み、そしてそれは、非同
期トラップピツトもしくは非同期リング番号を最初の場
所に設定させる状態に気をつけるので、RPWのBAR
十56のAB及びARNがリセットされ、そしてもしこ
れらがファームウェアによってその次にリセットされな
かったならば、それは実際上悪いものが何もなかったと
ころで何かが悪かったという指示を出し、従って常に非
同期トラッブルーチン1484に進み、決して実行され
ないだろう。全決定ブロック1481及び1482に帰
って、ABビットが設定されず、あるいはABビットが
設定され且つPRNがARNより大きいならば、そのと
きファームウエアは、プロセッサがいかなるモードで、
即ち通常モードあるいはエミュレーションモード内で動
作することを決定するため進む。従ってDEXT番号は
、それが0に設定されるかどうかを決定するようにチェ
ックされ、それが0に設定されるならば、機械の通常モ
ードで動作する1487。しかしながら、DEXT番号
が0に設定されないならば、エミュレーションモードで
動作する1486。 発明の内容の詳細な説明 ハードウェア/ファームウェア・システムは設定された
オペレーションに処理される記録の2つの基本的タイプ
を認識する。 記録のこれらの2つのタイプは第15A図に例証された
バーチュアルメモリ記録及び第15B図に例証されたデ
ータベース記録である。バーチュアルメモリ記録は一般
的に、記録がセグメント・アドレスによってアドレス指
定されうるオペレーティングシステム手順内部に使用さ
れる。データベース記録は、領域−ページーラィン番号
とともにそれらのデータ記録をアドレス指定するユーザ
プログラムによってさらに一般的に使用される。領域は
ユーザファイルを参照し、ページは彼のデータファイル
範囲内の分割を参照し、ライン番号はそのファイルのペ
ージ範囲内の特別な記録を参照する。第15A図に示さ
れたように、バーチュアルメモリ記録は次のフィールド
から構成される。 タイプフィールド1501は記録タイプの説明であり、
この記録の記録記述子(下で説明される)から縛られる
。バーチュアルメモリ記録の○スイッチフィールド15
02は記録ステートを説明する。記録は次のようなステ
ートにあることができる。有効、そしてそれは記録を意
味し、現在有効なデータを含む。論理的に削除される、
それはもはや記録を意味せず、有効なデータを含むが、
なおメモリスペースを保持する。長さフィールド150
3は記録のバイトの実際の数を説明する。記録本体15
04は記録の実際のデータを含む。ポインタ・シーケン
ス・フイールド1505は、その記録がオーナーかメン
バーのいずれかであるセットの、次の、先の、最初の、
最後のオーナー記録のポィンタを含む記録本体の一部分
である。ハードウエア/フアームウエアシステムによつ
て認識される記録の第2の主要タイプは第15B図に説
明される。タイプフィールド1510はまた記録のタイ
プを説明し、下で説明される記録の記録記述子かち得ら
れる。長さフィールド1511はバイト内の記録の長さ
を説明する。記録本体1512は記録の実際のデータを
含む。ボイン夕・シーケンス1513はセットの次の、
先の〜等の記録へのポィンタを含む。別々に記録され、
後で説明される各記録のためにDスイッチフィールド1
604がある。第15C図と16D図は記録のポインタ
‘シーケンスのフオーマットを説競する(第15A図の
フィールド1505と第15B図のフィールド1513
)。 ハードウエア/フアームウエアシステムは2つの異なる
ポィンタ・シーケンス・フオーマットを認識する。1つ
はメンバー記録に対するシーケンスを認識する第15C
図であり、もう1っはその記録がオーナー記録に対する
第150図である。 メンバー記録(第15C図)にとって、次のポィンタ・
フィールドはセット内の次のメンバーのアドレス指定を
含む。先のポィンタ1521は現在のセットの以前のメ
ンバーのアドレス指定を含む。オーナー・ポインタ−フ
ィールド1524はセットのオーナーのアドレスを含む
。オーナー記録に対し、ハードウェアノフアームウェア
によって認識されたポィンタ・シーケンス・フオーマッ
トは第150図に示されている。最初のポインタ・フィ
ールド1532はセットの最初のメンバー記録のアドレ
ス指定を含む。最後のポィンタ・フィールド1533は
セットの最後のメンバーのアドレス指定を含む。説明さ
れたポイン夕の各々(次の、先の、オーナー、最初と最
後)選択的である。 しかしながら、任意のセットにとって次のような組合わ
せだけが合法的である。ケース1、オーナーあるいはメ
ンバー記録にとって最初でなく、最後、次のもしくは先
のポィンタ(メンバー記録はオーナー・ポィンタを有す
る)。 ケース2、オ−ナー記録は最初のポィンタを有し〜 メ
ンバー記録は次のポインタを有する(メンバー記録はオ
ーナー・ポィンタを有してもよいし、有さなくてもよい
)。 ケース3、オーナー記録は最初と最後のポィンタを有し
、メンバー記録は次のポィン夕を有する(メンバー記録
はオーナー・ポィンタを有しても良いし、有さなくても
良い)。 ケース4、オーナー記録は最初と最後のポインタを有し
、メンバー記録は次と先のポィン夕を有する(メンバー
記録はオーナー・ポィンタを有してもよいし、有さなく
てもよい)。 ハードウエア/フアームウエアシステムの別の特徴は、
4つの異るクラスあるいはフオーマツトのポインタを認
識することである。 記録内のこれらのクラスはバーチュアルメモリ記録のた
めにのみ使用されるクラスゼロ、バーチュアルメモリ記
録のためにのみ使用されるクラス1、データ記録のため
にのみ使用されるクラス2ト及びデータ,ベース記録の
ためにのみ使用されるクラス3として参照される。4つ
の全てのポィンタクラスはそれらの最初の2つのビット
に共通な意味を有する。 第1ビット、即ちEOSビットは“セット終了”ポィン
タである。このビットが1に設定されるとき、限定によ
るポィン外まオーナー記録を指示する。第2のビット、
即ちNINSビットは“挿入されない記録”ポィンタで
ある。このビットが1に設定されるとき「記録は照会さ
れるセット数として現在は挿入されない。クラスゼロポ
ィンタ・フオーマツトは第15E図に示されている。 EOSビット1540と挿入されないビット1541は
最初の2つのビット位置を占める。SRAフィールド1
542は14ビットのオフセットであり、かつそれは所
定のセグメント内の変位であり、そしてそれはそのセグ
メント内に位置した記録を指示する。クラスゼロポィン
タから得られたSRAフィールドは、クラスゼロポィン
タを通して記録をアドレス指定するときに使用されるベ
ース・レジスタから一般的に得られるセグメント番号と
常に合併される。クラス1ポィンタは第15F図に示さ
れている。 EOSビット1550及び挿入されないビット1551
は標準限定のものである。フィールドSEG、SRA1
552は標準セグメントアドレスから成り、そしてそれ
らは以前に定義した。これらのポィンタは記録を直接ア
ドレス指定するために使用され、かつセグメント番号は
直接そのポィンタを通して供給される。データ・ベース
記録と共に使用されるクラス2とクラス3のポインタの
ために、フアームウエア/ハードウェアシステムは、前
述したようにシステムの各ベースレジスタ(第2図の2
02を参照)と共に、関連したインデックスレジスタが
あるということを認識する。 汎用レジスタ8−15,201はインデックスレジスタ
0〜7にそれぞれ相当する。このインデックスレジスタ
番号IXRiはベースレジスタBRiに匹敵する。例え
ば、ベースレジスタBR3のために、インデックスレジ
スタIXR3(GRI I)は、領域−ページーラィン
番号ポィンタを含み、その現在のSEG、SRAアドレ
スはベースレジスタBR3内に含まれる。このように、
ユーザーはSEG、SRAアドレスを有するベースレジ
スタあるいは領域一ページーラインフオーマツトのイン
デックスレジスタ内に含まれるようなデータ・ベースポ
インタのどちらかを通してユーザーの記録のアドレスを
指示することができる。データ・ベース記録で動作する
ハードウェア/ファームウェア命令は、領域一ページー
ラインポィンタをSEG、SRAアドレスに自動的に変
換する能力を実施する。 従って、データベース命令によってなされる全ての実際
上のメモリ照会は、セグメント及びSRA番号によって
メモリを指定する標準ハードウェア機構を使用し、そし
てインデックス・レジス外こ含まれるような領域−ペー
ジーラィンからの変換は、もし必要ならばハードウェア
によって自動的になされる。ユーザーファイル(領域)
内のページとハードウェアノフアームウェアによって認
識されるようなセグメントの間に1対1の一時的対応が
ある。 このように、後述されるページ記述子を通して、ハード
ウェア/ファームウェアは任意のページ番号をセグメン
ト番号に変換する。クラス2ポインタ・フオーマツトは
第15G図に示されている。 EOS及び“挿入されない”ビットはフィールド156
0と1561内に示されている。ページ番号はフィール
ド1562内に含まれる。ライン番号はフィールド15
63内に示され、かつページと領域の記録番号を表わす
。完全な領域−ページーラィン番号ポィン外ま、データ
ベース命令により照会されるインデックスレジスタから
得られた領域番号を得ることによりクラス2記録を使用
するときに得られる。クラス3ポィンタ・フオーマツト
は第15日図に示されている。 EOS及び“挿入されない”ビットはフィールド157
0と1571内に示されている。領域番号はフィールド
1572内に示されている。これはユーザーファイル番
号に関連する。べ−ジ番号1573及びライン番号15
74はユーザーファイル内の特別の記録のアドレスを指
定する。第16A図は、ハードウェア/ファームウェア
システムによって認識されるようなユーザーファイル(
領域)の一部であるデータベースページを図示する。 データベースページは第15B図において前述したよう
にデータベース記録を含む。前述したように、データベ
ースページが主メモリ内にあるとき、データベースペー
ジとセグメントの間に1対1の対応がある。ページヘツ
ダー1601は、それが含まれるページに関係したある
情報を含む。 例えば、それはバイトでページの長さを、またページに
含まれる多数の記録(ライン)を説明する。それはまた
、それが主メモリ内に含まれるときページへの書き込み
で設定される書き込みビットのような情報を含む。ペー
ジヘツダーに続いて、データベースべージの次の主要部
はラインオフセットアレイ1602である。これは、ペ
ージの有効なライン番号に1対1で対応する16ビット
素子のアレイである。ラインオフセットアレイの各素子
のために、2ビットD−スイッチ1604と14ビツト
オフセット1603がある。D−スイッチは、無為の、
論理的に削除され、物理的に削除され〜あるいは有効な
、記録ステートを説明する。オフセットはべ−ジの初め
からの相対変位である記録への14ビットポインタであ
る。ハードウエアはこのページに相当するセグメント番
号と連結したオフセットを使用することによってこのペ
ージのデ−タベース記録をアドレス指定することができ
る。対応するセグメント番号を得る方法は下に記述され
る。データ・ベース・ページの残っている部分は記録1
610及び記録1612で表わされたような実際のデー
タベース記録からなる。これらの記録はページのどんな
部分(セグメント)にも位置するが必ずしもラインオフ
セット・アレイにおいてそれらの位置と同じ順番に位置
するとは限らない。Dスイッチが無為の、物理的に削除
されるような記録ステートを記述するならば、オフセッ
トはそのときゼロに設定され、記録を存在しないだろつ
o実際のデータベース・ページは第16B図に示された
ようなページ記述子によってアドレス指定される。 ページ記述このセグメント番号1625は主メモリにロ
ードされてからこのページ番号と相当するセグメント番
号を含む。領域番号1622はこのページの領域番号(
ファイル)を含む。ページ番号1624は実際のページ
番号である。最終ページィンジケータ1626は任意の
領域の最も高いページ番号のものに等しい。シフト・カ
ウント1623はページ番号のビット数を含む。ハード
ウェア/ファームウェアシステムは、領域、ーベージー
ラインポインタ・フオーマツトを利用するとき、可変長
さページ番号を認識する。次の記述子1620は一連の
ページ記述子の次のべ−ジ記述子を指示するのに使用さ
れる。先の記述子1621は一連のページ記述子の先の
記述子を指示する。これらの一連のページ記述子の使用
については下に記述される。一連のページ記述子は、フ
ァイルのどのページが計算機システムの主メモリに現在
位贋しているかを示すのに使用されたハードウェア/フ
ァームウェア機構である。 メモ川こある各ページにとって、ページ記述子は一連の
ものであると認識された単一システム内位置される。そ
してそれは第16C図に示された集積アクセス制御ポィ
ンタによって指示される。集積アタセス制御ポィンタは
先に記述されたシステムベースの一語の拡張を表わす。
IACポインタはアドレスBAR十92に位置し、そし
てそれはシステムベースの端を一語過ぎている。IAC
ボインタ・フオ−マットは“ゼロでなければならない”
フィールド1630、G−番号1631、及び変位16
32を含む。G−番号は、以前に記述されたようなG−
セグメントの番号である。変位は、ページ記述子リング
の初めが開始するところのGーセグメント範囲内の変位
である。主メモ川こ含まれた全ページのページ記述子は
そのとき伝統的チェィン・フオーマット内にいつしよに
リンクされる。次の記述子及び先の記述子のフィールド
はリンクを形成する。第17図は主メモリ内にデータベ
ースページの位置を実施するためのハードウェア/ファ
ームウエア−フロウ’チャートを示す。 このファームウェアは、領域一ページーラィン番号ポィ
ンタを取り出し、ページが主メモリにあるかを初めに決
定し、そして次にそれが主メモリ内に存在するならばペ
ージのページ記述子を伝達する。ファームウェアは17
01に示されるように始まる。第一のファームウェア動
作は1702に示されたように起こる。 そしてそこでIACポィンタの主メモリ。フヱツチはB
AR+92の位置でなされる。(IACポィンタは第6
図に示されているようにシステム・ベースに組み合わさ
れる。)このメモリ。フェッチの結果として、メモリ・
アクセス例外1703が起こる。メモリ・アクセス例外
は物理的メモリあるいはメモリ読み込みエラーからなさ
れる。ファームウェアによって取り出された次のステッ
プは1704に示されている。そしてそこでM旧2フィ
ールドはゼロであることをチェックされる。(第16C
図参照)そのフィールドがゼロでないと発見されるなら
ば、そのときシステム・チェック1706が発生する。
システム・チェックの発生で、システムは診断ステート
に入る。MB2フィールドがゼロであるならば、ブロツ
ク1706は次に実行される。 IACフィールドのG−番号は一時レジスタGに伝達さ
れる。変位フィールドは一時レジスタGに伝達される。
変位はまた‘‘最初のポィンタ”と呼ばれる位贋のスク
ラツチパツド・メモリに伝達される。ブロック1707
は次に実行される。主メモリのフエツチはページ記述子
を命令取り出しのためにアドレスG,Dでなされる(第
16B図参照)。このフェッチは以前に記述されたよう
にG、Dアドレツシングの慣習に従ってなされる。G、
Dアクセス例外1708はこのメモリフェツチの結果と
して発生する(たとえばセグメント、非合法的G‐Dセ
グメント記述子からである)。ファームウェア・サブル
ーチンによってチェックされる領域・ページ・ラインの
領域番号及びページ番号は一致させるためページ記述子
の領域番号フィールド1622及びページ番号フィール
ド1624と対照して比較される。もし領域及びページ
番号が一致するならば、ブロック1710が実行され、
ファームウェア・ルーチンがスクラツチバツドメモリに
ロードされる主メモリから取り出されたばかりのページ
記述子とともに完了する。現在のページ記述子の領域あ
るいはページ番号がチェックされる領域−ページーラィ
ンの領域及びページ番号に等しくないならば、ブロック
1711が実行される。 現在のページ記述子の次の記述子フィールド1620は
一時的スクラツチパツドの位置の内容、“最初のポィン
夕”と対照してチェックされる。もしもこれらの2つの
値が等しくないならば一時レジスタDが現在のページ記
述子の次の記述子フィールドと共にロードされるブロッ
ク1713が実行される。ステップ1713に続いてフ
ァームウェアによる分岐は、新しいページ記述子(それ
は次の記述子によりアドレス指定される)が今取り出さ
れ、続いてチェックされるステップ1707に対してな
される。ステップ1711に戻って、もし次の記述子が
一時的スクラッチ・パッド位置の内容と、“最初のポイ
ンタ”と等しいならば、これはメモリ内にある全ページ
を記述するページ記述子の全リングがファームウェアに
よって捜し出される領域一ページを発見しないで今使い
尽くされたばかりであることを示す。 この場合、必要なべ−ジが主メモリ‘こ位置されていな
いことを示すページ例外1712が生じる。その例外に
続いて、適当なソフトウェア動作が生じ、この必要なべ
−ジを主メモリに移す。次に第18図において、王〆モ
リにおいてデータベースページを位置指定する為の機構
を実施する為に必要なハードウェアに対するブロックダ
イヤグラムが表示される。 この機構は位置指定ページ作動用フリップフロップ18
51のセットにより作動され、前記フリップフロップは
中央処理ユニット104の算術論理ユニット1317の
補助メモリ1317Aに位置される。位置指定ページ作
動用フリッブフロップ1861をセットする以前に、そ
のページ記述子が位置指定されるべき領域ページ数が、
領域一ページレジスタ1852にロードされる。領域−
べ−ジレジスタの内容は、次に適正な領域−ページ記述
子が位置指定された時を検出する為に使用される。位置
指定ページ作動用フリップフロップ1851の論理1に
対するセット動作がANDゲ−ト1854を駆動し、こ
の為境界アドレスレジスタ1853の内容が加算器18
56に入力される。 加算器に対する他の入力は一定値92で、これはハード
ウェアレジスタ1855に記憶される。加算器1856
は、中央処理ユニット104の算術論理ユニット131
7に位置される。加算器1856の出力は、ANDゲー
ト1857に接続されている。ANDゲ−ト1857の
駆動は、加算器1856の内容をメモリシステム185
9のメモリアドレスレジスタ1858に転送させる。こ
の様に、BAR+92のアドレスは、メモリアドレスレ
ジスタ1858に転送される。前述に如く、このアドレ
スは、システムベースに位置される集積アクセス制御ポ
ィンタのアドレスである。山Cポインタは、メモリシス
テム1859から謙出される。位置指定ページ作動用フ
リップフロップ1851からの出力信号は反転増中装置
1886により論理零に反転されて、この論理零は更に
、メモリシステムの議出し/書込みフリップフロップ1
887を論理零にセットする(メモリ議出し動作)為に
使用される。この様に、メモリシステムがメモリアドレ
スレジスタ1858のロード動作を検出した後、メモリ
議出し動作が開始される。メモリ議出し動作の結果、メ
モリアクセス例外動作が生じ得る。前述の如く、メモリ
アクセス例外動作は、例外取扱機構の作動を惹起する。
この例外取扱機構は、この様な例外動作がメモリシステ
ムにより検出されると、メモリアクセス例外フリップフ
ロップ1860のセット動作により作動される。メモリ
動作が通常の如く完了すれば、メモリ動作完了フリップ
フロップ1861が論理1にセットされて、メモリから
読出されたIACポインタの内容は、メモリデータレジ
スタ1862に転送される。このメモリ動作完了フリッ
プフロップ1861は、次にANDゲート1 863を
介してメモリデータレジスタの内容の転送を駆動する。
IACポィンタを表すこれ等の内容は、第16C図に示
す如きフオーマットとなる。IACポィンタのM欧フィ
ールド1630は、算術論理ユニット1317に位置さ
れるコンパレータ1865に接続される。 このコンパレータ1865は、M斑フィールドを2進数
0の数値を含むレジスタ1864と比較する。もし等し
くない条件が検出されると、システムチェックフリップ
フロップ1866は数値1にセットされる。コンパレー
タ1866が等しい条件を検出する場合は、等しい信号
は、G番号1631の転送を駆動し、ANDゲート18
67を介してIACポィンタの変位フィールド1632
をGレジスタ1873とDレジスタ1874に対して駆
動する。Dレジスタ1874への転送の為の論理回路に
ついては以下に記述する。位置指定ページ作動用フリッ
プフロップ1851のセット動作は、最初のフリップフ
ロップ1869のセッティングを惹起する。 このフリップフロツプは、数値1にセットされて、Dレ
ジスタ1874が最初にロードされる事を表示する。こ
の様に、最初のフリップフロツプ1869の出力は、A
NDゲート1867の世力に沿ってANDゲート187
1に接続され、前記ANDゲートはIACポインタのD
変位フィールドを含んでいる。ANDゲート187 1
を介して、IACポインタの変位フィールドは、ORゲ
ート1872を介してDレジスター874に転送される
。最初のフリツプフロツブ1869の出力も又、AND
ゲート1867(IACポィンタの変位フィールドを含
む)に沿ってANDゲート1868に接続される。この
様に、最切のポインターレジスタ1870は、ANDゲ
ート1868を介して、このボインタから得る最初の変
位数値でロードされる。最初のポインターレジスタ18
70の使用については以下に記述する。又、最初のフリ
ップフロップ1869の出力は、自体のリセット入力に
接続される。この様に、最初のフリップフロップが論理
1にセットされ、かつ最初のポインターレジスタ187
0と○レジスタ1878をロードさせた後、最初のフリ
ツプフロツプは次いで論理零にリセットされる。Gレジ
スタ1873とDレジスタ1874が一たんロードされ
ると、G、Dアクセス機機1875が作動する。 この機構は、GおよびDレジスタにより与えられたアド
レスにおける主メモリのフェツチをしてページ記述子(
第16B図参照)をフェッチさせる。この機構は、主メ
モリをして、前述の如くアドレス指定するG、Dの規則
に従ってフェッチさせる。G、Dアクセス例外動作は、
このメモリのフェッチの結果として生じ得る(例えば、
セグメントから違法G−Dセグメント記述子)。この様
な例外動作が検出されると、G「Dアクセス例外フリッ
プフロツプ1876は論理1にセットされ、これは更に
例外取扱装置機構を作動させる。さもなければ、G、D
アクセスの完了と同時に、機構1875はフェッチされ
たデータをページ記述子レジスタ1877に転送する。
ページ記述子1877に転送されたデー外ま、第168
図に示す如きフオーマットである。ページ記述子レジス
タ1877のロード後、領域番号1622とページ番号
1624は、算術論理ユニット1317に位置されたコ
ンパレータ1878に入力される。 この時、ページ位置指定機機の開始時にロードされる領
域一ページレジスタ1852に位層された領域ページ番
号も又コンパレータ18781こ入力される。もしコン
パレータが一致する比較内容を見出すならば、所望のペ
ージ記述子がロードされ、機構はその機能を完了する。
この様に、コンパレータ1878の一致比較ラインは、
位置指定ページ完了フリップフロップ1879に接続さ
れる。この信号は、このフリッブフロップを論理1の状
態にセットして、ページ位置指定機構の完了を信号する
。もしコンパレータ1878が非一致条件を信号すると
、ANDゲート1880‘こ接続された非−敦信号は、
次の記述子1620のページ記述子しジスタ1877か
らコンパレータ1883へ、又ANDゲート1885へ
の転送を可能にする。 コンパレータ1833は、次の記述子1620を最初の
ポィンタ1870と比較する。一致比較条件が検出され
る場合、ページ記述子の全ポインターチェーンが探索さ
れ、所望のページ記述子は位置指定されない。この様な
条件下では、所望の領域ページは主メモリ内になく、こ
の為コンパレータ1833の一致は、ページング例外フ
リップフロップ1884をセットする為に使用される。
この例外取扱機構は次のフリップフロツプ1884のセ
ツティングにより作動される。ページ記述子レジスター
877からの次の記述子1620を含むANDゲート1
880の出力も又ANDゲート1885に接続される。 このANDゲ−トは、コンパレータ1883の非一致信
号により駆動される。この非一致条件は、各ポィンタ.
のページ記述子チェーンに端末に到達しない時生じる。
この様に、非一致信号が論理1でない時、次の記述子フ
ィールドは、ANDゲート1883からANDゲート1
882に転送される。ANDゲート1882への他の入
力は、反転増中装置1881からの信号である。AND
ゲート1881からのこの信号は、最初のフリッブフロ
ップ1869の反転出力を表わす。この様に、反転AN
Dゲート1881による信号出力は、最初のフリツプフ
ロップ1869が論理零にあるときに論理1にあり、従
ってANDゲート1882は、次の記述子フィールド1
620をORゲート1872に転送し、これが更にDレ
ジスタ1874に接続される様に駆動される。これ等の
一連の論理ゲートを介し、次の記述子フィールド,がペ
ージ記述子1877から○レジスタ1874に転送され
、G、Dアクセス機構はこの時再び作動可能なる。G、
Dアクセス動作のサイクルは、この時再び作動され、新
しいページ記述子がフェツチされてページ記述子レジス
タ1877にロードされる。この新らしいページ記述子
のフヱッチ動作は、1878のコンパレータが所望のペ
ージ記述子を検出するか、コンパレータ1883がペー
ジ記述子チェ−ンの端部を検出する迄繰返される。本文
で述べたハードウェアノフアームウヱアシステムの更に
重要な2つの要素は、第19Aおよび19B図に示され
る。 第19A図のセット記述子は、与えられたセットの性状
を記述する為に使用される。第19A図に示される如く
、Pフィールド1802は、このセットの記録ポィンタ
のポインタークラス(モード)を記述する2ビットのフ
ィールドである。オーナーおよびメンバーの全ての記録
は、与えられたセットに対して同じポインタークラスの
ポィンタを有する。セット記述子1803のオーナーポ
インタフイールドは、メンバー記録がオーナー記録(第
15C図参照)に対する「オーナーポインタ」を含む場
合に1セットされる。「他のポイン夕」フィールド18
04は、オーナーおよびメンバー記録が最初の、最後の
、次の、および先のポインタを持っているかどうかを記
述する「セット編成モード」フィールドK1805は、
現行のセットに使用されているセット編成のモードを記
述する。「リンク」セットのモードについてのみ本文に
より詳細に開示する、然しながら、表配列又はリスト配
列の如きセット編成の為の他のモードへの拡張能力は存
在する。「変位」フィールドi806は、メモリにおけ
る記録の初めからそのレコードにおけるポインターシー
ケンスの初め迄のオフセットを表わすのに使用される(
第15Aおよび15B図参照)。第19A図に技術され
る如きセット記述子は、ハードウェアノフアームウェア
に照合されたセットの記述を与えるセットで動作する時
、データベース命令により常にアクセスされる。第19
8図に示す如き記録記述子は、レコードのある特性を記
述する為に使用される。 Fフィールド1820は、記録フオーマットの記述の為
に使用される。記録のフオーマットは、第15Aおよび
15B図に記述した如く、バーチュァルメモリ記録がデ
ータベース記録のいずれかである。「記録タイプ」フィ
ールド1821は、記録のタイプを表示し、第15Aお
よび15B図に示される如きメモリにおける実記録のタ
イプフィールドにロードされる。「記録長さ」フィール
ド1822は、どんな実長さで記録が主メモリにあって
第15Aおよび15B図に示す如きメモリ記録にロード
されるかを表示する。実際のデータベース命令は、第2
0A乃至20F図に示す如き6つのフオーマットの1つ
のである。 第20A図に示されるGROPフオーマットは、「演算
コード1910」と、「奏でなければならない」フイー
ルド1911と、「ベースレジスタ一番号1921と、
r補数コード」1912とを含んでいる。 「ベースレジスタ」は記録のセグメント化されたアドレ
スを含んでいる。「補数コード」は「演算コード」によ
り記述される特定の命令のこれ以上の区別の為に使用さ
れる。第20B図に示されたXIフオーマットは、演算
コード1920と、演算コードのこれ以上の区別に使用
される補数コード1921と、アドレスシラブル192
2と、零でなければならないフィールド1923と、論
理的削除フィールド1924と、ポインターモードフイ
ールド1925と、BRフィールド1926とを含んで
いる。 ベースレジスタは、レコードのセグメント化されたアド
レスを含んでいる。アドレスシラブル1922は、その
いくつかの用途の為、動作されるべきセットのセット記
述子を指示する。アドレスシラブルは、前述の如きアド
レス生成の為の規則に従って、セグメント化されたアド
レスに生成される。第20C図に示されたPXDXフオ
ーマットは、演算コード1930と、これ以上の区別に
使用される補数コード1931と、1つのアドレスシラ
ブルASI I 932と、零でなければならないMB
ZIフイールド1933とベースレジスタ1934と、
2番目の零でなければならないMBZ2フィールド19
35と、2番目のアドレスシラブルAS2 1936と
からなる。再びベースレジスタは記録のセグメント化さ
れたアドレスを含んでいる。第1のアドレスシラプルA
SI I932はセット記述子を指示する。第2のアド
レスシラブルAS2 1936は2進整数のアドレス指
定に使用される。第20D図に示されたBRXフオーマ
ットは、演算コード1940と、命令を更に区別する為
に使用されるタイプフィールド1941と、ベースレジ
スタフイールド1942と、アドレスシラブル1943
とを含んでいる。 このベースレジスタは、記録のセグメント化されたアド
レスを含んでいる。このアドレスシラブルは、セット記
述子をアドレス指定する為に使用される。第20E図に
示されたDXGRフオーマツトは、演算コード1950
と、命令を更に区別する為に使用されるタイプフィール
ド1951と、第1のベースレジスタ番号BRI 19
52と、アドレスシラブル1963と、零でなければな
らないMBZIフィールド1954と、第2のベースレ
ジスタ番号BR2 1955と、「前後一般初最後」フ
ィールド1956と、第2の零でなければならないMB
R2フィールド1957とを含んでいる。 2つのベースレジスタは、メモリに位置する2つの異な
る記録をアドレス指定する為に使用されるアドレスシラ
ブルは「 セット記述子のアドレス指定に使用される。
「前後−最初最後」フィールドは「セット内の記録の所
望の位置設定を記述する。第20F図に示すCPDDフ
オーマツトは、演算コ−ド1960と、特定データベー
ス動作の記述に使用されるプリミティブフィールド19
61と、命令を更に区別する為に使用されるタイプフィ
ールド1962と、ポインターフィールドの記述に使用
されるPフィールド1963と、オーナーおよびメンバ
ー記録の他のポィンタを記述する「最初最後一次「先」
ポインターフィールド1965と「ポインターシーケン
スの初めに対するオフセットを記述する変位フィールド
1966と、ベースレジスタ数を含むBRフィールド1
967とを含んでいる。 このベースレジスタは、主メモ川こおける記録のセグメ
ント化されたアドレスを含んでいる。アンロード・デー
タベース命令は、主メモリ内の記録に対するポィンタを
書き込むファームウェア/ハードウェア’命令である。 ポインタは、バーチュアル・メモリ記録(第16A図参
照)のためにはベース・レジスタから、又データベース
記録(第168図参照)のためには、インデックス・レ
ジスタから転送される。命令フオーマツト内のポィンタ
・モードは、当該ポィン夕がバーチュアル・メモリまた
はデータベース記録フオーマツトの何れであるかを表示
するものである。アンロード命令は、第20b図に示さ
れるようなXIフオーマツトのものである。即ち、この
命令はXI命令(第20b図)の内の1つの実行によっ
て実現される。 実行において、Pフイールド(ポインタフイールド)1
925、ベースレジスタフィールド(BR番号)192
6及びアドレスシラブルフイールド(AS)1922が
用いられる。この命令の目的はインデツクスレジスタ内
に保持されたポインタをASで特定された記録のポィン
タシーケンス(第15b図、第15c図、第15d図)
内へストアすることである。ポインタはクラス2又はク
ラス3(第15g図、第15h図)のどちらかである。
オペレーションは、第21図に関し以下に説擬する。X
I命令のPフィールドは、バーチュアルメモリ記録(0
、1)とデータベース記録(2、3)のどちらが関係し
ているのが決定するためにテストされる。データベース
記録が関係しているのなら、XI命令のBRフィールド
‘こよって指定されたBR番号に対応するインデックス
レジスタ(第15g図、第15h図)内に保持されたポ
ィンタが、XI命令のASによってアドレスされたメモ
リ内のデータベース記録部分(ポィンタシーケンス)内
にストアされる。ASはセグメント番号とオフセットか
ら成る。各インデックスレジスタはBR番号と対応して
いる。第21図には、アンロード命令のファームウェア
・フローチャートが示されている。 ファームウェア・フローチャートの操作2001におい
て、命令のフオーマツトのチェックがなされる。そして
、操作2002において、記録がバーチュアル・メモリ
記録か、又はデータベース記録の何れであるかが決定さ
れ、次いで操作2003または2005に分岐されてベ
ース・レジスタまたはインデックス・レジスタの何れか
から、適切なポィンタ・タイプがメモリに書込まれる。
メモリへの書込みのあとで、命令は完了する。第21図
をより詳細に検討すると、先づ、操作2001において
は命令のM欧フィールド1923(第198図参照)が
、ゼロであるかどうかのチェックがなされる。 このゼロチェツクは、命令を、命令フェッチ・ユニット
(第13A図参照、IFU1318)から演算論理ユニ
ット1317内のレジスタに転送することによって行わ
れる。このレジスタにおいて行われるハードウェア・チ
ェックでMBZがゼロでないことが検知されると、ファ
ームウェアは第21図の2009に示されるような例外
(操作)処理に分岐される。この例外(操作)は、不法
フオーマット・フィールド例外(操作)と呼ばれる。M
故がゼロであれば、ファームウェアは操作2002に進
み、ここで、命令のPフィールドI925(第20B図
参照)が、演算論理ユニットにおいて検査される。 このPフィールドには、前述されたポインタ・モードが
含まれている。指摘されたように、バーチュアル・メモ
リ記録のポィンタ・クラスは0または1である。データ
ベース記録のポインタ・クラスは2または3である。か
くして、演算論理ユニットにおいて、2ビットのPフィ
ールド1925の値が0か1かの検査がなされ、この状
態が真であれば、記録はバーチュアル・メモリタイプの
ものであるとして、2005に分岐される。演算論理ユ
ニットにおいて、2ビットのPフィールド1925が2
または3に等しいものと検知されれば、記録はデータベ
ース記録であるとして、2003に分岐される。操作2
005においては、ファームウェアは、バーチュアル・
メモリ記録に分岐されて、アドレス・シラプル1922
(第20B図参照)によって与えられたアドレスに基し
、て主メモリへの書込みがなされる。 主メモリーこ書込まれるべきベース・レジスタの内容は
、アドレス制御装置1319からデータ管理ユニット1
321へ転送される。そして、ハードウェアの主メモリ
書込み機構において、データ管理ユニット1319から
主メモリ(第1図参照)への転送が行なわれる。主メモ
リへの書込みの結果によって、メモリ・アクセス例外(
操作)2008の生じることがある。アドレス・シラブ
ルASI922のセグメント化アドレスへの展開はセグ
メントアドレス展開方式(米国特許出願第425356
号)及び連想メモリを用いたアドレス展開方式(米国特
許第粉00286号)に記述されている。このアドレス
展開は、アドレス制御装置1319において行われる。
操作2005における主メモリへの書込みに続いて、フ
ァームウェアは操作2006に分岐され、ここで命令へ
と移行される。ポインタ・クラスが2または3であれば
、ファームウェアは操作2003へ分岐される。 この操作において、命令のBRフィールド1 926に
よって与えられた番号のインデックス・レジスタの内容
はアドレス・シラブルASI922から出されたアドレ
スにおいて主メモリ102に書込まれる。インデックス
・レジスタの内容は、スクラツチパッド・メモリ131
5からデータ管理ユニット1319に転送される。そし
て、ハードウェア主メモリ書込み機構によって、データ
管理ユニットから主メモリへとデータが転送される。こ
のメイン・メモリへの書込みの結果として、メモリ・ア
クセス例外(操作)2007が生じることがある。アド
レス展開は、アドレス。シラブルASについてアドレス
制御装置1319において行われる。操作2003にお
ける主メモリへの書込みに続いて、ファームウェアは操
作2004に分岐され、ここで命令は完了され、次の命
令へとコントロールが移行される。第22図を参照する
と、ここには、この発明のアンロード1デ−夕べ−ス命
令を実行するために必要なハードウェアがブロック図と
して表示されている。 アンロード命令検出レジスタ22Qjによって表示され
るようにアンロード命令が受取られると「当該命令は命
令バッファ2202に一時的にストアされる。命令バッ
ファは、中央処理ユニット104の命令フェツチ・ユニ
ット1318に設けられている。前述されたように、命
令バッファ2202に転送されたアンロード命令は、第
2DB図に示されるようなXIフオーマツトのものであ
る。MBZフィールド1923は、直ちに比較器220
3によって、ゼロ・ビット2204と比較される。比較
器2203によって相異なるという信号が出されれば、
不法フオーマット・フィールド例外(操作)が検知され
て、不法フオーマツト・フイールド・フリツプ・フロツ
プ2205がセットされる。このようにして、アンロー
ド命令の例外(操作)は完了する。比較器2203によ
って相等しいということが表示されると、アンロード命
令の実行は、下記のように実行される。.また、アンロ
ード命令検出器22011こよるアンロード・ィンスト
ラクションの検出によって、ANDゲート2206が可
能化され、これにより、BRI 926をスクラツチパ
ツド・メモリQアドレス。 レジスタ2207への転送が許容される。上位1ビット
2208はスクラツチパツド・メモリ・アドレス・レジ
スタ2207へ転送される。このようにして、スクラツ
チパツド・メモリ・レジスタには、前述されたようなデ
ー夕べ−ス・ポインタを含んでいるインデックス・レジ
スタの内容が含まれることとなる。スクラッチパッド・
メモリ・アドレス・レジスタ2207は、スクラッチパ
ッド・メモリ2209からアドレスを謎出すために用い
られる。これは第13A図において、スクラツチパツド
・メモリ1315として示されたものと同様である。ス
クラツチパツド・メモリ2209から謙出されたデータ
は、スクラツチパツド・メモリ・データ・レジスト22
10へ転送される。ANDゲ−ト221 1において、
スクラツチパツド・メモリQデータ・レジス夕2210
‘こ読出されたこのデータが、更に処理されるものかど
うかについての決定がなされる。このANDゲ−トは〜
ビット0またはPフィールド1925が命令バッファ
において1として検出されたときに可能化されるもので
ある。Pフィールドが2進値の2または3、即ちデータ
ベース記録タイプの記録であるとき、値1が検出される
。ANDゲート2211がPビット川こよって可能化さ
れると、スクラツチパツド・データ・レジスタ2210
の内容はORゲート2217に転送され次いでメモリ・
データ・レジスタ2218に転送される。ベース・レジ
スタBRI 926の内容は、また命令バッファ220
2から、アドレス制御装置22亀2へと転送される。 これは、中央処理ユニットについて記述されている第1
3A図で示されるアドレス制御装置1319にあたるも
のである。,ベース。レジスタの番号を供給されると、
アドレス制御装置2212によって、当該ベース・レジ
スタの内容がレジスタ2214に謙出される。レジス夕
2214はANDゲート2215に結合されている。命
令バッファ2202のPフィールド1925のビット0
は、ANDゲートに結合される反転ANDゲート221
6に結合されていることが認められる。このようにし
て、Pフィールド1925のビット番号0、即ち、Pが
バーチュアル。メモリ記録に対応する0または1に相等
しい状態の下にANDゲート2215は可能化される。
ゲート2116によって可能化されると、べ・‐ス・レ
ジスタ221 4の内容は、ANDゲートよりORゲー
ト2217へ、次いでメモリ・データ・レジスタ221
8へと転送される。アンロード命令検出器2201によ
って「アンロード命令検出され、該命令が命令バッファ
2202へ転送されたあとで、アドレス・シラブル19
22(の内容)はANDゲート2230を介して、アド
レス制御装置ユニット2212へ転送される。 ANDゲード2230は比較器2203からの相等しい
という比較信号によって可能化されるがこれは、前述さ
れたように、MBZフィールド1923が値0に相等し
いものと検出された状態にあたるものである。アドレス
制御装置2212に転送されたアドレス・シラブル19
22は、セグメントアドレス展開方式なる特許出願中で
記述されているように変換される。アドレス制御袋贋2
212によって展開されたメモリ・アドレスはメモリ・
アドレス・レジスタであるレジスタ2213に転送され
る。そしてメモリ・アドレス・レジスタ2213の内容
は、メモリ・システムのメモリ・アドレス・レジスタ2
219に転送される。このときメモリ・システム222
0のメモリ・データ・レジスタ2218は、アンロード
命令によって、データベース記録が操作されていると表
示されていれば、インデックス・レジス夕(の内容)ま
たは、アンロード命令によって、バーチュアルメモリ記
録が操作されているとすればベース・レジスタ(の内容
)の何れかをもっていることとなる。メモリシステムの
メモリ・アドレス・レジス夕2219には、メモリ・デ
ータ・レジスタ2218の内容が書込まれるべきアドレ
スが含まれている。メモリ・システム2220‘こおい
て、メモリデータレジスタ2218及びメモリアドレス
レジスタ2219がロ−ドされたものと検出されると、
メモリの書込み操作が開始される。ァンロード命令検出
器2201によって読出し、書込みフリップ・フロップ
2224が“1”状態にセットされていることから、メ
モリ・システムは書込み操作を行うことを指令される。
メモリ・システムの操作については、セグメントアドレ
ス展開方式なる特許出願中に記述されている。メモリ書
込み操作の結果として、セグメントアドレス展開方式な
る特許出願中に記述されているメモリ・アクセス例外操
作2221の生じることがある。このような例外操作が
出じると、例外操作処理方式なる特許出願中に記述され
ている。メモリアクセス例外操作処理手段が起動される
。そうでなければ、メモリ操作は正常に完了し、メモリ
操作完了フリッブ・フロップ2222が論理“1”にセ
ットされる。メモリ操作完了フリツプ・フロップ222
2が論理‘‘1”状態に移行すると、命令完了7リップ
・フロツプ2223が論理“1”にセットされて、アン
ロード命令の完了が表示される。この発明の一実施例に
ついて、開示、記述してきたが、当業者であれば、この
記述された発明の実施にあたり、多くの変更、修正を為
しうるもので、これもまたこの発明の権利範囲に含まれ
るものである。 かくして、多くのステップが同一の結果を生じる他のス
テップによって交替、置換されうるものであるが、これ
も、この発明の権利範囲に属することになる。従って、
この発明は、特許請求の範囲の記載によってのみ限定さ
れるものである。図面の簡単な説明第1図はこの発明を
利用するマルチプ。 グラミングシステムのブロック図、第2図はこの発明に
よって利用される種々のハードウェア構成を表わす概略
図、第3図は第2図のレジスタの予約された記憶領域の
ために使用された用語例、第4図はこの発明に利用され
た機械のプロセス制御ブロックの千既略図、第5図はプ
ロセス制御ブロックのアドレスシステムの概略図、第6
図はこの発明を利用する計算機システムのシステムベー
スの概略図、第7A図、第7B図はこの発明を利用する
計算機システムのスタツクセグメント及びスタックフレ
ームの概略図、第8図はこの発明を利用する計算機シス
テムのGセグメント、特にG−0セグメントの待ち行列
プロセスのアドレスシステムの概略図、第9図はこの発
明を利用する計算機システムの待ち行列プロセス及びプ
ロセスリンクを例示するG−○セグメントの展開概略図
、第10A図〜第10L図はPCB内の構成ブロック図
、第11A図〜第11R図はシステムベース内の構成の
ブロック図、第12図はシステムベース及びPCB構成
を利用するユーザー及びシステムセグメントのアドレス
手段の概略図、第13A図〜第13C図はこの発明の制
御ユニットの干既略図、第14A図〜第141図はこの
発明を利用する計算機システムのフアームウエアのデイ
ス/fツチヤーユニツトの流れ図、第15A図〜第15
日図はセット命令で使用される記録及びそれらのポイン
タの図、第16A図〜第16C図はデータベース・7オ
ーマット及びそれらのページを記述する記述子の図、第
17図は主メモリ内にデータベースページを位置させる
ために使用されるファームウェアのフローチャート、第
18図はメモリ内にデータベースページを位置させるハ
ードウェア機構の論理ブロック図、第19A図及び第1
9B図はデータベース命令によって使用されるセット及
び記録を記述する記述子の図、第20A図〜第20F図
はデータベース命令によって使用される命令フオーマッ
トの図、第21図はファームウェア/ハードウェアにお
けるアンロードデー夕べース命令の流れ図、第22図は
ハードウェア・アンロードのデータベース命令の論理ブ
ロック図である。101……プロセッササブシステム、
102…・・・記憶サブシステム、103・・・・・・
周辺サブシステム、104…・・・中央処理機、105
・・・・・・入出力制御装置、106…・・・周辺制御
装置。 第2図 第三図 図 球 第4図 うち5 図 妻ら7A 図 蓑ら78図 妻らら 図 第6図 肇?図 翼L′oo図 多′ob図 旨ら′○c図 繁′od図 弟′oe図 発′of図 繁′02図 旨ら′oh図 旨も′OZ 図 第′oJ図 葵′0た図 繁′oゼ図 妻ら7丁4図 尊ら77b図 質ら7丁c図 穿ち〃d 図 まちne図 鷲L’lf 図 多’’8図 多ゴナh図 貿L〃し 図】 繁〃」図 筆〃k図 弟〃〆図 宴ら〃川図 妻L77n 図 巻丁?o図 拳’7p図 努〃q図 蔓ら’’「 図 図 〜 渉 器′3Q図 うちJ3b図 弟′4G図 弟/4b図 繁′4c図 弟′4d図 賞し仏e図 多′4ナ図 繁′49図 身ら/4h図 鍵′4(図 繁,/3〔図 器′ぅ4図 努ノぅb図 繁′5c図 多′ぅd図 うと′6e図 繁′ぅナ図 器)5タ図 鼻L′5h図 賀に/らo図 繁/6b図 筆ら′Cc図 拳′7図 図 ミ 様 弟汐の図 途′ob図 導ら20o図 途20b図 登L20c図 第20d図 穿ち20e図 第2の図 第2′図 図 や 球
報はバッファ・ストアから命令取り出しされる。さもな
ければ、主メモリー02が読み出される。これがなされ
る毎に、CPUは必要な情報を含む32バイトを取り出
す。この情報は未釆のメモリ・レフアレンスのためにバ
ツフア・ストア内に残る。 バッファ・ストアはソフトウェアに対して透明であるの
で、任意の瞬間に計算機を制御するプログラムは、それ
が処理する情報が、バッファ・ストアあるいは主メモリ
のどちらから命令取り出しされたかを決定することがで
きない。計算ユニット111はCPU内の全てのデータ
処理及びアドレス発生をなす。 計算ユニット内の典形的制御ストア130(Prent
iceHall、Inc.のSamirS.Husso
nによる名称がMicroprogramingである
本のPdnciplesandP協cticesを参照
のこと)はこのシステムを開始させ、CPUI04とI
OCI05を制御し、命令セットを解読するファームウ
ェアを含む。制御ストアは選択的に科学命令、テストル
ーチン、エミユレータ・パッケージ、あるいはプロセッ
サ・サブシステムの能力を伸ばす特殊目的の特徴を形成
する。選択的に、CPUはこのシステム以外のシステム
のエミュレーションを形成する。 ェミユレータ112はフアームウエア、ソフトウェア、
及びある場合にはハードウェアの構成要素である。B
入力一出力制御ユニット プロセッサ・サブシステムのIOCI05部分は任意の
周辺サブシステム103と記憶サブシステム102の間
にデータ通路を形成する。 この遠路は周辺指令制御袋贋を開始させ、データ伝達を
生じさせる。 IOCは典型的に32までのチャンネル制御ユニット(
図示されず)を処理する。C 周辺サブシステム 第1図の周辺サブシステム103におい て、PCUI06は、1/0オペレーションの間1/0
装置108を制御することによりCPUI04のロード
を救援する独立マイクロプログラミング・プロセッサで
ある。 PCUはこれをチャンネルプログラムに含まれる実行命
令によってなされる。 このプログラムはPCUで実行される代数、論理、伝達
、桁送り、及び分M皮オペレーションを生じる。 各制御装置の種類に従っていくっかの種類のPCUがあ
る。すなわちユニット記録、集中(ディスク)記憶装置
、磁気テープ、通信等である。装置アダプタ107は各
PCUとそれを制御する装置の間で伝達の媒介をする。 各々は特別の型式の装置との通信を実施するのに必要な
ファームウェア及び論理装置を含む。この型式に従って
、DAI07は1〜数個の袋鷹を制御する。周辺サブシ
ステム103によってなされる主要な機能は次の様であ
る。 I CPU命令を一連の周辺装置に変換する。 2 CPUもしくは適切な周辺袋直によって必要とされ
る形にデータをバックし、かつ.アンパツクする。 3 サブシステム及びその制御のもとにある装置の状態
をCPUに通知したままに保持する。 4 エラー及び回復手順を独立して開始し、かつ処理す
る。 5 関連周辺プロセッサの袋道共有能力を乱すことなく
、装置のオンライン診断を可能にする。 PCUはそれぞれに取り付けられた菱贋間の主メモリの
衝突を解決するが、IOCはPCU間の衝突を解決する
。 D 記憶サブシステム 各メモリ・モジュール1−4は4あるいは8バイトの中
である。 モジュール数、それらのサイズ、及びデータ通路中は計
算機の大きさに従って変化する。メモリ。モジュールは
、4つのモジュールが順次呼び出されるように4重にイ
ンターリ−ブされる(モジュ−ルーは第1の8バイトを
含み、モジュール2は第2の8バイトを含む等である)
。 このインターリーブは主メモリを呼び出すときの衝突数
を減らし、それによって平均〆モリ呼出時間を減らす。
メモリは故障の場合に再配列することができる。すなわ
ちモジュール内のメモリ・フロックは隣接アドレッシン
グを壊すことなく除去される。主メモリー02は、酸化
金属半導体 (MOS)チップの形をした容量記憶媒体から成る。 この媒体は情報を維持するため、リフレッシュすること
を原則にして動作する。各メモリ位置は典型的には、少
くとも2ミリ秒毎に1回りフレッシュされ、すなわちリ
フレッシュタィミング.とメモリ呼び出しの間にほとん
ど衝突は生じないように設計される(衝突の場合に、リ
フレッシュすることが優先する)。主メモリで始まる領
域はハードウェアとファームウェアのために指定されて
いる。 この領域の上限は、システムソフトウェアに明らかな境
界アドレスレジスタ(後述されるBAR)の内容によっ
て限定される。 BAR内容はシステム開始時間に設定される。BAR内
に指定されたアドレス以下のメモリ領域は、周辺サブシ
ステムの構成を限定するIOCテーフル、CPUを制御
するフア−ムゥェア、あるいはエミュレーション用のマ
イクロプログラムとテーブルを含むことができる。 BAR内に指定されたアドレス以下の領域のサイズはシ
ステム構成に左右される。マイクロプログラムが主メモ
リにあるか、あるいは制御ストアにあるかどうかはシス
テム構成及びシステムの応用動作に左右される。2 基
本的機械構成 このハードウェアで利用される典形的には3つの基本デ
ータ構成がある。 すなわちデータ・フオーマットソフトウェア可視レジス
タ、及び命令フオーマツトである。A デ−夕・フオー
マツト 情報は8並列ビットの倍数でCPUとメモリ間で伝達さ
れる。 情報の各8ビットユニットはバイトと呼ばれる。パリテ
ィあるいはエラー訂正データがまたデータと共に伝達さ
れるが、ソフトウェアには影響されない。それ故、この
明細書において、データという用語はそれに関連したパ
リティあるいはエラー訂正データを除外する。B ノゞ
イト バイト内のビットは左から右に0〜7の番号がつけられ
る。 バイトは別々に、あるいはグループで処理される。2バ
イトは半藷を、4バイトは1語を、8バイトは2語を、
そして18ゞィトは4語を構成する。 命令を含む全てのデータに基本的フオーマットがある。
C データ表示 全てのデータは2進形であるが、2進、10進、あるい
は文字数字式に解釈される。 データビットは、IG隼符号化2進データとして、4つ
の群で解釈される。すなわち8は文字数字式に、16〜
64は2進数字として解釈される。後者は2進概念にお
いて、符号化、固定もしくは浮動小数点数として解釈さ
れる。2語までの隣接ビットの任意の数はまたストリン
グとして処理される。 文字数字式字の組は、EBCDICで表わされる。 ASCIIは別の交換コードとして支持される。D /
ゞイト・アドレス 主メモリのバイト位置はゼロで始まる連続番号がつけら
れる。 各番号はバイトのアドレスである。一群の連続バイトは
、もし群内の左のバイトのアドレスがそれぞれ2、4、
8あるいは16の倍数であるならば、半語、1藷、2語
あるいは4語整列しているといわれる。半語、1語、2
語、あるいは4語がこのように整列しているときはいつ
でも、そのユニットはそのアドレスから命令取り出しさ
れる。主メモリのデータの位置は、アドレス展開の間、
間接的に呼び出されるデータ記述子によって指定される
。(発明の名称が“分解アドレス展開”でこの世願と同
じ談受人に譲渡された米国特許第39斑096号を参照
のこと)E 可視レジスタ 第1図のCPUI04には33のユーザ可視レジスタが
あり、その内容はCPUの状態を集合的に限定する。 4つの型式がある(第2図参照)。 1 汎用レジスタ 2 ベースレジスタ 3 科学レジスタ(選択的) 4 種々雑多なしジスタ F 汎用レジスタ 第2図の汎用レジスタ(GR)201は固定4・数点2
進数及びビットストリングを処理するために使用される
。 CPUI04には、16の32ービツトの汎用レジス夕
GRQ〜GR15がある。汎用レジスタGR8〜GR1
5はまたインデックスレジスタとして使用することがで
きる。インデックスレジスタとして使用されるとき、そ
れらはここではXO〜X7と呼ばれる。すなわちインデ
ツクシングはしジスタに含まれる32ビットの2つの補
足整数を使用してなされる。G ベースレジスタ ベースレジスタは命令カウンタIC及びスタツクレジス
タ202一203と同じフオーマットを有する。 ベースレジスタはメモリ部分を限定するアドレス計算の
間に使用される。 奥形的には、8つの32ビットベースレジスタBRO〜
BR7がある。H 科学レジスタ 科学レジスタ(SR)は浮動小数点2進数によって計算
する選択装置である。 奥形的には4つの8バイト科学レジスタ4がありSRO
〜SR3として参照される。科学レジスタは第2図のフ
オーマツト204−205を有する。1 種種々雑多な
しジスタ 5つの他のレジスタがある。 すなわち、・フオーマット202一203を有する命令
力ウンタ・フオーマット207を有する状態レジスタ・
(Tレジスタと呼ばれる)スタツクレジスタ・構成20
2一203を有する境界アドレスレジスタ・構成208
を有するハードウェア制御マスクレジスタ命令カウンタ
(IC)は、実施される命令のアドレスを含む32ビッ
トのレジスタである。 状態レジスタ(STR)207は、現在実施されている
手順についての事実を記録する8ビットのレジスタであ
り、列えば機も技近のオベレーシ3ンによってアンダー
フローが生じたかどうかを記録する。Tレジスタとして
また知られているスタツクレジスタは、現在有効な手順
と関連したプッシュ・ダウン・スタックのトップに指示
を有する32ビットのレジスタである。 後述されるスタツクは、局部変数を保持し、かつ手順開
始を指定する機構及びワークスペースを形成し、そして
情報を戻す。 境界アドレス・レジスタ(BAR)206はソフトウエ
アによって呼び出すことのできる最低主メモリアドレス
を指定する28ビットのレジスタである。 このレジスタはシステム開始の間にロードされ、そして
ソフトウェアによってのみ読み出される。ハ−ドウヱア
制御マスクレジスタ208は機械条件情報を記録する8
ビットのレジスタである。J 命令フオーマツト 多かれ少かれ利用されるけれども、略200の命令があ
る。 各命令は4つの異る長さのうちの一つであるが、常に偶
数バイトの長さである。命令は連続記憶位置に記憶され
る。最も左のバイトのアドレスは2の倍数であり、かつ
その命令のアドレスである。 命令の8つの最上位ビット(及びある場合には8〜11
あるいは12〜15のビット)はオペレーションコード
を表わし、他方残りのビットは1以上のオペランドを表
わす。 オペランドはしジスタ指示子、鞍贋指示子、アドレス語
(論理アドレス)、リテラル値、ィメデイェイト・リテ
ラル値である。オペランドの数及びその型式は命令フオ
ーマットによって決まる。3 システム組織 A ジョブステップ及びタスク 計算機システムによって実行されるワークは、ジョブ制
御言語を通して一連のジョブステップによって外部から
限定される。 ジョブステップは一単位のワークであり、そしてハード
ウェア手段がそれに割り当てられる。典型的には、ジョ
ブステップはいくつかのタスクから成る。タスクはユー
ザー限定ワークの最も小さい単位であり、対応なく実行
される命令の流れから成る。Bプロセスタスク及びジョ
ブステップのユーザー可視概念はプロセス及びプロセス
群によってそれぞれハードウェア内に表示される。 プロセスは、CPUによって同期して実行される規則正
しい順序の命令として定義される(すなわち、いくつか
のプロセスは有効な、共有手段であるが、実際上一つの
プロセスのみが任意の瞬間に動作する。プロセス群は一
つのジョブステップを実行するのに必要な関連した一組
のプロゼスである。C プロセス制御ブロック及びシス
テムベースプロセスはその実行の間、種々の点でCPU
制御を停止するため、主メモリの記憶領域はCPU状態
を保持するプロセスに利用される。 この状態情報は、プロセスがCPUの制御を再び始める
前にCPUを前もって調整するために利用される。プロ
セスに割り当てられた記憶領域はプロセス制御ブロック
(PCB)400と呼ばれ、第4図に示されている。 PCBに含まれるデータは、プロセスに割り当てられた
メモリ領域のアドレス(アドレス・スペース)、全ての
関連レジスタの内容、及びプロセスの状態を含んでいる
。このように、PCBは、いかなる情報損もなくプロセ
スを開始、あるいは再開するのに必要な情報の一時的記
憶領域として役立つ。各PCBはハードウェアに対して
透明であり、そしてシステム開始中に開発され、システ
ムオペレーション中に変形される一組のハードウェアテ
ーブルを通して、オペレーティングシステムによってア
ドレス指定される。(第5図)。システム・ベースとし
て参照される絶対的主メモリ領域である(第5図及び第
6図)。 この領域はファームウェアによって開発され、かつ読み
出すことができるが書きこむことのできないベース・ア
ドレス・レジスタ(BAR)501を通して呼び出され
る。 システム・ベース502は、現在動作しているプロセス
のジョブステップ数とプロセスステップ数(J、P)を
含む多数のシステム特質を含む。このシステム・ベース
の別の特質はJテーブル503として知られたハードウ
ェア限定データ構成への指示である。このテーフルは現
在のこのシステムの各ジョブステップのェントリを含む
。Jテーブル503の各ェントリは、またハードウェア
限定データ構成である関連Pテーブルを指示する。この
テ−ブルはプロセス群を限定し、かつプロセス群の各プ
ロセスのェントリを含む。各PテーブルェントリはPC
B400を指示する。第5図を参照する。 計算ユニット111(第2図)の算術部分506を通し
てJ番号により指示されたJテーブルポィンタ505は
、Jテーブルェントリ503を呼び出す。 このェントリは、計算ユニット506を通してP番号に
より指示されるときPテーブルェントリ504を呼び出
すPテーブルポィンタを含む。このPテーブルェントリ
は現在動作しているプロセスのPCBへのボインタ50
7を含む。このように、オペレーティングシステムはB
AR50 1の内容を使用して有効PCBを呼び出すこ
とができ、かつそれに関連した(J、P)論理名称を与
えられた別のPCBを呼び出すことができる。 D 記憶セグメンテーション ここに記述されたようなマルチプロセス環境には任意の
時間にメモリ内に多くのプロセスがある。 このようなプロセスはメモリアロケーション問題を生じ
るメモリのサイズと要求を変化させる。ここに記述され
たハードウエアはオベレーテイングシステム(ここでは
図示されず)と共同してメモリスペースを動的に割り当
てることによりこの問題を解決する。ランダム性質のメ
モリ要求により、メモリは可変サイズセグメントに割り
当てられ、そのメモリアロケーションはプロセス動作時
間の間再構成される。このようにプロセスは多数の非隣
接メモリセグメントを割り当てられる。このメモリアロ
ケーション方法はセグメンテーションと呼ばれる。セグ
メンテーションは、プロセスの一部あるいは全部が再配
置するときはいつでも変化するメモリアドレスにおいて
付加的問題を生じる。 この問題を軽減するためにここに記述されたようなシス
テムはプロセスによって使用されたアドレスが絶対的主
メモリアドレスよりも論理的である技術を提給する。こ
のような論理アドレスは絶対アドレスを開発するのに使
用される。セグメンテーションにより、セグメント記述
子を通してそれ自身のあるいは関連したメモリセグメン
トを各プロセスは呼び出す。 セグメント記述子を呼び出すことによってプロセスはセ
グメントのアドレスを得ることができる。セグメント記
述子は主メモリに含まれ、オペレーティングシステムに
よって維持される。 各プロセスは2068までのメモリセグメントを呼び出
す。 通常、これはプロセスにつき同数のセグメント記述子を
要求する。しかしながらセグメントが分割されてから後
では、オベレーテイングシステムはセグメント記述子を
セグメントテーブルに分類する。 この分類方法は1プロセス(タスク)、1プロセス群(
ジョブ・ステップ)、あるいは全体的(システム中)に
より呼びだし能力に基づいている。各プロセスはそれに
関連する15セグメントテーブルまで有する。この技術
はセグメントテーブルを通してプロセスにより呼び出さ
れることのできる各セグメントのためのただ1つのセグ
メント記述子を必要とする。このように、セグメント記
述子のため必要とされたメモリスペースは減少させられ
る。 再配置中に更新されるメモリは縮少され、いくつかのプ
ログラム保護がなされる。 (プログラム保護のための主機構はリング・システムで
ある。発明の名称が“マルチプログラム、マルチプロセ
ッサー、コンピューターシステムの情報保護”であって
この発明と同じ譲り受けた人に譲渡された米国特許出顔
第52895y号を参照のこと。)プロセスはどのセグ
メントが呼び出されるかを決定することができなければ
ならない。 従って、このシステムは2セグメントテーブル語アレイ
(STWA)を有するプロセスを形成する。これらのア
レイは、プロセスに呼び出すことのできる全てのセグメ
ントテーブルのアドレスを含む。2つのセグメントサイ
ズ、大きいのと小さいのがあるので、プロセス毎に2つ
のセグメントテーブル語アレイがある。 大きなセグメントは最大サイズ〆2バイトを有する一方
、小さなセグメントは最大サイズ?Bバイトを有する。
全てのセグメントはその最大にまで10ゞィトづつ増進
してサイズを変える。システムは典形的には28までの
大きなセグメント2040までの4・さなセグメントを
収容する。セグメントテーブル語アレイはオペレーティ
ングシステムによって再配置され、それ故プロセスは関
連したSTWAの絶対アドレスを知らなければならない
。 任意のプロセスのPCBは、第4図のアドレス、スペー
ス語ASWO−1として知られているこの情報を含む2
語を含む。 各語はセグメントテーブル語アレイSTWAを指示する
。オペレーティングシステムは、関連STWAが再配置
されるときはいつでもASWの内容を更新する。指示チ
ェィンを下方に動かせ、セグメント記述子を解読するこ
とがファームウェアの機能であり、このようにいったん
開始されると、オペレーティング・システムに対してさ
え明らかでない。セグメンテーションはプロセスのため
に利用できるような2億バイト以上のアドレス・スペー
スを限定する。 この数は主メモリの容量を越える。それ故、2次記憶装
直(磁気ディスクあるいはドラム)が主メモリと共に使
用される。オペレーティングシステムは、このシステム
が真に利用できる以上に大きなメモリを有するという錯
覚を生じる。この棺舷念はバーチユアル・メモリと呼ば
れる。任意のときに、限定されたセグメントは物理的に
主メモリ内にあってもよいし、なくてもよい。 セグメント記述子の内容は、関連したセグメントが主メ
モリ内にあるかどうかを指示する。ハードウェアは、主
メモリ内にないセグメントを呼び出す試みをプロセスに
よって検出し、かつオペレーティングシステムに通知す
る。オペレーティングシステムにより、必要なセグメン
トは2次記憶装置から主メモリ内にロードさせる。それ
から、オペレーティングシステム、セグメントの絶対ア
ドレスが見つけられる場所であるセグメント記述子内に
セグメントのメモリアドレスを位置させる。このオペレ
ーションはこのプロセスに明白でなく、そしてセグメン
トが主メモリ内になかったか、あるいはそれが主メモリ
内に再配置されなければならないということに気づいて
いない。(メモリ・セグメンテーションに対しては、発
明の名称が“区分アドレス開発”である米国特許第3耕
斑096号を参照のこと)ここで説明した計算機システ
ムは、プロセスが互いに干渉し、あるいは互いのアドレ
ススペースが独断的な方法で共有するのを妨げることに
より、データ及び手順保護を形成する。 この保護は、メモリセグメンテーションを通して呼び出
し能力を制限することにより、かつリングシステムによ
って達成される。 セグメント・テーブルはこのシステムの 種々のプロセスのアドレス・スペースを分離する。 プロセスは常に実行中にセグメント・アドレスを使用す
る。セグメント・アドレス,は、このセグメント内のセ
グメント数及び関連アドレスから成る(‘‘セグメント
・アドレス開発”の上述の出願を参照のこと)。ハード
ウェアは、プロセスによって使用されるアドレスが、こ
のプロセスに割り当てられたアドレス・スペースの一部
であるということをチェックする。もしこのアドレスが
前述のアドレス・スペースの外側にあるならば、例外が
生じる。ハードウェアは参照プロセスのセグメントテー
ブルを使用するので「別のプロセスのアドレススペース
内のデータを照会することができない。このように、別
のプロセス群に属する実体を、プロセスもしくはプロセ
ス群が照会する可能性はない。一般的に、このシステム
のアドレス・スペースの重複は、全てのプロセスに共有
されるセグメントに生じる。 これらの公知のセグメントは、アドレス衝突しないよう
にチェックするシステム・プログラムによって生じる。
このように、セグメンテーションは、ユーザープログラ
ムを互いに対して保護し、かつオペレーティング・シス
テムをユーザープログラムに対して保護する。いくつか
のプロセスによって共有されるセグメントは、これらの
プロセスの一つによる譲使用からは保護されない。 この問題を解くために、リングシステムが利用され、そ
れによって手順及びデ−タセグメントは4段階体系にグ
ループ化される。4つのりング種類は0〜3の番号がつ
けられる。 各リングはシステム特権レベルを、穣大の特権をレベル
0(最も内側のりング)、そして最4・の特権をレベル
3で(毅も外側のリング)表わす。 このシステムの各手順はそれに割り当てられた最小及び
最大実行リング番号を有し、かつそれはこの手順を呼ぶ
ものを指定する。手順は、他の手順を呼ぶことができ、
かつそれらにパラメータを通すことができるサブルーチ
ンである。リングシステムの一般的役割は次の様である
。 1 内側リング内の手順は外側リング内のデータを自由
に呼び出す。 逆に、外側リングの手順は内側リング内のデータを呼び
出すことができない。 2 外側リングの手順は内側リングの手順に分岐するこ
とができるが、逆は不可能である。 3 デ−夕を含む各セグメントは2リング値を、一方は
読み出し(RD)のために、かつもう一方は書き込み(
WR)のために割り当てられる。 これらのリング値は最大IJング値を指定し、かつ読み
出しあるいは書き込みモードのどちらかでデータを呼び
出すとき、手順は解釈実行される。 手順命令が実行される毎に、この手順のりング番号(効
果的アドレスリング、EAR)は照会データを含むセグ
メントに割り当てられたりング番号によってチェックさ
れる。 EARは、命令・カウンターのプロセス・リング番号と
、アドレツシング通路のデータ記述子及び基本的レジス
タの全てのりング番号の最大番号である。 データを呼び出すことはリング番号の比較に基いて認め
られ、あるいは否認される。例えば、もしシステムテー
ブルが最大読み出しリング値3と最大書き込みリング1
を有するセグメント内に存在するならば、そのときリン
グ3内で実行されるユーザー手順はこのテーブルを読み
出すが、しかしこのテーブルを更新しない。前もって設
計することにより、リング0と1はオペレーティングシ
ステムのために指定され、かつリング2と3はユーザー
のために指定されている。 リング川ま全システムオペレーションに重大なこれらの
セグメントを含む。IJングーは、故障が破滅的になら
ず、回復できる容量のシステムセグメントを含む。ユー
ザーはチェックアウト・プログラムのためにリング2を
、そしてデバッグプログラムのためにリング3を利用す
る。F 手順コール手順コールはここで説明されるシス
テムにおいては重要な機能である。 手順コ−ルはある手順から別の手順に通すために使用さ
れる。 すなわち、ユーザー手順でオペレーティングシステム・
サービスを用いるために、そしてオペレーティングシス
テム内にモジュール構成を達成するために使用される。
手順コールは命令及びスタックと呼ばれるハードウェア
認可実体によって達成される(第7A図)。 スタックは、最後に入り最初に出ろを基体にしてデータ
を受け取り、記憶し、そして訂正する機構である。 スタツクはスタックセグメントと呼ばれる特別のセグメ
ント内にある。 スタツクセグメントはスタツクフレーム701(第7A
,7B図)と呼ばれる多数の隣接部分から成り、かつそ
れは機能的に各手順に割り当てられる。第1のスタツク
フレームはセグメントのトップにロードされ、かつ次の
フレームはその後にロードされる。没後のロードされた
フレームがスタツクのトップと考えられる。Tレジスタ
702は、現在有効なプロセスのスタックのトップを定
める。事実上のTレジスタがこのシステムの全ての他の
プロセスのPC鱗均に存在する。第78図のスタックフ
レーム701は3つの領域から成る。 すなわち変数を記憶するワーク領域702、レジスタの
内容を保持する保持領域703、及び手順間でパラメー
タを遺す通信領域704から成る。手順コールの前に、
ユーザーは、彼が保持することを望むレジスタを指定し
なければならず、かつ彼はコールされた手順に通される
パラメータを通信領域にロードしなければならない。コ
ールがなされるとき、ハードウェアは命令カウンタIC
及びコ−ルされた手順からの復帰を容易にするため指定
されたベース・レジスタの内容を保持する。各手順コー
ルはスタックセグメント701内にスタックフレームを
創り、かつ次にネスティングされたコールは別のフレー
ムを創る。 このようにコールされた手順の一つからの各出口がスタ
ツクフレームをスタツクから削除させる。このように、
規則正しい復帰を容易にするコールの履歴が維持される
。異るリング内で実行される手順の保護を保証するため
に、異るスタックセグメントが使用される。 プロセス毎の保護リングに相当する1スタツクセグメン
トがある。PCBは、プロセスと関連したりング0,1
,2のスタツクセグメントの開始を指示する3つのスタ
ツク基本語を含む。リング3・スタツクセグメントは内
方コールによってはけつして入ることができず、それ故
、そのスタツク開始アドレスはPCBには必要でない。
4 プロセス管理及び同期化このシステムは、ソフトウ
エア、ハードウエア、及びファームウェアの組み合せを
使用するオペレーティングシステムにより制御されるマ
ルチプロセス・オペレーションをなす。 ソフトウェアはシステム内にプロセスを創りかつ削除す
る一方、ハードウェアとファームウェアはCPUのプロ
セスを多重化する。さらに、ソフトウェア、ハードウェ
ア、及びファームウエアの組合せによりプロセス間の同
期化をする。プロセスは常にではないが通常、関連した
ジョブ処理中に、そしてこのオペレーティングシステム
によって必要と考えられる目的のために他の時に、1/
0オペレーションの開始及び終了で開始され、そして停
止される。それ故、通信システムは、関連したプロセス
を効果的に開始させ、かつ停止させるために、そしてそ
れらの間に情報を通すために必要である。このハードウ
ェアシステムは、プロセス間に通信結合を形成するため
、セマフオア(semaphores:信号機)と呼ば
れる内部メッセージを発生する。A プロセス状態プロ
セスは任意のときに4つの可能なステートのうちの一つ
である。 すなわち、動作中、準備中、待機もしくは中止中である
。 ハードウェアは4つの可能なプロセスステートを認識し
、かつプロセスデイスパツチ、ステート変化を達成する
ため、またプロセスステ−トに基いたデータ構成を維持
するため種々のファームウェア手順を実行する。PCB
はその関連したプロセスの現在のステートを限定するス
テート・フィールドを含む。プロセスは、それがCPU
の制御を有するとき動作ステートにある。 この状態はアドレススペース(セグメントテーブル)及
び開始アドレスをCPUに供給することを含む。CPU
はそのときプロセスの手順セグメントにある命令を実行
する。 現在動作中のプロセスのためのPCBのプロセス名称J
テーブル語(論理アドレス)はシステムベース範囲内で
動作中のプロセス語(BAR十60)に保持される(表
6)。(洋:表5に表示されたシステムベースは表6に
表示されたものと同じであるが、いくつかの詳細は省略
されている。 )準備ステートはプロセスがCPUによって認められな
いのでCPUの制御を有さないことを除いて動作中ステ
ートと等しい。 準備ステートのプロセスはCPUを他の準備プロセス及
び動作中プロセスと争う。信号を通してメッセージのよ
うな特別なイベントが生じるまでプロセスが続かないと
きそれは待機ステートにある。 待機プロセスはCPUを争わないが要求されるイベント
を他の待機プロセスと争う。中止プロセスはソフトウェ
アによって1時止められ、後で再び始められるプロセス
である。 プロセスを止めて再び始める決定はプロセス以外のもの
である。このように中止プロセスは活動的でなくそれゆ
えイベントの発生の通知を受け取れず、またCPUを利
用できない。プロセスは次のような状態(コンディショ
ン)で中止される: ‘1} 終了命令を実行することによって(全ての機能
を完了した結果として)■ オペレーティングシステム
によって中止命令を実行することによって‘31 制御
がオペレーティングシステムに伝達されることによって
例外コンディションの発生によって B プロセス・デイスパツチ プロセスが動作中プロセスの動作によってあるステート
から他の随意的ステートに移し、もしくは他のプロセス
動作によって不随薫ステートに移す。 ディスパッチャとして知られているCPUファームウエ
アはステート間のプロセスのトランザクションを制御す
る。 デイスパツチヤは準備ステートあるいは待機ステートに
あるプロセスを処理するために−粗の待ち合わせを使用
する。中止プロセスはソフトウェアによって制御される
。第6,8,9図を参照すれば、準備あるいは待機プロ
セスはPCBとプロセスリンクと呼ばれる特別の待ち行
列エントリーとによって表わされる。 第9図はGOセグメント802の内容の展開用を示し、
有効プロセスの803a一803bと803c一803
gのプロセスリンクを含み、中止プロセスの自由プロセ
スリンクの805a−805cを含む。各プロセスリン
クはプロセス名称(J、P)「プロセス優先権及び待ち
行列中の次のプロセスリンクへの指示を指定する。これ
らは待機待ち行列803a−b及び準備待ち行列803
c一gのようなさまざまなタイプの待ち行列である。G
テーブルとして知られている、Jテープルに類似してい
るハードウェア装置は、(第6,8図)、一般的な(公
知のシステム中)セグメント802一802nへの指示
を含む。 Gテーブル801の第1の素子GOはデイスパツチャ待
ち行列を含むセグメント802を指示する。Gテーブル
801へのGテーブル指示は第5図のシステムベース5
02に現われる。またこのシステムにおいて、ベースは
GOセグメント802の準備待ち行列803c一803
gのヘッド805を講限りする内部プロセス待ち行列語
(IFQW)と呼ばれるエントリーである。このように
ディスパッチャは、準備待ち行列803c一803gを
考慮することによって全ての準備プロセスを調査するこ
とができる。 現在動作中のプロセスがステートを変えるとき、ディス
パツチャは準備待ち行列のヘッドでプロセスリンクを取
り除きPCBを呼び出すために1、P名称を使用する。
PCBによって定められたプロセスはそのとき新しい動
作中プロセスとなる。1つ以上のプロセスが同じイベン
トで待ち受けられるので、待機中プロセス803a−8
03bの待ち行列は各々のイベントに存在する。 待機中プロセスはまたGOセグメントにあるプロセスリ
ンク805を通して一緒に配列される。待機待ち行列の
ヘッドへの指示はセマフオア903(後で記述されるた
め)にある。多数のイベントはプロセスが待機する間に
存在し、それゆえ各々が関連したセマフオア903と9
04を有する多数の待機待ち行列がある。準備あるいは
待機中プロセス数は大きく変化する。 このように準備及び待機待ち行列を命ずるプロセスリン
ク数もまた変化する。この事実によりディスパツチャの
メモリ管理問題が生じる。その問題はフリー・プロセス
リンク待ち行列805a−cと呼ばれる他の持ち行列に
より解決される。この待ち行列は準備もしくは待機待ち
行列により使用されないセグメントCO内の全てのプロ
セスリンクと結合し、そして準備もしくは待機中プロセ
スの特別な待ち行列を延ばすのに使用されることができ
る。フリー・プロセスリンク待ち行列805のヘッド9
02への指示はGOセグメント802の開始近くに存在
する。C プロセス同期 プロセス同期は同じタスクに2つのプロセスワーキング
のアクティビティを調整するよう命ぜられる。 同期は通信プロセスのアドレススペースにあるデータ構
成であるセマフオア903一904を使用して達成され
る。セマフオアはイベントの発生を知らせ、かつメッセ
ージの待ち行列を処理するために使用される。このよう
な関係のイベントは、ある他のプロセスに関心あるプロ
セスによって認められる。このイベントは非同期オペレ
ーションの完了、あるいは一手段の効力の完了である。
プロセスはイベントの発生を知らせるために2つのセマ
フオア・オペレーションを使用する。 一方のオペレーションはセマフオアに信号を送り、他方
はセマフオアから信号を検出する(送り動作はいまいま
Vオペレーションと呼ばれ、受け取り動作はPオペレー
ションと呼ばれる〉。送り動作は、データが準備中であ
るデータあるいは信号をプロセスに送らせる。セマフオ
アは、別のプロセスが信号を検出する準備中となるまで
信号を記憶する。 このように、送りプロセスは、それがデータを送ってか
らは、自由に進む。受け取りオペレーションは指定され
たセマフオアを調査し、信号を検出する。一もし信号が
存在するならば、受け取りプロセスは命令を解釈実行し
続ける。しかしながら、もしセマフオアに信号がないな
らば、受け取りプロセスは待機ステートに入る。そのと
きセマフオアは待機待ち行列の先頭の指示器として役立
つ。このプロセスは、別のプロセスがその特別のセマフ
オアに信号を送るまで、セマフオアで待ち合せる待機ス
テートのままにされる。このように、セマフオアは、プ
ロセスが信号を検出するまで信号を保持することができ
、あるいはセマフオアは、信号がそれに送られるまでプ
ロセスを保持することができる。メッセージはまたプロ
セスからプロセスに通される。 メッセージは信号プラス追加情報と同じ現在もしくはそ
うでない特質を有する。 情報の一部はハードウェアによって供給され、かつ一部
はメッセージを送ったプロセスの手順によって供給され
る。メッセージは送りプロセスのプロセス名を伴う。こ
のように、多くのプロセスは送りプロセスの名前をつけ
た単一のセマフオアを通して情報を送ることができる。
メッセージ・セマフオアは、プロセスによって検出され
るべく待機中のメッセージの待ち行列を有する。 信号セマフオアによって、メモリのスペース要求は、現
存するメモリ管理問題を増加させかつ減少させる。再び
、この問題はフリー・メッセージ・リンクの待ち行列に
よって解決される。これらのリンクは、メッセージリン
クを供g資しあるいは吸収する必要があるとき、容易に
見つけられるセグメント内の既知の場所にある。 セマフオア及びそこで形成される待ち行列を異るプロセ
スによって共有されるので、全セマフオア構成が保護さ
れる。 これは、セマフオアを含む任意のセグメントの呼び出し
を制限するハードウェア及びソフトウェアによって達成
される。このように、セマフオアはセマフオア記述子セ
グメント内になければならず、(もしシステム通信が必
要ならば)そのいくつかはGセグメントである。しかし
ながら、全てのGセグメント(00を除く)はセマフオ
ア記述子セグメントである。各セマフオァ記述子はセマ
フオアへの指示器を含む。 セマフオア・アドレスはセマフオア記述子を通して開発
され、このようにセマフオアの付加された保護を形成す
る。セマフオア・セグメントは、セグメント内のセグメ
ント番号及び相対位置を使用して論理的に、あるいはG
、D番号を使用して直接にアドレス指定される。E プ
ロセス制御ブロック構成 第4図を参照すると、プロセス制御ブロック(PCB)
のフオーマツトが示されている。 プロセス制御ブロック400は主メモリの記憶領域であ
って、CPU状態を保持するプロセスに利用される。P
CBのアドレス指定は第5図に関して上述したようにな
される。PCB指示器507(第5図)は第4図のメモ
リ位層0でプロセス制御ブロックPCBを指示する。メ
モリ位置を下方向に進むとき、4バイトだけ増加するの
に対して、メモリ位置0から上方向に進むとき、それら
は8バイトだけ増加する。下方メモリ位置は0から正方
向であると考えられるのに対して、0から上方向の位置
は貸方向と考えられる。上方位置はオプショナルであり
、かつプロセス制御ブロックに含まれてもよいし、含ま
れなくてもよい。 また位置148〜176もオブショナルである。(メモ
リ位置の下の数字はプロセス制御ブロックPCBの0基
準位置からの変位をバイトで指定し、かつ特許図面にお
いて普通部品を論捉りするために使用される参照番号と
混同すべきでないということに注意のこと)バイト16
を含まず、バイト0から上方に開発されるとき、4つの
プロセス主要語PMWO〜PMW3が記憶され、かつ各
プロセス主要語PMWは長さが4バイトである。プロセ
ス主要語0はバイト0〜3を占め、かつ4部分から成る
。すなわち、ケーパピリテイ・バイト、優先権バイト、
ステート・バイト及びデコー拡張バイトDEXTである
。第10a図〜第10d図を参照すると、プロセス主要
語PMWOの詳細が示されており、さらにケーパビリテ
ィ・バイト1001の詳細第10b図に示されている。
第10b図を参照する。第1ビット1005は、時間ァ
カウント機能がこのプロセスのために実行されるかどう
かを示すアカウント・モードビットである。アカウント
・モードビット1005が2進0に設定されるとき、時
間アカウント機能はこのプロセスのために実行されない
。これに対してアカウント・モード1005が2進1に
設定されるとき、時間アカウントが実行される。 科学モード・ビット1006は、ゼロに設定されるとき
、この機械の科学レジス夕の保持が実行されず、かつ第
4図のバイト148〜176に位置した科学レジスタ保
持領域はプロセス制御ブロックPCBには存在しない。
科学モード・ビット1006が2進1に設定されるとき
、科学オプショナル特徴が存在し、かっこのプロセスに
おいて使用され、そして科学レジスタ保持領域は、必要
なとき科学レジスタの内容を保持するために使用される
。コード・モード・ビット1007は、標準コード・セ
ットあるいはコンパチプル・コード・セットがこのプロ
セスによって使用され、その位置の2進0は、標準コー
ド・セットが使用されているということを示すのに対し
て、第3のビット位置1007の2進1は、コンパチプ
ル・コード・セットが使用されているということを示す
。ケーパビリテイバィトの残りのビットはゼロに設定さ
れる。優先権バイト1002の詳細は第10c図に示さ
れている。 第10c図を参照すると、優先権バイト1002の最初
の4つのどツト1008が、その任意のプロセス制御ブ
ロックPCBと関連したプロセスの優先権レベルを設定
するために利用される。各プロセスは、規則正しい競争
プロセスのために使用される優先権の16レベルのうち
の一つを割り当てられる。すなわち‘a}準備プロセス
の闇の動作されるべきプロセスを選択するため、■プロ
セスを待ち行列にするために使用される。優先権は0か
ら15に減少し、かつ任意の優先権レベルのために、F
IF○(技初に入り最初に出る)規則が適用される。優
先権バイト1002の次の4つのビットはゼロである。
第10d図を参照すると、ステート・バイト1003の
詳細が示されている。 ステート・バイトは、プロセス制御ブロック400に関
連したプロセスに関して情報を供酪費するために利用さ
れる。 有効フィールドビットAIOIOは、このプロセスが動
作するとき、2進1に設定される。中止フィールドSI
OIIは、このプロセスが中止されるとき2進1に設定
される。副ステート・フィールドSSIO12は2ビッ
トフイールドであり、プロセスの次の副ステートを限定
する。 すなわち【a’、2進00に設定されるとき、プロセス
は不動作であり、‘b’、2進01に設定されるとき、
このプロセスは準備プロセスの待ち行列で待機しており
(Q/PR/RDY)、【c’、2進10に設定される
とき、このプロセスはセマフオアの待ち行列で待機して
おり(Q/PR/S)、【d’2進11に設定されると
き、このプロセスはプロセッサによって実行されている
。中間オペレーションフィールド(MOI)1013は
、割込みが生じるとき2進1に設定され、命令の実行中
、すなわちプロセスの完了前は、準備中である。拡張デ
コーモ−ドビツトEXTDI O 1 4は、このプロ
セスがこの機械のエミュレーションモードにあるデコー
拡張モードで動作するとき1に設定される。プロセス主
要語PMWOの第4のバイトはデコ‐拡張番号を含み、
かっこのシステムがエミュレーションモードであるとき
利用される。 プロセス主要語PMWIはプロセス制御ブロックPCB
のバイト4一7に記憶される。 PWMIの詳細は第10e図に示されている。 状態バイト1016はPMWIの第1のバイトであり、
かつ状態レジスタ内容を記憶する。マルチプロセッサバ
イトMPIO18はマルチプロセッサアーキテクチヤに
おいて重要であり、さもなければこのフィールドはゼロ
である。プロセス主要語1の第2と第4のバイトはそれ
ぞれMBZフィールド1017と1019であり、かつ
それらは通常の動作の間ゼロでなければならない。プロ
セス主要語PMW2はプロセス制御ブロックのバイト8
〜11を占め、かつ第10f図に詳細に示されている。 第10f図を参照する。ビット4〜31からのフィール
ドは、セマフオアのローカル・ネームSEG、SRAI
021を含み、そしてプロセスが待機もしくは中止ステ
ートのどちらかのとき、それにPCBがリンクされる。 例外クラス及びタイプ・フイールド1023は、プ。セ
スが例外後中止ステートにやる割込状例外のクラス及び
タイプを含む。ビット4〜15からのフィールドは、プ
ロセスが前述したのとは異るステートにあるとき無意味
1022である。 プロセス主要語PMW3はPCB内でバイト12〜15
を占め、かつデコー拡張テーブルを指示する。 PMW3の詳細のために第10g図を参照する。DET
Sフィールド1024はテーブルへのェントリ数を限定
し、かつもしこのフィールドがゼロであるならば、デコ
ー拡張はこのプロセスには認められない。DETAフィ
ールド1025は10ゞィトを単位にしたデコー拡張テ
ーブルの絶対アドレスであり、かつもしDETSZが0
でないときのみ重要である。 デコー拡張テーブルはDETSZェントリから成る。各
ェントリは1バイトの大きさである。テーブルのDEX
T番目のェントリはプロセスのケーパビリティを限定し
て、デコー拡張モードDEXTで動作させる。 DEXT番目のバイトが0のとき、デコー拡張番号DE
XTは許されないのに対して、もしDEXT番目のバイ
トが1ならば、デコー拡張番号DEXTは許される。0
と1以外のDEXTの値は非合法である(第10a図の
DEXで番号1004参照)。 PCB400のバイト16〜23はそれぞれ2アドレス
スペース語ASWOとASWIを含み、各ASWはセグ
メントテーブル語のアレイへの指示器を含む。 ASWOとASWIの両方はそれぞれ、第10h図に示
されたのと同じフオーマツトを有する。セグメントテー
ブル語のアレイのサイズはアレイ内のセグメントテーブ
ル語の数によって限定され、典形的にはASWOのため
に6つとASWIのために8つから成る。STWSZフ
ィールド1036はセグメントテーブル語のアレイのサ
イズを示す。セグメントテーブル語アレイフィールドS
TWAI027は16バイトを単位にしてアレイの絶対
アドレスSTWAを含む。すなわちアレイの絶対アドレ
スはバイトでSWAの1階である。 PCBのバイト24〜27は第10i図に詳細に示され
た例外語EXWを含む。 例外語は、プロセス主要語PMW2内に記憶されたよう
なクラスに従うプロセス側外に続いてなされる動作を限
定する例外クラステーブルへの指示器(SE○、SRA
)1029を含む。 (第10f図参照)。例外語EXWのM欧フィールド1
028は0でなければならない。PCBのバイト28〜
31内に位直したスタック語SKWは、プロセスが動作
していないときプロセスのスタツクのTレジスタのトッ
プの値を含み、第10i図に詳細に示される。 第10j図を参照する。ビット0と1はTAGフィール
ド1030を限定する。TAGはその内容によって記述
子のタイプを示し、かつSKWのためにゼロでなければ
ならない。 SKW語のビット2と3は保護目的のためにスタツクの
セグメント・アドレスに関連したりング番号を含むリン
グフィールド1031を含み、そしてこの場合セグメン
ト・アドレスはゼロでなければならない。ビット4〜3
1はセグメント番号SEGと、セグメント関連アドレス
SRAI032を含み、かつそれはセグメントテーブル
で記述されるセグメントと、このセグメント内のセグメ
ント関連アドレスを識別するフィールドである。スタッ
ク語SKWは、プロセスが動作ステートを離れる毎に更
新される。それはこのプロセスが動作する毎にTレジス
タの内容を再記憶するために使用される。この最後の場
合に、TAGI030とRWC1031はゼロであるか
テストされなければならず、さもなければ非合法なPC
B例外が生じる。PCB400のバイト32〜35、時
にはICCとして参照される命令カウンタ内容語ICW
を含む。 第10K図を参照すると、命令カウン夕語にWの詳細が
示され、ここでTAGフィールド1033は2進00を
含まなければならない(すなわちゼロ以外の値は命令カ
ウンタにおいて非合法である)。 ビット2と3を占める現在のRINGフィールド103
4は、主記憶装置状態の呼び出し権を決定するときに使
用されるプロセスの現在のリング番号を限定する。ビッ
ト4〜31は、セグメント番号と実行されるべき次の命
令のアドレスを限定するセグメント関連アドレス(SE
G、SRA)1035を限定する。 バイト3 6〜3 9のMBZフイールドはゼロでなけ
ればならない。 (M故フィールドは常にゼ。 でなければならないフィールドを示すということに注意
)。M欧語はPCBが名前J、Pから呼び出される毎に
テストされる。 もしそれがゼロでないならば、非合法PC財例外が生じ
る。 スタツクベース語SBWO一2はプロセス制御ブロック
400内のバイト40一51を占める。 これらの語は第101図に詳細に示されたのと同じフオ
ーマツトを有する。それらはスタツクオベレーシヨンの
間に利用され、かつ使用されるときはいつでもそれらの
TAGフイールド1036はRmGフイールド1037
はゼロでなければならず、さもなければ非合法PC鷲例
外が生じる。 ビット4〜31‘ま、それぞれリング0,1,2のため
にスタックセグメントの第1のバイトのセグメント・ア
ドレス(SEG、SRA)1038を含む。プロセス制
御ブロック400のバイト52〜83はベースレジスタ
保持領域(8語)のために指定されたスペースである。 バイト84〜147は全ての汎用レジスタ(1虎積)の
値を保持するために利用される保持領域である。バイト
148〜179は科学レジスタを保持するために利用さ
れる保持領域である(8語)。 5つの2重語が、PMW項積のアカウント・モードビッ
トが設定されるとき、時間アカウント目的のためのPC
Bゼロアドレス上方のPCB400内に備えられる。 これらの語はPCBアドレスマイナス8からPCBアド
レスマイナス40に位置する。各語は、最初の52ビッ
トにマイクロ秒単位で表わされた時間もしくは期間を含
み、ビット52〜63はゼロで満たされる。余剰時間終
了倍長語RT0(PCB内の0上方の最初の8バイト)
は、終了例外が生じる前に、このプロセスに代ってプロ
セッサによって実際上費やされるだけの時間を含む。 RTO語は次の様にして更新される。すなわちプロセス
が動作ステートを出る鏡に、プロセスタイマー値はRT
O語内に記憶される。プ。セスが動作ステートに入る毎
にプロセスタイマー値はRTOからロードされる。バイ
ト7〜15の動作時間アカウント RUA倍長語はプロセスが動作ステートになった全プロ
セッサ時間を指定する時間カウンタである。 アカウント時間は、プロセスの代わりにプロセッサによ
って独立的に実際上費やされる時間である。RUA語は
次の様にして更新される。すなわち、プロセスが動作ス
テートを出る毎に、プロセスタイマーPTの値は読みこ
まれる。RTOとRTの内容の差はRUAに加えられる
。(連続的に、PT値はRTO内に記憶される)。プロ
セスが中止されている時間は計算されないということに
注意されたい。RTOとRUA語は、もしアカウント・
モードビットが0に設定されていてさえ更新される。し
かしながら(後述される)CET、RTA、WTA語は
、プロセス主要語PMWOのアカウント・モードビット
が1に設定されているときにのみ、プロセス制御ブロッ
クに備えられる。 それらはこの場合にのみ更新される。バイト17〜23
の待機時間アカウント WT鳩語は、プロセスが待機ステートにあった真の全時
間を記す実時間カウンタである。 WT鳩語は次の様にして更新される。すなわちプロセス
が待機ステートを出る嶺に、一日時計の時間値TODが
読み込まれ、かつTODの値からCET語の値を差し引
いた値はWTA語に加えられる。バイト24〜31に位
置した準備時間アカウントRTA語は、プロセスが準備
ステートにあった真の全時間を記す実時間カウンタであ
る2重語である。 RTAは次の様にして更新される。すなわちプロセスが
準備ステートを出る毎に、一日時計の時間値TODが読
みこまれ、かつTODの内容からCBTの内容を差し引
いたものがRTAに加えられる。バイト32〜39の現
在のェントリ時間 CET2重語は、プロセスが次のステート、すなわち準
備、待機、動作、そして中止ステ−トの一つに入る一日
の時間を含む。 システムベース構成 第6図を参照すると、システムベース600のフオーマ
ツトが示されている。 このシステムベースは絶対主メモリ内にあり、かつファ
ームウェアによって開発され、そして読み出すことがで
きるが書きこむことのできない境界アドレスレジス夕(
BAR)を通して呼び出すことができる。境界アドレス
レジスタBARはハードウェアのために指定された主メ
モリ内の領域の下方にあって、かつハードウェアのため
に指定されたメモリのこの領域とシステムベース600
とを分離する。さて第6図を参照する。システムベース
600は、現在動作中のプロセスのためにジョブステッ
プ番号とプロセス群番号(J、P)を含む多数のシステ
ム特質を含む。 プロセスJ、Pのローカル・ネームから、相当するプロ
セス制御ブロックPCBの絶対アドレスが得られる。J
テーブルのサイズ及びアドレスはJテーブル語(JTW
)の内容によって限定される。この語はBARレジスタ
によって限定されたアドレスに置かれる。JTMのフオ
ーマットは第11a図に示されている。第12図のサイ
ズ(JISZ)1101あるいはJテーブル1204は
、255のエントリまであるJテーブル1204のェン
トリ数を限定する。 JTSZIIOIは8ビットの正の整数である。すなわ
ちもしJがJTSZよりも大きいならば、Jテーブルか
らの例外が生じる。Jテーブル1204の絶対アドレス
はJテーブルポィンタ1 102を1母音することによ
り得られる。Jテ−ブル1204はJテーブルェントリ
を含み、そのフオーマットは第11b図に詳細に示され
ている。各Jテーブルェントリは、Pテーブルポインタ
1104を1針音することによって得られるPテーブル
1205の絶対アドレスを限定する。Pテーブルのサイ
ズ(PTSZ)1103はPテーブルのエントリ数を限
定する。PTSZは8ビットの正の整数であり、かつそ
れは典形的には0〜255まで変化して、Pテーブルの
ェントリ数を指示する。 Pテーブルからの例外は、PがP丁SZよりも大きいな
らは生じる。Pテーブル1205の各ヱントリは、プロ
セス制御ブロックインジケータ1 107を1針音する
ことにより、プロセス制御ブロック(PCB)1206
の絶対アドレスを限定する。存在ィンジケータPII0
5は、2進0に設定されるときPCB1206の不存在
を指示し、かつ2進1に設定されるときPCBの存在を
指示する。(存在ィンジケータP1105が0であると
き、空のPテーフルェントリ例外が生じる)。 Pテーブルインジケータのビット1〜7(第11c図)
は0(MBZ)1106でなければならず、さもなけれ
ば非合法Pテーブルェントリ例外が生じる。システムベ
ース6 0 0のアドレスBAR+4において、Gテー
ブル語(GTW)のフオーマット・バイトがあり、第1
1d図に詳細に示されている。 第12図のGセグメントテーブル1212のサイズ及び
アドレスはGテーブル語(GTW)の内容によって限定
される。Gテーブル121 2のサイズ(GTSZ)1
108は、典形的に255ェントリまであるGテーブル
のェントリ数を限定する。GTSZは8ビットの正の整
数である。すなわちもしG番号がGTSZよりも大きい
ならば、Gテーブルからの例外が生じる。Gテーブル1
212の絶対アドレスはGテーブルポィンタ1 109
を1母音することにより得られる。Gセグメントテーブ
ルエントリのフオーマツトは2語サイズ(8バイト)で
あり、かつGセグメント記述子と呼ばれる。Gセグメン
ト記述子のフオーマットは第11eと11f図に詳細に
示されている。全てのGセグメント記述子は直接的であ
り、それ故間接ビット1、1 111は0でなければな
らず、さもなければ非合法記述子例外が生じる。存在ィ
ンジケータPIIIOは1ビットフィールドであり、か
つそれは2進1に設定されるとき、セグメントが、その
記述子が相当するセグメント番号の主記憶側層内に限定
されるということを示すのに対して、もしそれが0にク
リアされていたならば、セグメントは限定されず、セグ
メント記述子への照会により、セグメント例外をしそこ
なう。利用ビットAIl12は1ビットフィールドであ
り、かつそれはセグメントが利用できるかどうかを指示
する。それはこのセグメントが限定される場合にチェッ
クされるにすぎず、(すなわちPは2進1に等しい)さ
もなければそれは無視される。使用されたフラグフイー
ルドUII13は、セグメントが呼び出されたかどうか
を指示する。 もしUビットが2進0に設定されるならば、このセグメ
ントは呼び出されないのに対して、もしUフィールドが
2進1に設定されるならば、セグメントは呼び出される
。書きこまれたフラグフイールドWII14は、セグメ
ントが書きこまれたかどうかを指示する。 もしWが2進0に設定されるならば、このセグメントは
書きこまれないのに対して、もしWが2進1に設定され
ているならばセグメントは書きこまれる。Gセグメント
記述子のゲート・インジケータGSII15は2進01
に設定されなければならず、さもなければ非合法セグメ
ント記述子例外が生じる。この理由は、Gセグメントが
常にセマフオアを含み(逆は真ではない。すなわち全て
のセマフオアはGセグメント内にあることが必要ではな
い)、そしてセマフオアの命令はGSコードを2進01
にすることが必要であるということである。セグメント
1214のベースの絶対アドレスは、24ビットのべ−
スフイールド1116によって第11e図のGセグメン
ト記述子内に限定される。すなわちこのフィールドの内
容は絶対アドレスを得るために1所音される。第11f
図のGセグメント記述子の第2の語はGテーブル121
2内のビット位鷹32〜63を占める。RSUフイール
ド1117、ビット32〜39はソフトウェア使用のた
めに指定され、かっこの場合のようにGセグメント記述
子として使用されるとき一般に無視される。MBZフィ
ールド1118は0でなければならず、さもなければ非
合法セグメント例外が生じる。MBZフィールド111
8はビット40〜51を占めるので、それは小さなセグ
メントSIZEのためのフィールドであるSIZEフィ
ールド1119を設定する。従って全てのGセグメント
は4・さなセグメントタイプのものでなければならない
。セグメントSIZEI I 19はこのセグメント内
のバイト数を限定する12ビットの正の整数であり、こ
のセグメントサイズは16の倍数として解釈される。そ
れ故、Gセグメント1214のセグメントサイズは?6
バイト(小さなセグメント)を越えることができない。
Gセグメント内の変位Dが、DがSIZEIII9より
も大きいかそれに等しいところで照会されるならば、セ
グメントからの例外が生じる。Gセグメント及びそのセ
グメント内の変位Dを使用する主メモリを呼び出す方法
はG、Dアクセシングと呼ばれる。 G、Dメモリオペレーションの間に生じる種々の例外は
G、Dアクセス例外として参照される。再び第6図のシ
ステムベース600を参照する。 BAR+8とBAR+44の間に位直した9つのシステ
ム例外セル語がある。システム例外セル語BXCのフオ
ーマットは第11g図に示されている。システム例外が
生じるとき削除されたプロセスにメッセージを伝達する
ためにセマフオアカ沃U用されるので、これらのセマフ
オアへのポィンタはメモリの9位置内に見られ、そして
各位贋はシステム例外のクラス毎に一つの、システム例
外セルと呼ばれる。M旧Zフィールド1 120は2進
0に設定これなければならず、さもなければシステムチ
ェックが生じる。各例外セル(EXC)はそれぞれシス
テム・ネームG、DI121と1122を含む。 システムベース600のBAR十44に位贋したチャン
ネル例外セルは、前述したシステム例外セルと同様のフ
オーマットを有し、かつチャンネル例外が生じるとき削
除されたプロセスにメッセ−ジを伝達するために使用さ
れるセマフオアのシステム・ネームGDを含む。 内部プロセッサ待ち行列語IPOWはBAR+48で始
まるように位置し、かつそのフオーマットの詳細は第1
1h図に示されている。 IPOW藷は、参照番号905と805によって第9図
に示されたような準備プロセスの待ち行列(Q/PR/
RDY)のヘッドを指示する。 準備プロセスの待ち行列(Q/PR/RDY)は準備ス
テートにある全てのプロセッサをリンクする。 それは準備プロセス待ち行列のトップを指示することに
よりIPOW語のQ/PR/RDYフィールド1124
(第11h図)のHEADにより照会される。Q/PR
/RDYフイールド1 124のHEADは16ビット
の正の整数を含み、それは、GOセグメントとして参照
されるGセグメント番号0のベースからQ/PR/RD
Yの第1のバイトへの変位である。もしこのQ/PR/
RDYビットフィールドが0であるならば、準備待ち行
列は空であると考えられる。M欧7イールド1123は
0でなければならず、さもなければシステムチェックが
生じる。 システムベース600のBAR+52において、初期と
現在の再試行カウントのための記億が図示されており、
そのフオーマットは第1 1 i図に詳細に示されてい
る。 NESフィールド1125は非機能記憶フィールドであ
り、かっこのシステムベースによっては利用されない。
初期の再試行カウントフィールド1126と現在再試行
カウントフィールド1127は機械故障例外状態を発生
させるために機械エラーが創られる前に自動命令再試行
が実行される回数を制御するために使用される。それら
にリセット再試行カウントにより同じ数でロードされる
。第11j図に示された動作プロセス語 (RPW)はシステムベース600のBAR+56内に
記憶され、かつモノブロセッサ。 アーキテクチャの場合に優先権と共に、動作プロセスの
ネームを記憶するために使用される。NFSフィールド
1128と1131はそれぞれ非機能故障フィールドで
あり、かつ任意の手段による任意の目的のために利用さ
れるが、一般的にはシステムベースによっては利用され
ない。 動作プロセスの優先権レベルはFRIフィールド112
9内に記憶される。非同期トラツブビツトがABフィー
ルド1132内に記憶されるのに対して、非同期トラッ
プリングがARNフィールド1132内に記憶される。
モノプロセッサ・アーキテクチャの場合に動作プロセス
の論理ネームJ、PはJ、Pフィールド1133内に記
憶される。第1 1K図に示された絶対化テーブルポィ
ンタ語はシステムベース600のBAR十60に位直し
、かつそれは、BARの内容をISLプログラムの全て
の絶対アドレスに加えることにより、初期システムロー
ド(ISL)プログラムの絶対アドレスを開始するため
に初期システムロードで利用される。絶対化テーフルポ
ィンタ1135は絶対化テーブル(図示されず)の位置
を限定する。絶対化テーブルサイズはATSZフィール
ド11 34によって示されている。第111図に示さ
れたCPU直列番号語はBAR+鼠に位置した4バイト
語であり、かつCPU直列番号フィールド1 136内
にCPUの直列番号を含む。 第11m図に示された主記憶上限語は BAR十斑に位魔し、かつそれは主記憶に最後に利用で
きる語の絶対アドレスを与えることにより主記憶上限1
139を示す。 BAR十72に、第1 1n図に示された語が位置し、
初期システムロードISり度瞳チャンネル番号(CN)
1140とハードウェア装置チャンネル番号(CN)1
141を形成する。 計算機システムで使用される装置の型式及び副型式は、
それぞれフィールド1143と1144にハードウェア
装置型式語(第11o図)によって示されるのに対して
、RSUフィールド1142はソフトウエアのために指
定される。 この語はシステムベースのBAR十76に見られる。 第11p図に示されたのと同様のタイプのフオーマツト
を有する同様の藷は、初期システムロードで使用される
装置の型式及び副型式を含む。この語はBAR+80に
位置している。 計算機の再スタートボタンが押されると き、シユミレートされたVオペレーションはセマフオア
で実行され、準備ステートに入る。 このセマフオアへのポインタはシステムベース600の
BAR+84で見られ、かつ再スタート・セル語と呼ば
れ、第11q図に示されたフオーマットを有する。この
フオーマツトは前述したシステム例外セルと同機であり
、それぞれGフィールド1149とDフィールド115
0においてセマフオアのシステム・ネームG、Dを含む
。M故フィールド1148は0でなければならない。 計算機システムに1以上のプロセッサがある場合、マル
チプロセス拡張のためにシステムベース600のBAR
十88に語が備えられる。 この語の詳細は第11r図に示されている。システムベ
ース及びプロセス制御ブロックの使用例第12図を参照
すると、ユーザーセグメント、システムセグメント、あ
るいは待ち行列プロセッサ準備(Q/PR/RDY)セ
グメント、のアドレス指定をし、かつそれを呼び出すた
めに、プロセス制御ブロックと絹合せてシステムベース
がどのように利用されるかの一例が示されている。 主メモリ1200はハードウェア使用のために指定され
た部分1203を有する。境界アドレスレジスタBAR
1202はシステムベース1215をハードウェアのた
めに指定されたメモリ1203の部分から分離する。境
界アドレスレジスタBAR1202は、境界アドレスレ
ジスタの内容を、システムベースに必要とされる項目の
4バイト単位の変化に加えることにより、システムベー
ス1215の項目のアドレス指定のために利用される。 次にこのアドレスは、必要とされるシステムベースの項
目の第1のバイトを指示する。 第12図において、BAR1202はJテーブル語(J
TW)を指示している。前述したようにJテーブル語は
Jテーブル1204を指示するボインタを有する。第5
図に示されたJ番号をインデックスすることにより、J
テーブルェントリ1216が得られる。Jテーブルェン
トリにおいて、Pテーブル1205の絶対アドレスを指
示するPテーブルポインタがある。Pテーブル1205
内のP番号(第5図参照)をインデックスすることによ
り、プロセス制御ブロック1206の絶対アドレスが得
られる。前に図示されたように、プロセス制御ブロック
PCB1206において、2つのアドレススペース語A
SWOとASWIがある。ベースレジスタ1201のセ
グメントテーブル番号フィールドSTNの高順位ビット
は2つのアドレススペース語の一方を呼び出すために使
用される。この場合には、セグメントテーブル語アレイ
STWA1208を指示するセグメントテーブル語アレ
イSTWAポインタを有するASWIである。ベースレ
ジスタ1201のセグメントテーブル番号STNと共に
、8つのセグメントテーブル語の一つがSTW1208
に呼び出され、かつそれは8つのセグメントテーブル1
210の一つを指示する。ベースレジスタ1201から
のセグメントテーフルエントリSTEはそのときセグメ
ント記述子が置かれるセグメントテーブル1210の2
56のェントリの一つを創るために利用される。セグメ
ント記述子はそのときユーザーセグメント1211を呼
び出すために利用される。(詳細については、発明の名
称が“区分アドレス開発”でこの発明と同じ該受人に譲
渡された米国特許第39斑096号を参照のこと)セマ
フオアを記憶するために利用されるシステムセグメント
1214を呼び出すために、Gテーブル語GTWはシス
テムベース1215で利用される。 Gテーブル語のアドレスは、システムベースのGテーブ
ル語の変位を、境界アドレスレジスタBAR1202に
加えることにより得られる(第6図参照)。Gテーブル
語GTWはGテーブル1212を指示するGテーブルポ
インタを含む。このシステムに利用できるG番号を利用
し、かつGテーブルにインデックスすることにより、G
セグメント記述子は呼び出され、それはシステムセグメ
ント1214のアドレスを指定するために利用される。
同様に、システムベース1215は、Q/PR/RDY
セグメント1213を指示する内部プロセッサ待ち行列
語IPQWを位置させることにより、準備プロセス待ち
行列(Q/PR/RDY)を呼び出すために利用される
。 G 制御ユニット第13a−13c図を参照すると、制
御ユニットの詳細が示されている。 制御ユニットは中央処理ユニット(CPU)から分離し
て示されているけれども、それは実際上CPUの一部で
あり、かつ制御ストアユニットCSU1301、制御ス
トアインターフェイスアダプタCIA1302と付属副
ユニット、制御ストアローダーCSL1303、制御及
びロードユニットCLU1307から成る。 制御ストアユニットCSU1301は、制御及び。 ードュニツトCLU1304と制御ストアインターフェ
イスアダプタCUL1 302を通して、制御ストアロ
ーダーCSL1303からマイクロ命令を受け取る。通
常の動作条件のもとで、マイクロプログラムはシステム
開始の闇外部源からロードされ、永久制御機能の機械に
なる。しかしながら、制御ストアユニットCSU130
1は種々の中央処理ユニットCPU1306を演算モー
ドにする様に再ロードされ、かつ開始される能力を有す
る。CPUのオペレーションの次のモードはCSU13
01の制御のもとで利用できる。 すなわち‘a’、固有モード、‘b’エミュレーション
モード、‘cー固有及びエミュレーション同時モ−ド、
{d}診断モードである。この能力は、CPUにあるマ
イクロ命令がエミュレーションユニット1316、算術
論理ユニットALU1317、命令フェツチユニツトI
FU1318、アドレス制御ユニットACU1319、
及びデータ管理ユニットDMU1321のような全ての
他のCPU機館ユニットのオペレーションを制御するた
めに使用されるマイクロオペレーション源であるために
、可能である。また中央処理ユニットCPU内に前述し
た汎用レジスタ1307、ベースレジスター308、科
学レジス夕1309、Tレジスタ1310、状態レジス
ター31 1、命令カウンタIC1312、及びハード
ウェア制御マスク・レジスタ1313が示されている。
典形的には、制御ストアユニットCSU1301は、読
み出し/書きこみランダムアクセスストア(RAM)と
混ぜられた鮒のバィポーラー集積回路プログラム可能の
謙出専用メモリ(PROM)である。 それは典形的には150ナノ秒の読み出しサイクルと4
50ナノ秒の貫きこみサイクルを有する。制御ストアの
各位瞳は一つの槌ビットのマイクロ命令語(後に十分に
説明される)を記憶し、かつ各マイクロ命令語は1つの
CPUサイクルを制御する。制御ストアユニットCSU
1301の制御ストアの各位直が読み出されると、その
内容は、マイクロオペレーション制御信号を発生するマ
イクロオペレーション解読器によって解読され、かつ各
信号によりCPU内で指定されたオペレーションが行わ
れる。(詳細に後述される)。各マイクロ命令語内の位
置を分類することにより(詳細に後述される)、指定の
CPUオペレーションあるいは命令を実行する制御スト
アシーケンスが得られる。 各命令がCRUによって開始されると、オペレーション
コード内のあるビットは制御ストア起動シーケンスを決
めるために使用される。命令解読機能によって設定もし
くはリセツトされるあるフロツプ(図示されず)のテス
トにより、必要なとき制御ストアメモリを更に特定のシ
ーケンスに分岐させる。制御ストアインターフェイスア
ダプタCIA1302は、制御ストアユニット1301
、データ管理ユニットDMC1321、アドレス制御ユ
ニットACU1319、及び第131図の制御ストアメ
モリ1333のオペレーションを命令する算術論理ユニ
ットALU1317と通信をする。 CM1302は、制御ストアアドレス変更、テスト、エ
ラーチェック、及びハードウェアアドレス発生、のため
の論理装置を含む。ハードウェアアドレス発生はエラー
シーケンスの起動アドレスを開発するため、あるいは開
始シーケンスのために一般に利用される。データ管理ユ
ニットDMU1 32 1は、CPU1306と、第1
図に示された主メモリ及び/又はバッファストアメモリ
との間にインターフェイスを形成する。 どのユニットが、他のユニットに必要とされる情報を含
み、かつその情報を適切な時間にCPUレジスタに入れ
るのかを認識するのはデータ管理ユニットの責務である
。 データ管理ユニットDMUはまた部分的書きこみオペレ
ーションの間マスキングを実行する。命令フェツチユニ
ツトIFU1318は、DMU1 32 1、ACU1
3 1 9、ALU1 3 17、CSU1301を
インターフヱイスし、かつ命令によって供給されるCP
Uを保持する責務がある。 命令フェツチュニットは、現在の命令が完了するまで、
そのレジスタで利用できる次の命令を有する。この能力
を形成するために、命令フェツチュニットびU1318
は、通常1以上の命令を含む12ゞィトの命令レジスタ
(図示されず)を含む。さらに、IFUは、CSUの制
御のもとで、命令が実際に必要とされる前に主メモリか
らの情報(命令)を要求し、このようにして、12バイ
トの命令レジスタを常に更新する。 命令はこのように通常使用されないメモリサイクルによ
って前もって取り出される。命令フェツチユニツトはま
た各命令を解読し、命令長及びフオーマツトを他のユニ
ットに知らせる。アドレス制御ユニットACU1319
は、CMを遺して、CCU、IFU、ALU、DMUと
通信する。 ACU‘よCPUの全てのアドレス開発に対して責務が
ある。ACUへの、ACUから、そしてACU内の全て
のオペレーションは、このユニット内のCSUマイクロ
オペレーション及び論理によって命令される。ACUの
通常のサイクルは命令の型式よりも命令内のアドレスの
型式に左右される。 アドレス型式に従って、AC山ま命令の各アドレスのた
めに異るオペレーションを実行する。ACUはまた奥形
的にはセグメント数と共に、8つの最も最近に使用され
たメモリセグメントのベースアドレスを記憶する連想メ
モリ1319を含む。 メモリ要求がなされる毎に、セグメント番号は、セグメ
ントのベースアドレスがすでに開発され、かつ記憶され
たかどうかを決定するため連想メモリ内容に対してチェ
ックされる。もしベースアドレスが連想メモリ1319
a内に含まれるならば、このアドレスは絶対アドレス開
発で使用され、かっかなりの時間が節約される。 もしベースアドレスが錘想〆モリ1319a内に含まれ
ないならば、それは王〆モリテーブルを呼び出すことに
よって開発される。しかしながら、セグメントのベース
アドレスが開発された後、それは後の参照のために、セ
グメント番号と共に連想メモリ内に記憶される。ACU
、mU、DMU、CSUとのインターフェイスは算術及
び論理ユニットALU1 317である。 その主要な機能は算術オペレーションとCPUの必要な
データ処理を実行することである。算術論理ユニットの
オペレーションは完全に制御ストアユニットCSU13
01からのマイクロオペレーション制御信号に左右され
る。ALU1 31 7及びCSU1 301と、スク
ラツチパツドメモリユニツトLSU1 3 1 5が関
連している(時にはまたローカル・ストアユニットとし
て参照される)。 それは奥形的には25成立置く位置毎に32ビット)の
ソリツデステートメモリと、そのメモリのための選択及
び読み出し/書きこみ論理袋贋から成る。スクラツチパ
ツドメモIJ1315はCPU制御情報及び維持能力情
報を記憶するために使用される。 さらに、スクラツチパツドメモリ1315は、データ処
理の間主としてオペランド及び部分的結果の一時的記憶
婆直のために使用されるワーキング位置を含む。 また計算機システムの種々雑多なステートを記憶するた
め、奥形的にMのフリップフロップから成る補助メモリ
1317aがALU1317と関連している。 CPUはまた刻時ユニット1320を有 し、かつ本質的に2刻時システムがある。 すなわち第1の刻時システムは制御インターフェイスア
ダプタCM1302のために時間調節をし、かつ第2の
刻時システムは中央処理ユニット内の機能ユニットのオ
ペレーションのためのタイミングパルスを発生する。第
13c図を参照すると、制御ストア語1325のフオー
マツトが示されている。 制御ストア藷は典形的には84ビットの中であり、かつ
6つの主要フィールドに分割される。すなわち、a シ
ーケンス型式フィールド1326(3ビツト)b 分岐
及び/又はマイクロオペレーション1327(23ビツ
ト)c 定数発生及び指示1328(14ビット)d
バスへのデータ1329(8ビット)e マイクロオペ
レーション1330(32ビツト)f チエツク133
1(4ビット) 制御ストア語1325の3ビットEフィ−ルドはシーケ
ンス制御フィールドとして使用される。 奥形的には7つの異るシーケンス型式があり、かつ一つ
はこの発明の計算機システムのために、予約された型式
である。第13b図のブロック1335を参照すると、
マイクロ命令1325の分岐フィールドA,B,C,D
,Eは、Eフィールドが2進0、1、あるいは2に等し
いとき、次のアドレスを発生するために利用される。 KSレジスタ1337の技初の6ビットは、Bフィール
ド、Cテスト結果、Dテスト結果、及びLフィールドと
共に利用され、次のマイクロ命令の次のアドレスを発生
し、それからマイクロ命令はアドレスレジスタKS13
37内に魔かれる。 8フィールドが2進4に設定されるとき(ブロック13
35を参照)、次の選択されたアドレスは割込み復帰レ
ジスタKA1339から取られる。 KAレジスタ内に記憶されたアドレスは、ハードウェア
割込みが生じるとき次のアドレス発生論理装贋によって
発生したものである。Eフィールドが2進5に設定され
るとき、分岐はマイクロプログラムサブルーチンからの
副復帰を開始するために使用される。使用されるとき、
復帰レジスタKR1346の内容は次の制御ストアアド
レスとして使用される。復帰レジスタ1346は制御ス
トア令令を発することによってロードされ、そしてそれ
はインクリメンタ1338からKRレジスタ1346に
、KSレジスタ1337の現在の制御ストアアドレス十
1をロードする。1レベルネステイング・サブルーチン
能力はKT復帰分岐レジスタ1347を通して発生する
。 KRレジスタ1346がロードされる毎に、KRレジス
タの古い内容は、マイクロプログラム復帰が呼ばれる毎
にKTレジスタ1347に伝達される。すなわち、KT
レジスタの内容はKRレジスタに伝達される。第3のレ
ベルのネステイング・サブルーチン能力はKUレジスタ
1340によって供給され、かつ第4のレベルのネステ
イング・サブルーチン能力はKV復帰分岐レジスタ13
49によって供酪農される。制御ストア語のEフィール
ドが2進6に設定されるとき、アドレス指定された次の
制御ストア語は、インクリメンタ1 338において、
KSレジスタ1337の現在のアドレス十1に等しくな
る。Eフィールドが2進7に設定されるとき、CSU1
301は診断モードに入り、次のアドレスは現在のアド
レス十1になる。 前述され、かつブロック1335で示された次の制御ス
トアアドレスへの分岐のシーケンス制御に加えて、第1
3b図のブロック1336にはハードウェア発生シーケ
ンス制御が示されている。 (註:ブロック1335と1336はマイクロ命令が取
られる異るフオームを描くように図示されたハードウェ
アレジスタである)。ハードウェア発生分岐は、Eフィ
ールドを削除し、固定アドレスを制御ストアアドレスレ
ジスタKS1337に入れる重合状態である(エラーの
ように、制御ストアスキャン等を開始する)。この分岐
は、割込みラインを1刻時期間の間高くし、かつEフィ
ールドの制御のもとでKA割込み復帰レジスタ1339
内に発生したアドレスを記憶することにより創られる。
ハードウェア発生アドレスは制御ストアアドレスレジス
タ内に置かれる。あるハードウェアノフオームウェア発
生割込みは、割込みブロックフリップフロツプが、割込
み条件が満足されるまでそれらのクラスの別の遮断が実
行されるのを妨げるとき優先権を持つ。ファームウェア
マイクロオペレーションは、ファームウェア制御のもと
にあるシーケンスの割込みブロックフリップフロツプの
リセットを制御するために存在する。ハードウェア制御
のもとでこれらのシーケンスはこのシーケンスの終りに
フリップフロップをリセットする。優先権によって表に
した次の条件はこのカテゴリに存在する。すなわち{a
席。御ストアロード、‘b)集U御ストアスキヤン、【
c’ハードウエアエラー、‘d’ソフトウエアエラーで
ある。残りのハードウェア条件は割込みブロックフリッ
プを設定しないが、しかし発生するときただちに動作を
生じさせる。優先権によって表にされた次の条件はこの
カテゴリに存在する。【aー 開始 他ソフトークリア 【cー 維持パネルに入る {d} 維持パネルに入る ‘e’ハードウエアを出る 開始信号はCSUi301をアドレス2進0に分岐させ
、リードウェアリセット可能のエラーをクリアさせ、ハ
ードウェア制御のもとで制御ストアスキャンシーケンス
を伴う制御ストアロードオペレーションを実行させる。 それはまたシステムを開始させる。ソフトウェアクリア
信号はCSU1301をアドレス2進0に分岐させ、ハ
ードウェアリセット可能のエラーをクリアさせ、割込み
ブロツクフリツプをリセットさせる。維持パネル入信号
はCSUを維持パネル(図示されず)上のCSUアドレ
ススイッチで前もって設定されたアドレスに分岐させる
。維持チャンネル入信号はCSUを維持チャンネル(図
示されず)を経て発生したアドレスに分岐させる。 ロードされたアドレスは、維持チャンネルの一部である
維持バスQMB1344からなされ、かつ正当化される
。ハードウェア出信号はCSUを2進アドレス2に分岐
させる。このシーケンスは維持手段として使用される。
このシーケンスの終りに、Eフィールド分岐を発するこ
とにより復帰が開始され、かっこのEフィールドは2進
4に設定される。制御ストアロード信号はCSUをアド
レス2進0に分岐させる。 それはまたCSU譲みこみサイクルフロツプ(図示され
ず)、システムクロツク1320をオフにし、CSUを
ロード・ステートに置く。ロード・ステートにおいて、
CSUは、制御ストアローダーCSL1303、IOC
1305、主メモリ102、あるいは維持パネル135
5からロードされることができる。 CSLからロードされるとき、自動スキャンがロードの
終りに発生する。他の媒体からロードされるとき、スキ
ャンはマイクロオペレーション信号を発生するか、ある
いは維持パネル上のスキャンスイッチを設定することに
よって発する。制御ストアスキャン信号はCSUをアド
レス2進0に分岐させる。制御ストアスキャンはこのシ
ーケンスの持続期間中ハードウェア制御のもとにある。
このスキャンの間、システムクロツク132川まオフで
あり、それ故、命令もしくはテストは実行されない。ス
キャン順序の終りに、ハードウェアは割込み復帰レジス
タKAの内容をアドレスレジスタKSに伝達し、このシ
ステムクロツクはオンにされ、制御はファームウェアに
復帰する。ハードウェアエラー信号はCSUをアドレス
2進4に分岐させる。 通常の処理モードにおいて、任意のCPU機能ユニット
で検出されるハードウエアエラーはハードウエアエラー
ラインを動作させる(図示されず)。発生した制御スト
アシーケンスは、システム条件をテストして、とられる
べき動作を決定する。 診断モードにおいて、検出可能なハードウェアであるエ
ラー条件はマイクロ診断には明白である。マイクロ診断
はとられるべき動作を制御する。他方、ソフトウェアエ
ラー信号は制御ストアをアドレス2進1に分岐させる。
このアドレスは、マイクロプログラム制御のもとにある
ソフトウェアエラー報告シーケンスの開始である。再び
第13c図を参照する。Eフィールド1326は前述し
たように、分汁皮コードのための3ビットフィールドで
ある。 分岐及び/又はマイクロオペレーションフィールド13
27はA、B、C、D及びLフィールド(または第13
b図のブロック1335で示されている)から成り、こ
こでAフィールドは次のアドレスの上6ビットであり、
Bフィールドは鼠分岐のマスクフィールドの次のアドレ
スの中間4ビットであり、Cフィールドは鼠テストの1
つのための6ビットテストフイールドであり、Dフィー
ルドは64テストのうちの一つのための別の6ビットテ
ストフイールドであり、そしてLフィールドは最も重要
でないビットである。Kフィールド1328は14ビッ
トフイールドであり、その6ビットは一定フィールドの
ためのものであり、4ビットは一定もしくはステアリン
グフィールドのためのものであり、そして4ビットはス
テアリングフィールドである。バスへのデータフイール
ド1 329はQMBバス1 344のQA部分への情
報を制御するための4ビットを有するQAフィールドか
ら成り、かつQBフィールドはQMBバス1344のQ
B部分への情報を制御するための4ビットを有する。F
フィールド1330はマイクロオペレーション副命令を
発生するために符合化される32ビットのフィールドで
ある。Pフィールド1331はチェックのために予約さ
れた4ビットから成る。オペレーションにおいて、マイ
クロ命令語は制御ストアアレイ1333内に記憶される
。 ーサイクルのオペレーションの間、制御ストアアレイは
KSアドレスレジスタ1 337の内容によってアドレ
ス指定される。これによって、その位置の内容は読みこ
みラツチの群内に読みこまれるアドレスによって指定さ
れる。読みこみラッチの語内容の一部はCPUの機能ユ
ニットの各R内の記憶レジスタに分布され、あるいはそ
れに伝達される。 各機能ユニットはシステムクロック源の制御のもとで制
御ストア語によって指定される必要な副命令を発生する
解読論理回路を含む。一般に、解読は、解読時間を減少
させるため、かつもし解読が中央で実用されたならば命
令信号を伝達するために通常必要とされるケーブル数を
減らすために、中央で実行されるよりもむしろCPUの
各機能ユニット内で実行される。 さらに、この解読はケーブル遅延の差から生じる時間問
題を避けるために各ユニット内でなされる。さらに、各
ユニットで副命令を解読することにより、この機能ユニ
ット内に存在するある条件を表わす信号が、CMユニッ
ト1302に復帰させる必要のないある副命令信号を発
生させるために必要とされる。 典型的解読語ユニット1359は、マイクロ命令語から
種々のフィールドを受け取り、かつマイクロオペレーシ
ョン信号a,b,c,d,・・・・・・,rを発生させ
るように第13b図に示されている。典形的マイクロオ
ペレーション解読器1359はマイクロ命令語からの命
令を受け取る。マイクロ命令語からのフィールドは解読
され、かつ複数のラインs,t,u,……y,zの一つ
を高く設定する。マトリックスは、点Q,8,y….・
・J,のでs−zラインに予定の制御ラインインピーダ
ンスを結合させることにより形成される。典形的にはマ
イクロ命令からのフィールドが解読されるとき、ライン
s−zの一つは高くなる。ギリシャ文字Q−のによって
、マトリックス内に示された黒鳥点は2組の線の間を結
合するインピーダンスを表わし、任意の水平線にそつて
伝ぱんする電気信号は、インピーダンス結合(黒V点)
が示される垂直線aーッに沿って伝搬するように結合さ
れる。 そのとき各垂直線a−yはANDゲート1360一13
65の各Rへの入力として結合される。他の入力信号は
またタイミング信号広を含み、ANDゲートi360−
1365に結合される。従って、各タイミング信号ts
が高くなるとき、他の入力信号が全て高くなるこれらの
ゲートは可能にされ、CPUの予定の機能ユニットにマ
イクロ命令信号を発生する。たとえば、もし読みこみラ
ッチ1357からの命令1341が解読され、かつ水平
ラインが高くなるならば、a,b,c’q垂直制御線は
高くなり、ANDゲート1360,1361,1362
,1364は、Gタイミング信号がこれらのゲートに順
次印加されるとき可能にされる。従って「垂直制御ライ
ンがギリシャ文字Q−の‘こよって表わされる異る点の
水平制御ラインに縫合される組合せは、制御ストアアレ
イ1333から供v給されるマイクロ命令によって中央
処理ユニット内の機能ユニットを制御するため中央制御
ユニットCPUにマイクロオペレーション信号を供v給
する永久スイッチマトリックスを表わす。変更特徴を有
する永久ファームウェアは、計算機システムの能力とし
て必要なマイクロオペレーションのシーケンスを単に指
定することによってこの発明の機械内に創ることができ
る。通常のコンディションのもとで、データ は、またロ−カルレジスタYO1343として公知のC
PU書き出しデータレジスタを通して制御ストアアレイ
1333内に書きこまれる。 制御フロツプ(図示されず)は、記憶装置アレイの上半
分あるいは下半分が書きこまれているかどうかを限定す
る。制御及びロードユニットCLU1304からのデー
タは維持バスQMBを通してCIA/CSUに到達し、
そして制御ストアアレイ1333に書きこまれる前に記
億ロ−カルレジスタYO1343によってバッファされ
る。記憶ローカルレジスタ1343は、読み込み及び書
き出しローカルレジスタの両方と時分割である。マルチ
プレクサKQM1345は維持パネル1355あるいは
マイクロ診断のどちらかによって制御されかつそれに結
合されたレジスタからの読み出し通路を形成する。比較
レジスタKP1350は非機能的使用のために備えられ
、かつ主として保守目的のために使用され、そして比較
論理装置1352及び解読論理装置1351と共に利用
される。H プロセス制御のためのデイスバツチヤフア
ームウエアデイスパツチヤはフアームウエア/ハードウ
ェアユニットであり、かつその主要目的は種々の待ち行
列プロセスを管理し、かつプロセス間の切り替えをする
ことである。 そしてこのディスパッチャは待ち行列プロセスを更新す
ること、プロセス制御ブロックPCBシステムベースの
動作プロセス語、及び新たなプロセスのレジスタを含む
。それはまた、セマフオアで実際上待機中のプロセスに
メッセージを送る。(Vオペレーションの後、IOCま
たは例外処理装置のためのシミユレートVオペレーショ
ン)。それはまた、プロセスがそのメッセージを送るた
めにフリー・リンクセマフオアで待機しているときメッ
セージリンクを自由にするPオペレーションの後、セマ
フオアでメッセージを待ち行列化する。さらに、デイス
バツチヤュニツトは固有モードでプ。 セス実行の“ロールィン”後、あるいはもし現在のプロ
セスが動作中であり、固有モードで実行されるならば“
競争”後、固有モード命令ファームウェアを呼ぶ。それ
はまたヂコー拡張ファームウェアを次のために呼ぶ。す
なわち‘a’そのデコー拡張内で実行されるプロセスの
ロールアウト中の一時的コール【b’そのデコー拡張内
で実行されるプロセスのロールイン中の一時的コール‘
c’そのデコ−拡張内で実行されるプロセスのロールイ
ン中の終りの最終的コール‘d’もし現在のプロセスが
動作中で、そのデコ‐拡張内で実行されているならば、
競争の後の最後的コール さらに、このデイスパツチヤはこのシステムを、動作プ
ロセスがないときアイドルループ内に置く。 次の様にディスパッチャに入り、あるいはそこから出る
いくつかの方法がある。 {1)開始手順が最後のステップとしてのェントリを形
成する(発明の名称が“システム開始手丸頂’’で、こ
の出願と同じ談受人に譲渡された米国出願番号第52斑
14号を参照のこと)。 ‘21 開始及び中止命令がそのェントリのためにデイ
スパツチヤに供艶給される。 開始命令はプロセスを起動させ、かつ中止命令はプロセ
スを終了させる(発明の名称が“起動及び中止命令’’
である出願番号第529017を参照のこと)‘3’P
及びVオペレーションはデイスパツチャへのェントリを
形成する。 Pオペレーションはセマフオアからのメッセージを検出
し、かつもしメッセージがなかったなら ば、そのときプロセスは待機ステートになる。 (発明の名称が“セマフオア上のP及び Vオペレーション”である。 出願番号第52斑56号を参照のこと) 要するに、デイスパツチヤは、どのプロセスが動作して
いるかを決定し、それから現在動作しているプロセスを
ロールアウトさせ(すなわちハードウエアレジスタ、ス
クラツチバッドメモリ等に含まれる現在動作プロセスに
関する全ての情報をPCB内に書きこむ)、そして新し
いプロセスをロールインさせる(すなわち新しいプロセ
スを動作させるのに必要な全ての情報を、種々のハード
ウェアレジスタ、スクラツチパツドメモリ等にPCBか
ら書きこむ)ような適切な動作をとることによって、プ
ロセスを、従ってプロセス制御ブロックPCBを管理す
る主要機構である。 デイスパツチャによって実行されるファームウェア内(
すなわち制御ユニット内)のオペレーションの表示は第
14a−14i図のフローチャートで示されている。 例えば、第14a図のブロック1402はデイスパツチ
ヤによって実行されるオペレーションの表示であり、こ
こでマイクロプログラム語は制御ストアユニットによっ
て供輪蒼され、かつ解論器1359によって解読される
とき、適当な一連のマイクロオペレーション信号136
0,1361等を通してCPUの応用可能な部分を制御
して、記憶サブシステム102のシステムベースからI
DOWを回収し、そしてそれをスクラツチパツドメモI
J1315に伝達する。 同時に、ディスパッチャは、システムベースのGテーブ
ル語GTWによって指示されたセグメント記述子のGテ
ーブルからGOセグメント記述子(第12図参照)に命
令取り出しをする。 IPOW語のビット16−31は16ビットの正の整数
を含み、そしてそれは準備プロセスの待ち行列Q/PR
/ROYのヘッド(最初のバイト)に対しての、GOセ
グメントとして参照されたようなGセグメント番号0の
ベースからの変位である。もしIPQW語のビット16
一31が0ならば、1403準備待ち行列は空であると
考えられる。 もし準備待ち行列が空であるならば、それはQ/PR/
RDYに現在待中のプロセスがなく、準備待ち行列は空
であるということを示す。決定ブロック1405内で決
定されるべき次の疑問は空ィンジゲータが設定されてい
るかどうかを決めることによって機械内に現在動作中の
プロセスがあるかどうかである。 もし空ィンジケータが設定されているならば(すなわち
現在動作中のプロセスがない)、そしてプロセッサを使
用するため待機している準備待ち行列のプロセスがない
ということは前もって決定されるので、この機械はアイ
ドルステート1406になる。 しかしながら、もしこの機械内に現在動作しているプロ
セスがあるが、機械を使用するために待機しているもの
はないならば、現在のプロセスはその次の命令1407
を呼び出す。さて、第14a図のフローチャートの決定
ブロック1403に戻る。 もしIPQWのポィンタ領域に正の整数があるならば(
すなわちビット16一31)、GOセグメントのIPQ
W語によって指示された準備待ち行列のヘッドはスクラ
ッチパッドメモリに取り出される。(注:繰り返しを避
け、明りようにするため、制御ユニット及びCPUと共
にディスパッチャの中間機能は省略される。 しかしながら一例によって前述したようなこのような中
間機能は存在するということが理解できよう)。 この点までに、準備待ち行列の待機プロセスがあるとい
うことが決定された。別の動作が示される前に、もし中
央プロセッサに現在動作中のプロセスがあるかどうかを
決定することが必要である。これはフローチャート表示
の決定ブロック1410で決定され、かつもし中央プロ
セッサに現在動作中のプロセスがないならば(すなわち
CJPなし)、準備待ち行列のヘッドは動作する141
2。しかしながら、もし中央プロセッサに動作中のプロ
セスがあるならば、デイスパツチヤはどれが優先権を持
つか、現在動作中のプロセスかあるいは準備待ち行列の
ヘッドかを決定しなければならない。従って、それ故シ
ステムベースPCB400の動作プロセス語内に位置す
る現在のプロセス(CJP)の優先権バイトは取り出さ
れる1413。そのとき現在動作中のプロセスCJPが
、準備待ち行列のヘッドで特期している新しいプロセス
NJPよりも低い優先権のものであるかどうかについて
の決定がなされる1414(決定ブロック1414参照
)。もしCJPがNJPよりも低い優先権のものでない
ならば、CJPは中央プロセッサの制御のもとに残り、
かつ競争ィンジケータはリセツトされる1415(イン
ジケータは、最後の命令の始めがCJPに代って実行さ
れ、それによって衝突の可能性が生じて以来、一以上の
新しいプロセスが準備待ち行列に置かれるのを除いて、
競争ィンジケータは常にゼロに設定される。 これらの状態のもとでは、競争ィンジケータ2進1に設
定される。 )現在のプロセスCJPが続けられ、かつ別の命令を実
行する前に、CJPがデコー拡張モード1415である
かどうかの決定がなされる。もしCJPがデコー拡張モ
ードで動作しているならば、そのとき次の命令がエミュ
レーションモードで(すなわちデコー拡張)で実行され
、かつもしそれがデコー拡張モードで動作していないな
らば、次の命令が固有モードで実行される。再び決定ブ
ロック1414に戻ると、もし準備待ち行列の先頭のN
JPがCJPよりも高い優先権を持つならば(すなわち
その優先権番号はCJPの優先権番号よりも低い)、現
在動作中のプロセスCJPはその機械から“ロールアウ
ト”され、かつ新しいプロセスNJPはその機械に“ロ
ールイン”される。従ってファームウェア優先権サブル
−チンPRIQ1 41 8は、フアームウエアサブル
ーチンRILO1419の命令のもとで、LIFO優先
権によってかつCJPの最初の“ロールアウト”による
優先番号によって、現在のプロセスCJPを準備待ち行
列に向ける。RLLOサブルーチンは、汎用レジスタ、
ベースレジスタ、科学レジスタ、Tレジスタ、状態レジ
スタ、及び命令カウン外こ記憶されるCJPの情報の書
き出しを、王〆モリのプロセス制御ブロックPCBの適
切な記憶領域に戻す。そしてそれをRUAの更新にする
。さらに、PCB内のプロセス主要語0(PMWO)の
DEXT番号は更新される1420。新しいプロセスN
JPはまさに今“ロール・ィン”されようとしている。 境界アドレスレジスタBARは取り出され1 422、
そして動作プロセス語RPWはシステムベースのアドレ
スBAR+56から取り出される。ブロック1423を
参照のこと。新しいプロセスNJPのネームは次に動作
プロセス語RPWに書き込まれる。そして新しいプロセ
スNJPのネームがQ/PR/RDYのプロセスリンク
PLに書き込まれたので、プロセスリンクPL内のネー
ムはそれゆえ今RPW、ブロック1424に置かれる。
それゆえNJPは準備待ち行列からすぐにCJPになり
、それゆえQ/PR/RDYでもはや待たない、そして
そのネームをQ/PR/RDYのプロセスリンクPLか
ら取り出すことによって待ち行列解除されなければなら
ない。 これが実行されるとき、プロセス準備Q/PR/RDY
の待ち行列はフア−ムウエアサブルーチンUQLK、1
425aによって新しくされる。それゆえ、機械を取
り出されたばかりのプロセスのJP番号はもはや機械の
制御を有さないで、それを待たなければならないので、
Q/PR/RDY内のプロセスリンク内に置かれる、1
426。この点で、中央プロセスのこの制御を新しいプ
ロセスに与え、古いプロセスを準備待ち行列内に置く変
換は完了される。中央プロセッサの制御中にプロセス(
新しいCJP)があるので、空ィンジケータはゼロ、に
設定される;1427一方中央プロセッサの制御中にC
JPがないならば、空ィンジケー外ま1に設定されるこ
とになる。この点で、プロセッサの割り当ては完了され
、古いプロセスが準備待ち行列中に置かれたのに反して
、新しいプロセスは中央プロセッサを得る。しかしなが
ら、新しいプロセスは、汎用レジスタ1307、ベース
レジスタ1308、科学レジスタ1309・Tーレジス
タ1310、状態レジスタ1311と命令カゥンタ13
12のような第13a図の中央処理ユニット1306の
ハードウェアのためにまだ動作する準備がなされてなく
、制御命令が新しいプロセスのプロセス制御ブロックか
ら供v給されなければならない。
‐従ってファームウェアサブルーチン1
43川まCPUを制御し、最初PCB(第4図)からス
クラツチパツドメモリ1315にPMWを取り出し、そ
のときPMWOを取り出す。 PMWOのMB2フィールドはチェックされ1433、
もしそれが2進0でないならば非合法的PC繊例外が結
果として生じる。しかしながら、もしPMWOのMB2
フィールドがゼロであるならばPMWIは取り出される
1434。またPMWIのMB2フィールドはそれが2
進0かどうかを決めるためにテストされる。 もしそれが2進0でないならば、非合法的PC母例外が
存在する。それに反してもしそれが0と等しいならばデ
ィスパッチヤはCまで進む。従ってアドレススペース語
OASWOは PC母村の適当なスペースから取り出され、セグメント
テーブル語サイズSTWS2はそれが7以下であるかど
うか決定するようにテストされる1437。 もしそれが7以上ならば、非合法的PCBが結果として
生じ、もしそれが7以下かあるいは7と等しいならば、
そのときASWIはPCB、ブロック1438から取り
出され、そしてそのSTWS2フィールドはそれが8以
下かあるいは8と等しいかどうか決定するようにテスト
される。もしそのフィールドが8以上であるならば、そ
のとき非合法的PCBが結果として生じる。しかしなが
ら、もしそのSTWS2フィールドが8と等しいかある
いは8以下であれば例外語EXWは取り出され1440
、そのMB2フィールドはそれが0と等しいかどうかを
決定するようにテストされる。もしMB2フィールドが
0と等しくないならば非合法PCBが結果として生じる
。ところがもしそれが0と等しいならばスタック語SK
Wは取り出され1422、そのM旧2フィールドが0と
等しいかどうかを決定するようにテストされる1443
。もしM旧2フィールドが0と等しくないならば、その
とき非合法的PCBが結果として生じる。 これに反して、もしそれが0と等しいならば命令カウン
タ語ICWはPCBから取り出され、命令カウンタIC
に置かれる。そしてそのTAGフィールドはそれが0と
等しいかどうかを決定するようにテストされる。もしT
AGフィールドが0と等しくないならば、そのとき非合
法的PCBが結果として生じる。しかしながら、TAG
フィールドが0と等しいならば、MB2語は取り出され
1446、そのM旧2フイールド(ビット0一3 1)
はそれが0と等しいかどうか決定するようにテストされ
る1447。もしそれが0と等しくないならば、そのと
き非合法的PCBが結果として生じる。ところが、もし
それが0と等しいならばスタックベース語0、そしてる
BW0,1と2は取り出される1448。PCBのベー
スレジスタ保持領域内の8つのベースレジスタの内容は
そのとき取り出され1449、機械のベースレジスタに
記憶される1308。 そのときPCBの汎用レジスタ保持領域からの16の汎
用レジスタの内容は取り出され1450、機械の汎用レ
ジスタに記憶される1307。しかしながら、科学レジ
スタの内容を取り出す前に、科学モードが使用されるか
どうかを決定するためにプロセス主要語0(PMWO)
のケーバビリテイ・バイトがチェックされる1415。
もし科学モードが使用されるならば、そのときPCBの
科学レジスタ保持領域からの科学レジスタの内容は取り
出されそして記憶される1452。ファームウェアはそ
のときアカウントモードが使用されるかどうかを決定す
るためにPMWOのケーパビリテイ・バイトをチェック
させるように進む1453。もしアカウソト・モードが
使用されているならば(たとえば2進1に設定されたケ
ーパピリテイ・バイトのアカウント・ビット)、アカウ
ント語はPCB内に存在し、準備時間アカウント語RT
Aは更新される。 そのときファームウェアは、DEXT番号が0に設定さ
れるかどうか決定するために進む1454。もしそれが
0に設定されないならば、機械はエミュレーションモー
ド内にあり(すなわちデコー拡張能力が使用される)、
それがプロセス主要議3のDETS2フィールド以上か
あるいはそれ以下かどうかを決定するためにPMWOの
DEXT番号がチェックされる1455ことを、それは
示している。 またDEXT番号がDETS2フィールドより小さいが
0ではないので非合法的PCB例外が結果として生じる
DETS2フィールドよりそれが大きい場合、機械は合
法的エミュレーションモード内で実行し、Fに進む。決
定ブロック1415に戻って、もしDEXTフィールド
が2進0であるならば、そのとき固有モードは実行され
そして機械はSTWを取り出す1457。PCBの余剰
時間終了語RTOは取り出され1458、CJPが動作
状態に費やす時間限界でプロセスタイマがロードされる
。 この点までに、【a’機械内に古いプロセスCJPが存
在し、新しいプロセスNJPが古いプロセスCJPより
優先されたとき、新しいプロセスNJPはCPUを制御
するために“ロール・ィン”されたかまたは、‘bーC
PUの制御中にCJPが存在しないで準備待ち行列のヘ
ッドが動作されたかである。 条件{aーの下で簡単に、CJPはRPWに取り出され
、Q/PR/RDYのプロセスリンクPL内に置かれる
。そしてQ/PR/RDYのプロセスリンクPL内のN
JPは、CJPにすぐなるNJPを制御し、かつ古いC
JPの制御を停止させる2つのプロセスの位置を効果的
に切り換えるRPW内に置かれる。 そのときNJPのPCBは呼び出され、NJPを動作す
るよう要求される情報はスクラッチパツドメモ1′にあ
るいはACUのレジスタのアレイに置かれる。もしCP
Uの制御中にCJPが存在しないならば(条件b)、そ
のとき準備待ち行列のヘッド‘ま動作される。 たとえばディスパッチャは準備待ち行列からのプロセス
リンクPLからNJPを取り出し2それをRPW語に置
くために、NJPはCJPになる。これを実行すること
によつてプロセスリンクPLはQ/PR/RDYに何も
残されず、それを取り出すよう要求される。従って決定
ブロック1461で始まり、ファームウェアはCPUの
制御中にCJPがあったかどうかを決定する。 そしてもし自由プロセスリンク(FPは)が存在するな
らばそれは呼び出され、待ち行列化され、CJPはここ
に書かれる。しかしながらもしCPUの制御中にCJP
が存在しないならば、NJPのPMWOのステートバィ
トが更新され1460、機械内にCJPが存在するかど
うか決定される1463。もしプロセッサの制御中にC
JPがないならば、NJPのプロセスリンク(Q/PR
/RDYの中にあって、現在機械の制御中にあるもの)
は、Q/PR/ROYに取り出された1466(すなわ
ちQ/PR/RDYから待ち行列を解除させる)、フリ
ー・リンク・セマフオアFLSPになり、フリー・プロ
セスリンク待ち行列(第9図の805)内に待ち行列化
され、フリー・プロセスリンク待ち行列の一部になる1
466a。境界アドレスレジスタBARの内容は取り出
され1 464、システムベースのBAR+56に位直
したNJP(現在CJP)の動作中プロセス語RPWは
RPW、ブロック1465にNJP識別を贋くことによ
って更新される。空ィンジケータはCJPが存在しない
場合0に設定される。次に競争ィンジケータは0に設定
され1467、災形的内容のアドレス指定可能なメモリ
であるセグメントアソシェィタ(第1図の132)はク
リアされ1471、そのときプロセスモードが入れられ
る1470。(例外がオペレーティングシステムよりむ
しろプロセッサ内に動作しているプロセスによって処理
されることを、プロセスモードは示す。)そのときファ
ームウェアはCABに続き1480、非同期トラップビ
ットABはそれが2進1に設定されるかどうかを決定す
るためにチェックされる1481。もしABビットが2
進1に設定されるならばそのときプロセスリング番号P
RNが非同期トラップビツトARNより大きいかあるい
は等しいかどうかを決定しチェックされる1482。(
AB及びARNは各プロセスのPCBの優先権バイトに
位直され、プロセスが動作ステートにあるとき意味があ
る。AB及びABNはシステムベースのBAR十56に
位置したRPWから取られる。)次のステップ1484
は非同期トラップルーチンに進み、そしてそれは、非同
期トラップピツトもしくは非同期リング番号を最初の場
所に設定させる状態に気をつけるので、RPWのBAR
十56のAB及びARNがリセットされ、そしてもしこ
れらがファームウェアによってその次にリセットされな
かったならば、それは実際上悪いものが何もなかったと
ころで何かが悪かったという指示を出し、従って常に非
同期トラッブルーチン1484に進み、決して実行され
ないだろう。全決定ブロック1481及び1482に帰
って、ABビットが設定されず、あるいはABビットが
設定され且つPRNがARNより大きいならば、そのと
きファームウエアは、プロセッサがいかなるモードで、
即ち通常モードあるいはエミュレーションモード内で動
作することを決定するため進む。従ってDEXT番号は
、それが0に設定されるかどうかを決定するようにチェ
ックされ、それが0に設定されるならば、機械の通常モ
ードで動作する1487。しかしながら、DEXT番号
が0に設定されないならば、エミュレーションモードで
動作する1486。 発明の内容の詳細な説明 ハードウェア/ファームウェア・システムは設定された
オペレーションに処理される記録の2つの基本的タイプ
を認識する。 記録のこれらの2つのタイプは第15A図に例証された
バーチュアルメモリ記録及び第15B図に例証されたデ
ータベース記録である。バーチュアルメモリ記録は一般
的に、記録がセグメント・アドレスによってアドレス指
定されうるオペレーティングシステム手順内部に使用さ
れる。データベース記録は、領域−ページーラィン番号
とともにそれらのデータ記録をアドレス指定するユーザ
プログラムによってさらに一般的に使用される。領域は
ユーザファイルを参照し、ページは彼のデータファイル
範囲内の分割を参照し、ライン番号はそのファイルのペ
ージ範囲内の特別な記録を参照する。第15A図に示さ
れたように、バーチュアルメモリ記録は次のフィールド
から構成される。 タイプフィールド1501は記録タイプの説明であり、
この記録の記録記述子(下で説明される)から縛られる
。バーチュアルメモリ記録の○スイッチフィールド15
02は記録ステートを説明する。記録は次のようなステ
ートにあることができる。有効、そしてそれは記録を意
味し、現在有効なデータを含む。論理的に削除される、
それはもはや記録を意味せず、有効なデータを含むが、
なおメモリスペースを保持する。長さフィールド150
3は記録のバイトの実際の数を説明する。記録本体15
04は記録の実際のデータを含む。ポインタ・シーケン
ス・フイールド1505は、その記録がオーナーかメン
バーのいずれかであるセットの、次の、先の、最初の、
最後のオーナー記録のポィンタを含む記録本体の一部分
である。ハードウエア/フアームウエアシステムによつ
て認識される記録の第2の主要タイプは第15B図に説
明される。タイプフィールド1510はまた記録のタイ
プを説明し、下で説明される記録の記録記述子かち得ら
れる。長さフィールド1511はバイト内の記録の長さ
を説明する。記録本体1512は記録の実際のデータを
含む。ボイン夕・シーケンス1513はセットの次の、
先の〜等の記録へのポィンタを含む。別々に記録され、
後で説明される各記録のためにDスイッチフィールド1
604がある。第15C図と16D図は記録のポインタ
‘シーケンスのフオーマットを説競する(第15A図の
フィールド1505と第15B図のフィールド1513
)。 ハードウエア/フアームウエアシステムは2つの異なる
ポィンタ・シーケンス・フオーマットを認識する。1つ
はメンバー記録に対するシーケンスを認識する第15C
図であり、もう1っはその記録がオーナー記録に対する
第150図である。 メンバー記録(第15C図)にとって、次のポィンタ・
フィールドはセット内の次のメンバーのアドレス指定を
含む。先のポィンタ1521は現在のセットの以前のメ
ンバーのアドレス指定を含む。オーナー・ポインタ−フ
ィールド1524はセットのオーナーのアドレスを含む
。オーナー記録に対し、ハードウェアノフアームウェア
によって認識されたポィンタ・シーケンス・フオーマッ
トは第150図に示されている。最初のポインタ・フィ
ールド1532はセットの最初のメンバー記録のアドレ
ス指定を含む。最後のポィンタ・フィールド1533は
セットの最後のメンバーのアドレス指定を含む。説明さ
れたポイン夕の各々(次の、先の、オーナー、最初と最
後)選択的である。 しかしながら、任意のセットにとって次のような組合わ
せだけが合法的である。ケース1、オーナーあるいはメ
ンバー記録にとって最初でなく、最後、次のもしくは先
のポィンタ(メンバー記録はオーナー・ポィンタを有す
る)。 ケース2、オ−ナー記録は最初のポィンタを有し〜 メ
ンバー記録は次のポインタを有する(メンバー記録はオ
ーナー・ポィンタを有してもよいし、有さなくてもよい
)。 ケース3、オーナー記録は最初と最後のポィンタを有し
、メンバー記録は次のポィン夕を有する(メンバー記録
はオーナー・ポィンタを有しても良いし、有さなくても
良い)。 ケース4、オーナー記録は最初と最後のポインタを有し
、メンバー記録は次と先のポィン夕を有する(メンバー
記録はオーナー・ポィンタを有してもよいし、有さなく
てもよい)。 ハードウエア/フアームウエアシステムの別の特徴は、
4つの異るクラスあるいはフオーマツトのポインタを認
識することである。 記録内のこれらのクラスはバーチュアルメモリ記録のた
めにのみ使用されるクラスゼロ、バーチュアルメモリ記
録のためにのみ使用されるクラス1、データ記録のため
にのみ使用されるクラス2ト及びデータ,ベース記録の
ためにのみ使用されるクラス3として参照される。4つ
の全てのポィンタクラスはそれらの最初の2つのビット
に共通な意味を有する。 第1ビット、即ちEOSビットは“セット終了”ポィン
タである。このビットが1に設定されるとき、限定によ
るポィン外まオーナー記録を指示する。第2のビット、
即ちNINSビットは“挿入されない記録”ポィンタで
ある。このビットが1に設定されるとき「記録は照会さ
れるセット数として現在は挿入されない。クラスゼロポ
ィンタ・フオーマツトは第15E図に示されている。 EOSビット1540と挿入されないビット1541は
最初の2つのビット位置を占める。SRAフィールド1
542は14ビットのオフセットであり、かつそれは所
定のセグメント内の変位であり、そしてそれはそのセグ
メント内に位置した記録を指示する。クラスゼロポィン
タから得られたSRAフィールドは、クラスゼロポィン
タを通して記録をアドレス指定するときに使用されるベ
ース・レジスタから一般的に得られるセグメント番号と
常に合併される。クラス1ポィンタは第15F図に示さ
れている。 EOSビット1550及び挿入されないビット1551
は標準限定のものである。フィールドSEG、SRA1
552は標準セグメントアドレスから成り、そしてそれ
らは以前に定義した。これらのポィンタは記録を直接ア
ドレス指定するために使用され、かつセグメント番号は
直接そのポィンタを通して供給される。データ・ベース
記録と共に使用されるクラス2とクラス3のポインタの
ために、フアームウエア/ハードウェアシステムは、前
述したようにシステムの各ベースレジスタ(第2図の2
02を参照)と共に、関連したインデックスレジスタが
あるということを認識する。 汎用レジスタ8−15,201はインデックスレジスタ
0〜7にそれぞれ相当する。このインデックスレジスタ
番号IXRiはベースレジスタBRiに匹敵する。例え
ば、ベースレジスタBR3のために、インデックスレジ
スタIXR3(GRI I)は、領域−ページーラィン
番号ポィンタを含み、その現在のSEG、SRAアドレ
スはベースレジスタBR3内に含まれる。このように、
ユーザーはSEG、SRAアドレスを有するベースレジ
スタあるいは領域一ページーラインフオーマツトのイン
デックスレジスタ内に含まれるようなデータ・ベースポ
インタのどちらかを通してユーザーの記録のアドレスを
指示することができる。データ・ベース記録で動作する
ハードウェア/ファームウェア命令は、領域一ページー
ラインポィンタをSEG、SRAアドレスに自動的に変
換する能力を実施する。 従って、データベース命令によってなされる全ての実際
上のメモリ照会は、セグメント及びSRA番号によって
メモリを指定する標準ハードウェア機構を使用し、そし
てインデックス・レジス外こ含まれるような領域−ペー
ジーラィンからの変換は、もし必要ならばハードウェア
によって自動的になされる。ユーザーファイル(領域)
内のページとハードウェアノフアームウェアによって認
識されるようなセグメントの間に1対1の一時的対応が
ある。 このように、後述されるページ記述子を通して、ハード
ウェア/ファームウェアは任意のページ番号をセグメン
ト番号に変換する。クラス2ポインタ・フオーマツトは
第15G図に示されている。 EOS及び“挿入されない”ビットはフィールド156
0と1561内に示されている。ページ番号はフィール
ド1562内に含まれる。ライン番号はフィールド15
63内に示され、かつページと領域の記録番号を表わす
。完全な領域−ページーラィン番号ポィン外ま、データ
ベース命令により照会されるインデックスレジスタから
得られた領域番号を得ることによりクラス2記録を使用
するときに得られる。クラス3ポィンタ・フオーマツト
は第15日図に示されている。 EOS及び“挿入されない”ビットはフィールド157
0と1571内に示されている。領域番号はフィールド
1572内に示されている。これはユーザーファイル番
号に関連する。べ−ジ番号1573及びライン番号15
74はユーザーファイル内の特別の記録のアドレスを指
定する。第16A図は、ハードウェア/ファームウェア
システムによって認識されるようなユーザーファイル(
領域)の一部であるデータベースページを図示する。 データベースページは第15B図において前述したよう
にデータベース記録を含む。前述したように、データベ
ースページが主メモリ内にあるとき、データベースペー
ジとセグメントの間に1対1の対応がある。ページヘツ
ダー1601は、それが含まれるページに関係したある
情報を含む。 例えば、それはバイトでページの長さを、またページに
含まれる多数の記録(ライン)を説明する。それはまた
、それが主メモリ内に含まれるときページへの書き込み
で設定される書き込みビットのような情報を含む。ペー
ジヘツダーに続いて、データベースべージの次の主要部
はラインオフセットアレイ1602である。これは、ペ
ージの有効なライン番号に1対1で対応する16ビット
素子のアレイである。ラインオフセットアレイの各素子
のために、2ビットD−スイッチ1604と14ビツト
オフセット1603がある。D−スイッチは、無為の、
論理的に削除され、物理的に削除され〜あるいは有効な
、記録ステートを説明する。オフセットはべ−ジの初め
からの相対変位である記録への14ビットポインタであ
る。ハードウエアはこのページに相当するセグメント番
号と連結したオフセットを使用することによってこのペ
ージのデ−タベース記録をアドレス指定することができ
る。対応するセグメント番号を得る方法は下に記述され
る。データ・ベース・ページの残っている部分は記録1
610及び記録1612で表わされたような実際のデー
タベース記録からなる。これらの記録はページのどんな
部分(セグメント)にも位置するが必ずしもラインオフ
セット・アレイにおいてそれらの位置と同じ順番に位置
するとは限らない。Dスイッチが無為の、物理的に削除
されるような記録ステートを記述するならば、オフセッ
トはそのときゼロに設定され、記録を存在しないだろつ
o実際のデータベース・ページは第16B図に示された
ようなページ記述子によってアドレス指定される。 ページ記述このセグメント番号1625は主メモリにロ
ードされてからこのページ番号と相当するセグメント番
号を含む。領域番号1622はこのページの領域番号(
ファイル)を含む。ページ番号1624は実際のページ
番号である。最終ページィンジケータ1626は任意の
領域の最も高いページ番号のものに等しい。シフト・カ
ウント1623はページ番号のビット数を含む。ハード
ウェア/ファームウェアシステムは、領域、ーベージー
ラインポインタ・フオーマツトを利用するとき、可変長
さページ番号を認識する。次の記述子1620は一連の
ページ記述子の次のべ−ジ記述子を指示するのに使用さ
れる。先の記述子1621は一連のページ記述子の先の
記述子を指示する。これらの一連のページ記述子の使用
については下に記述される。一連のページ記述子は、フ
ァイルのどのページが計算機システムの主メモリに現在
位贋しているかを示すのに使用されたハードウェア/フ
ァームウェア機構である。 メモ川こある各ページにとって、ページ記述子は一連の
ものであると認識された単一システム内位置される。そ
してそれは第16C図に示された集積アクセス制御ポィ
ンタによって指示される。集積アタセス制御ポィンタは
先に記述されたシステムベースの一語の拡張を表わす。
IACポインタはアドレスBAR十92に位置し、そし
てそれはシステムベースの端を一語過ぎている。IAC
ボインタ・フオ−マットは“ゼロでなければならない”
フィールド1630、G−番号1631、及び変位16
32を含む。G−番号は、以前に記述されたようなG−
セグメントの番号である。変位は、ページ記述子リング
の初めが開始するところのGーセグメント範囲内の変位
である。主メモ川こ含まれた全ページのページ記述子は
そのとき伝統的チェィン・フオーマット内にいつしよに
リンクされる。次の記述子及び先の記述子のフィールド
はリンクを形成する。第17図は主メモリ内にデータベ
ースページの位置を実施するためのハードウェア/ファ
ームウエア−フロウ’チャートを示す。 このファームウェアは、領域一ページーラィン番号ポィ
ンタを取り出し、ページが主メモリにあるかを初めに決
定し、そして次にそれが主メモリ内に存在するならばペ
ージのページ記述子を伝達する。ファームウェアは17
01に示されるように始まる。第一のファームウェア動
作は1702に示されたように起こる。 そしてそこでIACポィンタの主メモリ。フヱツチはB
AR+92の位置でなされる。(IACポィンタは第6
図に示されているようにシステム・ベースに組み合わさ
れる。)このメモリ。フェッチの結果として、メモリ・
アクセス例外1703が起こる。メモリ・アクセス例外
は物理的メモリあるいはメモリ読み込みエラーからなさ
れる。ファームウェアによって取り出された次のステッ
プは1704に示されている。そしてそこでM旧2フィ
ールドはゼロであることをチェックされる。(第16C
図参照)そのフィールドがゼロでないと発見されるなら
ば、そのときシステム・チェック1706が発生する。
システム・チェックの発生で、システムは診断ステート
に入る。MB2フィールドがゼロであるならば、ブロツ
ク1706は次に実行される。 IACフィールドのG−番号は一時レジスタGに伝達さ
れる。変位フィールドは一時レジスタGに伝達される。
変位はまた‘‘最初のポィンタ”と呼ばれる位贋のスク
ラツチパツド・メモリに伝達される。ブロック1707
は次に実行される。主メモリのフエツチはページ記述子
を命令取り出しのためにアドレスG,Dでなされる(第
16B図参照)。このフェッチは以前に記述されたよう
にG、Dアドレツシングの慣習に従ってなされる。G、
Dアクセス例外1708はこのメモリフェツチの結果と
して発生する(たとえばセグメント、非合法的G‐Dセ
グメント記述子からである)。ファームウェア・サブル
ーチンによってチェックされる領域・ページ・ラインの
領域番号及びページ番号は一致させるためページ記述子
の領域番号フィールド1622及びページ番号フィール
ド1624と対照して比較される。もし領域及びページ
番号が一致するならば、ブロック1710が実行され、
ファームウェア・ルーチンがスクラツチバツドメモリに
ロードされる主メモリから取り出されたばかりのページ
記述子とともに完了する。現在のページ記述子の領域あ
るいはページ番号がチェックされる領域−ページーラィ
ンの領域及びページ番号に等しくないならば、ブロック
1711が実行される。 現在のページ記述子の次の記述子フィールド1620は
一時的スクラツチパツドの位置の内容、“最初のポィン
夕”と対照してチェックされる。もしもこれらの2つの
値が等しくないならば一時レジスタDが現在のページ記
述子の次の記述子フィールドと共にロードされるブロッ
ク1713が実行される。ステップ1713に続いてフ
ァームウェアによる分岐は、新しいページ記述子(それ
は次の記述子によりアドレス指定される)が今取り出さ
れ、続いてチェックされるステップ1707に対してな
される。ステップ1711に戻って、もし次の記述子が
一時的スクラッチ・パッド位置の内容と、“最初のポイ
ンタ”と等しいならば、これはメモリ内にある全ページ
を記述するページ記述子の全リングがファームウェアに
よって捜し出される領域一ページを発見しないで今使い
尽くされたばかりであることを示す。 この場合、必要なべ−ジが主メモリ‘こ位置されていな
いことを示すページ例外1712が生じる。その例外に
続いて、適当なソフトウェア動作が生じ、この必要なべ
−ジを主メモリに移す。次に第18図において、王〆モ
リにおいてデータベースページを位置指定する為の機構
を実施する為に必要なハードウェアに対するブロックダ
イヤグラムが表示される。 この機構は位置指定ページ作動用フリップフロップ18
51のセットにより作動され、前記フリップフロップは
中央処理ユニット104の算術論理ユニット1317の
補助メモリ1317Aに位置される。位置指定ページ作
動用フリッブフロップ1861をセットする以前に、そ
のページ記述子が位置指定されるべき領域ページ数が、
領域一ページレジスタ1852にロードされる。領域−
べ−ジレジスタの内容は、次に適正な領域−ページ記述
子が位置指定された時を検出する為に使用される。位置
指定ページ作動用フリップフロップ1851の論理1に
対するセット動作がANDゲ−ト1854を駆動し、こ
の為境界アドレスレジスタ1853の内容が加算器18
56に入力される。 加算器に対する他の入力は一定値92で、これはハード
ウェアレジスタ1855に記憶される。加算器1856
は、中央処理ユニット104の算術論理ユニット131
7に位置される。加算器1856の出力は、ANDゲー
ト1857に接続されている。ANDゲ−ト1857の
駆動は、加算器1856の内容をメモリシステム185
9のメモリアドレスレジスタ1858に転送させる。こ
の様に、BAR+92のアドレスは、メモリアドレスレ
ジスタ1858に転送される。前述に如く、このアドレ
スは、システムベースに位置される集積アクセス制御ポ
ィンタのアドレスである。山Cポインタは、メモリシス
テム1859から謙出される。位置指定ページ作動用フ
リップフロップ1851からの出力信号は反転増中装置
1886により論理零に反転されて、この論理零は更に
、メモリシステムの議出し/書込みフリップフロップ1
887を論理零にセットする(メモリ議出し動作)為に
使用される。この様に、メモリシステムがメモリアドレ
スレジスタ1858のロード動作を検出した後、メモリ
議出し動作が開始される。メモリ議出し動作の結果、メ
モリアクセス例外動作が生じ得る。前述の如く、メモリ
アクセス例外動作は、例外取扱機構の作動を惹起する。
この例外取扱機構は、この様な例外動作がメモリシステ
ムにより検出されると、メモリアクセス例外フリップフ
ロップ1860のセット動作により作動される。メモリ
動作が通常の如く完了すれば、メモリ動作完了フリップ
フロップ1861が論理1にセットされて、メモリから
読出されたIACポインタの内容は、メモリデータレジ
スタ1862に転送される。このメモリ動作完了フリッ
プフロップ1861は、次にANDゲート1 863を
介してメモリデータレジスタの内容の転送を駆動する。
IACポィンタを表すこれ等の内容は、第16C図に示
す如きフオーマットとなる。IACポィンタのM欧フィ
ールド1630は、算術論理ユニット1317に位置さ
れるコンパレータ1865に接続される。 このコンパレータ1865は、M斑フィールドを2進数
0の数値を含むレジスタ1864と比較する。もし等し
くない条件が検出されると、システムチェックフリップ
フロップ1866は数値1にセットされる。コンパレー
タ1866が等しい条件を検出する場合は、等しい信号
は、G番号1631の転送を駆動し、ANDゲート18
67を介してIACポィンタの変位フィールド1632
をGレジスタ1873とDレジスタ1874に対して駆
動する。Dレジスタ1874への転送の為の論理回路に
ついては以下に記述する。位置指定ページ作動用フリッ
プフロップ1851のセット動作は、最初のフリップフ
ロップ1869のセッティングを惹起する。 このフリップフロツプは、数値1にセットされて、Dレ
ジスタ1874が最初にロードされる事を表示する。こ
の様に、最初のフリップフロツプ1869の出力は、A
NDゲート1867の世力に沿ってANDゲート187
1に接続され、前記ANDゲートはIACポインタのD
変位フィールドを含んでいる。ANDゲート187 1
を介して、IACポインタの変位フィールドは、ORゲ
ート1872を介してDレジスター874に転送される
。最初のフリツプフロツブ1869の出力も又、AND
ゲート1867(IACポィンタの変位フィールドを含
む)に沿ってANDゲート1868に接続される。この
様に、最切のポインターレジスタ1870は、ANDゲ
ート1868を介して、このボインタから得る最初の変
位数値でロードされる。最初のポインターレジスタ18
70の使用については以下に記述する。又、最初のフリ
ップフロップ1869の出力は、自体のリセット入力に
接続される。この様に、最初のフリップフロップが論理
1にセットされ、かつ最初のポインターレジスタ187
0と○レジスタ1878をロードさせた後、最初のフリ
ツプフロツプは次いで論理零にリセットされる。Gレジ
スタ1873とDレジスタ1874が一たんロードされ
ると、G、Dアクセス機機1875が作動する。 この機構は、GおよびDレジスタにより与えられたアド
レスにおける主メモリのフェツチをしてページ記述子(
第16B図参照)をフェッチさせる。この機構は、主メ
モリをして、前述の如くアドレス指定するG、Dの規則
に従ってフェッチさせる。G、Dアクセス例外動作は、
このメモリのフェッチの結果として生じ得る(例えば、
セグメントから違法G−Dセグメント記述子)。この様
な例外動作が検出されると、G「Dアクセス例外フリッ
プフロツプ1876は論理1にセットされ、これは更に
例外取扱装置機構を作動させる。さもなければ、G、D
アクセスの完了と同時に、機構1875はフェッチされ
たデータをページ記述子レジスタ1877に転送する。
ページ記述子1877に転送されたデー外ま、第168
図に示す如きフオーマットである。ページ記述子レジス
タ1877のロード後、領域番号1622とページ番号
1624は、算術論理ユニット1317に位置されたコ
ンパレータ1878に入力される。 この時、ページ位置指定機機の開始時にロードされる領
域一ページレジスタ1852に位層された領域ページ番
号も又コンパレータ18781こ入力される。もしコン
パレータが一致する比較内容を見出すならば、所望のペ
ージ記述子がロードされ、機構はその機能を完了する。
この様に、コンパレータ1878の一致比較ラインは、
位置指定ページ完了フリップフロップ1879に接続さ
れる。この信号は、このフリッブフロップを論理1の状
態にセットして、ページ位置指定機構の完了を信号する
。もしコンパレータ1878が非一致条件を信号すると
、ANDゲート1880‘こ接続された非−敦信号は、
次の記述子1620のページ記述子しジスタ1877か
らコンパレータ1883へ、又ANDゲート1885へ
の転送を可能にする。 コンパレータ1833は、次の記述子1620を最初の
ポィンタ1870と比較する。一致比較条件が検出され
る場合、ページ記述子の全ポインターチェーンが探索さ
れ、所望のページ記述子は位置指定されない。この様な
条件下では、所望の領域ページは主メモリ内になく、こ
の為コンパレータ1833の一致は、ページング例外フ
リップフロップ1884をセットする為に使用される。
この例外取扱機構は次のフリップフロツプ1884のセ
ツティングにより作動される。ページ記述子レジスター
877からの次の記述子1620を含むANDゲート1
880の出力も又ANDゲート1885に接続される。 このANDゲ−トは、コンパレータ1883の非一致信
号により駆動される。この非一致条件は、各ポィンタ.
のページ記述子チェーンに端末に到達しない時生じる。
この様に、非一致信号が論理1でない時、次の記述子フ
ィールドは、ANDゲート1883からANDゲート1
882に転送される。ANDゲート1882への他の入
力は、反転増中装置1881からの信号である。AND
ゲート1881からのこの信号は、最初のフリッブフロ
ップ1869の反転出力を表わす。この様に、反転AN
Dゲート1881による信号出力は、最初のフリツプフ
ロップ1869が論理零にあるときに論理1にあり、従
ってANDゲート1882は、次の記述子フィールド1
620をORゲート1872に転送し、これが更にDレ
ジスタ1874に接続される様に駆動される。これ等の
一連の論理ゲートを介し、次の記述子フィールド,がペ
ージ記述子1877から○レジスタ1874に転送され
、G、Dアクセス機構はこの時再び作動可能なる。G、
Dアクセス動作のサイクルは、この時再び作動され、新
しいページ記述子がフェツチされてページ記述子レジス
タ1877にロードされる。この新らしいページ記述子
のフヱッチ動作は、1878のコンパレータが所望のペ
ージ記述子を検出するか、コンパレータ1883がペー
ジ記述子チェ−ンの端部を検出する迄繰返される。本文
で述べたハードウェアノフアームウヱアシステムの更に
重要な2つの要素は、第19Aおよび19B図に示され
る。 第19A図のセット記述子は、与えられたセットの性状
を記述する為に使用される。第19A図に示される如く
、Pフィールド1802は、このセットの記録ポィンタ
のポインタークラス(モード)を記述する2ビットのフ
ィールドである。オーナーおよびメンバーの全ての記録
は、与えられたセットに対して同じポインタークラスの
ポィンタを有する。セット記述子1803のオーナーポ
インタフイールドは、メンバー記録がオーナー記録(第
15C図参照)に対する「オーナーポインタ」を含む場
合に1セットされる。「他のポイン夕」フィールド18
04は、オーナーおよびメンバー記録が最初の、最後の
、次の、および先のポインタを持っているかどうかを記
述する「セット編成モード」フィールドK1805は、
現行のセットに使用されているセット編成のモードを記
述する。「リンク」セットのモードについてのみ本文に
より詳細に開示する、然しながら、表配列又はリスト配
列の如きセット編成の為の他のモードへの拡張能力は存
在する。「変位」フィールドi806は、メモリにおけ
る記録の初めからそのレコードにおけるポインターシー
ケンスの初め迄のオフセットを表わすのに使用される(
第15Aおよび15B図参照)。第19A図に技術され
る如きセット記述子は、ハードウェアノフアームウェア
に照合されたセットの記述を与えるセットで動作する時
、データベース命令により常にアクセスされる。第19
8図に示す如き記録記述子は、レコードのある特性を記
述する為に使用される。 Fフィールド1820は、記録フオーマットの記述の為
に使用される。記録のフオーマットは、第15Aおよび
15B図に記述した如く、バーチュァルメモリ記録がデ
ータベース記録のいずれかである。「記録タイプ」フィ
ールド1821は、記録のタイプを表示し、第15Aお
よび15B図に示される如きメモリにおける実記録のタ
イプフィールドにロードされる。「記録長さ」フィール
ド1822は、どんな実長さで記録が主メモリにあって
第15Aおよび15B図に示す如きメモリ記録にロード
されるかを表示する。実際のデータベース命令は、第2
0A乃至20F図に示す如き6つのフオーマットの1つ
のである。 第20A図に示されるGROPフオーマットは、「演算
コード1910」と、「奏でなければならない」フイー
ルド1911と、「ベースレジスタ一番号1921と、
r補数コード」1912とを含んでいる。 「ベースレジスタ」は記録のセグメント化されたアドレ
スを含んでいる。「補数コード」は「演算コード」によ
り記述される特定の命令のこれ以上の区別の為に使用さ
れる。第20B図に示されたXIフオーマットは、演算
コード1920と、演算コードのこれ以上の区別に使用
される補数コード1921と、アドレスシラブル192
2と、零でなければならないフィールド1923と、論
理的削除フィールド1924と、ポインターモードフイ
ールド1925と、BRフィールド1926とを含んで
いる。 ベースレジスタは、レコードのセグメント化されたアド
レスを含んでいる。アドレスシラブル1922は、その
いくつかの用途の為、動作されるべきセットのセット記
述子を指示する。アドレスシラブルは、前述の如きアド
レス生成の為の規則に従って、セグメント化されたアド
レスに生成される。第20C図に示されたPXDXフオ
ーマットは、演算コード1930と、これ以上の区別に
使用される補数コード1931と、1つのアドレスシラ
ブルASI I 932と、零でなければならないMB
ZIフイールド1933とベースレジスタ1934と、
2番目の零でなければならないMBZ2フィールド19
35と、2番目のアドレスシラブルAS2 1936と
からなる。再びベースレジスタは記録のセグメント化さ
れたアドレスを含んでいる。第1のアドレスシラプルA
SI I932はセット記述子を指示する。第2のアド
レスシラブルAS2 1936は2進整数のアドレス指
定に使用される。第20D図に示されたBRXフオーマ
ットは、演算コード1940と、命令を更に区別する為
に使用されるタイプフィールド1941と、ベースレジ
スタフイールド1942と、アドレスシラブル1943
とを含んでいる。 このベースレジスタは、記録のセグメント化されたアド
レスを含んでいる。このアドレスシラブルは、セット記
述子をアドレス指定する為に使用される。第20E図に
示されたDXGRフオーマツトは、演算コード1950
と、命令を更に区別する為に使用されるタイプフィール
ド1951と、第1のベースレジスタ番号BRI 19
52と、アドレスシラブル1963と、零でなければな
らないMBZIフィールド1954と、第2のベースレ
ジスタ番号BR2 1955と、「前後一般初最後」フ
ィールド1956と、第2の零でなければならないMB
R2フィールド1957とを含んでいる。 2つのベースレジスタは、メモリに位置する2つの異な
る記録をアドレス指定する為に使用されるアドレスシラ
ブルは「 セット記述子のアドレス指定に使用される。
「前後−最初最後」フィールドは「セット内の記録の所
望の位置設定を記述する。第20F図に示すCPDDフ
オーマツトは、演算コ−ド1960と、特定データベー
ス動作の記述に使用されるプリミティブフィールド19
61と、命令を更に区別する為に使用されるタイプフィ
ールド1962と、ポインターフィールドの記述に使用
されるPフィールド1963と、オーナーおよびメンバ
ー記録の他のポィンタを記述する「最初最後一次「先」
ポインターフィールド1965と「ポインターシーケン
スの初めに対するオフセットを記述する変位フィールド
1966と、ベースレジスタ数を含むBRフィールド1
967とを含んでいる。 このベースレジスタは、主メモ川こおける記録のセグメ
ント化されたアドレスを含んでいる。アンロード・デー
タベース命令は、主メモリ内の記録に対するポィンタを
書き込むファームウェア/ハードウェア’命令である。 ポインタは、バーチュアル・メモリ記録(第16A図参
照)のためにはベース・レジスタから、又データベース
記録(第168図参照)のためには、インデックス・レ
ジスタから転送される。命令フオーマツト内のポィンタ
・モードは、当該ポィン夕がバーチュアル・メモリまた
はデータベース記録フオーマツトの何れであるかを表示
するものである。アンロード命令は、第20b図に示さ
れるようなXIフオーマツトのものである。即ち、この
命令はXI命令(第20b図)の内の1つの実行によっ
て実現される。 実行において、Pフイールド(ポインタフイールド)1
925、ベースレジスタフィールド(BR番号)192
6及びアドレスシラブルフイールド(AS)1922が
用いられる。この命令の目的はインデツクスレジスタ内
に保持されたポインタをASで特定された記録のポィン
タシーケンス(第15b図、第15c図、第15d図)
内へストアすることである。ポインタはクラス2又はク
ラス3(第15g図、第15h図)のどちらかである。
オペレーションは、第21図に関し以下に説擬する。X
I命令のPフィールドは、バーチュアルメモリ記録(0
、1)とデータベース記録(2、3)のどちらが関係し
ているのが決定するためにテストされる。データベース
記録が関係しているのなら、XI命令のBRフィールド
‘こよって指定されたBR番号に対応するインデックス
レジスタ(第15g図、第15h図)内に保持されたポ
ィンタが、XI命令のASによってアドレスされたメモ
リ内のデータベース記録部分(ポィンタシーケンス)内
にストアされる。ASはセグメント番号とオフセットか
ら成る。各インデックスレジスタはBR番号と対応して
いる。第21図には、アンロード命令のファームウェア
・フローチャートが示されている。 ファームウェア・フローチャートの操作2001におい
て、命令のフオーマツトのチェックがなされる。そして
、操作2002において、記録がバーチュアル・メモリ
記録か、又はデータベース記録の何れであるかが決定さ
れ、次いで操作2003または2005に分岐されてベ
ース・レジスタまたはインデックス・レジスタの何れか
から、適切なポィンタ・タイプがメモリに書込まれる。
メモリへの書込みのあとで、命令は完了する。第21図
をより詳細に検討すると、先づ、操作2001において
は命令のM欧フィールド1923(第198図参照)が
、ゼロであるかどうかのチェックがなされる。 このゼロチェツクは、命令を、命令フェッチ・ユニット
(第13A図参照、IFU1318)から演算論理ユニ
ット1317内のレジスタに転送することによって行わ
れる。このレジスタにおいて行われるハードウェア・チ
ェックでMBZがゼロでないことが検知されると、ファ
ームウェアは第21図の2009に示されるような例外
(操作)処理に分岐される。この例外(操作)は、不法
フオーマット・フィールド例外(操作)と呼ばれる。M
故がゼロであれば、ファームウェアは操作2002に進
み、ここで、命令のPフィールドI925(第20B図
参照)が、演算論理ユニットにおいて検査される。 このPフィールドには、前述されたポインタ・モードが
含まれている。指摘されたように、バーチュアル・メモ
リ記録のポィンタ・クラスは0または1である。データ
ベース記録のポインタ・クラスは2または3である。か
くして、演算論理ユニットにおいて、2ビットのPフィ
ールド1925の値が0か1かの検査がなされ、この状
態が真であれば、記録はバーチュアル・メモリタイプの
ものであるとして、2005に分岐される。演算論理ユ
ニットにおいて、2ビットのPフィールド1925が2
または3に等しいものと検知されれば、記録はデータベ
ース記録であるとして、2003に分岐される。操作2
005においては、ファームウェアは、バーチュアル・
メモリ記録に分岐されて、アドレス・シラプル1922
(第20B図参照)によって与えられたアドレスに基し
、て主メモリへの書込みがなされる。 主メモリーこ書込まれるべきベース・レジスタの内容は
、アドレス制御装置1319からデータ管理ユニット1
321へ転送される。そして、ハードウェアの主メモリ
書込み機構において、データ管理ユニット1319から
主メモリ(第1図参照)への転送が行なわれる。主メモ
リへの書込みの結果によって、メモリ・アクセス例外(
操作)2008の生じることがある。アドレス・シラブ
ルASI922のセグメント化アドレスへの展開はセグ
メントアドレス展開方式(米国特許出願第425356
号)及び連想メモリを用いたアドレス展開方式(米国特
許第粉00286号)に記述されている。このアドレス
展開は、アドレス制御装置1319において行われる。
操作2005における主メモリへの書込みに続いて、フ
ァームウェアは操作2006に分岐され、ここで命令へ
と移行される。ポインタ・クラスが2または3であれば
、ファームウェアは操作2003へ分岐される。 この操作において、命令のBRフィールド1 926に
よって与えられた番号のインデックス・レジスタの内容
はアドレス・シラブルASI922から出されたアドレ
スにおいて主メモリ102に書込まれる。インデックス
・レジスタの内容は、スクラツチパッド・メモリ131
5からデータ管理ユニット1319に転送される。そし
て、ハードウェア主メモリ書込み機構によって、データ
管理ユニットから主メモリへとデータが転送される。こ
のメイン・メモリへの書込みの結果として、メモリ・ア
クセス例外(操作)2007が生じることがある。アド
レス展開は、アドレス。シラブルASについてアドレス
制御装置1319において行われる。操作2003にお
ける主メモリへの書込みに続いて、ファームウェアは操
作2004に分岐され、ここで命令は完了され、次の命
令へとコントロールが移行される。第22図を参照する
と、ここには、この発明のアンロード1デ−夕べ−ス命
令を実行するために必要なハードウェアがブロック図と
して表示されている。 アンロード命令検出レジスタ22Qjによって表示され
るようにアンロード命令が受取られると「当該命令は命
令バッファ2202に一時的にストアされる。命令バッ
ファは、中央処理ユニット104の命令フェツチ・ユニ
ット1318に設けられている。前述されたように、命
令バッファ2202に転送されたアンロード命令は、第
2DB図に示されるようなXIフオーマツトのものであ
る。MBZフィールド1923は、直ちに比較器220
3によって、ゼロ・ビット2204と比較される。比較
器2203によって相異なるという信号が出されれば、
不法フオーマット・フィールド例外(操作)が検知され
て、不法フオーマツト・フイールド・フリツプ・フロツ
プ2205がセットされる。このようにして、アンロー
ド命令の例外(操作)は完了する。比較器2203によ
って相等しいということが表示されると、アンロード命
令の実行は、下記のように実行される。.また、アンロ
ード命令検出器22011こよるアンロード・ィンスト
ラクションの検出によって、ANDゲート2206が可
能化され、これにより、BRI 926をスクラツチパ
ツド・メモリQアドレス。 レジスタ2207への転送が許容される。上位1ビット
2208はスクラツチパツド・メモリ・アドレス・レジ
スタ2207へ転送される。このようにして、スクラツ
チパツド・メモリ・レジスタには、前述されたようなデ
ー夕べ−ス・ポインタを含んでいるインデックス・レジ
スタの内容が含まれることとなる。スクラッチパッド・
メモリ・アドレス・レジスタ2207は、スクラッチパ
ッド・メモリ2209からアドレスを謎出すために用い
られる。これは第13A図において、スクラツチパツド
・メモリ1315として示されたものと同様である。ス
クラツチパツド・メモリ2209から謙出されたデータ
は、スクラツチパツド・メモリ・データ・レジスト22
10へ転送される。ANDゲ−ト221 1において、
スクラツチパツド・メモリQデータ・レジス夕2210
‘こ読出されたこのデータが、更に処理されるものかど
うかについての決定がなされる。このANDゲ−トは〜
ビット0またはPフィールド1925が命令バッファ
において1として検出されたときに可能化されるもので
ある。Pフィールドが2進値の2または3、即ちデータ
ベース記録タイプの記録であるとき、値1が検出される
。ANDゲート2211がPビット川こよって可能化さ
れると、スクラツチパツド・データ・レジスタ2210
の内容はORゲート2217に転送され次いでメモリ・
データ・レジスタ2218に転送される。ベース・レジ
スタBRI 926の内容は、また命令バッファ220
2から、アドレス制御装置22亀2へと転送される。 これは、中央処理ユニットについて記述されている第1
3A図で示されるアドレス制御装置1319にあたるも
のである。,ベース。レジスタの番号を供給されると、
アドレス制御装置2212によって、当該ベース・レジ
スタの内容がレジスタ2214に謙出される。レジス夕
2214はANDゲート2215に結合されている。命
令バッファ2202のPフィールド1925のビット0
は、ANDゲートに結合される反転ANDゲート221
6に結合されていることが認められる。このようにし
て、Pフィールド1925のビット番号0、即ち、Pが
バーチュアル。メモリ記録に対応する0または1に相等
しい状態の下にANDゲート2215は可能化される。
ゲート2116によって可能化されると、べ・‐ス・レ
ジスタ221 4の内容は、ANDゲートよりORゲー
ト2217へ、次いでメモリ・データ・レジスタ221
8へと転送される。アンロード命令検出器2201によ
って「アンロード命令検出され、該命令が命令バッファ
2202へ転送されたあとで、アドレス・シラブル19
22(の内容)はANDゲート2230を介して、アド
レス制御装置ユニット2212へ転送される。 ANDゲード2230は比較器2203からの相等しい
という比較信号によって可能化されるがこれは、前述さ
れたように、MBZフィールド1923が値0に相等し
いものと検出された状態にあたるものである。アドレス
制御装置2212に転送されたアドレス・シラブル19
22は、セグメントアドレス展開方式なる特許出願中で
記述されているように変換される。アドレス制御袋贋2
212によって展開されたメモリ・アドレスはメモリ・
アドレス・レジスタであるレジスタ2213に転送され
る。そしてメモリ・アドレス・レジスタ2213の内容
は、メモリ・システムのメモリ・アドレス・レジスタ2
219に転送される。このときメモリ・システム222
0のメモリ・データ・レジスタ2218は、アンロード
命令によって、データベース記録が操作されていると表
示されていれば、インデックス・レジス夕(の内容)ま
たは、アンロード命令によって、バーチュアルメモリ記
録が操作されているとすればベース・レジスタ(の内容
)の何れかをもっていることとなる。メモリシステムの
メモリ・アドレス・レジス夕2219には、メモリ・デ
ータ・レジスタ2218の内容が書込まれるべきアドレ
スが含まれている。メモリ・システム2220‘こおい
て、メモリデータレジスタ2218及びメモリアドレス
レジスタ2219がロ−ドされたものと検出されると、
メモリの書込み操作が開始される。ァンロード命令検出
器2201によって読出し、書込みフリップ・フロップ
2224が“1”状態にセットされていることから、メ
モリ・システムは書込み操作を行うことを指令される。
メモリ・システムの操作については、セグメントアドレ
ス展開方式なる特許出願中に記述されている。メモリ書
込み操作の結果として、セグメントアドレス展開方式な
る特許出願中に記述されているメモリ・アクセス例外操
作2221の生じることがある。このような例外操作が
出じると、例外操作処理方式なる特許出願中に記述され
ている。メモリアクセス例外操作処理手段が起動される
。そうでなければ、メモリ操作は正常に完了し、メモリ
操作完了フリッブ・フロップ2222が論理“1”にセ
ットされる。メモリ操作完了フリツプ・フロップ222
2が論理‘‘1”状態に移行すると、命令完了7リップ
・フロツプ2223が論理“1”にセットされて、アン
ロード命令の完了が表示される。この発明の一実施例に
ついて、開示、記述してきたが、当業者であれば、この
記述された発明の実施にあたり、多くの変更、修正を為
しうるもので、これもまたこの発明の権利範囲に含まれ
るものである。 かくして、多くのステップが同一の結果を生じる他のス
テップによって交替、置換されうるものであるが、これ
も、この発明の権利範囲に属することになる。従って、
この発明は、特許請求の範囲の記載によってのみ限定さ
れるものである。図面の簡単な説明第1図はこの発明を
利用するマルチプ。 グラミングシステムのブロック図、第2図はこの発明に
よって利用される種々のハードウェア構成を表わす概略
図、第3図は第2図のレジスタの予約された記憶領域の
ために使用された用語例、第4図はこの発明に利用され
た機械のプロセス制御ブロックの千既略図、第5図はプ
ロセス制御ブロックのアドレスシステムの概略図、第6
図はこの発明を利用する計算機システムのシステムベー
スの概略図、第7A図、第7B図はこの発明を利用する
計算機システムのスタツクセグメント及びスタックフレ
ームの概略図、第8図はこの発明を利用する計算機シス
テムのGセグメント、特にG−0セグメントの待ち行列
プロセスのアドレスシステムの概略図、第9図はこの発
明を利用する計算機システムの待ち行列プロセス及びプ
ロセスリンクを例示するG−○セグメントの展開概略図
、第10A図〜第10L図はPCB内の構成ブロック図
、第11A図〜第11R図はシステムベース内の構成の
ブロック図、第12図はシステムベース及びPCB構成
を利用するユーザー及びシステムセグメントのアドレス
手段の概略図、第13A図〜第13C図はこの発明の制
御ユニットの干既略図、第14A図〜第141図はこの
発明を利用する計算機システムのフアームウエアのデイ
ス/fツチヤーユニツトの流れ図、第15A図〜第15
日図はセット命令で使用される記録及びそれらのポイン
タの図、第16A図〜第16C図はデータベース・7オ
ーマット及びそれらのページを記述する記述子の図、第
17図は主メモリ内にデータベースページを位置させる
ために使用されるファームウェアのフローチャート、第
18図はメモリ内にデータベースページを位置させるハ
ードウェア機構の論理ブロック図、第19A図及び第1
9B図はデータベース命令によって使用されるセット及
び記録を記述する記述子の図、第20A図〜第20F図
はデータベース命令によって使用される命令フオーマッ
トの図、第21図はファームウェア/ハードウェアにお
けるアンロードデー夕べース命令の流れ図、第22図は
ハードウェア・アンロードのデータベース命令の論理ブ
ロック図である。101……プロセッササブシステム、
102…・・・記憶サブシステム、103・・・・・・
周辺サブシステム、104…・・・中央処理機、105
・・・・・・入出力制御装置、106…・・・周辺制御
装置。 第2図 第三図 図 球 第4図 うち5 図 妻ら7A 図 蓑ら78図 妻らら 図 第6図 肇?図 翼L′oo図 多′ob図 旨ら′○c図 繁′od図 弟′oe図 発′of図 繁′02図 旨ら′oh図 旨も′OZ 図 第′oJ図 葵′0た図 繁′oゼ図 妻ら7丁4図 尊ら77b図 質ら7丁c図 穿ち〃d 図 まちne図 鷲L’lf 図 多’’8図 多ゴナh図 貿L〃し 図】 繁〃」図 筆〃k図 弟〃〆図 宴ら〃川図 妻L77n 図 巻丁?o図 拳’7p図 努〃q図 蔓ら’’「 図 図 〜 渉 器′3Q図 うちJ3b図 弟′4G図 弟/4b図 繁′4c図 弟′4d図 賞し仏e図 多′4ナ図 繁′49図 身ら/4h図 鍵′4(図 繁,/3〔図 器′ぅ4図 努ノぅb図 繁′5c図 多′ぅd図 うと′6e図 繁′ぅナ図 器)5タ図 鼻L′5h図 賀に/らo図 繁/6b図 筆ら′Cc図 拳′7図 図 ミ 様 弟汐の図 途′ob図 導ら20o図 途20b図 登L20c図 第20d図 穿ち20e図 第2の図 第2′図 図 や 球
Claims (1)
- 1 プログラム内蔵式データ処理装置において、アドレ
ス可能なスペースの複数個のセグメントからなるメモリ
を有し、各々のセグメントにはセグメント番号がつけら
れ、前記セグメントの各々は、上方および下方の可変境
界によって区分され、更に識別ページの番号をもつ少く
とも1個のページに分けられ、前記ページの各々は、デ
ータベース記録のセツトにおいてグループ化された複数
個のデータベース記録のフアイルをストアするようにさ
れ、各々のセツトは少くとも1個のオーナー記録と少く
とも1個のメンバー記録を有し、前記ページの各々はま
た前記ページの選択されたものの中で所定の位置から前
記セツトの選択されたものの前記データベース記録のど
れでも位置づけさせるためのオフセツトアドレス情報を
含んでおり、前記データ処理装置には更に前記データベ
ース記録の所定のもののネクスト・アドレスを形成する
ために、データベースポインタアドレスより成る選択さ
れたデータベースインデツクスアドレスをストアするた
めのインデツクスレジスタを有し、更に前記インデツク
スレジスタから前記データベースポインタをアンロード
して、これを前記データベース記録の前記所定のものに
位置づけさせるためのアドレスシラブルをもつアンロー
ド命令に応答する命令ハードウエアを有するものであっ
て、該ハードウエアが、(a)前記セツトの前記データ
ベース記録の各々において、エリア、ページ及びライン
アドレスよりなる少くとも1個のデータ・ベース・ポイ
ンタをストアするものであって、前記エリア・アドレス
により、前記データベース記録の所定のフアイルの位置
づけがされ、前記ページ・アドレスによって、前記フア
イル内の前記データベース記録の所定のグループの位置
づけがされ、そして、前記ライン・アドレスによって所
定のデータベース記録の位置づけがなされるようにした
第1の手段と;(b)前記セグメントの選択されたもの
の中に位置づけられた前記ページの選択されたものにつ
いて、セグメントおよびページ番号を供給させるための
第2の手段と;(c)前記ページの前記選択されたもの
の中で、前記セツトの前記選択されたものにおける前記
データベース記録の所定のものを位置づけさせるために
オフセツトアドレスを供給するための第3の手段と;(
d)前記セツトの前記選択されたものにおける前記記録
の前記選択されたものの絶対アドレスを生成させるため
に前記第2および第3の手段に応答する第4の手段;お
よび(e)前記インデツクスレジスタにストアされてい
るデータベースポインタを前記第1の手段に位置づけさ
せるために、前記第1および第4の手段に応答する第5
の手段;を含んでなるデータ処理装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US588522 | 1975-06-19 | ||
US05/588,522 US4044334A (en) | 1975-06-19 | 1975-06-19 | Database instruction unload |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS522239A JPS522239A (en) | 1977-01-08 |
JPS602690B2 true JPS602690B2 (ja) | 1985-01-23 |
Family
ID=24354191
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP51071306A Expired JPS602690B2 (ja) | 1975-06-19 | 1976-06-18 | 内部プログラムデータ処理装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US4044334A (ja) |
JP (1) | JPS602690B2 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6228794U (ja) * | 1985-08-03 | 1987-02-21 | ||
JPH0733895U (ja) * | 1993-12-03 | 1995-06-23 | 田中産業株式会社 | 自立型籾収納袋の保管袋 |
Families Citing this family (49)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4237532A (en) * | 1977-09-02 | 1980-12-02 | Sperry Corporation | Table driven decision and control logic for digital computers |
NL7807314A (nl) * | 1978-07-06 | 1980-01-08 | Philips Nv | Inrichting voor het vergroten van de lengte van een logisch computeradres. |
JPS6013501B2 (ja) * | 1978-09-18 | 1985-04-08 | 富士通株式会社 | 仮想計算機システムにおけるチヤネルアドレス制御方式 |
US4325120A (en) * | 1978-12-21 | 1982-04-13 | Intel Corporation | Data processing system |
US4315310A (en) * | 1979-09-28 | 1982-02-09 | Intel Corporation | Input/output data processing system |
ATE38442T1 (de) * | 1980-02-28 | 1988-11-15 | Intel Corp | Datenverarbeitungssystem. |
US4319323A (en) * | 1980-04-04 | 1982-03-09 | Digital Equipment Corporation | Communications device for data processing system |
US4442484A (en) * | 1980-10-14 | 1984-04-10 | Intel Corporation | Microprocessor memory management and protection mechanism |
US4521846A (en) * | 1981-02-20 | 1985-06-04 | International Business Machines Corporation | Mechanism for accessing multiple virtual address spaces |
JPS57185545A (en) * | 1981-05-11 | 1982-11-15 | Hitachi Ltd | Information processor |
US4675810A (en) * | 1981-05-22 | 1987-06-23 | Data General Corp. | Digital data processing system having a uniquely organized memory system using object-based addressing and in which operand data is identified by names accessed by name tables |
US4481570A (en) * | 1981-08-07 | 1984-11-06 | The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration | Automatic multi-banking of memory for microprocessors |
US4447879A (en) * | 1981-09-11 | 1984-05-08 | Data General Corporation | Improved apparatus for representing the size of an element in a compound data item and deriving addresses and lengths using the element size |
US4514846A (en) * | 1982-09-21 | 1985-04-30 | Xerox Corporation | Control fault detection for machine recovery and diagnostics prior to malfunction |
US4870644A (en) * | 1982-09-21 | 1989-09-26 | Xerox Corporation | Control crash diagnostic strategy and RAM display |
US4532584A (en) * | 1982-09-21 | 1985-07-30 | Xerox Corporation | Race control suspension |
US4475156A (en) * | 1982-09-21 | 1984-10-02 | Xerox Corporation | Virtual machine control |
US5023779A (en) * | 1982-09-21 | 1991-06-11 | Xerox Corporation | Distributed processing environment fault isolation |
US4737907A (en) * | 1982-09-21 | 1988-04-12 | Xerox Corporation | Multiprocessor control synchronization and instruction downloading |
US4698772A (en) * | 1982-09-21 | 1987-10-06 | Xerox Corporation | Reproduction machine with a chain of sorter modules and a method to perform chaining tasks |
US4550382A (en) * | 1982-09-21 | 1985-10-29 | Xerox Corporation | Filtered inputs |
US4521847A (en) * | 1982-09-21 | 1985-06-04 | Xerox Corporation | Control system job recovery after a malfunction |
US4531186A (en) * | 1983-01-21 | 1985-07-23 | International Business Machines Corporation | User friendly data base access |
US4509851A (en) * | 1983-03-28 | 1985-04-09 | Xerox Corporation | Communication manager |
US4589093A (en) * | 1983-03-28 | 1986-05-13 | Xerox Corporation | Timer manager |
US4689739A (en) * | 1983-03-28 | 1987-08-25 | Xerox Corporation | Method for providing priority interrupts in an electrophotographic machine |
US4754326A (en) * | 1983-10-25 | 1988-06-28 | Keycom Electronic Publishing | Method and apparatus for assisting user of information retrieval systems |
US4680705A (en) * | 1985-09-13 | 1987-07-14 | International Business Machines Corporation | Automatic data restructurer |
US5129087A (en) * | 1988-02-03 | 1992-07-07 | International Business Machines, Corp. | Computer system and a method of monitoring transient data structures in a computer system |
US4979098A (en) * | 1988-02-10 | 1990-12-18 | International Business Machines Corporation | Multiple address space token designation, protection controls, designation translation and lookaside |
US4945480A (en) * | 1988-02-10 | 1990-07-31 | International Business Machines Corporation | Data domain switching on program address space switching and return |
US5220669A (en) * | 1988-02-10 | 1993-06-15 | International Business Machines Corporation | Linkage mechanism for program isolation |
US5023773A (en) * | 1988-02-10 | 1991-06-11 | International Business Machines Corporation | Authorization for selective program access to data in multiple address spaces |
US7089538B1 (en) * | 2000-09-06 | 2006-08-08 | Quicktum Design Systems, Inc. | High speed software driven emulator comprised of a plurality of emulation processors with a method to allow memory read/writes without interrupting the emulation |
FR2818770A1 (fr) * | 2000-12-21 | 2002-06-28 | Bull Cp8 | Procede de gestion optimisee de l'allocation de memoire d'un systeme embarque et systeme embarque correspondant |
JP3765575B2 (ja) * | 2003-05-09 | 2006-04-12 | 株式会社インテリジェントウェイブ | データマージプログラム及びデータマージの方法 |
CA2836758C (en) | 2003-05-23 | 2017-06-27 | Roger D. Chamberlain | Intelligent data processing system and method using fpga devices |
US7921046B2 (en) | 2006-06-19 | 2011-04-05 | Exegy Incorporated | High speed processing of financial information using FPGA devices |
US7840482B2 (en) | 2006-06-19 | 2010-11-23 | Exegy Incorporated | Method and system for high speed options pricing |
US8326819B2 (en) | 2006-11-13 | 2012-12-04 | Exegy Incorporated | Method and system for high performance data metatagging and data indexing using coprocessors |
US7660793B2 (en) | 2006-11-13 | 2010-02-09 | Exegy Incorporated | Method and system for high performance integration, processing and searching of structured and unstructured data using coprocessors |
US10229453B2 (en) * | 2008-01-11 | 2019-03-12 | Ip Reservoir, Llc | Method and system for low latency basket calculation |
EP2370946A4 (en) | 2008-12-15 | 2012-05-30 | Exegy Inc | METHOD AND DEVICE FOR HIGH-SPEED PROCESSING OF FINANCIAL MARKET DEFINITIONS |
US10037568B2 (en) | 2010-12-09 | 2018-07-31 | Ip Reservoir, Llc | Method and apparatus for managing orders in financial markets |
US9990393B2 (en) | 2012-03-27 | 2018-06-05 | Ip Reservoir, Llc | Intelligent feed switch |
US10650452B2 (en) | 2012-03-27 | 2020-05-12 | Ip Reservoir, Llc | Offload processing of data packets |
US10121196B2 (en) | 2012-03-27 | 2018-11-06 | Ip Reservoir, Llc | Offload processing of data packets containing financial market data |
US11436672B2 (en) | 2012-03-27 | 2022-09-06 | Exegy Incorporated | Intelligent switch for processing financial market data |
US10324796B2 (en) * | 2016-08-11 | 2019-06-18 | International Business Machines Corporation | Stack detail recovery |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3548384A (en) * | 1967-10-02 | 1970-12-15 | Burroughs Corp | Procedure entry for a data processor employing a stack |
NL6815506A (ja) * | 1968-10-31 | 1970-05-04 | ||
US3821708A (en) * | 1969-05-20 | 1974-06-28 | B Sokoloff | Electronic control unit for the linking of symmetrical closed chains of words in a random access memory |
US3656123A (en) * | 1970-04-16 | 1972-04-11 | Ibm | Microprogrammed processor with variable basic machine cycle lengths |
GB1329721A (en) * | 1970-05-26 | 1973-09-12 | Plessey Co Ltd | Data processing devices |
US3916387A (en) * | 1971-04-23 | 1975-10-28 | Ibm | Directory searching method and means |
US3786427A (en) * | 1971-06-29 | 1974-01-15 | Ibm | Dynamic address translation reversed |
US3693165A (en) * | 1971-06-29 | 1972-09-19 | Ibm | Parallel addressing of a storage hierarchy in a data processing system using virtual addressing |
US3878513A (en) * | 1972-02-08 | 1975-04-15 | Burroughs Corp | Data processing method and apparatus using occupancy indications to reserve storage space for a stack |
US3900834A (en) * | 1972-09-05 | 1975-08-19 | Bunker Ramo | Memory update apparatus utilizing chain addressing |
FR2200988A5 (ja) * | 1972-09-26 | 1974-04-19 | Honeywell Bull Soc Ind | |
US3781808A (en) * | 1972-10-17 | 1973-12-25 | Ibm | Virtual memory system |
US3889243A (en) * | 1973-10-18 | 1975-06-10 | Ibm | Stack mechanism for a data processor |
US3916385A (en) * | 1973-12-12 | 1975-10-28 | Honeywell Inf Systems | Ring checking hardware |
US3891974A (en) * | 1973-12-17 | 1975-06-24 | Honeywell Inf Systems | Data processing system having emulation capability for providing wait state simulation function |
FR122199A (ja) * | 1973-12-17 | |||
US3909798A (en) * | 1974-01-25 | 1975-09-30 | Raytheon Co | Virtual addressing method and apparatus |
-
1975
- 1975-06-19 US US05/588,522 patent/US4044334A/en not_active Expired - Lifetime
-
1976
- 1976-06-18 JP JP51071306A patent/JPS602690B2/ja not_active Expired
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6228794U (ja) * | 1985-08-03 | 1987-02-21 | ||
JPH0733895U (ja) * | 1993-12-03 | 1995-06-23 | 田中産業株式会社 | 自立型籾収納袋の保管袋 |
Also Published As
Publication number | Publication date |
---|---|
JPS522239A (en) | 1977-01-08 |
US4044334A (en) | 1977-08-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPS602690B2 (ja) | 内部プログラムデータ処理装置 | |
JPS602691B2 (ja) | 内部プログラムデータ処理装置 | |
US4369494A (en) | Apparatus and method for providing synchronization between processes and events occurring at different times in a data processing system | |
US4025901A (en) | Database instruction find owner | |
US4077058A (en) | Method and apparatus for executing an extended decor instruction | |
US4297743A (en) | Call and stack mechanism for procedures executing in different rings | |
US4395757A (en) | Process synchronization utilizing semaphores | |
US4084228A (en) | Process management structures and hardware/firmware control | |
US4084224A (en) | System of controlling procedure execution using process control blocks | |
US4316245A (en) | Apparatus and method for semaphore initialization in a multiprocessing computer system for process synchronization | |
US4432051A (en) | Process execution time accounting system | |
US4394725A (en) | Apparatus and method for transferring information units between processes in a multiprocessing system | |
US4024508A (en) | Database instruction find serial | |
US4318182A (en) | Deadlock detection and prevention mechanism for a computer system | |
US4447874A (en) | Apparatus and method for communication of information between processes in an information system | |
US4123795A (en) | Control system for a stored program multiprocessor computer | |
US3686641A (en) | Multiprogram digital processing system with interprogram communication | |
US4042912A (en) | Database set condition test instruction | |
US4435766A (en) | Nested resource control using locking and unlocking routines with use counter for plural processes | |
JPH0225536B2 (ja) | ||
JPS58137200A (ja) | デ−タ処理装置 | |
JPS5911943B2 (ja) | デ−タ処理装置の為のトラツプ機構 | |
JPS5939785B2 (ja) | デ−タ処理装置 | |
GB1511281A (en) | Trap semaphore in computer | |
JPS6236267B2 (ja) |