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

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

Info

Publication number
JPS603653B2
JPS603653B2 JP51071719A JP7171976A JPS603653B2 JP S603653 B2 JPS603653 B2 JP S603653B2 JP 51071719 A JP51071719 A JP 51071719A JP 7171976 A JP7171976 A JP 7171976A JP S603653 B2 JPS603653 B2 JP S603653B2
Authority
JP
Japan
Prior art keywords
register
address
segment
cycle
flip
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
JP51071719A
Other languages
English (en)
Other versions
JPS5224053A (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 JPS5224053A publication Critical patent/JPS5224053A/ja
Publication of JPS603653B2 publication Critical patent/JPS603653B2/ja
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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
    • Y10S707/99933Query processing, i.e. searching

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)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Executing Machine-Instructions (AREA)

Description

【発明の詳細な説明】 発明分野 この発明は一般的には計算機システム、特にデータ・ベ
ース・オペレーション領域の改良されたディジタル計算
機に関する。
従来技術の説明 電子計算機は主として真空管によって特徴づけられる第
1世代のハードウェアから、。
トランジスタによって特徴づけられる第2世代のハード
ウェアに、そして集積回路によって主として特徴づけら
れる第3世代のハードウェアに成長してきた。これらの
異る世代のハードウェアと共に異る世代のソフトウェア
があり、その第1の世代のソフトウェアは機械語、アッ
センブラ、サブ・ルーチンによって主として特徴づけら
れ、第2世代のソフトウェアは高レベル言語、モニタ、
マイクロアッセンブラによって特徴づけられる。第3世
代のソフトウエアはオベレーテイングシステム、オンラ
イン・リアル・タイム・システム、マルチプログラミン
グ・システム、及びデータ・ベース管理システムによっ
て特徴づけられる。第1世代のソフトウェアと組み合わ
された第1世代のハードウェア、及び第2世代のソフト
ウェアと組み合わされた第2世代のハードウェアは、ジ
ョブが主として直列に解釈実行されるバッチ処理の方に
向けられていた。
さらに、第3世代のハードウエア/ソフトウエア・シス
テムはまたバッチ処理に向けられている。しかしながら
、マルチプログラミングの出現のため、いくつかのジョ
ブは直列よりも並列に解釈実行され、入力情報が発生す
るとき処理のためにそれを受け取らせる。第4世代のシ
ステムは、広いプロセッサ応用が可能な回線制御システ
ムとして典形的には分類され、かつまた主としてバッチ
・プログラムよりもむしろ伝送データによって動作させ
られ(すなわち、システム制御は主としてオペレータ動
作によるよりも入力によって確立する)、そしてここで
情報の提出はリアル・タイムで一般的になされる。コン
ピュータシステムの上述の世代の進展において、主要な
要求は計算機システムのデータ・ベースの効果的アクセ
ス・メソッドを開発することだった。
システム・データ・ベースの開発において、最初は多く
の異るデータ・ベースが各用途のために発展した。デー
タ・ベースのこの多くの発展の結果、過度の記憶装置要
求及び余分なデータ記憶が生じるという問題が起こり、
そしてそれはある個所では正しく、かつ別の個所では不
正確に異る時間に更新される余分なデータを有すること
により、その問題をさらに悪化させる。システムの多く
のデータ・ベースを一つのデータ・ベースに集積するこ
とにより、これらの問題を解決する処置がなされた。ハ
ネウエル・ィンテグレーテッド・データ・ストア(mS
)はこれらの問題を緩和するために設計されたシステム
の一例であった。このmSは、例えばこの発明の制御シ
ステムによるデータベースの関連データの読みこみ書き
出しのため内部監査手順及び給与計算手順に使用するこ
とのできる一つの中央データベースから成る。この中央
集積データ・ベースにおいて、いくつかの機能的要求に
共通な情報を記述する単一の記録がある。例えば、在庫
管理及び内部監査では倉庫内の任意の部品の数を読みこ
み書き出すであろう。集積データベースを用いる効果的
な技術は常に改善されるソフトウェア技術によって発展
した。
このセットの概念は記録間の関係を基礎にして集積デー
タ・ベースの記録を読みこみ書き出す技術である。典型
的関係は例えば製造部門のような特別の部門の全従業員
である。製造部門はオーナー記録と呼ばれるものによっ
て記述され、かつその部門の従業員はメンバー記録と呼
ばれるものによって記述される。その部門のメンバーの
ような関係を記述するセットはそのときオーナー記録を
通して読みこみ書き出され、そしてそれはソフトウェア
によって全てのメンバー記録を得、このように例えばこ
の部門の全ての従業員をプリントする。この段階の開発
において、IDSは上述した真のデータ問題のいくつか
、すなわち異るデータ・ベースの冗長データ及び最新の
多重記録複写問題を解決した。
この問題は単一の記録によって解決され、それ故それは
データ記録装置サイズを減少させ、かつ単一データ複写
を可能にした。データ・ベースを用いるときの別の問題
は依然として実行領域に残る。このセットの概念は計算
機を利用する新しい技術を表わし、これらの新しい技術
を助ける現在の中央プロセッサに存在する特殊ハードウ
ェア命令はなかった。結果として、このセットの第1の
メンバーを見つけるようなセットの動作が、加算、ロー
ド、ストア等の一連の標準機械命令を通してソフトウェ
アで実施される。この結果は、むしろ簡単なセット及び
他のセットの動作のために命令実行が長くなった。必要
なのは、命令実行時間及び他のシステム実行パラメータ
に関して、セットの動作及び効率的なデータ・ベース・
システムを用いる集積データ技術ですでに解決されたよ
うな伝統的データ問題を解決したデータ・ベース・シス
テムであった。
この特殊ハードウェア/ファームウェア支持命令を達成
するために、このセットの動作が加わることが必要だっ
た。たとえば、データ・ベース・ページの次の有効記録
を見つけるための一つの命令は伝統的機械において同じ
動作を実行するのに要求される一連の10〜2の祭準機
械命令よりもずっと少し・時間で実行される。発明の目
的 この発明の主な目的は、改良された汎用ディジタル計算
機を提供することである。
この発明の別の目的は、データベース管理動作の性能が
よくなった改良された汎用ディジタル計算機を提供する
ことである。
この発明の別の目的は、メンバー記録のオーナー記録の
データベース記録を1個又は複数個のレジスタにロード
するハードウェア/ファームウエア命令を提供すること
である。
この発明のBUの目的は、利用者及びオペレーティング
・システムのプログラムに於ける命令の数を減らすこと
である。
発明の概要 前述の目的が、この発明の1実施例では、メンバー記録
のオーナ・ポィンタを、ベース・レジス夕BRと一緒に
なって呼出すことが出来るセット記述子を取出して来る
一連のハードウェアノフアームウェア実現形命令を提供
することによって達成される。
オーナ・ポィンタが、そのポィンタの種類に従って、セ
グメントアドレスに変換され、その後、セグメントアド
レスがベース・レジス夕BRにロードされる。ポインタ
がデータベース型記録の一部分である場合、ポィンタが
インデックス・レジスタにもロードされる。この発明に
特有な新規な特徴は特許請求の範囲に具体的に記載され
ているが、この発明の構成、作用、並びにその他の目的
及び利点は、以下図面について説明する所から最もよく
理解されよう。
1 概論 A 開示の範囲及び編制 大規模計算機にロードされていないデータ・ベース命令
に使用される環境は必然的に複雑になり、かつ奥形的に
はハネウエル・シリーズ6鷹十算機に見られる。
さらに、この発明の教えの完全な理解は、このような装
置が存在する環境を読者が熟知しているときにのみ得ら
れる。このため、この発明の原理が有利に利用される型
式の典形的大規模データ処理システムの一般的構成を少
くとも簡単に調査することが望ま−しい。また、この発
明の基本的概念をまず確立し、理解することが望ましい
。データ・ベース・セットの概念は、計算機歴史の大部
分で、主としてプログラミングにおいて共通に使用され
てきたいくつかの技術(テーブル、リスト、チエイン、
リング、フアイル、フイールドァレィ)を統合する。(
この概念はデータ構成セットがその名前とその特性の多
くを得る−股的数学的セット概念の限定である。この開
示において、“セット”という用語は常にデータ構成内
で使用され、数学的な意味ではない)。多くのシステム
はこのセットの概念を支持するがしかしソフトウェアに
おいてのみである。
データベース管理領域で、ハネウエル・ィンテグレ−テ
ツド・データ・ストア(IDS)システムはこのセット
の概念を始めて広く使用して、複雑な製造及び銀行業務
問題を処理した。IDSはチェィン(リング)型のセッ
トのインプレメンテーションを使用する。これらの基本
的概念はハードウェア/ファームウェアで実施され、か
つ現存する機械内に組み合わされて新しい、改良された
ディジタル計算機を提供する。セットは、自然界対象物
を近似するデータ構成を築き、かつ記憶する必要のある
3つの補足的概念(記録、フィールド、セット)の一つ
である。
もし自然界が、存在する実体、それらを説明する特質、
及びそれらに関連する関係に関して考えられるならば、
そのとき等価な情報システム概念はそれぞれ記録、フィ
ールド、及びセットである。学校環境から取られた簡単
な例において、実体は先生と子供である。先生の特質の
いくつかは“名前”、“学年”、及び“教室”である。
子供の特質のいくつかは“名前”、“年令”、“父兄の
名前”である。先生と子供の間に関係が存在する。この
自然界環境の情報システム・モデルにおいて、2つの類
の記録(一方は先生のため、もう一方は子供のため)が
生じるであろう。各先生の記録において、先生の名前を
記憶するフィールド、学年のための別のフィールド、教
室番号のための別のフィールドがある。各子供の記録は
子供の名前のためのファイル、彼の年令のための別のフ
ァイル、及び彼の父兄の名前の別のファイルを有する。
情報システムはセット概念を実行するように選択された
いくつかの方法のうちのひとつで先生の記録に子供の記
録を結びつけることができる。これは、彼らの先生の記
録がファイルに配列されたのち全ての子供の記録を物理
的に置くことによってなされる。これはテーブルもしく
は記録アレイと呼ばれる。この実施例はセット概念のチ
ェィン(リング)インプレメンテーション技術を組み合
わせる。この形式において、オーナー記録は第一のメン
バー記録へのポィンタを含む。次に、各メンバー記録は
次のメンバー記録へのポィンタを含む、この組の最後の
メンバー記録はオーナー記録にもどるポィンタを含む。
以前の記録のアドレスを保持する追加のポィンタフイー
ルド及び多分メンバー記録のためのオーナー記録へのポ
ィンタを有するオーナーと全てのメンバー記録あるいは
オーナー記録を供給する変形が許される。このように説
明されたデータ構成のセットの概念は数学的セット概念
の精製である。
すなわちデータ構成セットにおいてセット定義は“オー
ナー”ロールの例に具体化される。セット・メンバーは
“メンバー”ロールの例に具体化される。記録は同時に
異なるセットのオーナー及びメンバーのような多くのロ
−ルを有する。この特性により実世界の複雑さを模する
複雑な構成が形成され、処理される。数学的セット概念
のこの精製において、オーナーからメンバーにあるいは
任意のメンバーからオーナーに可逆的に進み、セット定
義を再確立することができる。データ構成セットにとっ
て、セット定義はオーナー記録内のあるフィールドの値
に通常基いており、他方このセットのメンバーは潜在メ
ンバー記録内の等価なフィールドの匹敵値により計算機
内に再確立される。
この匹敵データを保持するメンバー記録からこのフィー
ルドを除くことにより、かつ再組み立てのためにオーナ
ー記録に依存して、この現象はいよいよ有利に利用され
る。上述の学校の例において、先生は、先生/子供セッ
トの“オーナー”の役割を有する。この例を拡張するた
めに、我々は、大部分の学校において先生と子供の関係
は、子供が異なる学科のために異なる先生につくとき単
純な関係ではなく(1:n)、むしろ複雑な関係(m:
n)であるということを認める。先生、子供の複雑な関
係は新しい関係の実体、生徒、及び二つの単純な関係、
すなわち先生:生徒と子供:生徒に変換される。先生は
クラスの生徒として多くの子供を持ち、かつ生徒として
、子供は多くの先生を持つ。新しい“生徒”実体は、一
つの関係の実体を説明しかつ別のものと区別するのに役
立つ特質“学科”と“時間”を有する。子供はいくつか
の学科に対して同じ先生を持つ。データ構成セット概念
は四つの基本的特性を持つ。1 1セットはオーナーロ
ールに1つ、ただ1っ、そして常に1つの記緩を持つ。
2 1セットはメンバーロールにゼロ、1あるいはそれ
以上の記録を持ち、かつその数は時間と共に変化する。
3 任意の記録は同時にゼロ、1、あるいはそれ以上の
セットのオーナーである。4 任意の記録は同時にゼロ
、1、あるいはそれ以上のセットのメンバーであり、こ
のように同時にいくつかのオーナー記録によって所持さ
れる。
各記録は特別のセットのメンバーとして1回だけ現われ
る。メンバーロールはオーナーロールと抵触しない。“
次の”と“以前の”の概念は記憶プログラム計算機で解
く問題に基づく手続上のァルゴリズムにとって重要な概
念である。
一時に1つの記録を処理する手続上の限界に加えて、も
しセット内のメンバー記録が前もって定義されたデータ
値の規則正しい順序もしくは時間挿入の規則正しい順序
でそれに伝えることができるならば、アルゴリズムは重
要な簡単にされた影響がある。FIF○(先入れ先出し
)、あるいはLIF○(後入れ先出し)。“最初”と“
最後”の概念はデータァルゴリズムの反複命令実行を開
始しかつ停止させるのに重要である。このようにセット
内のメンバーの順序はセットの合理的処理に欠くことが
できない。ファイル内のセットに記録を組み合わせるこ
との主要な目的は、自然界関係を模することと、ある特
別の関係を表わすファイル内の選択された記録を読みこ
み書き出すのを助けることである。セット・アクセス・
メソッドが表1に敷せられている。表1 アクセスメソッド ダイレクト・アクセス・メソッド −記録を回収 データキー・アクセス・メソッド −記録を回収 セット・オーナー・アクセス・メソッド 一記録を回収 セット・メンバー・アクセス・メソッド くり返し使用、すなわちセットの各メンバーを回収ファ
イル逐次アクセス・メソッドくり返し使用、すなわちフ
ァイル内の各記録を回収最初の4つのアクセス・メソッ
ドはトランザクション及びインクワィアリ処理において
主として使用され、そして特別の実体、関連した群の実
体の記録された状態を決定し、あるいはそれらの記録さ
れた状態を更新する必要がある。
ファイル逐次アクセス・メソッドは主として周期的にバ
ッチファイルを更新するため、そして報告をもたらすた
めに使用される。必要な場合、5つの全てのメソッドに
よって同じ記録を呼び出すことは可能である。同様に、
特別の結果を達成するためにこれらのアクセス・メソッ
ドを組み合わせて使用することが可能である。上述の例
によると、先生の記録はデータキー・アクセス・メンツ
ドもこよって回収し、かつ生徒の全ての記録はセット・
メンバー・アクセス・メソッドによって回収できる。各
生徒の記録に対して、子供の記録はセット・オーナー・
アクセス・メソッドによって回収される。次に、回収は
子供の記録に対してデータ・キー・アクセスによって開
始され、それから子供の全ての記録、そして先生の記録
を呼び出す。セットから得られる基本的回収機会は下の
表0で与えられる。表○ 回収機会 与えられ アクセス・ るもの メソッド 決 定 オーナー セット 第1のメンバーもしくはから
のセット通オ−ナ− 知 セット 第1のメンバーもし くは引き出しセット オーナー 通知 セット・ 最後のメンバーもし メンバー 〈はからのセット適 任敵 知 セット・ 次のメンバーもしく メンバ− メンバー は最後のセット通印任意
の セット・ 以前のメンバーもしメンバー
〆ンバー くは第1のセット通知任意の セッ
ト・ セットのオーナーメンバー オーナーセット
に適用する具体的オペレーションのひと組がある。
これらはよく知られている記録及びフィールドの基本的
オペレーションに補足的なものである。セットの基本的
オペレーションの収集及び記録とフィールドの補足基本
的オペレーションは、ユーザーが、彼の従事しているデ
ータを呼び出し、変化させ、移動させ、削除等を行うハ
ードウェア/ファームウェアのプリミティブを有する処
理装置として知られているものを構成する。このプリミ
ティブ(すなわちハードウェア/ファームウェア命令)
は、フィールド(すなわちデータ項目)、記録、セット
、及び手順論理制御に関するオペレーションに細分化す
ることができる。ハードウェア/ファームウェア命令の
次の群はフィールド内のデータを処理する。オペレーシ
ョンを実行するために必要なフィールド記述情報(例え
ばサイズ、位置、記録状態)はそのオペレーションと関
連したデータ記述装置の役割として記憶される。この群
に含まれるオペレーションは、例えば桁送り、比較、寄
せ集め、加算、減算、乗算、及び除算である。ハードウ
ェア/ファームウェア命令の次の群はデータのダイレク
トアクセスと直列アクセスの両方の処理をする。
これらはデータ記録、その次の回収、変形、テスト、破
壊をする。記録ファームウェア/ハードウェア命令は記
録をつくり、記録を破壊し、直接記録を見つけ、直列記
録を見つけ、記録タイプをテストすることである。セッ
ト・ハードウェア/ファームウェア命令の次の群は普通
のデータ処理の本質及び高等データベース及び通信情報
管理システムのビルディングブロックをなす。
それらはセットの創造呼び出し、処理及びテストをする
。ハードウェア/ファームウェア命令は記録を挿入し、
記録を取り除き、関連した記録を見つけ、(1番を見つ
け、最後を見つけ、次を見つけ、以前を見つけ、1番目
を見つけ)、オーナー記録を見つけ、からのセットをテ
ストし、挿入されたメンバーをテストし、オーナー記録
を開始し、メンバー記録を開始することである。次の群
のベースレジスタハードウェア/ファームウェア命令は
データベースアクセスに関する現在のプロセス状態を決
定しかつ変化させる。
ハ一ドウェア命令はベースレジスタの記憶を取り除き、
ベースレジスタとべ‐スレジスタに記憶させる前述の“
見つけ”命令を取り消すことである。適用デー夕べ−ス
の記録を組織しかつ呼び出すのに使用されると共に、セ
ットはまた非常に多様なシステムソフトウェア領域で使
用される。システムソフトウェア領域のリストは下記に
図表化され、いくつかの使用法がセット概念領域にそれ
ぞれ列挙される。このリストは明白な使用法を例示する
が完全なものではない。1 デー夕べ−スシステム a インデックス構成(逐次インデックスとランダムイ
ンデックス)b データ記述構成 c 共有アクセス制御リスト d プロセス応答度構成 2 フアイルシステム a カタログ構成 b アクセス権制御 3 メッセージ・システム a 郵便箱インデックス構成 b 待ち行列・メッセージ c マルチェレメントメッセージ呼び出し4 プログラ
ムシステム a 制御プログラム・ライブラリー b テキスト編集 c プログラム制御構成 d 記号参照と記号定義の結合構成 e 編成翻訳のための中間プログラム形状5 オベレー
テイング・システム a ジョブの待ち行列 bリソース・アロケーシヨン・テーフル c デツドリ、ェンブレィス検出 d イベントを待つプロセスの待ち行列 (1/0完成、タイマー) e 発信待ち合わせ 1 一般的吟味 この発明は典型的にはオペレーティングシステムによっ
て統合され、後述されるハードウェアシステム環境にお
いて動作する。
第1図を参照すると、サブシステムは、プロセス・サブ
システム101、記憶サブシステム102、及び1以上
32までの周辺サブシステム103である。プロセッサ
・サブシステムは中央処理ユニット(CPU)104、
と4つまでの入力/出力制御ユニット(IOC)105
である。各周辺サブシステムは周辺制御ユニット(PC
U)106、多数の装置アダプタ(DA)107、及び
256までの周辺1/0装置108から成る。記憶サブ
システム102は、それぞれ32〜512キロバィトの
1〜4つの半導体メモリモジュールから成る。
Zプロセッサ/サブシステム101
において、CPUはこのシステムの基本処理オペレーシ
ョンを実行し、メモリ102とのインターフェイスを示
す。IOCI05は記憶サブシステム102と周辺装置
106との間の全ての情報交換をZ制御する。A 中央
処理ユニット CPUは、主メモリ・シンクロナイザ109、バッファ
ストア110、計算ユニット111を構成する種々の素
子、及び選択ェミュレータ112を含む。
主メモリ・シンクロナィザ109は、計算ユニット11
1、バッファ・ストア1 10、及びIOCIO9の間
で主メモIJを使用するための衝突を解決する。衝突は
優先権を基本にして解決される。すなわちIOCは最高
の優先権を持ち、次に(計算ユニットからの)メモリ書
き込み、それから(バッファ・ユニットへの)メモリ読
み出しと続く。
主CPUはまた主メモリアドレス指定を制御するアドレ
ス制御ユニットACU131と、主メモリの最も最近使
用されたアドレスを記憶するために使用される連想メモ
リAS132を含む。バッファ・ストア110は、主メ
モリの選択された領域を再生し、かつ計算ユニット11
1とのインターフェイスを形成して平均〆モリ呼出時間
を減少させる小さな高速バッファ・メモリである。各メ
モリ読み出しの間、バッファ・ストアと主メモリが呼び
出される。命令取り出しされる情報がすでにバッファ・
ストアにあるならば、主メモリ読み出しは終わり、情報
はバッファ・ストアから命令取り出しされる。さもなけ
れば、主メモリ102が読み出される。これが・ なさ
れる毎に、CPUは必要な情報を含む32バイトを取り
出す。この情報は未釆のメモリ・レフアレンスのために
バツフア・ストア内に残る。
バッファ・ストアはソフトウェアに対して透明であるの
で、任意の瞬間に計算機を制御するプログラムは、それ
が処理する情報が、バッファ・ストアあるいは主メモリ
のどちらから命令取り出しされたかを決定することがで
きない。計算ユニット111はCPU内の全てのデータ
処理及びアドレス発生をなす。
計算ユニット内の奥形的制御ストア130(Prent
iceHall、Inc.のSamirS.日聡son
による名称がMicroprogramingである本
のPrinciplesandPracticesを参
照のこと)はこのシステムを開始させ、CPUI04と
IOCI05を制御し、命令セットを解読するファーム
ウェアを含む。制御ストアは選択的に科学命令、テスト
ルーチン、エミユレー夕・パッケージ、あるいはプロセ
ッサ・サブシステムの能力を伸ばす特殊目的の特徴を形
成する。選択的に、CPUはこのシステム以外のシステ
ムのエミュレーションを形成する。
ェミユレータ112はフアームウエア、ソフトウェア、
及びある場合にはハードワェアの構成要素である。B
入力−出力制御ユニット プロセッサ・サブシステムのIOCI05部分は任意の
周辺サブシステム103と記憶サブシステム102の間
にデータ通路を形成する。
この通路は周辺指令制御装置を開始させ、データ伝達を
生じさせる。
IOCは典形的に32までのチャンネル制御ユニット(
図示されず)を処理する。C 周辺サブシステム 第1図の周辺サブシステム103におい て、PCUI06は、1ノ○オペレーションの間1/0
装置108を制御することによりCPUI04のロード
を救援する独立マイクロプログラミング・プロセッサで
ある。
PCUはこれをチャンネルプログラムに含まれる実行命
令によってなされる。
このプログラムはPCUで実行される代数、論理、伝達
、桁送り、及び分岐オペレーションを生じる。
各制御装置の種類に従っていくつかの種類のPCUがあ
る。すなわちユニット記録、集中(ディスク)記憶装置
、磁気テープ、通信等である。装置アダプタ107は各
PCUとそれぞれを制御する装置の間で伝達の媒介をす
る。
各々は特別の型式の装置との通信を実施するのに必要な
ファームウェア及び論理装置を含む。
この型式に従って、DAI07は1〜数個の装置を制御
する。周辺サブシステム103によってなされる主要な
機能は次の様である。
I CPU命令を一連の周辺装置に変換する。
2 CPUもしくは適切な周辺装置によって必要とされ
る形にデータをパックし、かつアンパツクする。
3 サブシステム及びその制御のもとにある装置の状態
をCPUに通知したままに保持する。
4 エラー及び回復手順を独立して開始し、かつ処理す
る。
5 関連周辺プロセッサの装置共有能力を乱すことなく
、装置のオンライン診断を可能にする。
PCUはそれに取り付けられた装置間の主2メモリの衝
突を解決するが、IOCはPCU間の衝突を解決する。
D 記憶サブシステム各メモリ・モジュール1−4は4
あるいは8バイトの中である。
モジュール数、それら3のサイズ、及びデータ通路中は
計算機の大きさに従って変化する。メモリ・モジュール
は、4つのモジュールが順次呼び出されるように4重に
インターリープされる(モジュール1は第1の8バイト
を含み、モジュール23は第2の8バイトを含む等であ
る)。
このインターリーブは主メモリを呼び出すときの衝突数
を減らし、それによって平均〆モリ呼出時間を減らす。
メモ川ま故障の場合に再配列することができる。すなわ
ちモジュール内の4メモリ・ブロックは隣接アドレツシ
ングを壊すことなく除去される。主メモリ102は、酸
化金属半導体 (MOS)チップの形をした容量記憶媒体から成る。
この媒体は情報を維持するため、リフレツシュすること
を原則にして動作する。各メモリ位置は典形的には、少
くとも2ミリ秒毎に1回りフレッシュされ、すなわちリ
フレツシュタイミングとメモリ呼び出しの間にほとんど
衝突は生じないように設計される(衝突の場合に、リフ
レッシュすることが優先する)。主メモリで始まる領域
はハードウェアとファームウェアのために指定されてい
る。
この領域の上限は、システムソフトウェアに明らかな境
界アドレスレジスタ(後述されるBAR)の内容によっ
て限定される。
BAR内容はシステム開始時間に設定される。BAR内
に指定されたアドレス以下のメモリ領域は、周辺サブシ
ステムの構成を限定するIOCテーフル、CPUを制御
するファームウェア、あるいはエミュレーション用のマ
イクロプログラムとテーブルを含むことができる。
BAR内に指定されたアドレス以下の領域のサイズはシ
ステム構成に左右される。マイクロプログラムが主メモ
リにあるか、あるいは制御ストアにあるかどうかはシス
テム構成及びシステムの応用動作に左右される。2 基
本的機械構成 このハードウェアで利用される典形的には3つの基本デ
ータ構成がある。
すなわちデータ・フオーマットソフトウェア可視レジス
タ、及び命令フオーマツトである。A データ・フォー
マット 情報は8並列ビットの倍数でCPUとメモリ間で伝達さ
れる。
情報の各8ビットユニットはバイトと呼ばれる。パリテ
ィあるいはエラー訂正データがまたデータと共に伝達さ
れるが、ソフトウェアには影響されない。それ故、この
明細書において、データという用語はそれに関連したパ
リティあるいはエラー訂正データを除外する。B /ゞ
イト バイト内のビットは左から右に0〜7の番号がつけられ
る。
バイトは別々に、あるいはグループで処理される。2バ
イトは半語を、4バイトは1語を、8バイトは2語を、
そして10ミィトは4語を構成する。
命令を含む全てのデータに基本的フオーマツトがある。
C データ表示 全てのデータは2進形であるが、2進、10進、あるい
は文字数字式に解釈される。
データビットは、IQ隼符号化2進データとして、4つ
の群で解釈される。すなわち8は文字数字式に、16〜
64は2進数字として解釈される。後者は2進概念にお
いて、符号化、固定もしくは浮動小数点数として解釈さ
れる。2語までの隣接ビットの任意の数はまたストリン
グとして処理される。
文字数字式字の絹は、EBCDICで表わされる。
ASCIIは別の交換コードとして支持される。D /
ゞイト・アドレス 主メモリのバイト位置はゼロで始まる連続番号がつけら
れる。
各番号はバイトのアドレスである。一群の連続バイトは
、もし群内の左のバイトのアドレスがそれぞれ2、4、
8あるいは16の倍数であるならば、半語、1語、2語
あるいは4語整列しているといわれる。半語、1語、2
語、あるいは4語がこのように整列しているときはいつ
でも、そのユニットはそのアドレスから命令取り出しさ
れる。主メモIJのデータの位置は、アドレス展開の間
、間接的に呼び出されるデータ記述子によって指定され
る。(発明の名称が“分解アドレス展開”でこの出願と
同じ該受人に譲渡された米国特許第39紙096号を参
照のこと)E 可視レジスタ 第1図のCPUI04には33のユーザ可視レジスタが
あり、その内容はCPUの状態を集合的に限定する。
4つの型式がある(第2図参照)。
1 汎用レジスタ 2 ベースレジスタ 3 科学レジスタ 4 種々雑多なしジスタ F 汎用レジスタ 第2図の汎用レジスタ(GR)201は固定小数点2進
数及びビットストリングを処理するために使用される。
CPUI04には、16の32ービツトの汎用レジスタ
GRO〜GR15がある。汎用レジスタGR8〜GR1
5はまたインデックスレジスタとして使用することがで
きる。インデックスレジスタとして使用されるとき、そ
れらはここではXO〜X7と呼ばれる。すなわちィンデ
ックシングはしジスタに含まれる32ビットの2つの補
足整数を使用してなされる。G ベースレジスタ ベースレジスタは命令カウンタIC及びスタツクレジス
タ202−203と同じフオーマットを有する。
ベースレジス夕はメモリ部分を限定するアドレス計算の
間に使用される。
典形的には、8つの32ビットベースレジスタBRO〜
BR7がある。H 科学レジスタ 科学レジスタ(SR)は浮動小数点2進数によって計算
する選択装置である。
典形的には4つの8バイト科学レジスタ4がありSRO
〜SR3として参照される。科学レジスタは第2図のフ
オーマット204一205を有する。1 種々雑多なし
ジスタ 5つの他のレジスタがある。
すなわち、・フオーマット202一203を有する命令
力ウン夕・フオーマット207を有する状態レジスタ・
(Tレジスタと呼ばれる)スタツクレジスタ・構成20
2一203を有する境界アドレスレジスタ・構成208
を有するハードウェア制御マスクレジスタ命令カウンタ
(IC)は、実施される命令のアドレスを含む32ビッ
トのレジスタである。
状態レジスタ(STR)207は、現在実施されている
手順についての事実を記録する8ビットのレジスタであ
り、例えば最も最近のオペレーションによってアンダー
フローが生じたかどうかを記録する。Tレジスタとして
また知られているスタツクレジスタは、現在有効な手順
と関連したブッシュ・ダウン・スタックのトップに指示
を有する32ビットのレジスタである。
後述されるスタックは、局部変数を保持し、かつ手順開
始を指定する機構及びワークスペースを形成し、そして
情報を戻す。
境界アドレス・レジス夕(BAR)206はソフトウェ
アによって呼び出すことのできる最低主メモリアドレス
を指定する28ビットのレジスタである。
このレジスタはシステム開始の間にロードされ、そして
ソフトウェアによってのみ読み出される。ハードウェア
制御マスクレジスタ208は機械条件情報を記録する8
ビットのレジスタである。J 命令フオーマツト 多かれ少かれ利用されるけれども、略20、0の命令が
ある。
各命令は4つの異る長さのうちの一つであるが、常に偶
数バイトの長さである。命令は連続記憶位置に記憶され
る。最も左のバイトのアドレスは2の倍数であり、かつ
その命令のアドレスである。
命令の8つの最上位ビット(及びある場合には8〜11
あるいは12〜15のビット)はオペレーションコード
を表わし、他方残りのビットは1以上のオペランドを表
わす。
オペランドはしジスタ指示子、転暦指示子、アドレス語
(論理アドレス)、リテラル値、ィメディェィト・リテ
ラル値である。オペランドの数及びその型式は命令フオ
ーマットによって決まる。3 システム組織 A ジョブステップ及びタスク 計算機システムによって実行されるワークは、ジョブ制
御言語を通して一連のジョブステップによって外部から
限定される。
ジョブステップは一単位のワークであり、そしてハード
ウェア手段がそれに割り当てられる。典形的には、ジョ
ブステップはいくつかのタスクから成る。タスクはユー
ザー限定ワークの最も小さい単位であり、対応なく実行
される命令の流れから成る。Bプロセスタスク及びジョ
ブステップのユーザー可視概念はプロセス及びプロセス
群によってそれぞれハードウェア内に表示される。
プロセスは、CPUによって同期して実行される規則正
しい順序の命令として定義される(すなわち、いくつか
のプロセスは有効な、共有手段であるが、実際上一つの
プロセスのみが任意の瞬間に動作する。プロセス群は一
つのジョブステップを実行するのに必要な関連した一組
のプロセスである。C プロセス制御ブロック及びシス
テムベースプロセスはその実行の間、種々の点でCPU
制御を停止するため、主メモリの記憶領域はCPU状態
を保持するプロセスに利用される。
この状態情報は、プロセスがCPUの制御を再び始める
前にCPUを前もって調整するために利用される。プロ
セスに割り当てられた記憶領域はプロセス制御ブロック
(PCB)400と呼ばれ、第4図に示されている。
PCBに含まれるデータは、プロセスに割り当てられた
メモリ領域のアドレス(アドレス・スペース)、全ての
関連レジスタの内容、及びプロセスの状態を含んでいる
。このように、PCBは、いかなる情報損もなくプロセ
スを開始、あるいは再開するのに必要な情報の一時的記
憶領域として役立つ。各PCBはハードウェアに対して
透明であり、そしてシステム開始中に開発され、システ
ムオペレーション中に変形される一組のハードウェアテ
ーブルを通して、オペレーティングシステムによってア
ドレス指定される。(第5図)。システム・ベースとし
て参照される絶対的主メモリ領域である(第5図及び第
6図)。
この領域はフア−ムゥェアによって開発され、かつ読み
出すことができるが書きこむことのできないベース・ア
ドレス・レジスタ(BAR)501を通して呼び出され
る。
システム・ベース502は、現在動作しているプロセス
のジョブステップ数とプロセスステップ数(J、P)を
含む多数のシステム特質を含む。このシステム・ベース
の別の特質はJテーブル503として知られたハードウ
ェア限定データ構成への指示である。このテーブルは現
在のこのシステムの各ジョブステップのェントリを含む
。Jテーブル503の各ェントリは、またハードウェア
限定データ構成である関連Pテーブルを指示する。この
テーブルはプロセス群を限定し、かつプロセス群の各プ
ロセスのェントリを含む。各PテーブルェントリはPC
B400を指示する。第5図を参照する。
計算ユニット111(第2図)の算術部分506を通し
てJ番号により指示されたJテーブルポィンタ505は
、Jテーブルェントリ503を呼び出す。
このヱントリは、計算ユニット506を通してP番号に
より指示されるときPテーブルェントリ504を呼び出
すPテーブルポインタを含む。このPテーブルェントリ
は現在動作しているプロセスのPCBへのポインタ50
7を含む。このように、オペレーティングシステムはB
AR50 1の内容を使用して有効PCBを呼び出すこ
とができ、かつそれに関連した(J、P)論理名称を与
えられた別のPCBを呼び出すことができる。
D 記憶セグメンテーション ここに記述されたようなマルチプロセス環境には任意の
時間にメモリ内に多くのプロセスがある。
このようなプロセスはメモリアロケーション問題を生じ
るメモリのサイズと要求を変化させる。ここに記述され
たハードウエアはオベレーテイングシステム(ここでは
図示されず)と共同してメモリスペースを動的に割り当
てることによりこの問題を解決する。ランダム性質のメ
モリ要求により、メモリは可変サイズセグメントに割り
当てられ、そのメモリアロケーションはプロセス動作時
間の間再構成される。このようにプロセスは多数の非隣
接メモリセグメントを割り当てられる。このメモリアロ
ケーション方法はセグメンテーションと呼ばれる。セグ
メンテーションは、プロセスの一部あるいは全部が再配
置するときはいつでも変化するメモリアドレスにおいて
付加的問題を生じる。
この問題を軽減するためにここに記述されたようなシス
テムはプロセスによって使用されたアドレスが絶対的主
メモリアドレスよりも論理的である技術を梶給する。こ
のような論理アドレスは絶対アドレスを開発するのに使
用される。セグメンテーションにより、セグメント記述
子を通してそれ自身のあるいは関連したメモリセグメン
トを各プロセスは呼び出す。
セグメント記述子を呼び出すことによってプロセスはセ
グメントのアドレスを得ることができる。セグメント記
述子は主メモリに含まれ、オペレーティングシステムに
よって維持される。
各プロセスは2068までのメモリセグメントを呼び出
す。
通常、これをプロセスにつき同数のセグメント記述子を
要求する。しかしながらセグメントが分割されてから後
では、オベレーテイングシステムはセグメント記述子を
セグメントテーブルに分類する。
この分類方法は1プロセス(タスク)、1プロセス群(
ジョブ・ステップ)、あるいは全体的(システム中)に
より呼びだし能力に基づいている。各プロセスはそれに
関連する15セグメントテーブルまで所有する。この技
術はセグメントテーブルを通してプロセスにより呼び出
されることのできる各セグメントのためのただ1つのセ
グメント記述子を必要とする。このように、セグメント
記述子のため必要とされたメモリスペースは減少させら
れる。
再配置中に更新されるメモリは縮少され、いくつかのプ
ログラム保護がなされる。
(プログラム保護のための主機構はリング・システムで
ある。発明の名称が“マルチプログラム、マルチプロセ
ッサー、コンピューターシステムの情報保護”であって
この発明と同じ譲り受けた人に譲渡された米国特許出願
第528953号を参照のこと。)プロセスはどのセグ
メントが呼び出されるかを決定することができなければ
ならない。
従って、このシステムは2セグメントテーフル語アレイ
(STWA)を有するプロセスを形成する。これらのア
レイは、プロセスに呼び出すことのできる全てのセグメ
ントテーブルのアドレスを含む。2つのセグメントサイ
ズ、大きいのと々・さし、のがあるので、プロセス毎に
2つのセグメントテーブル語アレイがある。
大きなセグメントは最大サイズ汐2バイトを有する一方
、小さなセグメントは最大サイズ?6バイトを有する。
全てのセグメントはその最大にまで10ゞィトづつ増進
してサイズを変える。システムは典形的には28までの
大きなセグメント2040までの小さなセグメントを収
容する。セグメントテーブル語アレイはオベレーティン
グシステムによって再配置され、それ故プロセスは関連
したSTWAの絶対アドレスを知らなければならない。
任意のプロセスのPCBは、第4図のアドレス、スペー
ス語ASWO−1として知られているこの情報を含む2
語を含む。
各語はセグメントテーブル語アレイSTWAを指示する
。オペレーティングシステムは、関連STWAが再配置
されるときはいつでもASWの内容を更新する。指示チ
ェィンを下方に動かせ、セグメント記述子を解読するこ
とがファームウェアの機能であり、このようにいったん
開始されると、オペレーティング・システムに対してさ
え明らかでない。セグメンテーションはプロセスのため
に利用できるような2億バイト以上のアドレス・スペー
スを限定する。
この数は主メモリの容量を越える。それ故、2次記憶装
置(磁気ディスクあるいはドラム)が主メモリと共に使
用される。オペレーティングシステムは、このシステム
が真に利用できる以上に大きな主メモリを有するという
錯覚を生じる。この概念はバーチュアル・メモリと呼ば
れる。任意のときに、限定されたセグメントは物理的に
王〆モリ内にあってもよいし、なくてもよい。
セグメント記述子の内容は、関連したセグメントが主メ
モリ内にあるかどうかを指示する。ハードウェアは、主
メモリ内にないセグメントを呼び出す試みをプロセスに
よって検出し、かつオペレーティングシステムに通知す
る。オペレーティングシステムにより、必要なセグメン
トは2次記憶装置から主メモリ内にロードさせる。それ
から、オペレーティングシステムは、セグメントの絶対
アドレスが見つけられる場所であるセグメント記述子内
にセグメントのメモリアドレスを位置させる。このオペ
レーションはこのプロセスに明白でなく、そしてセグメ
ントが主メモリ内になかったか、あるいはそれが主メモ
リ内に再配置されなければならないということに気づい
ていない。(メモリ・セグメンテーションに対しては、
発明の名称が“区分アドレス開発”である米国特許第3
938096号を参照のこと)ここで説明した計算機シ
ステムは、プロセスが互いに干渉し、あるいは互いのア
ドレススペースが独断的な方法で共有するのを妨げるこ
とにより、データ及び手順保護を形成する。
この保護は、メモリセグメンテーションを通して呼び出
し能力を制限することにより、かつリングシステムによ
って達成される。
セグメント・テーブルはこのシステムの 種々のプロセスのアドレス・スペースを分離する。
プロセスは常に実行中にセグメント・アドレスを使用す
る。セグメント・アドレスは、このセグメント内のセグ
メント数及び関連アドレスから成るぐセグメント・アド
レス開発”の上述の出願を参照のこと)。
ハードウェアは、プロセスによって使用されるアドレス
が、このプロセスに割り当てられたアドレス・スペース
の一部であるということをチェックする。もしこのアド
レスが前述のアドレス・スペースの外側にあるならば、
例外が生じる。ハードウェアは参照プロセスのセグメン
トテーブルを使用するので、別のプロセスのアドレスス
ペース内のデータを照会することができない。このよう
に、別のプロセス群に属する実体を、プロセスもしくは
プロセス群が照会する可能性はない。一般的に、このシ
ステムのアドレス・スペースの重複は、全てのプロセス
に共有されるセグメントに生じる。
これらの公知のセグメントは、アドレス衝突しないよう
にチェックするシステム・プログラムによって生じる。
このように、セグメンテーションは、ユーザープログラ
ムを互いに対して保護し、かつオベレーテイング・シス
テムをユーザープログラムに対して保護する。いくつか
のプロセスによって共有されるセグメントは、これらの
プロセスの一つによる誤使用からは保護されない。
この問題を解くために、リングシステムが利用され、そ
れによって手順及びデータセグメントは4段階体系にグ
ループ化される。4つのりング種類は0〜3の番号がつ
けられる。
各リングはシステム特権レベルを、最大の特権をレベル
0で(最も内側のりング)、そして最小の特権をしベル
3で(最も外側のリング)表わす。このシステムの各手
順はそれに割り当てられた最小及び最大実行リング番号
を有し、かつそれはこの手順を呼ぶものを指定する。手
順は、他の手順を呼ぶことができ、かつそれらにパラメ
ータを通すことができるサブルーチンである。リングシ
ステムの一般的役割は次の様である。
1 内側リング内の手順は外側リング内のデZータを自
由に呼び出す。
逆に、外側リングの手順は内側リング内のデータを呼び
出すことができない。
2 外側リングの手順は内側リング手順に分岐すること
ができるが、逆は不可能である。
3 データを含む各セグメントは2リング値を、一方は
読み出し(RD)のために、かつもう一方は書き込み(
WR)のために割り当てられる。
これらのリング値は最大リング値を指定し、かつ読み出
しあるいは書き込みモードのどちらかでデータを呼び出
すとき、手順は解釈実行される。
手順命令が実行される毎に、この手順のりング番号(効
果的アドレスリング、EAR)は照会データを含むセグ
メントに割り当てられたりング番号によってチェックさ
れる。
EARは、命令カウンターのプロセス・リング番号と、
アドレッシング通路のデータ記述子及び基本的レジスタ
の全てのりング番号の最大番号である。
データを呼び出すことはリング番号の比較に基いて認め
られ、あるいは否認される。例えば、もしシステムテー
フルが最大読み出しリング値3と最大書き込みリング1
を有するセグメント内に存在するならば、そのときリン
グ3内で実行されるユーザー手順はこのテーブルを読み
出すが、しかしこのテーブルを更新しない。前もって設
計することにより、リング0と1はオペレーティングシ
ステムのために指定され、かつリング2と3はユーザー
のために指定されている。
リング0は全システムオペレーションに重大なこれらの
セグメントを含む。リング1は、故障が破滅的にならず
、回復できる容量のシステムセグメントを含む。ユーザ
ーはチェックアウト・プログラムのためにリング2を、
そしてデバッグプログラムのためにリング3を利用する
。F 手順コール 手順コールはここで説明されるシステムにおいては重要
な機能である。
手順コールはある手順から別の手順に通すために使用さ
れる。
すなわち、ユーザー手順でオペレーティングシステム・
サービスを用いるために、そしてオペレーティングシス
テム内にモジュール構成を達成するために使用される。
手順コールは命令及びスタツクと呼ばれるハードウェア
認可実体によって達成される(第7A図)。
スタックは、最後に入り最初に出ろを基本にしてデータ
を受け取り、記憶し、そして訂正する機構である。
スタックはスタックセグメントと呼ばれる特別のセグメ
ント内にある。
スタツクセグメントはスタツクフレーム701(第7A
,7B図)と呼ばれる多数の隣接部分から成り、かつそ
れは機能的に各手順に割り当てられる。第1のスタック
フレームはセグメントのトップにロードされ、かつ次の
フレームはその後にロードされる。最後のロードされた
フレームがスタツクのトップと考えられる。Tレジスタ
702は、現在有効なプロセスのスタックのトップを定
める。事実上のTレジスタがこのシステムの全ての他の
プロセスのPCB内に存在する。第7B図のスタックフ
レーム701は3つの領域から成る。
すなわち変数を記憶するワーク領域702、レジスタの
内容を保持する保持領域703、及び手順間でパラメー
タを通す通信領域704から成る。手順コールの前に、
ユーザーは、彼が保持することを望むレジスタを指定し
なければならず、かつ彼はコールされた手順に通される
パラメータを通信領域にロードしなければならない。コ
ールがなされるとき、ハードウェアは命令カウンタIC
及びコールされた手順からの復帰を容易にするため指定
されたベース・レジスタの内容を保持する。各手順コー
ルはスタツクセグメント701内にスタックフレームを
創り、かつ次にネスティングミれたコールは別のフレー
ムを創る。
このようにコールされた手順の一つからの各出口がスタ
ックフレームをスタツクから削除させる。このように、
規則正しい復帰を容易にするコールの履歴が維持される
。異るリング内で実行される手順の間の保護を保証する
ために、異るスタックセグメントが使用される。
プロセス毎の保護リングに相当する1スタツクセグメン
トがある。PCBは、プロセスと関連したりング0,1
,2のスタックセグメントの開始を指示する3つのスタ
ック基本語を含む。リング3・スタツクセグメントは内
方コールによってはけつして入ることができず、それ故
、そのスタツク開始アドレスはPCBには必要でない。
4 プロセス管理及び同期化 このシステムは、ソフトウエア、ハードウエア、及びフ
ァームウェアの組み合せを使用するオベレ−ティングシ
ステムにより制御されるマルチプロセス・オペレーショ
ンをなす。
ソフトウェアはシステム内にプロセスを創りかつ削除す
る一方、ハードウェアとファームウェアはCPUのプロ
セスを多重化する。さらに、ソフトウェア、ハードウエ
ア、及びファームウェアの組合せによりプロセス間の同
期化をする。プロセスは常にではないが通常、関連した
ジョブ処理中に、そしてこのオペレーティングシステム
によって必要と考えられる目的のために他の時に、1/
0オペレーションの開始及び終了で開始され、そして停
止される。それ故、通信システムは、関連したプロセス
を効果的に開始させ、かつ停止させるために、そしてそ
れらの間に情報を通すために必要である。このハ−ドウ
ェアシステムは、プロセス間に通信結合を形成するため
、セマフオア(semaphores:信号機)と呼ば
れる内部メッセージを発生する。A プロセス状態プロ
セスは任意のときに4つの可能なステートのうちの一つ
である。
すなわち、動作中、準備中、待機もしくは中止中である
ハードウェアは4つの可能なプロセスステートを認識し
、かつプロセスデイスパツチ、ステート変化を達成する
ため、またプロセスステートに基いたデータ構成を維持
するため種々のファームウェア手順を実行する。PCB
はその関連したプ。セスの現在のステートを限定するス
テート・フィールドを含む。プロセスは、それがCPU
の制御を有するとき動作ステートにある。
この状態はアドレススペース(セグメントテーブル)及
び開始アドレスをCPUに供給することを含む。CPU
はそのときプロセスの手順セグメントにある命令を実行
する。
現在動作中のプロセスのためのPCBのプロセス名称J
テーブル語(論理アドレス)はシステムベース範囲内で
動作中のプロセス語(BAR+60)に保持される(表
6)。(注:表5に表示されたシステムベースは表6に
表示されたものと同じであるが、いくつかの詳細は省略
されている。)準備ステートはプロセスがCP川こよっ
て認められないのでCPUの制御を有さないことを除い
て動作中ステートと等しい。
準備ステートのプロセスはCPUを他の準備プロセス及
び動作中プロセスと争う。信号を通してメッセージのよ
うな特別なイベントが生じるまでプロセスが続かないと
きそれは待機ステートにある。
待機プロセスはCPUを争わないが要求されるイベント
を他の待機プロセスと争う。中止プロセスはソフトウェ
アによって1時止められ、後で再び始められるプロセス
である。
プロセスを止めて再び始める決定はプロセス外のもので
ある。このように中止プロセスは活動的でなくそれゆえ
イベントの発生の通知を受け取れず、またCPUを利用
できない。プロセスは次のような状態(コンディション
)で中止される: {1} 終了命令を実行することによって(全ての機能
を完了した結果として)t2’ オペレーティングシス
テムによって中止命令を実行することによって‘3’
制御がオペレーティングシステムに伝達されることによ
って例外コンディションの発生によって B プロセス・デ1イス/ぐツチ プロセスが動作中プロセスの動作によってあるステート
から他の随意的ステートに移し、もしくは他のプロセス
動作によって不随意ステートに移す。
ディスパッチャとして知られているCPUファームウエ
アはステート間のプロセスのトランザクションを制御す
る。
ディスパッチャは準備ステートあるいは待機ステートに
あるプロセスを処理するために一組の待ち合わせを使用
する。中止プロセスはソフトウェアによって制御される
。第6,8,9図を参照すれば、準備あるいは待機プロ
セスはPCBとプロセスリンクと呼ばれる特別の待ち行
列エントリーとによって表わされる。
第9図はGOセグメント802の内容の展開用を示し、
有効プロセスの803a−803bと803c−803
gのプロセスリンクを含み、中止プロセスの自由プロセ
スリンクの805a−805cを含む。各プロセスリン
クはプロセス名称(J、P)、プロセス優先権及び待ち
行列中の次のプロセスリンクへの指示を指定する。これ
らは待機待ち行列803a−b及び準備待ち行列803
c−gのようなさまざまなタイプの待ち行列である。G
テーブルとして知られている、Jテーブルに類似してい
るハ−ドウェア装置は、(第6,8図)、一般的な(公
知のシステム中)セグメント802一802nへの指示
を含む。
Gテーブル801の第1の素子GOはディスパッチャ待
ち行列を含むセグメント802を指示する。Gテーブル
801へのGテーブル指示は第5図のシステムベース5
02に現われる。またこのシステムにおいて、ベースは
GOセグメント802の準備待ち行列803c−803
gのヘッド805を識別する内部プロセス待ち行列語(
IPQW)と呼ばれるエントリーである。このようにデ
ィスパツチヤは、準備待ち行列803c−803gを考
慮することによって全ての準備プロセスを調査すること
ができる。
現在動作中のプロセスがステートを変えるとき、ヂィス
パッチャは準備待ち行列のヘッドでプロセスリンクを取
り除きPCBを呼び出すためにJ、P名称を使用する。
PCBによって定められたプロセスはそのとき新しい動
作中プロセスとなる。1つ以上のプロセスが同じイベン
トで待ち受けられるので、待機中プロセス803a−8
03bの待ち行列は各々のイベントに存在する。
待機中プロセスはまたGOセグメントにあるプロセスリ
ンク805を通して一緒に配列される。待機待ち行列の
ヘッドへの指示はセマフオア903(後で記述されるた
め)にある。多数のイベントはプロセスが待機する間に
存在し、それゆえ各々が関連したセマフオア903と9
04を有する多数の待機待ち行列がある。準備あるいは
待機中プロセス数は大きく変化する。
このように準備及び待機待ち行列を命ずるプロセスリン
ク数もまた変化する。この事実によりデイスパッチャの
メモリ管理問題が生じる。その問題はフリー・プロセス
リンク待ち行列805a−cと呼ばれる他の待ち行列に
より解決される。この待ち行列は準備もしくは待機待ち
行列により使用されないセグメントGO内の全てのプロ
セスリンクと結合し、そして準備もしくは待機中プロセ
スの特別な待ち行列を延ばすのに使用されることができ
る。フリー・プロセスリンク待ち行列805のヘッド9
02への指示は00セグメント802の開始近くに存在
する。C プロセス同期 プロセス同期は同じタスクに2つのプロセスワーキング
のアクティビティを調整するよう命ぜられる。
同期は通信プロセスのアドレススペースにあるデータ構
成であるセマフオア903一904を使用して達成され
る。セマフオアはイベントの発生を知らせ、かつメッセ
ージの待ち行列を処理するために使用される。このよう
な関係のイベントは、ある他のプロセスに関心あるプロ
セスによって認められる。このイベントは非同期オペレ
ーションの完了、あるいは一手段の効力の完了である。
プロセスはイベントの発生を知らせるために2つのセマ
フオア・オペレーションを使用する。
一方のオペレーションはセマフオアに信号を送り、他方
はセマフオアから信号を検出する(送り動作はいよいよ
Vオベレーションと呼ばれ、受け取り動作はPオペレー
ションと呼ばれる)。送り動作は、データが準備中であ
るデータあるいは信号をプロセスに送らせる。セマフオ
アは、別のプロセスが信号を検出する準備中となるまで
信号を記憶する。
このように、送りプロセスは、それがデータを送ってか
らは、自由に進む。受け取りオペレーションは指定され
たセマフオアを調査し、信号を検出する。もし信号が存
在するならば、受け取りプロセスは命令を解釈実行し続
ける。しかしながら、もしセマフオアに信号がないなら
ば、受け取りプロセスは待機ステートに入る。そのとき
セマフオアは待機待ち行列の先頭の指示器として役立つ
。このプロセスは、別のプロセスがその特別のセマフオ
アに信号を送るまで、セマフオアで待ち合せる待機ステ
ートのままにされる。このように、セマフオアは、プ。
セスが信号を検出するまで信号を保持することができ、
あるいはセマフオアは、信号がそれに送られるまでプロ
セスを保持することができる。メッセージはまたプロセ
スからプロセスに通される。
メッセージは信号プラス追加情報と同じ現在もしくはそ
うでない特質を有する。
情報の一部はハードウェアによって供給され、かつ一部
はメッセージを送ったプロセスの手順によって供給され
る。メッセージは送りプロセスのプロセス名を伴う。こ
のように、多くのプロセスは送りプロセスの名前をつけ
た単一のセマフオアを通して情報を送ることができる。
メッセージ・セマフオアは、プロセスによって検出され
るべく待機中のメッセージの待ち行列を有する。
信号セマフオアによって、メモリのスペース要求は、現
存するメモリ管理問題を増加させかつ減少させる。再び
、この問題はフリー・メッセージ・リンクの待ち行列に
よって解決される。これらのリンクは、メッセージリン
クを供聯合しあるいは吸収する必要があるとき、容易に
見つけられるセグメント内の既知の場所にある。
セマフオア及びそこで形成される待ち行列を異るプロセ
スによって共有されるので、全セマフオア構成が保護さ
れる。
これは、セマフオアを含む任意のセグメントの呼び出し
を制限するハードウェア及びソフトウェアによって達成
される。このように、セマフオアはセマフオア記述子セ
グメント内になければならず、(もしシステム通信が必
要ならば)そのいくつかはGセグメントである。しかし
ながら、全てのGセグメント(GOを除く)はセマフオ
ア記述子セグメントである。各セマフオア記述子はセマ
フオアへの指示器を含む。
セマフオア・アドレスはセマフオア記述子を通して開発
され、このようにセマフオアの付加された保護を形成す
る。セマフオア・セグメントは、セグメント内のセグメ
ント番号及び相対位置を使用して論理的に、あるいはG
、D番号を使用して直接にアドレス指定される。E プ
ロセス制御ブロック構成 第4図を参照すると、プロセス制御ブロック(PCB)
のフオーマツトが示されている。
プロセス制御ブロック40川ま主メモリの記憶領域であ
って、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〜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は、標準コード・セッ
トあるいはコンパチブル8コード・セットがこのプロセ
スによつて使用され、その位置の2進0は、標準コード
・セットが使用されているということを示すのに対して
、第3のビット位置1007の2進1は、コンパチブル
・コード・セットが使用されているということを示す。
ケーパビリテイバイトの残りのビットはゼロに設定され
る。優先権バイト1002の詳細は第10c図に示され
ている。
第10c図を参照すると、優先権バイト1002の最初
の4つのビット1008が、その任意のプロセス制御ブ
ロックPCBと関連したプロセスの優先権レベルを設定
するために利用される。各プロセスは、規則正しい競争
プロセスのために使用される優先権の16レベルのうち
の一つを割り当てられる。すなわち【aー準備プロセス
の間の動作されるべきプロセスを選択するため、‘b}
プロセスを待ち行列にするために使用される。優先権は
0から15に減少し、かつ任意の優先権レベルのために
、FIFO(最初に入り最初に出る)規則が適用される
。優先権バイト1002の次の4つのビットはゼロであ
る。第10d図を参照すると、ステート・バイト100
3の詳細が示されている。
ステート・バイトは、プロセス制御ブロック400に関
連したプロセスに関して情報を供給するために利用され
る。
有効フィールドビットAIOIOは、このプロセスが動
作するとき、2進1に設定される。中止フィールドSI
OI IIは、このプロセスが中止されるとき2進1に
設定される。副ステート・フィールドSSIO12は2
ビットフィールドであり、プロセスの次の副ステートを
限定する。
すなわち{a}、2進00に設定されるとき、プロセス
は不動作であり、‘bー、2進01に設定されるとき、
このプロセスは準備プロセスの待ち行列で待機しており
(Q/PR/RDY)、【d、2進10に設定されると
き、このプロセスはセマフオアの待ち行列で待機してお
り・(Q/PR/S)、‘d}2進11に設定されると
き、このプロセスはプロセッサによって実行されている
。中間オペレーションフィールド(MOI)1013は
、割込みが生じるとき2進1に設定され、命令の実行中
、すなわちプロセスの完了前は、準備中である。拡張デ
コーモードビツトEXTDI O 1 4は、このプロ
セスがこの機械のエミュレーションモード‘こあるデコ
ー拡張モード動作するとき1に設定される。プロセス主
要語PMWOの第4のバイトはデコー拡張番号を含み、
かっこのシステムがエミュレーションモードであるとき
利用される。プロセス主要語PMWIはプ。セス制御ブ
ロックPCBのバイト4一7に記憶される。
PWMIの詳細は第10e図に示されている。
状態バイト1016はPMWIの第1のバイトであり、
かつ状態レジスタ内容を記憶する。マルチプロセッサバ
イトMPIO18はマルチプロセッサアーキテクチヤに
おいて重要であり、さもなければこのフィールドはゼロ
である。プロセス主要語1の第2と第4のバイトはそれ
ぞれMBZフィールド1017と1019であり、かつ
それらは通常の動作の間ゼロでなければならない。プロ
セス主要語PMW2はプロセス制御ブロックのバイト8
〜11を占め、かつ第10f図に詳細に示されている。
第10f図を参照する。ビット4〜31からのフィール
ドは、セマフオアのローカル・ネームSEG、SRAI
021を含み、そしてプロセスが待機もしくは中止ステ
ートのどちらかのとき、それにPCBがリンクされる。
例外クラス及びタイプ・フイールド1023は、プロセ
スが例外後中止ステートにやる割込状例外のクラス及び
タイプを含む。ビット4〜15からのフィールドは、プ
ロセスが前述したのとは異るステートにあるとき無意味
1022である。
プロセス主要語PMW3はPCB内でバイト12〜15
を占め、かつデコー拡張テーブルを指示する。
PMW3の詳細のために第10g図を参照する。DET
Sフィールド1024はテーフルへのェントリ数を限定
し、かつもしこのフィールドがゼロであるならば、デコ
ー拡張はこのプロセスには認められない。DETAフィ
ールド1025は16ゞイトを単位にしたデコ−拡張テ
ーブルの絶対アドレスであり、かつもしDETSZが0
でないときのみ重要である。
デコー拡張テーブルはDETSZェントリから成る。各
ェントリは1バイトの大きさである。テーブルのDEX
T番目のェントリはプロセスのケーパビリテイを限定し
て、デコー拡張モードDEXTで動作させる。
DEXT番目のバイトが0のとき、デコー拡張番号DE
XTは許されないのに対して、もしDEXT番目のバイ
トが1ならば、デコー拡張番号DEXTは許される。0
と1以外のDEXTの値は非合法である(第10a図の
DEXT番号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図に詳細に示される。
第10i図を参照する。ビット0と1はTAGフィール
ド1 030を限定する。TAGはその内容によって記
述子のタイプを示し、かつSKWのためにゼロでなけれ
ばならない。
SKW語のビット2と3は保護目的のためにスタツクの
セグメント・アドレスに関連したりング番号を含むリン
グフィールド1031を含み、そしてこの場合セグメン
ト・アドレスはゼロでなければならない。ビット4〜3
1はセグメント番号SEGと、セグメント関連アドレス
SRAI032を含み、かつそれはセグメントテーブル
で記述されるセグメントと、このセグメント内のセグメ
ント関連アドレスを識別するフィールドである。スタッ
ク語SKWは、プロセスが動作ステートを離れる毎に更
新される。それはこのプロセスが動作する毎にTレジス
タの内容を再記憶するために使用される。この最後の場
合に、TAGI030とR瓜GI031はゼロであるか
テストされなければならす、さもなければ非合法なPC
B例外が生じる。PCB400のバイト32〜35は、
時にはICCとして参照される命令カウンタ内容語IC
Wを含む。
第10k図を参照すると、命令カウン夕語ICWの詳細
が示され、ここでTAGフィールド1033は2進00
を含まなければならない(すなわちゼロ以外の値は命令
カウンタにおいて非合法である)。ビット2と3を占め
る現在のRINGフィールド1034は、主記憶装置状
態の呼び出し権を決定するときに使用されるプロセスの
現在のリング番号を限定する。ビット4〜31は、セグ
メント番号と実行されるべき次の命令のアドレスを限定
するセグメント関連アドレス(SEG、SRA)103
5を限定する。
バイト3 6〜3 9のMBZフイールドはゼロでなけ
ればならない。
(MBZフィールドは常にゼロでなければならないフィ
ールドを示すということに注意)。MBZ語はPCBが
名前J、Pから呼び出される毎にテストされる。もしそ
れがゼロでないならば、非合法PCB例外が生じる。ス
タックベース語SBWO−2はプロセス制御ブロック4
00内のバイト40一51を占める。
これらの藷は第101図に詳細に示されたのと同じフオ
ーマツトを有する。それらはスタツクオベレーションの
間に利用され、かつ使用されるときはいつでもそれらの
TAGフイールド1036はRmGフイールド1037
はゼロでなければならず、さもなければ非合法PCB例
外が生じる。
ビット4〜31は、それぞれリング0,1,2のために
スタックセグメントの第1のバイトのセグメント・アド
レス(SLG、SRA)1038を含む。プロセス制御
ブロック400のバイト52〜83はベースレジスタ保
持領域(8語)のために指定されたスペースである。
バイト84〜147は全ての汎用レジスタ(1虎積)の
値を保持するために利用される保持領域である。バイト
148〜179は科学レジスタを保持するために利用さ
れる保持領域である(8語)。
5つの2重語が、PMW幅椿のアカウント・モードビッ
トが設定されるとき、時間アカウント目的のためにPC
Bゼロアドレス上方のPCB400内に備えられる。
これらの語はPCBアドレスマイナス8からPCBアド
レスマイナス4川こ位置する。各語は、最初の52ビッ
トにマイクロ砂単位で表わされた時間もしくは期間を含
み、ビット52〜63はゼロで満たされる。余剰時間終
了倍長語RT○(PCB内の0上方の最初の8バイト)
は、終了例外が生じる前に、このプロセスに代ってプロ
セッサによって実際上費やされるだけの時間を含む。
RTO語は次の様にして更新される。すなわちプロセス
が動作ステートを出る毎に、プロセスタイマー値はRr
0語内に記憶される。プロセスが動作ステートに入る毎
にプロセスタイマー値はRTOからロードされる。バイ
ト7〜15の動作時間アカゥント RUA倍長語はプロセスが動作ステートになった全プロ
セッサ時間を指定する時間カウンタである。
アカウント時間は、プロセスの代わりにプロセッサによ
って独占的に実際上費やされる時間である。RUA語は
次の様にして更新される。すなわち、プロセスが動作ス
テートを出る毎に、プロセスタイマーPTの値は読みこ
まれる。RTOとRTの内容の差はRUAに加えられる
。(連続的に、PT値はRTO内に記憶される)。プロ
セスが中止されている時間は計算されないということに
注意されたい。RTOとRUA語は、もしアカウント・
モードビットが0に設定されていてさえ更新される。し
かしながら(後述される)CET、RTA、WTA語は
、プロセス主要語PMWOのアカウント・モードビット
が1に設定されているときにのみ、プロセス制御ブロッ
クに備えられる。
それらはこの場合にのみ更新される。バイト17〜23
の待機時間アカウント WT婦語は、プロセスが待機ステートにあった真の全時
間を託す実時間カウンタである。
WT館語は次の様にして更新される。すなわちプロセス
が待機ステートを出る毎に、一日時計の時間値TODが
読み込まれ、かつTOOの値からCET語の値を差し引
いた値はWTA語に加えられる。バイト24〜31に位
遣した準備時間アカウントRTA語は、プロセスが準備
ステートにあった真の全時間を記す実時間カウンタであ
る2重語である。
RTAは次の様にして更新される。すなわちプロセスが
準備ステートを出る泰に、一日時計の時間値TOOが読
みこまれ、かつTODの内容から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テーブル1
204の絶対アドレスはJテーフルボィンタ1 102
を1針吉することにより得られる。Jテーブル1204
はJテーフルェントリを含み、そのフオーマツトは第1
1b図に詳細に示されている。各Jテーフルェントリは
、Pテーブルポインタ1 104を1針音することによ
って得られるPテーブル1205の絶対アドレスを限定
する。Pテーブルのサイズ(PTSZ)1 103はP
テーブルのエントリ数を限定する。PTSZは8ビット
の正の整数であり、かつそれは典形的には0から255
まで変化して、Pテーブルのェントリ数を指示する。
Pテーブルからの例外は、PがPTSZよりも大きいな
らば生じる。Pテーブル1205の各ェントリは、プロ
セス制御ブロックインジケータ1 107を1母音する
ことにより、プロセス制御ブロック(PCB)1206
の絶対アドレスを限定する。存在ィンジケータPII0
5は、2進0に設定されるときPCB1206の不存在
を指示し、かつ2進1に設定されるときPCBの存在を
指示する。(存在ィンジケータPII05が0であると
き、空のPテーブルェントリ例外が生じる)。
Pテーブルインジケータのビット1〜7(第11c図)
は0(MBZ)1106でなければならず、さもなけれ
ば非合法Pテーブルェントリ例外が生じる。システムベ
ース6 0 0のアドレスBAR+4において、Gテー
ブル語(GTW)のフオーマット・バイトがあり、第1
1d図に詳細に示されている。
第12図のGセグメントテーブル1212のサイズ及び
アドレスはGテーブル語(GTW)の内容によって限定
される。Gテーブル12 1 2のサイズ(GTSZ)
1108は、災形的に255ェントリまであるGテーブ
ルのェントリ数を限定する。GTSZは8ビットの正の
整数である。すなわちもしG番号がGTSZよりも大き
いならば、Gテーブルからの例外が生じる。Gテーブル
1212の絶対アドレスはGテーブルポィンタ1 10
9を1針音することにより得られる。Gセグメントテー
ブルエントリのフオーマツトは2藷サイズ(8バイト)
であり、かつGセグメント記述子と呼ばれる。Gセグメ
ント記述子のフオーマツトは第11eと11f図に詳細
に示されている。全てのGセグメント記述子は直接的で
あり、それ故間接ビット1、1111は0でなければな
らず、さもなければ非′合法記述子例外が生じる。存在
ィンジケータPIIIOは1ビットフィールドでありし
かつそれは2進1に設定されるとき、セグメントが、そ
の記述子が相当するセグメント番号の主記憶装置内に限
定されるということを示すのに対して、もしそれが0に
クリアされていたならば、セグメントは限定されず、セ
グメント記述子への照会により、セグメント例外をしそ
こなう。利用ビットAIl12は1ビットフィールドで
あり、かつそれはセグメントが利用できるかどうかを指
示する。それはこのセグメントが限定される場合にチェ
ックされるにすぎず、(すなわちPは2進1に等しい)
さもなければそれは無視される。使用されたフラグフイ
ールドUII13は、セグメントが呼び出されたかどう
かを指示する。
もしUビットが2進0に設定されるならば、このセグメ
ントは呼び出されないのに対して、もしUフィールドが
2進1に設定されるならば、セグメントは呼び出される
。書きこまれたフラグフイールドWII14は、セグメ
ントが書きこまれたかどうかを指示する。
もしWが2進0に設定されるならば、このセグメントは
書きこまれないのに対して、もしWが2進1に設定され
ているならばセグメントは書きこまれる。Gセグメント
記述子のゲート・インジケータGSII15は2進01
に設定されなければならず、さもなければ非合法セグメ
ント記述子例外が生じる。この理由は、Gセグメントが
常にセマフオアを含み(逆は真ではない。すなわち全て
のセマフオアはGセグメント内にあることが必要ではな
い)、そしてセマフオアの命令はGSコードを2進01
にすることが必要であるということである。セグメント
1214のベースの絶対アドレスは、24ビットのベー
スフイールド1116によって第11e図のGセグメン
ト記述子内に限定される。すなわちこのフィールドの内
容は絶対アドレスを得るために1針音される。第11f
図のGセグメント記述子の第2の語はGテーブル121
2内のビット位置32〜63を占める。RSUフィール
ド1117、ビット32〜39はソフトウェア使用のた
めに指定され、かっこの場合のようにGセグメント記述
子として使用されるとき一般に無視される。MBZフィ
ールド1118は0でなければならず、さもなければ非
合法セグメント例外が生じる。MBZフィールド111
8はビット40〜51を占めるので、それは4・さなセ
グメントSIZEのためのフィールドであるSIZEフ
ィールド1119を設定する。従って全てのGセグメン
トは小さなセグメントタイプのものでなければならない
。セグメントSIZEII19はこのセグメント内のバ
イト数を限定する12ビットの正の整数であり、このセ
グメントサイズは16の倍数として解釈される。それ故
、Gセグメント1214のセグメントサイズはぞ6バイ
ト(小さなセグメント)を越えることができない。Gセ
グメント内の変位Dが、DがSIZEIII9よりも大
きいかそれに等しいところで照会されるならば、セグメ
ントからの例外が生じる。Gセグメント及びそのセグメ
ント内の変位Dを使用する主メモリを呼び出す方法はG
、Dアクセシングと呼ばれる。
G、Dメモリオペレーションの間に生じる種々の例外は
G、Dアクセス例外として参照される。再び第6図のシ
ステムベース600を参照する。
BAR+8とBAR十44の間に位置した9つのシステ
ム例外セル語がある。システム例外セル語EXCのフオ
ーマツトは第11g図に示されている。システム例外が
生じるとき削除されたプロセスにメッセージを伝達する
ためにセマフオアが利用されるので、これらのセマフオ
アのポィンタはメモリの9位置内に見られ、そして各位
層はシステム例外のクラス毎に一つの、システム例外セ
ルと呼ばれる。M欧フィールド1120は2進0に設定
されなければならす、さもなければシステムチェックが
生じる。
各例外セル(EXC)はそれぞれシステム・ネームG、
DI121と1122を含む。
システムベース600のBAR+44に位置したチャン
ネル例外セルは、前述したシステム例外セルと同様のフ
オーマツトを有し、かつチャンネル例外が生じるとき削
除されたプロセスにメッセージを伝達するために使用さ
れるセマフオアのシステム・ネームG、Dを含む。
内部プロセッサ待ち行列語IPOWはBAR+48で始
まるように位置し、かつそのフオ−マットの詳細は第1
1h図に示されている。
IPOW語は、参照番号905と805によって第9図
に示されたような準備プロセスの待ち行列(Q/PR/
RDY)のヘッドを指示する。
準備プロセスの待ち行列(Q/PR/RDY)は準備ス
テートにある全てのプロセッサをリンクする。
それは準備プロセス待ち行列のトップを指示することに
よりIPOW語のQ/PR/RDYフィールド1124
(第11h図)のHEADにより照会される。Q/PR
/RDYフイールド1 124のHEADは16ビット
の正の整数を含み、それは、GOセグメントとして参照
されるGセグメント番号0のベースからQ/PR/RD
Yの第1のバイトへの変位である。もしこのQ/PR/
RDYビットフィールドが0であるならば、準備待ち行
列は空であると考えられる。M皮フィ−ルド1123は
0でなければならず、さもなければシステムチェックが
生じる。
システムベース600のBAR十52において、初期と
現在の再試行カウントのための記憶が図示されており、
そのフオーマットは第11i図に詳細に示されている。
NESフィールド1125は非機能記憶フィールドであ
り、かっこのシステムベースによっては利用されない。
初期の再試行カウントフィールド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 136内にCPUの直列番号を含む。
第11m図に示された主記憶上限語は BAR十郎に位置し、かつそれは主記憶に最後に利用で
きる語の絶対アドレスを与えることにより主記憶上限1
139を示す。
BAR十72に、第1 1n図に示された語が位置し、
初期システムロードISり装置チャンネル番号(CN)
1140とハードウェア装置チャンネル番号(CN)1
141を形成する。
計算機システムで使用される装置の型式及び副型式は、
それぞれフィールド1143と1144にハードウェア
装置型式語(第11o図)によって示されるのに対して
、RSUフイールド1142はソフトウエアのために指
定される。
この語はシステムベースのBAR+76に見られる。
第11p図に示されたのと同機のタイプのフオーマット
を有する同様の語は、初期システムロードで使用される
装置の型式及び副型式を含む。この語はBAR十80に
位置している。
計算機の再スタートボタンが押されると き、シュミレートされたVオペレーションはセマフオア
で実行され、準備ステートに入る。
このセマフオアへのポインタはシステムベース600の
BAR十84で見られ、かつ再スタート・セル語と呼ば
れ、第11q図に示されたフオーマットを有する。この
フオーマットは前述したシステム例外セルと同様であり
、それぞれGフィールド1149とDフィールド115
0においてセマフオアのシステム・ネームG、Dを含む
。M皮フィールド1148は0でなければならない。
計算機システムに1以上のプロセッサがある場合、マル
チプロセス拡張のためにシステムベース600のBAR
十88に語が備えられる。
この語の詳細は第11r図に示されている。システムベ
ース及びプロセス制御ブロックの使用例第12図を参照
すると、ユーザーセグメント、システムセグメント、あ
るいは待ち行列プロセッサ準備(Q/PR/RDY)セ
グメント、のアドレス指定をし、かつそれを呼び出すた
めに、プロセス制御ブロックと粗合せてシステムべ−ス
がどのように利用されるかの一例が示されている。
主メモリ1200はハードウェア使用のために指定され
た部分1203を有する。境界アドレスレジスタBAR
1202はシステムベース1215をハードウェアのた
めに指定されたメモリ1203の部分から分離する。境
界アドレスレジスタBAR1202は、境界アドレスレ
ジスタの内容を、システムベースに必要とされる項目の
4バイト単位の変位に加えることにより、システムベー
ス1215の項目のアドレス指定のために利用される。
次にこのアドレスは、必要とされるシステムベースの項
目の第1のバイトを指示する。
第12図において、BAR1202はJテーブル語(J
TW)を指示している。前述したようにJテーブル語は
Jテーブル1204を指示するポィンタを有する。第5
図に示されたJ番号をインデックスすることにより、J
テーブルエントリ1216が得られる。Jテーブルヱン
トリにおいて、Pテーブル1205の絶対アドレスを指
示するPテーブルポインタがある。Pテーフル1205
内のP番号(第5図参照)をインデックスすることによ
り、プロセス制御ブロック1206の絶対アドレスが得
られる。前に図示されように、プロセス制御ブロックP
CB1206において、2つのアドレススペース語AS
WOとASWIがある。
ベースレジスタ1201のセグメントテーブル番号フィ
ールドSTNの高順位ビットは2つのアドレススペース
語の一方を呼び出すために使用される。この場合には、
セグメントテーブル語アレイSTWA1208を指示す
るセグメントテーブル語アレイSTWAポィンタを有す
るASWIである。ベースレジスタ1201のセグメン
トテーブル番号STNと共に、8つのセグメントテーブ
ル語の一つがSTWA1208に呼び出され、かつそれ
は8つのセグメントテーブル1210の一つを指示する
ベースレジスタ1201からのセグメントテーフルエン
トリSTEはそのときセグメント記述子が置かれるセグ
メントテーブル1210の256のエントリの一つを創
るために利用される。セグメント記述子はそのときュ・
ーザーセグメント1211を呼び出すために利用される
(詳細については、発明の名称が“区分アドレス開発”
でこの発明と同じ該受人に譲渡された米国特許第393
8096号を参照のこと)セマフオアを記憶するために
利用されるシステムセグメント1214を呼び出すため
に、Gテーブル語GTWはシステムベース1215で利
用される。
Gテーブル語のアドレスは、システムベースのGテーブ
ル語の変位を、境界アドレスレジスタBAR1202に
加えることにより得られる(第6図参照)。Gテーブル
語GTWはGテーブル1212を指示するGテーブルポ
ィンタを含む。このシステムに利用できるG番号を利用
し、かつGテーブルにインデックスすることにより、G
セグメント記述子は呼び出され、それはシステムセグメ
ント1214のアドレスを指定するために利用される。
同様に、システムベース1215は、Q/PR/RDY
セグメント1213を指示する内部プロセッサ待ち行列
語IDQWを位置させることにより、準備プロセス待ち
行列(Q/PR/RDY)を呼び出すために利用される
G 制御ユニット第13a−13c図を参照すると、制
御ユニットの詳細が示されている。
制御ユニットは中央処理ユニット(CPU)から分離し
て示されているけれども、それは実際上CPUの一部で
あり、かつ制御ストアユニットCSU1301、制御ス
トアインターフェイスアダプタCIA1302と付属副
ユニット、制御ストアローダ−CSL1303、制御及
びロードユニットCLU1304から成る。
制御ストアユニットCSU1301は、制御及びロード
ユニットCIU1304と制御ストアインターフェイス
アダプタCIA1302を通して、制御ストアローダー
CSL1303からマイクロ命令を受け取る。
通常の動作条件のもとで、マイクロプログラムはシステ
ム開始の間外部源からロードこれ、永久制御機能の機械
になる。しかしながら、制御ストアユニットCSU13
01は種々の中央処理ユニットCPU1306を演算モ
ー日こする様に再ロードされ、かつ開始される能力を有
する。CPUのオペレーションの次のモードはCSU1
301の制御のもとで利用できる。すなわち【a}、固
有モード、【b1エミュレーションモード、(cー固有
及びエミュレーション同時モード、‘d)診断モードで
ある。この能力は、CPUにあるマイクロ命令がエミュ
レーションユニット1316、算術論理ユニットALU
1317、命令フエツチユニツトIFU1318、アド
レス制御ユニットACU131 9、及びデータ管理ユ
ニットDMU1 321のような全ての他のCPU機能
ユニットの3オペレーションを制御するために使用され
るマイクロオペレーション源であるために、可能である
また中央処理ユニットCPU内に前述した汎用レジスタ
1307、ベース・レジスタ1308、科学レジスタ1
309、T4レジスタ1310、状態レジスタ1311
、命令カウンタIC1312、及びハードウェア制御マ
スク・レジスタ1313が示されている。典型的には、
制御ストアユニットCSU1301は、読み出し/書き
こみランダムアクセスストア(RAM)と混ぜられた鰍
のバィポーラー集積回路プログラム可能の読出専用メモ
リ(PROM)である。
それは典型的には150ナ/秒の読み出しサイクルと4
50ナノ秒の書きこみサイクルを有する。制御ストアの
各位層は一つの84ビットのマイクロ命令語(後に十分
に説明される)を記憶し、かつ各マイクロ命令語は1つ
のCPUサイクルを制御する。制御ストアユニットCS
U1301の制御ストアの各位瞳が読み出されると、そ
の内容は「マイクロオペレーション制御信号を発生する
マイクロオペレーション解読器によって解読され、かつ
各信号によりCPU内で指定されたオベレhションが行
われる。(詳細に後述される)。各マイクロ命令語内の
位置を分類することにより(詳細に後述される)、指定
のCPUオペレーションあるいは命令を実行する制御ス
トアシーケンスが得られる。
各命令がCPUによって開始されると、オベレーション
コ−ド内のあるビットは制御ストア起動シーケンスを決
めるために使用される。命令解読機能によって設定もし
くはリセツトされるある7ロツプ(図示されず)のテス
トにより、必要なとき制御ストアメモリを更に特定のシ
ーケンスに分岐させる。制御ストアインターフェイスア
ダプタCIA1302は、制御ストアユニット1301
、データ管理ユニットDMC1321、アドレス制御ユ
ニットACU1319、及び第131図の制御ストアメ
モリ1333のオペレーションを命令する算術論理ユニ
ットALU1317と通信をする。
CM1302は、制御ストアアドレス変更、テスト、エ
ラーチェック、及びハードウェアアドレス発生、のため
の論理装置を含む。ハ−ドウェアアドレス発生はエラー
シーケンスの起動アドレスを開発するため、あるいは開
始シーケンスのために一般に利用される。データ管理ユ
ニットDMU1321は、 CPU1306と、第1図に示された主メモリ及び/又
はバッファストアメモリとの間にインターフェイスを形
成する。
どのユニットが、他のユニットに必要とされる情報を含
み、かつその情報を適切な時間にCPUレジスタに入れ
るのかを認識するのはデータ管理ユニットの責務である
データ管理ユニットDMUはまた部分的書きこみオペレ
ーションの間マスキングを実行する。命令フヱツチユニ
ツトIPU1318は、DMU1 32 1、ACU1
3 1 9、ALU1 3 17、CSU1301を
インターフエイスし、Zかつ命令によって供給されるC
PUを保持する責務がある。
命令フェツチュニツトは、現在の命令が完了するまで、
そのレジスタで利用できる次の命令を有する。この能力
を形成するために、命令フヱッチュニツトmU13 Z
18は、通常1以上の命令を含む12バイトの命令レジ
スタ(図示されず)を含む。さらに、IFUは、CSU
の制御のもとで、命令が実際に必要とされる前に主メモ
リからの情報(命令)を要求し、このようにして、12
バイトの命令レジスタを常に更新する。
命令はこのように通常使用されないメモリサイクルによ
って前もって取り出される。命令フェツチュニットはま
た各命令を解読し、命令長及びフオーマットを他のユニ
ットに知らせる。アドレス制御ユニットACU1319
は、CIAを通して、CSU、IFU、ALU、DMU
と通信する。
ACUはCPUの全てのアドレス開発に対して責務があ
る。ACUへの、ACUから、そしてACU内の全ての
オペレーションは、このユニット内のCSUマイクロオ
ペレーション及び論理によって命令される。ACUの通
常のサイクルは命令の型式よりも命令内のアドレスの型
式に左右される。
アドレス型式に従って、ACUは命令の各アドレスのた
めに異るオペレーションを実行する。ACUはまた典型
的にはセグメント数と共に、8つの最も最近に使用され
たメモリセグメントのベースアドレスを記憶する連想メ
モリ1319を含む。
メモリ要求がなされる毎に、セグメント番号は、セグメ
ントのベースアドレスがすでに開発され、かつ記憶され
たかどうかを決定するため連想メモリ内容に対してチェ
ックされる。もしベースアドレスが連想メモリ1319
a内に含まれるならば、このアドレスは絶対アドレス開
発で使用され、かっかなりの時間が節約される。
もしベースアドレスが連想メモリ1319a内に含まれ
ないならば、それは主メモリテーブルを呼び出すことに
よって開発される。しかしながら、セグメントのベース
アドレスが開発された後、それは後の参照のために、セ
グメント番号と共に連想メモリ内に記憶される。ACU
、『U、DMU、CSUとのインターフェイスは算術及
び論理ユニットALU1317である。
その主要な機能は算術オペレーションとCPUの必要な
データ処理を実行することである。算術論理ユニットの
オペレーションは完全に制御ストアユニットCSU13
01からのマイクロオペレーション制御信号に左右され
る。ALU1 317及びCSU1 30 1と、スク
ラツチパツドメモリユニツトLSU1315が関連して
いる(時にはまたローカル・ストアユニットとして参照
される)。
それは典型的には25乳立檀(位置毎に32ビット)の
ソリツデステートメモIJと、そのメモリのための選択
及び読み出し/書きこみ論理装置から成る。スクラツチ
パツドメモIJ1315はCPU制御情報及び維持能力
情報を記憶するために使用される。
。さらに、スクラツチパツドメモIJ1315は、デー
タ処理の間主としてオペランド及び部分的結果の一時的
記憶装置のために使用されるワーキング位置を含む。ま
た計算機システムの種々雑多なステートを記憶するため
、典型的に64のフリップフロツプから成る補助メモリ
1317aがALU1317と関連している。
CPUはまた刻時ユニット1320を有 し、かつ本質的に2刻時システムがある。
すなわち第1の刻時システムは制御インターフェイスア
ダプタCM1302のために時間調節をし、かつ第2の
刻時システムは中央処理ユニット内の機能ユニットのオ
ペレーションのためにタイミングパルスを発生する。第
13c図を参照すると、制御ストア語1325のフオー
マットが示されている。
制御ストア語は典型的には84ビットの中であり、かつ
6つの主要フィールドに分割される。すなわち、a シ
ーケンス型式フィールド1326(3ビツト)b 分岐
及び/又はマイクロオペレーション1327(23ビツ
ト)c 定数発生及び指示1328(14ビット)d
バスへのデータ1329(8ビット)e マイクロオペ
レーション1330(32ビツト)f チエツク133
1(4ビット) 制御ストア語1325の3ビットFフィールドはシーケ
ンス制御フィールドとして使用される。
典形的には7つの異るシーケンス型式があり、かつ一つ
はこの発明の計算機システムのために予約された型式で
ある。第13b図のブロック1335を参照すると、マ
イクロ命令1325の分岐フィールドA,B,C,D,
Eは、Fフィールドが2進0、1、あるいは2に等しい
とき、次のアドレスを発生するために利用される。KS
レジスター337の最初の6ビットは、Bフィールド、
Cテスト結果、Dテスト結果、及びLフィールドと共に
利用されて、次のマイクロ命令の次のアドレスを発生し
、それからマイクロ命令はアドレスレジスタKS133
7内に置かれる。Eフィ−ルドが2進4に設定されると
き(ブロック1335を参照)、次の選択されたアドレ
スは割込み復帰レジスタKA1339から取られる。K
Aレジスタ内に記憶されたアドレスは、ハードウェア割
込みが生じるとき次のアドレス発生論理装置によって発
生したものである。Eフィールドが2進5に設定される
とき、分岐はマイクロプログラムサブル−チンからの副
復帰を開始するために使用3される。使用されるとき、
復帰レジスタKR1346の内容は次の制御ストアアド
レスとして使用される。復帰レジス夕1346は制御ス
トア命令を発することによってロードされ、そしてそれ
はインクリメンタ1338か4らKRレジスタ1346
に、KSレジスタ1337の現在の制御ストアアドレス
+1をロードする。1レベルネステイング・サブルーチ
ン能力はKT復帰分岐レジスタ1347を通して発生す
る。
KRレジスタ1346がロードされる毎に、KRレジス
タの古い内容は、マイクロプログラム復帰が呼ばれる毎
にKTレジスタ1347に伝達される。すなわち、KT
レジスタの内容はKRレジスタに伝達される。第3のレ
ベルのネスティング・サブルーチン能力はKUレジスタ
13401こよって供給され、かつ第4のレベルのネス
ティング・サブルーチン能力はKV復帰分岐レジス夕1
349によって供給される。
制御ストア語のFフィールドが2進6に設定されるとき
、アドレス指定された次の制御ストア語は、インクリメ
ンタ1 338において、KSレジスタ1337の現在
のアドレス+1に等しくなる。
Eフィールドが2進7に設定されるとき、CSU130
1は診断モードに入り、次のアドレスは現在のアドレス
十1になる。
前述され、かつブロック1335で示された次の制御ス
トアアドレスへの分岐のシーケンス制御に加えて、第1
3b図のブロック1336にはハードウェア発生シーケ
ンス制御が示されている。
(言王:ブロック1335と1336はマイクロ命令が
取られる異るフオームを描くように図示されたハードウ
ェアレジスタである)。ハードウェア発生分岐は、Eフ
ィールドを削除し、固定アドレスを制御ストアアドレス
レジスタKS1337に入れる重合状態である(エラー
のように、制御ストアスキャン等を開始する)。この分
岐は、割込みラインを1刻時期間の間高くし、かつEフ
ィールドの制御のもとでKA割込み復帰レジスタ133
9内に発生したアドレスを記憶することにより創られる
。ハードウェア発生アドレスは制御ストアアドレスレジ
スタ内に置かれる。あるハードウェア/ファームウェア
発生割込みは、割込みブロックフリツプフロップが、割
込み条件が満足されるまでそれらのクラスの別の遮断が
実行されるのを妨げるとき優先権を持つ。ファームウェ
アマイクロオペレーションは、ファームウェア制御のも
とにあるシーケンスの割込みブロックフリップフロップ
のリセットを制御するために存在する。ハードウェア制
御のもとでこれらのシーケンスはこのシーケンスの終り
にフリップフロップをリセットする。優先権によって表
にした次の条件はこのカテゴ川こ存在する。すなわち【
a稀』御ストアロ−ド、‘b機。御ストアスキヤン、【
c1ハードウエアエラー、【d1ソフトウェアエラーで
ある。残りのハードウェア条件は割込みブロックフリッ
プを設定しないが、しかし発生するときただちに動作を
生じさせる。優先権によって表にされた次の条件はこの
カテゴリに存在する。‘a} 開始 (b)ソフトークリア ‘c’維持パネルに入る ‘d’維持パネルに入る ‘e’ハードウエアを出る 開始信号はCSU1301をアドレス2進0に分岐させ
、リードウェアリセット可能のエラーをクリアさせ、ハ
ードウェア制御のもとで制御ストアスキャンシーケンス
を伴う制御ストアロードオペレーションを実行させる。
それはまたシステムを開始させる。ソフトウェアクリア
信号はCSU1301をアドレス2進0に分岐させ、ハ
ードウェアリセット可能のエラーをクリアさせ、割込み
ブロックフリツプをリセットさせる。維持パネル入信号
はCSUを維持パネル(図示されず)上のCSUアドレ
ススイッチで前もって設定されたアドレスに分岐させる
。維持チャンネル入信号はCSUを維持チャンネル(図
示されず)を経て発生したアドレスに分岐させる。
ロードされたアドレスは、維持チャンネルの一部である
維持バスQMB1344からなされくかつ正当化される
。ハードウェア出信号はCSUを2進アドレス2に分岐
させる。このシーケンスは維持手段として使用される。
このシーケンスの終りに、Eフィールド分岐を発するこ
とにより復帰が開始され、かっこのEフィールドは2進
4に設定される。制御ストアロード信号はCSUをアド
レス2進0に分岐させる。
それはまたCSU謙みこみサイクルフロッブ(図示され
ず)、システムクロツク1320をオフにし、CSUを
ロード・ステートに置く。ロード・ステートにおいて、
CSUは、制御ストアローダーCSL1303、IOC
1305、主メモリ102、あるいは維持パネル135
5からロードされることができる。
CSLからロードされるとき、自動スキャンがロードの
終りに発生する。他の媒体からロードされるとき、スキ
ャンはマイクロオペレーション信号を発生するか、ある
いは維持パネル上のスキャンスイッチを設定することに
よって発する。制御ストアスキャン信号はCSUをアド
レス2進0に分岐させる。制御ストアスキャンはこのシ
ーケンスの持続期間中ハードウェア制御のもとにある。
このスキャンの間、システムクロツク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
フィールドは64分岐のマスクフィールドの次のアドレ
スの中間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アドレスレジスタ1 337の内容によってアドレ
ス指定される。これによって、その位層の内容は読みこ
みラッチの群内に読みこまれるアドレスによって指定さ
れる。読みこみラッチの語内容の一部はCPUの機能ユ
ニットの各R内の記憶レジスタに分布され、あるいはそ
れに伝達される。
各機能ユニットはシステムクロック源の制御のもとで制
御ストア語によって指定される必要な副命令を発生する
解読論理回路を含む。一般に、解読は、解読時間を減少
させるために、かつもし解読が中央で実行されたならば
命令信号を伝達するために縄常必要とされるケーブル数
を減らすために、中央で実行されるよりもむしろCPU
の各機能ユニット内で実行される。さらに、この解読は
ケーブル遅延の差から生じる時間問題を避けるために各
ユニット内でなされる。さらに、各ユニットで副命令を
解読することにより、この機能ユニット内に存在するあ
る条件を表わす信号が、CIAユニット1302に復帰
させる必要のない副命令信号を発生させるために必要と
される。
奥形的解読語ユニット1359は、マイクロ命令語から
種々のフィールドを受け取り、かつマイクロオペレーシ
ョン信号a,b,c,d.・・・・・・・・・・・・・
・・q,rを発生させるように第13b図に示されてい
る。典形的マイクロオペレーション解読器1359はマ
イクロ命令語からの命令を受け取る。マイクロ命令語か
らのフィールドは解読され、かつ複数のラインs,t,
u,……………y,zの一つを高く設定する。マトリッ
クスは、点o,8,y……………0,のでs−zライン
に予定の制御ラインインピーダンスを結合させることに
より形成される。典形的にはマイク。命令からのフィー
ルドが解読されるとき、ラインs−zの一つは高くなる
ギリシャ文字Q一のによって、マトリックス内に示され
た黒V点は2組の線の間を結合するインピーダンスを表
わし、任意の水平線にそって伝ぱんする電気信号は、イ
ンピーダンス結合(黒点)が示される垂直線a−yに沿
って伝搬するように結合される。そのとき各垂直線a−
ンはANDゲート1360一1365の各Rへの入力と
して結合される。他の入力信号はまたタイミング信号t
sを含み、ANDゲート1360一1365に結合され
る。従って、各タイミング信号tsが高くなるとき、他
の入力信号が全て高くなるこれらのゲートは可能にされ
、CPUの予定の機能ユニットにマイクロ命令信号を発
生する。たとえば、もし読みこみラツチ1357からの
命令1341が解読され、かつ水平ラインが高くなるな
らば、a、b、c、q垂直制御線は高くなり、ANDゲ
ート1360,1361,1362,1364は、ts
タイミング信号がこれらのゲートに順次印加されるとき
可能にされる。
従って、垂直制御ラインがギリシャ文字Q−の1こよっ
て表わされる異る点の水平制御ラインに結合される組合
せは、制御ストアアレイ1333から供v給されるマイ
クロ命令によって中央処理ユニット内の機能ユニットを
制御するため中央制御ユニットCPUにマイクロオペレ
ーション信号を供給する永久スイッチマトリックスを表
わす。変更特徴を有する永久ファームウェアは、計算機
システムの能力として必要なマイクロオペレーションの
シーケンスを単に指定することによってこの発明の機械
内に創ることができる。通常のコンディションのもとで
、データ は、またローカルレジスタYO1343として公知のC
PU書き出しデータレジスタを適して制御ストアアレイ
1333内に書きこまれる。
制御フロツプ(図示されず)は、記憶装置アレイの上半
分あるいは下半分が書きこまれているかどうかを限定す
る。制御及びロードユニットCLU1304からのデー
タは維持バスQMBを通してCIA/CSUに到遂し、
そして制御ストアアレイ1333に書きこまれる前に記
憶ローカルレジスタYO1343によってバッファされ
る。記憶ローカルレジスタ1343は、読み込み及び書
き出しローカルレジスタの両方と時分割である。マルチ
プレクサKQM1345は維持パネル1355あるいは
マイクロ診断のどちらかによって制御されかつそれに結
合されたレジスタからの読み出し通路を形成する。比較
レジスタKP1350は非機能的使用のために備えられ
、かつ主として保守目的のために使用され、そして比較
論理装置1352及び解読論理装置1351と共に利用
される。H プロセス制御のためのディスパツチヤフア
ームウエアデイスパツチヤはフアームウエア/ハードウ
ェアユニットであり、かつその主要目的は種々の待ち行
列プロセスを管理し、かつプロセス間の切り替えをする
ことである。
そしてこのディスパッチャは待ち行列プロセスを更新す
ること、プロセス制御ブロックPCB、システムベース
の動作プロセス語、及び新たなプロセスのレジスタを含
む。それはまた、セマフオアで実際上待機中のプロセス
にメッセージを送る。(Vオペレーションの後、IOC
または例外処理装置のためのシミユレ−トVオペレーシ
ョン)。それはまた、プロセスがそのメッセージを送る
ためにフリー・リンクセマフオアで待機しているときメ
ッセージリンクを自由にするPオペレーションの後、セ
マフオアでメッセージを待ち行列化する。さらに、デイ
スパツチヤュニツトは固有モードでプロセス実行の“ロ
ールィン”後、あるいはもし現在のプロセスが動作中で
あり、固有モードで実行されるならば“競争”後、固有
モード命令ファームウェアを呼ぶ。
それはまたデコー拡張ファームウェアを次のために呼ぶ
。すなわち‘a’そのデコー拡張内で実行されるプロセ
スのロールアウト中の一時的コール【bー そのデコ−
拡張内で実行されるプロセスのロールィン中の一時的コ
ール【c’そのデコー拡張内で実行これるプロセスのロ
ールイン中の終りの最終的コール【d’もし現在のプロ
セスが動作中で、そのデコー拡張内で実行されているな
らば、競争の後の最終的コール さらに、このデイスバツチヤはこのシステムを、動作プ
ロセスがないときアイドルループ内に置く。
次の様にデイスパツチャに入り、あるいはそこから出る
いくつかの方法がある。
‘11 開始手順が最後のステップとしてのェントリを
形成する(発明の名称が“システム開始手丸頂’’で、
この出願と同じ該受人に譲渡された米国出願番号第52
8814号を参照のこと)。
■ 開始及び中止命令がそのェントリのためにディスパ
ッチャに供給される。
開始命令はプロセスを起動させ、かつ中止命令はプロセ
スを終了させる(発明の名称が“起動及び中止命令”で
ある出願番号第529017号を参照のこと){3’
P及びVオペレーションはデイスパツチャへのェントリ
を形成する。
Pオペレーションはセマフオアからのメッセージを検出
し、かつもしメッセージがなかったなら ば、そのときプロセスは待機ステートになる。
(発明の名称が“セマフオア上のP及び Vオペレーション”である。
出願番号第529256号を参照のこと) 要するに、ディスパツチヤは、どのプロセスが動作して
いるかを決定し、それから現在動作しているプロセスを
ロールアウトさせ(すなわちハードウエアレジスタ、ス
クラツチパッドメモ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
/ROYのヘッド(最初のバイト)に対しての、GOセ
グメントとして参照されたようなGセグメント番号0の
ベースからの変位である。もしIPQW語のビット16
一31が0ならば、1403準備待ち行列は空であると
考えられる。
もし準備待ち行列が空であるならば、それはQ/PR/
RDYに現在待中のプロセスがなく、準備待ち行列は空
であるということを示す。決定ブoック1405内で決
定されるべき次の疑問は空ィンジケータが設定されてい
るかどうかを決めることによって機械内に現在動作中の
プロセスがあるかどうかである。
もし空インジケータが設定されているならば(すなわち
現在動作中のプロセスがない)、そしてプロセッサを使
用するため待機している準備待ち行列のプロセスがない
ということは前もって決定されるので、この機械はアイ
ドルステート1406になる。
しかしながら、もしこの機械内に現在動作しているプロ
セスがあるが、機械を使用するために待機しているもの
はないならば、現在のプロセスはその次の命令1407
を呼び出す。さて、第14a図のフローチャートの決定
ブロック1403に戻る。
もしIPQWのポインタ領域に正の整数があるならば(
すなわちビット16一31)、GOセグメントのIPQ
W語によって指示された準備待ち行列のヘッドはスクラ
ッチパッドメモ川こ取り出される。(柱:繰り返しを避
け、明りようにするため、制御ユニット及びCPUと共
にデイスパツチャの中間機能は省略される。
しかしながら一例によって前述したようなこのような中
間機能は存在するということが理解できよう)。
この点までに、準備待ち行列の待機プロセスがあるとい
うことが決定された。別の動作が示される前に、もし中
央プロセッサに現在動作中のプロセスがあるかどうかを
決定することが必要である。これはフローチャート表示
の決定ブロック1410で決定され、かつもし中央プロ
セッサに現在動作中のプロセスがないならば(すなわち
CJPなし)、準備待ち行列のヘッドは動作する141
2。しかしながら、もし中央プロセッサに動作中のプロ
セスがあるならば、デイスパツチヤはどれが優先権を持
つか、現在動作中のプロセスかあるいは準備待ち行列の
ヘッドかを決定しなければならない。従って、それ故シ
ステムベースPCB400の動作プロセス語内に位置す
る現在のプロセス(CJP)の優先権バイトは取り出さ
れる1413。そのとき現在動作中のプロセスCJPが
、準備待ち行列のヘッドで特期している新しいプロセス
NJPよりも低い優先権のものであるかどうかについて
の決定がなされる1414(決定ブロック1414参照
)。もしCJPがNJPよりも低い優先権のものでない
ならば、CJPは中央プロセッサの制御のもとに残り、
かつ競争ィンジケータはリセットされる1415(イン
ジケータは、最後の命令の始めがCJPに代って実行さ
れ、それによって衝突の可能性が生じて以来、一以上の
新しいプロセスが準備待ち行列に置かれるのを除いて、
競争ィンジケータは常にゼロに設定される。
これらの状態のもとでは、競争ィンジケータ2進1に設
定される。
)現在のプロセスCJPが続けられ、かつ別の命令を実
行する前に、CJPがデコー拡張モード1415である
かどうかの決定がなされる。もしCJPがデコー拡張モ
ードで動作しているならば、そのとき次の命令がエミュ
レーションモードで(すなわちデコー拡張)で実行され
、かつもしそれがデコー拡張モードで動作していないな
らば、次の命令が固有モードで実行される。再び決定ブ
ロック1414に戻ると、もし準備待ち行列の先頭のN
JPがCJPよりも高い優先権を持つならば(すなわち
その優先権番号はCJPの優先権番号よりも低い)、現
在動作中のプロセスCJPはその機械から“ロールアウ
ト”され、かつ新しいプロセスNJPはその機械に“ロ
ールィン”される。従ってファームウェア優先権サブル
−チンPRIQ141 8は、フアームウエアサブルー
チンRILO1419の命令のもとで、LIFO優先権
によってかつCJPの最初の“ロールアウト”による優
先番号によって、現在のプロセスCJPを準備待ち行列
に向ける。RLLOサブルーチンは、汎用レジスタ、ベ
ースレジスタ、科学レジスタ、Tレジスタ、状態レジス
タ、及び命令カゥンタに記憶されるCJPの情報の書き
出しを、王〆モリのプロセス制御ブロックPCBの適切
な記憶領域に戻す。そしてそれをRUAの更新にする。
さらに、PCB内のプロセス主要語0(PMWO)のD
EXT番号は更新される1420。新しいプロセスNJ
Pはまさに今“ロール・ィン”されようとしている。
境界アドレスレジスタ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/ROYのプ
ロセスリンクPLから取り出すことによって待ち行列解
除されなければならない。
これが実行されるとき、プロセス準備Q/PR/RDY
の待ち行列はファームウエアサブルーチンUQLK、1
425aによって新しくされる。それゆえ、機械を取
り出されたばかりのプロセスのJP番号はもはや機械の
制御を有さないで、それを待たなければならないので、
Q/PR/ROY内のプロセスリンク内に置かれる、1
426。この点で、中央プロセスのこの制御を新しいプ
ロセスに与え、古いプロセスを準備待ち行列内に置く変
換は完了される。中央プロセッサの制御中にプロセス(
新しいCJP)があるので、空ィンジケータはゼロ、に
設定される;1427一方中央プロセッサの制御中にC
JPがないならば、空ィンジケータは1に設定されるこ
とになる。この点で、プロセッサの割り当ては完了され
、古いプロセスが準備待ち行列中に置かれたのに反して
、新しいプロセスは中央プロセッサを得る。しかしなが
ら、新しいプロセスは、汎用レジスタ1307、ベース
レジスタ1308、科学レジスター309、T−レジス
タ1310、状態レジスタ1311と命令カウンタ13
12のような第13a図の中央処理ユニット1306の
ハードウェアのためにまだ動作する準備がなされてなく
、制御命令が新しいプロセスのプロセス制御ブロックか
ら供給されなければならない。従ってファームウェアサ
ブルーチン143川まCPUを制御し、最初PCB(第
4図)からスクラッチパッドメモIJ1315にPMW
を取り出し、そのときPMWOを取り出す。
PMWOのMB2フィールドはチェックされ、1433
、もしそれが2進0でないならば非合法的PCB例外が
結果として生じる。しかしながら、もしPMWOのMB
2フイールドがゼロであるならばPMWIは取り出され
る1434。またPMWIのMB2フィールドはそれが
2進0かどうかを決めるためにテストされる。
もしそれが2進0でないならば、非合法的PCB例外が
存在する。それに反してもしそれが0と等しいならばデ
イスパッチャはCまで進む。従ってアドレススペース語
OASWOは PCB大の適当なスペースから取り出され、セグメント
テーブル語サイズSTWS2はそれが7以下であるかど
うか決定するようにテストされる1437。
もしそれが7以上ならば、非合法的PCBが結果として
生じ、もしそれが7以下かあるいは7と等しいならば、
そのときASWIはPCB、ブロック1 438から取
り出され、そしてそのSTWS2フィールドはそれが8
以下かあるいは8と等しいかどうか決定するようにテス
トされる。もしそのフィールドが8以上であるならば、
そのとき非合法的PCBが結果として生じる。しかしな
がら、もしそのSTWS2フィールドが8と等しいかあ
るいは8以下であれば例外語EXWは取り出され144
0、そのMB2フィールドはそれが0と等しいかどうか
を決定するようにテストされる。もしMB2フィールド
が0と等しくないならば非合法PCBが結果として生じ
る。ところがもしそれが0と等しいならぱスタツク語S
KWは取り出され1422、そのM旧2フィールドが0
と等しいかどうかを決定するようにテストされる144
3。もしM旧2フィールドが0と等しくないならば、そ
のとき非合法的PCBが結果として生じる。
これに反して、もしそれが0と等しいならば命令カゥン
タ語ICWはPCWから取り出され、命令カウンタIC
に置かれる。そしてそのTAGフィールドはそれが0と
等しいかどうかを決定するようにテストされる。もしT
AGフィールドが0と等しくないならば、そのとき非合
法的PCBが結果として生じる。しかしながら、TAG
フィールドが0と等しいならば、MB2語は取り出され
1446、そのM旧2フイールド(ビット0−3 1)
はそれが0と等しいかどうか決定するようにテストされ
る1447。もしそれが0と等しくないならば、そのと
き非合法的PCBが結果として生じる。ところが、もし
それが0と等しいならばスタックベース語0、そして筏
BW0,1と2は取り出される1448。PCBのベー
スレジスタ保持領域内の8つのベースレジスタの内容は
そのとき取り出され1449、機械のベースレジスタに
記憶される1308。
そのときPCBの汎用レジスタ保持領域からの16の汎
用レジスタの内容は取り出され1450、機械の汎用レ
ジスタに記憶される1307。しかしながら、科学レジ
スタの内容を取り出す前に、科学モードが使用されるか
どうかを決定するためにプロセス主要語0(PMWO)
のケーパビリテイ・バイトがチヱツクされる1451。
もし科学モードが使用されるならば、そのときPCBの
科学レジスタ保持領域からの科学レジスタの内容は取り
出されそして記憶される1452。ファームウェアはそ
のときアカウントモードが使用されるかどうかを決定す
るためにPMWOのケーパビリテイ・バイトをチェック
させるように進む1453。もしアカウント・モードが
使用されているならば(たとえば2進1に設定されたケ
ーパビリテイ・バイトのアカウント・ビット)、アカウ
ント語はPCB内に存在し、準備時間アカウント語PT
Aは更新される。
そのときファームウェアは、DEXT番号が0に設定さ
れるかどうか決定するために進む1454。もしそれが
0に設定されないならば、機械はエミュレーションモー
ド内にあり(すなわちデコー拡張能力が使用される)、
それがプロセス主要語3のDETS2フィールド以上か
あるいはそれ以下かどうかを決定するためにPMWOの
DEXT番号がチェックされる1455ことを、それは
示している。
またDEXT番号がDETS2フィールドより小さいが
0ではないので非合法的PCB例外が結果として生じる
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を動作す
るよう要求される情報はスクラッチパツドメモIJにあ
るいはACUのレジスタのアレイに置かれる。もしCP
Uの制御中にCJPが存在しないならば(条件b)、そ
のとき準備待ち行列のヘッドは動作される。
たとえばディスパッチャは準備待ち行列からのプロセス
リンクPLからNJPを取り出し2それをRPW語に置
くために、NJPはCJPになる。これを実行するため
によつてプロセスリンクPLはQ/?R/RDYに何も
残されず、それを取り出すよう要求される。従って決定
ブロック1461で始まり、ファームウェアはCPUの
制御中にCJPがあったかどうかを決定する。
そしてもし自由プロセスリンク(FPは)が存在するな
らばそれは呼び出され、待ち行列化され、CJPはここ
に書かれる。しかしながらもしCPUの制御中にCJP
が存在しないならば、NJPのPMWOのステートバィ
トが更新され1460、機械内にCJPが存在するかど
うか決定される1463。もしプロセッサの制御中にC
JPがないならば、NJPのプロセスリンク(Q/PR
/RDYの中にあって、現在機械の制御中にあるもの)
は、Q/PR/ROYに取り出された1466(すなわ
ちQ/PR/RDYから待ち行列を解除させる)、フリ
ー・リンク・セマフオアFLSPになり、フリー・プロ
セスリンク待ち行列(第9図の805)内に待ち行列化
され、フリー・プロセスリンク待ち行列の一部になる1
466a。境界アドレスレジスタBARの内容は取り出
され1 464、システムべ−スのBAR+56に位置
したNJP(現在CJP)の動作中プロセス語RPWは
RPW、フロツク1465にNJP識別を置くことによ
って更新される。空ィンジケータはCJPが存在しない
場合0に設定される。次に競争ィンジケータは0に設定
され1467、典形的内容のアドレス指定可能なメモリ
であるセグメントアソシェィタ(第1図の132)はク
リアされ1471、そのときプロセスモードが入れられ
る1470。(例外がオペレーティングシステムよりむ
しろプロセッサ内に動作しているプロセスによって処理
されることを、プロセスモードは示す。)そのときファ
ームウェアはCABに続き1480、非同期トラツプビ
ットABはそれが2進1に設定されるかどうかを決定す
るためにチェックされる1481。もしABビットが2
進1に設定されるならばそのときプロセスリング番号P
RNが非同期トラツプビツトARNより大きいかあるい
は等しいかどうかを決定しチェックされる1482。(
AB及びARNは各プロセスのPCBの優先権バイトに
位置され、プロセスが動作ステートにあるとき意味があ
る。AB及びABNはシステムベースのBAR十56に
位置したRPWから取られる。)次のステップ1484
は非同期トラツプルーチンに進み、そしてそれは、非同
期トラツプビツトもしくは非同期リング番号を最初の場
所に設定させる状態に気をつけるので、RPWのBAR
+56のAB及びARNがリセットされ、そしてもしこ
れらがファームウエアによってその次にリセットされな
かったならば、それは実際上悪いものが何もなかったと
ころで何かが悪かったという指示を出し、従って常に非
同期トラップルーチン1484に進み、決して実行され
ないだろう。全決定ブロック1481及び1482に帰
って、ABビットが設定されず、あるいはABビットが
設定され且つPRNがARNより大きいならば、そのと
きファームウエアは、プロセッサがいかなるモードで、
即ち通常モードあるいはエミュレーションモード内で動
作することを決定するため進む。従ってDEXT番号は
、それが0に設定されるかどうかを決定するようにチェ
ックされ、それが0に設定されるならば、機械の通常モ
ードで動作する1487。しかしながら、DEXT番号
が0に設定されないならば、エミュレーションモードで
動作する1486。
発明の内容の詳細な説明 ハードウェア/ファームウェア・システムは設定された
オペレーションに処理される記録の2つの基本的タイプ
を認識する。
記録のこれらの2つのタイプは第15A図に例証された
バーチュアルメモリ記録及び第15B図に例証されたデ
ータベース記録である。バーチュアルメモリ記録は一般
的に、記録がセグメント・アドレスによってアドレス指
定されうるオペレーティングシステム手順内部に使用さ
れる。データベース記録は、領域−ページ−ライン番号
とともにそれらのデータ記録をアドレス指定するユーザ
プログラムによってさらに一般的に使用される。領域は
ユーザファイルを参照し、ページは彼のデータファイル
範囲内の分割を参照し、ライン番号はそのファイルのペ
ージ範囲内の特別な記録を参照する。第15A図に示さ
れたように、バーチュアルメモリ記録は次のフィールド
から構成される。
タイプフィールド1501は記録タイプの説明であり、
この記録の記録記述子(下で説明される)から得られる
。バーチュアルメモリ記録のDスイッチフィールド15
02は記録ステートを説明する。記録は次のようなステ
ートにあることができる。有効、そしてそれは記録を意
味し、現在有効なデータを含む。論理的に削除される、
それはもはや記録を意味せず、有効なデ−夕を含むが、
なおメモリスペースを保持する。長さフィールド150
3は記録のバイトの実際の数を説明する。記録本体15
04は記録の実際のデータを含む。ポインタ・シーケン
ス・フイールド1505は、その記録がオーナーかメン
バーのいずれかであるセットの、次の、先の、最初の、
最後のオーナー記録のポインタを含む記録本体の一部分
である。ハードウエア/フアームウエアシステムによつ
て認識される記録の第2の主要タイプは第16B図に説
明される。タイプフィールド1510はまた記録のタイ
プを説明し、下で説明される記録の記録記述子から得ら
れる。長さフィールド1511はバイト内の記録の長さ
を説明する。記録本体1512は記録の実際のデータを
含む。ポィンタ・シーケンス1513はセットの次の、
先の、等の記録へのポィンタを含む。別々に記録され、
後で説明される各記録のためにDスイッチフィールド1
604がある。第15C図と第16D図は記録のポィン
タ・シーケンスのフオーマットを説明する(第15A図
のフィールド1505と第15B図のフィールド151
3)。
ハードウエア/フアームウヱアシステムは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に設定されるとき、記録は照会
されるセット数として現在は挿入されない。クラスゼロ
ポィンタ・フオーマツトは第15B図に示されている。
EOSビット1540と挿入されないビット1541は
最初の2つのビット位置を占める。SRAフィールド1
542は14ビットのオフセットであり、かつそれは所
定のセグメント内の変位であり、そしてそれはそのセグ
メント内に位置した記録を指示する。クラスゼロポィン
タから得られたSRAフィールドは、クラスゼロポィン
タを通して記録をアドレス指定するときに使用されるベ
ース・レジスタから一般的に得られるセグメント番号と
常に合併される。クラス1ポィンタは第15F図に示さ
れている。
EOSビット1550及び挿入されないビット1551
は標準限定のものである。フィールドSEG、SRA1
552は標準セグメントアドレスから成り、そしてそれ
らは以前に定義した。これらのポィンタは記録を直接ア
ドレス指定するために使用され、かつセグメント番号は
直接そのポィン夕を通して供給される。データ・ベース
記録と共に使用されるクラス2とクラス3のポインタの
ために、ファームウエア/ハードウェアシステムは、前
述したようにシステムの各ベースレジスタ(第2図の2
02を参照)と共に、関連したインデックスレジスタが
あるということを認識する。
汎用レジスタ8−15,201はインデックスレジスタ
0〜7にそれぞれ相当する。このインデックスレジスタ
番号IXRiはベースレジスタBRiに匹敵する。例え
ば、ベースレジスタBR3のために、インデックスレジ
スタIXR3(GRII)は、領域−ページーライン番
号ポインタを含み、その現在のSEG、SRAアドレス
はベースレジスタBR3内に含まれる。このように、ユ
ーザーはSEG、SRAアドレスを有するベースレジス
タあるいは領域一ページ−ラインフオーマツトのインデ
ックスレジスタ内に含まれるようなデータ・ベースポイ
ンタのどちらかを通してユーザーの記録のアドレスを指
定することができる。データ・ベース記録で動作するハ
ードウェア/ファームウェア命令は、領域−ページーラ
ィンポィンタをSEG、SRAアドレスに自動的に変換
する能力を実施する。
従って、データベース命令によってなされる全ての実際
上のメモリ照会は、セグメント及びSRA番号によって
メモリを指定する標準ハードウェア機構を使用し、そし
てインデックス・レジスタに含まれるような領域一ペー
ジーラィンからの変換は、もし必要ならばハードウェア
によって自動的になされる。ユーザーファイル(領域)
内のページとハードウェア/ファームウェアによって認
識されるようなセグメントの間に1対1の一時的対応が
ある。
このように、後述されるページ記述子を通して、ハード
ウェア/ファームウェアは任意のページ番号をセグメン
ト番号に変換する。クラス2ポィンタ・フオーマツトは
第15G図に示されている。
EOS及び“挿入されない”ビットはフィールド156
0と1561内に示されている。ページ番号はフィール
ド1562内に含0まれる。ライン番号はフィールド1
563内に示され、かつページと領域の記録番号を表わ
す。完全な領域−ページーラィン番号ポィンタは、デー
タベース命令により照会されるインデックスレジスタか
ら得られた領域番号を得ることによりクラス2記録を使
用するときに得られる。クラス3ポィンタ・フオーマッ
トは第15日図に示されている。
EOS及び“挿入されない”ビットはフィールド157
0と1571内に示されている。領域番号はフィールド
1572内に示されている。これはユーザーファイル番
号に関連する。ページ番号1573及び番号1574は
ユーザーファイル内の特別の記録のアドレスを指定する
。第16A図は、ハードウェア/ファームウェアシステ
ムによって認識されるようなユーザーファイル(領域)
の一部であるデータベースページを図示する。
データベースページは第15B図において前述したよう
にデータベース記録を含む。前述したように、データベ
ースページが主メモリ内にあるとき、データベースペー
ジとセグメントの間に1対1の対応がある。ページヘツ
ダー1601は、それが含まれるページに関係したある
情報を含む。
例えば、それはバイトでページの長さを、またページに
含まれる多数の記録(ライン)を説明する。それはまた
、それが主メモリ内に含まれるときページへの書き込み
で設定される書き込みビットのような情報を含む。ペー
ジヘッダ−に続いて、データベースページの次の主要部
はラインオフセットアレイ1602である。これは、ペ
ージの有効なライン番号に1対1で対応する16ビット
素子のアレイである。ラインオフセットアレイの各素子
のために、2ビットDースイッチ1604と14ビット
オフセット1603がある。D−スイッチは、無為の、
論理的に削除され、物理的に削除され、あるいは有効な
、記録ステートを説明する。オフセットはページの初め
からの相対変位である記録への14ビットポインタであ
る。ハードウエアはこのページに相当するセグメント番
号と連結したオフセットを使用することによってこのペ
ージのデータベース記録をアドレス指定することができ
る。対応するセグメント番号を得る方法は下に記述され
る。データ・ベース・ページの残っている部分は記録1
610及び記録1612で表わされたような実際のデー
タベース記録からなる。これらの記録はページのどんな
部分(セグメント)にも位置するが必ずしもラインオフ
セット・アレイにおいてそれらの位置と同じ順番に位置
するとは限らない。○スイッチが無為の、物理的に削除
されるような記録ステートを記述するならば、オフセッ
トはそのときゼロに設定され、記録を存在しないだろつ
o実際のデータベース・ページは第16B図に示された
ようなページ記述子によってアドレス指定される。
ページ記述このセグメント番号1625は主メモリにロ
ードされてからこのページ番号と相当するセグメント番
号を含む。領域番号1622はこのページの領域番号(
ファイル)を含む。ページ番号1624は実際のページ
番号である。最終ページィンジケータ1626は任意の
領域の最も高いページ番号のものに等しい。シフト・カ
ウント1623はページ番号のビット数を含む。タハー
ドウェア/ファームウェアシステムは、領域一ページー
ラインポイン夕・フオーマツトを利用するとき、可変長
さページ番号を認識する。次の記述子1620は一連の
ページ記述子の次のページ記述子を指示するのに使用さ
れる。先の記述子0 1621は一連のページ記述子の
先の記述子を指示する。これらの一連のページ記述子の
使用については下に記述される。一連のページ記述子は
、ファイルのどのページが計算機システムの主メモリに
現在位置している夕かを示すのに使用されたハードウェ
ア/ファームウェア機構である。
メモリにある各ページにとって、ページ記述子は一連の
ものであると認識された単一システム内位置される。そ
してそれは第16C図に示された集積アクセス制御ポィ
ンタによ0つて指示される。集積アクセス制御ポィンタ
は先に記述されたシステムベースの一語の拡張を表わす
。IACポィンタはアドレスBAR+92に位置し、そ
してそれはシステムベースの端を一語過ぎている。IA
Cポインタ・フオーマツトは“ゼロでな}ナタればなら
ない”フィールド1630、G一番号1631、及び変
位1632を含む。G一番号は、以前に記述されたよう
なG−セグメントの番号である。変位は、ページ記述子
リングの初めが開始するところのG−セグメント範囲内
の変位であ0る。主メモリに含まれた全ページのページ
記述子はそのとき伝統的チェィン・フオーマット内にい
つしよにリンクされる。次の記述子及び先の記述子のフ
ィールドはリンクを形成する。第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でなされる(第
16B図参照)。このフェッチは以前に記述されたよう
にG、Dアドレッシングの慣習に従ってなされる。G、
Dアクセス例外1708はこのメモリフェッチの結果と
して発生する(たとえばセグメント、非合法的G−Dセ
グメント記述子からである)。ファームウェア・サブル
ーチンによってチェックされる領域・ページ・ラインの
領域番号及びページ番号は一致させるためページ記述子
の領域番号フィールド1622及びページ番号フィール
ド1624と対照して比較される。もし領域及びページ
番号が一致するならば、ブロック1710が実行され、
ファームウェア・ルーチンがスクラツチパツドメモ1′
にロードされる主メモリから取り出されたばかりのペー
ジ記述子とともに完了する。現在のページ記述子の領域
あるいはページ番号がチェックされる領域一ページーラ
インの領域及びページ番号に等しくないならば、ブロッ
ク1711が実行される。
現在のページ記述子の次の記述子フィールド1620は
一時的スクラッチパッドの位置の内容、“最初のポィン
タ”と対照してチェックされる。もしこれらの2つの値
が等しくないならば一時レジスタ○が現在のページ記述
子の次の記述子フィールドと共にロードされるブロック
1713が実行される。ステップ1713に続いてファ
ームウェアによる分岐は、新しいページ記述子(それは
次の記述子によりアドレス指定される)が今取り出され
、続いてチェックされるステップ1707になされる。
ステップ1711に戻って、もし次の記述子が一時的ス
クラツチ・パッド位置の内容と、“最初のポインタ”と
等しいならば、これはメモリ内にある全ページを記述す
るページ記述子の全リングがファームウェアによって捜
し出される領域−ページを発見しないで今使い尽くされ
たばかりであることを示す。
この場合、必要なべージが主メモリに位置されていない
ことを示すページ例外1712が生じる。その例外に続
いて、適当なソフトウェア動作が生じ、この必要なべー
ジを主メモリに移す。次に第18図において、主メモ川
こおいてデータベースページを位置指定する為の機構を
実施する為に必要なハードウェアに対するブロックダイ
ヤグラムが表示される。
この機構は位置指定ページ作動用フリップフロツプ18
51のセットにより作動され、前記フリツプフロップは
中央処理ユニット104の算術論理ユニット1317の
補助メモリ1317Aに位置される。位置指定ページ作
動用フリップフロップ1851をセットする以前に、そ
のページ記述子が位置指定されるべき領域ページ数が、
領域−ページレジスタ1852にロードされる。領域一
ページレジスタの内容は、次に適正な領域−ページ記述
子が位置指定された時を検出する為に使用される。位置
指定ページ作動用フリップフロップ1851の論理1に
対するセット動作がANDゲート1854を駆動し、こ
の為境界アドレスレジスタI853の内容が加算器18
56に入力される。
加算器に対する他の入力は一定値92で、これはハード
ウェアレジスター855に記憶される。加算器1856
は、中央処理ユニット104の算術論理ユニット131
7に位置される。加算器1856の出力は、ANDゲー
ト1857に接続されている。ANDゲート1857の
駆動は、加算器1856の内容をメモリシステム185
9のメモリアドレスレジスタ1858に転送させる。こ
の様に、BAR+92のアドレスは、メモリアドレスレ
ジスター858に転送される。前述に如く、このアドレ
スは、システムベースに位置される集積アクセス制御ポ
ィンタのアドレスである。IACポインタは、メモリシ
ステム1859から読出される。位置指定ページ作動用
フリップフロップ1851からの出力信号は反転増中装
置1886により論理零に反転されて、この論理零は更
に、メモリシステムの読出し/書込みフリッブフロツプ
1887を論理零にセットする(メモリ詠出し動作)為
に使用される。この様に、メモリシステムがメモリアド
レスレジスタ1858のロード動作を検出した後、メモ
リ議出し動作が開始される。〆モリ読出し動作の結果、
メモリアクセス例外動作が生じ得る。前述の如く、メモ
リアクセス例外動作は、例外取扱機構の作動を惹起する
。この例外取扱機構は、この様な例外動作がメモリシス
テムにより検出されると、メモリアクセス例外フリップ
フロップ1860のセット動作により作動される。メモ
リ動作が通常の如く完了すれ‘よ、メモリ動作完了フリ
ップフロッブ1861が論理1にセットされて、メモリ
から謙出されたIACポィンタの内容は、メモリデータ
レジスタ1862に転送される。このメモリ動作完了フ
リップフロップ1861は、次にANDゲート1863
を介してメモリデータレジスタの内容の転送を駆動する
。IACポィンタを表すこれ等の内容は、第16C図に
示す如きフオーマツトとなる。IACポィンタのM滋フ
ィールド1630は、算術論理ユニット1317に位置
されるコンパレータ1865に接続される。このコンパ
レータ18 465は、M斑フィールドを2進数0の数
値を含むレジスタ1864と比較する。もし等しくない
条件が検出されると、システムチェックフリツプフロッ
プ1866は数値1にセットされる。コンパレータ18
65が等しい条件を検出する場合は、等しい信号は、G
番号1631の転送を駆動し、ANDゲート1867を
介してIACポィンタの変位フィールド1632をGレ
ジスタ1873と○レジスタ1874に対して駆動する
。Dレジスタ1874への転送の為の論理回路について
は以下に記述する。位置指定ページ作動用フリップフロ
ップ1851のセット動作は、最初のフリップフロップ
1869のセツテイングを惹起する。
このフリツプフロップは、数値1にセットされて、Dレ
ジスタ1874が最初にロードされる事を表示する。こ
の様に、最初のフリツプフロツプ1869の出力は、A
NDゲート1867の出力に沿ってANDゲート187
1に接続され、前記ANDゲートはIACポィンタのD
変位フィールドを含んでいる。ANDゲート1871を
介して、IACポインタの変位フィールドは、ORゲー
ト1872を介してDレジスタ1874に転送される。
最初のフリツプフロツプ1869の出力も又、ANDゲ
ート1867(IACポィンタの変位フィールドを含む
)に沿ってANDゲート1868に接続される。この様
に、最初のポインターレジスタ1870は、ANDゲー
ト1868を介して、このポインタから得る最初の変位
数値でロードされる。最初のポインターレジスタ187
0の使用については以下に記述する。又、最初のフリッ
プフロップ1869の出力は、自体のリセット入力に接
続される。この様に、最初のフリップフロップが論理1
にセットされ、かつ最初のポインターレジスター870
とDレジスタ1878をロードごせた後、最初のフリツ
プフロツプは次いで論理零にリセツトされる。Gレジス
タ1873とDレジスタ1874が一たんロードされる
と、G、Dアクセス機構1875が作動する。
この機構は、GおよびDレジスタにより与えられたアド
レスにおける主メモリのフェッチをしてページ記述子(
第16B図参照)をフェッチさせる。この機構は、主メ
モリをして、前述の如くアドレス指定するG、Dの規則
に従ってフェッチさせる。G、Dアクセス例外動作は、
このメモリのフェッチの結果として生じ得る(例えば、
セグメントから違法G−Dセグメント記述子)。この様
な例外動作が検出されると、G、Dアクセス例外フリツ
プフロップ1876は論理1にセットされ、これは更に
例外取扱装置機構を作動させる。さもなけれ‘よ、G、
Dアクセスの完了と同時に、機構1875はフェツチさ
れたデータをページ記述子レジスタ1877に転送する
。ページ記述子1877に転送されたデー外ま、第16
B図に示す如きフオーマツトである。ページ記述子レジ
スタ1877のロード後、領域番号1622とページ番
号1624は、算術論理ユニット1317に位置された
コンパレータ1878に入力される。
この時、ページ位置指定機構の開始時にロードされる領
域一ページレジスタ1852に位置された領域ページ番
号も又コンパレータ1878に入力される。もしコンパ
レータが一致する比較内容を見出すならば、所望のべ−
ジ記述子がロードされ、機構はその機能を完了する。こ
の様に、コンパレータ1878の一致比較ラインは、位
置指定ページ完了フリツプフロップ1879に接続され
る。この信号は、このフリップフロップを論理1の状態
にセットして、ページ位置指定機構の完了を信号する。
もしコンパレータ1878が非一致条件を信号すると、
ANDゲート1880に接続された非−致信号は、次の
記述子1620のページ記述子レジスター877からコ
ンパレータ1883へ、又ANDゲート1885への転
送を可能にする。コンパレータ1833は、次の記述子
1620を最初のポインター870と比較する。一致比
較条件が検出される場合、ページ記述子の全ポインター
チェーンが探索され、所望のページ記述子は位置指定さ
れない。この様な条件下では、所望の領域ページは主メ
モリ内になく、この為コンパレータ1833の一致は、
ページング例外フリップフロップ1884をセットする
為に使用される。この例外取扱機構は次にフリップフロ
ップ1884のセッティングにより作動される。ページ
記述子レジスタ1877からの次の記述子1620を含
むANDゲート1880の出力も又ANDゲート188
5に接続される。
このANDゲートは、コンパレータ1883の非一致信
号により駆動される。この非一致条件は、各ポィンタの
べ‐‐ジ記述子チェーンに端末に到達しない時生じる。
この様に、非一致信号が論理1でない時、次の記述子フ
ィールドは、ANDゲート1 883からANDゲート
1882に転送される。ANDゲート1882への他の
入力は、反転増中装置1881からの信号である。AN
Dゲート1881からのこの信号は、最初のフリツブフ
ロップ1869の反転出力を表わす。この様に、反転A
NDゲート1881による信号出力は、最初のフリップ
フロツプ1869が論理零にあるとき論理1にあり、従
ってANDゲート1882は、次の記述子フィールド1
620をORゲート1872に転送し、これが更にDレ
ジスタ1874に接続される様に駆動される。これ等の
一連の論理ゲートを介し、次の記述子フィールドがペー
ジ記述子1877からDレジスタ1874に転送され、
G、Dアクセス機構はこの時再び作動可能なる。G、D
アクセス動作のサイクルは、この時再び作動され、新し
いページ記述子がフェッチされてページ記述子レジスタ
1877にロードされる。この新らしいページ記述子の
フヱツチ動作は、1878のコンパレータが所望のペー
ジ記述子を検出するか、コンパレータ1883がページ
記述子チェーンの端部を検出する迄繰返される。本文で
述べたハードウェア/ファームウェアシステムの更に重
要な2つの要素は、第19Aおよび19B図に示される
第19A図のセット記述子は、与えられたセットの性状
を記述する為に使用される。第19A図に示される如く
、Pフィールド1802は、このセットの記録ポインタ
のポインタークラス(モード)を記述する2ビットのフ
ィールドである。オーナーおよびメンバーの全ての記録
は、与えられたセットに対して同じポインタークラスの
ポィンタを有する。セット記述子1803のオーナーポ
インタフイールドは、メンバー記録がオーナー記録(第
15C図参照)に対する「オーナーポインタ」を含む場
合に1セットされる。「他のポィンタ」フィールド18
04は、オーナーおよびメンバー記録が最初の、最後の
、次の、および先のポインタを持っているかどうかを記
述する「セット編成モードJフィールドK1805は、
現行のセットに使用されているセット編成のモードを記
述する。「リンク」セットのモードについてのみ本文に
より詳細に開示する、然しながら、表配列又はリスト配
列の如きセット編成の為の他のモードへの拡張能力は存
在する。「変位」フィールド1806は、メモ川こおけ
る記録の初めからそのレコードにおけるポインターシー
ケンスの初め迄のオフセットを表わすのに使用される(
第15Aおよび第15B図参照)。第19A図に技術さ
れる如きセット記述子は、ハードウェアノフアームウェ
アに照合されたセットの記述を与えるセットで動作する
時、データベース命令により常にアクセスされる。第1
9B図に示す如き記録記述子は、レコードのある特性を
記述する為に使用される。
「フィ−ルド182川ま、記録フオーマットの記述の為
に使用される。記録のフオーマットは、第15Aおよび
15B図に記述した如く、バーチュアルメモリ記録がデ
ータベース記録のいずれかである。「記録タイプ」フィ
ールド1821は、記録のタイプを表示し、第15Aお
よび15B図に示される如きメモリにおける実記録のタ
イプフィールドにロードされる。「記録長さ」フィール
ド1822は、どんな実長さで記録が主メモリにあって
第15Aおよび15B図に示す如きメモリ記録にロード
されるかを表示する。実際のデータベース命令は、第2
0A乃至20F図に示す如き6つのフオーマットの1つ
のである。
第20A図に示されるGROPフオーマットは、「演算
コード1910」と、「零でなければならない」フイー
ルド1911と、「ベースレジスタ」番号1912と、
「補数コード」1912とを含んでいる。
「ベースレジスタ」は記録のセグメント化されたアドレ
スを含んでいる。「桶数コード」は「演算コ−ド」によ
り記述される特定の命令のこれ以上の区別の為に使用さ
れる。第20B図に示されたXIフオーマツトは、演算
コード1920と、演算コードのこれ以上の区別に使用
される補数コード1921と、アドレスシラブル192
2と、零でなければならないフィールド1923と、論
理的削除フィールド1924と、ポインターモードフイ
ールド1925と、BRフィールド1926とを含んで
いる。
ベースレジスタは、レコードのセグメント化されたアド
レスを含んでいる。アドレスシラブル1922は、その
いくつかの用途の為、動作されるべきセットのセット記
述子を指示する。アドレスシラブルは、前述の如きアド
レス生成の為の規則に従って、セグメント化されたアド
レスに生成される。第20C図に示されたPXDXフオ
ーマットは、演算コード1930と、これ以上の区別に
使用される補数コード1931と、1つのアドレスシラ
ブルASI I 932と、零でなければならないMB
ZIフイールド1933とベースレジスタ1934と、
2番目の零でなければならないMBZ2フィールド19
35と、2番目のアドレスシラブルAS2 1936と
からなる。再びベースレジスタは記録のセグメント化さ
れたアドレスを含んでいる。第1のアドレスシラブルA
SI I932はセット記述子を指示する。第2のアド
レスシラブルAS2 1936は2進整数のアドレス指
定に使用される。第20D図に示されたBRXフオーマ
ツトは、演算コード1940と、命令を更に区別する為
に使用されるタイプフィールド1941と、ベースレジ
スタフイールド1942と、アドレスシラブル1943
とを含んでいる。
このベースレジスタは、記録のセグメント化されたアド
レスを含んでいる。このアドレスシラプルは、セット記
述子をアドレス指定する為に使用される。第20E図に
示されたDXGRフオーマットは、演算コード1950
と、命令を更に区別する為に使用されるタイプフィール
ド1951と、第1のベースレジスタ番号BRI 19
52と、アドレスシラプル1953と、零でなければな
らないMBZIフィールド1954と、第2のベースレ
ジス夕番号BR2 1 955と、「前後−最初最後」
フィールド1956と、第2の零でなければならないM
BR2フィールド1957とを含んでいる。
2つのベースレジスタは、メモリに位置する2つの異な
る記録をアドレス指定する為に使用されるアドレスシラ
ブルは、セット記述子のアドレス指定に使用される。
「前後−最初最後」フィールドは、セット内の記録の所
望の位置設定を記述する。第20F図に示すOPDDフ
オーマツトは、演算コード1960と、特定データベー
ス動作の言己述に使用されるプリミティブフィールド1
961と、命令を更に区別する為に使用されるタイプフ
ィールド1962と、ポインターフィールドの記述に使
用されるPフィールド1963と、オーナーおよびメン
バー記録の他のポィンタを記述する「最初最後−次、先
」ポインターフィールド1965と、ポインターシーケ
ンスの初めに対するオフセットを記述する変位フィール
ド1966と、ベースレジスタ数を含むBRフィールド
1967とを含んでいる。
このベースレジスタは、主メモ川こおける記録のセグメ
ント化されたアドレスを含んでいる。オーナー検索デー
タベース命令は、ファームウェア/ハードウェア命令で
、セット記述子を取出して来て、これがベース・レジス
タBRと共にメンバ記録のオーナ・ポィンタを呼出す。
オーナ・ポインタがそのポインタ・クラスに応じてセグ
メントアドレスに変換され、次にこのセグメントアドレ
スがベース・レジスタBRにロードされる。ポィンタが
データベース記録の一部であれば、ポインタがインデッ
クス・レジスタにもロードされる。オーナ検索命令は第
20b図に示すXIフオ−マットである。オーナ検索命
令に対するファームウェアのフローチャートが第21A
図乃至第218図に示されている。
ファームウェア・フローチャートの動作2001により
、命令のフオーマットを検査する。次に動作2003乃
至2005により、命令のアドレス・シラブルによって
指定されたセット記述子をフヱッチし、このセット記述
子に対して或る予備検査をする。動作2007で、命令
のベース・レジスタBRI926によつてアドレスされ
且つセット記述子から変位1806によってインデック
スされた(第15a図、第15b図及び19a図参照。
これが記録のポィンタ順序をさめる)ポィンタをフェッ
チする。動作2009により、セット記述子からポィン
タモードを決定し(第19a図参照)、ポィンタモード
‘こ応じた特殊の拠層に従う。第21A図を更に詳しく
説明すると、最初に動作2001で、命令のMBZフィ
ールド1 923(第20b図参照)が0かどうか検査
する。
この0検査の為、命令を命令フェッチュニット(第13
a図のIFU1318)から演算論理装置1317にあ
るレジスタへ転送する。このレジスタで行なわれたハー
ドウェア検査によって、M旧Zが0でないことが判ると
、ファームウェアが、第21A図の2002に示す様に
、例外処理装置へブランチする。この例外は不法フオー
マツトフィールド例外と呼ばれる。MBZが0であれば
、ファームウェアが動作2003へ進み、そこで命令の
アドレス・シラブルASI922によって定められたア
ドレスで、主メモリから3バイトをフェツチする。アド
レス・シラブルからセグメントアドレスへの変換は前掲
の特許願に記載されている。このアドレス変換がアドレ
ス制御装置(第13a図のACU1319)で行なわれ
る。主メモリのフェッチの際、メモリアクセス例外が起
り得る(第21A図の2004)。この若干の例として
は、セグメントの中にないこと、セグメントが存在しな
いこと、又は主メモリの中にないことがある。フェッチ
された3バイトが、第19a図で説明したセット記述子
である。第21A図に示す次の工程は、セット記述子の
Kビット1805(第19a図参照)を検査して、Kビ
ットが0に等しいかどうかを見る。
この検査の為、最初に主メモリからフヱッチされてデー
タ管理装置(第13a図の1321)に転送されたセッ
ト記述子を演算論理装置1317へ転送する。セット記
述子のKビット部分が0でないと判ると、セット特性利
用不能例外が起る2006。Kビットが0であれば、フ
ァームウェアは第21A図に示す動作2007へ進み、
そこで、命令フオーマット(第20b図参照)の中のベ
ース・レジスタBRI962の内容にセット記述子(第
19a図)の変位1806を加えたアドレスで、主メモ
リのフヱッチを行なう、フェッチを行なうこのアドレス
は、命令によって参照される記録のポィンタ順序中のオ
ーナ・ポィンタのアドレスである(第15c図参照)。
このフェッチの際、メモリ・アクセス例外2008が起
り得る。フヱツチされたオーナ・ボィンタが作業用メモ
リの位置Xにストアされる。変位フィールド(第19a
図の1806)をベース・レジスタの内容に加算するの
は、アドレス制御装置(第13a図の1319)で行な
われる。ファームウェアが第21A図の動作2009へ
進み、そこで参照する記録のポィンタ・モードを判定す
る。
この判定の為、動作2003でフェッチされたセット記
述子(第19G図)のPフィールド1802を検査する
。この検査が第1、3a図の演算論理装置1317で行
なわれる。クラス0のポィンタでは、第21B図の20
13へプランチする。クラス1のポィン夕では、第21
D図の2011へブランチする。クラス3のポインタで
は、第21E図の2012へブランチする。第21B図
について、クラス0のポインタの処理を説明する。動作
2014により、第21A図の動作2007でフェツチ
されて作業用メモリの位置×にストアされたポィン外こ
よって指定される記録の実効アドレスが形成される。動
作2015乃至2019により、作業用メモリの位置X
にあるボィンタによって指定された記録の状態が検査さ
れる。このポィンタはセットのオーナ記録を指定する。
クラス0のポィンタのフオーマットは第15e図に示さ
れている。オーナ・ポィン外こよって指定された記録が
有効状態にあると判ると、このポィンタのSRA部分(
第15e図参照)がベース・レジスタにロードされ、命
令は完了する。第21B図について詳しく説明すると、
動作20 1 4では、ベース・レジスタBRからセグ
メント番号を求め且つ動作2007でフェッチされたポ
ィンタXからセグメントアドレスのSRAを求めること
により、アドレス制御装置(第13a図の1319)で
オーナ記録の実効アドレスが形成される。
動作2015で、動作2014で作られたセグメントア
ドレスを使って、主メモリから記録のDスイッチをフェ
ッチする(記録の○スイッチ1502の説明は第15a
図参照)。このフェッチの際、セグメントの中にないと
か、物理的にメモリの中にないとかの様なメモリ・アク
セス例外2016が起り得る。主メモリからフェツチさ
れた2ビットのDスイッチがデータ管理装置(第13a
図の1321).から演算論理装置1317へ転送され
る。
この転送は、マイクロ命令を用いてファームウェアの制
御の下に行なわれ、データ管理装置内のレジスタから演
算論理装置内のレジスタへ転送する。動作2019では
、この時演算論理装置1317にあるDスイッチを検査
し、それが0に等しいかどうかを調べる。これが真であ
れば、ファームウェアは例外処理装置へブランチし20
20、記録削除例外を報告する。そうでなければ、Dス
イッチが1に等しく、記録は有効ステートであり、ファ
ームウェアが動作2021へブランチする。
この動作で、オーナ・ボィンタ(第15e図参照)のS
RA部分がベース・レジスタ(第2図の202)のオフ
セット部分へ転送される。この転送は、作業用メモリの
位置Xにあるポインターの一番右側の15ビットに対す
る15ビット転送である。15ビットだけを転送するの
は、オーナ・ポィンタ(第15e図参照)が1に等しい
EOSビット1540を持つからである。
これは定義により、オーナ・ポィンタは必らずEOSビ
ットがセットされているからである。ベース・レジスタ
のSRZフィールド202の最初のビット位置に0が欲
しいので、ハードウェア/ファームウェアが強制的にこ
のビットを0にすると共に、ポインタの他の15ビット
を転送する。次の動作は2022で、この時命令は完了
し、ファームウェアは命令にブランチする。第21C図
について、クラス1のポィンタの処理を説明する。
動作2023により、第21A図の動作2007でフェ
ッチされて作業用メモリの位置Xにストアされているオ
ーナ・ポインタによって指定された記録の実効アドレス
が形成される。動作2024乃至2029により、作業
用メモリの位置×にストアされたポィンタによって指定
された記録の状態が検査される。このポィンタはセット
のオーナ記録を指定する。クラス1のポィンタのフオー
マットは第15f図に示されている。オーナ・ポインタ
によって指定された記録が有効ステートにあると判ると
、このポインタのSEC、SRA部分がベース・レジス
タに。ードされ、命令が完了する。第21C図について
詳しく説明すると、動作2023では、動作2007で
フェッチして作業用メモリの位置Xにストアされたポィ
ンタから、セグメント番号及びSRAを求めることによ
り、アドレス制御装置(第13a図の1319)でオー
ナ記録の実効アドレスが形成される。
動作2023で作ったセグメントアドレスが、動作20
24では、主メモリから記録のDスイッチをフェッチす
る為に使われる(記録のDスイッチの説明は第15a図
参照)。このフェッチの際、セグメントの中にないこと
、又は物理的にメモリの中にないことと云う様なメモリ
・アクセス例外2025が起り得る。主メモリからフェ
ツチした2ビットのDスイッチをデータ管理装置(第1
3a図の1321)から演算論理装置1317へ転送す
る。
この転送はマイクロ命令を使ってファームウェアの制御
の下に行ない、データ管理装置内のレジスタから演算論
理装置内のレジスタへ転送する。動作2028では、演
算論理装置1317にロードされたDスイッチを検査し
、それが0に等しいかどうかを調べる。これが真であれ
ば、ファームゥェアが例外処理装置2029へブランチ
し、記録削除例外を報告する。そうでなければ、Dスイ
ッチは記録有効状態にセットされている筈であり、ファ
ームウェアは動作2030へブランチする。動作203
0で、主メモリからフェッチされて作業用メモリの位置
Xにストアされているポィンタの一番右側の31ビット
がベース・レジスタBRの一番右側の31ビットにロー
ドされる。(第20b図のフィールド1926)31ビ
ットだけを転送するのは、オーナ・ポィンタは定義によ
ってEOSビットが1にセットされていて、オーナ・ポ
ィンタのEOSビット1551(第15f図)が1に等
しく、ベース・レジスタの最初(一番左)のビットを0
のま)にしておくのが実際に望ましいからである。ハー
ドウエアノフアームウエアがベース・レジスタの最初の
ビットを強制的に0にする。次の動作は2031であり
、こ)で命令が完了し、ファームウェアは次の命令へブ
ランチする。第21D図及び第21E図について、クラ
ス2及びクラス3のポィンタの処理を説明する。
動作2007でフェッチされて作業用メモリの位置Xに
あるポィンタと、クラス2のポィンタの場合は、更にイ
ンデックス・レジスタの3番目乃至10番目のビットと
から「命令によって参照される記録のエリア−ページ一
行番号アドレスが、動作2032及び2033で作成さ
れる。動作2034により、エリアーベージ−行番号に
よってその番号が定められているページのページ記述子
をフェッチする。次に前に第16a図について説明した
機構に従って、行番号を動作2036乃至2043でセ
グメントアドレスに変換する。行オフセット配列項(第
16a図の1602)の○スイッチにより、行(記録)
の状態を動作2047乃至2050で検査する。行が有
効状態であれば、行番号に対応するセグメントアドレス
を、命令フオーマット(第20b図のフィールド192
6)に与えられた番号を持つベース・レジス外こロード
する。動作2053乃至2057で、命令フオーマツト
のベース・レジスタ・フイールド1926に与えられた
番号に対応するインデックス・レジスタにも、ポインタ
のクラスに応じて、ページ・行番号のエリア−ページ一
行番号をロードする。これで命令が完了する。第210
図及び第21E図について詳しく説明すると、クラス2
のポインタの場合は2011で扱う。
ファームウェアがクラス2のポインタでは動作2032
にブランチし、そこでインデックス・レジスタのビット
2乃至9からエリアーベージー行番号のエリア番号をフ
ェッチする。ページ一行番号は作業用メモリの一×から
フェツチする。エリア番行をページ一行番号をページ一
行番号と連結し、次にエリアーベージ一行と呼ばれる一
時レジスタにロードする。このレジス外ま演算論理装置
1317の中にある。クラス3のポインタの場合は、2
012で扱う。
ファームウェアが動作2033へブランチし、そこで作
業用メモリの位置Xの内容をエリア−ページ−行一時レ
ジスタへ転送する。何れの動作2032も2033も動
作2034へブランチし、そこでエリアーベージー行一
時レジスタによって定められたページ番号に対応するペ
ージ記述子がフェツチされる。
このフェッチは、第17図について説明したページ位置
ファームウェア・サブルーチンによって行なわれる。こ
のファームウエア・サブルーチンにより、ページング例
外2035が起り得る。ページ記述子が首尾よくフェツ
チされると、ファームウェアが動作2036へ移り、そ
こでエリアーベージー行一時レジスタからの行番号が、
第13a図の演算論理装置1317にある別の一時レジ
ス夕Wへ転送される。レジスタWへの行番号の転送は、
ページ記述子のシフト・カウント・フィールド(第16
b図のフィールド1623)によって定められた数のビ
ットの転送である。動作2037では、ファームウェア
がページ記述子かち得られたSEG番号(第16b図の
フィールド1625)のセグメント記述子をフェッチす
る。
このメモリ・アクセス動作により、メモリ・アクセス例
外2038が起り得る。動作2037でフェツチしたセ
グメント記述子を、動作2039でこのセグメントのベ
ース・アドレスを得る為に使う。前に第16a図につい
て述べた様に、データベースのページの始めはそれに相
当するセグメントの始めと対応する。この為、動作20
39で、このセグメントのベース・アドレスをページ見
出し(第16a図の1601)のアドレスとして使い、
最大行番号をフェッチする。こうしてフェッチした最大
行番号を演算論理装置1317にある一時レジスタ7へ
転送する。動作2039に於けるメモリ・アクセス動作
により、メモリ・アクセス例外2040が起り得る。動
作2041で、Wの絶対値が最大行番号Zより小さいこ
とを確かめて、行番号Wの有効性を検査する。
WがZより小さくないと、ファームウェアが例外処理装
置へブランチし、そこで無効ページフオーマット例外2
042が起る。そうでなければ、ファームウェアが動作
2043へ移り、こ)で、セグメントのベースにページ
見出し1601の長さ(81ビット)と、16ビット(
この16ビットは1個の行オフセット配列項の長さを表
わす)に行番号Wを乗じたものとを加えた値でさまるア
ドレスにより、16ビットの行オフセット配列項160
2をフェツチする。このフェツチにより、メモリ・アク
セス例外2044が起り得る。動作2045で、行オフ
セット配列項のDスイッチ1604を演算論理装置13
17にあるレジスタへ転送する。次にファームウェアが
第218図の2046へブランチする。動作2046が
動作2047へ移り、そこでこの時演算論理装置131
7にあるDスイッチを検査し、それが0に等しいかどう
か調べる。
これが真であれば、ファームウェアは例外処理装置20
48へプランチし、未使用例外を報告する。そうでなけ
れば、動作2049でDスイッチを検査し、1又は3に
等しいかどうかを調べる。この何れかの条件に該当する
と、例外処理装置2050へブランチし、削除行例外を
報告する。そうでなければ、Dスイッチは2に等しい筈
であり、記録は有効状態であって、ファームウェアが動
作2051へブランチする。
動作2051では、ページ記述子(第16b図のフィー
ルド1625)から得られた現在のデータベースのペー
ジのセグメント番号SECを、第20b図に示すフオー
マットのフィールド1926BRに定められた番号を持
つベース・レジスタBRへロードする。セグメント番号
をベース・レジスタのビット4乃至15に転送する。次
に実行される動作は3052で、こ)で行オフセット配
列項1603のオフセット部分をベース・レジスタBR
のSRA部分(第2図のフィールド202)へ転送する
。動作2053では、動作2003でフェッチしたセッ
ト記述子のポィンタモードP(第19a図の1802)
を調べる。モードが3なら、動作2054を実行し作業
用メモリの位置×の内容の内、(ビット2から始まる)
一番右側の30ビットを、インデックス・レジスタIX
Rのビット2から始まる一番右側の30ビットへ転送す
る。動作2054の後、動作2056を実行する。この
時、命令が完了し、ファームウェアは次の命令へブラン
チする。動作2053へ戻り、演算論理装置によってポ
ィンタモードが2だと判ると、マイクロ命令の流れが動
作2055へブランチし、作業用メモリの位置×にスト
アされたポインタの内、(ポィンタのビット2から始ま
る)一番右側の22ビット、インデックス、レジスタI
XRのビット10から始まる一番右側の22ビットへ転
送される。動作2055に続いて動作2057が行なわ
れ、こ)で命令が完了し、ファームウェアは次の命令へ
ブランチする。第22A図乃至第22D図には、この発
明のオーナ検索デー夕べ−ス命令を実施するハードウェ
アのブロック図が示されている。
第22A図乃至第22C図は、オーナ検索命令を実施す
る為に、実際にデータをストアし且つこのデータに種々
の操作を加えるハードウェア論理回路を示している。第
22D図は、オーナ検索命令を実施する為の転送並びに
データ操作を順序化するのに使う制御論理回路を示して
いる。第2D図に示す制御論理回路はサイクル計数論理
回路と呼ばれる場合が多い。第22A図乃至第22C図
のハードウェア論理回路の理解を助ける為に、第22D
図に示す制御論理回路の動作を簡単に説明する。
先ずサイクル1乃至サイクル7のリップフ。ップ240
1乃至2407が逐次的な一連の7つの期間を限定する
ことが判る。サイクルAO乃至サィルA5 2411乃
至2416が、バーチュアルメモリ装置の記録、タイプ
0のポインタモードの記録が操作される場合に、オーナ
検索データベース命令を実施する動作を制御する為に使
われ36サイクルの制御順序を限定する。サイクルB〇
サイクルBI及びサイクルB4が、(これから説明する
ように)Aサイクルと共に、バーチュアルメモリ装置の
記録、タイプ1のポィンタモードの記録が操作される場
合に、オーナ検索データベース命令に対するハードウェ
アの動作を制御する為に使われるサイクル制御順序を限
定する。サイクルCO乃至サイクルCI22431乃至
2443が、データベース記録、タイプ2のポィンタモ
ードの言己録が操作される場合に、オーナ検索データベ
ース命令を実施するハードウェアの動作を制御する為に
使われる14サイクルの制御順序を限定する。サイクル
D1 2451及びサイクルDI1 2452が、Cサ
イクルと共に、データベース記録、タイプ3のポィンタ
モードの記録が操作される場合に、オーナ検索データベ
ース命令を実施するハードウェアの動作を制御する為に
使われる制御順序を限定する。第22A図乃至第22C
図について詳しく説明すると、第22A図のオーナ検索
命令検出器2201で示すように、オーナ検索命令を受
取ると、この命令が命令バッファ2202にロードされ
る。命令バッファは中央処理ユニット104の命令フヱ
ッチ装置1318にある。前に述べた様に、命令バッフ
ァ2202に転送されるオーナ検索命令は、第20b図
に示したXIフオーマットである。M故フィールド19
23が、直ちに比較器2203によって、0ビット22
04と比較される。比較器2203が等しくないと云う
信号を出すと、不法フオーマットフイールドと云う例外
が検出され、不法フオーマットフィールド・フリップフ
ロップ2205がセットされ、例外処理装置が作動され
る。この時、オーナ検索命令の実行が完了する。比較器
2203が比較成立を知らせると、これから説明するよ
うに、オーナ検索命令の実行が続けられる。比較器22
03の比較成立信号は、MBZフィールド1923が0
に等しいと判った場合に論理1の値に上昇するが、これ
が第22D図に示すサイクル1フリツプフロツプ240
1のセット入力に入力される。この為、比較成立によっ
て、サイクル1乃至サイクル7のサイクル順序が開始さ
れる。アンド・ゲート2206がサイクル1信号によつ
て付勢され、アドレス・シラブル1922を命令バッフ
ァ2202からアドレス制御装置2207(第22B図
参照)へ転送する。
この転送は、アンド・ゲート2206に結合されたオア
・ゲート2217を介して行なわれる。アドレス制御装
置2207は、アドレス・シラブルを供給されると、こ
のアドレス・シラブルをメモリアドレスに変換する。ア
ドレス制御装置2207によって発生されたメモリアド
レスがメモリアドレス・レジスタ2209に転送される
。オア・ゲート2218は一方の入力にサイクル2信号
を受取るので、このオア・ゲート2218が結合されて
いるアンド・ゲート2219がサイクル2に付勢されて
、メモリアドレス・レジスタ2209にあるメモリアド
レスをオア・ゲート2220へ転送する。オア・ゲート
2220がメモリ2213のメモリアドレス・レジスタ
221川こ結合されている。オーナ検索命令検出器22
01は反転アンド・ゲート2211にも結合され、これ
が〆モリ読出し/書込みフリツプフロツプ2212に結
合されている。オーナ検索命令検出器の信号が論理1で
ある為、ゲート2211の出力は論理0になり、この為
議出し/書込みフリップフロツプ2212が0にセット
される。メモリアドレス・レジス夕221川こロードが
なされ且つ読出し/書込みフリツプフロツプ2212が
論理0であることをメモリ2213が検出すると、メモ
リ議出し動作が開始される。メモリの動作は前掲特許願
に記載されている。メモリ動作により、メモリ呼出し例
外2214が起り得る。この例外が起った場合、メモリ
呼出し例外フリツプフロップ2215を論理1にセット
する。このフIJップフロツプが論理1状態に変化する
時、メモリ2213から読出されたデータはメモリデー
タ・レジスタ2216(第22C図に示す)に転送され
ている。従ってフリップフロップ2215が論理1に変
化したことは、オーナ検索命令(第19a図参照)のア
ドレス・シラブルによってアドレスされるセット記述子
が、メモリデータ・レジスタ2216に入っていること
を表わす。こ)で、第22D図のサイクル2フリップフ
ロツプ2402がアンド・ゲート2481にも結合され
ていることが判る。
このゲートは、第22B図のメモリ動作完了フリップフ
ロップ2215からのメモリ動作完了信号によって付勢
される。この為、オーナ検索命令によってアドレスされ
たセット記述子を読出すメモリ動作が終了した時、サイ
クル順序のサイクル3が開始する。メモリデータ・レジ
スタ2216にあるセット記述子のKフィールド180
5がアンド・ゲート2221に結合され、第22C図に
示すように、これがサイクル3信号によって付勢される
アンド・ゲート2221の出力が比較器2222に入力
される。比較器2222に対するもう1つの入力は1組
の0ビット2223である。比較器2222が、Kフィ
ールド1805が0‘こ等しくないと判定すると、比較
器2222の比較不成立信号が論理1に上昇し、セット
特性利用不能例外フリツプフロツプ2224が論理1に
セットされる。この時、例外処理装置が作動され、命令
が完了する。Kフィールド1805が0であると判ると
、第22B図のアンド・ゲート2482に結合されてい
る比較器2222の比較成立信号が論理1に上昇し、こ
うしてサイクル3フリツプフロツプ2403の出力を付
勢して、サイクル4フリツプフロツプ2404をセット
する。メモリデータ・レジスタ2216にあるセット記
述子のPフィールド1802がアンド・ゲート2225
に結合され、このゲートはサイクル4信号によって付勢
される。
即ち、サイクル4で、Pフィールド1802がアンド・
ゲート2225を介して、このアンド・ゲートが結合さ
れているPレジスタ2226へ転送される。メモリデー
タ・レジスタ2216にあるセット記述子の変位フィー
ルド1806がアンド・ゲート2227に結合され、こ
のゲートも、第22B図に示すように、サイクル4信号
によって付勢される。
この為、サイクル4に、変位フィールド1806が変位
レジス夕2228へ転送される。サイクル4信号がオア
・ゲート2270の1つの入力でもあり、このゲートが
アンド・ゲート2271に結合されている。従って、サ
イクル4に、命令のBRフィールド1926が結合され
ているアンド・ゲート2271が付勢され、アンド・ゲ
ート2271の出力が、アドレス制御装置2207のB
Rベース・レジスタ入力2208へ転送される。BRベ
ース・レジスタ入力2208にあるべ‐ス・レジスタ番
号がアドレス制御装置2207に供鎌倉されると、その
結果行なわれる動作は、その番号を入力した、ベース・
レジスタの内容の読出しである。
この動作は作業用メモリの奥形的な議出し動作である。
アドレス制御装置から出力されるベース・レジスタの内
容が、アドレス制御装置のベース・レジスタ/出力レジ
ス夕2230へ出力される。ベース・レジスタ出力レジ
スタ2230は加算器2229の2入力の内の一方を構
成する。加算器2229に対する他方の入力は、前に。
ードされている変位レジスタ2228である。加算機2
229の出力は、ベース・レジスタBRを構成し、その
オフセット・フィールド(第2図の2020)がレジス
タ2228の変位内容によって増数されるが、第22A
図から判るように、アンド・ゲート2231に結合され
る。アンド・ゲート2231はサイクル信号によって付
勢される。アンド・ゲート2231の出力が、アドレス
制御回路に結合されたオア・ゲート2217に供給され
る。アドレス制御装置は、ベース・レジスタの内容(第
2図参照)を供給された時、その内容をメモリアドレス
に変換する。従って、アドレス制御装置2207の出力
が、再び記憶アドレス・レジスタ2209に転送される
アドレスになる。オア・ゲート2218に対する別の入
力が、第22B図から判るようにサイクル6信号である
から、サイクル6には、オア・ゲート2218によって
付勢されるアンド・ゲート2219に結合されたアドレ
ス・レジスタ2209にあるアドレスが、オア・ゲート
2220を介してメモリのメモリアドレス・レジスタ2
210へ転送される。メモリアドレス・レジスタ221
0に新らしいアドレスがロードされたこと、並びに講出
し/書込みフリツプフロップ2212が論理0の値であ
ることをメモリ2213が検出すると、再びメモリアク
セス動作が開始される。このメモリの動作は前掲特許願
に記載されている。メモリアクセス動作をしたことによ
り、この前掲特許願に記載されるように、メモリアクセ
ス例外2214が起り得る。この例外が起ると、メモリ
アクセス例外フリップフロップ2214が論理1状態に
セットされる。別の前掲特許願に記載されるように、例
外処理装置が作動される。そうでなければ、メモリ動作
が正常に完了し、メモリ動作完了フリップフロップ22
15が論理1にセットされる。(新らしし、メモリ動作
を開始する時、フリップフロップ2215が論理0にリ
セットされる。)メモリ動作が完了すると、データベー
ス・ポイン夕(第15e図、第15f図、第15g図及
び第15h図参照)を表わす。メモリから読出されたデ
ータが、メモリデータ・レジスタ2216へ転送される
。第22D図で、サイクル6フリツプフロップの出力が
結合されているアンド・ゲート2483が、メモリ動作
完了フリップフロップ2215からのメモリ動作完了信
号によって付勢されることが判る。従って、、メモリ動
作が完了した後のサイクル6に、サイクル7フリツプフ
ロツプ2407のセット入力に結合されたアンド・ゲー
ト2483が、サイクル7を開始させる。第22C図を
見れば、Pレジスタ2226が一連のアンド・ゲートと
、AS2241,BS2240,CS2239及びDS
2238と記された4つのフリップフロップとに結合さ
れていることが判る。
この特定の論理回路の目的は、取上げた記録のポィンタ
モード(具体的に言えば、ポィンタがタイプ0、1、2
、3、の何れであるか、これが夫々フリツプフロップA
,B,C,Dになる。)をフリツプフロツプA2245
,B2244,C2243及びD2242に検出してス
トアすることである。・ポィンタモードの解読の為、P
レジスタ2226のビット#0(一番左側のビット)を
反転アンド・ゲート2232に結合する。Pレジスタ2
226のビット#1(一番右側のビット)も反転アンド
・ゲート2233に結合する。アンド・ゲート2234
乃至2237がPレジスタ2226の2ビットの解読作
用をする。アンド・ゲート2237が、反転アンド・ゲ
ート2232,2233からPレジスタの2つのビット
を反転した値を入力として受取る。従って、Pレジスタ
に於ける値が0(2進法の00)であれば、アンド・ゲ
ート2237は論理1の値に上昇する。この場合、サイ
クル7信号がアンド・ゲート2237を付勢し、ASフ
リツプフロツプ2241をセットする。第220図で、
ASフリツプフロップ2241が、Aサイクル順序、即
ち、サイクルA021 1 1乃至サイクルAS241
6を開始するのに使われていることが判る。ASフリツ
プフロツプ2241の出力はAフリツプフロツプ224
5にも結合されている。Aフリツプフロツプ2245は
、Pレジスタ2226が0の値(即ち、バーチュアルメ
モリの記録、タイプ0のポィンタモード)を持つ事実を
記憶する。ASフリップフロップ2241の出力がリセ
ット入力に結合されている。この為、Aフリップフロツ
プ2245をセットし、Aサイクル順序を開始させた後
、ASフリツプフロツプは0にリセツトされる。アンド
・ゲート2236には、反転したPビット#0及び反転
しないPビット#1が結合されている。
この為、アンド・ゲート2236が付勢されるサイクル
7で、Pレジスタの値が−1(2進法の01)であれば
、斑フリップフロップ2240が論理1にセットされる
。タイプ0のポインタモードの場合と同様に、BSフリ
ップフロップ2240がBフリツプフロツプ2214を
セットし、Bサイクル順序を開始させる。これらの動作
をした後、BSフリツプフロツプ2240は自ずからリ
セットされる。アンド・ゲート2235には、Pレジス
タ2226からの反転しないPビット#Dと反転したP
ビット#1とが結合される。
この為、サイクル7では、サイクル7信号によって付勢
されるアンド・ゲート2235が、Pレジスタの値が2
(2進法の10)である場合にCSフリップフロツプ2
239をセットする。この為、これまでの場合と同様に
、CSフリツブフロップ2239がCフリツプフロツプ
2243をセットする。(これが、データベース記録、
タイプ2のポィンタモードの記録が操作されている事実
を記憶する。)CSフリップフロツプ2239がCサイ
クル順序をも開始させる。CSフリツブフロツプ223
9も、Cフリツプフロツプ2243をセットし「Cサイ
クル順序を開始させた後に、自ずからリセットされる。
アンド・ゲート2234には、反転しないPビット#0
及びPビット#1が結合されている。
従って、アンド・ゲート2234を付勢するサイクル7
に、Pレジス夕2226が3の値(2進法の11)を持
っていれば、DSフリツプフロツプ2238が論理1に
セットされ、データベース記録、ポィンタモードがタイ
プ3の記録であることを表わす。DSフリップフロツプ
2238は、論理1にセットされた後、Dサイクル順序
を開始させると共に、Dフリップフロツプ2242をセ
ットし、データベース記録、タイプ3のポインタモード
を扱っている事実を記憶する。DSフリップフロップ2
238も出力がリセット入力に結合され、前述の動作を
した後に自ずからリセットされる。第22D図を見れば
、BサイクルがAサイクルよりサイクル周期が少なく、
幾つかの場合、Bサイクル・フリツプフロツプの出力が
Aサイクル・フリップフロップの出力と共にオア・ゲー
トに結合されて、別のサイクル・フリツプフロツプをセ
ットすることが判る。
これはAサイクル(タイプ0のポインタ)及びBサイク
ル(タイプ1のポィンタ)の動作が共通だからである。
ポィンタ・タイプ0及びポィンタ・タイプ1の命令の動
作によって同じ制御順序を必要とする場合、サイクルA
信号は前のAサイクル信号又は前のBサイクル信号の何
れかによってセットさる。この一例として、サイクルA
Iフリップフロップ2412及びサイクルBIフリツプ
フロツプ2422がオア・ゲート2484に結合され、
これがサイクルA2フリップフロツプ2413をセット
する場合を示してある。共通のA及びBサイクル動作の
或る順序の後、タイプ0のポィンタモード及びタイプ1
のポィンタモードの状態が相異なる動作を必要とする時
、別々のサイクルA又はサイクルBフリツプフロツプが
再びセットされる。この一例がサイクルA3 2414
の後である。A3フリツプフロツプ2414の出力がア
ンド・ゲート2486に結合され、これがフリツプフロ
ツプ2245(タイプ0のポインタモード指示子)から
のA信号によって付勢され、サイクルA4フリツプフロ
ツプ2415をセットする。サイクルA3フリツブフロ
ツプ2414の出力もアンド・ゲート2487に結合さ
れ、これがフリツプフロツプ2244(タイプ1のポィ
ンタモード指示子)からのB信号によって付勢され、サ
イクル4フリップフロップ2423をセットする。第2
2D図は、やはりCサイクル及びDサイクルの動作が共
通である為に、Cサイクル順序(タイプ2のポィンタモ
ード)及び○サイクル順序(タイプ3のポィンタモード
)が多くのサイクル順序を共用することをも示している
別々のCサイクル及びDサイクル動作を必要とする時を
示すメカニズムは、サイクルA及びサイクルB信号の場
合と同じである。タイプ2のポィンタモード及びタイプ
3のポインタモードが共通の動作から開始されるので、
CSフリップフロップ2239及びDSフリツプフロツ
プ2238が共にオア・ゲート2489に結合され、こ
れがサイクルCOフリツプフロツプ2431のセット入
力に結合されていることに注意されたい。従って、サイ
クルCOは、C及びDサイクル順序の両方にとって初期
サイクルである。第22A図乃至第22C図の論理動作
に説明を戻すと、サイクル7の後、どのようにA、B、
C又はDサイクル順序を開始するかを前に述べた。
先づ、AB及びBサイクル順序の動作を見れば、メモリ
データ・レジスタ2216にあるポインタのSRAフイ
ールド(クラス0のポインタでは1542、クラス1の
ポインタではフイールド1552)が、第22A図のア
ンド・ゲート2248に結合されていることが判る。サ
イクルAq信号及びサイクルBO信号がオア・ゲート2
247に結合され、これがアンド・ゲート2248を付
勢する。従って、サイクルAOでもサイクルBOでも、
アンド・ゲート2248が付勢されて、メモリから謙出
したポィンタのSRA部分をSRAレジタスタ2249
へ転送する。ポィンタSEGフィールド1552(この
フイールドは、クラス1のポィン夕が操作される場合に
だけ意味がある)がメモリデータ・レジスタ2216か
らアンド・ゲ−ト2250‘こ結合されていることも判
る。アン0ド・ゲート2250がサイクルBO信号によ
って付勢され、こうしてSEGフィールド1552をサ
イクルBOにSEGレジスタ2316へ転送する。サイ
クルBIに、サイクルBI信号によって付勢5されるア
ンド・ゲート2253に結合されたSRAレジスタ22
49が、SRAレジスタの内容をオア・ゲート2255
を介して、EAXレジスタ2257(このレジスタのフ
オーマツトは第2図の202に示したベース・レジスタ
と同じあ0る)のオフセット・フィールドへ転送する。
サイクルBI信号はアンド・ゲ−ト2254をも付勢す
る。SEGレジスタ2316がこのゲートに結合されて
いて、この為、レジスタがオア・ゲ−ト2256を介し
てEAXレジスタ2257のSEG部分(EAXレジス
タのSEG部分は、第2図の202に示すSTN、ST
Eフィールドである)へ転送される。操作されるポイン
タモードがタイプ0のポインタである場合、サイクルA
I信号が、アンド・ゲート2252、オア・ゲート22
56を介して、SRAレジスタ2249をEAXレジス
タ2267のオフセット部分に転送することが出来るよ
うにする。
ベース・レジスタ出力レジスタ2230(これは前述の
様にして既にロードが終っている)のSEG(又はそれ
に相当するもの、STN、STE)が、サイクルAIに
よって付勢されるアンド・ゲート2251に結合されて
いる。この為、サイクルAIに、ベース・レジスタのセ
グメント番号が、アンド・ゲート2251に結合された
オア・ゲート2256を介して、EAXレジスタ225
7のSEG部分に転送される。EAXレジスタ2257
にロ−ドした後、このレジスタの内容、即ち、第2図の
202に示すフオーマツトのセグメントアドレスが、オ
ア・ゲート2217を介して、第22B図に示すアドレ
ス制御装置2207に転送される。
この場合も、アドレス制御装置2207は、(第2図の
202に示すフオーマットの)セグメントアドレスを供
給された時、このアドレスをメモリアドレスに変換する
。この為、アドレス制御装置2207の出力が再びメモ
リアドレス・レジスタ2209に転送される。アンド・
ゲート2219を付勢するオア・ゲート2218に対す
る別の入力が、サイクルA2信号(これはサイクルAI
又はサイクルBIに続く)であるから、アドレス制御装
置のアドレス・レジスタ2209にあるアドレスが、ア
ンド・ゲート2219、オア・ゲート2220を介して
、メモリ2213のメモリアドレス・レジスタ2210
‘こ転送される。この場合も、メモリアドレス・レジス
タ2210‘こ新らしいアドレスがロードされたこと、
並びに読出し/書込みフリッブフロップ2212が論理
0の値を持つことをメモリ2213が検出すると、別の
メモリアクセス動作が開始される。
メモリアクセス動作をしたことにより、メモリアクセス
例外2214が起り得る。この例外が起った場合、メモ
リアクセス例外フリツプフロツプ2214が論理1状態
にセットされ、例外処理機構が作動される。そうでなけ
机ま、メモリ動作が正常に完了し、メモリ動作完了フリ
ップフロップ2215が論理1にセットされる。このメ
モリ動作が完了すると、メモリから読出されたデータ、
即ち、バーチュアルメモリの記録の内、第15a図に示
すDフィールド(又はDスイッチ)1502を含む部分
がメモリデータ、レジスタ2216に転送される。第2
20図を見れば、サイクルA2フリップフロツブ241
3の出力がアンド・ゲート2485に結合され、これが
メモリ動作完了信号によって付勢される。
この為、メモリ動作の完了後、ァンド・ゲート2485
が付勢され、サイクルA3フリツプフロツプ2414を
セットする。サイクルA3には、サイクルA針旨号によ
って付勢されるアンド・ゲート2258が、バーチュア
ルメモリの記録のDフィールド1502をメモリデータ
・レジスタから、比較器2260の2入力の内の一方へ
転送する。
比較器2260に対する他方の入力は1組の0ビット2
259である。比較器2260が○フィールド1502
が0に等しいと判定すると、比較器2260の比較成立
信号が論理1に上昇し、こうして削除記録例外フリップ
フロップ2261を論理1にセットする。この時、例外
処理機構が作動され、命令が完了する。そうでなければ
、比較器2260の比較不成立信号が論理1の値に上昇
する。第22D図で、比較器2260の比較不成を信号
がアンド・ゲート2486,2487に結合されること
が判る。この0為、比較不成立状態では、A信号224
5がポィンタ・タイプ0の動作であることを表示すれば
、アンド・ゲート2486が付勢され、B信号がポィン
タ・タイプ1の動作を表示すれば、アンド・ゲート24
87が付勢され、その何れかになる。タアンド・ゲート
2486は、A信号及び比較不成立信号によって付勢さ
れた時、サイクルA3の後、サイクルA4フリップフロ
ップ2415をセットする。アンド・ゲート2487は
、B信号及び比較器2260からの比較不成立信号によ
って0付勢された時、サイクルA3の後、サイクルB4
フリツプフロツプ2433をセットする。第228図の
オア・ゲート2263は、サイクルA4信号及びサイク
ルB4信号を入力として受取るから、これらの何れのサ
イクルでも、アンド・ゲート2313が付勢され、アン
ド・ゲート2313が結合されているオア・ゲート22
64を介して、SRAレジスタ2249をBRベース・
レジスタ入力レジスタ2267(レジスタ2267は第
2図の202に示すフオーマツトである)のオフセット
・フィールド‘こ転送する。
タイプ1のポィンタモードの記録が操作される場合、サ
イクルB4信号がアンド・ゲート2265を付勢して、
オア・ゲート2266を介して、SECレジスタ231
6をBR入力レジスタ2267のSEG部分へ転送する
。(SEGは第2図の202に示すSTN,STEフィ
−ルドと同等である。)サイクルA4及びサイクルB4
信号がオア・ゲート2270‘こ入力され、これがアン
ド・ゲート2271を付勢するから、これらの何れのサ
イクルでも、アンド・ゲート2270が付勢されて、命
令バッファ2202のBRフィールド1926をアドレ
ス制御装置2207のBR部分2208へ転送する。ア
ドレス制御装置2207のBR部分2208にBRレジ
スタ番号が供給され且つBR入力レジス夕2267に新
らしい値がロードされると、アドレス制御装置がBR入
力レジスタ2267にある値を、正常の作業用メモリ形
書込み動作によって、ベース・レジスタに書込む。従っ
て、命令フィールド1926にそのベース・レジスタB
R番号が定められているベース・レジスタは、この時、
同じベース・レジスタBRの内容によって初めに指定さ
れた記録のオーナ記録のアドレスであるセグメントアド
レスによって更新される。こ〉で再び第22D図を参照
すると、サイクルA4フリツプフロツプ2415及びサ
イクルB4フリップフロップ2423の出力が何れもオ
ア・ゲート2488に結合され、この為、サイクルA4
又はサイクルB4の後、オア・ゲート2488がサイク
ルA5フリツプフロツブ2416をセット3することが
判る。第22C図に見られるように、サイクルA4信号
がオア・ゲート2272に入力されるが、これを使って
命令完了フリップフロップ2246をセットする。命令
完了フリップフロップ2246をセットすると共に、命
令の完了を4中央処理装置に知らせることにより、一連
のフリツプフロツプA2245、B2244、C224
3、D2242がリセツトされる。これは、この各々の
フリップフロップのリセット入力に、第22C図に見ら
れるように、命令完了信号が結合されているからである
。Pの値によって、これらのフリップフロップの内の1
つしか初めにセットしていないから、実際にはこれらの
4つのフリツプフロツプの内の1つしか論理1にセット
されていないことに注意されたい。タイプ2及びタイプ
3のポイントモードの記録の場合に、C及びDサイクル
順序を更に詳しく考えると、前述の如く、C及びDサイ
クル順序は何れも第22D図のフリツプフロップ243
1からのサイクルCO信号で始まる。
フリツプフロップ2431はオア・ゲート2489を通
してセットされ、このオア・ゲートにはCSフリツブフ
ロツプ2239及びBSフリツプフロツプ2238が結
合されている。第22A図に戻って考えると、サイクル
COで、サイクルCO信号によって付勢されるアンド・
ゲート2274に結合された1ビット2317が、作業
用メモリアドレス・レジスタ2275の一番左側のビッ
トに転送される。命令バツフア2202のBRフイール
ド1926が、サイクルCq信号によって付勢されるア
ンド・ゲート2273に結合され、命令バッファ220
2からのBR番号を作業用メモリアドレス・レジスタ2
275の一番右側の3ビットに転送する。従って、サイ
クルCOに、前述の如くベース・レジスタBRに対応す
るインデックス・レジスタのアドレスが、作業用メモリ
アドレス・レジスタ2276にロードされる。作業用〆
モリ読出し/書込みフリップフロップ2277は、オー
ナ検索命令検出器2201が論理1になった時、前に0
の値にセットされており、こうしてオア・ゲート227
8に結合された反転ァンド・ゲート2211の出力を論
理0に下げることが判る。従って、作業用〆モリ読出し
/書込みフリップフロップ2277に結合されたオア・
ゲート2278の出力が最初は0の値にセットされてい
る。作業用メモリ2276は、作業用メモリアドレス・
レジスタ2275にアドレスがロードされ作業用メモリ
議出し/書込みフリップフロップ2277が論理0にセ
ットされていることを検出すると、アドレス・レジスタ
2275になるアドレスの作業用〆モリ読出し動作を開
始する。従って、作業用メモリは、サイクルCOに於け
る作業用メモリアドレス・レジスタ2275のロードの
後、命令バツフア2202にあるBRベース・レジスタ
番号に対応するインデックス・レジスタを読出す。作業
用メモリ動作が完了すると、メモリから謙出されたイン
デックス・レジスタが作業用メモリデータ・レジスタ2
318へ転送される。サイクルCIは、第22D図から
判るように、ポィンタモードがタイプ2である場合だけ
起るが、このサイクルCIで、フリツプフロツプ243
2、つまりインデックス・レジスタのエリア・フィール
ド1572(第15h図に示す)がエリア−ページ一行
番号レジスタ2281のエリア部分にロードされる。
この転送は、サイクルCI信号によって付勢されるアン
ド・ゲート2319を介して行なわれる。更に、サイク
ルCIに、前にメモリ2213から読出されてメモリデ
ータレジスタ2216にあるポィンタのページ一行番号
部分が、エリアーベージー行番号レジスタ2281のペ
ージ一番号部分にロードされる。この転送は、サイクル
CI番号によって付勢されるアンド・ゲート2279を
介して行なわれる。サイクルDIは、第22D図から判
るように、タイプ3のポィンタモードの動作だけに対応
するが、このサイクルDIに、フリツプフロツプ245
1、即ち、第15h図に示す完全なエリアーベージ一行
番号が、前に〆モリ読出し動作の後にポインタがo−ド
されていたメモリデ−夕・レジスタ2216から、エリ
ア−ページ一行番号全体のレジス夕2281へ転送され
る。
この転送は、サイクルDI信号によって付勢されるアン
ド・ゲート2280を介して行なわれる。第22D図を
見れば、サイクルCI信号又はサイクルDI信号の後、
サイクルC2が続くことが判る。
この為に、サイクルCIフリップフロッブ2432及び
サイクルDIフリツプフロツプ2451の出力をオア・
ゲート2492に結合し、このゲートをサイクルC2フ
リツプフロツプ2433のセット入力に結合する。サイ
クルC2に、アンド・ゲート2282が付勢され、エリ
アーベージ一行レジスタ2281をページ位置決め機構
2284へ転送することが出来るようにする。
ページ位置決め機構の動作は前に述べたが、この機構を
実現するハードウェアが第18図に示されている。ペー
ジ位置決め機構を作動するには、サイクルC2信号によ
ってページ位置決め作動フリップフロップ2283をセ
ットすると共に、エリアーベージ・レジス夕2285に
。ードされる。レジス夕2285にはエリアーベージ一
行番号レジスタ2281のエリアーベージ部分が、サイ
クルC2信号によって付勢されるアンド・ゲート228
2を介して転送される。ページ位置決め作動レジスタ2
283は第18図に示すフリツプフロツプ1815に対
応する。エリアーベージ・レジスタ2285は第18図
のレジスター862に対応する。前に述べた様に、ペー
ジ位置決め機構2284を実行すると、ページ動作例外
が起ることがあり、この場合、ページ動作例外フリップ
フロップ2286がセットされ、例外処理機構が作動さ
れる。ページ動作例外フリップフロップ2286は第1
8図のフリツプフロツブ1884に対応する。ページ動
作例外が起らなければ、エリア−ページ・レジスタ22
85に与えられているページ番号に対応するページ記述
子がページ記述子レジスタ2289(これは第18図の
レジスタ1877に対応する)にロードされ、ページ位
置決め完了フリップフロップ2287(これは第18図
のフリツプフロツプ1879に対応する)がセットされ
る。ページ記述子レジスタ2289にロードされるペー
ジ記述子のフオーマットが第16b図に示されており、
前に説明した。第22D図で、ページ位置決め完了フリ
ップフロツプ2287が1にセットされると共にサイク
ルC2フリツプフロツプ2433が論理1であることに
より、アンド・ゲート2493が付勢され、これがCサ
イクル順序のサイクルC3を開始させる。
サイクルC3信号がアンド・ゲート2291が付勢され
、これがページ記述子のシフト・カウント・フイールド
1623をシフト・カウント・レジスタ2292へ転送
する。
このシフト・カウントを使って、エリア−ページ一行レ
ジスタ2281からエリアーベージー行番号を取出し、
この番号の行番号部分を外へシフトさせ、次にこの行番
号をWレジスタ2296にロードする。更にサイクルC
3に、ページ記述子のセグメント番号フィールド162
5が、サイクルC3信号によって付勢されるアンド・ゲ
ート2290を介して、アドレス制御装置2207へ転
送される。前掲特許願に記載する様に、アドレス制御装
置2207は、セグメント番号を供給される。そのセグ
メントのベース・アドレスをアドレス制御装置2207
のアドレス・レジスタ2209へ出力する。第228図
を見れば、アドレス制御装置2207から出力されたセ
グメントベース・アドレスが、サイクルC4信号によっ
て付勢されるアンド・ゲート2321を介して、セグメ
ントベース・アドレス・レジスタ2322へ転送される
。セグメントベース・アドレスレジスタ2322が加算
器2325の一方の入力に結合される。
加算器2325に対する他方の入力は、8の値を持つレ
ジスタ2323である。この8の値は、第16a図に見
られる様にセグメントのベースの始めからの、最大行番
号フィールドの変位に対応する。最大行番号フィールド
は、エリア−ページ・レジスタ2285に与えられてい
る番号の特定のページを参照する時に、使うことが許さ
れる最高の行番号である値を持っている。サイクルC5
に、最大行番号フィ−ルドのアドレスを表わす加算器2
325の出力が、アンド・ゲート2324、このゲート
が結合されているオア・ゲート2220を介して、メモ
リ2213のメモリアドレス・レジスタ2210へ転送
される。メモリ2213は、そのメモリアドレス・レジ
スタ2210に新らしい値がロードされたこと、並びに
議出し/書込みフリッブフロップ2212が論理0にセ
ットされていることを検出すると、メモリアクセス動作
を開始する。このメモリ動作をしたことにより、メモリ
アクセス例外が起り得る。このメモリアクセス例外によ
って、メモリアクセス例外フリップフロップ2214が
セットされ、例外処理機構が作動される。起らなければ
、メモリ動作が正常に完了し、メモリ動作完了フリツプ
フロツプ2215論理1にセットされる。第22D図で
、メモリ動作完了信号が論理1に変わると共に、7リッ
プフロツプ2436からサイクルC5信号が論理1ある
ことにより、アンド・ゲート2294が付勢され、この
アンド・ゲートがサイクルC6フリツプフロツプ243
7のセット入力に結合されているので、このフリツプフ
ロツプ2437が論理1にセットされる。メモリ動作完
了フリップフロップ2215が論理1に変ることは、ア
ドレスされた最大番号フィールドがメモリ2213から
メモリデータ・レジスタ2216へ転送されたことを表
わす。サイクルC6に、アンド・ゲート2300が付勢
され、メモリデータ・レジスタ2216からZレジスタ
2301へ最大行番号フィールドを転送する。サイクル
C4によって起る他の動作を考えると、第22A図で、
エリア−ページ一行レジスタ2281が、サイクルC4
信号によって付勢されるアンド・ゲート2293を介し
て、シフタ2294へ入力されることが判る。
前にシフト・カウント・レジスタ2294にストアされ
ていた値も、サイクルC4信号によって付勢されるアン
ド・ゲート2320を介して、シフタ2294のシフタ
・カウント・フィールド入力される。第22B図で、シ
フタ2294の出力がアンド・ゲート2295に結合さ
れ、これがサイクルC5信号によって付勢される。この
為、サイクルC5で、エリア−ページ一行レジスタ22
81から得られた行番号を表わすシフトの出力が、アン
ド・ゲート2295を介してWレジスタ2296へ転送
される。Zレジスタ2301が比較器2297の一方の
入力となる比較器2297の他方の入力Wレジスタ22
96である。
比較器2297が、Wレジスタにある値がZレジスタに
ある値より大きいか、それに等しいと判定すると、W2
Z信号がアンド・ゲート2298に結合され、サイクル
C7信号と共に、無効ページフオーマット例外フリップ
フロツプ2299をセットすることが出来るようにする
。このフリツプフロツブが1にセットされると、例外処
理機構が作動され、命令が完了する。比較器2297が
、Wの値がZの値より小さいと判定すると、WくZ信号
がアンド・ゲート2332へ結合され、このゲートの付
勢に使われる。Wレジスタ2296が掛算器2328の
一方の入力に結合される。
頚算器2328の他方の入力は、2の値を持つレジスタ
2327である。掛算器2328はハードウェア論理回
路で実現された典形的な掛算器である。こうして行番号
に2が秦ぜられる。今の場合、これは記憶装置2213
の2つの8ビット・バイトを表わす。2バイトが、第1
6a図の行オフセット配列1602内の1604一16
03の様な行オフセット配列項の長さを構成する。
W行番号に行オフセット配列項の規模を乗じることによ
り、行Wに対する適正な行オフセット配列項がアドレス
位置へインデックスされる。掛算器2328の出力がア
ンド・ゲート2329に結合され、これがサイクルC6
信号によって付勢される。アンド・ゲート2329が加
算器2330の一方の入力に結合される。加算器233
0の他方の入力は、レジスタ2331にストアされてい
る10の値である。10の値は、第16a図に示す様に
、行オフセット配列1602の、8ビット・バイト数で
表わしたオフセット・アドレスを表わす。
こうして加算器2330の出力が、第16a図に示すデ
ータベースのページにある行番号Wの行オフセット配列
項の相対位置をアドレスする。加算器2330の出力が
アンド・ゲート2332に結合され、このゲートがサイ
クルC7信号並びに比較器2297からのW<Z信号に
よって付勢される。行番号WがZレジスタ2301から
の最大行番号Zより小さいと判定された場合に、W<Z
信号が論理1になる。行番号Wの行オフセット配列項の
セグメント相対オフセット・アドレスを表わすアンド・
ゲート2332の出力が、加算器2333の一方の入力
に結合される。
加算器2333の他方の入力はセグメントベース・アド
レス・レジスタ2322である。この為、2333の出
力は、行番号Wの所望の行オフセット配列項の絶対アド
レスを表わす。加算器2333の出力がアンド・ゲート
2334に結合され、これがサイクルC7信号によって
付勢される。アンド・ゲート2334の出力がオア・ゲ
ート2220を介して記憶アドレス・レジスタ2210
へ転送される。メモリアドレス・レジスタに再びロード
されたこと、並びに議出し/書込みフリツプフロップ2
212が論理0にセットされていることをメモリが検出
すると、再びメモリアクセス動作が開始される。メモリ
アクセス動作をしたことによってメモリアクセス例外が
起ると、メモリアクセス例外フリッブフロツプ2214
が論理1にセットされ、例外処理機構が作動される。起
らなければ、メモリ動作が正常に完了し、メモIJ動作
完了フリツプフロップ2215が論理1にセットされる
。第220図で、サイクルC7と、メモリ動作完了信号
の上昇とにより、アンド・ゲート2495が付勢される
ことが判る。このゲートがサイクルC8フリップフロッ
プ2440のセット入力に結合されているので、サイク
ルC8が開始される。メモリ動作完了信号の上昇は、所
望の行オフセット配例頃がメモIJデータ・レジスタ2
216に転送されたことを表わす。第22C図から判る
ように、サイクルC8は、行オフセット配列項のDフィ
ールド又はDスイッチ(第16a図のフィールド160
4)をアンド・ゲート2302を介して比較器2303
へ転送出来るようにする。
比較器2303の他方の入力は、0の値を持つレジスタ
2304である。比較器2303が、行番号Wの行オフ
セット配列項のDスイッチが0に等しいと判定すると、
比較器2303の比較成立信号、即ち、等しいと云う信
号が、未使用行例外フリップフロップ2305をセット
する。フリツブフロツプ2305がセットされると、例
外処理機構が作動され、命令が完了する。そうでない場
合、比較器2303の比較不成立信号が論理1の値に上
昇する。行番号Wの行オフセット配列項の○スイッチを
含むアンド・ゲート2302の・出力が比較器2306
にも結合される。比較器2306の他方の入力は、2の
値を持つレジスタ2308である。比較器2306が、
Dスイッチが2の値に等しくないと判定すると、比較器
2306の比較不成立、即ち、等しくないと云う信号が
論理1に上昇する。比較器2303の比較不成立信号及
び比較器2306の比較不成立信号がアンド・ゲート2
309に結合される。Dスイッチが0又は2の値に等し
くない場合は、1又は3の値に等しい筈であり、その何
れも削除行例外を表わす。即ち、比較器2303,23
06の2つの比較不成立信号がアンド・ゲート2309
に結合され、これがサイクルC9に付勢され、Dスイッ
チが1又は3の値に等しい場合、削除行例外フリップフ
ロツプ2310をセットする。このフリップフロップが
論理1にセットされると、例外処理機構が作動され、命
令が完了する。比較器2306が、行番号Wの行オフセ
ット配列項のDスイッチが2の値に等しいと判定すると
、削除行例外フリップフロツプ2310も未使用例外フ
リップフロツブ23、05も論理1にセットされず、従
って命令の実行が続けうれる。サイクルCIM信号を使
って、行Wに対応する行オフセット配列項の行オフセッ
ト部分(第16a図のフィールド1603参照)をサイ
クルCIOによって付勢されるアンド・ゲート2312
を介して、オア・ゲート2264からベース・レジスタ
BR入力レジスタ2267へ転送する(第22B図参照
)。
行オフセット配列項の行オフセットがBR入力レジスタ
2267のSRA部分(第2図の202)へ転送される
。アンド・ゲート2311を付勢して、ページ記述子レ
ジスタ2289からアンド・ゲート2311及びオア・
ゲート2266を介してBR入力レジスタ2267へセ
グメント番号フィールド1625を転送する為にも、サ
イクルCIM信号を使う。部分番号1625が、ベース
・レジスタ入力レジスタのSTN、SET部分(第2図
の202)へ転送される。サイクルCIM信号が、アン
ド・ゲート2271を付勢するオア・ゲート2270の
もう1つの入力になっているから、サイクルCIOに、
命令バツフア2207のBRフイールド1926がアド
レス制御装置2207のBR部分2208へ入力される
。アドレス制御装置2207のBR部分2208にBR
レジスタ番号が供給されると共に、BR入力レジスタ2
267に新らしい値がロードされると、アドレス制御装
置が、普通の作業用メモリ形書込み動作によってその番
号が入力されたベース・レジスタに対し、BR入力レジ
スタ2267にある値を書込む。この為、そのベース・
レジスタ番号が命令フィールド1926に与えられてい
るベース・レジス夕が、このベース・レジスタBRに対
応するインデックス・レジスタの内容によって指定され
たオーナ記録0アドレスである区分アドレスで更新され
る。第22D図で、サイクルCIOフリツプフロツプ2
442の後、Cフリップフロツプ2243が論理1にセ
ットされているか、或はDフリツプフロツプ2242が
論理1にセットされているかによって判る様に記録のポ
インタモードがタイプ2又はタイプ3の何れであるかに
応じて、サイクルCIIフリツプフロツプ2443又は
サイクルDIIフリツプフロツプ2252がセットされ
る。
サイクル11フリツプフロツプ2443はアンド・ゲー
ト2496を介してセットされ、サイクルDIIフリツ
プフロツプ2452はアンド・ゲート2497を介して
セットされる。サイクルCIIに、エリアーベージー行
レジスタ2281のページ一行番号部分が、サイクルC
II信号によって付勢されるアンド・ゲート2315を
介して、作業用のメモリデータ・レジスタ2381のペ
ージ一行部分(第15h図のフィールド1573及びフ
ィールド1574)へ転送される(第22A図参照)。
ポィンタモードがタイプ3であれば、サイクルDIIに
、エリア−ページ一行レジスタ2281全体が、サイク
ルDII信号によって付勢されるアンド・ゲート231
4を介して、作業用メモリデータ・レジスタ2318全
体へ転送される。サイクルCII又はサイクルDIIの
何れでも、この両方の信号が、作業用〆モリ読出し/書
込みフリツプフロツプ2277に結合されたオア・ゲー
ト2278に対する入力になっているから、作業用〆モ
リ読出し/書込みフリップフロップ2277が論理1に
セットされ、作業用メモリの書込み動作を開始すべきこ
とを表示する。
作業用メモリアドレス・レジスタ2275にあるアドレ
スは、この時まだ、命令バッファ2202にあるBRベ
ース・レジスタ番号1926に対応するインデックス・
レジスタのアドレスである。サイクルCII又はDII
信号が作業用メモリデータ・レジス夕2318にロード
をさせると共に作業用〆モリ読出し/書込みフリツプフ
ロツプを論理1に上昇させた後、作業用メモリ2276
が新らしいエリア−ページ一行番号をこのインデックス
・レジスタに書込む。この新らしいエリアーベージー行
番号は、命令のベース・レジスタBRが参照するメンバ
記録のオーナ記録のアドレスである。第22D図を見れ
ば、サイクルCIIフリツプフロツプ2343及びサイ
クルDIIフリツプフロツプ2452の両方の出力がオ
ア・ゲート2498に結合されており、このゲートの出
力がサイクルCI2フリツプフロップ2444のセット
入力に結合されていることが判る。この為、サイクルC
II又はサイクルDIIの後にサイクルCI2カギ続く
。第22C図で、サイクルCI2信号が命令完了フリツ
プフロツプのセット入力に結合されて、それを論理1に
セットし、オーナ検索データベース命令の終了を表わす
ことが判る。第22D図は、第22A図乃至第22C図
に示すオーナ検索命令を実施するハードウェアの制御論
理回路としてのサイクル計数器を詳しく示している論理
図である。
サイクルCI乃至サイクルC7のフリップフロツプ24
01乃至2407が制御論理回路の開始サイクル順序を
構成する。サイクルAO乃至サイクルA5のフリツプフ
ロップ2411乃至2416が、ハードウェア動作の内
、タイプ0のポィンタモードのバーチュアルメモリの記
録に特有な部分を実施するAサイクル順序を構成する。
サイクルBO乃至サイクルB4のフリツプフロップ24
21乃至2423が、ハードウェア動作の内、タイプ1
のポインタモードのバーチユアルメモリの記録に特有な
部分を実施するBサイクル順序を構成する。或る場合、
タイプ0及びタイプ1の動作が共通である為、サイクル
B(タイプ1のポィンタモード)の動作を実施するのに
Aサイクル順序を使う、サイクルCO乃至サイクルCI
2のフリップフロップ2431乃至2444が、ハード
ウェア動作の内、タイプ2のポィンタモードのデータベ
ース記録に特有な部分を実施するCサイクル順序を構成
する。サイクルDI乃至サイクルDIIのフリツプフロ
ップ2451乃至2452が、ハードウェア動作の内、
タイプ3のポィンタモードのデータベース記録に特有な
部分を実施するDサイクル順序を構成する。或る場合、
タイプ2及びタイプ3の記録の動作が共通である為、C
サイクルがDサイクルで共用される。第22D図の各々
のフリップフロップは同期型フリッブフロップである。
この為、前掲特許願に記載される様なクロック装置を使
って、各フリップフロップに於ける論理状態の変化をト
リガする。各フリツプフロップのクロツク入力にクロツ
ク信号が結合される。この制御論理回路にある各フリッ
プフロップは、その出力信号が自分のリセツト入力に結
合されている。この為、サイクル・フリップフロップが
論理1にセットされると、1クロツク周期遅れて、自分
が0にリセットされる。次のク。ツク・サイクルが、前
のクロツク・サイクルが論理1であったこと以外の論理
状態、例えばメモリ動作完了信号が論理1に上昇するこ
とに依存する場合、直接の出力信号ではなく、適正な状
態を論理的に検出するアンド・ゲートの出力が、前のク
ロック・サイクルのリセット入力に結合される。第22
A図の比較器2203の出力信号がサイクル1フリツプ
フロツプ2401のセット入力に結合される。
この為、オーナ検索命令のM欧フィールド1923が0
であると検証された後、サイクル1が開始される。サイ
クル1フリツプフロツプ2401の出力がサイクル2フ
リツプフロツプ2402のセット入力に結合される。サ
イクル2フリツプフロツプ2402の出力がアンド・ゲ
ート2481に結合される。アンド・ゲート2481は
、第22B図に示すメモリ動作完了フリッブフロップ2
215からのメモリ動作完了信号によって付勢される。
従ってメモリ動作が完了した後に、アンド・ゲート24
81の出力が論理1に上昇し、この時、オーナ検索命令
は次の実行工程へ進める状態になる。アンド・ゲート2
481の出力がサイクル3フリツプフロツプ2403の
セット入力に結合される。サイクル3フリツプフロツプ
2403の出力がアンド・ゲート2482に結合される
アンド・ゲート2482は第22C図の比較器2222
からの比較成立を信号によって付勢される。この為、比
較器2222が、オーナ検索命令によってアドレスされ
たセット記述子Kフィールド1805が0の値に等しい
と判定した場合に、アンド・ゲート2482の出力が論
理1に上昇する。アンド・ゲート2484の出力がサイ
クル4フリツプフロツプ2404のセット入力に結合さ
れる。サイクル4フリツブフロツプ2404の出力がサ
イクル5フリツプフロツブ2405のセット入力に結合
される。サイクル5フリツプフロツプ2405の出力が
サイクル6フリツプフロツプ2406のセット入力に結
合される。サイクル6フリツブフロツプ2406の出力
がアンド・ゲート2483に結合される。
アンド・ゲート2483はメモリ動作完了フリップフロ
ツプ2215からのメモリ動作完了信号によって付勢さ
れる。アンド・ゲート2483の出力がサイクル7フリ
ツプフロツプ2407のセット入力に結合される。前に
述べた様に、サイクル7の後、ASフリッ 、プフロツ
ブ2241、BSフリツブフロツプ2240、CSフリ
ツプフロツブ2239又は,DSフリップフロップ22
38(第22C図参照)の内の1つがセットされる。
これらの信号が夫々Aサイクル順序、Bサイクル順序、
Cサイクル順序又はDサイクル順序を開始させる。サイ
クルAOフリツプフロツプ24 1 1がASフリツプ
フロツプ2411によってセットされる。
サイクルAOフリツブフロツプ2411の世力がサイク
ルAIフリツプフロツプ2412のセット入力に結合さ
れる。サイクルBOフリップフロツプ242 1がBS
フリツプフロツプ2240によってセットされる。サイ
クルBOフリツプフロツプ2421の出力がサイクルB
Iフリツプフロツプ2422のセット入力に結合される
。サイクルAIフリップフロツプ2412及びサイクル
BIフリップフロップ2422の両方の出力がオア・ゲ
ート2484に結合される。オア・ゲート2484の出
力がサイクルA2フリツプフロツプ2413のセット入
力に結合される。この為、サイクルA2がサイクルAI
又はサイクルBIに続く。サイクルA2フリツプフロツ
プの出力がアンド・ゲート2485に結合される。アン
ド・ゲ−ト2485はメモリ動作完了信号によって付勢
される。アンド・ゲート4285の出力がサイクルA3
フリップフロップ2414のセット入力に結合される。
サイクルA3フリツプフロツプ2414の出力がアンド
・ゲート2486,2487の両方に結合される。
これらの2つのアンド・ゲートは、ポィンタモードがタ
イプ0かタイプ1かに応じて、Aサイクル又はBサイク
ルの何れかを選んで続行するかを決める為に使われる。
アンド・ゲート2486,2487は別の入力として、
何れも第22C図の比較器2260の比較不成立信号を
受取る。この信号を使って、バーチュアルメモリの記録
が0(記録削除)に等しくないDスイッチを持つことを
表示する。アンド・ゲート2486に対する最後の付勢
入力は、フリップフロップ2245からのA信号である
。従ってポィンタモードがタイプ0で、A信号2245
が論理1であれば、アンド・ゲート2486が論理1に
上昇し、そのセット入力にアンド・ゲート2486が結
合されているサイクルA4フリツプフロツプ2415が
論理1にセットされる。ポインタモードがタイプ1で、
フリップフロッブ2244のB信号が論理1であれば、
アンド・ゲート2487が論理1に上昇し、アンド・ゲ
ート3487がサイクルB4フリップフロツプ2423
のセット入力に結合されているから、サイクルB4が開
始される。サイクルA4フリツプフロツブ2415及び
サイクルB4フリップフロツプ2324の両方の出力が
オア・ゲート2488に結合される。この為、サイクル
A4又はサイクルB4に続いて、オア・ゲート2488
の出力が論理1に上昇する。オア・ゲート2488の出
力がサイクルA5フリツプフロツプ2416のセット入
力に結合される。サイクルA5に続いて、命令完了フリ
ップフロツプ2246がセットされる。CSフリツプフ
ロツブ2239及びDSフリツプフロップ2238の両
方の出力がオア・ゲート2489に結合される。
オア・ゲート2489がサイクルCOフリツプフロツプ
2431のセット入力に結合される。サイクルCOフリ
ツブフロツブ2431の出力がアンド・ゲート2490
,2491の両方に結合される。
これらの2つのアンド・ゲートを使って、ポィンタモー
ドがタイプ2かタイプ3かに応じて、Cサイクル順序又
はDサイクル順序の何れを続行するかを選択する。アン
ド・ゲート2490‘こ対する第2の付勢入力は、フリ
ップフロッブ2243(第22C図)からのC信号であ
る。ポィンタモードがタイプ2でC信号2243が論理
「1であれば、アンド・ゲート2490が論理1に上
昇し、そのセット入力にこのアンド・ゲート2490が
結合されているサイクルCIフリップフロツプ2432
が論理1にセットされる。ポインタモードがタイプ3で
フリツプフロツプ2242のD信号が論理1であれば、
アンド・ゲート2491が論理1に上昇し、このアンド
・ゲート2491がサイクルDIフリツプフロツプ24
51のセット入力に結合されているので、サイクルDI
が開始される。サイクルCIフリップフロツプ2432
及びサイクルDIフリツプフロツプ2451の両方の出
力がオア・ゲート2492に結合される。
この為、サイクルCI又はサイクルDIに続いてオア・
ゲート2492の出力が論理1に上昇する。オア・ゲー
ト2492の出力が‐サイクルC2フリツプフロップ2
433のセット入力に結合される。サイクルC2フリツ
プフロツプ2433の出力がアンド・ゲート2493に
結合される。アンド・ゲート2493は第22B図に示
すページ位置決め完了フリツプフロツブ2287からの
ページ位置決め完了信号によって付勢される。アンド・
ゲート2493の出力がサイクルC3フリツプフロップ
2433のセット入力に結合される。サイクルC3フリ
ツプフロツプ2434の出力がサイクルC4フリツプフ
ロツプ2435のセット入力に結合される。サイクルC
4フリツプフロツブ2435の出力がサイクルC5フリ
ツプフロツプ2436のセット入力に結合される。サイ
クルC5フリツプフロツプ2436の出力がアンド・ゲ
ート2494に結合される。
アンド・ゲート2494に結合されるアンド・ゲート2
494はメモリ動作完了フリツプフロツプ2215から
のメモリ動作完了信号によって付勢される。アンド・ゲ
ート2494の出力がサイクルC6フリツプフロツプ2
437のセット入力に結合される。サイクルC6フリツ
プフロツプ2437の出力がサイクルC7Aフリツプフ
ロツプ2438のセット入力に結合される。
サイクルC7Aフリップフロツプ2438の出力がサイ
クルC7フリツプフロツプ2439のセット入力結合さ
れる。サイクルC7フリツプフロツプ2439の出力が
アンド・ゲート2495に結合される。
アンド・ゲート2495はメモリ動作完了信号によって
付勢される。アンド・ゲート2494の出力がサイクル
C8フリツプフロツプ2440のセット入力に結合され
る。サイクルC8フリツプフロツプ2440の出力がサ
イクルC9フリツプフロツプ2441のセット入力に結
合される。
サイクルC9フリツプフロツプの出力がサイクルCIO
フリツプフロツプ2442のセット入力に結合される。
サイクルCIOフリツプフロツプ2442の出力がアン
ド・ゲート2496,2497の両方に結合される。
これらの2つのアンド・ゲートを使って、ポィンタモー
ドがタイプ2かタイプ3かに応じて、Cサイクル又は○
サイクルの何れを続行するかを選択する。アンド・ゲー
ト2496に対する第2の付勢入力はフリップフロップ
2243からのC信号である。従って、ポィンタモード
がタイプ2でフリツブフロツプ2443からのC信号が
論理1であれば、アンド・ゲート2496が論理1に上
昇し、このアンド・ゲート2496がそのセット入力に
結合されているサイクルCIIフリツブフロツプ244
3が論理1にセットされる。ポインタモードがタイプ3
で、フリツプフロツプ2242の○信号が論理1であれ
ば、アンド・ゲート2497が論理1に上昇し、このア
ンド・ゲート2497がサイクルDIIフリツプフロツ
プ2452のセット入力に結合されているので、サイク
ルDIIが開始される。サイクルCIIフリツプフロツ
プ2443及びサイクルDIIフリッブフロツブ245
2の両方の出力がオア・ゲート2498に結合される。
従って、サイクルCII又はサイクルDIIに続いて、
オア・ゲート2489の出力が論理1に上昇する。オア
・ゲ−ト2498の出力がサイクルCI2フリツプフロ
ツプ2444のセット入力に結合される。サイクルCI
2の後、第22C図に示す様に、命令完了フリップフロ
ツプ2246がセットされる。この発明の1実施例を図
示し、説明したが、当業者であれば、この発明の範囲で
種々の変更が考えられることは言うまでもない。
多くの工穫を変更したり、別の工程に換えても、同じ結
果が得られるし、それもこの発明の範囲内に属する。従
って、この発明は特許請求の範囲の記載のみによって限
定されることを承知されたい。図面の筋単な説明 第1図はこの発明を利用するマルチプログラミングシス
テムのブロック図、第2図はこの発明によって利用され
る種々のハードウェア構成を表わす概略図、第3図は第
2図のレジスタの予約された記憶領域のために使用され
た用語例、第4図はこの発明に利用された機械のプロセ
ス制御ブロックの概略図、第5図はプロセス制御ブロッ
クのアドレスシステムの概略図、第6図はこの発明を利
用する計算機システムのシステムベースの概略図、第7
A図、第7B図はこの発明を利用する計算機システムの
スタックセグメント及びスタックフレームの概略図、第
8図はこの発明を利用する計算機システムのGセグメン
ト、特にG−○セグメントの待ち行列プロセスのアドレ
スシステムの概略図、第9図はこの発明を利用する計算
機システムの待ち行列プロセスリンクを例示するG−○
セグメントの展開概略図、第10A図〜第10L図はP
CB内の構成ブロック図、第1 1A図〜第11R図は
システムベース内の構成のブロック図、第12図はシス
テムベース及びPC母構成を利用するユーザー及びシス
テムセグメントのアドレス手段の概略図、第13A図〜
第13C図はこの発明の制御ユニットの概略図、第14
A図〜第141図はこの発明を利用する計算機システム
のファームウェアのディスパッチヤーュニットの流れ図
、第15A図〜第15日図はセット命令で使用される言
己鎌及びそれらのポィンタの図、第16A図〜第16C
図はデータベース・フオーマット及びそれらのページを
記述する記述子の図、第17図は主メモリ内にデータベ
ースページを位置させるために使用されるファームウェ
アのフローチヤート、第18図はメモリ内にデータベー
スページを位置させるハードウェア機構の論理ブロック
図、第19A図及び第198図はデータベース命令によ
って使用されるセット及び記録を記述する記述子の図、
第20A図〜第20F図はデータベース命令によって使
用される命令フオーマットの図、第21A図乃至第21
E図はオーナ検索データベース命令のファームウェア/
ハードウェア中でのフローチャート、第22A図乃至第
22D図はオーナ検索データベース命令を実施するハー
ドウェアの論理ブロック図である。
101……プロセッササブシステム、102…・・・記
憶サブシステム、103・・・・・・周辺サブシステム
、106・・・・・・周辺制御ユニット。
姿2図図 球 第3図 第4図 蔓ら5 図 蓑ら7A 図 第78図 妻らら 図 第8図 拳?図 寄L′04図 繁′ob図 買う′0c図 肇′od図 拳′oe図 珠′of図 繁の3図 尊ら′oh図 酋長′OZ 図 多′oJ図 姿のセ図 答ら′OZ 図 谷ら〃仏図 発77b図 茸ら7丁c図 穿ち〃d 図 鼻ら丁’e図 轡ら’’チ 図 多’’9図 警ら〃h図 尊ら’′し 図 繁〃」図 拳〃k図 多’′Z図 警ら7丁机図 篭177n 図 繁ハo図 孫〃p図 繁〃q図 鉾ら’’r 図 図 〜 鮒 篤′3o図 うち′3c図 専ら′3b図 弟′4Q図 袋′4b図 発′4c図 努′4d図 穿L仏e図 発′4ナ図 多′49図 穿ち/4h図 髪′4(図 器′ぅQ図 器/ぅb図 繁/5c図 繁′ぅd図 うミ′うe図 拳′y図 器′ぅゲ図 葺く′5ト図 身1/らo図 登る/るb図 登らノCc図 姿′7図 弟汐o図 多′ob図 図 S 船 蔓ら20Q図 溝20b図 葺L20c図 弟20d図 妻L20e図 第2け図 第2′C図 第2′A図 第2′8図 第2’D図 第2′E図 図 桑 図 〇 溝 繁22c図 図 ○ 群 鮒

Claims (1)

    【特許請求の範囲】
  1. 1 アドレスし得る空間の複数個のセグメントから成る
    記憶装置を持ち、 各セグメントは該セグメントをアド
    レスする為のセグメント番号に関連し、各セグメントが
    可変の上限及び下限によつて区画され、所定のセグメン
    トが、データベース記録のセツトにグループ化された複
    数個のデータベース記録フアイルをストアしており、
    データベース記録の各セツトは少なくとも1つのオーナ
    ・データベース記録及び少なくとも1つのメンバ・デー
    タベース記録を持ち、 各々のデータベース記録は所定
    のデータベース記録を所定のセツトにリンクする少なく
    とも1つのポインタを持ち、 各々のポインタは所定の
    データベース記録を位置決めするセグメント番号及びオ
    フセツト・アドレスで構成され、 各々のデータベース
    記録は該データベース記録を記述する記録記述子に1つ
    づつ関連付けられ、該記録記述子は所定の第2のセグメ
    ントにストアされ、 各セツトは、前記関連するセツト
    を記述し、該関連する記録のセツトの内の最初の記録に
    あるポインタの変位アドレスを与えるためのセツト記述
    子に1つづつ関連付けられており、該セツト記述子は所
    定の第3のセグメントにストアされ、 更に、前記セグ
    メント、データベース記録及び記述子の絶対アドレスの
    基準となるシステム・ベースを持ち、 更に、任意のセ
    グメントのセグメント番号をストアすると共に該セグメ
    ント番号に関連したオフセツト・アドレスをもストアす
    る複数個のベース・レジスタを持ち、前記オフセツト・
    アドレスは関連したセグメント内にある任意のデータを
    該関連したセグメントの最初を基準にアドレスする為の
    ものであり、 更に、前記ベース・レジスタ、インデツ
    クス・レジスタ及びシステム・ベースとの通信路を持つ
    ていて、前記セグメント、データベース記録及び記述子
    の任意のデータ又はアドレスに対して演算並びに論理動
    作を行なう演算論理装置(ALU)を持つ内部プログラ
    ム式データ処理装置において、 前記複数個のベース・
    レジスタの内、前記所定の第1のデータベース記録の第
    1のセグメント番号と第1のオフセツト・アドレスで構
    成された、前記所定の第1のデータベース記録の第1の
    セグメントアドレスをストアする第1のベース・レジス
    タを同定する第1のベース・レジスタ・アドレス(BR
    )、及び前記複数個のベース・レジスタの内の第2のベ
    ース・レジスタを同定して第2のセグメント番号並びに
    前記所定の第1のデータベース記録に関連したセツト記
    述子の第2のオフセツト・アドレスを定める第1のアド
    レス・シラブルを持つオーナ探索命令を表示する第1の
    符号化信号に応答して、前記所定の第1のデータベース
    記録のオーナ記録を探出す命令ハードウエアを設け、該
    ハードウエアが、(a) 前記第1のベース・レジスタ
    内にストアされた第2の符号化信号に応答するように接
    続され、前記第1のデータベース記録を表示する第3の
    符号化信号を取出して来て演算論理装置(ALU)に入
    れる第1の手段と、(b) 該第1の手段に接続され、
    前記セツト記述子を表示する第4の符号化信号を取り出
    して来て前記ALUに入れる第2の手段と、(c) 該
    セツト記述子内の変位アドレスを表示する第5の符号化
    信号に応答するように接続され、ポインタの内、前記第
    1のデータベース記録にあるオーナ・ポインタを第1の
    データベース記録の最初を基準にアドレスする第3の手
    段と、(d) 該第3の手段に接続され、オーナ・ポイ
    ンタを表示する第6の符号化信号を取出してALUに入
    れる第4の手段と、からなる、データ処理装置。
JP51071719A 1975-06-19 1976-06-19 内部プログラム式データ処理装置 Expired JPS603653B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US588434 1975-06-19
US05/588,434 US4025901A (en) 1975-06-19 1975-06-19 Database instruction find owner

Publications (2)

Publication Number Publication Date
JPS5224053A JPS5224053A (en) 1977-02-23
JPS603653B2 true JPS603653B2 (ja) 1985-01-30

Family

ID=24353829

Family Applications (1)

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

Country Status (2)

Country Link
US (1) US4025901A (ja)
JP (1) JPS603653B2 (ja)

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2230258A5 (ja) * 1973-05-16 1974-12-13 Honeywell Bull Soc Ind
US4205371A (en) * 1975-11-03 1980-05-27 Honeywell Information Systems Inc. Data base conversion system
FR2355333A1 (fr) * 1976-06-18 1978-01-13 Thomson Csf Dispositif d'adressage d'une memoire de microprogrammation et unite de traitement de donnees comportant un tel dispositif
US4133030A (en) * 1977-01-19 1979-01-02 Honeywell Information Systems Inc. Control system providing for the transfer of data in a communications processing system employing channel dedicated control blocks
JPS6051732B2 (ja) * 1978-08-31 1985-11-15 富士通株式会社 デ−タ・ベ−スを有するデ−タ処理システム
US4254463A (en) * 1978-12-14 1981-03-03 Rockwell International Corporation Data processing system with address translation
US4342081A (en) * 1979-12-12 1982-07-27 Honeywell Information Systems Inc. Tape device adapter
FR2472781B1 (fr) * 1979-12-27 1986-02-21 Cii Honeywell Bull Dispositif de gestion de microinstructions enregistrees dans une memoire d'une unite de traitement de l'information
US4435758A (en) 1980-03-10 1984-03-06 International Business Machines Corporation Method for conditional branch execution in SIMD vector processors
US4366536A (en) * 1980-04-15 1982-12-28 National Semiconductor Corporation Modular digital computer system for storing and selecting data processing procedures and data
US4456966A (en) * 1981-02-26 1984-06-26 International Business Machines Corporation Memory system with flexible replacement units
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
US4545012A (en) * 1981-05-22 1985-10-01 Data General Corporation Access control system for use in a digital computer system with object-based addressing and call and return operations
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
US4498132A (en) * 1981-05-22 1985-02-05 Data General Corporation Data processing system using object-based information and a protection scheme for determining access rights to such information and using multilevel microcode techniques
US4481570A (en) * 1981-08-07 1984-11-06 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration Automatic multi-banking of memory for microprocessors
US4499539A (en) * 1982-12-20 1985-02-12 International Business Machines Corporation Method and apparatus for limiting allocated data-storage space in a data-storage unit
US4559611A (en) * 1983-06-30 1985-12-17 International Business Machines Corporation Mapping and memory hardware for writing horizontal and vertical lines
US4731734A (en) * 1983-10-17 1988-03-15 Data General Corporation Digital computer system incorporating object-based addressing and access control and tables defining derivation of addresses of data from operands in instructions
JPS61193266A (ja) * 1985-02-21 1986-08-27 Hitachi Ltd 情報検索システム
JPH04248674A (ja) * 1990-10-30 1992-09-04 Internatl Business Mach Corp <Ibm> グラフィック情報拡張方法及びグラフィック情報拡張装置
EP0679995B1 (en) * 1994-04-26 2000-10-04 Sun Microsystems, Inc. Method and apparatus for encoding data to be self-describing
US5946493A (en) * 1997-03-28 1999-08-31 International Business Machines Corporation Method and system in a data processing system for association of source code instructions with an optimized listing of object code instructions
JP2002334092A (ja) * 2001-05-11 2002-11-22 Hitachi Ltd 情報関連付け方法、情報閲覧装置、情報登録装置、情報検索装置、課金方法、およびプログラム
US7219337B2 (en) * 2003-03-06 2007-05-15 Northrop Grumman Corporation Direct instructions rendering emulation computer technique
US7580350B1 (en) * 2004-03-30 2009-08-25 Extreme Networks, Inc. System for deriving packet quality of service indicator
US7852486B2 (en) * 2008-02-07 2010-12-14 Board Of Regents, The University Of Texas System Wavelength and intensity monitoring of optical cavity
US8605732B2 (en) 2011-02-15 2013-12-10 Extreme Networks, Inc. Method of providing virtual router functionality
CN112783556B (zh) * 2021-01-06 2023-04-07 南阳理工学院 信息处理方法、信息处理装置及终端设备

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3389380A (en) * 1965-10-05 1968-06-18 Sperry Rand Corp Signal responsive apparatus
US3401376A (en) * 1965-11-26 1968-09-10 Burroughs Corp Central processor
US3533075A (en) * 1967-10-19 1970-10-06 Ibm Dynamic address translation unit with look-ahead
NL6815506A (ja) * 1968-10-31 1970-05-04
US3821708A (en) * 1969-05-20 1974-06-28 B Sokoloff Electronic control unit for the linking of symmetrical closed chains of words in a random access memory
US3656123A (en) * 1970-04-16 1972-04-11 Ibm Microprogrammed processor with variable basic machine cycle lengths
GB1329721A (en) * 1970-05-26 1973-09-12 Plessey Co Ltd Data processing devices
US3916387A (en) * 1971-04-23 1975-10-28 Ibm Directory searching method and means
US3693165A (en) * 1971-06-29 1972-09-19 Ibm Parallel addressing of a storage hierarchy in a data processing system using virtual addressing
US3878513A (en) * 1972-02-08 1975-04-15 Burroughs Corp Data processing method and apparatus using occupancy indications to reserve storage space for a stack
FR2200988A5 (ja) * 1972-09-26 1974-04-19 Honeywell Bull Soc Ind
US3889243A (en) * 1973-10-18 1975-06-10 Ibm Stack mechanism for a data processor
US3916385A (en) * 1973-12-12 1975-10-28 Honeywell Inf Systems Ring checking hardware
US3891974A (en) * 1973-12-17 1975-06-24 Honeywell Inf Systems Data processing system having emulation capability for providing wait state simulation function
FR122199A (ja) * 1973-12-17
US3909798A (en) * 1974-01-25 1975-09-30 Raytheon Co Virtual addressing method and apparatus

Also Published As

Publication number Publication date
JPS5224053A (en) 1977-02-23
US4025901A (en) 1977-05-24

Similar Documents

Publication Publication Date Title
JPS603653B2 (ja) 内部プログラム式データ処理装置
US4130867A (en) Database instruction apparatus for determining a database record type
US4044334A (en) Database instruction unload
US4077058A (en) Method and apparatus for executing an extended decor instruction
US4024508A (en) Database instruction find serial
US4084228A (en) Process management structures and hardware/firmware control
US4084224A (en) System of controlling procedure execution using process control blocks
US4432051A (en) Process execution time accounting system
US4297743A (en) Call and stack mechanism for procedures executing in different rings
US4369494A (en) Apparatus and method for providing synchronization between processes and events occurring at different times in a data processing system
US4395757A (en) Process synchronization utilizing semaphores
US4042912A (en) Database set condition test instruction
US4394725A (en) Apparatus and method for transferring information units between processes in a multiprocessing system
US4316245A (en) Apparatus and method for semaphore initialization in a multiprocessing computer system for process synchronization
US4374409A (en) Method of and system using P and V instructions on semaphores for transferring data among processes in a multiprocessing system
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
US9043194B2 (en) Method and system for efficient emulation of multiprocessor memory consistency
EP0243892A2 (en) System for guaranteeing the logical integrity of data
JPS5939785B2 (ja) デ−タ処理装置
JPS5911943B2 (ja) デ−タ処理装置の為のトラツプ機構
JPH01503011A (ja) キャッシュマネッジメントシステムを含むデジタルデータ処理システム用汎用プロセッサユニット
US4351024A (en) Switch system base mechanism
US3735355A (en) Digital processor having variable length addressing
US4455604A (en) Digital data processing system having addressing means for translating operands into descriptors identifying data, plural multilevel microcode control means, and ability to execute a plurality of internal language dialects
Harman et al. The Motorola MC68000 microprocessor family: assembly language, interface, design, and system design