JPS602691B2 - 内部プログラムデータ処理装置 - Google Patents

内部プログラムデータ処理装置

Info

Publication number
JPS602691B2
JPS602691B2 JP51071307A JP7130776A JPS602691B2 JP S602691 B2 JPS602691 B2 JP S602691B2 JP 51071307 A JP51071307 A JP 51071307A JP 7130776 A JP7130776 A JP 7130776A JP S602691 B2 JPS602691 B2 JP S602691B2
Authority
JP
Japan
Prior art keywords
address
record
register
segment
memory
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
Application number
JP51071307A
Other languages
English (en)
Other versions
JPS522240A (en
Inventor
チヤールズ・ダブリユー・バツクマン
ベンジヤミン・エス・フランクリン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
HANEIUERU INFUOOMEISHON SHISUTEMUSU Inc
Original Assignee
HANEIUERU INFUOOMEISHON SHISUTEMUSU Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by HANEIUERU INFUOOMEISHON SHISUTEMUSU Inc filed Critical HANEIUERU INFUOOMEISHON SHISUTEMUSU Inc
Publication of JPS522240A publication Critical patent/JPS522240A/ja
Publication of JPS602691B2 publication Critical patent/JPS602691B2/ja
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9024Graphs; Linked lists
    • YGENERAL 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
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing

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 開示の範囲及び編制 大規模計算機にロードされていないデータ・ベース命令
に使用される環境は必然的に複雑になり、かつ典形的に
はハネウエル・シリーズ6頂計算機に見られる。 さらに、この発明の教えの完全な理解は、このような装
置が存在する環境を読者が熟知しているときにのみ得ら
れる。このため、この発明の原理が有利に利用される型
式の典形的大規模データ処理システムの一般的構成を少
くとも簡単に調査することが望ましい。また、この発明
の基本的干概念をまず確立し、理解することが望ましい
。データ・ベース・セットのキ既念は、計算機歴史の大
部分で、主としてプログラミングにおいて共通に使用さ
れてきたいくつかの技術(テーブル、リスト、チエイン
、リング、フアイル、フイールドアレイ)を統合する。
(この概念はデータ機成セットがその名前とその特性の
多くを得る一般的数学的セット概念の限定である。この
開示において「“セット”という用語は常にデータ構成
内で使用され、数学的な意味ではない)。多くのシステ
ムはこのセットの概念を支持するがしかしソフトウエア
においてのみである。 データベース管理領域で、ハネウエル・インテグレーテ
ツド・データ・ストア(IDS)システムはこのセット
の概念を始めて広く使用して、複雑な製造及び銀行業務
問題を処理した。IDSはチェィン(リング)型のセッ
トのインプレメンテーションを使用する。これらの基本
的概念はハードウェアノフアームウェアで実施され、か
つ現存する機械内に組み合わされて新しい、改良された
ディジタル計算機を提供する。セットは、自然界対象物
を近似するデータ構成を築き、かつ記憶する必要のある
3つの補足的概念(記録、フィールド、セット)の一つ
である。 もし自然界が、存在する実体、それらを説明する特質、
及びそれらに関連する関係に関して考えられるならば、
そのとき等価な情報システム概念はそれぞれ記録、フィ
ールド、及びセットである。学校環境から取られた簡単
な例において、実体は先生と子供である。先生の特質の
いくつかは“名前”、“学年”、及び“教室”である。
子供の特質のいくつかは“名前”、“年令”、“父兄の
名前”である。先生と子供の間に関係が存在する。この
自然界環境の情報システム・モデルにおいて、2つの類
の記録(一方は先生のため、もう一方は子供のため)が
生じるであろう。各先生の記録において、先生の名前を
記録するフィールド、学年のための別のフィールド、教
室番号のための別のフィールドがある。各子供の記録は
子供の名前のためのファイル、彼の年令のための別のフ
ァイル、及び彼の父兄の名前の別のファイルを有する。
情報システムはセット概念を実行するように選択された
いくつかの方法のうちのひとつで先生の記録に子供の記
録を結びつけることができる。これらは、彼らの先生の
記録がファイルに配列されたのち全ての子供の記録を物
理的に置くことによってなされる。これはテーブルもし
くは記録アレイと呼ばれる。この実施例はセット概念の
チェィン(リング)インプレメンテーション技術を組み
合わせる。この形式において、オーナー記録は第一のメ
ンバー記録へのポィン夕を含む。次に、各メンバー記録
は次のメンバー記録へのポィンタを含む、この組の最後
のメンバー記録はオーナー記録にもどるポィンタを含む
。以前の記録のアドレスを保持する追加のポィンタフィ
ールド及び多分メンバー記録のためのオーナー記録への
ポィンタを有するオーナーと全てのメンバー記録あるい
はオーナー記録を供給する変形が許される。このように
説明されたデータ構成のセットの概念は数学的セット概
念の精製である。 すなわちデータ構成セットにおいてセット定義は“オー
ナー”ロールの例に具体化される。セット1メンバーは
“メンバー”ロールの例に具体化される。記録は同時に
異なるセットのオーナー及びメンバーのような多くのロ
ールを有する。この特性により実世界の複雑さを・模す
る複雑な構成が形成され、処理される。数学的セット概
念のこの精製において、オーナーからメンバーにあるい
は任意のメンバーからオーナーに可逆的に進み、セット
定義を再確立することができる。データ構成セットにと
つて、セット定義はオーナー記録内のあるフィールドの
値に通常基いており、他方このセットのメンバーは潜在
メンバー記録内の等価なフィールドの匹敵値により計算
機内に再確立される。 この匹敵データを保持するメンバー記録からこのフィー
ルドを除くことにより、かつ再組み立てのためにオーナ
ー記録に依存して、この現象はいよいよ有利に利用され
る。上述の学校の例において、先生は、先生/子供セッ
トの“オーナー”の役割を有する。この例を拡張するた
めに、我々は、大部分の学校において先生と子供の関係
は、子供が異なる学科のために異なる先生につくとき単
純な関係ではなく(1;n)、むしろ複雑な関係(m:
z)であるということを認める。先生、子供の複雑な関
係は新しい関係の実体、生徒、及び二つの単純な関係、
すなわち先生:生徒と子供:生徒に変換される。先生は
クラスの生徒として多くの子供を持ち、かつ生徒として
、子供は多くの先生を持つ。新しい“生徒”実体は、一
つの関係の実体を説明しかつ別のものと区別するのに役
立つ特質“学科”と“時間”を有する。子供はいくつか
の学科に対して同じ先生を持つ。データ構成セット概念
は四つの基本的特性を持つ。1 1セットはオーナーロ
ールに1つ「ただ1つ、そして常に1つの記録を持つ。 2 1セットはメンバーロールにゼロ、1あるいはそれ
以上の記録を持ち、かつその数は時間と共に変化する。 3 任意の記録は同時にゼロ、1、あるいはそれ以上の
セットのオーナーである。4 任意の記録は同時にゼロ
、1、あるいはそれ以上のセットのメンバーであり、こ
のように同時にいくつかのオーナー記録によって所持さ
れる。 各記録は特別のセットのメンバーとして1回だけ現われ
る。メンバーロールはオーナー。ールと抵触しない。“
次の”と“以前の’’の概念は記憶プログラム計算機で
解く問題に基づく手続上のアルゴリズムにとって重要な
概念である。 一時に1つの記録を処理する手続上の限界に加えて、も
しセット内のメンバー記録が前もって定義されたデータ
値の規則正しい順序もしくは時間挿入の規則正しい順序
でそれに伝えることができるならば、アルゴリズムは重
要な簡単にされた影響がある。FIF○(先入れ先出し
)、あるいはLIF0(後入れ先出し)。‘‘最初”と
“最後”の概念はデータフルゴリズムの反複命令実行を
開始しかつ停止させるのに重要である。このようにセッ
ト内のメンバーの順序はセットの合理的処理に欠くこと
ができない。ファイル内のセットに記録を組み合わせる
ことの主要な目的は、自然界関係を模することと、ある
特別の関係を表わすファイル内の選択された記録を読み
こみ書き出すのを助けることである。セット・アクセス
・メソッドが表1に載せられている。表1 アクセス・メンツド ダイレクト・アクセス・メソッド −記録を回収 データキー・アクセス・メソッド −記録を回収 セット・オーナー・アクセス・メソッド −記録を回収 セット・メンバー・アクセス・メソッド くり返し使用、すなわちセットの各メンバーを回収ファ
イル逐次アクセス・メソッドくり返し使用、すなわちフ
ァイル内の各記録を回収最初の4つのアクセス・メソッ
ドはトランザクZション及びインクワィアリ処理におい
て主として使用され、そして特別の実体、関連した君主
の実体の記録された状態を決定し、あるいはそれらの記
録された状態を更新する必要がある。 ファイル逐次アクセス・メソッドは主として周期的にバ
ッチZファイルを更新するため、そして報告をもたらす
ために使用される。必要な場合、5つの全てのメンツ日
こよって同じ記録を呼び出すことは可能である。同様に
、特別の結果を達成するためにこれらのアクセス・メソ
ッドを組み合わせて使用する2ことが可能である。上述
の例によると、先生の記録はデータキー・アクセス・メ
ンツド‘こよって回収し、かつ生徒の全ての記録はセッ
ト・メンバー・アクセス・メソッドによって回収できる
。 各生徒の記録に対して、子供の記録はセット・オーナー
・アクセス・メンツド‘こよって回収される。次に、回
収は子供の記録に対してデータ・キー・アクセスによっ
て開始され、それから子供の全ての記録、そして先生の
記録を呼び出す。セットから得られる基本的回収機会は
下の表ロで与えられる。表U 回収機会 決定 与えられるもの アクセス・メソッド オーナー セット 第1のメンバーもしくは
からのセット通知 ・ オーナ− セット 裏な奪≦由じ千寿r通知オー
ナー セット・メンバー 最後のメンバーもしくは
からのセット通、知 任意のメン/」セット心/し鰭後も槌亀 任意のメンバー セット・メシし 以前のメンバーも
しくは第1のセット通知 任意のメンバー セット・ォーナ− セットのオーナ
ーセットに適用する基本的オペレーションのひと組があ
る。 これらはよく知られている記録及びフィールドの基本的
オペレーションに補足的なものである。セットの基本的
オペレーションの収集及び記録とフィールドの補足基本
的オペレーションは、ユーザーが、彼の従事しているデ
ータを呼び出し、変化させ、移動させ、削除等を行うハ
ードウェアノフアームウェアのプリミティブを有する処
理装置として知られているものを構成する。このプリミ
ティブ(すなわちハードウエア/ファームウェア命令)
は、フィールド(すなわちデータ項目)、記録、セット
、及び手順論理制御に関するオペレーションに細分化す
ることができる。ハードウェア/フア−ムウェア命令の
次の群はフィールド内のデータを処理する。オペレーシ
ョンを実行するために必要なフィールド記述情報(例え
ばサイズ、位置、記録状態)はそのオペレーションと関
連したデータ記述装置の役割として記憶される。この群
に含まれるオペレーションは、例えば桁送り、比較、寄
せ集め、加算、減算、乗算、及び除算である。ハードウ
ェアノフアームウェア命令の次の群はデータのダイレク
トアクセスと直列アクセスの両方の処理をする。 これらはデータ記録、その次の回収、変形、テスト、破
壊をする。記録ファームウェア/ハードウェア命令は記
録をつくり、記録を破壊し、直後記録を見つけ、直列記
録を見つけ、記録タイプをテストすることである。セッ
ト・ハードウェア/ファームウェア命令の次の群は普通
のデータ処理の本質及び高等データタベース及び通信情
報管理システムのビルディングブロックをなす。 それらはセットの創造呼び出し、処理及びテストする。
ハードウェア/ファームウェア命令は記録を挿入し、記
録を取り除き、関連した記録を見つけ、(1番を見つけ
、最後を0見つけ、次を見つけ、以前を見つけ、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/○完成、
タイマー)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はこのシステ
ムの基本処理オペレーションを実行し、メモリ102と
のインターフェイスを示す。 IOCI05は記憶サブシステム102と周辺装置10
6との間の全ての情報交換を制御する。A 中央処理ユ
ニット CPUは、主メモリ・シンクロナイザ109、バッファ
ストア110、計算ユニット111を機成する種々の素
子、及び選択ェミュレータ112を含む。 主メモリ・シンクロナイザ109は、計算ユニット11
1、バッファ・ストア110、及びのCIO9の間で主
メモリを使用するための衝突を解決する。衝突は優先権
を基本にして解決される。すなわちIOCは最高の優先
権を持ち、次に(計算ユニットからの)メモリ書き込み
、それから(バッファ・ユニットへの)メモリ読み出し
と続く。 主CPUはまた王〆モリアドレス指定を制御するアドレ
ス制御ユニットACU131と、主メモリの最も最近使
用されたアドレスを記憶するために使用される連想メモ
リAS132を含む。バッファ・ストア110は、主メ
モリの選択された領域を再生し、かつ計算ユニット11
1とのインターフェイスを形成して平均〆モリ呼出時間
を減少させる4・ごな高速バッファ・メモリである。各
メモリ読み出しの間、バッファ・ストアと主メモリが呼
び出される。命令取り出しされる情報がすでにバッファ
・ストアにあるならば、王〆モリ読み出し‘ま終わり、
情報はバッファ・ストアから命令取り出しされる。さも
なければ、主メモリ102が読み出される。これがなさ
れる毎に、CPUは必要な情報を含む32バイトを取り
出す。この情報は本来のメモリ・レフアレンスのために
バツフア・ストア内に残る。 バッファ・ストアはソフトウェアに対して透明であるの
で、任意の瞬間に計算機を制御するプログラムは、それ
が処理する情報が、バッファ・ストアあるいは主メモリ
のどちらから命令取り出しされたかを決定することがで
きない。計算ユニット111はCPU内の全てのデータ
処理及びアドレス発生をなす。 計算ユニット内の典形的制御ストア130(Prent
iceHall、Inc.のSamirS.Husso
nによる名称がMicroprogramingである
本のPrinciplesandPracticesを
参照のこと)はこのシステムを開始させ、CPUI04
とIOCI05を制御し、命令セットを解読するファー
ムウェアを含む。制御ストアは選択的に科学命令、テス
トルーチン、エミユレータ・パッケージ、あるいはプロ
セッサ・サブシステムの能力を伸ばす特殊目的の特徴を
形成する。選択的に、CPUはこのシステム以外のシス
テムのエミュレーションを形成する。 ェミユレータ112はフアームウエア、ソフトウェア、
及びある場合にはハードウェアの構成要素である。B
入力−出力制御ユニット プロセッサ・サブシステムのIOCI05部分は任意の
周辺サブシステム103と記憶サブシステム102の間
にデータ通路を形成する。 この通路は周辺指令制御装置を開始させ、データ伝達を
生じさせる。 IOCは奥形的に32までのチャンネル制御ユニット(
図示されず)を処理する。C 周辺サブシステム 第1図の周辺サブシステム103におい て、PCUI06は、1/0オペレーションの間1/0
装置108を制御することによりCPUI04のロード
を救援する独立マイクロプログラミング・プロセッサで
ある。 PCUはこれをチャンネルプログラムに含まれる実行命
令によってなされる。 このプログラムはPCUで実行される代数、論理、伝達
、桁送り、及び分岐オペレーションを生じる。 各制御装置の種類に従っていくつかの種類のPCUがあ
る。すなわちユニット記録、集中(ディスク)記憶装置
、磁気テープ、通信等である。装置アダプタ107は各
PCUとそれを制御する装置の間で伝達の媒介をする。 各々は特別の型式の装置との通信を実施するのに必要な
ファームウェア及び論理装置を含む。この型式に従って
、DAI07は1〜数個の装置を制御する。周辺サブシ
ステム103によってなされる主要な機能は次の様であ
る。 I CPU命令を一連の周辺装置に変換する。 2 CPUもしくは適切な周辺装置によって必要とされ
る形にデータをパックし、かつアンパツクする。 3 サブシステム及びその制御のもとにある装置の状態
をCPU‘こ通知したままに保持する。 4 エラー及び回復手順を独立して開始し、かつ処理す
る。 5 関連周辺プロセッサの装置共有能力を乱すことなく
、装置のオンライン診断を可能にする。 PCUはそれに取り付けられた装置間の主メモリの衝突
を解決するが、IOCはPCU間の衝突を解決する。 ○ 記憶サブシステム 各メモリ・モジュール1−4は4あるいは8バイトの中
である。 モジュール数、それらのサイズ、及びデータ通路中は計
算機の大きさに従って変化する。メモリ・モジュールは
、4つのモジュールが順次呼び出されるように4重にイ
ンターリーブされる(モジュール1は第1の8バイトを
含み、モジュール2は第2の8バイトを含む等である)
。 このインターリーブは主メモリを呼び出すときの衝突数
を減らし、それによって平均〆モリ呼出時間を減らす。
メモリは故障の場合に再配列することができる。すなわ
ちモジュール内のメモリ・ブロックは隣接アドレッシン
グを壊すことなく除去される。主メモリ102は、酸化
金属半導体 (MOS)チップの形をした容量記憶媒体から成る。 この媒体は情報を維持するため、リフレツシュすること
を原則にして動作する。各メモリ位置は奥形的には、少
くとも2ミリ秒毎に1回りフレッシュされ、すなわちリ
フレツシュタィミングとメモリ呼び出しの闇にほとんど
衝突は生じないように設計される(衝突の場合に、リフ
レッシュすることが優先する)。主メモリで始まる領域
はハードウェアとファームウェアのために指定されてい
る。 この領域の上限は、システムソフトウェアに明らかな境
界アドレスレジスタ(後述されるBAR)の内容によっ
て限定される。 BAR内容はシステム開始時間に設定される。BAR内
に指定されたアドレス以下のメモリ領域は、周辺サブシ
ステムの構成を限定するIOCテーフル、CPUを制御
するファームウエア、あるいはエミュレーション用のマ
イクロプログラムとテーブルを含むことができる。 BAR内に指定されたアドレス以下の領域のサイズはシ
ステム構成に左右される。マイクロプログラムが主メモ
川こあるか、あるいは制御ストアにあるかどうかはシス
テム構成及びシステムの応用動作に左右される。2 基
本的機械構成 このハードウェアで利用される奥形的には3つの基本デ
ータ構成がある。 すなわちデータ・フオーマットソフトウェア可視レジス
タ、及び命令フオーマツトである。A データ・フオー
マツト 情報は8並列ビットの倍数でCPUとメモリ間で伝達さ
れる。 情報の各8ビットユニットはバイトと呼ばれる。パリテ
ィあるいはエラー訂正データがまたデータと共に伝達さ
れるが、ソフトウェアには影響されない。それ故、この
明細書において、データという用語はそれに関連したパ
リティあるいはエラー訂正データを除外する。Bバイト バイト内のビットは左から右に0〜7の番号がつけられ
る。 バイトは別々に、あるいはグループで処理される。2バ
イトは半語を、4バイトは1語を、8バイトは2藷を、
そして1&ゞィトは4語を構成する。 命令を含む全てのデータに基本的フオーマットがある。
C データ表示 全てのデータは2進形であるが、2進、10進、あるい
は文字数字式に解釈される。 データビットは、1坊隼符号化2進データとして、4つ
の群で解釈される。すなわち8は文字数字式に、16〜
Mは2進数学として解釈される。後者は2進概念におい
て、符号化、固定もしくは浮動小数点数として解釈され
る。2語までの隣接ビットの任意の数はまたストリング
として処理される。 文字数字式字の縦は、EBCDICで表わされる。 ASCIIは別の交換コードとして支持される。D /
ゞイト・アドレス 主メモリのバイト位置はゼロで始まる連続番号がつけら
れる。 各番号はバイトのアドレスである。一群の連続バイトは
、もし群内の左のバイトのアドレスがそれぞれ2、4、
8あるいは16の倍数であるならば、半語、1語、2語
あるいは4藷整列しているといわれる。半語、1語、2
語、あるいは4語がこのように整列しているときはいつ
でも、そのユニットはそのアドレスから命令取り出しさ
れる。主メモリーのデータの位置は、アドレス展開の間
、間接的に呼び出されるデータ記述子によって指定され
る。(発明の名称が“分解アドレス展開”でこの出願と
同じ談受人に譲渡された米国特許第39斑096号を参
照のこと)B 可視レジスタ 第1図のCPUI04には33のユーザ可視レジスタが
あり、その内容はCPUの状態を集合的に限定する。 4つの型式がある(第2図参照)。 1 汎用レジスタ 2 ベースレジスタ 3 科学レジスタ(選択的) 4 種々雑多なしジスタ F 汎用レジスタ 第2図の汎用レジス夕(GR)201は固定小勢Z点2
進数及びビットストリングを処理するために使用される
。 CPUI04には、16の32ビットの汎用レジスタG
RO〜GR15がある。汎用レジスタGR8〜GR15
はまたインデックスレジスタとして使用することができ
る。インデックスレジスタとして使用されるとき、それ
らはここで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ビットのレジスタであ
り、例えば最も最近のオペレーションによってアンダー
フローが生じたかどうかを記録する。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テープルェントリはP
CB400を指示する。第5図を参照する。 計算ユニット111(第2図)の算術部分506を通し
てJ番号により指示されたJテーブルポインタ505は
、Jテーフルェントリ503を呼び出す。 このェントリは、計算ユニット506を通してP番号に
より指示されるときPテーフルェントリ504を呼び出
すPテーブルポインタを含む。このPテーブルエントリ
ーは現在動作しているプロセスのPCBへのポインタ5
07を含む。このように、オペレーティングシステムは
BAR501の内容を使用して有効PCBを呼び出すこ
とができ、かつそれに関連した(J.P)論理名称を与
えられた別のPCBを呼び出すことができる。D 記憶
セグメンテーション ここに記述されたようなマルチプロセス環境には任意の
時間にメモリ内に多くのプロセスがある。 このようなプロセスはメモリアロケーション問題を生じ
るメモリのサイズと要求を変化させる。ここに記述され
たハードウエアはオベレーテイングシステム(ここでは
図示されず)と共同してメモリスペースを動的に割り当
てることによりこの問題を解決する。ランダム性質のメ
モリ要求により、メモリは可変サイズセグメントに割り
当てられ、そのメモリアロケーションはプロセス動作時
間の間再構成される。このようにプロセスは多数の非隣
接メモリセグメントを割り当てられる。このメモリアロ
ケーション方法はセグメンテーションと呼ばれる。セグ
メンテーションは、プロセスの一部あるいは全部が再配
置するときはいつでも変化するメモリアドレスにおいて
付加的問題を生じる。 この問題を軽減するためにここに記述されたようなシス
テムはプロセスによって使用されたアドレスが絶対的主
メモリアドレスよりも論理的である技術を礎給する。こ
のような論理アドレスは絶対アドレスを開発するのに使
用される。セグメンテーションにより、セグメント記述
子を通してそれ自身のあるいは関連ししたメモリセグメ
ントを各プロセスは呼び出す。 セグメント記述子を呼び出すことによってプロセスはセ
グメントのアドレスを得ることができる。セグメント記
述子は王〆モリに含まれ、オペレーティングシステムに
よって維持される。各プロセスは2068までのメモリ
セグメントを呼び出す。 通常、これはプロセスにつき同数のセグメント記述子を
要求する。しかしながらセグメントが分割されてから後
では、オベレーテイングシステムはセグメント記述子を
セグメントテーブルに分類する。 この分類方法は1プロセス(タスク)、1プロセス群(
ジョブ・ステップ)、あるいは全体的(システム中)に
より呼びだし能力に基づいている。各プロセスはそれに
関連する15セグメントテーブルまで所有する。この技
術はセグメントテーブルを通してプロセスにより呼び出
されることのできる各セグメントのためのただ1つのセ
グメント記述子を必要とする。このように、セグメント
記述子のため必要とされたメモリスペースは減少させら
れる。 再配置中に更新されるメモリは縮少され、いくつかのプ
ログラム保護がなされる。 (プログラム保護のための主機機はリング・システムで
ある。発明の名称が“マルチプログラム、マルチプロセ
ッサー、コンピューターシステムの情報保護”であって
この発明と同じ譲り受けた人に譲渡された米国特許出願
第528953号を参照のこと。)プロセスはどのセグ
メントが呼び出されるかを決定することができなければ
ならない。 従って、このシステムは2セグメントテーブル語アレイ
(STWA)を有するプロセスを形成する。これらのア
レイは、プロセスに呼び出すことのできる全てのセグメ
ントテーブルのアドレスを含む。2つのセグメントサイ
ズ、大きいのと小さいのがあるので、プロセス毎に2つ
のセグメントテーブル語アレイがある。 大きなセグメントは最大サイズ汐2バイトを有する一方
、小さなセグメントは最大サイズ〆6バイトを有する。
全てのセグメントはその最大にまで10ゞィトづつ増進
してサイズを変える。システムは奥形的には28までの
大きなセグメント2040までの小さなセグメントを収
容する。セグメントテーブル語アレイはオペレーティン
グシステムによって再配置され、それ故プロセスは関連
したSTWAの絶対アドレスを知らなければならない。 任意のプロセスのPCBは、第4図のアドレス、スペー
ス語ASWO−1として知られているこの情報を含む2
語を含む。 各語はセグメントテーブル語アレイSTWAを指示する
。オペレーティングシステムは、関連STWAが再配置
されるときはいつでもASWの内容を更新する。指示チ
ェィンを下方に動かせ、セグメント記述子を解読するこ
とがファームウエアの機能であり、このようにいったん
開始されると、オペレーティング・システムに対してさ
え明らかでない。セグメンテーションはプロセスのため
に利用できるような2億バイト以上のアドレス・スペー
スを限定する。 この数は主メモリの容量を越える。それ故、2次記憶装
置(磁気ディスクあるいはドラム)が主メモリと共に使
用される。オペレーティングシステムは、このシステム
が真に利用できる以上に大きな主メモリを有するという
錯覚を生じる。この概念はバーチュアル・メモリと呼ば
れる。任意のときに、限定されるセグメントは物理的に
主メモリ内にあってもよいし、なくてもよい。 セグメント記述子の内容は、関連したセグメントが主メ
モリ内にあるかどうかを指示する。ハードウェアは、主
メモリ内にないセグメントを呼び出す試みをプロセスに
よって検出し、かつオペレーティングシステムに通知す
る。オペレーティングシステムにより、必要なセグメン
トは2次記憶装置から主メモリ内にロードさせる。それ
から、オペレーティングシステムは、セグメントの絶対
アドレスが見つけられる場所であるセグメント記述子内
にセグメントのメモリアドレスを位置させる。このオペ
レーションはこのプロセスに明白でなく、そしてセグメ
ントが主メモリ内になかったか、あるいはそれが主メモ
リ内に再配置されなければならないということに気づい
ていない。(メモリ・セグメンテーションに対しては、
発明の名称が“区分アドレス開発”である米国特許第3
攻略096号を参照のこと)ここで説明した計算機シス
テムは、プロセスが互いに干渉し、あるいは互いのアド
レススペースが独断的な方法で共有するのを妨げること
により、データ及び手順保護を形成する。 この保護は、メモリセグメンテーションを通して呼び出
し能力を制限することにより、かつリングシステムによ
って達成される。 セグメント・テーブルはこのシステムの 種々のプロセスのアドレス・スペースを分離する。 プロセスは常に実行中にセグメント・アドレスを使用す
る。セグメント・アドレスは、このセグメント内のセグ
メント数及び関連アドレスから成るぐセグメント・アド
レス開発”の上述の出願を参照のこと)。 ハードウェアは、プロセスによって使用されるアドレス
が、このプロセスに割り当てられたアドレス・スペース
の一部であるということをチェックする。もしこのアド
レスが前述のアドレス・スペースの外側にあるならば、
例外が生じる。ハードウェアは参照プロセスのセグメン
トテーブルを使用するので、別のプロセスのアドレスス
ペース内のデータを照会することができない。このよう
に、昇りのプロセス群に属する実体を、プロセスもしく
はプロセス群が照会する可能性はない。一般的に、この
システムのアドレス・スペースの重複は、全てのプロセ
スに共有されるセグメントに生じる。 これらの公知のセグメントは、アドレス衝突しないよう
にチェックするシステム・プログラムによって生じる。
このように、セグメンテーションは、ユーザープログラ
ムを互いに対して保護し、かつオペレーティング・シス
テムをユーザープログラムに対して保護する。いくつか
のプロセスによって共有されるセグメントは、これらの
プロセスの一つによる謀使用からは保護されない。 この問題を解くために、リングシステムが利用され、そ
れによって手順及びデータセグメントは4段階休系にグ
ループ化される。4つのりング種類は0〜3の番号がつ
けられる。 各リングはシステム特権レベルを、最大の特権をレベル
0で(最も内側のりング)、そして最小の特権をレベル
3で(最も外側のリング)表わす。このシステムの各手
順はそれに割り当てられた最小及び最大実行リング番号
を有し、かつそれはこの手順を呼ぶものを指定する。手
順は、他の手順を呼ぶことができ、かつそれらにパラメ
ータを通すことができるサブルーチンである。リングシ
ステムの一般的役割は次の様である。 1 内側リング内の手順は外側リング内のデータを自由
に呼び出す。 逆に、外側リングの手順は内側リング内のデータを呼び
出すことができない。 2 外側リングの手順は内側リングの手順に分岐するこ
とができるが、逆は不可能である。 3 データを含む各セグメントは2リング値を、一方は
読み出し(RD)のために、かつもう一方は書き込み(
WR)のために割り当てられる。 これらのリング値は最大リング値を指定し、かつ読み出
しあるいは書き込みモードのどちらかでデータを呼び出
すとき、手順は解釈実行される。 手順命令が実行される毎に、この手順のりング番号(効
果的アドレスリング、EAR)は照会データを含むセグ
メントに割り当てられたりング番号によってチェックさ
れる。 EARは、命令カウンターのプロセス・リング番号と、
アドレツシング遍路のデータ記述子及び基本的レジスタ
の全てのりング番号の最大番号である。 データを呼び出すことはリング番号の比較に基いて認め
られL あるいは否認される。例えば、もしシステムテ
ーブルが最大読み出しリング値3と最大書き込みリング
1を有するセグメント内に存在するならば、そのときリ
ング3内で実行されるユーザー手順はこのテーブルを読
み出すが、しかしこのテーブルを更新しない。前もって
設計することにより、リング0と1はオペレーティング
システムのために指定され、かつリング2と3はユーザ
ーのために指定されている。 リング0‘ま全システムオペレーションに重大なこれら
のセグメントを含む。リング1は、故障が破滅的になら
ず、回復できる容量のシステムセグメントを含む。ユー
ザーはチェックアウト・プログラムのためにリング2を
、そしてデバッグプログラムのためにリング3を利用す
る。F 手順コール手順コールはここで説明されるシス
テムにおいては重要な機能である。 手順コールはある手順から別の手順に通すために使用さ
れる。 すなわち、ユーザー手順でオベレーテイZングシステム
・サービスを用いるために、そしてオペレーティングシ
ステム内にモジュール構成を達成するために使用される
。手順コールは命令及びスタツクと呼ばれるハードウェ
ア認可実体によって達成される(第7A図)。 スタツクは、最後に入り最初に出ろを基本にしてデータ
を受け取り、記憶し、そして訂正する機構である。 スタツクはスタツクセグメントと呼ばれる特別のセグメ
ント内にある。 スタツクセグメントはスタツクフレーム701(第7A
,78図)と呼ばれる多数の隣接部分から成り、かつそ
れは機能的に各手順に割り当てられる。第1のスタツク
フレームはセグメントのトップにロードされ、かつ次の
フレームはその後にロードされる。最後のロードされた
フレームがスタツクのトップと考えられる。Tレジスタ
702は、現在有効なプロセスのスタックのトップを定
める。事実上のTレジスタがこのシステムの全ての他の
プロセスのPC母方に存在する。第78図のスタツクフ
レーム701は3つの領域から成る。 すなわち変数を記憶するワーク領域702、レジスタの
内容を保持する保持領域703、及び手順間でパラメー
タを通す通信領域704から成る。手順コールの前に、
ユーザーは、彼が保持することを望むレジスタを指定し
なければならず、かつ彼はコールされた手順に通される
パラメータを通信領域にロードしなければならない。コ
ールがなされるとき、ハードウェアは命令カウンタIC
及びコールされた手順からの復帰を容易にするため指定
されたベース・レジス夕の内容を保持する。各手順コー
ルはスタックセグメント701内にスタツクフレームを
創り、かつ次にネステイングされたコールは別のフレー
ムを創る。 このようにコールされた手順の一つからの各出口がスタ
ックフレームをスタックから削除させる。このように、
規則正しい復帰を容易にするコールの履歴が維持される
。異るリング内で実行される手順の間の保護を保証する
ために、異るスタックセグメントが使用される。 プロセス毎の保護リングに相当する1スタツクセグメン
トがある。PCBは、プロセスと関連したりング0,1
,2のスタツクセグメントの開始を指示する3つのスタ
ツク基本語を含む。リング3・スタツクセグメ・ントは
内方コールによってはけつして入ることができず、それ
故、そのスタツク開始アドレスはPCBには必要でない
。プロセス管理及び同期化 このシステムは、ソフトウエア、ハードウエア、及びフ
ァームウェアの組み合せを使用するオペレーティングシ
ステムにより制御されるマルチプロセス・オペレーショ
ンをなす。 ソフトウェアはシステム内にプロセスを創りかつ削除す
る一方、ハードウェアとファームウェアは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} 終了命令を実行することによって(全ての機能
を完了した結果として)‘21 オペレーティングシス
テムによって中止命令を実行することによって‘3}
制御がオペレーティングシステムに伝達されることによ
って例外コンディションの発生によって B プロセス・デイス/ぐツチ ブロセスが動作中プロセスの動作によってあるステート
から他の随意的ステートに移し、もしくは他のプロセス
動作によって不随穣ステートに移す。 デイスパッチャとして知られているCPUファームウェ
アはステート間のプロセスのトランザクションを制御す
る。 ディスパッチャは準備ステートあるいは待機ステートに
あるプロセスを処理するために一組の待ち合わせを使用
する。中止プロセスはソフトウェアによって制御される
。第6,8,9図を参照すれば、準備あるいは待機プロ
セスはPCBとプ。 セスリンクと呼ばれる特別の待ち行列エントリーとによ
って表わされる。第9図はGOセグメント802の内容
の展開用を示し、有効プロセスの803a一803bと
803c−804gのプロセスリンクを含み、中止プロ
セスの自由プロセスリンクの805a−805cを含む
。各プロセスリンクはプロセス名称(J.P)、プロセ
ス優先権及び待ち行列中の次のプロセスリンクへの指示
を指定する。これらは待機待ち行列803a−b及び準
備待ち行列803c‐gのようなさまざまなタイプの待
ち行列である。Gテーブルとして知られている、Jテー
ブルに類似しているハードウェア装置は、(第6,8図
)、一般的な(公知のシステム中)セグメント802−
802nへの指示を含む。 Gテーブル801の第1の素子GOはデイスパッチヤ待
ち行列を含むセグメント802を指示する。Gテーブル
801へのGテープル指示は第5図のシステムベース5
02に現われる。またこのシステムにおいて、べ−スは
GOセグメント802の準備待ち行列803c一803
gのヘッド805を識別する内部プロセス待ち行列語(
IPQW)と呼ばれるエントリーである。このようにデ
ィスパツチャは、準備待ち行列803c−803gを考
慮することによって全ての準備プロセスを調査すること
ができる。 現在動作中のプロセスがステートを変えるとき、ディス
パッチャは準備待ち行列のヘッドでプロセスリンクを取
り除きPCBを呼び出すためにJ、P名称を使用する。
PCBによって定められたプロセスはそのとき新しい動
作中プロセスとなる。1つ以上のプロセスが同じイベン
トで待ち受けられるので、待機中プロセス803a−8
03bの待ち行列は各々のイベントに存在する。 待機中プロセスはまたGOセグメンにあるプロセスリン
ク805を通して一緒に配列される。待機待ち行列のヘ
ッドへの指示はセマフオア903(後で記述されるため
)にある。多数のイベントはプロセスが待機する間に存
在し、それゆえ各々が関連したセマフオア903と90
4を有する多数の待機待ち行列がある。準備あるいは待
機中プロセス数は大きく変化する。 このように準備及び待機待ち行列を命ずるプロセスリン
ク数もまた変化する。この事実によりディスパッチャの
メモリ管理問題が生じる。その問題はフリー・プロセス
リンク待ち行列805a−cと呼ばれる他の待ち行列に
より解決される。この待ち行列は準備もしくは待機待ち
行列により使用されないセグメントGO内の全てのプロ
セスリンクと結合し、そして準備もしくは待機中プロセ
スの特別な待ち行列を延ばすのに使用されることができ
る。フリー・プロセスリンク待ち行列805のヘッド9
02への指示はGOセグメント802の開始近くに存在
する。C プロセス同期 プロセス同期は同じタス外こ2つのプロセスワーキング
のアクティビティを調整するよう命ぜられる。 同期は通信プロセスのアドレススペースにあるデータ構
成であるセマフオア903−904を使用して達成され
る。セマフオアはイベントの発生を知らせ、かつメッセ
ージの待ち行列を処理するために使用される。このよう
な関係のイベントは、ある他のプロセスに関○あるプロ
セスによって認められる。このイベントは非同期オペレ
ーションの完了、あるいは一手段の効力の完了である。
プロセスはイベントの発生を知らせるために2つのセマ
フオア・オペレーションを使用する。 一方のオペレーションはセマフオアに信号を送り、他方
はセマフオアから信号を検出ずるく送り動作はいまいま
Vオペレーションと呼ばれ、受け取り動作はPオペレー
ションと呼ばれる)。送り動作は、データが準備中であ
るデータあるいは信号をプロセスに送らせる。セマフオ
アは、別のプロセスが信号を検出する準備中となるまで
信号を記憶する。 このように、送りプロセスは、それがデータを送ってか
らは、自由に進む。受け取りオペレーションは指定され
たセマフオアを調査し、信号を検出する。もし信号が存
在するならば、受け取りプロセスは命令を解釈実行し続
ける。しかしながら、もしセマフオアに信号がないなら
ば、受け取りプロセスは待機ステートに入る。そのとき
セマフオアは待機待ち行列の先頭の指示器として役立つ
。このプロセスは、別のプロセスがその特別のセマフオ
アに信号を送るまで、セマフオアで待ち合せる待機ステ
ートのままにされる。このように、セマフオアは、プロ
セスが信号を検出するまで信号を保持することができ、
あるいはセマフオアは、信号がそれに送られるまでプロ
セスを保持することができる。メッセージはまたプロセ
スからプロセスに通される。 メッセージは信号プラス追加情報と同じ現在もしくはそ
うでない特質を有する。 情報の一部はハードウェアによって供給され、かつ一部
はメッセージを送ったプロセスの手順によって供v給さ
れる。メッセージは送りプロセスのプロセス名を伴う。
このように、多くのプロセスは送りプロセスの名前をつ
けた単一のセマフオアを通して情報を送ることができる
。メッセージ・セマフオアは、フ。 ロセスによって検出されるべく待機中のメッセージの待
ち行列を有する。信号セマフオアによって、メモリのス
ペース要求は、現存するメモリ管理問題を増加させかつ
減少させる。再び、この問題はフリー・メッセージ・リ
ンクの待ち行列によって解決される。これらのリンクは
、メッセージリンクを供給しあるいは吸収する必要があ
るとき、容易に見つけられるセグメント内の既知の場所
にある。 セマフオア及びそこで形成される待ち行列を異るプロセ
スによって共有されるので、全セマフオア構成が保護さ
れる。 これは、セマフオアを含む任意のセグメントの呼び出し
を制限するハードウェア及びソフトウェアによって達成
される。このように、セマフオアはセマフオア記述子セ
グメント内になければならず、(もしシステム通信が必
要ならば)そのいくつかはGセグメントである。しかし
ながら、全てのGセグメント(GO除く)はセマフオア
記述子セグメントである。各セマフオア記述子はセマフ
オアへの指示器を含む。 セマフオア・アドレスはセマフオア記述子を通して開発
され、このようにセマフオアの付加された保護を形成す
る。セマフオア・セグメントは、セグメント内のセグメ
ン番号及び相対位置を使用して論理的に、あるいは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は、時間アカゥント機能がこのプ
ロセスのために実行されるかどうかを示すアカウント・
モードビットである。アカウント・モードビット100
5が2進0に設定されるとき、時間アカウント機能はこ
のプロセスのために実行されない。これに対してアカウ
ント・モード1005が2進1に設定されるとき、時間
アカウントが実行される。科学モード・ビット1006
は、ゼロに設定されるとき、この機械の科学レジスタの
保持が実行されず、かつ第4図のバイト148〜176
に位置した科学レジスタ保持領域はプロセス制御ブロッ
クPCBには存在しない。科学モード・ビット1006
が2進1に設定されるとき、科学オプショナル特徴が存
在し、かっこのプロセスにおいて使用され、そして科学
レジスタ保持領域は、必要なとき科学レジスタの内容を
保持するために使用される。 コード・モード・ビット1007は、標準コード・セッ
トあるいはコンパチブル・コード・セットがこのプロセ
スによつて使用され、その位置の2進0は、標準コード
・セットが使用されているということを示すのに対して
、第3のビット位置107の2進1は、コンパチブル・
コード・セットが使用されているということを示す。 ケーパビリティバィトの残りのビットはゼロに設定され
る。優先権バイト1002の詳細は第10c図に示され
ている。 第10c図を参照すると、優先権バイト1002の最初
の4つのビット1008が、その任意のプロセス制御ブ
ロックPCBと関連したプロセスの優先権レベルを設定
するために利用される。各プロセスは、規則正しい競争
プロセスのために使用される優先権の16レベルのうち
の一つを割り当てられる。すなわちta’準備プロセス
の間の動作されるべきプロセス,を選択するため、‘b
}プロセスを待ち行列にするために使用される。優先権
は0から15に減少し、かつ任意の優先権レベルのため
に、FIFO(技初に入り技初に出る)規則が適用され
る。優先権バイト1002の次の4つのビットはゼロで
ある。第10d図を参照すると、ステート・バイト10
03の詳細が示されている。 ステート・バイトは、プロセス制御ブロック400に関
連したプロセスに関して情報を供給するために利用され
る。 有効フィールドビットAIOIOは、このプロセスが動
作するとき、2進1に設定される。中止フィールドSI
OIIは、このプロセスが中止されるとき2進1に設定
される。副ステート・フィールドSSIO12は2ビッ
トフィールドであり、プロセスの次の劉ステートを限定
する。 すなわち‘a’、2進00に設定されるとき、プロセス
は不動作であり、‘け、2進01に設定されるとき、こ
のプロセスは準備プロセスの待ち行列で待機しており(
Q/PR/ROY)、‘d、2進10に設定されるとき
、このプロセスはセマフオアの待ち行列で待機しており
(Q/PR/S)、
【d}2進11に設定されるとき、
このプロセスはプロセッサによって実行されている。中
間オペレーションフイード(MOI)1013は、割込
みが生じるとき2進1に設定され、命令の実行中、すな
わちプロセスの完了前は、準備中である。拡張デコーモ
ードピットEXTDIO14は、このプロセスがこの機
械のエミュレーションモードにあるデコー拡張モードで
動作するとき1に設定される。プロセス主要語PMWO
の第4のバイトはデコ−拡張番号を含み、かっこのシス
テムがエミュレーションモードであるとき利用される。
プロセス主要語PMWIはプロセス制御ブロックPCB
のバイト4−7に記憶される。 PWMIの詳細は第10c図に示されている。 状態バイト1016はPMWIの第1のバイトであり、
かつ状態レジスタ内容を記憶する。マルチプロセッサバ
イトMPIO18はマルチプロセッサアーキテクチヤに
おいて重要であり、さもなければこのフィールドはゼロ
である。プロセス主要語1の第2と第4のバイトはそれ
ぞれMBZフィールド1017と1019であり、かつ
それらは通常の動作の間ゼロでなければならない。プロ
セス主要語PMW2はプロセス制御ブロックのバイト8
〜11を占め、かつ第10f図に詳細に示されている。 第10f図を参照する。ビット4〜31からのフィール
ドは、セマフオアのローカル・ネームSEC、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図の
DEXr番号1004参照)。 PCB400のバイト16〜23はそれぞれ2アドレス
スペース語ASWOとASWIを含み、各ASWはセグ
メントテーブル語のアレイへの指示器を含む。 ASWOとASWIの両方はそれぞれ、第10h図に示
されたのと同じフオーマツトを有する。セグメントテー
フル語のアレイのサイズはアレイ内のセグメントテーブ
ル語の数によって限定され、奥形的にはASWOのため
に6つとASWIのために8つから成る。STWSZフ
ィールド1 036はセグメントテーブル藷のアレイの
サイズを示す。セグメントテーブル語アレイフィールド
STWAI027は16バイトを単位にしてアレイの絶
対アドレスSTWAを含む。すなわちアレイの絶対アド
レスはバイトでSWAの1階である。 PCBのバイト24〜27は第10i図に詳細に示され
た例外語EXWを含む。 例外語は、プロセス主要語PMW2内に記憶されたよう
なクラスに従うプロセス例外に続いてなされる動作を限
定する例外クラステーブルへの指示器(SEG、SRA
)1029を含む。 (第10f図参照)。例外語EXWのM故フィールド1
028は0でなければならない。PCBのバイト28〜
31内に位置したスタック語SKWは、プロセスが動作
していないときプロセスのスタツクのTレジスタのトッ
プの値を含み、第10i図に詳細に示される。 第10j図を参照する。ビット0と1はTAGフィール
ド1 030を限定する。TAGはその内容によって記
述子のタイプを示し、かつSKWのためにゼロでなけれ
ばならない。 SKW語のビット2と3は保護目的のためにスタックの
セグメント・アドレスに関連したりング番号を含むリン
グフィールド1031を含み、そしてこの場合セグメン
ト’アドレスはゼロでなければならない。ビット4〜3
1はセグメント番号SEGと、セグメント関連アドレス
SRAI032を含み、かつそれはセグメントテーブル
で記述されるセグメントと、このセグメント内のセグメ
ント関連アドレスを識別するフィールドである。スタッ
ク語SKWは、プロセスが動作ステートを離れる毎に更
新される。それはこのプロセスが動作する毎にTレジス
タの内容を再記憶するために使用される。この最後の場
合に、TAGI030とR川GI031はゼロであるか
テストされなければならず、さもなければ非合法なPC
母例外が生じる。PCB400のバイト32〜35は、
時にはICCとして参照される命令カウンタ内容語IC
Wを含む。 第10k図を参照すると、命令カウンタ語にWの詳細が
示され、ここでTAGフィールド1033は2進00を
含まなければならない(すなわちゼロ以外の値は命令カ
ウンタにおいて非合法である)。 ビット2と3を占める現在のRINGフィールド103
4は、主記憶装置状態の呼び出し権を決定するときに使
用されるプロセスの現在のリング番号を限定する。ビッ
ト4〜31は、セグメント番号と実行されるべき次の命
令のアドレスを限定するセグメント関連アドレス(SE
C、SRA)1035を限定する。 バイト3 6〜3 9のMBZフイールドはゼロでなけ
ればならない。 (M故フイールドは常にゼロでなければならないフィー
ルドを示すということに注意)。 M欧語はPCBが名前J、Pから呼び出される毎にテス
トされる。 もしそれがゼロでないならば、非合法PC財例外が生じ
る。 スタツクベース語SBWO−2はプロセス制御ブロック
400内のバイト40〜51を占める。 これらの語は第101図に詳細に示されたのと同じフオ
ーマットを有する。それらはスタツクオベレーションの
間に利用され、かつ使用されるときはいつでもそれらの
TAGフイールド1036はRmGフイールド1037
はゼロでなければならず、さもなければ非合法PCB例
外が生じる。 ビット4〜31は、それぞれリング0,1,2のために
スタックセグメントの第1のバイトのセグメント・アド
レス(SED、SRA)1038を含む。プロセス制御
ブロック400のバイト52〜83はベースレジスタ保
持領域(8語)のために指定されたスペースである。 バイト84〜147は全ての汎用レジスタ(1虎積)の
値を保持するために利用される保持領域である。バイト
148〜179は科学レジス夕を保持するために利用さ
れる保持領域である(8語)。 5つの2重語が、PMWO語のアカウン ト・モードビットが設定されるとき、時間アカウント目
的のためにPCBゼロアドレス上方のPCB400内に
備えられる。 これらの語はPCBアドレスマイナス8からPCBアド
レスマイナス40川こ位置する。各語は、最初の52ビ
ットにマイクロ秒単位で表わされた時間もしくは期間を
含み、ビット52〜63はゼロで満たされる。余剰時間
終了倍長語RT○(PCB内の0上方の最初の8バイト
)は、終了例外が生じる前に、このプロセスに代ってプ
ロセッサによって実際上費やされるだけの時間を含む。 RTO語は次のようにして更新される。すなわちプロセ
スが動作ステートを出る毎に、プロセスタイマー値はR
TO語内に記憶される。プロセスが動作ステートに入る
毎にプロセスタイマー値は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が読
みこまれ、かつTOOの内容からCETの内容を差し引
いたものがRTAに加えられる。バイト32〜39の現
在のェントリ時間 CET2重語は、プロセスが次のステート、すなわち準
備、待機、動作、そして中止ステートの一つに入る一日
の時間を含む。 システムベース構成 第6図を参照すると、システムベース600のフォーマ
ットが示されている。 このシステムベースは絶対王〆モリ内にあり、かつファ
ームウェアによって開発され、そして読み出すことがで
きるが書きこむことのできない境界アドレスレジスタ(
BAR)を通して呼び出すことができる。境界アドレス
レジスタBARはハードウェアのために指定された主メ
モリ内の領域の下方にあって、かつハードウェアのため
に指定されたメモリのこの領域とシステムベース600
とを分離する。さて第6図を参照する。システムベース
600は、現在動作中のプロセスのためにジョブステッ
プ番号とプロセス群番号(J、P)を含む多数のシステ
ム特質を含む。 プロセスJ、Pのローカル・ネームから、相当するプロ
セス制御ブロックPCBの絶対アドレスが得られる。J
テーブルのサイズ及びアドレスはJテーブル語(JTW
)の内容によって限定される。この藷はBARレジスタ
によって限定されたアドレスに置かれる。JTMのフオ
ーマツトは第11a図に示されている。第12図のサイ
ズ(JTSZ)1101あるいはJテーブル1204は
、255のエントリまであるJテ−ブル1204のェン
トリ数を限定する。JTSZI IOIは8ビットの正
の整数である。すねなわちもしJがJTSZよりも大き
いならば、Jテーブルからの例外が生じる。Jテーブル
1204の絶対アドレスはJテーブルポインタ1 10
2を1針部こすることにより得られる。Jテーブル12
04はJテーフルェントリを含み、そのフオ−マットは
第11b図に詳細に示されている。各Jテーフルェント
リは、Pテーブルポインタ1104を16倍することに
よって得られるPテーブル1205の絶対アドレスを限
定する。Pテーブルのサイズ(PTSZ)1 103は
Pテーブルのェントリ数を限定する。PTSZは8ビッ
トの正の整数であり、かつそれは典形的には0はら25
5まで変化して、Pテーブルのェントリ数を指示する。
Pテーブルからの例外は、PがPTSZよりも大きいな
らば生じる。Pテーブル1205の各ェントリは、プロ
セス制御フロツクィンジケータ1 107を1針音する
ことにより、プロセス制御ブロック(PCB)1206
の絶対アドレスを限定する。存在インジケータPI I
05は、2進0に設定されるときPCB1206の不存
在を指示し、かつ2進1に設定されるときPCBの存在
を指示する。(存在ィンジケータPII06が0である
とき、空のPテーフルェントリ例外が生じる)。Pテー
ブルインジケータのビット1〜7(第11c図)は0(
MBZ)1106でなければならず、さもなければ非合
法Pテーブルェントリ例外が生じる。システムベース6
0 0のアドレスBAR十4において、Gテーブル語
(GTW)のフオーマット・バイトがあり、第11d図
に詳細に示されている。 第12図のGセグメントテーブル1212のサイズ及び
アドレスはGテーブル語(GTW)の内容によって限定
される。Gテーブル1 2 1 2のサイズ(GTSZ
)1108は、奥形的に255ェントリまであるGテー
ブルのェントリ数を限定する。GTSZは8ビットの正
の整数である。すなわちもしG番号がGTSZよりも大
きいならば、Gテーブルからの例外が生じる。Gテーブ
ル1212の絶対アドレスはGテーブルボインタ110
9を1併音することにより得られる。Gセグメントテー
フルエントリのフオーマツトは2語サイズ(8バイト)
であり、かつGセグメント記述子と呼ばれる。Gセグメ
ント記述子のフオーマットは第1 1eと1 1f図に
詳細に示されている。全てのGセグメント記述子は直接
的であり、それ故間接ビット1、1111は0でなけれ
ばならず。さもなければ非合法記述子例外が生じる。存
在ィンジケ−タPITIOは1ビットフィールドであり
、かつそれは2進1に設定されるとき、セグメントが、
その記述子が相当するセグメント番号の主記憶装置内に
限定されるということを示すのに対して、もしそれが0
にクリアされていたならばトセグメントは限定されず、
セグメント記述子への照会により、セグメント例外をし
そこなう。利用ビットAIl12は1ビットフィールド
であり、かつそれはセグメントが利用できるかどうかを
指示する。それはこのセグメントが限定される場合にチ
ェックされるにすぎず、(すなわちPは2進1に等しい
)さもなければそれは無視される。使用されたフラグフ
イ−ルドUII13は、セグメントが呼び出されたかど
うかを指示する。もしUビットが2進0に設定されるな
らば、このセグメントは呼び出されないのに対して、も
しUフィールドが2進1に設定されるならば、セグメン
トは呼び出される。書きこまれたフラグフイールドWI
I14は、セグメントが書き込まれたかどうかを指示す
る。 もしWが2進0に設定されるならば、このセグメントは
書きこまれないのに対して、もしWが2進1に設定され
ているならばセグメントは書きこまれる。Gセグメント
記述子のゲート・インジケータOSII15は2進01
に設定されなければならず、さもなければ非合法セグメ
ント記述子例外が生じる。この理由は、Gセグメントが
常にセマフオアを含み(逆は真ではない。すなわち全て
のセマフオアはGセグメント内にあることが必要ではな
い)、そしてセマフオアの命令はGSコードを2進01
にすることが必要であるということである。セグメント
1214のベースの絶対アドレスは、24ビットのベー
スフイールド1116によって第11e図のGセグメン
ト記述子内に限定される。すなわちこのフイードの内容
は絶対アドレスを得るために1所昔される。第1 1f
図のGセグメント記述子の第2の語はGテーブル121
2内のビット位置32〜63を占める。RSUフイール
ド1117、ビット32〜39はソフトウェア使用のた
めに指定され、かっこの場合のようにGセグメント記述
子として使用されるとき一般に無視される。M旧Zフィ
ールド1 1 18は0でなければならず、さもなけれ
ば非合法セグメント例外が生じる。M欧フィールド11
18はビット40〜51を占めるので、、それは小さな
セグメントSIZEのためのフイールドであるSIZE
フィールド1119を設定する。 従って全てのGセグメントは小さなセグメントタイプの
ものでなければならない。セグメントSIZEII19
はこのセグメント内のバイト数を限定する12ビットの
正の整数であり、このセグメントサイズは16の倍数と
して解釈される。それ故、Gセグメント1214のセグ
メントサイズは災バイト(小さなセグメント)を越える
ことができない。 Gセグメント内の変位○が、DがSIZEIII9より
も大きいかそれに等しいところで照会されるならば、セ
グメントからの例外が生じる。Gセグメント及びそのセ
グメント内の変位Dを使用する主メモリを呼び出す方法
はGDアクセシングと呼ばれる。 G、Dメモリオペレーションの間に生じる種々の例外は
G、Dアクセス例外として参照される。 再び第6図のシステムベース600を参照する。 BAR+8とBAR十44の間に位直した9つのシステ
ム例外セル語がある。システム例外セル語EXCのフオ
ーマツトは第1 1g図に示されている。システム例外
が生じるとき削除されたプロセスにメッセージを伝達す
るためにセマフオアカミ矛U用されるので、これらのセ
マフオアへのポィンタはメモリの9位贋内に見られ、そ
して各位直はシステム例外のクラス毎に一つの、システ
ム例外セルと呼ばれる。M旧Zフィールド1 1 20
は2進0に設定されなければならず、さもなければシス
テムチェックが生じる。各例外セル(EXC)はそれぞ
れシステム・ネームG、DI121と1122を含む。 システムベース600のBAR+44に位直したチャン
ネル例外セルは、前述したシステム例外セルと同様のフ
オーマツトを有し、かつチャンネル例外が生じるとき削
除されたプロセスにメッセージを伝達するために使用さ
れるセマフオアのシステム・ネームGDを含む。 内部プロセッサ待ち行列語IPOWはBAR+48で始
まるように位置し、かつそのフオーマットの詳細は第1
1h図に示されている。 IPOW語は、参照番号905と805によって第9図
に示されたような準備プ。 セスの待ち行列(Q/PR/RDY)のヘッドを指示す
る。準備プロセスの待ち行列(Q/PR/ROY)は準
備ステートにある全てのプロセッサをリンクする。 それは準備プロセス待ち行列のトップを指示することに
より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弦フィ‐ルド1123は
0でなければならず、さもなければシステムチェックが
生じる。 システムベース600のBAR+52において、初期と
現在の再試行カウントのための記憶が図示されており、
そのフオーマットは第11i図に詳細に示されている。 NESフィールド1 125は非機能記憶フィールドで
あり、かっこのシステムベースによっては利用されない
。初期の再試行カウントフィールド1126と現在再試
行カウントフィールド1127は機械故障例外状態を発
生させるために機械エラーが創られる前に自動命令再試
行が実行される回数を制御するために使用される。それ
らにリセット再試行カウントにより同じ数でロードされ
る。第11i図に示された動作プロセス語 (RPW)はシステムベース600のBAR+56内に
記憶され、かつモノプロセッサ・アーキテクチヤの場合
に優先権と共に、動作プロセスのネームを記憶するため
に使用される。 NFSフィールド1128と1131はそれぞれ非機能
故障フィールドであり、かつ任意の手段による任意の目
的のために利用されるが、一般的にはシステムベースに
よって利用されない。 動作プロセスの優先権レベルはPRIフィールド112
9内に記憶される。 非同期トラツプビツトがABフィールド1132内に記
憶されるのに対して、非同期トラツプリングがARNフ
ィールド1132内に記憶される。モノプロセツサ・ア
ーキテクチヤの場合に動作プロセスの論理ネームJ,P
はJ、Pフィールド1133内に記憶される。第11k
図に示された絶対化テーブルポィンタ語はシステムベー
ス600のBAR+60に位臆し、かつそれは、BAR
の内容をISLプログラムの全ての絶対アドレスに加え
ることにより、初期システムロード(ISL)プログラ
ムの絶対アドレスを開始するために初期システムロード
で利用される。 絶対化テーブルポインタ1135は絶対化テーブル(図
示されず)の位置を限定する。絶対化テーブルサイズは
ATSZフィールド1 1 34によって示されている
。第111図に示されたCPU直列番号語はBAR+6
4に位置した4バイト語であり、かつCPU直列番号フ
ィールド1 1 36内にCPUの直列番号を含む。 第11m図に示された主記憶上限語は BAR十68に位置し、かつそれは主記憶に最後に利用
できる譜の絶対アドレスを与えることにより主記憶上限
1139を示す。 BAR+72に、第1 1n図に示された語が位置し、
初期システムロードISり度贋チャンネル番号(CN)
1140とハードウェア装暦チャンネル番号(CN)1
141を形成する。 計算機システムで使用される装置の型式及び副型式は、
それぞれフィールド1143と1144にハードウェア
装置型式語(第11o図)によって示されるのに対して
、RSUフイールド1142はソフトウエアのために指
定される。 この語はシステムベースのBAR+76に見られる。 第11p図に示されたのと同機のタイプのフオーマツト
を有する同様の語は、初期システムロードで使用される
装置の型式及び副型式を含む。この語はBAR+80に
位置している。 計算機の再スタートボタンが押されると き、シュミレートされたVオペレーションはセマフオア
で実行され、準備ステートに入る。 このセマフオアへのポイン夕はシステムベース600の
BAR+滋で見られ、かつ再スタート・セル語と呼ばれ
、第11q図に示されたフオーマツトを有する。このフ
オーマットは前述したシステム例外セルと同様であり、
それぞれGフィールド1149とDフィールド1150
においてセマフオアのシステム・ネームG,Dを含む。
M故フィールド1148は0でなければならない。 計算機システムに1以上のプロセッサがある場合、マル
チプロセス拡張のためにシステムベース600のBAR
+聡に語が備えられる。 この藷の詳細は第11r図に示されている。システムベ
ース及びプロセス制御ブロックの使用例第12図を参照
すると、ユーザーセグメント、システムセグメント、あ
るいは待ち行列プロセッサ準備(Q/PR/RDY)セ
グメント、のアドレス指定をし、かつそれを呼び出すた
めに、プロセス制御ブロックと絹合せてシステムベース
がどのように利用されるかの一例が示されている。 主メモリー200はハードウェア使用のために指定され
た部分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つのア
ドレススペース語ASWOとASWIがある。ベースレ
ジスタ1201のセグメントテーブル番号フィールドS
TNの高額位ビットは2つのアドレススペース語の一方
を呼び出すために使用される。この場合には、セグメン
トテーブル語アレイSTWA1208を指示するセグメ
ントテーブル語アレイSTWAポインタを有するASW
Iである。ベースレジスタ1201のセグメントテーブ
ル番号STNと共に、8つのセグメントテーブル語の一
つがSTWA1208に呼び出され、かつそれは8つの
セグメントテーブル1210の一つを指示する。 ベースレジスタ1201からのセグメントテーブルエン
トリSTEはそのときセグメント記述子が置かれるセグ
メントテーブル1210の256のェントリの一つを創
るために利用される。セグメント記述子はそのときユー
ザーセグメント1211を呼び出すために利用される(
詳細については、発明の名称が“区分アドレス開発”で
この発明と同じ該受人に譲渡された米国特許第39斑0
96号を参照のこと)セマフオアを記憶するために利用
されるシステムセグメント1214を呼び出すために、
Gテーブル語GTWはシステムベース1215で利用さ
れる。 Gテーブル語のアドレスは、システムベースのGテーブ
ル語の変位を、境界アドレスレジス夕BAR1202に
加えることにより得られる(第6図参照)。Gテーブル
語GTWはGテーブル1212を指示するGテーブルポ
ィンタを含む。このシステムに利用できるG番号を利用
し、かつGテーブルにインデックスすることにより、G
セグメント記述子は呼び出され、それはシステムセグメ
ント1214のアドレスを指定するために利用される。
同様に、システムベース1215は、Q/PR/RDY
セグメント1213を指示する内部プロセッサ待ち行列
語IFQWを位置させることにより、準備プロセス待ち
行列(Q/PR/RDY)を呼び出すために利用される
。 G 制御ユニット第13a−13c図を参照すると、制
御ユニットの詳細が示されている。 制御ユニットは中央処理ユニット(CPU)から分離し
て示されているけれども、それは実際上CPUの一部で
あり、かつ制御ストアユニットCSU1301、制御ス
トアインターフェイスアダプタCIA1302と付属副
ユニット、制御ストアローダーCSL1303、帯庇御
及びロードユニットCLU1304から成る。 制御ストアユニットCSU1301は、制御及びロード
ユニットCLU1304と制御ストアインターフェイス
アダプタCM1302を通して、制御ストアローダーC
SL1303からマイクロ命令を受け取る。 通常の動作条件のもとで、マイクロプログラムはシステ
ム開始の間外部源からロードされ、永久制御機能の機械
になる。しかしながら、制御ストアユニットCSU13
01は種々の中央処理ユニットCPU1306を演算モ
ードにする様に再ロードされ、かつ開始される能力を有
する。CPUのオペレーションの次のモードはCSU1
301の制御のもとで利用できる。 すなわち{幻、固有モード、‘b’ェミユレ−ションモ
ード、‘c}固有及びェミ′ュレーション同時モード、
‘d}診断モードである。この能力は、CP川こあるマ
イクロ命令がエミュレーションユニット1316、算術
論理ユニットALU1317、命令フェツチュニツトI
FU1318、アドレス制御ユニットACU131 9
、及びデータ管理ユニットDMU1321のような全て
の他のCPU機能ユニットのオペレーションを制御する
ために使用されるマイクロオペレーション源であるため
、可能である。また中央処理ユニットCPU内に前述し
た汎用レジスタ1307、ベース・レジスタ1308、
科学レジスタ1309、Tレジスタ1310、状態レジ
スタ131 1、命令カウンタに1312、及びハード
ウェア制御マスク・レジスタ1313が示されている。 典形的には、制御ストアユニットCSU1301は、読
み出し/書きこみランダムアクセスストア(RAM)と
混ぜられた舷のバィポーラ集積回路プログラム可能の謎
出専用メモリ(PROM)である。 それは奥形的には150ナノ秒の読み出しサイクルと4
50ナノ秒の書きこみサイクルを有する。制御ストアの
各位層は一つの84ビットのマイクロ命令語(後に十分
に説明される)を記憶し、かつ各マイクロ命令語は1つ
のCPUサイクルを制御する。制御ストアユニットCS
U1301の制御ストアの各位層が読み出されると、そ
の内容は、マイクロオペレーション制御信号を発生する
マイクロオペレーション解読器によって解読され、かつ
各信号によりCPU内で指定されたオペレーションが行
なわれる。(詳細に後述される)。各マイクロ命令語内
の位置を分類することにより(詳細に後述される)、指
定のCPUオペレーションあるいは命令を実行する制御
ストアシーケンスが得られる。 各命令がCPUによって開始されると、オペレーション
コード内のあるビットは制御ストア起動シーケンスを決
めるために使用される。命令解読機能によって設定もし
くはリセットされるあるフロップ(図示されず)のテス
トにより、必要なとき制御ストアメモリを更に特定のシ
ーケンスに分岐させる。制御ストアインターフェイスア
ダプタ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を透して、CSU、mU、ALU、DMUと通
信する。 ACUはCPUの全てのアドレス開発に対して責務があ
る。ACUへの、ACUから、そしてACU内の全ての
オペレーションは、このユニット内のCSUマイクロオ
ペレーション及び論理によって命令される。ACUの通
常のサイクルは命令の型式よりも命令内のアドレスの型
式に左右される。 アドレス型式に従って、ACUは命令の各アドレスのた
めに異るオペレーションを実行する。ACUはまた典形
的にはセグメント数と共に、8つの最も最近に使用され
たメモリセグメントのベースアドレスを記憶する道旨想
〆モリ1319を含む。 メモリ要求がなされる毎に、セグメント番号は、セグメ
ントのベースアドレスがすでに開発され、かつ記憶され
たかどうかを決定するため彰想〆モリ内容に対してチェ
ックされる。もしベースアドレスが連想メモリ1319
a内に含まれるならば、このアドレスは絶対アドレス開
発で使用され、かっかなりの時間が節約される。 もしベースアドレスが連想メモリ1319a内に含まれ
ないならば、それは主メモリテーブルを呼び出すことに
よって開発される。しかしながら、セグメントのベース
アドレスが開発された後、それは後の参照のために、セ
グメント番号と共に連想メモリ内に記憶される。ACU
、mU、DMU、CSUとのインターフェイスは算術及
び論理ユニットALU1317である。 その主要な機能は算術オペレーションとCPUの必要な
データ処理を実行することである。算術論理ユニットの
オペレーションは完全に制御ストアユニットCSU13
01からのマイクロオペレーション制御信号に左右され
る。ALU1 31 7及びCSU1 301と、スク
ラツチパツドメモIJユニツトLSU1315が関連し
ている(時にはまたローカル・ストアユニットとして参
照される)。 それは奥形的には25成立母(位置毎に32ビット)の
ソリツデステートメモIJと、そのメモリのための選択
及び読み出し/書きこみ論理装置から成る。スクラツチ
パツドメモリ1315はCPU制御情報及び維持能力情
報を記憶するために使用される。 されに、スクラツチパツドメモIJ1315は、データ
処理の間主としてオペランド及び部分的結果の一時的記
憶装置のために使用されるワーキング位置を含む。また
計算機システムの種々雑多なステートを記憶するため、
典形的に私のフリツプフロツプから成る補助メモリ13
17aがALU1317と関連している。 CPUはまた刻時ユニット1 320を有し、かつ本質
的に2刻時システムがある。 すなわち第1の亥9時システムは制御インターフェイス
アダプタC山1302のために時間調節をし、かつ第2
の刻時システムは中央処理ユニット内の機能ユニットの
オペレーションのためのタイミングパルスを発生する。
第13c図を参照すると、制御ストア語I325のフオ
ーマツトが示されている。 制御ストア語は典形的には縄ビットの中であり、かつ6
つの主要フィールドに分割される。すなわち、a シー
ケンス型式フィールド1326(3ビツト)b 分N皮
及び/又はマイクロオペレーション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に等し
いとき、次のアドレスを発生するために利用される。K
Sレジスタ1337の最初の6ビットは、8フィールド
、Cテスト結果、Dテスト結果、及びLフィールドと共
に利用されて、次のマイクロ命令の次のアドレスを発生
し、それからマイクロ命令はアドレスレジスタKS13
37内に置かれる。Eフィールドが2進4に設定される
とき(ブロック1335を参照)、次の選択されたアド
レスは割込み復帰レジスタKA1 339から取られる
。KAレジスタ内に記憶されたアドレスは、ハードウェ
ア割込みが生じるとき次のアドレス発生論理装置によっ
て発生したものである。Eフィールドが2進5に設定さ
れるとき、分岐はマイクロプログラムサブルーチンから
の副復帰を開始するために使用される。使用されるとき
、復帰レジス夕KR1346の内容は次の制御ストアア
ドレスとして使用される。復帰レジスタ1346は制御
ストア命令を発することによってロードされ、そしてそ
れはインクリメンタ1338からKRレジスタ1346
に、KSレジスタ1337の現在の制御ストアアドレス
十1をロードする。1レベルネステイング・サブルーチ
ン能力はKT復帰分岐レジスタ1347を通して発生す
る。 KRレジスタ1346がロードされる毎に、KRレジス
タの古い内容は、マイクロプログラム復帰が呼ばれる泰
にKTレジスタ1347に伝達される。すなわち、KT
レジスタの内容はKRレジスタに伝達される。第3のレ
ベルのネステイング・サブルーチン能力はKUレジスタ
134川こよって供給され、かつ第4のレベルのネステ
ィング・サブルーチン能力はKV復帰分岐レジスタ13
49によって供給される。 制御ストア語のEフィールドが2進6に設定されるとき
、アドレス指定された次の制御ストア語は、インクリメ
ンタ1 338において、KSレジスタ1337の現在
のアドレス+1に等しくなる。 Eフィールドが2進7に設定されるとき、CSU1 3
01は診断モードに入り、次のアドレスは現在のアドレ
ス+1になる。前述され、かつブロック1335で示さ
れた次の制御ストアアドレスへの分岐のシーケンス制御
に加えて、第13b図のブロック1336にはハードウ
ェア発生シーケンス制御が示されている。 (言王:ブロック1335と1336はマイクロ命令が
取られる異るフオームを描くように図示されたハードウ
ェアレジスタである)。ハ−ドウェア発生分岐は、Eフ
ィールドを削除し、固定アドレスを制御ストアアドレス
レジスタKS1337に入れる重合状態である(エラー
のように、制御ストアスキャン等を開始する)。この分
岐は、割込みラインを1刻時期間の間高くし、かつEフ
ィールドの制御のもとでKA割込み復帰レジスター33
9内に発生したアドレスを記憶することにより創られる
。ハードウェア発生アドレスは制御ストアアドレスレジ
スタ内に置かれる。あるハ−ドウェア/ファームウェア
発生割込みは、割込みブロックフリップフロッブが、割
込み条件が満足されるまでそれらのクラスの別の遮断が
実行されるのを妨げるとき優先権を持つ。ファームウェ
アマイクロオペレーションは、ファームウェア制御のも
とにあるシーケンスの割込みプロツクフリップフロップ
のリセツトを制御するために存在する。ハードウェア制
御のもとでこれらのシーケンスはこのシーケンスの終り
にフリツプフロツプをリセットする。優先権によって表
にした次の条件はこのカテゴリに存在する。すなわち‘
a瓶。御ストアロード、‘b■9御ストアスキヤン、【
c}ハードウエアエラー、【d}ソフトウェアエラーで
ある。残りのハードウェア条件は割込みブロックフリツ
プを設定しないが、しかし発生するときただちに動作を
生じさせる。磯先権によって表にされた次の条件はこの
カテゴリに存在する。‘a’開始 {b} ソフトークリア 【c} 維持パネルに入る ‘d’維持パネルに入る 【e1ハードウエアを出る 開始信号はCSU1301をアドレス2進0に分岐させ
、リードウェアリセット可能のエラーをクリアさせ、ハ
ードウェア制御のもとで制御ストアスキャンシーケンス
を伴う制御ストアロードオペレーションを実行させる。 それはまたシステムを開始させる。ソフトウエアクリア
信号はCSU1301をアドレス2進0に分岐させ、ハ
ードウェアリセット可能のエラーをクリアさせ、割込み
ブロックフリップをリセツトさせる。維持パネル入信号
はCSUを維持パネル(図示されず)上のCSUアドレ
ススイッチで前もって設定されたアドレスに分岐させる
。維持チャンネル入信号はCSUを維持チャンネル(図
示されず)を経て発生したアドレスに分岐させる。 ロードされたアドレスは、維持チャンネルの一部である
維持パスQMB1344からなされ、かつ正当化される
。ハードウェア出信号はCSUを2進アドレス2に分岐
させる。このシーケンスは維持手段として使用される。
このシーケンスの終りに、Eフィールド分岐を発するこ
とにより復帰が開始され、かっこのEフィールドは2進
4に設定される。制御ストアロード信号はCSUをアド
レス2進0に分岐させる。 それはまたCSU謙みこみサイクルフロツプ(図示され
ず)、システムクロツク1 320をオフにし、CSU
をロード・ステートに置く。ロード・ステートにおいて
、CSUは、制御ストアローダーCSL1303、IO
C1305、主メモリ102、あるいは維持パネル13
55からロードされることができる。CSLからロード
されるとき、自動スキャンがロードの終りに発生する。
他の媒体からロードされるとき、スキャンはマイクロオ
ペレーション信号を発生するか、あるいは維持パネル上
のスキャンスイッチを設定することによって発する。制
御ストアスキャン信号はCSUをアドレス2進0に分岐
させる。制御ストアスキャンはこのシーケンスの持続期
間中ハードウェア制御のもとにある。このスキヤンの間
、システムクロツク1320はオフであり、それ故、命
令もしくはテストは実行されない。スキャン順序の終り
に、ハードウェアは割込み復帰レジスタKAの内容をア
ドレスレジスタKSに伝達し、このシステムクロツクは
オンにされ、制御はファームウェアに復帰する。ハード
ウェアエラー信号はCSUをアドレス2進4に分岐させ
る。 通常の処理モードにおいて、任意のCPU機能ユニット
で検出されるハードウエアエラーはハードウエアエラー
ラインを動作させる(図示されず)。発生した制御スト
アシーケンスは、システム条件をテストして、とられる
べき動作を決定する。 診断モードにおいて、検出可能なハードウェアであるエ
ラー条件はマイクロ診断には明白である。マイクロ診断
はとられるべき動作を制御する。他方、ソフトウェアエ
ラー信号は制御ストアをアドレス2進1に分岐させる。
このアドレスは、マイクロプログラム制御のもとにある
ソフトウェアエラー報告シーケンスの開始である。再び
第13c図を参照する。Eフィールド1326は前述し
たように、分岐コードのための3ビットフィールドであ
る。 分岐及び/又はマイクロオペレーションフィールド13
27はA、B、C、D及びLフィールド(また第13b
図のブロック1335で示されている)から成り、ここ
でAフィールドは次のアドレスの上6ビットであり、B
フィールドは鼠分岐のマスクフィールドの次のアドレス
の中間4ビットであり、Cフィールドは64テストの1
つのための6ビットテストフイールドであり、Dフィー
ルドは64テストのうちの一つのための別の6ビットテ
ストフイールドであり、そしてLフィールドは最も重要
でないビットである。Kフイールド1328は14ビッ
トフイールドであり、その6ビットは一定フィールドの
ためのものであり、4ビットは一定もしくはステアリン
グフィールドのためのものであり、そして4ビットはス
テアリングフィールドである。バスへのデータフィール
ド1329はQMBバス1344のQA部分への情報を
制御するための4ビットを有するQAフィールドから成
り、かつQBフィールドはQMBバス1344のQB部
分への情報を制御するための4ビットを有する。Fフィ
ールド1330はマイクロオペレーション副命令を発生
するために符号化される32ビットのフイールドである
。Pフイールド1331はチェックのために予約された
4ビットから成る。オペレーションにおいて、マイクロ
命令語は制御ストアアレイ1333内に記憶される。 ーサイクルのオペレーションの間、制御ストアアレイは
KSアドレスレジスタ1337の内容によってアドレス
指定される。これによって、その位置の内容は読みこみ
ラツチの群内に読みこまれるアドレスによって指定され
る。読みこみラッチの藷内容の一部はCPUの機能ユニ
ットの各R内の記憶レジスタに分布され、あるいはそれ
に伝達される。 各機能ユニットはシステムクロック糠の制御のもとで制
御ストア語によって指定される必要な副命令を発生する
解読論理回路を含む。一般に、解読は、解読時間を減少
させるために、かつもし解読が中央で実行されたならば
命令信号を伝達するために通常必要とされるケーブル数
を減らすために、中央で実行されるよりもむしろCPU
の各機能ユニット内で実行される。さらに、この解読は
ケーブル遅延の差から生じる時間問題を避けるために各
ユニット内でなされる。さらに、各ユニットで副命令を
解読することにより、この機館ュニット内に存在するあ
る条件を表わす信号が、CIAユニット1302に復帰
させる必要のないある副命令信号を発生させるために必
要とされる。 典形的解語ユニット1359は、マイクロ命令語から種
々のフィールドを受け取り、かつマイクロオペレーショ
ン信号a,b,c,d,・・・・…・・・…・・q,r
を発生させるように第13b図に示されている。 典形的マイクロオペレーション解読器1359はマイク
ロ命令語からの命令を受け取る。マイクロ命令語からの
フイールド‘ま解読され、かつ複数のラインs,t’u
’.・….・・.・….・y’zの一つを高く設定する
。マトリックスは、点Q,8,y……………J,仇でs
−zラインに予定の制御ラインインピーダンスを結合さ
せることにより形成される。典形的にはマイクロ命令か
らのフィールドが解読されるとき、ラインs−zの一つ
は高くなる。ギリシャ文字ば,岬こよって、マトリック
ス内に示された黒点は2組の線の間に結合するインピー
ダンスを表わし、任意の水平線にそって伝ばんする電気
信号は、インピーダンス結合(黒点)が示される垂直線
a−yに沿って伝搬するように結合される。 そのとき各垂直線a−yはANDゲート1360−13
65の各Rへの入力として結合される。他の入力信号は
またタイミング信号tsを含み、ANDゲート1360
−1365に結合される。従って、各タイミング信号t
sが高くなるとき、他の入力信号が全て高くなるこれら
のゲートは可能にされ、CPUの予定の機能ユニットに
マイクロ命令信号を発生する。たとえば、もし読みこみ
ラッチ1357からの命令1341が解銃され、かつ水
平ラインが高くなるならば、a、b、c、q垂直制御線
は高くなり、ANDゲート1 360,1 36 1,
1 362,1364は、tSタイミング信号がこれら
のゲートに順次印加されるとき可能にされる。 従って、垂直制御ラインがギリシャ文字Q−のによって
表わされる異る点の水平制御ラインに結合される組合せ
は、制御ストアアレイ1333から供給されるマイクロ
命令によって中央処,理ユニット内の機能ユニットを制
御するため中央制御ユニットCPUにマィクロオベレー
ション信号を供V給する永久スイッチマトリックスを表
わす。変更特徴を有する永久ファームウェアは、計算機
システムの館力として必要なマイクロオペレーションの
シーケンスを単に指定することによってこの発明の機械
内に創ることができる。通常のコンディションのもとで
、データ は、またローカルレジス夕YO1343として公知のC
PU書き出しデータレジスタを通して制御ストアアレイ
1333内に書きこまれる。 制御フロップ(図示されず)は、記憶装置アレイの上半
分あるいは下半分が書きこまれているかどうかを限定す
る。制御及びロードユニットCLU1304からのデー
タは維持バスQMBを通してCIA/CSUに到達し、
そして制御ストアアレイ1333に書きこまれる前に記
憶ローカルレジスタYO1343によってバッファされ
る。記憶ローカルレジスタ1343は、議し込み及び書
き出しローカルレジスタの両方と時分割である。マルチ
プレクサKQM1345は維持パネル1355あるいは
マイクロ診断のどちらかによって制御されかつそれに結
合されたレジスタからの読み出し通路を形成する。比較
レジスタKP1350‘ま非機能的使用のために備えら
れ、かつ主として保守目的のために使用され、そして比
較論理装置1352及び解読論理装置1351と共に利
用される。プロセス制御のためディスパッチャフアーム
ウエア デイスパツチヤはフアームウエア/ハードウェアユニッ
トであり、かつその主要目的は種々の待ち行列プロセス
を管理し、かつプロセス間の切り替えをすることである
。 そしてこのディスパッチャは待ち行列プロセスを更新す
ること、プロセス制御ブロックPCB システムベース
の動作プロセス語、及び新たなプロセスのレジスタを含
む。それはまた、セマフオアで実際上待機中のプロセス
にメッセージを送る。(Vオペレーションの後、IOC
または例外処理袋直のためのシミュレ−トVオペレーシ
ョン)。それはまた、プロセスがそのメッセージを送る
ためにフリー・リンクセマフオアで待機しているときメ
ッセージリンクを自由にするPオペレーションの後、セ
マフオアでメッセージを待ち行列化する。ざらに、ディ
スパッチャュニットは固有モードでプロセス実行の“ロ
ールィン”後、あるいはもし現在のプロセスが動作中で
あり、固有モードで実行されるならば“競争”後、固有
モード命令ファームウェアを呼ぶ。 それはまたデコー拡張ファームウェアを次のために呼ぶ
。すなわち【a’そのデコー拡張内で実行されるプロセ
スのロールアウト中の一時的コール‘b} そのデコー
拡張内で実行されるプロセスのロールィソ中の一時的コ
ール‘cー そのデコー拡張内で実行されるプロセスの
ロールィン中の終りの最終的コール{d)もし現在のプ
ロセスが動作中で、そのデコー拡張内で実行されている
ならば、競争の後の最終的コール さらに、このデイスバツチヤはこのシステムを、動作プ
ロセスがないときアイドルループ内に置く。 次の様にディスバツチャに入り、あるいはそこから出る
いくつかの方法がある。 {1’開始手順が最後のステップとしてのェントリを形
成する(発明の名称が“システム開始手h膚で、この出
願と同じ談受人に譲渡された米国出願番号第52881
4号を参照のこと)。 ■ 開始及び中止命令がそのェントリのためにディスパ
ッチャに供給される。 開始命令はプロセスを起動させ、かつ中止命令はプロセ
スを終了させる(発明の名称が“起動及び中止命令”で
ある出願番号第529017号を参照のこと){3’
P及びVオペレーションはデイスパツチヤへのェントリ
を形成する。 Pオペレーションはセマフオアからのメッセージを検出
し、かつもしメツセ−ジがなかったなら ば、そのときプロセスは待機ステートになる。 (発明の名称が“セマフオア上の”P及 びVオペレーション”である。 出願番号第52蛾56号を参照のこと) 要するに、ディスパツチャは、どのプロセスが動作して
いるかを決定し、それから現在動作しているプロセスを
ロールアウトごせ(すなわちハードウエアレジスタ、ス
クラツチパッドメモIJ等に含まれる現在動作プロセス
に関する全ての情報をPCB内に書きこむ)、そして新
しいプロセスをロールィンさせる(すなわち新しいプロ
セスを動作させるのに必要な全ての情報を、種々のハー
ドウェアレジスタ、スクラツチパツドメモIJ等にPC
Bから書きこむ)ような適切な動作をとることによって
、プロセスを、従ってプロセス制御ブロックPCBを管
理する主要機構である。 デイスパツチャによって実行されるファームウェア内(
すなわち制御ユニット内)のオペレーションの表示は第
14a一14i図のフローチャートで示されている。 例えば、第14a図のブロック1402はデイスパツチ
ャによって実行されるオペレーションの表示であり、こ
こでマイクロプログラム語は制御ストアユニットによっ
て供給され、かつ解読器1359によって解読されると
き、適当な一連のマイクロオペレーション信号1360
,1361等を通してCPUの応用可能な部分を制御し
て、記憶サブシステム102のシステムベースからIP
OWを回収し、そしてそれをスクラツチパツドメモIJ
1315に伝達する。 同時に、ディスパッチャは、システムベースのGテーブ
ル語GTWによって指示されたセグメント記述子のGテ
ーブルからGOセグメント記述子(第12図参照)に命
令取り出しをする。 IPOW語のビット16−31は16ビットの正の整数
を含み、そしてそれは準備プロセスの待ち行列Q/PR
/RDYのヘッド(最初のバイト)に対しての、GOセ
グメントとして参照されたようなGセグメント番号0の
ベースからの変位である。もしIPQW語のビット1
6一3 1が0ならば、1403準備待ち行列は空であ
ると考えられる。もし準備待ち行列が空であるならば、
それはQ/PR/RDYに現在待中のプロセスがなく、
準備待ち行列は空であるということを示す。決定ブロッ
ク1405内で決定されるべき次の疑問は空ィンジケー
タが設定されているかどうかを決めることによって機械
内に現在動作中のプロセスがあるかどうかである。もし
空ィンジケータが設定されているならば(すなわち現在
動作中のプロセスがない)、そしてプロセッサを使用す
るため待機している準備待ち行列のプロセスがないとい
うことは前もって決定されるので、この機械はアイドル
ステート1406になる。しかしながら、もしこの機械
内に現在動作しているプロセスがあるが、機械を使用す
るために待機しているものはないならぱ、現在のプロセ
スはその次の命令1407を呼び出す。さて、第14a
図のフローチャートの決定フロツク1403に戻る。 もしIPQWのポインタ領域に正の整数があるならば(
すなわちビット16一31)、GOセグメントのIPQ
W語によって指示された準備待ち行列のヘッドはスクラ
ッチパッドメモIJに取り出される。(洋:綴り返しを
避け、明りようにするため、制御ユニット及び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はその機械に“ロ
ールィン”される。従ってファームウェア優先権サブル
−チンPRIQ1418は、フアームウエアサブルーチ
ンRILO1419の命令のもとで、LIFO優先権に
よってかつCJPの最初の“ロールアウト”による優先
番号によって、現在のプロセスCJPを準備待ち行列に
向ける。RLLOサブルーチンは、汎用レジスタ、ベー
スレジスタ「科学レジスタ、Tレジスタ、状態レジスタ
、及び命令カウンタに記憶されるCJPの情報の書き出
しを、主メモリのプロセス制御ブロックPCBの適切な
記憶領域に戻す。そしてそれをRUAの更新にする。さ
らに、PCB内のプロセス主要語0(PMWO)のDE
XT番号は更新される1420。新しいプロセスNJP
はまさに今“ロール・ィン”されようとしている。 境界アドレスレジスタBARは取り出され1 422、
そして動作プロセス語RPWはシステムベースのアドレ
スBAR+56から取り出される。ブロツク1423を
参照のこと。新しいプロセスNJPのネームは次に動作
プロセス語RPWに書き込まれる。 そして新しいプロセスNJPのネームがQ/PR/RD
YのプロセスリンクPLに貫き込まれたので、プロセス
リンクPL内のネームはそれゆえ今RPW、ブロック1
424に置かれる。それゆえNJPは準備待ち行列から
すぐにCJPになり、それゆえQ/PR/RDYでもは
や待たない。 そしてそのネームをQ/PR/RDYのプロセスリンク
PLから取り出すことによって待ち行列解除されなけれ
ばならない。これが実行されるとき、プロセス準備Q/
PR/RDYの待ち行列はファームウエアサブルーチン
UQLK、1 425aによって新しくされる。それゆ
え、機械を取り出されたばかりのプロセスJP番号はも
はや機械の制御を有さないで、それを待たなければなら
ないので、Q/PR/RDY内のプロセスリンク内に置
かれる、1426。この点で、中央プロセスのこの制御
を新しいプロセスに与え、古いプロセスを準備待ち行列
内に薄く変換は完了される。中央プロセッサの制御中に
プロセス(新しいCJP)があるので、空ィンジケータ
はゼロ、に設定される;1427一方中央プロセッサの
制御中にCJPがないならば、空ィンジケータは1に設
定されることになる。この点で、プロセッサの割り当て
は完了され、古いプロセスが準備待ち行列中に置かれた
のに反して、新しいプロセスは中央プロセッサを得る。
しかしながら、新しいプロセスは、汎用レジスタ130
7、ベースレジスタ1308、科学レジスタ1309、
T−レジスタ1310、状態レジスタ1311と命令カ
ウンタ1312のような第13a図の中央処理ユニット
1306のハードウェアのためにまだ動作する準備がな
されてなく、制御命令が新しいプロセスのプロセス制御
ブロックから供給されなければならない。 従ってファームウェアサブルーチン1430はCPUを
制御し、最初PCB(第4図)からスクラツチパツドメ
モIJ1315にPMWを取り出し、そのときPMWO
を取り出す。 PMWOのMB2フィールドはチェックされI433、
もしそれが2進0でないならば非合法的PC財例外が結
果として生じる。しかしながら、もしPMWOのMB2
フィールドがゼロであるならばPMWIは取り出される
1434。またPMWIのMB2フィールドはそれが2
進0かどうかを決めるためにテストされる。 もしそれが2進0でないならば、非合法的PC財例外が
存在する。それに反してもしそれが0と等しいならばデ
イスパッチャはCまで進む。従ってアドレススペース語
OASWOは PCB内の適当なスペースから取り出され、セグメント
テーブル語サイズ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
と等しいかどうかを決定するようにテストされる。もし
TAGフィールドが0と等しくないならば、そのとき非
合法的PCBが結果として生じる。しかしながら、TA
Gフィールドが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)
のケーパビリテイ・バイトがチェックされる1451。
もし科学モードが使用されるならば、そのときPCBの
科学レジスタ保持領域からの科学レジスタの内容は取り
出されそして記憶される1452。ファームウェアはそ
のときアカウントモードが使用されるかどうかを決定す
るためにPMWOのケーパビリテイ・バイトをチェック
させるように進む1453。もしアカウント・モードが
使用されているならば(たとえば2進1に設定されたケ
ーパビリテイ・バイトのアカウント・ビット)、アカウ
ント語はPCB内に存在し、準備時間アカウント語RT
Aは更新される。 そのときファームウェアは、DEXT番号が0に設定さ
れるかどうか決定するために進む1454。もしそれが
0に設定されないならば、機械はエミュレーションモー
ド内にあり(すなわちデコー拡張能力が使用される)、
それがプロセス主要語3のDETS2フィールド以上か
あるいはそれ以下かどうかを決定するためにPMWQの
DEXT番号がチェックされる1455ことを、それは
示している。 またDEXT番号がDETS2フィールドより小さいが
0ではないので非合法的PC母例外が結果として生じる
DETS2フィールドよりそれが大きい場合、機械は合
法的ェミュレ−ションモード内で実行し、Fに進む。決
定ブロック1454に戻って、もし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を動作す
るよう要求される情報はスクラッチパツドメモリにある
いはACUのレジスタのアレイに置かれる。もしCPU
の制御中にCJPが存在しないならば(条件b)、その
とき準備待ち行列のヘッドは動作される。 たとえばディスパツチャは準備待ち行列からのプロセス
リンクPLからNJPを取り出し2それをRPW語に贋
くために、NJPはCJPになる。これを実行すること
によつてプロセスリンクPLはQ/PR/RDYに何も
残されず、それを取り出すように要求される。従って決
定ブロック1461で始まり、−ファームウェアはCP
Uの制御中にCJPがあったかどうかを決定する。 そしてもし自由プロセスリンク(FPは)が存在するな
らばそれは呼び出され、待ち行列化され、CJPはここ
に書かれる。しかしながらもしCPUの制御中にCJP
が存在しないならば、NJPのPMWOのステートバィ
トが更新され1460、機械内にCJPが存在するかど
うか決定される1463。もしプロセッサの制御中にC
JPがないならば、NJPのプロセスリンク‐(QノP
R/RDYの中にあって、現在機械の制御中にあるもの
)は、Q/PR/RDYに取り出された1466(すな
わちQ/PR/ROYから待ち行列を解除させる)、フ
リー・リンク・セマフオアFISPになり、フリー・プ
ロセスリンク待ち行列(第9図の805)内に待ち行列
化され、フリー・プロセスリンク待ち行列の一部になる
1466a。境界アドレスレジスタBARの内容は取り
出され1464、システムベースの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に設定されるならばそのときプロセ
スリング番号PRNが非同期トラップビツトARNより
大きいかあるいは等しいかどうかを決定しチェックされ
る1482。 (AB及びARNは各プロセスのPCBの優先権バイト
に位置され、プロセスが動作ステートにあるとき意味が
ある。AB及びABNはシステムベースのBAR+56
に位置したRPWから取られる。)次のステップ148
4は非同期トラップルーチンに進み、そしてそれは、非
同期トラップビツトもしくは非同期リング番号を最初の
場所に設定させる状態に気をすけるので、RPWのBA
R+56のAB及びARNがリセットされ、そしてもし
これらがファームウェアによってその次にリセットされ
なかったならば、それは実際b悪いものが何もなかった
ところで何かが患ったという指示を出し、従って常に非
同期トラツプルーチン1484に進み、決して実行され
ないだろう。全決定ブロック1481及びI482に帰
って、ABビットが設定されず、あるいはABビットが
設定され且つPRNがARNより大きいならば、そのと
きファームウエアは、プロセッサがいかなるモードで、
即ち通常モードあるいはエミュレーションモード内で動
作することを決定するため進む。従ってDEXT番号は
、それが0に設定されるかどうかを決定するようにチェ
ックされ、それが0に設定されるならば、機械の通常モ
ードで動作する1487。しかしながら、DEXT番号
が0に設定されないならば、エミュレーションモードで
動作する1486。 発明の内容の詳細な説明 ハードウェアノフアームウェア・システムは設定された
オペレーションに処理される記録の2つの基本的タイプ
を認識する。 記録のこれらの2つのタイプは第15A図に例証された
バーチュアルメモリ記録及び第15B図に例証されたデ
ータベース記録である。バーチュアルメモリ記録は一般
的に、記録がセグメント・アドレスによってアドレス指
定されうるオペレーティングシステム手順内部に使用さ
れる。データベース記録は、領域ページーラィン番号と
ともにそれらのデータ記録をアドレス指定するユーザプ
ログラムによってさらに一般的に使用される。領域はユ
ーザファイルを参照し、ページは彼のデータファイル範
囲内の分割を参照し、ライン番号はそのファイルのペー
ジ範囲内の特別な記録を参照する。第15A図に示され
るように、バーチュアルメモリ記録は次のフィールドか
ら構成される。 タイプフィールド1501は記録タイプの説明であり、
この記録の記録記述子(下で説明される)から得られる
。バーチュアルメモリ記録のDスイッチフィールド15
02は記録ステートを説明する。記録は次のようなステ
ートにあることができる。有効、そしてそれは記録を意
味し、現在有効なデータを含む。論理的に削除される、
それはもはや記録を意味せず、有効なデータを含むが、
なおメモリスペースを保持する。長さフィールド150
3は記録のバイトの実際の数を説明する。記録本体15
04は記録の実際のデータを含む。ポインタ・シーケン
ス・フイールド1505は、その記録がオーナーかメン
バーのいずれかであるセットの、次の、先の、最初の、
最後のオーナー記緑のポィンタを含む記録本体の一部分
である。ハードウエア/フアームウエアシステムによつ
て認識される記録の第2の主要タイプは第15B図に説
明する。タイプフィールド1510はまた記録のタイプ
を説明し、下で説明される記録の記録記述子から得られ
る。長さフィールド1511はバイト内の記録の長さを
説明する。記録本体1512は記録の実際のデータを含
む。ポィンタ・シーケンス1513はセットの次の、先
の、等の記録へのポィンタを含む。別々に記録され、後
で説明される各記録のために○スイッチフィールド16
04がある。第15C図と15D図は記録のポィンタ・
シーケンスのフオーマットを説明する(第15A図のフ
ィールド1505と第158図のフィールド1513)
。 ハードウエア/フア−ムウエアシステムは2つの異なる
ポィンタ・シーケンス・フオーマットを認識する。1つ
はメンバー記録に対するシーケンスを認識する第15C
図であり、もう1つはその記録がオーナー記録に対する
第15D図である。 メンバー記録(第15C図)にとって、次のポィンタ・
フィールドはセット内の次のメンバーのアドレス指定を
含む。先のポィンタ1521は現在のセットの以前のメ
ンバーのアドレス指定を含む。オーナー・ポインタ・フ
ィールド1524はセットのオーナーのアドレスを含む
。オーナー記録に対し、ハードウェアノフアームウェア
によって認識されたポインタ・シーケンス・フオーマッ
トは第15D図に示されている。最初のポィンタ・フィ
ールド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フィールドは、クラスゼ。ポイン
タを通して記録をアドレス指定するときに使用されるベ
ース・レジスタから一般的に得られるセグメント番号と
常に合併される。クラス】ポインタは第15F図に示さ
れている。 EOSビット1550及び挿入されないビット1551
は標準限定のものである。フィールドSEG、SRA1
552は標準セグメントアドレスから成り、そしてそれ
らは以前に定義した。これらのポインタは記録を直接ア
ドレス指定するために使用され、かつセグメント番号は
直接そのポィンタを通して供給される。データ・ベース
記録と共に使用されるクラス2とクラス3のポインタの
ために、フアームウエアノハードウェアシステムは、前
述したようにシステムの各ベースレジスタ(第2図の2
02を参照)と共に、関連したインデックスレジスタが
あるということを認識する。 汎用レジスタ8一15,201はインデックスレジスタ
0〜7にそれぞれ相当する。このインデックスレジスタ
番号IXRiはベースレジスタBRiに匹敵する。例え
ば、ベースレジスタBR3のために、インデックスレジ
ス夕ばR3(GRII)は、領域−ページーラィン番号
がポィンタを含み、その現在のSEG、SRAアドレス
はベースレジス夕BR3内に含まれる。このように、ユ
ーザーはSEG、SRAアドレスを有するベースレジス
タあるいは領域−ページーラインフオーマツトのインデ
ックスレジスタ内に含まれるようなデータ・ベースポイ
ンタのどちらかを遺してユーザーの記録のアドレスを指
定することができる。データ・ベース記録で動作するハ
ードウェア/ファームウェア命令は、領域−ページーラ
ィンポィンタをSEC、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ビット○ースイッチ1604と14ビット
オフセット1603がある。Dースィッチは、無為の、
論理的に削除され、物理的に削除され、あるいは有効な
、記録ステートを説明する。オフセットはページの初め
からの相対変位である記録への14ビットボインタであ
る。ハードウエアはこのページに相当するセグメント番
号と連結したオフセットを使用することによってこのペ
ージのデー夕べ−ス記録をアドレス指定することができ
る。対応するセグメント番号を得る方法は下に記述され
る。データ・ベース・ページの残っている部分は記録1
610及び記録1612で表わされたような実際のデー
タベース記録からなる。これらの記録はページのどんな
部分(セグメント)にも位瞳するが必ずしもラインオフ
セット・アレイにおいてそれらの位置と同じ順番に位置
するとは限らない。Dスイッチが無為の、物理的に削除
されるような記録ステートを記述するならば、オフセッ
トはそのときゼロに設定され、記録を存在しないだろつ
。実際のデータベース・ページは第16図に示されたよ
うなページ記述子によってアドレス指定される。 ページ記述このセグメント番号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
図参照)そのフィールドがゼロでないと発見されるなら
ば、そのときシステム−チェック1705が発生する。
システム・チェックの発生で、システムは診断ステート
に入る。MB2フイールドがゼロであるならば、ブロッ
ク1706は次に実行される。 IACフィールドのG−番号は一時レジスタGに伝達さ
れる。変位フィールドは一時レジス夕Gに伝達される。
変位はまた“最初のポインタ”と呼ばれる位置のスクラ
ツチパッド・メモリに伝達される。ブロック1707は
次に実行される。主メモリのフェッチはページ記述子を
命令取り出しのためにアドレスG,Dでなされる(第1
6B図参照)。このフェッチは以前に記述されたように
G、Dアドレッシングの慣習に従ってなされる。G、D
アクセス例外1708はこのメモリフェツチの結果とし
て発生する(たとえばセグメント、非合法的G−Dセグ
メント記述子からである)。ファームウェア・サブルー
チンによってチェックされる領域・ページ・ラインの領
域番号及びページ番号は一致させるためページ記述子の
領域番号フィ−ルド1622及びページ番号フィールド
1624と対照して比較される。もし領域及びページ番
号が一致するならば、ブロック1710が実行され、フ
ア−ムウェア・ルーチンがスクラツチパツドメモリにロ
ードされる主メモリから取り出されたばかりのページ記
述子とともに完了する。現在のページ記述子の領域ある
いはページ番号がチェックされる領域−ページーラィン
の領域及びページ番号に等しくないならば、ブロック1
71 1が実行される。 現在のページ記述子の次の記述子フィールド1620は
一時的スクラツチパツドの位置の内容、“最初のポィン
タ”と対照してチェックされる。もしこれらの2つの値
が等しくないならば一時レジスタDが現在のページ記述
子の次の記述子フィールドと共にロードされるブロック
1713が実行される。ステップ1713に続いてファ
ームウェアによる分岐は、新しいページ記述子(それは
次の記述子によりアドレス指定される)が今取り出され
、続いてチェックされるステップ1710に対してなさ
れる。ステップ171 1に戻って、もし次の記述子が
一時的スクラツチ・パッド位置の内容と、“最初のポイ
ンタ”と等しいならば、これはメモリ内にある全ページ
を記述するページ記述子の全リングがファームウェアに
よって捜し出される領域一ページを発見しないで今使い
尽くされたばかりであることを示す。 この場合、必要なべ−ジが主メモ川こ位置されていない
ことを示すページ例外1712が生じる。その例外に続
いて、適当なソフトウェア動作が生じ、この必要なべー
ジを主メモリに移す。次に第18図において、主メモI
J‘こおいてデータベースベージを位置指定する為の機
構を実施する為に必要なハードウェアに対するブロック
ダイヤグラムが表示される。 この機構は位置指定ページ作動用フリップフロップ18
51のセットにより作動され、前記フリップフロップは
中央処理ユニット104の算術論理ユニット1317の
補助メモリ1317Aに位置される。位置指定ページ作
動用フリップフロッブ1851をセットする以前に、そ
のページ記述子が位置指定されるべき領域ページ数が、
領域一ページレジスタ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ゲート1863を介
してメモリデータレジスタの内容の転送を駆動する。I
ACポィンタを表すこれ等の内容は、第16C図に示す
如きフオーマツトとなる。IACポインタのMB7フィ
ールド1630は、算術論理ユニット1317に位置さ
れるコンパレ−夕1865に接続される。 このコンパレータ1865は、MB7フィールドを2進
数0の数値を含むレジスタ1864と比較する。もし等
しくない条件が検出されると、システムチェックフリツ
プフロップ1866は数値1にセットされる。コンパレ
ータ1865が等しい条件を検出する場合は、等しい信
号は、G番号1631の転送を駆動し、ANDゲート1
867を介してIACポィンタの変位フィールド16
32をGレジスタ1873とDレジスター874に対し
て駆動する。Dレジスタ1874への転送の為の論理回
路については以下に記述する。位置指定べ−ジ作動用フ
リップフロツプ1851のセット動作は、最初のフリッ
プフロップ1869のセッテイングを惹起する。 このフリップフロップは、数値1にセットされて、Dレ
ジスタ1874が最初にロードされる事を表示する。こ
の様に、最初のフリップフロツプ1869の出力は、A
NDゲート1867の出力に沿ってANDゲート187
1に接続され、前記ANDゲートはIACポィンタのD
変位フィールドを含んでいる。ANDゲート1871を
介して、IACポインタの変位フィールドは、ORゲー
ト1872を介してDレジスター874に転送される。
最初のフリップフロップ1869の出力も又、ANDゲ
ート1867(IACポィンタの変位フィールドを含む
)に沿ってANDゲート1868に接続される。この様
に、最初のポインターレジスタ1870‘ま「ANDゲ
ート1868を介して、このポインタから得る最初の変
位数値でロードされる。最初のポインターレジスター8
70の使用については以下に記述する。又、最初のフリ
ップフロップ1869の出力は、自体のリセット入力に
接続される。この様に、最初のフリップフロツプが論理
1にセットされ、かつ最初のポインターレジスタ187
0と0レジスター878をロードさせた後、最初のフリ
ップフロップは次いで論理寒にリセットされる。Gレジ
スタ1873とDレジスタ1874が一たんロードされ
ると、G、○アクセス機構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に位置された領域ページ番
号も又コンパレータ1878に入力される。もしコンパ
レータが一致する比較内容を見出すならば、所望のペー
ジ記述子がロードされ、機機そその機能を完了する。こ
の様に、コンパレータ1878の一致比較ラインは、位
置指定ページ完了フリップフロップ1879に接続され
る。この信号は、このフリツブフロツプを論理1の状態
にセットして、ページ位置指定機構の完了を信号する。
もしコンパレータ1878が非一致条件を信号すると、
ANDゲート1880に接続された非一致信号は、次の
記述子1620のページ記述子レジスタ1877からコ
ンパレータ1883へ、又ANDゲート1885への転
送を可能にする。コンパレータ1833は、次の記述子
1620を最初のポィン夕1870と比較する。一致比
較条件が検出される場合、ページ記述子の全ポインター
チェーンが探索され、所望のページ記述子は位置指定さ
れない。この様な条件下では、所望の領域ページは主メ
モリ内になく、この為コンパレータ1833の一致は、
ページング例外フリツプフロップ1884をセットする
為に使用される。この例外取扱機構は次にフリップフロ
ップ1884のセッティングにより作動される。ページ
記述子レジスタ1877からの次の記述子1620を含
むANDゲート1880の出力も又ANDゲート188
5に接続される。 このANDゲートは、コンパレータ1883の非一致信
号により駆動される。この非一致条件は、各ポィンタの
ページ記述子チェーンに端末に到達しない時生じる。こ
の様に、非一致信号が論理1でない時、次の記述子フィ
ールドは、ANDゲート1883からANDゲート18
82に転送される。ANDゲート1882への他の入力
は、反転増中装置1881からの信号である。ANDゲ
ート1881からのこの信号は、最初のフリツプフロツ
プ1869の反転出力を表わす。この様に、反転AND
ゲート1881による信号出力は、最初のフリップフロ
ップ1869が論理零にあるときに論理1にあり、従っ
てANDゲート1882は、次の記述子フィールド16
20をORゲート1872に転送し、これが更にDレジ
スタ1874に接続される様に駆動される。これ等の一
連の論理ゲートを介し、次の記述子フィールドがページ
記述子1877から○レジスタ1874に転送され、G
、Dアクセス機構はこの時再び作動可能なる。G、Dア
クセス動作のサイクルは、この時再び作動され、新しい
ページ記述子がフェツチされてページ記述子レジスター
877にロードされる。この新らしいページ記述子のフ
ェッチ動作は、1878のコンパレー夕が所望のページ
記述子を検出するか、コンパレータ1883がページ記
述子チェーンの端部を検出する迄繰返される。本文で述
べたハードウェアノフアームウェアシステムの更に重要
な2つの要素は、第19Aおよび19B図に示される。 第19A図のセット記述子は、与えられたセットの性状
を記述する為に使用される。第19A図に示される如く
、Pフィールド1802は、このセットの記録ボインタ
のポインタークラス(モード)を記述する2ビットのフ
ィールドである。オーナーおよびメンバーの全ての記録
は、与えられたセットに対して同じポインタークラスの
ポィンタを有する。セット記述子1803のオーナーポ
インタフイールドは、メンバー記録がオーナ−記録(第
15C図参照)に対する「オーナーポインタ」を含む場
合に1セットされる。「他のポインタ」フィールド18
04は、オーナーおよびメンバー記録が最初の、最後の
、次の、および先のポインタを持っているかどうかを記
述する「セット編成モード」フィールドK1805は、
現行のセットに使用されているセット編成のモードを記
述する。「リンク」セットのモードについてのみ本文に
より詳細に開示する、然しながら、表配列又はリスト配
列の如きセツト編成の為の他のモードへの拡張能力は存
在する。「変位」フィールド1806は、メモリにおけ
る記録の初めからそのレコード‘こおけるポインターシ
ーケンスの初め迄のオフセットを表わすのに使用される
(第15Aおよび15B図参照)。第19A図に技術さ
れる如きセット記述子は、ハードウェア/ファームウェ
アに照合されたセットの記述を与えるセットで動作する
時、データベース命令により常にアクセスされる。第1
9B図に示す如き記録記述子は、レコードのある特性を
記述する為に使用される。 Fフィールド1802は、記録フオーマットの記述の為
に使用される。記録のフオーマツトは、第15Aおよび
15B図に記述した如く、バーチュアルメモリ記録がデ
ータベース記録のいずれかである。「記録タイプ」フィ
ールド1821は、記録のタイプを表示し、第15Aお
よび15B図に示される如きメモリにおける実記録のタ
イプフィールドにロードされる。「記録長さ」フィール
ド1822は、どんな実長さで記録が主メモリにあって
第15Aおよび15B図に示す如きメモリ記録にロード
されるかを表示する。実際のデータベース命令は、第2
0A乃至20F図に示す如き6つのフオーマットの1つ
である。 第20A図に示されるGROPフオーマツトは、「演算
コード1910」と、「零でなければならない」フイー
ルド1911と、「ベースレジスタ一番号1912と、
「桶数コード」1912とを含んでいる。 「ベースレジスタJは記録のセグメント化されたアドレ
スを含んでいる。「補数コード」は「演算コード」によ
り記述される特定の命令のこれ以上の区別の為に使用さ
れる。第208図に示されたXIフオーマットは、演算
コード1920と、演算コードのこれ以上の区別に使用
される補数コード1921と、アドレスシラブル192
2と、零でなければならないフィールド1923と、論
理的削除フィールド1924と、ポインタ−モードフイ
ールド1925と、BRフィールド1926とを含んで
いる。 ベースレジスタは、レコードのセグメント化されたアド
レスを含んでいる。アドレスシラプル1922は、その
いくつかの用途の為、動作されるべきセットのセット記
述子を指示する。アドレスシラブルは、前述の如きアド
レス生成の為の規則に従って、セグメント化されたアド
レスに生成される。第20C図に示されたPXDXフオ
ーマツトは、演算コード1930と、これ以上の区別に
使用される補数コード1931と、1つのアドレスシラ
ブルASI I932と、零でなければならないMBZ
Iフィールド1933とベースレジスタ1934と、2
番目の零でなければならないMBZ2フィールド193
5と、2番目のアドレスシラブルAS2 1936とか
らなる。再びベースレジスタは記録のセグメント化され
たアドレスを含んでいる。第1のアドレスシラブルAS
I I932はセット記述子を指示する。第2のアド
レスシラブルAS2 1936は2進整数のアドレス指
定に使用される。第20D図に示されたBRXフオーマ
ツトは、演算コード1940と、命令を更に区別する為
に使用されるタイプフィールド1941と、ベースレジ
スタフイールド1942と、アドレスシラプル1943
とを含んでいる。 このベースレジスタは、記録のセグメント化されたアド
レスを含んでいる。このアドレスシラブルは、セット記
述子をアドレス指定する為に使用される。第20E図に
示されたDXGRフオーマツトは、演算コード1950
と、命令を更に区別する為に使用されるタイプフィール
ド1951と、第1のベースレジスタ番号BR1 1
952と、アドレスシラブル1953とも零でなければ
ならないMBZIフィールド1954と、第2のベース
レジスタ番号BR2 1955と、「前後一般初段後」
フィールド1956と、第2の零でなければならないM
BR2フィールド1957とを含んでいる。 2つのベースレジスタは、メモリに位置する2つの異な
る記録をアドレス指定する為に使用されるアドレスシラ
ブルは、セット記述子のアドレス指定に使用される。 「前後一般初最後」フィールドは、セット内の記録の所
望の位置設定を記述する。第20F図に示すOPDDフ
オーマットは、演算コード1960と、特定データベー
ス動作の記述に使用されるプリミティブフィールド19
61と、命令を更に区別する為に使用されるタイプフイ
−ルド1962と、ポインターフィールドの記述に使用
されるPフィールド1963と、オーナ‐およびメンバ
ー記録のポィンタを記述する「技初最後−次、先」ポイ
ンターフィールド1965と、ポインターシーケンスの
初めに対するオフセットを記述する変位フィールド19
66とt ベースレジスタ数を含むBRフィールド1
967とを含んでいる。 このベースレジスタは、主メモ川こおける記録のセグメ
ント化されたアドレスを含んでいる。テスト記録タイプ
・データベース・命令は:ファームウェア/ハードウェ
アを働かせるマシン命令であって、参照記録タイプの含
まれる記録記述子(第19B図参照)をフェッチするも
のである。 そして、ベース・レジスタによって指定される。チェッ
クされるべき記録の記録タイプはフェッチされ、比較が
なされる。比較の結果に従って、状態レジスタのコンデ
ィションコードがセットされる。テスト記録タイプ命令
は、第19B図に示されるようにXIフオーマツトのも
のである。テスト・記録・タイプ・命令についての、フ
ァームウェアのフロー・チャートは第21図に示されて
いる。 ファームウエアのフロー・チャートのオペレーション2
001において、命令のフオーマツトがチェックされる
。オペレーション2003において、参照記録・タイプ
の含まれる記録記述子のチェックがなされる。次いで、
オペレーション2005において、ベース・レジスタに
よつてアドレス指定された記録の記録・タイプがフェツ
チされ、そしてオペレーション2007において、2個
の記録・タイプの実際の比較がなされる。オペレーショ
ン2008および2009においては、比較の結果に従
って、記録・タイプが相等しいければ“1”に、相異し
ていれば“0”にコンディションコードのセットがなさ
れる。オペレーション2010および2011において
、ハードウェアノフアームウェアの命令か完了する。第
21図について、より詳細に検討すると、先ずオペレー
ション2001においては、命令のMBZフィールド1
923(第20B図参照)がゼロであるかどうかチェッ
クされる。このゼロ・チェックは、命令・フェッチ・ユ
ニット(第13A図参照、IFU1318)から演算論
理ユニット1317内のレジスタに命令を転送すること
によってなされる。このレジスタで行われるハードウェ
ア・チェックで、MBZにゼロが検出されなければ、フ
ァームウェアは第21図に2002で示される例外処理
に分岐される。この例外処理は不法フオーマット・フィ
ールド例外処理と呼ばれるものである。(なお、データ
例外処理菱贋という名称の米国特許願第528955号
を参照。)M欧がゼロであれば、ファームウエアはオベ
レ・‐ション2003へと進み、ここで命令のアドレス
シラプル1922から引出されたアドレスにおいて、メ
モリに対して4バイトのフェツチがなされる。アドレス
シラブルを区分されたアドレスに展開することは、セグ
メント・アドレス展開方式(米国特許第39総096号
に記述されている。このアドレス展開は、アドレス制御
ユニット(第13A図参照、ACU1319)によって
行われる。王〆モリに対するフェツチの結果として、メ
モリ・アクセスの例外(操作)が、第21図に示される
ように、2004において生じることがある。メモリ・
アクセス例外(操作)の例としては、セグメント外、セ
グメント不存在、主・メモリ外などがある。フェッチさ
れる4バイトの初めの25ビットは、第19B図に記述
されているように、記録記述子を構成している。オペレ
ーション2005においては、主メモリに対するフェッ
チがなされ、この命令によって指定される記録の記録・
タイプが定められる。 命令によって指定される記録は、命令のフィールド19
26にあるベース・レジスタBRを介して定められる。
主メモIJIこ対するこのフエツチは2バイトのフェツ
チであり、その初めの10ビットには、第15A図(フ
ィールド1501)および第15B図(フィールド15
10)に示されるように、バーチュア・メモリ・記録と
データベース・記録の双方の記録タイプが規定されてい
る。フヱッチされた、この記録タイプは、データ・マネ
ジメント(管理)ユニット1321に転送される。この
メモリ・フェッチの結果として、メモリ・アクセス例外
(操作)2006の生じることがある。記録タイプを規
定する10ビットがメモリ・ユニット102(第1図参
照)からデータ・マネジメント。ユニット1321に転
送されたあと、ファームウェア・コントロールにおいて
、指定されたレコードの10ビットの記録タイプが算術
論理ユニット1317に転送される。この時一点1こお
いて、算術論理ユニットには、アドレスシラブルによっ
て指定され、オペレーション2003においてフェツチ
された参照記録タイプと、ベース・レジスタを介して命
令によって指定され、オペレーション2005において
フェツチされた記録の記録タイプの双方が含まれている
。 オペレーション2007においては、フアームウェアは
、ベース・レジスタによって指定された記録タイプと参
照記録タイプの間で比較をする。この比較は算術論理ユ
ニット内のメイン加算ユニットによって、比較機能を利
用して行われる。フアームウエア・コントロールにおい
て、2個の比較された記録タイプが相等しいことが検出
されると、ファームウエアはオペレーション2009に
分岐される。比較の結果、両者が相異していれば、ファ
ームウエアはオペレーション2008に分岐される。フ
ァームウェアが、指定された記録の記録タイプと参照記
録タイプの間で相等しいことを検知し、オペレーション
2009に分岐されたものとすると、状態レジスタ(第
2図、207参照)の状態コードは、ハードウェア/フ
ァームウェアにより“1”にセットされる。 次いで、オペレーション2011へと進み、ここで命令
は完了し、ハードウェア/ファームウェアは、次の命令
へと分岐される。(指定された)記録の記録タイプと参
照記録タイプの間の比較により、両者が相異していると
いう結果が生ずれば、オペレーション2008へと分岐
され、ここで、状態レジスタ207の状態コードは、ハ
ードウエアノフアームウヱアによつて“0”にセットさ
れる。 オペレーション2008に続いて、ファームウェアはオ
ペレーション2010‘こ分岐し、ここで命令は完了し
て、次の命令へ分岐される。さて第22図を参照すると
、ここには、この発明のテスト・記録・タイプ・データ
ベース・命令を実行するために必要なハードウェアがブ
ロック図として表示されている。 テスト・記録・タイプ・命令検知手段2201によって
表示されるように、テスト・記録・タイプ・命令を受け
ると、この命令は命令バッファ2202内に一時的に蓄
積される。この命令バッファは、中央処理ユニット10
4の命令フヱッチ・ユニット1318内に設けられてい
る。前述されたように、命令バッファ2202に転送さ
れるテスト・記録・タイプ。命令は、第20B図に示さ
れるようなXIフオーマツトのものである。MBZフイ
ールド1 923は、直ちにコンパレータ2203によ
ってゼロ・ビット群2204と比較される。コンパレー
タ2203から相等しくないという信号が出されると、
不法フオーマット・フィールド・フリツプ・フロップ2
205がセットされ、これによって例外処理(操作)機
構の起動がなされることとなる。テスト・記録・タイプ
・命令の例外(操作)は次いで完了する。コンパレータ
2203によって相等しいことが示されると、テスト・
記録・タイプ・命令は、後述されるように、続けて実行
される。また、テスト・記録・タイプ・命令検出手段2
201によるテスト・記録・タイプ・命令の検出にとも
ない、記述子の読み出しフリツプ・フロップ2208の
出力が論理“1”にセットされる。 このフリップ・フロッブの出力は、記述子の読み出し信
号として参照される。ANDゲート2206は、記述子
の読み出し信号とコンパレータ2203の相等しいとい
う信号とによって可能化されて、アドレスシラブル19
22をアドレス制御ユニット2207に転送するように
される。アドレスシラブルが供給されると、セグメント
アドレス展開方式なる特許願中で記述されているように
、アドレス制御ユニット2207において、アドレスシ
ラブルはメモリ・アドレスに変換される。アドレス制御
ユニット2207によって展開されたメモリ・アドレス
は、メモリ・アドレス・レジスタ2209に転送される
。メモリ・アドレス・レジスタ2209の内容は、次い
でメモリ・システムのメモリ・アドレス・レジスタ22
101こ転送される。テスト・記録・タイプ・命令検出
手段2201は、また、反転ANDゲート22 1 1
に結合され、このゲートは次いでメモリ・システムの論
出し/書込みフリップ・フロツプ2212に結合されて
いる。 テフ.ト記録タイプ・命令検出手段の信号が論理“1”
であれば、ゲート2211の出力は論理“0”となり、
これにより、議出し/書込みフリツブ・フロツプ221
2は“0”にセットされることとなる。メモリ・アドレ
ス・レジスタ2210がロードされ、議出し/書込みフ
リップ・フロツプ2212が論理“0”にセットされた
ことがメモリ・システム2213によって検知されると
、メモリ議出し演算が開始される。メモリ・システムの
オペレーションについてはトセグメントァドレス展開方
式なる特許腿中に記述されている。メモリ・オペレーシ
ョンの結果、セグメントアドレス展開方式なる特許豚中
で記述されているように、メモリ・アクセス例外(操作
)2214の生ずることがある。このような例外(操作
)が生ずると、メモリ・アクセス例外(操作)フリツプ
・フロツブが論理“1”にセットされる。例外オペレー
ションという特許膿中で記述とれているように、例外オ
ペレーション手段が起動される。そうでなければ、メモ
リ・オペレーションは正常に完了し、メモリ・オペレー
ション完了フリツプ・フロツプ2215が論理“1”に
セットされる。メモリ・オペレーション完了フリップ・
フロップ2215が論理“1”状態に移行するとともに
、メモリ・システム2213から謙出されたデータは、
メモリ・データ・レジスタ2216に転送される。記述
子議出し信号が論理“1”であるとともに、メモリ・オ
ペレーション完了フリップ・フロップ2215が論理“
1”し、移行することにより、メモリ・システムからそ
の直前に議とられた記録記述子の記録タイプ・フィール
ド1821を可能化し、メモリ・データ・レジスタ22
16から、ANDゲート2217を通して、記述子記録
タイプ・レジスタ2218‘こ転送されるようにする。
また、メモリ・オベレ−ション完了フリップ・フロップ
2215の出力は、記述子講出しフリッブ・フロップ2
208のリセット入力側に結合されることが認められる
。 このようにして、メモリ・オペレーション完了フリツプ
・フロップ2215が論理“1”に移行することにより
、記述子議出しフリップ・フロップ2208は、“0”
に低下されることになる。記述子論出し信号は反転AN
Dゲート2238に結合されているため、記述子の論出
し信号が“0”に低下されることにより、反転ANDゲ
ート2238の出力は“1”に上昇されることとなり、
かくして、ゲート2238の出力が記録タイプ講出しフ
リツプ・フロップ2220のセット入力側に結合されて
いることから、記録タイプ議出しフリツプ・フロップ2
220は論理“1”にセットされることとなる。このフ
リツプ・フロツプ2220の出力は、記録タイプ議出し
信号として参照される。命令バッファ2202のベース
・レジスタ・フィールドBRI926はANDゲート2
221に結合されている。 このANDゲートは記録タイプ議出し信号によって可能
化される。このようにして、記録タイプ論出し信号が論
理“1”に上昇されることにより、ベース・レジスタ・
フィールドBRI926(の内容)は、ANDゲート2
221の結合を介して、アドレス・制御・ユニット22
07のベース・レジスタ入力部2222に転送される。
アドレス制御ユニット2207が、そのベース・レジス
タ(BR)の入力部2222内のベース・レジスタの番
号が供給されると、その結果として、該当する番号の入
力されたベース・レジスタの内容が読出される。このオ
ペレーションは、典型的なスクラッチパツド・メモリの
議出しオペレーションである。アドレス制御ユニットか
らのベース・レジスタの内容の出力は、ORゲート22
23を介して、アドレス制御ユニットのベース・レジス
タ出力部2224に出される。ベース・レジスタ出力部
2224の出力は、次いで、記録タイプ議出し信号によ
って可能化されるANDゲート2225に結合される。
ANDゲート2225の出力は、アドレス制御ユニット
2207に結合されている。アドレス制御ユニットは、
ベース・レジス夕の内容(第2図参照)が供給されると
、セグメントアドレス展開方式なる特許厭中に記述され
ているように、これらの内容をメモリこアドレスに変換
する。かくして、アドレス制御ユニットの出力は、再び
、メモリ・アドレス・レジス夕2209に、次いでメモ
リ・システムのメモリ・アドレス・レジスタ2210に
転送されるアドレスとなるものである。また、そのメモ
リ・アドレス・レジスタ22101こ新しいアドレスが
ロードされ、読出し/書込みフリツプ・フロッブ221
2が論理“0”にセットされたことがメモリ・システム
2213によって検知されると、メモリ議出しオペレー
ションが開始されることとなる。 メモリ・システムのオペレーションについては、セグメ
ント・アドレス展開方式なる特許顕中に記述されている
。メモリ謙出しオペレーションの結果として、セグメン
トアドレス展開方式なる特許磯中に記述されているよう
に、メモリ・アクセス例外(操作)2214の生ずるこ
とがある。このような例外(操作)が生じると、メモリ
・アクセス例外(操作)フリツプ・フロツブ2214は
論理“1”状態にセットされる。そして、例外処理(操
作)方式なる特許顔中で記述されているように、例外処
理(操作)手段が起動される。そうでなければ、メモリ
・オペレーションは正常に完了して、メモリ・オペレー
ション完了フリツプ・フロツプ2215が論理‘‘1”
にセットされる(メモリ・オペレーション完了フリツブ
・フロツプ2215は、メモリ・オペレーションが開始
されると、いつでも論理“0”にセットされるほのであ
る)。メモリ・オペレーションの完了とともに、記録の
記録タイプ(第15A図および第15B図の1501ま
たは1510)を表わす、メモリ・システムから鈴出さ
れたデータはメモリ・データ・レジスタ2216に転送
される。メモリ・システム内の記録から謙出され、メモ
リ・データ・レジスタ2216に転送された記録タイプ
は、ANDゲート2226に結合される。 このゲートは、記録タイプの講出し信号と、メモリ・オ
ペレーション完了フリップ・フロップ2216(の出力
)とによって可能化される。かくして、この命令の実行
中に行われた第2のメモリ・オペレーション完了ととも
に、記録から読出された記録タイプは、ANDゲート2
226を通して転送され、コンパレータ2227への入
力とされる。コンパレータ2227への別の入力は記述
子記録タイプ・レジスタ2218からのものである。こ
れは、第1のメモリ・オペレーションにおいて謙出され
た記述子からえられた記録タイプが予めロMドされてい
たものである。コンパレータ2227によって、2個の
記録タイプが相等しいものと検知されれば、ANDゲ−
ト2233に結合されている相等しいという信号は、レ
ジスタ2232に含まれている2進値01をORゲート
2234に転送できるようにされる。 コンパレータ2227によって、2個の記録タイプが相
異なっていると検知されれば、ANDゲート2231に
結合されている相異なるという信号は、レジスタ223
0に含まれている2進値00をORゲート2234に転
送できるようにされる。また、メモリ・オペレーション
完了フリツプ・フロップ2215がANDゲート222
8に結合されていることが認められる。このゲートは、
記録タイプ読出し信号によって可能化される。ANDゲ
ート2228の出力は、セット条件コード・フリップ・
フロップ2229に結合されている。このフリップ・フ
ロップ2229は、第2のメモリ講出しオペレーション
が完了したあとで論理“1”にセットされるものである
(記録の記録タイプの読出しはテスト・記録・タイプ・
命令によって指定される)。セット条件コード・フリッ
プ・フロツプ2229の出力はANDゲート2235に
結合されており、かくして、ORゲート2234を可能
化して、2進値00または01を転送するための条件コ
ード・レジスタ2236に前記AND2235が結合さ
れている。条件コード・レジス外ま、実際には、第2図
に示されているような状態レジスタ207の始めの2ビ
ット(部分)である。セット条件コード・フリツプ・フ
ロツプ2229を論理“1”に移行させることは、また
、条件コード・レジスタ2236内で条件コードの値が
セットされると同時に、フリツプ・7ロツプ2229の
出力が結合されている命令完了フリツプ・フロツプ22
37が論理‘‘1”にセットされるようにすることであ
る。 命令完了フリツプ・フロツプ2237を論理“1”にセ
ットすることは、テスト・記録・タイプ・命令の完了を
表示することである。この発明の一美施例について開示
し、記述してきたが、当業者であれば、既述された発明
を実施するために多くの変更、修正をなしうるものであ
り、これもなおこの発明の範囲内に収まるものである。 かくして、この発明の権利範囲内で、同様な結果がえら
れるべく、多くのステップが別のステップによって交替
、置換されうるものである。この発明はへその特許請求
の範囲の記載によってのみ限定される。
【図面の簡単な説明】
第1図はこの発明を利用するマルチプログラミングシス
テムのブロック図、第2図はこの発明によって利用され
る種々のハードウェア構成を表わす概略図、第3図は第
2図のレジスタの予約された記憶領域のために使用され
た用語例、第4図はこの発明に利用された機械のプロセ
ス制御ブロックの概略図、第5図はプロセス制御ブロッ
クのアドレスシステムの概略図、第6図はこの発明を利
用する計算機システムのシステムベースの概略図、第7
A図、第7B図はこの発明を利用する計算機システムの
スタツクセグメント及びスタツクフレームの*鱗略図、
第8図はこの発明を利用する計算機システムのGセグメ
ント、特にG−○セグメントの待ち行列プロセスのアド
レスシステムの概略図、第9図はこの発明を利用する計
算機システムの待ち行列プロセス及びプロセスリンクを
例示するG−○セグメントの展開概略図、第10A図〜
第10L図はPCBをの構成ブロック図、第11A図〜
第11R図はシステムベース内の構成のブロック図、第
12図はシステムベース及びPCB構成を利用するユー
ザー及びシステムセグメントのアドレス手段の概略図、
第13A図〜第13C図はこの発明の制御ユニットの概
略図、第14A図〜第141図はこの発明を利用する計
算機システムのフアームウエアのデイス/ぐツチヤーユ
ニツトの流れ図、第16A図〜第15日図はセット命令
で使用される記録及びそれらのポイン夕の図、第16A
図〜第16C図はデータベース・フオ−マット及びそれ
らのページを記述する記述子の図、第17図は主メモリ
内にデータベースページを位置させるために使用される
ファームウェアのフローチャート、第18図はメモリ内
にデータベースページを位置させるハードウェア機構の
論理ブロック図、第19A図及び第19B図はデータベ
ース命令によって使用されるセット及び記録を記述する
記述子の図、第20A図〜第20F図はデータベース命
令によって使用される命令フオーマツトの図、第21図
はファームウェアノハードウェアにおけるテスト・記録
・タイプ・データベース命令の流れ図、第22図はハー
ドウェア・テスト・記録タイプデータベース命令の論理
ブロック図である。 101……プロセッササブシステム、102…・・・記
億サブシステム、103・・・・・・周辺サブシステム
、104・・・…中央処理ユニット、105・…・・入
出力制御ユニット、106……周辺制御ユニット。 図 鮒 第2図 第三図 AME=アガゥント機構 日6=J・‐
バゥ・ァヶ」ト s:も言唯R=自動記薦め様
枕 LRN=最終lレブ奮う 5T
E=け〆)トテルヱソトリ6M=2溝教マスク
M既=奏でなサれIま一を5なし、 S
川=セガントテル奮うCCニコン対ソョンコ‐い
ME=マシンエラーCE=訂正ミ各1ラー
RIN6=1)ン材を弓 M6=
軍迷う型式DM=10蓬&マスフ 冊U:誉ぶ;
掌る苔藷?こう UM=7パンフ。 −マスクET=横槍許容隅界 Rぅi角き
く行成功第4図象ら5 図 舞ら7A 図 琴らア8図 妻らら 図 第6図 筆?図 琴ら「OQ図 多′ob図 妻ら′0c図 繁′od図 鰭′oe図 奥′of図 溝′0易図 貰う′oh図 蔓ものi 図 多′oJ図 繁の★図 努′oZ図 第7′仏図 妻ら77b図 筈ら〃c図 穿ち7「d 父 ざら77e図 蟹ら’’f 図 多’’9図 警ら77h図 警ら〃し 図 努’’J図 多’′k図 穿ち丁化 図 費ら〃川図 妻L)7n 図 誉ら?↑。 図峯’7p図 努丁’q図 妻ら’丁「 図 図 〜 球 参L′3o 図 首ら′3b図 弟′44図 築′4b図 発′4c図 鮪′4d図 弟,′4e図 珠′4ナ図 菱′49図 穿ち′4h図 繁′4上図 筆ら/3c図 器′ぅQ図 葵]/ぅb図 孫ノ5c図 弟′ぅd図 繁′53図 繁′y図 弟)5タ図 穿ら′うh図 宴ち/5Q図 蓑ら′Cc図 多ノ7図 図 S 球 まL汐Q図 途/?b図 蔓らZoo図 登ら20b図 養う20c図 弟20d図 鏡L20e図 第2の図 第2′図 図 〜〜 滋

Claims (1)

    【特許請求の範囲】
  1. 1 プログラム内蔵式データ処理装置において、複数個
    のアドレス可能な空間のセグメントからなるメモリを有
    し、 各々のセグメントはセグメント番号がつけられ、
    前記セグメントの各々は上方および下方の可変境界によ
    って仕切られており、前記セグメントの所定のものには
    データベース記録のセツトにおいてグループ化された複
    数個のデータベース記録のフアイルがストアされ、 各
    々のセツトは少くとも1個のオーナー記録と少くとも1
    個のメンバー記録を有し、 前記オーナおよびメンバー
    記録の各々は関連づけられた記録を記述するための記録
    記述子の各々と関連づけられ、 前記記録記述子は前記
    セグメントの別の所定のものにストアされ、 前記デー
    タ処理装置には、更に、前記セグメント、記録または記
    述子のデータまたはアドレスのいずれについても演算論
    理操作を実行するための演算論理ユニツト(ALU)と
    、アドレスされた前記データベース記録の選択されたも
    のがその関連した記録記述子により記述されたタイプの
    ものであることを決定するための、テスト記録タイプ・
    インストラクシヨンに応答するインストラクシヨン・ハ
    ードウエアとが設けられ、該インストラクシヨン・ハー
    ドウエアが(a) 前記データベース記録の前記選択さ
    れたものを前記演算論理ユニツトへフエツチするための
    第1の手段と;(b) 前記データベース・レコードの
    前記選択されたものに関連づけられた記述子をフエツチ
    するための第2の手段;および、(c) 前記ALUへ
    フエツチされた前記データベース記録のタイプを、前記
    関連づけられた記述子において記述されたデータベース
    記録のタイプと比較するために、前記ALU内に設けら
    れた比較手段、を含んでなるデータ処理装置。
JP51071307A 1975-06-19 1976-06-18 内部プログラムデータ処理装置 Expired JPS602691B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US588523 1975-06-19
US05/588,523 US4130867A (en) 1975-06-19 1975-06-19 Database instruction apparatus for determining a database record type

Publications (2)

Publication Number Publication Date
JPS522240A JPS522240A (en) 1977-01-08
JPS602691B2 true JPS602691B2 (ja) 1985-01-23

Family

ID=24354195

Family Applications (1)

Application Number Title Priority Date Filing Date
JP51071307A Expired JPS602691B2 (ja) 1975-06-19 1976-06-18 内部プログラムデータ処理装置

Country Status (3)

Country Link
US (1) US4130867A (ja)
JP (1) JPS602691B2 (ja)
BE (1) BE843219A (ja)

Families Citing this family (51)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4205371A (en) * 1975-11-03 1980-05-27 Honeywell Information Systems Inc. Data base conversion system
US4376974A (en) * 1980-03-31 1983-03-15 Ncr Corporation Associative memory system
US4524416A (en) * 1980-04-15 1985-06-18 Honeywell Information Systems Inc. Stack mechanism with the ability to dynamically alter the size of a stack in a data processing system
US4384325A (en) * 1980-06-23 1983-05-17 Sperry Corporation Apparatus and method for searching a data base using variable search criteria
US4482952A (en) * 1980-12-15 1984-11-13 Nippon Electric Co., Ltd. Virtual addressing system using page field comparisons to selectively validate cache buffer data on read main memory data
US4574349A (en) * 1981-03-30 1986-03-04 International Business Machines Corp. Apparatus for addressing a larger number of instruction addressable central processor registers than can be identified by a program instruction
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
US4575797A (en) * 1981-05-22 1986-03-11 Data General Corporation Digital data processing system incorporating object-based addressing and capable of executing instructions belonging to several instruction sets
US4525780A (en) * 1981-05-22 1985-06-25 Data General Corporation Data processing system having a memory using object-based information and a protection scheme for determining access rights to such information
US4499604A (en) * 1981-05-22 1985-02-12 Data General Corporation Digital data processing system for executing instructions containing operation codes belonging to a plurality of operation code sets and names corresponding to name table entries
US4450523A (en) * 1981-09-11 1984-05-22 Data General Corporation Apparatus for deriving the current length of varying-length data items in a digital data processing system
US4473878A (en) * 1981-11-23 1984-09-25 Motorola, Inc. Memory management unit
US4498145A (en) * 1982-06-30 1985-02-05 International Business Machines Corporation Method for assuring atomicity of multi-row update operations in a database system
US4627019A (en) * 1982-07-08 1986-12-02 At&T Bell Laboratories Database management system for controlling concurrent access to a database
US4926316A (en) * 1982-09-29 1990-05-15 Apple Computer, Inc. Memory management unit with overlapping control for accessing main memory of a digital computer
US4754326A (en) * 1983-10-25 1988-06-28 Keycom Electronic Publishing Method and apparatus for assisting user of information retrieval systems
US4829427A (en) * 1984-05-25 1989-05-09 Data General Corporation Database query code generation and optimization based on the cost of alternate access methods
ATE62557T1 (de) * 1985-09-30 1991-04-15 Siemens Ag Verfahren zum testen der logischen konsistenz in datenbanksystemen.
JP2602205B2 (ja) * 1986-01-16 1997-04-23 株式会社日立製作所 データベース・アクセス制御方法
US4967341A (en) * 1986-02-14 1990-10-30 Hitachi, Ltd. Method and apparatus for processing data base
JPS63108197A (ja) * 1987-06-27 1988-05-13 興東電子株式会社 光ビ−ム銃
US5257374A (en) * 1987-11-18 1993-10-26 International Business Machines Corporation Bus flow control mechanism
US5418965A (en) * 1988-06-24 1995-05-23 Mahar; Robert C. Subroutine-type computer program for enhancing the speed of data processing in data management programs systems
US5355497A (en) * 1992-06-10 1994-10-11 Physiotronics Corporation File directory structure generator and retrevial tool with document locator module mapping the directory structure of files to a real world hierarchical file structure
FR2762424B1 (fr) * 1997-04-17 2003-01-10 Gemplus Card Int Carte a puce avec compteur, notamment compteur d'unite ou de gratifications, et procede de mise en oeuvre
US6098148A (en) * 1997-05-29 2000-08-01 International Business Machines Corporation Storage and access of data using volume trailer
US6834290B1 (en) * 1999-11-15 2004-12-21 Quest Software, Inc. System and method for developing a cost-effective reorganization plan for data reorganization
US7805423B1 (en) * 1999-11-15 2010-09-28 Quest Software, Inc. System and method for quiescing select data modification operations against an object of a database during one or more structural operations
US7065538B2 (en) * 2000-02-11 2006-06-20 Quest Software, Inc. System and method for reconciling transactions between a replication system and a recovered database
EP1273167B1 (en) * 2000-04-10 2005-12-07 United Video Properties, Inc. Interactive media guide with media guidance interface
US7231391B2 (en) * 2001-02-06 2007-06-12 Quest Software, Inc. Loosely coupled database clusters with client connection fail-over
US20020129146A1 (en) * 2001-02-06 2002-09-12 Eyal Aronoff Highly available database clusters that move client connections between hosts
US20040162836A1 (en) * 2001-02-06 2004-08-19 Eyal Aronoff System and method for altering database requests and database responses
US7225193B2 (en) * 2001-12-21 2007-05-29 Honeywell International Inc. Method and apparatus for retrieving event data related to an activity
US7152068B2 (en) * 2001-12-21 2006-12-19 Honeywell International Inc. Method and apparatus for retrieving time series data related to an activity
US7027954B2 (en) * 2001-12-21 2006-04-11 Honeywell International Inc. Method and apparatus for retrieving activity data related to an activity
US7496591B2 (en) * 2001-12-21 2009-02-24 Honeywell International Inc. Method and system for capturing, storing and retrieving events and activities
US7958436B2 (en) 2005-12-23 2011-06-07 Intel Corporation Performing a cyclic redundancy checksum operation responsive to a user-level instruction
US8046550B2 (en) * 2008-07-14 2011-10-25 Quest Software, Inc. Systems and methods for performing backup operations of virtual machine files
US8060476B1 (en) 2008-07-14 2011-11-15 Quest Software, Inc. Backup systems and methods for a virtual computing environment
US8135930B1 (en) 2008-07-14 2012-03-13 Vizioncore, Inc. Replication systems and methods for a virtual computing environment
US8429649B1 (en) 2008-09-25 2013-04-23 Quest Software, Inc. Systems and methods for data management in a virtual computing environment
US8996468B1 (en) 2009-04-17 2015-03-31 Dell Software Inc. Block status mapping system for reducing virtual machine backup storage
US9778946B2 (en) 2009-08-07 2017-10-03 Dell Software Inc. Optimized copy of virtual machine storage files
US8453145B1 (en) 2010-05-06 2013-05-28 Quest Software, Inc. Systems and methods for instant provisioning of virtual machine files
US9569446B1 (en) 2010-06-08 2017-02-14 Dell Software Inc. Cataloging system for image-based backup
US9547562B1 (en) 2010-08-11 2017-01-17 Dell Software Inc. Boot restore system for rapidly restoring virtual machine backups
US8898114B1 (en) 2010-08-27 2014-11-25 Dell Software Inc. Multitier deduplication systems and methods
JP5758728B2 (ja) * 2011-07-26 2015-08-05 株式会社日立ハイテクノロジーズ 荷電粒子線装置
US9311375B1 (en) 2012-02-07 2016-04-12 Dell Software Inc. Systems and methods for compacting a virtual machine file
JP7017985B2 (ja) 2018-06-05 2022-02-09 株式会社日立製作所 システム及び処理条件の決定方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB1329721A (en) * 1970-05-26 1973-09-12 Plessey Co Ltd Data processing devices
US3900834A (en) * 1972-09-05 1975-08-19 Bunker Ramo Memory update apparatus utilizing chain addressing

Also Published As

Publication number Publication date
JPS522240A (en) 1977-01-08
US4130867A (en) 1978-12-19
BE843219A (fr) 1976-10-18

Similar Documents

Publication Publication Date Title
JPS602691B2 (ja) 内部プログラムデータ処理装置
US4044334A (en) Database instruction unload
US4077058A (en) Method and apparatus for executing an extended decor instruction
US4025901A (en) Database instruction find owner
US4297743A (en) Call and stack mechanism for procedures executing in different rings
US4084228A (en) Process management structures and hardware/firmware control
US4432051A (en) Process execution time accounting system
US4369494A (en) Apparatus and method for providing synchronization between processes and events occurring at different times in a data processing system
US4084224A (en) System of controlling procedure execution using process control blocks
US4395757A (en) Process synchronization utilizing semaphores
US4316245A (en) Apparatus and method for semaphore initialization in a multiprocessing computer system for process synchronization
US4024508A (en) Database instruction find serial
US4394725A (en) Apparatus and method for transferring information units between processes in a multiprocessing system
US4374409A (en) Method of and system using P and V instructions on semaphores for transferring data among processes in a multiprocessing system
US4042912A (en) Database set condition test instruction
US4320451A (en) Extended semaphore architecture
US4187539A (en) Pipelined data processing system with centralized microprogram control
US4318182A (en) Deadlock detection and prevention mechanism for a computer system
US5218712A (en) Providing a data processor with a user-mode accessible mode of operations in which the processor performs processing operations without interruption
US4498132A (en) Data processing system using object-based information and a protection scheme for determining access rights to such information and using multilevel microcode techniques
JPS58137200A (ja) デ−タ処理装置
JPS5939785B2 (ja) デ−タ処理装置
JPS5911943B2 (ja) デ−タ処理装置の為のトラツプ機構
US4351024A (en) Switch system base mechanism
JPH01503011A (ja) キャッシュマネッジメントシステムを含むデジタルデータ処理システム用汎用プロセッサユニット