JPS603652B2 - デ−タ処理装置 - Google Patents

デ−タ処理装置

Info

Publication number
JPS603652B2
JPS603652B2 JP51071718A JP7171876A JPS603652B2 JP S603652 B2 JPS603652 B2 JP S603652B2 JP 51071718 A JP51071718 A JP 51071718A JP 7171876 A JP7171876 A JP 7171876A JP S603652 B2 JPS603652 B2 JP S603652B2
Authority
JP
Japan
Prior art keywords
address
memory
register
pointer
record
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
JP51071718A
Other languages
English (en)
Other versions
JPS522241A (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 JPS522241A publication Critical patent/JPS522241A/ja
Publication of JPS603652B2 publication Critical patent/JPS603652B2/ja
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/461Saving or restoring of program or task context
    • G06F9/463Program control block organisation
    • 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/953Organization of data
    • Y10S707/961Associative
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Executing Machine-Instructions (AREA)
  • Debugging And Monitoring (AREA)

Description

【発明の詳細な説明】 本発明は、コンピューターシステムに関し、特にデータ
ベースの動作領域における改良されたディジタルコンビ
ュー外こ関する。
電子計算機は、ハードウェアが主として真空管であるこ
とを特徴とする第1の世代から、ハードウェアがトラン
ジスタである第2の世代、ハードウェアが主として集積
回路である第3の世代へと進歩して釆た。
ハードウェアを異にするこれ等の各世代においては、ソ
フトウェアも世代を異にし、第1の世代のソフトウェア
は主に機械語とアセンブラ(アセンブリプログラム)と
サブルーチンを特色とし、第2世代のソフトウェアは高
レベル言語とモニターとマイクロアセンブラを特色とし
ていた。第3世代のソフトウェアは、オペレーティング
システムとオンライン実時間システムとマルチプログラ
ミングシステムとデータベース管理システムをその特色
としている。第1世代のソフトウェアと組合わされる第
1世代のハードウェア、および第2世代のソフトウェア
と組合わされる第2世代のハードウェアは、各ジョブが
主として直列的に実行されるバッチ処理に主に適用され
る。更に、第3世代のハードウェアノソフトウェアも又
バッチ処理向きであるが、マルチプログラミングの出現
の為、いくつかのジョブが直列的ではなく並列的に実行
出来、又入力情報が生成される際処理用の入力情報の受
信が可能である。第4世代のシステムは主として、広範
囲のプロセサ一の応用が可能な通信兼制御システムとし
て分類され、バッチプログラムによるよりも、情報提供
が一般にリアルタイムに行われる伝送されたデータによ
り主に起動される(即ち、オペレータの操作によるより
も主に入力によりシステム制御が行われる)。
コンピュータシステムの前記各世代の発達においては、
主な要件は、コンピュータシステムのデータベースをア
クセスする有効な方法の開発であった。
システムデータベースの開発における最初の成果は「各
用途の多くの異なるデ−夕べ−スの誕生であった。この
データベースが増加する結果、過大な記憶要件および冗
長なデータ記憶が問題となり、冗長なデータがある時は
1つの点で正確に、ある時は他の点で不正確に更新され
る事により問題を悪化させる事になった。これに対して
、1システムの多くのデータベースを単一のデー夕べ−
スに統合する事により問題を収拾する措置が講ぜられた
。ハネウエル社の統合データ記憶装置(IDS)はこれ
等諸問題を軽減する為に設計されたシステムの一例であ
る。この統合データ記憶装置は、データベース内でその
関連データをアクセスする為、例えば在庫管理システム
、内部監査手続きおよび給与台帳手続きにより使用し得
る1つの中央データベースからなっていた。この中央統
合データベースにおいては、いくつかの機能的需要に共
通の情報を記述する単一一のレコードがあった。例えば
、在庫管理および内部監査は倉庫における所定部品の数
をアクセスする。統合されたデータベースを使用する有
効な技法は、ソフトウェア技法を絶えず改善する事から
進進させられた。
「セット概念」は、各レコード間の関係に基ずし、て統
合データベースにおける各レコードのアクセスを可能に
する−技法である。この関係の一典型例としては、例え
ば製造部の如き特定の部における全従業員の如きものが
ある。製造部は、「オーナーレコード」と呼ばれるもの
により記述され、又その部における従業員は「メンバー
レコード」と呼ばれるものにより記述される事になる。
1つの部におけるメンバー関係の如き関係を記述するセ
ットは、次にオーナーレコードを介しアクセス出来、こ
のオーナーレコードはソフトウェアをして全てのメンバ
ーレコードを入手させ、こうして例えばその部における
全従業員を印書する。この進歩段階においては、統合デ
ータ記憶装置は、前述の純データ問題の中のあるもの、
即ち異なるデータベースにおける冗長データおよびレコ
ードの多重コピーを更新する問題を解決した。
この問題は単一のレコード‘こより解決され、従ってデ
ータ記憶領域サイズおよびデータの単一コピーの減少を
可能にした。データベースを使用する際の他の問題は、
性能城において依然存続している。このセット概念はコ
ンピュータを使用する新らしい技法を表わすものであり
、現在の中央処理装置には特殊なハードウェア命令は存
在しない。その結果、セットの最初のメンバーを見出す
如きセット動作は、加入、ロード、記憶等の如き一連の
標準的機械命令を介してソフトウェアで編成される事に
なる。この結果は、最初のメンバーの見出し、セット中
へのレコードの挿入、他のセット動作等の比較的簡単な
セット動作に対する長い実行時間となる。これ迄必要と
された事は、セット動作を用いる統合データ技法におい
て既に解決された如き従来からのデータの問題を解決し
たデータベースシステムと、実行時間およびその他のシ
ステムの性能パラメータに関する有効なデータベースシ
ステムであった。
これを行う為に、特殊なハードウェアノソフトウェアに
支持される諸命令がセット動作における補佐として必要
とされた。例えば、1オーナーレコードがメンバーレコ
ードを有するか、あるいは1レコードが特定のセットの
1メンバーとして挿入されるかをテストする単一の命令
は、従来の機械において同じ演算を行うのに必要な一連
の5乃至10の標準的機械命令よりも、はるかに少し、
時間で実行を可能にする事になる。本発明の主な目的は
、漸新な汎用ディジタルコンピュータの提供にある。本
発明の別の目的は、データベース管理動作が改善された
性能の汎用ディジタルコンピュータの提供にある。
本発明の更に別の目的は、オーナーレコードが特定のセ
ットにおいて現行のメンバーを有するか、1レコードが
特定セットの1メンバーであるかをテストするハードウ
ェア/ファームウエアの提供にある。
本発明の他の目的は、ユーザの命令数およびオペレーテ
ィングシステムのプログラムの命令数を減少する事にあ
る。
前述の諸目的は、相方が1つのセットディスクリプタを
フエツチし、1ベースレジスタBRに沿って1レコード
へのアクセスを可能にする一連のハードウェア/ファー
ムウェアの2つを提供する本発明の1実施態様を参照す
れば明らかとなろう。
「セット空テスト動作」の為、アクセスされたレコード
はオーナーレコードであり、このセットが現在これと関
連する何かのメンバーレコードを有するかを知る為にチ
ェックされる。「メンバー挿入テスト」の為には、アク
セスされたレコードは、これが特定のセットの1メンバ
ー(即ち、そのセットの一部)として現在挿入されてい
るかを知る為にチェックされる。本発明の特記すべき諸
特徴は、頭書の特許請求の範囲に特に記述されている。
然しながら、本発明自体については、前記以外の諸目的
および利点と共に、その構成および作用に関して以下の
記述を添付図面に関して照合すれば最も良く理解出来よ
う。1 解説 A 開示内容の範囲および構成 大規模なコンビュー外こおけるデータベースセット条件
テスト命令に用いられる装備構成は必然的に複雑なもの
である。
更に、本発明の内容は、読者がか)る装備構成特有の環
境について若干の知識がありさえすれば十分に理解出来
るものである。この理由から、本発明の原理が有効に用
いられ得るタイプの典型的な大規模データ処理システム
の全体的な構成について出来る丈簡単に説明しておく事
が望ましい。又、本発明がそれに塞く基本的概念につい
て先ず確認しこれを理解する事が望ましい。このデータ
ベースのセット概念は、主にプログラミングにおいてコ
ンピュータの発展史の大部分において広く使われて来た
いくつかの技法(表、リスト、チェーン、リング、ファ
イル、およびフィールドアレー)を統合するものである
(この概念は、データ構造セットがそのネームと多くの
特性を有する更に一般的な数学的なセット概念の特定化
である。本文における開示においては、「セット」なる
字句は常にデータ構造に関して用いられ、数学的な意味
ではない)多くのシステムは、ソフトウェアにおいての
みセット概念を支持する。
データベース管理域においては、ハネウエル社の統合デ
ータ記憶(IDS)システムは、複雑な製造業および銀
行業における諸問題を処理するセット概念の広範囲な使
用を開拓したものであった。IDSは、チェーン(リン
グ)形態のセット編成を用いるものである。これ等の基
本的概念は、ハードウェア/ソフトウェアにおいて編成
され、現存の機械に内蔵されて新らしい改良されたディ
ジタルコンピュータを構成するものである。セットは、
その自然界における関連部を密接に充当するデータ構造
の機成および記憶に必要とされる3つの補完的概念(レ
コード、フィールドおよびセット)の1つである。
もし自然界が、存在する実体、これを説明する属性、お
よびこれ等を関連付ける関係について考慮されるならば
、相当する情報システム概念とは、それぞれコード、フ
ィールド、およびセットである。学校と云う場において
考えられる簡単な例においては、実体とは教師および子
供達である。教師の属性のあるものは、「名前」、「学
年」、および「教室」である。子供達の属性のあるもの
は、「名前」、「年令」、および「両親の名前」である
。教師と子供達との間にはある関係がある。この様な自
然界の場における情報システムの1モデルにおいては、
2つのクラスのレコード(1方は教師、他方は子供達)
が形成される。各教師のレコード‘こおいては、1フィ
ールドは教師の名前、他は学年、他は教室の番号である
。各子供のレコードは、子供の名前、自分の年令、およ
び自分の両親の名前に対するファイルを有する。情報シ
ステムは、セット概念を編成する様に選択されたい〈つ
かの方法の1つで彼の教師のレコードに各子供のレコー
ドを結び付ける事が出来る。これは、物理的に全ての子
供のレコドをファイル中の彼等の教師のレコードアレー
の後に置く事によりなされ得る。これは表(テーブル)
又はレコードアレーと呼ばれる。本実施例は、セット概
念のチェーン(リング)編成技法を内蔵する。この形態
においては、オーナーレコードは最初のメンバーレコー
ドに対する1ポインターを含んでいる。各メンバーレコ
ードは、更にその後のメンバーレコードに対するポィン
タを含んでいる。このセットの最後のメンバーレコード
はオーナーレコードに戻るポインタを含んでいる。オー
ナーレコード、又はオーナーおよび全てのメンバーレコ
ードに対して、優先順位のレコードのアドレスおよびお
そらくメンバーレコードに対するオ−ナーレコードに対
するポィンタを保持する別のポィンタフィールドを支え
る多くの変更が可能である。前述の如きデータ構造のセ
ット概念は数学的なセット概念を骨子とするものであり
、即ちデータ構造におけるセットの定義は「オーナー」
ロールの場合に実体化されている。セットのメンバー関
係は「メンバー」ロールの場合に実体化されている。レ
コードは現在異なるセットのオーナーおよびメンバーと
して多くのロールを持ち得る。この特性は、実世界の複
雑さをモデル化する複雑な構造の構成および操作を可能
にする。数学的なセット概念の前記の選択においては、
定義としてオーナーからメンバーへ、あるいはいかなる
メンバーからオーナーへのいずれにも可逆的にセット定
義を再設定する事が出来る。データ構造セットに関して
は、このセット定義は通常オーナーレコード内のあるフ
ィールドの数値に基ずき、このセットにおけるメンバー
関係は潜在的なメンバーレコード内の相当フィールドの
適合数値によりコンピュータに再設定される。この現象
の利点は、屡々、適合するデータを有するメンバーレコ
ードからフィールドを除去する事により、又再構成の為
のオーナーレコードに依存して取入れられる。前記の学
校の例においては、教師は、教師/子供達のセットの「
オーナー」の役割を有するものとされた。
この事例を拡張する為、殆んどの学校におし・は教師と
子供との間の関係は単純な関係(1:n)ではなく、子
供達が異なる教課について異なる教師を持つから更に複
雑な関係である事が認識される。この教師対子供の複雑
な関係は、1つの新らしい関係の実体「生徒」と、2つ
の簡単な関係「教師対生徒」および「子供対生徒」に変
形される。教師は自分の総の生徒として多くの子供達を
持ち、生徒としては子供は多くの教師を有する。この新
らしい「生徒」の実体は、1つの関係の実体から他の実
体を記述識別する働きのある属性「教談」および「時間
」を有する。1人の子供はいくつかの教課に対して同一
の教師を有する。
このデータ構造のセット概念は4つの基本的な特性を有
する。
即ち、1 1つのセットは1つのレコードを常に1つの
みそのオーナーロールに有する。
2 1つのセットはメンバーロールにおいて零、1つ又
は1つ以上のレコードを有する。
3 どのレコードも同時に零、1つ又は1つ以上のセッ
トのオーナーであり得る。
4 どのレコードも同時に零、1つ又は1つ以上のセッ
トにおける1メンバーであり得る。
各レコードは、特定のセットの1メンバーとして唯一度
丈現われる。メンバーロールはオーナーロールと干渉し
ない。「次の」および「前の」の表示は、記憶プログラ
ムコンピュータにおける問題解決にとって基本的な手続
的算法(アルゴリズム)にとって重要な概念である。
一時に1つのレコードを取扱う手続上の制限に加えて、
もしセット内のメンバーレコードが予め定めたデータ数
値順のシーケンス則ち挿入時間順のシーケンス(Fび○
:先入れ先出し、又はLIFO:後入れ先出し)で送ら
れる場合、算法にとって更に重要な簡素化する結果が生
じる。「先」と「後」の表示は、データ算法の繰返し実
行の始動および停止にとって重要である。この様に「あ
るセットにおけるメンバーの順序は、セットの合理的な
操作に対して予定条件である。レコードをファイル中の
セットに関連させる主なモチベーションは、自然界の関
係をモデル化し、ある特定の関係を表わすファイル内の
選択されたレコードのアクセスを補佐する事である。
このセットアクセス法は、従来のアクセス法の中間に位
置しこれを補完するものである。これ等の方法を表1に
列記する。表 1 アクセス法 直接アクセス法 1つのレコードを検索データ
キーアクセス法 1つのレコードを検索セットオーナ
ーアクセス法1つのレコードを検索セットメンバーアク
セス法反復して使用、セットの各メンバーを検索ファイ
ル順次アクセス法 反復して使用、ファイル中の各レコードを検索最初の4
つのアクセス法は、特定のェンティティー、関連する実
体グループの記録状態を決定するか、又はその記録状態
を更新する必要がある取引き(トランザクション)およ
び照会処理に主として使用される。
ファイル順次アクセス法は、主として周期的なバッチフ
ァイル更新およびレポート生成の為に主として用いられ
る。必要に応じて、同じレコードを全ての5つの方法に
よりアクセスする事が可能である。同様に、これ等のア
クセス法を組合わせて使用して特定の作用を得る事も可
能である。前述の事例において、教師のレコードはデー
タキーアクセス法により検索出来、次に教師の全生徒の
レコードをセットメンバーアクセス法により検索出釆る
各生徒のレコードについては、子供のレコードはセット
オーナーアクセス法を用いて検索出来る。あるいは、検
索は、子供のレコードに対するデータキーアクセスで開
始し、次いで子供の生徒レコードの全てを、従って教師
のレコードを検索する。セットかち得た基本的な検索の
機会は下記の表ローこ示される。即ち、表0 各セットに用いられる1セットの基本的な動作がある。
これ等は、更に周知のレコードおよびフィールドにおけ
る基本的な動作を補完するものである。各セットにおけ
る基本動作の収集およびレコードとフィールド‘こ対す
る補完的な基本的動作は、ユーザがこれにより作業する
データをアクセス、修正、移動、削除等を行うハードウ
ェア/ファームウェア命令の収集である操作用設備とし
て知られるものを構成する。この基本的動作のプリミテ
イブ(即ち、ハードウエア/フアームウエア命令は、フ
ィールド(即ち、データ項目)、レコード、セット、お
よび手続き用ロジック制御に関する動作に再分割出来る
。下記のハードウェア/ファームウェア命令のグループ
は、フィールド内のデータの操作を行う。
実施されるべき1動作に必要なフィールド記述情報(例
えば、サイズ、ロケーション、記録モ−ド)は、動作に
関連するデータ記述の一部として保持されるものとする
。このグループに含まれる動作は、例えば移動、比較、
ハッシュ、加算、減算、乗算および除算等である。ハー
ドウェアノフアームウェア命令の下記のグループは、デ
ータの直接および直列アクセス処理の両方も行う。
これ等は、データレコ−ドの生成、その後の検索、修正
、テストおよび消去を行う。レコードのファームウェア
ノハードウェア命令は、レコード生成、レコード消去、
直援レコード発見、直列レコード発見「およびレコード
タイプテストである。セットのハードウェアノフアーム
ウェア命令の下記のグループは、従来のデータ処理の内
容、および進歩したデータベースおよびメッセージ管理
システム用のビルディングブロックを与える。
このハードウェア/ファームウェア命令は、レコード挿
入、しコード取出し、関連レコード発見(最初、最後、
次の、前の、i番目のレコード発見)、オーナーレコー
ド発見、セット空テスト、メンバー挿入テスト、オーナ
ーレコード開始、およびメンバーレコード開始である。
ベースレジスタのハードウエア/フアームウエア命令の
下記グル−プは、データベースのアクセスに対する現在
のプロセス状態の決定および修正を行う。
このハードウエア命令は、ベースレジスタのアンロード
、ベースレジスタの無効化であり、およびベースレジス
タをロードする前述の「発見一命令である。適用データ
ベースにおけるレコードを構成しかつこれをアクセスす
るのに使用されると同時に、セットは広範囲なシステム
のソフトウェアにおいても使用出来る。
以下の如く表に示すのは、システムのソフトウェアの領
域のリストで、各々に対してはセット概念の前記領域に
おけるある用途が列挙されている。このリストは明らか
な用途の例示と意図するもので、完全を期するものでは
ない。1 データベースシステム a インデックス構造(順序インデックスおよびランダ
ムインデックス)b データ記述構造 c 共用アクセス制御リスト d プロセス応答性構造 2 フアイルシステム a ,カタログ構造 b アクセス権制御 3 メッセージシステム a メールボックスインデックスの構造 b 待合わせ(Queueing)メッセージc アク
セス用マルチエレメントメツセージ4 プログラミング
システムa 制御用プログラムライブラリ b テキスト編集 c プログラム制御構造 d 結合の為の符号基準および符号定義構造e コンパ
イル用中間プログラムフオーム5 オベレーテイングシ
ステム a ジョブのキー b 資源割当て表 c デッドリ・ェンプレース(embrace)検出d
事象(イベント)待ちプロセスのキュー(入出力完了
、タイマー)e キューのデイス/ぐツチ 1 一般的論議 本発明は、主として1つのオペレーティングシステムに
より関連付けられた以下に記述するハードウェアシステ
ム環境において作用を有するものである。
第1図において、サブシステムは、プロセサーサブシス
テム101、記憶装置サブシステム102、および1個
以上・…・・32迄の周辺装置サブシステム103であ
る。プロセサーサブシステムは、中央処理装置(CPU
)104と、4つの入出力制御装置(IOC)105と
を有する。各周辺装置サブシステムは、周辺装置制御装
置(PCU)106と、多数の装置アダプタ(DA)1
07と、25針固迄の周辺入出力装置108を有する。
記憶装置サブシステム102は、各32乃至512キロ
バィトの1乃至4つの半導体メモリーモジュールからな
る。プロセサーサブシステム10において、CPUI0
4は、システムに対して基本的な処理動作を行い、メモ
リー102とインターフェースする。
IOCI05は、記憶装置サブシステム102と周辺装
置106間の全ての情報交換を制御する。A 汎用処理
装置 CPUは、主メモリーシンクロナィザ109と、バッフ
ァー記憶装置110と、計算装置111を構成する各種
要素と、任意のエミュレーション設備112とを含む。
王〆モリーシンクロナィザ109は、計算装置111と
、バッファー記憶装置110とIOCIO9の間で主メ
モリーを使用する為の重複を解決する。この重複は、I
OCがメモリー書込み(計算装置から)が、次いでメモ
リー読出し(バッファー記憶装置へ)が後に続く最も高
い優先順位を有する如き刀頂位に塞き解決される。主C
PUは又、主メモリーのアドレス指定を制御するアドレ
ス制御装置ACU131と、主メモリーの最後に使用さ
れたアドレスを記憶するのに使用される連想メモリーA
S132とを含む。バッファー記憶装置110は、主メ
モリーの選択された区域を再生する小形の高速バッファ
ーメモリーであり、計算装置とインターフェースして平
均メモリーアクセス時間を減少する。各メモリー議出し
の間、バッファー記憶装置と主メモリーの相方がアクセ
スされる。もしフヱツチされるべき情報が既にバッファ
ー記憶装置にある場合は、主メモリー読出しは終了され
て情報がバッファー記憶装置からフェツチされる。
さもなければ、主メモリー102が説出される。これが
行われる毎に、CPUI04は、所望の情報を含む32
バイトをフェッチする。この情報は、将来のメモリー照
合用にバッファー記憶装置に残留する。バッファー記憶
装置はソフトウェアかから透明の為、いかなる時点でも
コンピュータを制御するプログラムは、コンピュータが
処理中の情報がバッファー記憶装置又は主メモリーのい
ずれからフェッチされたかを決定出来ない。計算装置1
11は、CPU内の全てのデータ処理およびアドレス生
成を行う。
計算装置内の典型的な制御記憶装置130(「マイクロ
プログラミング、その原理と実際」S.S.ハッソン(
日鵬son)著、プレンティスホールInc.刊を参照
)は、システムを初期設定するファームウェアを含み、
CPUI04とIOCI05を制御し、命令セットをデ
コードする。制御記憶装置は、選択自在に科学計算用命
令、テストルーチン、エミュレーション/ぐンケージ、
又はプロセサーサブシステムの能力を拡張する特殊目的
の諸特徴を与える事が出来る。
1選択例として、CPUは、本システム以外の諸システ
ムのエミュレーションを行う。
エミユレータ112は、フアームウエア、は、フアーム
ウエア、ソフトウエア、あるいはある場合はハードウェ
アの構成要素である。
B 入出力制御装置 プロセサーサブシステムのIOCI05の部分は、任意
の周辺装置サブシステム103と記憶装置サブシステム
102間のデータ経路を提供する。
この経路は、周辺装置の指令の開始を許容し、その結果
データ転送を制御する。IOCは多くの場合32チャン
ネル迄の制御装置(図示せず)を取扱う。C 周辺装置
サブシステム 第1図における周辺装置サブシステム103において、
CPUI06は、入出力動作の間入出力装置108を制
御する事により、CPUI04のロードを軽減する独立
のマイクロプログラミングプロセサである。
このPCUは、チャンネルプログラムに保持される命令
の実行により前記動作を行う。
このプログラムは、PCUで実施される算術的、論理的
演算、転送、シフト、およびブランチ動作を生じる。こ
れ等は、ユニットレコード、大容量(ディスク)記憶装
置、磁気テープ、通信等をそれぞれ制御する装置の種類
により、PCUにはいくつかの種類がある。
装置アダプタ107は、各PCUとこれが制御する諸装
置間を連絡する。
その各々は、特定のタイプの装置との通信を編成するの
に必要な専用のファームウェアとロジックを含んでいる
。タイプに従ってDAI07は1つ又はいくつかの装置
を制御する。周辺装置サブシステム103により実施さ
れる主な機能は次の如きものである。
I CPU命令を直列の周辺装置に対する変形2 CP
U又は適当な周辺装置により必要とされる形態のデータ
のバックおよびアンパツク 3 サブシステムの状態およびその制御下の諸装置のC
PUに対する情報提供4 エラーおよび回復手続の独自
の開始および処理5 関連する周辺プロセサの装置分割
能力を損う事のない1装置のオンライン診断の許容 CPUは、各装置間の主メモリーに対する重複使用を解
消するが、IOCはPCU間の重複使用を解消する。
D 記憶装置サブシステム 各メモリーモジュール1〜4は4又は8バイトの中を有
する。
モジュールの数、サイズ、およびデータ経路中は、コン
ピュータのサイズに従い変化する。
メモリーモジュールは、4つのモジュールが逐次アクセ
スされる様に4重にインターリープされる(モジユール
ーは最初の8バイトを有し、モジュール2は2番目の8
バイトを有する等)。インターリーブにより、主メモリ
ーに対するアクセスに対する重複回数を減少し、この為
平均メモリーアクセス時間を短縮する。メモリーは故障
の場合に再構成出来る。即ち1モジュール内のメモリー
の各プロッ外ま、隣接するアドレス指定を破壊する事な
く取外し可能である。
王〆モリー102は、金属酸化膜半導体 (MOS)チップの形態の容量の大きな記憶媒体からな
る。
この媒体は、情報を維持するりフレッシュ原理に基いて
動作する。各メモリーロケーションは、少くとも各2ミ
リ秒毎に1回りフレッシュされるのが典型例で、この設
計によりリフレッシュタィミングとメモリーアクセス間
の重複使用が少〈なる。(重複した場合、リフレッシュ
作用が磯先する。)主メモリーの最初の領域は、ハード
ウェアとファームウェアの為にリザーブされる。
この領域の上限は、システムのソフトウェアが判る境界
アドレスレジスタ(BAR−以下に記述)の内容により
規定される。BARの内容はシステムの初期設定時間に
セットされる。
BARにおいて指定されたアドレス下のメモリー領域は
IOC表を包含出来、この表は、周辺装置サブシステム
、CPUを制御するファームウェア、又はエミュレーシ
ョンの為のマイクロプ。
グラムと表の構成を規定する。BARにおいて指定され
たアドレス下方の領域のサイズはシステム形態に依存す
る。マイクロプログラムが主メモリー又は制御記憶装置
にあるかどうかはシステムの形態に依存し、アプリケー
ションはシステムにおいて実行する。
2 基本的機械の構造 このハードウェアに使用される基本的データ構造には主
として3つの構造がある。
即ち、データフオーマット、ソフトウェア識別レジスタ
および命令フオーマットである。A データフォーマッ
ト 情報は、8つの並列のビットの倍数毎にメモリーとCP
U間に転送される。
情報の各8ビット単位をバイトと呼ぶ。パリティ則ちエ
ラー訂正データも又データと共に転送されるが、ソフト
ウェアの影響は与えられない。従って、本文においては
、ターム(te血)データは関連するパリティ即ちエラ
ー訂正データを除外する。Bバイト 1バイト内の各ビットは左方から右方に0から7迄番号
を付されている。
バイトは別個又はグループで処理される。2つのバイト
は半ワード、4バイトは1ワード、8バイトは2倍ワー
ド、1んゞィトは4倍ワ−ドを構成する。
これ等は命令を含む全データに対する基本的フオーマツ
トである。C データの表示 全てのデー外ま、2進法であるが、2進法か、1坊隼法
か、あるいは英数字かに解釈出釆る。
データビットは、2進化1G隼数データとしての4か、
英数字としての8か、2進数として16乃至64のグル
ープに解釈される。後者は、符号を付した固定小数点又
は浮動小数点2進数として解釈される。2倍ワード迄の
隣接するビットのどんな数も又ストリングとして操作さ
れる。
英数字形態のセットは、拡張2進化1伍隼コード(EB
CDIC)で表示される。情報交換用米国標準コード(
ASCII)は、これに代る交換コードとして認められ
ている。D /ゞイトアドレス 主メモリ、におけるバイトロケーションは零で始まる連
続番号を付され、各番号はバイトのアドレスである。
連続バイトのグループは、1グループにおける残るバイ
トのアドレスがそれぞれ2、4、8、又は16の倍数で
ある場合、半ワード、ワード、2倍ワード、又は4倍ワ
ードに位置合せされるものと云われる。半ワード、ワー
ド、2倍ワード又は4倍ワードがこの様に位置合わせさ
れている為、このアドレスから単位がフェツチされ得る
。主メモリーにおけるデータのロケーションは、アドレ
ス生成の間間接にアクセスされるデータディスクリプタ
により指定される。(本願と同じ該受人に譲渡された「
セグメント化されたアドレス生成法」なる名称の米国特
許第39紙096号参照)E ビジブルレジスタ(Vi
sibleregstar)その内容がCPUの状態を
総合的に規定する第1図のCPUI04においては、3
3のユーザービジプルレジスタがある.。
これには4つのタイプがある。(第2図参照)則ち、1
汎用レジスタ2 ベースレジスタ 3 科学計算用レジスタ(選択) 4 各種のレジスタ F 汎用レジスタ 第2図の汎用レジスタ(GR)201は、固定小数点2
進数とビットストリングを操作する為に使用される。
CPUI04には多くの場合1針固の32ビット汎用レ
ジスタ(GRO〜GR15)がある。汎用レジスタGR
8乃至GR15も又インデックスレジスタとして使用可
能である。インデックスレジスタとして使用される時に
、これ等のレジスタは本文中では×0乃至X7と呼ばれ
、ィンデキシングは、レジスター内に保持された32ビ
ットの2の補数の整数を用いて行われる。G ベースレ
ジスタ ベースレジスタ(BR)は、命令カウンタ(IC)とス
タックレジスタ202〜203と同じフオーマツトを有
する。
ベースレジスタは、アドレス計算の間使用されてメモリ
ーの一部を規定する。多くの場合、8つの32ビットの
ベースレジスタBRO乃至BR7がある。H 科学計算
用レジスタ科学計算用レジスタ(SR)は、浮動小数点
2進数を用いる演算の為の選択可能な装置である。
多くの場合、SRO乃至SR3と表示される4つの8バ
イトの科学計算用レジスタがある。1 各種のレジスタ この他に下記の5種類のレジスタがある。
即ち、 o命令カウンターフオーマツト202〜203を有する
o状態レジスターフオーマット207を有する。
0フタツクレジスタ(Tレジスタと呼ばれる) o境界アドレスレジスターフオーマット202〜203
を有する。
oハードウェア制御マスクレジスターフオーマツト20
8を有する。
前記の命令カウンタ(IC)は、実行される命令のアド
レスを含む32ビットのレジスタである。
状態レジスタ(STR)207は、現在実行中の手続き
に関する事実の記録、例えば最も後の動作によりアンダ
ーフローが惹起されたかどうかを記録する8ビットのレ
ジスタである。Tレジスタとしても知られるスタックレ
ジスタは32ビットのレジスタで、現在使用中の手続き
と関連したプッシュダウン方式のスタックの先頭部に対
するポィンタを含む。以下に記述するスタックは、作業
スペースと、局部変数を保管し手続きェントリを保持す
る為の機構とを提供する。境界アドレスレジスタ(BA
R)206は28ビットのレジスタで、ソフトウェアに
よりアクセス可能な最下位の絶対主メモリーアドレスを
指定する。このレジスタはシステムの初期設定の間ロー
ドされて、ソフトウェアによってのみ講出しが可能であ
る。ハードウェア制御マスクレジスタ208は8ビット
レジスタで、機械の状態情報を記録する。J 命令フオ
ーマット いずれ使用される命令は約200ある。
各命令は、4つの異なる長さの1つを有するが、常に偶
数バイト長さである。各命令は連続的な記憶ロケーショ
ンに記憶されている。最も左方のバイトのアドレスは2
の倍数で、その命令のアドレスである。命令の8つの最
上位のビット(およびある場合には、ビット8乃至11
、又はビット12乃至15)は演算コードを表示するが
、残りのビットは1つ以上のオペランドを表示する。
1つのオペランドは、レジスターデジグネータ(des
ig雌tor)、変位デジグネータ、アドレスシラブル
(論理的アドレス)、リテラル数値、即値リテラル数値
であり得る。
オペランドのタイプおよび数は命令フオーマツトにより
決定される。3 システム構成 A ジョブステップおよびタスク コンピュータシステムにより実施される作業は、ジョブ
制御用言語を介して一連のジョブステップにより外部で
規定される。
ジョブステップは、ハードウェア資源が割付けられる一
単位の作業である。多くの場合、1ジョブステップはい
くつかのタスクからなる。1タスクは、並行する事ない
こ実行される命令の流れからなるユーザの規定する作業
の最4・単位である。
B プロセス タスクおよびジョブステップのユーザの観点の概念は、
それぞれ1プロセスおよびプロセスグループによりハー
ドウェアにおいて表示される。
1プロセスは、CPUにより非対称的に実行出来る順序
を付した命令シーケンスとして定義される(即ち、いく
つかのフ。
。セスが使用され資源を共用するが、実際にはいかなる
時点でも唯一つのプロセスが実行されている)。プロセ
スグループは、1ジョブステップの実施に必要な関連す
るプロセスのセットである。C プロセス制御用ブロッ
クおよびシステムベース各プロセスはその実行中多くの
地点において、CPU制御を停止出来、主メモリーの記
憶領域はCPUの状態を保管する為1プロセスに利用可
能となる。
この状態情報は、1プロセがCPUの制御を再開する以
前にCPUを予め条件設定するのに使用される。1プロ
セスに割当てられた記憶領域は、第4図でプロセス制御
ブロッ.ク(PCB)と呼ばれる。
PCB内に含まれるデータは、プロセスに割当てられた
メモリー領域のアドレス(アドレススペース)と、全て
の関連するレジスタの内容と、プロセスの状態とを含む
。この様に、PCBは、情報のロスないこ1プロセスを
開始又は再開するのに必要な情報の為の一時記憶領域と
して作用する。各PCBは、ハードウェアに対して判別
可能で、システム初期設定の間生成されシステム演算の
間修正される1セットのハードウェア表を介してオペレ
ーティングシステムによりアドレス指定可能である(第
5図)。システムベースと呼ばれる絶対主メモリー領域
がある(第5および6図)。
この領域は、ファームウェアにより生成され、議出しは
出来るが書込みは出来ないベースアドレスレジスタ(B
AR)50 1を介してアクセス可能である。
このシステムベース502は、現行プロセスに対するそ
れぞれジョブステップ数およびプロセスグループ数(J
.P)を合む多数のシステム属性を含む。このシステム
ベースにおける別の属性は、J表503として知られる
ハードウェアの規定したデ−夕機造に対するポィンタで
ある。この表は、システムに現存する各ジョブステップ
に対するェントリを含む。J表503における各ェント
リは、これも又ハードウェア規定のデータ構造である関
連P表を指示する。この表は、プロセスグループを規定
し、このプロセスグループ中の各プロセスに対するェン
トリを含む。
各P表ェントリはPCB400を指示する。第5図にお
いて、計算装置111(第2 図)の算術演算部分506を介してJ値によりインデッ
クスされたJ表ポィンタ505は、J表ェントリ503
に対するアクセスを行う。
このェント川ま、計算装置506を介してP値によりイ
ンデックスされる時、P表ェントリ504に対するアク
セスを行うP表ポィンタを含む。このP表工ントリは、
現在実行中のプロセスのPCBに対するポィンタ507
を含む。この様に、オペレーティングシステムは、BA
R501の内容を用いて能動PCBをアクセス出来、又
その関連する(J.P)論理ネームを与えた他のいずれ
かのPCBをアクセス出来る。D メモリーセグメンテ
ーション 本文に記述した様なマルチプロセス環境においては、あ
る時点において多くのプロセスがメモリー内に存在する
これ等のプロセスは、サイズが様々で、メモリー割付け
問題を生じるようなメモリー要求をする。1オペレーテ
ィングシステム(本文では示さず)と関連して本文に記
述されたハードウェアは、メモリ−スペースを動的に割
付ける事によりこの問題を解決する。
メモリー要件のランダム性の為、メモリーは多種のサイ
ズのセグメントで割付けされ、このメモリー割付けはプ
ロセス実行時間中再構成出来る。この様に、1プロセス
は多くの非隣接メモリーセグメントで割付け可能である
。このメモリー割付け法は、セグメンテーション呼ばれ
る。セグメンテーションは、別の問題を提起する。
即ち、この場合1プロセスの一部又は全部が再位置指定
される時は常にメモリーアドレスが修正されねばならな
い事である。この問題を防ぐ為、本文に記述したシステ
ムは、これによりプロセスにより使用されたアドレスが
絶対主メモリーアドレスではなく局部アドレスである如
き一技法を提供する。これ等の局部アドレスは絶対アド
レスを生成する為に使用される。又、セグメンテーショ
ンによれば、各プロセスは、セグメントデイクリプタの
システムを介してそれ自体又は関連するメモリーシステ
ムをアクセスする事が可能になる。
セグメントディスクリプタをアクセスする事により、プ
ロセスは1セグメントのアドレスを得る事が出来る。
セグメントディスクリプタは、主メモリー中に含まれ、
オペレーティングシステムにより維持される。
各プロセスは、206母迄のメモリ−セグメンをアクセ
ス出来る。
通常、この為にはプロセス当り同数のセグメントディス
クリプ夕を必要とする。然しながら、セグメントは共用
出来る為、オペレーティングシステムは、セグメントデ
ィスクリプタをセグメント表に分類する。このグループ
分けは、1プロセス(タスク)、プロセスグループ(ジ
ョブステップ)によるアクセス能力か、又は全体的(シ
ステム全体)なアクセス能力に基ず〈。
各プロセスは、これと関連する15室のセグメント表を
有する事が出来る。この技法には、セグメント表を介し
てプロセスによりクセス出来る各セグメントに対する1
セグメントディスクリプタによりアクセス出来る各セグ
メントに対する唯1つのセグメントディスクリプタが必
要であるに過ぎない。この様に、セグメントディスクリ
プタに必要なメモリースペースは減少し、再位置指定の
間更新するメモリーは減少し、あるプログラム保全効果
が得られる。(プログラム保全の為の主な機構はリング
システムである。本願発明と同じ該受人に譲渡された、
「リングチェックハードウェア」なる名称の米国特許第
3916385号を参照プロセスは、それがアクセスす
る事が出来るセグメントがどれかを決定する事が可能で
なければならない。
従って、このシステムは2つのセグメント表ワード配列
(STWA)をプロセスに与える。これ等の配列は、プ
ログラムにアクセス可能な全てのセグメント表のアドレ
スを含んでいる。大小2つのセグメントサイズがある為
、プロセス毎に2つのセグメント表ワード配列がある。
大きなセグメントは最大サイズがそバイトであるが小さ
なセグメントは最大サイズが〆6バイトである。
全てのセグメントは、サイズが1&ゞイト宛増大して前
記の最大サイズ迄変化する。1システムは、多くの場合
28の大形セグメントおよび2040の小形セグメント
迄収容出釆る。
セグメント表ワード配列は、オペレーティングシステム
により再位置指定が出来、従って1プロセスはその関連
するSTWAの絶対アドレスを知らねばならない。
どのプロセスに対するPCBも2ワードを含み、この2
ワードは、第4図のアドレススペースワードASWO〜
1として知られるこの情報を含む。
各ワードは、セグメント表ワード配列STWAを指示す
る。
演算中のシステムは、関連するSTWAが再位置指定さ
れる時は常にASWの内容を更新する。ポィンタのチェ
ーンに沿って作業を行いかつセグメントディスクリブタ
をデコードする事がファームウェアの機能で、これが一
たん開始されると、オペレーティングシステムさえも判
別出来ない。
セグメンテーションは、プロセスに利用可能なものとし
て2億バイト以上のアドレススペースを規定する。
この数は主メモリーの容量を超過し、従って2次記憶装
置(磁気ディスク、又はドラム)が主メモリーと関連し
て使用される。このオペレーティングシステムは、シス
テムが実際に利用可能であるよりも遥かに大きな主メモ
リーを有する如き錯覚を与える。この概念は、仮想メモ
リーと呼ばれる。いかなる時にも、規定されたセグメン
ト は、物理的に主メモリーにある場合とない場合とがある
セグメントディスクリプタの内容は、関連するセグメン
トが主メモリーにあるかどうかを表示する。ハードウェ
アは、主メモリーにないセグメントをアクセスするブロ
セスによりどんな試みも検出してオペレーティングシス
テムに通知する。オペレーティングシステムは所要のセ
グメントを2次記憶装置から主メモリーにロードさせる
。次いで、オペレーティングシステムは、セグメントの
絶対アドレスを見出し得る唯一の場所であるセグメント
ディスクリプタに、セグメントのメモリーアドレスをお
く。
この動作はプロセスに対して判別出来ず、この為セグメ
ントが主メモリー内になかったか、又は主メモリー内に
再位置指定されねばならないかが判らない。(メモリー
セグメンテーションの詳細については、「セグメント化
されたアドレス生成」なる名称の米国特許出願第393
8096号を参照せよ)本文に述べたコンピュータシス
テムは、プロセスが相互に干渉しない様にさせるか、違
法の方法で相互のアドレススペースを共用する事により
、データおよび手続きの保護を行う。
この保護は、メモリーセグメンテーションを介してアド
レス指定能力を制限する事により、又リングシステムに
より達成される。各セグメント表は、システム中の各種
プロセスのアドレススペースを隔離(保護)する。
各プロセスは常に実行中セグメント化されたアドレスを
使用する。セグメント化されたアドレスは、セグメント
内のセグメント数と相対アドレスからなる。(前記の「
セグメント化されたアドレス生成」なる米国特許参照)
ハードウェアは、プロセスにより使用されるアドレスが
、プロセスに割当てられたアドレススペースの一部であ
る事をチェックする。もしこのアドレスが予定されたア
ドレスの外部にある場合は、実行が行われる。プロセス
は、ハードウェアが参照するプロセスのセグメント表を
用いる為、別のプロセスのアドレススペース内のデータ
を参照する事が出来ない。この様に、1プロセス又はプ
ロセスグループにとつて、別のプロセスグループに属す
るェンティティーを参照する可能性はない。一般に、シ
ステム中のアドレススペースにおける重複は、全てのプ
ロセスにより共用されるこれ等セグメントについて生じ
る。
これ等の公用セグメントは、アドレスの重複が生じない
様にする為チェックするシステムプログラムによって生
成される。この様に、セグメンテーションは、相互に対
してユーザプログラムを保護し、ユーザプログラムに対
するオペレーティングシステムを保護する。いくつかの
プロセスにより共用されるセグメントは、これ等のプロ
セスの1つによって誤用から保護されていない。
この問題を解決する為、リングシステムが用いられ、こ
れにより手続きおよびデータセグメントが4つのクラス
の階層に分類される。この4つの1」ソグクラスは、0
乃至3迄番号を付される。各リングは、システムの特権
レベルを表示し、レベル0(最も内側のりング)は最上
位の特権を有し、レベル3(最も外側のリング)は最下
位の特権を有する。システムにおける各手続きは割当て
られた最小および最大実行リング番号を有し、これがど
れがこの手続きを呼べるかを示す。手続きは、他の手続
きを呼び、かつこれに対してパラメータを送る事が出来
るサブルーチンである。リングシステムの一般的規則は
下記の如くである。
1 内側のりングにおける手続きは外側リングにおける
データに対する自由なアクセスを有する。
逆に、外側のリングの手続きは内側のりングのデータの
アクセスは出来ない。
2 外側のリング内の手続きは内側のりングの手続きに
ブランチ出釆るが、その逆は出来ない。
3 データを含む各セグメントは、2つのりング数値を
割当てられ、その1つは講出し用(RD)、他の1つは
書込み用(WR)である。
これ等のIJング数値は、議出し又は書込みモードのい
ずれかでデータをアクセスする時1手続きが実行可能な
最大リング数値を指定する。
1つの手続き命令が実行される毎に、手続きのりング番
号(有効アドレスリング EAR)が、参照されたデータを含むセグメントに割当
てられたりング番号に対しチェックされる。
このEARは命令カウンタにおけるプロセスリング番号
、およびアドレス指定経路に見出されるベースレジスタ
およびデータディスクリプタにおける全てのりング番号
の最大数である。データに対するアクセスは、リング番
号の比較に基づいて許容又は拒絶される。
例えば、もしシステム表が、3の最大議出しリング数値
と1の最大書込みリング数値とを有するセグメント内に
存在するならば、次にリング3で実行するユーザ手続き
はその表を謙出せるが、これを更新する事は出来ない。
事前設計によってリング0と1はオペレーティングシス
テムに対しリザーブされ、リング2と3はユーザ用にリ
ザーブされる。
リング0は、全システム演算に対して重要なこれ等のセ
グメントを含む。リング1はシステムのセグメントの群
を含んでおり、その故障は破壊的なものではなく回復可
能である。ユーザは、チェックアウトプログラム用にリ
ング2を、又手直しされるプログラム用にリング3を使
用出来る。F 手続き呼出し この手続き呼出し‘ま、本文に記述するシステムにおい
て重要な機能である。
手続き呼出し‘ま、1つの手続きから他の手続きへ切換
える為、又ユーザ手続きにオペレーティングシステムの
サービスを行わせ、かつオペレーティングシステム内の
モジュラー構造を得るのに用いられる。手続き呼出しは
、各命令と、スタツク(第7A図)と呼ばれるハードウ
ェアが識別したェンテイテイーとにより行われる。スタ
ックは、後入れ先出し方式に基ずし、てデータを受入れ
、記憶し、かっこのデータの検索を許容する。
スタックは、スタックセグメントと呼ばれる特殊なセグ
メントに存在する。スタツクセグメントは、各手続きに
対して動的に割付けられるスタックフレーム701(第
7Aおよび7B図)と呼ばれる多数の隣接する部分から
なる。最初のスタツクフレームはセグメントの先頭部に
ロードされ、続くフレームはその後にロードされる。最
後にロードされるフレームは、スタックの先頭部と考え
られる。Tレジスタ702は、現在演算中のプロセスに
対するスタツクの先頭部を位置指定する。仮想Tレジス
外ま、システム中の他の全てのプロセスのPCBに存在
する。第TB図のスタックフレーム701は、次の3つ
の領域からなる。
即ち、変数を記憶する作業領域702と、レジスタの内
容を保管する保管城703と、パラメータを各手続き間
に送る連絡城704とである。手続き呼出しに先立ち、
ユーザは、保管する事を望み、かつ呼出した手続きに送
られるべきパラメータを連絡城にロードしなければなら
ないこれ等レジスタを指定しなければならない。呼出し
が行われる時、ハードウェアは、命令カウンタICと、
指定されたベースレジスタの内容を保管して呼出された
手続きからの戻し動作を容易にする。各手続き呼出し‘
まスタックセグメント701内のスタックフレームを生
成し、続いてネスト(nest)された呼出しは別のフ
レームを生成する。
これ等の呼出された手続きの1つからの各出口は「スタ
ックフレームをそのスタックから削除させる。この様に
、呼出しの履歴が保持されて正規順序の戻し動作を容易
にする。異なるリングにおいて実行される手続間の保護
を確保する為、異なるスタツクセグメントが用いられる
プロセス当りの各保護用リングに対応する1つのスタツ
クセグメントがある。PCBは、このプロセスに関連す
るりング0,1,2に対してスタツクセグメントの開始
を指示する3つのスタツクベースワードを含んでいる。
このリングの3つのスタツクセグメントは内部呼出しに
よりェントリされ、従ってその開始アドレスはPCBに
求められない。
4 プロセス管理および同期本文におけるシステムは、
ソフトウェア、ハードウェアおよびファームウェアの組
合わせを用いて、オペレーティングシステムにより制御
されるマルチプログラミング動作を与える。
ソフトウェアはシステム内でプロセスを生成しかっこれ
を削除するが、ハードウェアおよびファームウェアは、
CPUの各プロセスを多重化する。更に、ソフトウェア
、ハードウェア、およびファームウェアの組合せは、各
プロセス間の同期を行う。各プロセスは、常にではない
が通常入出力演算の開始および終了時、関連ジョブの取
扱いの間、およびオペレーティングシステムにとって必
要と思われる諸目的の為の他の場合に起動され停止され
る。
従って、連絡システムは、関連プロセスを有効に始動捜
しかつそのプロセス間に情報を送る必要がある。本文に
おけるハードウエアシステムは、セマフオア(sema
phere)と呼ばれる内部メッセージを与えて各プロ
セス間の連絡リンクを提供する。A プロセス状態 プロセスは、いかなる場合も4つの可能な状態の1つに
ある。
即ち、実行、作動可能、待機、又は停止である。このハ
ードウェアは、これ等の4つのプロセス状態を識別して
、各種のファームウェア手続きを実行し、プロセス状態
に応じてプロセスディスパッチング、状態の変更、およ
びデータ構造の維持を行う。
PCBは、その関連するプロセスの現在の状態を規定す
る状態フィールドを含む。プロセスがCPUの制御を受
ける時は実行状態にある。
この状態は、CPUに対してアドレススペース(セグメ
ント表)と始動アドレスとを供給する事を含む。次いで
、CPUはプロセスの手続きセグメントにおける諸命令
を実行する。現在実行中のプロセスに対するPCBのプ
ロセスネームJ表ワード(論理的アドレス)は、システ
ムベース内の実行プロセスワ−ド(BAR十60)に保
持される(第6図)(注、第5図に示すシステムベース
は第6図に示されるものと同じであるが、ある細かい部
分は省略する)作動可能状態は、プロセスがCPUによ
り識別されなかった為、CPUの制御を受けない点を除
いて実行状態と同じである。
作動可能状態のプロセスは、他の作動可能プロセスおよ
び実行中のプロセスとCPUに対し競合状態にある。プ
ロセスは、これがセマフオアを介するメッセージの如き
特殊事象が生じる迄持続出来ない時、待機状態にある。
待機中のプロセスはCP川こ対して競合状態にはないが
、所要の事象に対しては他の待機中のプロセスと競合状
態にあり得る。停止されたプロセスとは、ソフトウェア
によりある時間停止されたが後に再開出来るプロセスで
ある。
プロセスを停止し再開する決定は、プロセスに対して外
部からのものである。この様に、停止されたプロセスは
、作動せず、従って事象の発生の通知を受けられず、C
PUを使用出来ない。
プロセスは、下記の諸条件下で停止され る。
即ち、‘1’ 終了命令の実行による(全ての機能の完
了の結果)【21オペレーティングシステムによる停止
命令の実行による‘3} 例外条件の発生により制御が
オペレーティングシステムに転送される事によるB プ
ロセスデイスパツチング 各プロセスは、実行中はプロセスの作用により任意に1
つの状態から他の状態に転移するが、他の各プロセスの
作用によっては自動的に移転する。
ディスパッチャとして知られるCPUのファームウェア
は、各状態間のプロセスのトランザクションを制御する
。ディスパッチャは1セットのキュー(以下に記述)を
用いて作動可能および待機状態にあるプロセスを操作す
る。
停止プロセスはソフトウェアにより制御される。第6,
8および9図において、作動可能又は待機中のプロセス
は、PCBおよびプロセスリンクと呼ばれる特殊なキュ
ーェントリにより表示される。
第9図は、GOセグメント802の内容を展開したもの
で、能動プロセスのプロセスリンク803a〜803b
,803c〜803g、および停止プロセスの自由プロ
セスリンク805a〜805cを含んでいる。各プロセ
スリンクは、プロセスネーム(J、P)と、プロセスの
優先順位と、キュー内の次のプロセスリンクに対するポ
インタを指示する。これには、待機キュー803a〜b
や作動可能キュー803c〜803gの如き各種の型の
キューがある。G表(第6および8図)として知られる
J表に似たハードウェア装置は、全ての汎用(システム
規模の大きさとして知られる。
)セグメント802〜802nに対するポィンタを含ん
でいる。G表801の最初の要素GOは、ディスパッチ
ャキューを含む前記セグメント802を指示する。G表
801に対するG表ポィンタは、第5図のシステムベー
ス502において見出される。システムベースには、又
GOセグメント802の作動可能キュ−803c〜80
3gのヘッド805を識別する内部のプロセスキューワ
ード(IPQW)と呼ばれるェントリがある。この様に
、ディスパッチャは、作動可能キュー803c〜803
gを検討する事により全ての作動可能プロセスを検査出
来る。
現在実行中のプロセスがその状態を変える時、デイスバ
ッチヤは、作用可能キューのヘッド‘こおいてプロセス
リンクを削除し、J.Pネームを用いてそのPCBをア
クセスする。PCBにより規定されるプロセスは、次に
新らしい実行プロセスとなる。1つ以上のプロセスのキ
ューが同じ事象について待機しているから、待機プロセ
スのキュー803a〜803bは各事象について存在す
る。
待機プロセスは、又GOセグメントに存在するプロセス
リンク805を介して一体にストリングされている。待
機キューのヘッドに対するポィンタは、セマフオア90
3(以下に記述)に存在する。プロセスが待機している
可能性のある多くの事象が存在し、従ってその各々が関
連するセマフオア903,904を有する多数の待機キ
ューがある。
多数の作動可能又は待機プロセスは動的に変化する。
この様に、作動可能および待機キューを求める多数のプ
ロセスリンクも又変化する。この事は、ディスパッチャ
に対するメモリー管理問題を惹起する。この問題は、自
由プロセスリンクキュー805a〜cと呼ばれる別のキ
ューにより解決される。このキューは、作動可能又は待
機キューにより使用されず、特定の作動可能又は待機プ
ロセスのキューを拡張する為に使用出来るGOセグメン
ト内の全てのプロセスリンクを一緒にリンクする。自由
プロセスリンクキュー805のへツド902に対するポ
インタ901は、GOセグメント802の始め付近にあ
る。C プロセスの同期 プロセスの同期は、同じタスクについて作業する2つの
プロセスの動作を関連する為に必要である。
この同期作用は、連絡中のプロセスのアドレススペース
に存在するデ−夕機造であるセマフオア903〜904
を用いて達成される。セマフオァは、事象の発生を信号
し、メッセージのキューを取扱うのに用いられる。こ)
に云う事象は、他のプロセスにとって価値のあり得る1
プロセスにより観察される全てのものである。この事象
は、非対称的動作の完了、又は資源の利用可能性である
。1プロセスは、1事象の発生を信号する為に2つのセ
マフオア操作を用いる。
1操作はセマフオアに対して信号を送り、他の1操作は
セマフオアから信号をピックアップする。
(この送り操作は屡々V操作と呼ばれ、受取り操作はP
操作と呼ばれる)この送り操作は、プロセスにデータ則
ちデータが利用可能である旨の信号を送らせる。
セマフオァは、別のプロセスがこれをピックアップする
用意が出釆る迄、この信号を記憶する。この様に、送り
プロセスは、そのデータを送った為自由に進行する。
受取り操作は、特定のセマフオアを検査して信号をピッ
クアップする。もし信号が存在する場合は、受取りプロ
セスは実行を続ける。然しながら、もしセマフオアに信
号がなければ、受取りプロセスは待機状態に入る。次に
、セマフオァは、待機キューのヘッドに対するポインタ
として作用する。
このプロセスは、別のプロセスが前記のセマフオアに対
し信号を送る迄、そのセマフオァにおいてキューされた
待機状態に止まる。
この様に、セマフオアは、プロセスが信号をピックアッ
プする迄これを保持し、あるいは信号がプロセスに送ら
れる迄プロセスを保持する。又、メッセージはプロセス
からプロセスに送る事が出来る。
1メッセージは、信号プラス別の情報と同じ存在、非存
在性を有する。
情報の一部はハードウェアにより提供され、他の一部は
メッセージを送ったプロセスの手続きにより提供される
。1メッセージは、送るべきプロセスのプロセスネーム
を有する。
この様に、多くのプロセスは、送る側のネームをスタン
プした単一セマフオアを介して情報を送る事が出釆る。
メッセージセマフオアは、プロセスによりピックアップ
される為に待機しているメッセージのキューを有する。
信号セマフオアの場合の如く、メモリースペースに対す
る要件は増減し、この為メモリー管理の問題が生じる。
この問題は再び自由メッセージリンクのキューを用いて
解決される。これ等のりンクは、メッセージリンクの提
供吸収が必要な時、容易に見出され得るセグメント内の
既知の位置に存在する。
セマフオアおよびこれに形成されるキューは異なるプロ
セスにより共用される為、セマフオアの全構造が保護さ
れる。
これは、セマフオアを含むどのセグメントに対してもア
クセスを制限するハードウエアおよびソフトウェアの慣
例により行われる。この様に、セグメントは、セマフオ
アデイスクリプタのセグメントになければならす、その
中のいくつかはGセグメントであり得る(もしシステム
連絡が必要ならば)。然しながら、全てのGセグメント
(GOを除く)はセマフオアデイスクリプターセグメン
トである。各セマフオアディスクリプタはセマフオアに
対するポインタを含んでいる。
セマフオアの各アドレスはセマフオアディスクリプタを
介して生成され、こうしてセマフオアに対する保護が増
強される。セマフオアセグメントは、セグメント番号お
よびセグメント内の相対的ロケーションを局部的に用い
るか、又直接G.D数を用いてアドレス指定出来る。E
プロセス制御ブロック構造 第4図においてはプロセス制御ブロック (PCB)のフォーマットが示されている。
このプロセス制御ブロック400は、CPUの状態を保
管するのにプロセスに対し利用可能にされた主メモリー
における記憶領域である。
PCBのアドレス指定は、第5図に関して既に述べた如
くに実施される。PCBポインタ507(第5図)は、
第4図のメモリーロケーション01こおけるプロセス制
御ブロックPCBを指示する。下方向のメモリーロケー
ションへの進行は4バイト宛であるが、メモリーロケー
ション0から上方向への進行は8バイト宛増進する事が
判ろう。下方のメモリーロケーションは0から正である
と考えられるが、0から上方のロケーションは負の方向
と考えられる。上方のロケーションは、選択に基き、プ
ロセス制御ブロックには含まれても含まれなくても良く
、又ロケーション148乃至176も選択出来る。(メ
モリーロケ−ションの下の数字は、プロセス制御ブロッ
クPCBの参照ロケーションからのバイト上の変位を指
定し、添付図面における各部の識別に一般的に用いられ
る参照番号と混同すべきではない)0から16を含まな
い各バイトで始まり、各プロセス主ワードPMWを長さ
4バイトとして4つのプロセス主ワードPMWO乃至P
MW3が記憶されている。プロセス主ワード0は、バイ
ト0乃至3を占め、能力バイト、優先順位バイト、状態
バイト、およびデコール拡張バイトDEXTの4部分か
らなる。第10a乃至10d図において、プロセス主ワ
ードPMWOの詳細が示され、能力バイト1001の更
に詳細については第10b図に示される。第10b図に
おいて、最初のビット1005は、時間アカウト機能が
そのプロセスに対して実施されているかどうかを表示す
る為のアカウントモードビットである。アカゥントモー
ドビット1005が2進数0にセットされる時、プロセ
スに対して時間アカウント機能は実施されず、アカゥン
トモード1005が2進数1にセットされる時、時間ア
カゥントは実施される。科学計算用モードビット100
6は、零にセットされる時、機械の科学計算用レジスタ
の保管が実施されず、又第4図のバイト148乃至17
6に位置される科学計算用レジスタはプロセス制御フロ
ツクPCBに存在しない事を示す。
科学計算用モードビット1006が2進数1にセットさ
れる時、科学計算用の選択的特徴が存在し、プロセスに
おいて使用され、科学計算用レジスタの保管領域は、必
要時に科学計算用レジスタの内容を保管する為に使用さ
れる。コ−ドモードビツト1007は、標準コードセッ
ト又は比較コードセットがプロセスにより使用されるか
どうかを表示し、その位置における2進数0に標準セッ
トが使用される事を表示させる一方、第3のビット位置
1007における2進数1は比較コードセットが使用さ
れている事を表示する。能力バイトの各ビットは残りは
零にセットされる。優先順位バイト1002の詳細は第
10c図に示される。
第10c図においては、優先順位バイト1002の最初
の4つのバイト1008を使用してその与えられたプロ
セス制御ブロックPCBと関連するプロセスの優先レベ
ルをセットする。各プロセスは、競合する各プロセスの
順序統一の為に使用される16の優先順位の1つが割当
てられる。即ち【a作動可能プロセス間に実行されるべ
きプロセスの選択と、【bープロセスのキュー内への定
置とである。健先順位は0から15に向けて低減し、あ
る優先順位のレベルに対しては、FIF○(先入れ先出
し)方式が使用される。優先順位バイト1002の次の
4ビット1・009は零である。第10d図においては
、状態バイト1003の詳細が示される。
状態バイトは、プロセス制御ブロックPCB400と関
連するプロセスに関する情報を提供する為使用される。
能動フィールドビットAIDIOは、プロセスが使用さ
れている時、2進数1にセットされる。サブステートフ
イールドSSI O1 2は、2ビットのフィールドで
、プロセスの下記のサブステートを規定する。即ち、t
a}2進数00にセットされる時、プロセスは不作用で
あり、‘b}2進数01にセットされる時、プロセスが
作動可能プロセスのキュー(Q/PR/RDY)に待機
し、‘cー2進数10にセットされる時、プロセスはセ
マフオアのキュー(Q/PR/S)におけるセマフオァ
で待機し、{d}2進数11にセットされる時、プロセ
スはプロセサにより実行される。中間演算フィールド(
MOI)1013は、割込みが生じる時2進数1にセッ
トされ、命令の実行の間則ちプロセスの完了以前に対応
される。拡張デコールモードビットEXTDI 0 1
4は、プロセスが機械のエミュレーションモードであ
る拡張デコールモードで操作される時、2進数1にセッ
トされる。ビット1015と1016は0にセットされ
る。プロセス主ワードPMWOの4番目のバイトは、デ
コール拡張数を含み、システムがエミュレーションモー
ドにある時使用される。
プロセス主ワードPMWIは、プロセス制御ブロックP
CBのバイト4〜7に記憶される。
PMWIの詳細は第1 0e図に示される。状態バイト
1016は、PMWIの最初のバイトであり、状態レジ
スターカウンタを記憶する。マルチプロセサーバィトM
PIO18は、マルチプロセサ構成においては重要で、
さもなければこのフィールドは零である。
2番目と4番目のプロセス主ワード1 は、それぞれMBZフィールド1 0 1 7および1
019で、これ等は通常の動作に対して零でなければな
らない。
プロセス主ワードPMW2は、プロセス制御ブロックの
バイト8乃至11を占め、更に詳細には第10f図に示
される。
第10f図において、ビット4乃至31のフィールドは
、プロセスが待機又は停止状態のいずれかにある時PC
Bがリンクされるセマフオアの局部ネームSEG、SR
AI021を含んでいる。
例外クラスおよびタイプフィールド1023は、プロセ
スを実行の後の停止状態に入らせる割込み状の例外のク
ラスおよびタイプを含んでいる。ビット4乃至15のフ
ィールドは、プロセスが前述の状態とは別の一状態にあ
る時、無意味である1022。プロセス主ワードPMW
3はPCB40川こおいてバイト12乃至15を占有し
、デコール拡張表を指示する。
第10g図においてPMW3の詳細に関してDETZフ
ィールド1024は表におけるエントリー数を規定し、
もしこのフィールドが零である場合デコ−ル例外はこの
プロセスに対して許容される。
DETAフィールド1025は、16ゞィトの単位にお
けるデコール拡張表の絶対アドレスであり、DETSZ
が零でなければ有意義である。
デコール拡張表はDETSZェントリからなっている。
各ェントリは1バイトのサイズである。表のDEXT番
目は、デコール拡張モードDEXTにおいて動作するプ
ロセスの能力を規定する。DEXT番目のバイトが0で
ある時、デコール拡張数DEXTは許容されないが、D
EXT番目のバイトが1である場合は、デコール拡張数
DEXTは許容される。0および1以外のDEXT数値
は違法である(第10a図、DEXT数1004参照)
。PCB400のバイト16乃至23は、それぞれ2つ
のアドレススペースワードASWOおよびASWIを含
み、各ASWはセグメント表ワードの配列に対するポィ
ンタを含む。
ASWOとASWIはそれぞれ第10h図に示す同じフ
オーマットを有する。
セグメント表ワードの配列のサイズは、1つの配列にお
けるセグメント表ワードの数により規定され、多くの場
合ASWOに対しては6、ASWIに対しては8からな
る。STWSZフィールド1026は、セグメント表ワ
ードの配列のサイズを示す。セグメント表ワードの配列
フィールドSTWAI 027は、16バイトの単位の
配列の絶対アドレスSTWAを含む、即ち配列の絶対ア
ドレスは1磯バイトのSTWAである。PCBのバイト
24乃至27は、第10i図に更に詳細に示される例外
ワードEXWを含んでいる。
この例外ワードは、プロセス主ワードPMW2に記憶さ
れる如きそのクラスに従ってプロセス除外に続いて行わ
れるべき動作を規定する例外クラス表に対するポィンタ
(SEG、SRA)1029を含んでいる。(第10f
図参照)例外ワードEXWのM皮フィールド1028は
0でなければならない。PCBのバイト28乃至31に
位置されるスタックワードSKWは、プロセスが実行中
でない時プロセスのスタックのTレジスタの先頭部の数
値を含み、その詳細は第10i図に示される。
第10i図に戻って、ビット0および1はTAGフィー
ルド1 030を規定する。このTAGは、その内容に
よりディスクリプタのタイプを表示し、SKWこ対して
は零でなければならない。SKWワードのビット2およ
び3は、保護目的のスタツクのセグメント化されたアド
レスと関連するりング番号を含むリングフィールド10
31を含み、この場合零でなければならない。ビット4
乃至31は、セグメント番号SEGおよびセグメント相
対アドレスSRAI032を含み、セグメント表内に記
述されたセグメントと、セグメント内のセグメント相対
アドレスとを識別する1フィールドである。スタックワ
−ドSKWは、プロセスが実行状態でなくなる毎に更新
される。これは、プロセスが実行状態になる毎にTレジ
スタ内容を復元する為に使用される。この場合、TAG
I030とRINGI031は零である事をテストされ
、さもなければ違法PCB例外動作が生じる。
PCB400のバイト32乃至35は、時にICCと呼
ばれる命令カウンター内容ワードICWを含んでいる。
第10k図においてTAGフィールド1033が2進数
00を含まねばならない(即ち、零以外の数値は命令カ
ウンタにおいて違法)命令カウンタワードICWの詳細
が示される。
ビット2および3を占める現行のRINGフィールド1
034は、主記憶装置に対するアクセス権の決定に使用
されるプロセスの現行リング番号を規定する。ビット4
乃至31は、実行すべき次の命令のアドレスを規定する
セグメント番号とセグメント相対アドレス(SEG、S
PR)を規定する。バイト36乃至39におけるM欧フ
ィ‐ ルドは零でなければならない。
(M旧Zフィールド‘ま常に零でなければならないフィ
ールドを示す事に注意)このM欧ワードは、PCBがネ
ームJ.Pからアクセスされる毎にテストされる。もし
これが零でなければ、違法のPCB例外動作が生じる。
スタツクベースワードSBWO〜2は、プロセス制御ブ
ック400‘こおけるバイト40〜51を占める。これ
等のワードは同じフオーマットを有し、その詳細は第1
01図に示される。これ等はスタック動作の間使用され
、そのTAGフィールド1 0 3 6およびR州Gフ
ィールド1037を使用する時は常に零でなければなら
ず、さもなければ違法のPCB例外動作が生じる。ビッ
ト4乃至31は、それぞれリング0,1および2に対す
るスタツクセグメントの最初のバイトのセグメント化さ
れたアドレス(SEG、SRA)1038を含む。プロ
セス制御ブロック400のバイト52乃至83は、ベー
スレジスタ保管城(8ワード)用にリザーブされたスペ
ースである。
バイト84乃至147は、全ての汎用レジスタ(16ワ
ード)の数値を保管する為に用いられる保管城である。
バイト148乃至179は、科学計算用レジスタ(8ワ
ード)を保管する為に用いられる保管城である。5つの
2倍ワードが、PMWOワードのアカウントモードビツ
トがセットされる時、時間アカウント用にPCB零アド
レスの上方のPCB40川こ与えられる。
これ等ワードは、PCBアドレスマイナス8からPCB
アドレスマイナス4川こ位置されているご各ワードは、
ビット52〜63を零で充填されたその最初の52ビッ
トでマイクロ秒単位で表示される時間又は時間間隔を含
む。残り時間切れ2倍ワードRT0(PCBの0より大
きな最初の8バイト)は、時間切れ例外動作が生じる前
に、プロセスの代りにプロセサにより実際に消費される
時間量を有する。
このRTOワード‘ま、以下の如く更新される。即ち、
プロセスが実行状態にある毎にプロセスタイマーの数値
はRTOワード‘こ記憶される。プ。セスが実行状態に
入る毎に、プロセスタイマーの数値はRTOかりロード
′される。バイト7乃至15における実行時間アカウン
トRUA2倍ワードは、プロセスが実行状態にあったプ
ロセサの全時間量を指定するタイムカウンタである。
アカウントされる時間は、プロセスのみにでなくプロセ
サにより実際に消費される時間である。
RUAワードは以下の如く更新される。即ち、プロセス
が実行状態である毎に、プロセスタイマーPTの数値が
読まれる。RTOとPTの内容の相違は、RUAに加え
られる。(従って、PT数値はRTOに記憶される)プ
ロセスが停止される時間は計算されない事を留意された
い。RTOおよびRUAワードは、アカウントモードビ
ットが0にセットされる場合でも更新される。
然しながら、CET、RTAおよびWTAワード(以下
に記述)は、プロセス主ワードPMWOにおけるアカウ
ントモードビツトが1にセットされて始めて、プロセス
制御ブロックに支えられる。これ等のワードはこの様な
場合にのみ更新される。バイト17乃至23における待
機時間アカウントWTAワードはリアルタイムカウンタ
で、これはプロセスが待機状態にあった全実時間を指示
する。
このWTAワードは、以下の如く更新される。即ち、プ
ロセスが待機状態にある毎に、ディクロック(図示せず
)の時間数値TODが読出され、TOD数値マイナスC
ETワード数値がWTAワードに加えられる。バイト2
4乃至31に位置する作動可能時間アカウントRTAワ
ードは2倍ワードで、プロセスが作動可能状態にあった
全ての実時間を指示するりアルタイムカウンタである。
このRTAは以下の如く更新される。即ち、プロセスが
作動可能状態にある毎に、ディクロックの時間数値TO
Dが読出されて、TOD内容マイナスCET内容がRT
Aに加えられる。バイト32乃至39における現在のエ
ントリータイムCET2倍ワードは、プロセスが作動可
能、待機、実行、および停止の各状態のいずれかをとる
デイタイムを含んでいる。
システムベース構造 第6図において、システムベース600のフオーマツト
が示される。
このシステムベースは、絶対主メモリー内にあって、フ
ァームウェアにより生成され、議出し専用の境界アドレ
スレジスタ(BAR)を介してアクセス可能である。こ
の境界アドレスレジスタBARは、ハードウェアの為リ
ザーブされた主メモリー内の1領域下方にあり、ハード
ウェア用にリザーブされたメモリー内のこの領域とシス
テムベース600を分離する。
次に第6図において、システムベース600は、現行プ
ロセスの為のジョブステップ番号とプロセスグループ番
号(J.P)を含む多くのシステム属性を含んでいる。
プロセスJ.Pの論理的ネームから、対応するプロセス
制御ブロックの絶対アドレスが得られる。J表のサイズ
とアドレスは、J表ワードの内容により規定される。こ
のワードは、BARレジスタにより規定されるアドレス
に位置される。JTWのフオーマツトは第11a図に示
される。
第12図のサイズ(JTSZ)1101又はJ表120
4は、255ェントリ迄のJ表1204のェントリ数を
規定する。このJTSZIIOIは8ビットの正整数で
、J表からの例外動作は、JがJTSZより大きい場合
に生じる。J表1204の絶対アドレスは、J表ポィン
タ1102を16で乗じて得られる。J表1204はJ
表ェントリを含み、その詳細は第11b図に示される。
各J表ェントリは、P表ポインター104を16で乗じ
て得られるP表1205の絶対アドレスを規定する。
P表のサイズ(PTSZ)1 103はP表のェントリ
数を規定する。このPTSZは、P表のェントリ数を表
示する為主として0から255迄変化する8ビットの正
の整数である。P表からの例外動作は、PがPTSZよ
り大きい場合に生じる。P表1205の各ェントリは、
プロセス制御ブロックポィンタ1107を11で乗じる
事により、プロセス制御ブロック(PCB)1206の
絶対アドレスを規定する。存在ィンジケー夕PII05
は、2進数0にセットされる時PCB1206の不在を
示し、2進数1にセットされる時PCBの存在を示す。
(存在ィンジケータPII05が0である時、空のP表
ェントリ例外動作が生じる)P表ィンジケータのビット
1乃至7(第1 1 c図)は0でなければならず(M
旧Z)1106、さもなければ違法のP表ヱントリ例外
動作が生じる。
システムベース6 0 0のアドレスBARフ。
ラス4においては、詳細が第11d図に示されるG表ワ
ード(GTW)のフオーマツトバィトがある。第12図
のGセグメント表のサイズおよびアドレスは、G表ワー
ド(GTW)の内容により規定される。
G表121 2のサイズ(GTSZ)1 1 08は、
主に255迄のェントリであり得るG表中のェントリ数
を規定する。GTSZは8ビットの正整数で、G数がG
TSZより大きい場合に、G表からの例外動作が生じる
。G表1212の絶対アドレスは、G表ポィンタを16
で乗ずる事により得られる。Gセグメント表ェントリの
フオーマツトは、2ワードのサイズ(8ワード)を有し
、Gセグメントディスクリブタと呼ばれる。
G表セグメントのフオーマットは、第11eおよび11
f図に詳細に示される。
全てのGセグメントディスクリブタは、直接で、従って
間接ビット11111は0でなければならず、さもなけ
れば違法のセグメントディスクリプタ例外動作が生じる
。存在インジケータPIIIOは1ビットのフイ−ルド
で、これは2進数1にセットされる時、そのディスクリ
プタが対応するセグメント番号に対する主記憶装置にお
いて1セグメントが規定される事を示し、又もしこれが
0に取払われる場合は、セグメントは規定されず、この
セグメントディスクリプタに対する照合が生じないセグ
メント例外動作を惹起させる。
利用可能ビットAII12は1ビットフィールドで、セ
グメントが利用可能かどうかを示し、もしこのセグメン
トが規定される(即ちPは2進数に等しい)かをチェッ
クされるのみであり、さもなければ無視される。
使用されたフラッグフィールドUII13は、セグメン
トがアクセスされたかどうかを表示する。
もしUビットが2進数にセットされる場合、このセグメ
ントはアクセスされず、もしUフィールドが2進数1に
セットされれば、セグメントはアクセスされた事になる
書込みフラッグフィールドWII14は、セグメントが
書込まれたかを表示する。
もしWが2進数0にセットされると、このセグメントは
書込まれず、Wが2進数1にセットされると、セグメン
トは書込まれた事になる。Gセグメントディスクリプタ
のゲート作用インジケータOSII 15は2進数01
にセットされねばならず、さもなければ違法のセグメン
トディスクリプタ例外動作が生じる。この理由は、Gセ
グメントは常にセマフオアを含み(その逆は真でない。
即ち、全てのセマフオアはGセグメントにある事を必要
とされない)、又セマフオアの各命令はGSコードが2
進数01である事を必要とする為である。セグメント1
214のベースの絶対アドレスは、24ビットのベース
フイールド1 1 16により第11e図のGセグメン
トディスクリプタにおいて規定され、このフィールドの
内容は、1針音する事により絶対アドレスを得る。第1
1f図のGセグメントディスクリプタの2番目のワード
は、G表1212におけるビット位置32乃至63を占
める。RSUフィールド1117のビット32乃至39
は、ソフトウェア用にリザーブされ、又この場合におけ
る如くGセグメントディスクリプタとして使用される時
一般に無視される。M弦フィールド1118は0でなけ
ればならず、さもなければ違法のセグメント例外動作が
生じる。
M旧Zフイールド1 118がビット4 0乃至51を
占めるから、4・さなセグメントSはEの為のフィール
ドであるSPEフィールド1119をセットし、従って
全てのGセグメントは小さなセグメントタイプでなけれ
ばならない。このセグメントSIZEI I I9は、
セグメントにおけるバイト数を規定する12ビットの正
の整数であり、セグメントサイズは16の倍数と考えら
れる。従ってGセグメント1214のセグメントサイヌ
は、?6バイトを越える事が出来ない(小さなセグメン
ト)。DがSZEIII9より大きいか又はこれと等し
い場合にGセグメント内の変位Dが参照されるならば、
セグメントからの例外動作が生じる。Gセグメントおよ
びそのセグメント内の変位Dを用いる主メモリ−のアク
セス方法は、G.Dアクセス法と呼ばれる。G.Dメモ
リー動作の間生じ得る各種の例外動作は、G.Dアクセ
ス例外動作と呼ばれる。
再び第6図のシステムベース600において、BARプ
ラス8とBARプラス44間に位置する9つのシステム
例外セルワードがある。
このシステム例外セルワードEXCのフオーマットは第
11g図に示される。セマフオアが、システム例外動作
が生じる時、メッセージを専用化された各プロセスに対
し伝達する為に使用される為、これ等のセマフオアに対
するポィンタは、システム例外セルと呼ばれる各ロケー
ションがメモリーの9ロケーションにーシステム例外の
クラス毎に1つ見出される。このMBZフィールド11
20は、2進数0にセットされねばならず、さもなけれ
ばシステムチェックが生じる。
各例外セル(EXC)は、それぞれシステムネームG.
DI121および1122を含む。システムベース60
0のBARプラス44に位置されるチャンネル例外セル
は、既に述べたシステム例外セルと似たフオーマットを
有し、チャンネル例外動作が生じる時、メッセージを専
用化されたプロセスに伝達する為に使用されるセマフオ
アのシステムネームGDを含んでいる。
内部のプロセサキューワードmQWはBARプラス48
から始まる位置にあり、そのフオーマットの詳細は第1
1h図に示される。
このIPQWワードは、第9図に参照番号905および
805で示されるプロセス作動可能キュー(Q/PR/
RDY)の先頭部を指示する。このプロセス作動可能キ
ューは、作動可能状態にある全てのプロセスをリンクす
る。これは、作動可能のプロセスキューの先頭部を指示
する事により、IPQWワードのQ/PR/RDYフィ
ールド1 124(第1 1h図)のHEADにより照
合される。Q/PR/RDY−フイールド1 1 2
4のHEADは16ビットの正の整数で、GOセグメン
トと呼ばれるGセグメント番号0のベースからQ/PR
/RDYの最初のバイト迄の変位である。
もしQ/PR/RDYビットフィールドが0であれば、
作動可能キューは空であると見倣される。MBZフィー
ルド1 1 23は0でなければならず、さもなければ
システムチェックが生じる。システムベース600のB
ARプラス52においては、最初と現在のリトライカウ
ントに対する記憶が示され、そのフオーマットは第11
i図に詳細に示される。
このNFSフィールド1125は、非機能的記憶で、シ
ステムベースにより使用されない。最初のリトラィカウ
ントフィールド1126と現在のリトラィカゥントフィ
−ルド1127は、機械ヱラーが生じて機械の故障例外
条件が生じる前に、自動的な命令リトラィが実施される
回数の制御に使用される。これ等は、リセットリトラィ
カウント(図示せず)により同じ数でロードされる。第
11i図に示される実行プロセスワード(RPW)は、
システムベース600のBARプラス56に記憶され、
モノプロセサ構造の場合にその優先順位で実行プロセス
のネームを記憶する為に使用される。
NFSフィールド1128と1131は、それぞれ非機
能記憶フィールドで、どんな設備によってもどんな目的
にも使用されるが一般にはシステムベースによっては使
用されない。実行プロセスの優先順位レベルは、PRI
フィールド1129に記憶される。非同期トラップビツ
トはABフィールド1130に記憶されるが、非同期ト
ラツプリングはARNフイールド1 1 3 2に記憶
される。モノプロセサ構造の場合、実行中のプロセスの
論理的ネームJ.Pは、J.Pフィールド1 133に
記憶される。第11k図に示される絶対化表ポィンタワ
ードは、システムベース600における BARプラス60に位置され、ISLプログラム内の全
ての絶対アドレスに対してBAR内容を加える事により
、最初のシステムロード(ISL)プログラムにおいて
絶対アドレスを初期設定する様に最初のシステムロード
‘こおいて使用される。
この絶対化表ポィンタ1135は、絶対化表(図示せず
)のロケーションを規定する。絶対化表サイズは、AT
SZフィールド1134により示される。第11図に示
されるCPU連続番号ワードは、BARプラス64に位
置される4バイトワードで、CPU連続番号フィールド
1136においてCPUの連続番号を含む。
第11m図に示す主記憶上限ワードは、 BARプラス64に位置され、主記憶に対し最後の利用
可能ワードの絶対アドレスを与えて、主記憶上限113
9を表示する。
BARプラス72においては、最初のシステムロードI
SL装置チャンネル番号(CN)1140と、ハードウ
ェア装置チャンネル番号(CN)1141を与える為の
ワードが第11n図に示される如く位置されている。
コンピュータシステムに使用される装置のタイプおよび
サブタイプは、それぞれフイールド1143と1144
のハードウェア装置のタイプワード(第11o図)によ
り示されており、この場合、RSUフィールド1142
はソフトウエア用にリザーブされている。
このワードは、BARプラス76におけるシステムベー
スにおいて見出される。第11p図に示される同じタイ
プのフオ−マットを有する類似のワードは、最初のシス
テムロードに用いられた装置のタイプとサブタィプを含
んでいる。このワードはBARフ。ラス8 0に位置さ
れている。コンピュータの再起勤ボタンが押される と、シュミレートされたV動作がセマフオアについて実
施され、「動作可能」状態に入る。
このセマフオアに対するポィンタは、システムベース6
00のBARブラス84に見出され、再起動セルワード
と呼ばれ、第11q図に示すフオーマツトを有する。こ
のフオーマットは、下記のシステム例外セルと似ており
、それぞれGフィールド1149とDフイールド115
0におけるセマフオアのシステムネームG.Dを含んで
いる。M欧フィールド1148は0でなければならない
。コンピューターシステムに対して1つ以上のプロセス
がある場合、ワードは多重プロセス拡張の為、BARプ
ラス88にあるシステムベース600に与えられる。
このワードの詳細は第11r図に示される。システムベ
ースおよびプロセス制御ブロック使用の例第12図にお
いて、システムベースが、どのようにしてユーザーセグ
メント、システムセグメント、又は作動可能プロセスキ
ュー(Q/PR/RDY)セグメントのアドレス指定、
アクセスの為に、プロセス制御ブロックと組合わせて使
用出来るかを示す1例が示されている。
主メモリ−1200は、ハードウェアの使用にリザーブ
された部分1203を有する。境界アドレスレジスタB
AR1202は、システムベース1215をハードウエ
ア用にリザーブされたメモリーの部分から分離する。境
界アドレスレジスタBAR1202は、システムベース
において所要の項目の4バイト単位の変位に対して境界
ァドレスレジスタの内容を加える事によりシステムベー
ス1215内で項目をアドレス指定する様用いられる。
次いでこのアドレスは、所要のシステムベースにおける
項目の最初のバイトを指示する。第12図において、B
AR1202はJ表ワード(JTW)を指示している。
既述の如く、このJ表ワードは、J表1204を指示す
るポィンタを有する。第5図に示した番号をインデック
スする事により、J表のェントリ1216が得られる。
このJ表ェントリにおいては、P表1205の絶対アド
レスを指示するP表ポィンタがある。P表1205内の
P番号(第5図参照)をインデックスする事により、プ
ロセス制御ブロック1206の絶対アドレスが得られる
。プロセス制御ブロックPCB1206に既に示した如
く、2つのアドレススペースワードASWOとASWI
がある。ベースレジスタ1201におけるセグメント表
番号フィールドSTNの高位ビットはこれ等2つのアド
レススペースワードの1つをアクセスする様に用いられ
、こ場合、ASWIは、セグメント表ワード配列STW
A1208を指示するセグメント表ワード配列STWA
ポィンタを有する。
ベースレジスタ1201のセグメント表番号STNと共
に、8セグメント表ワードの1つはSTWA1208内
にアクセスされ、8セグメント表1210の1つを指示
する。次に、ベースレジスタ1201からのセグメント
表ェントリSTEは、セグメントディスクリプタが位置
指定されるセグメント表1210において256ェント
リの1つを行う様に用いられる。
このセグメントディスクリプタは次いでユーザーセグメ
ント1211をアクセスする為に用いられる。セマフオ
アを記憶するのに用いられるシステムセグメント121
4のアクセスの為、G表ワードGTWがシステムベース
1215において用いられる。
このG表ワードのアドレスは、システムベースのG表ワ
ードの変位を境界アドレスレジスタBAR1202(第
6図参照)に対し加える事により得られる。,G表ワー
ドGTWは、G表1212を指示するG表ポィンタを含
んでいる。システムに利用可能なG番号を使用し、G表
内でインデックスする事により、Gセグメントディスク
リプタがシステムセグメント1214をアドレス指定す
る為に用いられる。同様に、システムベース1215は
、Q/PR/RDYセグメント1213を指示する内部
のプロセサーキューワードmQWを位置指定する事によ
り、作動可能プロセスキュー(Q/PR/RDY)12
13をアクセスする為に用いられる。
G 制御装置 第13a〜13c図において、制御装置の詳細が示され
る。
中央処理装置(CPU)から分離して示されているが、
制御装置は、実際はCPUの一部であり、制御記憶装置
CSU1301と、制御記憶装置インターフェ−スアダ
プタCIA1302とその付属サブ装置と、制御記憶装
置ローダCSL1303と、制御兼ロード装置CLU1
304とからなる。制御記憶装置CSU1301は、制
御兼ロード装置CLU1304と制御記憶装置インター
フェースアダプタCIA1302を介して、制御記憶装
置ローダCSL1303からマイクロ命令を受信する。
通常の動作条件下では、マイクロプログラムは、システ
ムの初期設定の間外部のソースからロードされ、機械の
恒久的な制御機能となる。然しながら、制御記憶装置C
SU1301は、多くの中央処理装置CPU1306動
作モードを与える様に再ロードされ初期設定される能力
がある。CPUの動作の後続のモードは、CSU130
1の制御下で利用可能であり、これ等は、‘aーネーテ
イブモード、(b)エミュレーションモード、{cー同
時ネーティブエミュレーションモード、および‘d}診
断モードである。この能力は、CSUに存在するマイク
ロ命令が、エミュレーション装置1316、算術論理演
算装置ALU1317、命令フェツチ装置IFU131
8、アドレス制御装置ACU1319、およびデータ管
理装置DMU1321の如き他の全てのCPUの機能装
置の動作を制御するのに用いられるマイクロ演算ソース
である為に可能である。又、中央処理装置CPU130
6内に示されているのは、前述の汎用しジスタ1307
と、ベースレジスタ1308と、科学計算用レジスタ1
309と、Tレジスタ1310と、状態レジスタ131
1と、命令カウンタIC1312と、ハードウェア制御
マスクレジスタ1313である。一般には、制御記憶装
置CSU1301 は、議出し/書込みランダムアクセス記憶装置(RAM
)と混成された舵/ゞィポーラ型集積回路のプログラミ
ング可能な論出し専用メモリー(ROM)である。
典型的な150ナノ秒の議出しサイクルと450ナノ秒
の書込みサイクルを有する。制御記憶装置の各ロケーシ
ョンは、1つの84ビットマイクロ命令ワード(以下に
更に詳細に記述する)を記憶し、各マイクロ命令ワード
は1つのCPUサイクルを制御する。制御記憶装置CS
U1301の制御記憶装置の各ロケーションが読出され
ると、その内容はマイクロ演算デコーダによりデコード
され、前記デコーダは、その各々がCPU内で特殊な演
算を惹起する(以下に詳細に記述)マイクロ演算制御信
号を与える。各マイクロ命令ワード内でロケーションを
グループ化する事により(以下に詳細に記述)、特殊な
CPU演算即ち命令を実施出来る制御記憶シーケンスが
得られる。
CPUにより各命令が開始されると、OPコード内のあ
るビットが使用されて制御記憶装置の起動シーケンスを
決定する。命令デコード機能によりセット又はリセット
されるあるフロツプ(図示せず)のテストにより、制御
記憶メモリーが必要な場合更に特殊なシーケンスにブラ
ンチ可能となる。
制御記憶装置インターフェースアダプタ CIA1302は、制御記憶装置1 301と、データ
管理装置PMU1321と、アドレス制御装置ACU1
319と、第13b図の制御記憶メモリー1333の動
作の指向を行う為の算術論理演算装置ALU1 317
と連絡する。
C山1302は、制御記憶アドレス修正、テスト、エラ
ーチェツキングおよびハードウェアアドレス生成の為の
ロジックを含んでいる。ハードウェアアドレス生成は一
般に、エラーシーケンスのスタートアドレス生成、およ
び初期設定シーケンスの為に使用される。
データ管理装置DMU1321は、CPU1306と、
第1図に示す主メモリーおよび(又はバッファ記憶メモ
リーとの間のインターフェースを与える。
どの装置が他の装置により必要とされる情報を含むかを
確認し、かつ適当な時にCPUレジスタに情報をストロ
ーブする事がデータ管理装置の役割である。又、このデ
ータ管理装置は、部分的な書込み動作の間マスキングを
実施する。命令フェツチ装置『U1318は、DMU1
321と、ACU1319と、ALU1317と、CS
U1 30 1とインターフエースし、CPUに諸命令
を与え続ける役割を有する。
命令フェッチ装置は、現在の命令の完了以前にそのレジ
スタにおいて利用可能な次の命令を有する。この能力を
与える為、命令フェッチ装置IFU1318は、1つ以
上の命令を通常有する12バイトの命令レジスタ(図示
せず)を含んでいる。更に、CSUの制御下ではIFU
は、命令が実際に必要とされる以前に主メモリーから情
報(命令)を要請し、これによりその12バイトの命令
レジスタを常時更新し続ける。この様に、諸命令は通常
使用されないメモリーサイクルによりフエツチされる。
又、この命令フェツチ装置は、各情報をデコードし、か
つ命令の長さとフオーマツトを他の装置に通知する。ア
ドレス制御装置ACU1319は、CIAを介してIF
U、ALU、DMUおよびCSUと連絡する。
ACU1319は、CP川こおける全てのアドレス生成
に対して責を負っている。この装置に対し、又これから
、およびその内部への転送を含むALUの全ての動作は
、CSUのマイクロ演算およびその装置におけるロジッ
クによって指向される。
ACUの通常のサイクル操作は、命令のタイプによるよ
りも命令のアドレスのタイプに依存する。アドレスのタ
イプに従って、ACUは、1命令における各アドレスに
対して異なる動作を行う事が出来る。又、AC山ま、8
つの最も後に使用されたメモリーセグメントのベースア
ドレスをそれ等のセグメント番号に沿って記憶する連想
メモリー1319aを含んでいる。
メモリーの要請が行われる毎に、セグメント番号は連想
メモリー内容に対してチェックされて、そのセグメント
のベースアドレスが既に生成され記憶されたかを確定す
る。もしこのベースアドレスが連想メモリー1319a
に含まれる場合は、このアドレスは絶対アドレス生成に
使用され、相当な時間が節約される。このベースアドレ
スが連想メモリー1319aに含まれない場合は、主メ
モリー表をアクセスする事により生成される。然しなが
ら、セグメントのベースアドレスが生成された後、これ
はセグメント番号に沿って将来の参照の為連想メモリー
に記憶される。ACU、IFU、DMUおよびCSUと
インターフェースされているのは、算術兼論理演算装置
ALU1 3 1 7である。
その主な機能は、算術演算およびCPUを必要とするデ
ータ操作の実施である。算術論理装置の演算操作は、制
御記憶装置CSU1301からのマイクロ制御信号に完
全に依存している。
ALU1 317とCSU1 30 1と関連している
のは、スクラツチパッドメモリー装置LSU1315(
時に、局部記憶装置とも呼ばれる)である。
これは多くの場合256ロケーション(1ロケーション
当り32ビット)のソリツドステートメモリーおよび選
択、およびそのメモリーに対する議出し/書込みロジッ
クからなる。スクラツチパツドメモリー1315は、C
PU制御情報および保守用の情報を記憶するのに使用さ
れる。更に、スクラツチバツドメモリー1315は、主
としてオペランドの一時的記憶およびデータ操作の間の
部分的結果の為に使用される作業ロケーションを含む。
又、ALU1 3 1 7と関連しているのは、主とし
てコンピューターシステムの各種の状態の記憶の為の6
4のフリッブフロップからなる補助メモリー1317a
である。
又、CPUはクロツク装置1320を有 し、特に2つのクロツクシステムが1つになっている。
即ち、第1のクロツクシステムは制御用インターフェー
スアダプタCIA13’02用のタイミングを生成し、
第2のクロックシステムは中央処理装置内の機能装置の
動作の為の調時パルスを生成する。次に第13c図にお
いて、制御記憶ワード1325のフオーマットが示され
る。
この制御記憶ワードは、多くの場合84ビット中で次の
6つの主フィールドに分割される。即ち、a シーケン
スタイプフイールド1326(3ビツト) b ブランチおよび(又は)マイクロ演算1327(2
3ビツト)c 定数生成および指示(14ビット) d バスに対するデータ1329(8ビット) e マイクロ演算1330(32ビット)および f チエツキング1331(4ビット) 制御記憶ワード1325の3ビットのEフィールドは、
シーケンス制御フィールドとして使用される。
多くの場合、7つの異なるシーケンスタイプと本コンピ
ューターシステムの為の1つのりザーブされたタイプが
ある。第13b図のブロック1335に関しては、Eフ
ィールドが2進数0、1又は2に等しい時、マイクロ命
令1325のブランチフィールドA,B,C,Dおよび
Lは次のアドレス生成に使用される。KSレジスタ13
37の最初の6ビットは、Bフィールド、Cテスト結果
、Dテスト結果、およびLフィールドと共に使用されて
、次のマイクロ命令の次のアドレスを与え、前記マイク
ロ命令は次にアドレスレジスタKS1337におかれる
。Eフィールドが2進数4(ブロック1335参照)に
セットされる時、次の選択されたアドレスは割込み戻し
レジスタKA1339から得る。
KAレジスタ内に記憶されるアドレスは、ハードウェア
割込みが生ずる時次のアドレス生成用ロジックにより生
成されるアドレスである。Eフィールドが2進数5にセ
ットされる時、マイクロプログラムのサブルーチンから
のサブ戻しを開始する為に1つのブランチが使用される
戻しレジスタKR1346の内容は、次の制御記憶アド
レスとして使用される。
戻しレジスタ1346は、インクリメンタ1338から
KRレジスタ1346に対しKSレジスタ1337プラ
ス1において現制御託億アドレスをロードする制御記憶
指令を発する事により。ードされる。1レベルのネスト
動作用サブルーチン能力は、KT戻しブランチレジスタ
1347を介して与えられる。
KRレジスタ1346がロードする毎に、KRレジスタ
の元の内容は、マイクロプログラム戻しが呼出される都
度KTレジスタ1347に転送され、KTレジスタの内
容はKRレジス外こ転送する。
3番目のレベルネスト操作サブルーチン能力はKUレジ
スタ1340‘こより与えられ、4番目のレベルのネス
ト操作サブルーチン能力はKV戻しブランチレジスタ1
349により与えられる。
制御記憶ワードのEフィールドが2進数6にセットされ
る時、次のアドレス指定された制御記憶ワードは、KS
レジスター337の現アドレスプラスインクリメンタ1
338の1に等しい。Eフィールドが2進数7にセット
される時、CSU1301は診断モードに入り、次のア
ドレスは現在のアドレスプラス1となる。前に述べかつ
フ。ック1335に示された次の制御記憶アドレスに対
するブランチ操作の逐次制御に加えて、第13b図のブ
ロック1336に示すハードウェアの生成するシーケン
ス制御が存在する。(注、ブロック1335と1336
は、事実マイクロ命令ワードがとり得る異なる形態を示
す様に示されたハードウエアレジスタである)ハードウ
エアの生成するブランチはオーバーライド条件(エラー
、初期設定、制御記憶走査等)であって、Eフィールド
を抑止し、固定アドレスを制御記憶アドレスレジスタK
S1337に強制する。
このブランチ操作は、1クロック期間に対して1つの割
込み回線分丈多く強制し、かつEフィールドの制御下で
生成された筈のアドレスをKA割込み戻しレジスタ13
39に記憶する事によりなされる。ハードウェアが生成
したアドレスは、制御記憶アドレスレジスタにおかれる
。そのクラスにおける別の割込みがその割込み条件が満
足される迄実行されない様にする割込みブロックのフリ
ツプフロツプ(図示せず)である時、あるハードウェア
/ファームウェアの生成する割込みが優先順位を有する
。ファームウェアのマイクロ演算は、ファームウェア制
御下にあるこれ等シーケンスに対する割込みブロックの
フリップフロップのリセットを制御する為に存在する。
ハードウェア制御下のこれ等のシーケンスは、このシー
ケンスの終りにブロックフロツプのリセットを自動的に
生成する。優先順位によりリストされた下記の各条件は
このカテゴリーにある。即ち、‘a瓶』御託億ロード、
‘b席U御託億走査、{c}ハードウェアエラー、‘d
)ソフトウェアエラーである。残りのハードウェア条件
は、割込みブロックフロツプはセットせずに生成される
や即時作動させる。
優先順位によりリストされた下記の条件はこのカテゴリ
ーに入る。即ち、‘a)初期設定 (b} ソフト・クリア ‘c} 保守パネル入 {d} 保守パネル入 {e} ハードウエア出 初期設定信号は、CSU1301をブランチさせて、2
進数0をアドレス指定し、リセット可能ハードウェアを
クリアし、ハードウェア制御下の制御記憶走査シーケン
スが続く制御記憶ロード操作を行う。
これは又システムの初期設定を行う。ソフトクリア信号
は、CSU1301をブランチごせて2進数0をアドレ
ス指定し、ハードウェアのリセツト可能エラーをクリア
し、割込みブロックフロップをリセットする。保守パネ
ル入信号は、CSUをして保守パネル(図示せず)のC
SUアドレススイッチに予めセットされたアドレスにブ
ランチさせる。
保守パネル入信号は、CSUをして保守チャンネル(図
示せず)を介し生成された1アドレスにブランチさせる
このロードされたアドレスは保守バスQMB1344か
らであり、前記バスは保守チャンネルの一部で右寄せさ
れている。ハードウェア存在信号は、CSUをして2進
数2をアドレス指定する様にブランチさせる。
このシーケンスは、保守設備として使用される。このシ
ーケンスの終りにおいて、Eフィールドを2進数4にセ
ットさせてEフィールドブランチを発する事により1戻
し操作が開始される。制御記憶ロード信号は、CSUを
して2進数0をアドレス指定する様にブランチさせる。
これは又、CSU講出しサイクルフロップ(図示せず)
、システムクロツク1320を切ってCSUをロード状
態におく。このロード状態においては、CSUは、制御
記憶ローダCSL1303、IOC1305、主メモリ
ー102、又は保守パネル1355からロード出来る。
CSLからロードされる時、自動走査がロードの一端部
で生成される。他の媒体からロードされる時、走査動作
は、マイクロ演算信号の生成か、保守パネルに走査スイ
ッチをセットするかのいずれかにより発される。
制御記憶走査信号は、CSUをして2進数0のアドレス
にブランチさせられる。制御記憶走査は、シーケンスの
継続期間中のハードウェア制御下にある。走査の間「シ
ステムクロック132川ま切られ、従っていかなる指令
又はテストも行われない。この走査シーケンスの終りに
おいて、ハードウェアは割込み戻しレジスタKAの内容
をアドレスレジスタKSに転送し、システムクロックが
ON‘こされ、制御はファームウェアに戻される。ハー
ドウェアエラー信号は、CSUを2進数4をアドレス指
定する様にブランチさせる。
通常の処理モードにおいては、CPUのいずれかの機能
装置において検出されたハードウエアエラーは、ハード
ウェアエラー回線(図示せず)を作動させる。生成され
た制御記憶シーケンスは、システム条件をテストして惹
起されるべき動作を確定する。診断モード‘こおいては
、ハードウェアで検出可能なエラー条件は、マイクロ診
断法で判別される。このマイクロ診断法は、惹起される
動作を制御する。他方において、ソフトウェアエラー信
号は、制御記憶装置をしてブランチざせて2進数1をア
ドレス指定する。このアドレスは、マイクロプログラム
制御下のソフトウェアエラー通知シーケンスの開始点で
ある。再び第13c図において、Eフィールド1326
、前述の始〈ブランチモードに対する3ビットのフイー
ルドである。
ブランチおよび(又は)マイク。演算フィールド132
7は、A、B、C、DおよびLフィールド(第13b図
のブロック1335にも示される)からなり、この場合
、Aフィールドは次のアドレスの上位6ビットであり、
Bフィールドは64方向のブランチのマスクフィールド
の次のアドレスの中間の4ビットであり、Cフィールド
は64テストの1に対する6ビットのテストフイールド
、Dフイールドは64テストの1に対する別の6ビット
のテストフィールド、Lフィールドは最低位のビットで
ある。
Kフイールド1328は14ビットフイールドで、その
内の6ビットは定数フィールド、4ビットは定数又は操
向フィールド用であり、4ビットは定数の為の操向フィ
ールドである。バスへのデータフイールド1329は、
QMBバス1344のQA部分に対する情報を制御する
為の4ビットを有するQAフィールドと、QMBバス1
344のQB部分に対する情報を制御する為の4ビット
を有するQBフイールドとからなる。Fフイールド13
30は、マイクロ演算サブ指令を生成する様コード化さ
れる32ビットのフィールドである。Pフィールド13
31は、チェック用にリザーブされた4ビットからなる
。作用においては、マイク。
命令ワードは制御記憶配列1333に記憶される。
1演算サイクルの間、制御記憶配列は、KSアドレスレ
ジスター337の内容によりアドレス指定される。
これは、アドレスにより指定されるロケーションの内容
を議出しラッチのグル−プに読込ませる。読出しラッチ
のワード内容の部分は、CPUにおける機能装置の各々
の内部の記憶レジスタに対して配分則ち転送される。各
機能装置は、システムクロツクソースの制御下の制御記
憶ワード‘こより指定される要件サブ指令を生成する為
のデコード用論理回路を含んでいる。一般に、デコード
操作は、ヂコード時間を最少限に抑え、もしデコード操
作が中央部で行われる場合指令信号を伝達する為に通常
必要となるケーブル数を減少する為、中央部で行う代り
にCPUの各機能装置内で行われる。更に、このデコー
ド操作は、ケーブル遅延の差から生じるタイミング上の
問題を回避する為各装置内で行われる。
更に、各装置によりサブ指令をデコードする事により、
機能装置内に存在するある条件を表示するこれ等の信号
はあるサブ指令の生成に必要でなく、信号はCIA装置
1302に戻される必要はない。典型的なデコーダ装置
1359は、マイクロ命令ワードから各種のフィールド
を受取り、マイクロ信号a,b,c,d,・・・・・・
・・・・・・・・・q,rを生成する様に第13b図に
示されている。
典型的なマイクロ演算デコーダ1359は、マイクロ命
令ワードからの指令を受取る。このマイクロ命令ワード
のフィールドは、デコードされ、複数個のs,t,u,
・・・・・・・・……・y,zの回線の1つを高レベル
にセットする。マトリックスは、点Q,8,y,………
……心,のにおけるS〜Z回線に対して予め定められた
制御回線インピーダンスを連結させる事により形成され
る。従って、多くの場合マイクロ命令からのフィールド
がデコードされる時、回線S〜Zの1つが高レベルとな
る。ギリシャ文字Qからのによりマトリックス内に示さ
れる黒点が2セットの回線間に接続するインピーダンス
を示すから、いずれかの水平線に沿って進む電気信号は
、インピーダンス結合点(黒点)が示される垂直線a〜
rに沿って進む様に接続される。
各垂直回線a〜rは、次にANDゲート1360〜13
65の各々に対する1入力として接続される。他の入力
信号は又、中央部のタイミング装置からの調時信号りを
含むANDゲート1360〜1365に接続出来る。従
って、各調時信号tsが高レベルになると、他の全ての
入力信号が高レベルであるこれ等ゲートは、駆動され、
CPU‘こおける予め定めた機能装置に対してマイクロ
命令信号を与える。
例えば、議出しラツチ1357からの指令1341がデ
コードされ、水平回線が高レベルであるならば、a,b
,cおよびqの垂直制御回線は高レベルとなり、AND
ゲート1360,1361,1362および1364は
、ts調時信号がこれ等のゲートに順次与えられる時、
駆動される事になる。
従って、垂直制御回線がギリシャ文字び乃至ので表示さ
れた異なる点において水平制御回線に接続される組合せ
は、制御記憶配列1333から与えられたマイクロ命令
により中央処理装置内の各機能装置を制御する為に中央
処理装置CPU‘こ対してマイクロ演算信号を与える為
の恒久的なスイッチ作用マトリックスを表わす。この様
に、択一性を特徴とする恒久的なファームウェアは、コ
ンピューターシステムの能力として必要とされるマイク
ロ演算のシーケンスを単に指定する丈で、本発明の機械
に組入れる事が出来る。
通常の条件下では、データは、局部レジスタYO134
3としても知られるCPU書込みデータレジスタを介し
て制御記憶配列1333に書込まれる。
制御フロツプ(図示せず)は、記憶装置の配列の上半部
か下半部のいずれかに書込まれるべきかを規定する。制
御兼ロード装置CLU1304からのデータは、保持バ
スQMB1344を介してCIA/CSUに到達し、制
御記憶装置配列1333に書込まれる以前に記憶局部レ
ジスタYO1343によりバッファされる。この記憶局
部レジスタ1343は、読出しおよび書込み用局部レジ
スタの両用に時分割される。マルチプレクサKQM13
45は、保守パネル1355かマイクロ診断のいずれか
により制御され、これに接続されるレジスタからの議出
し経路を与える。比較レジスタKP1350は、非機能
的用途を与え、主として保守目的に使用され、比較ロジ
ック1352とデコードロジツク1351に沿って使用
される。H プロセスの制御用ディスパッチャフアーム
ウエアこのディスパッチャは、その主目的が、各プロセ
スの各種のキューを管理し、各プロセス間をスイッチし
、各プロセスとプロセス制御ブロックPCBとシステム
ベースの実行プロセスワードと新しいプロセスのレジス
タのキューの更新を含んでいる。
これは又、メッセージを、1セマフオアで実際にこれを
待機する1プロセスに送る(V動作、又はIOCに対す
る、又は例外取扱装置に対するシミュレ−トされたV動
作の後)。又、このディスパツチャは、プロセスが自由
リンクセマフオアで待機してそのメッセージを送る時メ
ッセージリンクを自由にしたP動作の後、セマフオアに
おいてメッセージをキュー化する。このデスパッチヤ装
置は、更にネーティブモードで実行するプロセスの「ロ
ールィン」の後、あるいはもし現行プロセスが実行状態
を維持してネーティブモードで実行中であれば、「競合
」状態の後、ネーティブモードの命令ファームウェアを
呼出す。
又、これは下記の呼出に対するデコール拡張を呼出す。
即ち、【a’前記デコール拡張において実行中のプロセ
スのロールアウトの間の一時的呼出し【bー 前記デコ
ール拡張において実行中のプロセスのロールインの間の
一時的呼出し‘c} 前記デコール拡張において実行中
のプロセスのロールィンの終りにおける規定呼出し {d} 現行プロセスが実行状態を維持し前記デコール
拡張において実行中である場合、競合状態の後の規定呼
出し である。
更に、このディスパツチャは、実行中のプロセスがない
時アイドルループにシステムをおく。
「ディスパツチャのェントリ又は離脱
には、以下の如きいくつかの方法がある。
即ち、‘1} 初期設定手続き(SIP)は、最後のス
テップとしてのェントリを支える(本願と同じ談受人に
譲渡された「システム初期設定手続き」と題する米国特
許出願第528814号参照)■ 始動および停止命令
は、ディスパッチャへのェントリを行う。
始動命令はプロセスを始動し、停止命令はプロセスを終
了させる。
(「プロセス管理」と題される米国特許第592253
号参照)‘31 PおよびV動作は、ディスパッチャへ
のエントリを行う。
POPはセマフオアからのメッセージをピックアップし
、もしメッセージがなければプロセスは待機状態に入る
(「セマフオアにおけるPおよびV動作」と題する米国
特許出願第529017号参照)次に、要約すれば、デ
ィスパッチャは、どのプロセスが実行されるべきかを決
定し、次に現行プロセスのロールアウトの如き適当な動
作(即ち、ハードウエアレジスタ、スクラツチパッドメ
モリー等に含まれる現行プロセスに対する全情報をPC
Bに書込む)を行い、新らしいプロセスをロールィンす
る(即ち、新らしいプロセスに必要な全情報を各種のハ
ードウェアレジスタ、スクラッチパッドメモリ一等にP
CBから書込む)事により、プロセス従ってプロセス制
御ブロックPCBを管理する主要機構である。
ディスパッチャにより実施されるファームウェア(即ち
制御装置)における諸動作の表示は、第14a〜14i
図のフローチャートに示される。例えば、第14a図の
ブロック1402は、ディスパッチャにより実施される
動作の一表示であり、この場合、マイクロプログラムワ
ードは、制御記憶装置により送られ、デコーダ1359
によるデコードと同時に適当な一連のマイクロ演算信号
1360,1361等を介してCPUの適用可能部分を
制御して、記憶サフシステム102におけるシステムベ
ースからIPOWを検索し、これをスクラッチパツドメ
モ1′−1315に転送する。同時に、ディスパッチャ
は、システムベースにおけるG表ワードGTWにより指
示されるセグメントディスクリプタのG表からGOセグ
メントディスクリプタ(第12図参照)をフェッチする
1404。IPQWワードのビット1 6〜3 1は、
GOセグメントと呼ばれるGセグメント番号0のベース
から作動可能プロセスキューQ/PR/RDYの頭部(
最初のバイト)への変位である16ビットの正の整数を
含む。把QWワードのビット16〜31が0である1.
403場合、作動可能キュー‘ま空と見倣される。もし
この作動可能キューが空である時、Q/PR/RDYに
は現在待機中のプロセスがなく、作動可能キューは空で
ある事を示す。決定ブロック1405において決定され
るべき次の質問は、空ィンジケ−夕がセットされるかど
うかを決定する事によりプロセスが現在機械において実
行中であるかどうかと云う事である。空インジケータが
セットされる(即ち、現在実行中のプロセスがない)場
合、プロセサの使用を待機中の作動可能キューにはプロ
セスがない事を前以て決定されるから「従って機械はア
イドル状態に入る1406。然しながら、もし現在実行
中のプロセスが機械にあるが、機械の使用を待機するプ
ロセスがない場合、現行プロセスはその次の命令をアク
セスする1403。次に、第14a図のフローチャート
の決定ブロック1403において、IPQWのポインタ
領域(即ち、ビット16〜31)における正の整数があ
るならば、GOセグメントにおけるIPQWワードによ
り指示される作動可能キューの頭部がスクラッチバッド
メモIJ一にフェッチされる。
(注、重複を避ける為、又明確にする為制御装置とCP
Uとに関連するディスパッチャの中間的機能については
省略するが、前に例示として記述した如きこの様な中間
的機能は一般に存在するものである事は了解すべきであ
る。これ迄に作動可能キューに待機するキューがいくつ
かある事は決定された。これ以上の動作が起る前に、中
央プロセッサで現在実行中のプロセスがあるかどうかを
確定する必要がある。この事はフローチャート表示の決
定ブロック141川こおいて確定され、もし中央処理プ
ロセサ(即ちCJPではない)において現在実行中のプ
ロセスがない場合は、作動可能キューの頭部が実行され
る1412。然しながら、中央処理装置に実行中のプロ
セスがあると、ディスパッチャはどのプロセス、即ち現
在実行中のプロセスが作動可能キューの先頭部か−が優
先順位を有するのかを決定しなければならない。従って
、システムベースPCB400の実行中のプロセスに位
置される現在のプロセス(CJP)の優先順位バイトが
フェツチされる1413。次に、現在実行中のプロセス
CJPが、作動可能キューの頭部で待機中の新らしいプ
ロセスNJPよりも優先順位が低いかどうかについて決
定がなされる1414。(決定ブロック1414)もし
CJPがNJPよりも低い順位でなければ、CJPは中
央処理装置の制御下に残留し、競合ィンジケータがリセ
ットされる1415。(この競合ィンジケータは、最後
の命令の開始部がCJPの代りに実行され、これにより
競合の可能性が生じる為、1つ以上の新しいプロセスが
作動可能キューにおかれた時を除いて常に0にセットさ
れ、これ等条件下では競合ィンジケー外ま2進数1にセ
ットされるが、他の命令を実行する以前に、CJPがデ
コール例外モード1415において実行中であるかどう
かの決定が行われる。もしCJPがデコール拡張モーで
実行中である場合は、次の命令がエミュレーションモー
ド(即ちデコール拡張)で実行され、もしデコール拡張
モードで実行されない場合は、次の命令はネーティブモ
ードで実行される。再び決定ブロック1414に戻って
、作動可能キューのヘッドにNJPがCJPよりも高い
優先順位を有する場合(即ち、その優先順位番号がCJ
Pの順位番号より低い場合)、現行プロセスCJPは機
械から「ロールアウト」されて、新らしいNJPが機械
に「ロールィンJされる。従って、ファームウェア優先
順位サブルーチンPRIQ1418は、現行プロセスC
JPのキュー化状態を、LIFO順位により、又ファー
ムウエアサブルーチンRLLO1419の方向下のCJ
Pを最初に「ロールアウト」する事による優先順位番号
により作動可能キューに指向させる。
RLLOサブルーチンは、汎用レジスタ、ベースレジス
タ、科学計算用レジスタ、Tレジスタ、状態レジスタ、
および命令カゥンタ内に記憶されるCJPの情報の書込
みを、主メモリーにおけるプロセス制御ブロックPCB
の適当な記憶域に対して逆方向に指向させ、これがRU
Aの更新を指向する。更に、PCB400におけるプロ
セス主ワード0(PMWO)のDEXT数は更新される
1420。新らしいプロセスNJPはこの時「ロールィ
ン」される用意が出来ている。境界アドレスレジスタB
ARがフェッチされ1 422、実行プロセスワードR
PWがシステムベースのアドレスBARプラス56から
フエツチされる。フロック1423参照。新らしいプロ
セスNJPのネームが次に実行プロセスワードRPWに
書込まれ、新らしいプロセスNJPのネームがQ/PR
/RDYのプロセスリンクPLに書込まれた為、プロセ
スリンクPLにおけるネームは従ってRPWにおかれる
(ブロック1424)。従って、作動可能キューからの
NJPはCJPとなり、中央処理装置を制御する準備が
出来、従ってこれ以上Q/PR/RDYに待機せず、Q
/PR/RDYのプロセスリンクPLからそのネームを
取出す事によりキューから外される(ブロックI425
)。これが行われると、作動可能プロセスのキューQ/
PR/RDYは、フアームウエアのサブルーチンUQL
Kにより更新される(1425a)。従って、機械から
取出された許りのプロセスのJP数は、もはや機械の制
御下になくかつこれを待機しなければならない(142
6)為、Q/PR/ROYにおけるプロセスリンク内に
おかれる。この時点で、中央処理装置のこの制御を新ら
しいプロセスに与え、元のプロセスを作動可能キューに
おく転位が行われ、中央処理装置の制御下のプロセス(
新らしいCJP)がある為、空のィンジケータは0にセ
ットされ(1427)、一方中央処理装置の制御下のC
JPがない場合は、空ィンジケータは1にセットされる
事になる。
この時点では、処理装置の割当てが完了し、元のプロセ
スが作動可能キューにおかれたのに対して、新らしいプ
ロセスは作動可能キューに入るが、この新らしいプロセ
スは、汎用レジスター307、ベースレジスタ1308
、科学計算用レジスタ1309、Tレジスタ1310、
状態レジスタ1311、および命令カウンタ1312の
如き中央処理装置のハードウェアに対して未だ実行する
用意が出来ず(第13a図の1306)、新らしいプロ
セスのプロセス制御ブロックからの制御情報を与えられ
ねばならない。従って、ファームウェアのサブルーチン
1430は、CPUを制御し、最初にPCB(第4図)
からスクラツチパツドメモリー1315にPMW3をフ
エツチし、次いでPMWOをフェツチする。
PMWOのMBZフィールドがチェックされ(1433
)、もしこれが2進数0でないならば、違法のPCB例
外動作が生じる。然しながら、PMWOのMBZフィー
ルドが0であれば、PMWIがフェツチされる(143
4)。再び、PMWIのM舷フィールドは、2進数0で
あるかどうかを決定する為にテストされる。もしこれが
2進数0でなければ、違法のPCB例外動作が生じるが
、もしこれが0に等しければ、デイスパッチヤはCに進
む。従って、アドレススペースワード0(ASWO)が
PCBの適当なスペースからフェッチされ、セグメント
表ワードサイズSTWSZがテストされ(1437)、
これが7よりも小さいかどうかを決定する。
もしこれが7よりも大きければ、違法のPCBが生じ、
もし7より小さいか等しければASWIがPCBからフ
ェツチされ(ブロック1438)、そのSTWSZフイ
ールドがテストされ(1439)これが8より小さいか
等しいかを決定する。もしそのフィールドが8より大き
ければ、違法のPCBが生じるが、もしSTWSZフィ
ールドが8と等しいかこれより小さい場合は、例外ワー
ドEXWがフェツチされ(1440)、そのM故フィー
ルドがテストされてそれが0と等しいかどうかを決定す
る。もしM皮フィールドが0に等しくなければ、違法の
PCBが生じるが、もし0に等しければ、スタツクワー
ドSKWがフェツチされ(1442)、そのMBZフィ
ールドがテストされ(1443)て、0に等しいかどう
かを決定する。MBZフィールドが0に等しくない場合
、違法のPCBが生じるが、0に等しい場合は、命令カ
ウンターワードICWがPCBからフエツチされ、命令
カウンタICにおかれ、そのTAGフィールドがテスト
されて0に等しいかどうかを決定する(1445)。も
しTAGフィールドが0に等しくないならば、違法PC
Bが生じる。然しながら、TAGフィールドが0に等し
ければ、MBZワードがフエツチされ(1446)、そ
のMBZフイールド(ビット0〜31)がテストされて
0に等しいかどうかを決定する(1447)。もしこれ
が0に等しくない場合、スタツクベースワード0.1お
よび獲BW0,1および2がフェツチされる(1448
)。次にPCBのベースレジスタ保管城における8ベー
スレジスタの内容がフェッチされ(1449)、機械の
ベースレジスタ1308に記憶される。次いでPCBの
汎用レジスタ保管城からの16の汎用レジスタの内容が
フェッチされ(1450)、機械の汎用レジスタ130
7に記憶される。然しながら、科学計算用レジスタの内
容をフェッチする以前に、プロセス主ワード0(PMW
O)の能力バイトについてチェックがなされて科学計算
モードが使用されているかどうかを決定する(1451
)。もし科学計算モードが使用される場合は、PCBの
科学計算用レジスタ保管域からの科学計算用レジスタの
内容がフェツチされ記憶される(1452)。次に、フ
ァームウェアが進行して、PMWOの能力バイトのチェ
ックを行い、アカウントモードが使用されているかどう
かを決定する(1453)。もしアカウントモードが使
用される場合(即ち、2進数1にセットされた能力バイ
トのアカウントビツト)、このアカウントワードはPC
Bに存在し、作動可能時間アカゥントワードRTAが更
新される。次に、ファームウェアは、DEXT数が0に
セットされるかどうかを決定する為進行する(1454
)。もしこれが0にセットされる場合、機械がエミュレ
ーションモードにあり得る(即ち、デコール拡張能力が
使用されている)事を示し、従ってPMWOのDEXT
数がチェックされ(1455)、プロセスの主ワード3
のDETSZフィールドより大きいか小さいかを決定し
、もしこれがDETSZフィールドより大きい場合違法
のPCB例外(1456)が生じ、DEXT数がDET
SZフィールドより4・さし、が0に等しくない為、機
械は適正なエミュレーションモードで実施されHこ進行
する。決定ブロックi454に戻り、もしDEXTフィ
ールドが2進数0であれば、ネーティブモードが実施さ
れ、機械はSTWをフェッチする(1457)。PCB
の残り時間切れワードRTOがフェツチされ(1458
)、CJPが実行状態で消費し得るタイムリミットでプ
ロセスタイマーがロードされる。この時点迄に、【a)
元のプロセスCJPが機械に存在し、新らしいプロセス
NJPが元のプロセスCJPよりも高い優先順位にあっ
た場合に、新らしいプロセスNJPが「ロールイン」ご
れてCPUの制御を受けるか、(b}CPUの制御下の
CJPがなく、作動可能キューの頭部が実行されるかの
いずれかである。
要約すれば、条件‘a}下では、CJPはRPWから取
出されてQ/PR/RDYにおけるプロセスリンクPL
におかれ、Q/PR/RDYにおけるプロセスリンクP
LにおけるNJPがRPWにおかれ、こうして制御を行
う2プロセスの位置をこの時CJPとなるNJPに有効
に切替え、元のCJPの制御を外す。次いで、NJPの
PCBがアクセスされ、NJP(現在のCJP)を実行
するのに必要な情報がスクラッチパッドメモリーかAC
Uのレジスター列におかれる。もしCPUの制御下のC
JPがない場合(条件b)、作動可能キューの頭部が実
行される−即ち、NJPを作動可能キューの頭部からの
プロセスリンクPLから取出してこれをRPWワード‘
こおくディスパツチヤの為、NJPはCJPになる。
これが行われる事により、プロセスリンクPLはQ/P
R/RDYで空の状態に放置され、これを取出す事が必
要となる。従って、決定ブロック(1461)において
始まり、ファームウェアは、CPUの制御下のCJPが
あったかどうか、又自由なプロセスリンク(FPLS)
があったかどうかを決定し、アクセスされかつキュー化
され、CJPはその内部に書込まれた。
然しながら、もしCPUの制御下のCJPがなかった場
合、NJPのPMWOの状態バイトが更新され(146
0)、再び機械の内部にCJPがあったかどうかの決定
が行われる(1463)。もしプロセッサの制御下のC
JPがなかった場合、NJPのプロセスリンク(これは
Q/PR/RDYにあったものが現在は機械の制御下に
ある)がQ/PR/RDYから取出され(即ち、Q/P
R/RDYのキューから外される)、自由リンクセマフ
オァFはPとなり、この時点で自由プロセスリンクキュ
ー(第9図の805)にキュー化され、自由プロセスリ
ンクキューの一部となる(1466a)。境界アドレス
レジスタBARの内容はフェッチされ(1464)、シ
ステムベースのBARプラス56に位置されるNJP(
現在CJP)の実行プロセスワードRPWが、RPWに
NJP識別をおく事により更新される(ブロック146
5)。空のィンジケータは、CJPがなかった場合、0
にセットされる。次に、競合ィンジケータが0にセット
され(1467)、典型的な内容アドレス指定可能メモ
リーであるセグメントアソシェータ(第1図のAS13
2)がクリヤされ(1471)次いでプロセスモードが
ェントリされる(1470)。(プロセスモード‘ま、
オベレーテイングシステムによる代りにプロセサ内で演
算するプロセスにより例外操作が取扱われる事を示す)
次いで、ファームウェアはCABに継続し(1480)
、非同期トラツプビツトABが、2進数1にセットされ
ているかどうかを決定する為チェックされる(1481
)。もしABビットが2進数1にセットされるならば、
プロセスリング数PRUが非同期トラップピットARN
より大きいかかつこれと等しいかどうかを決定する為チ
ェックが行われる(1482)。(ABおよびARNは
各プロセスのPCBの優先順位バイト内に位置され、プ
ロセスが実行状態にある時有意義であり、ABおよびA
RNはシステムベースのBARプラス56に位置された
RPWから得られぬ)RPWのBARプラス56におけ
るABおよびARNは、非同期トラップビット又は非同
期リング番号を最初にセットさせる諸条件を管理する非
同期トラッブルーチンに対して次のステップ1484が
進行する為、リセットされ、もしこれ等がリセットされ
なければ、ファームウェアによる次のパスにおいて、実
際に何ら謀りがなかった場合誤りがあったとの表示を与
え、従って常に非同期トラツプルーチンに進行し(14
84)、決して実行しない。次に再び決定ブロック14
81と1482に関しては、ABビットがセットされあ
るいはセットされなければ、PRNはARNより大きく
なく、ファームウェアは、プロセサがどのモードで、即
ち適状のモード又はエミュレーションモードで実行する
かを決定する様に進行する。従って、DEXh数がチェ
ックされて、0にセットされるかどうかを決定し、も0
にセットされるならば、機械の通常のモードが実行され
る(1487)。※しながら、もしDEXT数が0にセ
ットされなければ、エミュレーションモードが実行され
る(1486)。ハードウエアノフアームウエアシステ
ムは、セット演算で操作される2つの基本的タイプのレ
コードを識別する。
これ等2つのタイプのレコードは、第15A図に示され
た仮想メモリーのレコードと、第15B図に示すデータ
ベースレコードである。仮想メモリーのレコードは、一
般に各レコードがセグメント化されたアドレスによりア
ドレス指定出来るオペレーティングシステム手続きに対
し内部で使用される。データベースレコードは、「領域
−ページ一行番号」を用いてそのデータレコードをアド
レス指定するユーザープログラムにより更に一般的に使
用される。即ち、「領域一番号はユーザ「ファイルを照
合し、「ページ一番号はそのデータファイル内のディビ
ジョンを、更に「行」番号は前記ファイルの前記ページ
内の特定のレコ−ドを参照する。第15A図に示す如く
、仮想メモリーレコードは下記のフィールドからなる。
即ち、「タイプ」フイールド1501は、レコードタイ
プの記述であり、このレコードのレコードディスクリプ
タ(以下に記述する)から得られる。仮想メモリーレコ
ードのDスイッチフィールド1502は、レコードの状
態を記述する。このレコード‘ま、下記の状態をとる事
が出来る。即ち、「アクティブ」(これはしコードが現
在有効データを含む事を意味する)、および「論理的に
削除」(レコードがもはや有効データを含まないが、依
然としてメモリースペースを占める事を意味するである
。「長さ」フィールド1503は、レコード内の実際バ
イト数を記述する。レコード体1504は、レコードの
実際データを含む。ポインターシーケンスフイールド1
505はしコードボディの一部であり、これは、レコー
ドがオーナかメンバーかのいずれかであるセットの次の
、前の、最初の、最後の、およびオ−ナーレコードに対
するポインタを含み得る。ハードウエア/ファームウエ
アシステムより識別されるレコードの第2の主なタイプ
は、第15B図に記述される如きデータベースである。
このタイプフィールド1510は、再びレコードのタイ
プを記述し、以下に記述されるレコードのレコードディ
スクリプタから得られる。「長さ」フィールド1511
は、バイトにおけるレコードの長さを記述する。このレ
コード体1512は、レコードの実際データを含む。ポ
インターシーケンス1513は、セットの次の、前の等
のレコードに対する各ポインタを含んでいる。又、別個
に記録される各レコードに対するDスイッチフィールド
1604があり、これについては以下に記述する。更に
、第15C図および第15D図は、レコードのポインタ
ーシーケンスのフオーマツトを記述する(第15A図の
フィールド1505と、第15B図のフィールド151
3)。
ハードウエア/フアームウエアシステムは、2つの異な
るポインターシーケンスフオーマツトを識別し、その1
つメンバーレコードに対して識別されたシーケンスであ
る第15C図と、他の1つはしコードがオーナーレコー
ドである時の第15D図である。メンバーレコ−ド(第
15C図)については、「次のポインタ」フィールド1
520は、セットにおける次のメンバーのアドレスを含
む。「前のポィンタ」1512は、現在セットの前記メ
ンバーのアドレスを含んでいる。「オーナーポインタ」
フイールド1524は、セットのオーナのアドレスを含
んでいる。オーナーレコードについては、ハードウエア
/ファームウェアにより識別されたポインターシーケン
スフオーマットは簾i5D図に示される。「最初のポィ
ンタ」フィールド1532は、セットの最初のメンバー
レコードのアドレスを含んでいる。「最後のポィンタ」
フィールド1533は、セットの最後のメンバーのアド
レスを含んでいる。記述された各ポィンタ(次の、前の
、オーナーの、最初および最後の)は選択自在である。
然しながら、支えられたセットのみについては、以下の
組合わせが適当である。即ち、ケース1:オーナー又は
メンバーレコードに対する最初、最後、次の、又は前の
ポィンタはない(メンバーレコードは、オーナーポイン
タを有する)ケース2:オーナーレコードは最初のボイ
ンタを有し、メンバーレコードは次のポィンタを有する
(メンバーレコードはオーナーレコードを持つか持たぬ
かである)ケース3:オーナ−レコードは最初と最後ポ
ィンタを有し、メンバーレコードは次のポィン夕を有す
る(メンバーレコードはオーナーレコードを持つか持た
ぬかである)。
ケース4:オーナーレコードは最初および最後のポィン
タを有し、メンバーレコードは次および前ポィン夕を有
する(メンバーレコードは、オーナーポインタを持つか
持たぬかである)。
ハードウエア/フアームウエアシステムの別の特性は、
ポィンタの4つの異なるクラス又はフオーマットのその
認識である。
レコード内には、これ等のクラスは「クラス零」(仮想
メモリーレコード用のみに用いられる)と、「クラス1
」(仮想メモリーレコード用のみに用いられる)と、「
クラス2」(データレコード用のみに用いる)と、「ク
ラス3」(データベースレコード用のみに用いられる)
と呼ばれる。全ての4つのポインタークラスは、その最
初の2つのビットにおいて共通の意味を有する。
最初のビット(EOSビット)は、「エンドオブセツト
」インジケータである。このビットが1にセットされる
時、規定によりこのポィンタは、オーナーレコードを指
示する。2番目のビット(NINSビット)は、「レコ
ードが未挿入」のインジケータである。
このビットが1にセットされる時、このレコードは参照
されているセットの1メンバーとして現在挿入されてい
ない。NINSビットのセット及びリセットは、レコー
ドのリングがセットを構成する時の機能であって、本発
明にとって重要でないので説明を省略する。
クラス零ポインターフオーマットは、第15E図に示さ
れる。
EOSビット1540と禾挿入ビット1541は、最初
の2ビットポジションを占める。SRAフィールド15
42はオフセットされた14ビットで、これは与えられ
たセグメント内の変位で、そのセグメントに位置するレ
コードを指示する。クラス雰ポィンタから得られるSR
Aフィールドは、常にセグメント番号と一体となり、こ
のセグメント番号は一般にクラス雫ポィンタを介して各
レコードをアドレス指定する際使用されるベースレジス
タから得られる。クラス1ポィンタは第15F図に示さ
れる。
EOSビット1 550と未挿入ビット1 551は、
標準的な規定操作である。フィールドSEG、SRA1
552は、前に規定された様なSEG、SRAを有する
標準的なセグメント化されたアドレスからなる。
これ等のポィンタは直接レコードをアドレス指定する為
に用いられ、セグメソトト番号はポィンタを介して直接
供給される。データベースレコードと共に使用されるク
ラス2およびクラス3のポインタについては、ファーム
ウェア/ハードウェアシステムは、前述の如きシステム
の各ベースレジスタ(第2図の202参照)と共に関連
するインデックスレジスタがあると云う規則を認識する
汎用レジス夕8〜15,201はそれぞれインデックス
レジスタ0〜7と対応する。このインデックスレジスタ
番号IXRiはベースレジスタBRiとマッチさせられ
ている。例えば、ベースレジスタBR3に関しては、イ
ンデックスレジスタIXR3(GRII)は、その現行
SEG、SRAアドレスがベースレジスタBR3に含ま
れる事になる「領域−ページ−行」番号ポィンタ(第1
5日図参照)を含む事になる。この様に、ユーザは、S
EC、SRAアドレスを有するベースレジスタか、「領
域−ページ一行」フオーマットのインデックスレジスタ
に含まれる様なデータベースポインタのいずれかを介し
て、ユーザのレコードをアドレス指定する事が出来る。
データベースレコードで動作するハードウェア/ファー
ムウェア命令は、「領域一ページ一行」ポィンタからS
EC、SRAアドレスに自動的に変換する能力を編成す
る。
従って、データベース命令により行われる全ての実〆モ
リ参照は、セグメントおよびSRA番号を用い、必要に
応じてハードウェアにより自動的に行われるインデック
スレジスタに含まれる如き「領域一ページ一行」からの
変換を用いて、メモリーをアドレス指定する標準ハード
ウェア機構を用いる。ユーザーファイル(領域)におけ
る1「ページ」と、ハードウエア/フアームウエアによ
り認識される如き「セグメント」との間には、一時的な
1対1の対応がある。
クラス2ポィンタフオーマットは第15G図に示される
。EOSおよび未挿入ビットはフィールド1560と1
561に示される。「ページ一番号はフィールド156
2に含まれる。「行」番号は、フィールド1563に示
され、ページおよび領域内のレコードの番号を表示する
。完全な「領域−ページ一行一番号ポィンタは、データ
ベース命令により参照される事になるインデックスレジ
スタから得る。「領域一番号の取得によりクラス2レコ
ードを用いる時、得られる。クラス3ポィンタフオーマ
ットは第15日図に示される。
EOSと禾挿入ビットは、フィールド1570と157
1内に示される。領域番号はフィールド1572に示さ
れる。これは、ユーザーファイル番号を参照する。「ペ
ージ」番号1573と「行」番号1574は、ユーザー
ファイルにおける特定のレコードをアドレス指定する。
第16A図は、ハードウェアノフアームウェアシステム
により認識される如きユーザーファイル(領域)の一部
であるデータベースページを図示する。
データベースページは、前に第15B図に記述したデー
タベースレコードを含んでいる。前述の如く、データベ
ースのページが主メモリー内に存在する時、データベー
スとセグメント間に1対1の対応性がある。ページのへ
ッダ1601は、それが含まれるページに関するある情
報を含む。
例えば、これは、バイトのページ長さと、ページ内に含
まれるレコードの数(行)をも記述する事になる。又、
これは、主メモリーに含まれていた時、ページへの書込
みと同時にセットされる書込みビットの如き情報を含む
。ページヘッダに続いて、データベースのページの次の
主な部分は桁オフセット列1602である。これは、1
6ビットの要素の列で、ページに対する有効行数と1対
1の関係で対応する。行オフセット列の各要素に対して
は、2ビットのDスイッチ1604と14ビットのオフ
セット1603がある。このDスイッチは、レコードの
状態について、ィンァクティブ、論理的に削除、物理的
に削除、又はアクティブである等と記述する。オフセッ
トは、ページの初めからの相対的な変位であるレコード
に対する14ビットのポインタである。ハードウェアは
、このページに対応するセグメント番号と並列に配置さ
れたオフセットを用いてこのページにおいてデータベー
スレコードをアドレス指定する事が可能である事が判る
。データベースページの残りの部分は、レコード161
0としコード1612に示される如き実データベースレ
コードからなる。これ等のレコードは、ページ(セグメ
ント)のどの部分に位置指定出釆、必らずしも行オフセ
ット列におけるその位置と同じ順序にない。もし、Dス
イッチがレコードの状態についてィンアクティブ又は物
理的に削除されたと記述する場合は、オフセットは零に
セットされ、レコ−ドは存在しない。実データベースペ
ージは、第16B図に示す如く「ページディスクリプタ
」によりアドレス指定される。ページディスクリプタの
「セグメント番号1625は、これが主メモIJ一にロ
ードされた後、このページ番号に対応するセグメント番
号を含んでいる。「領域番号」1622は、このページ
の領域番号(ファイル)を含む。「ページ番号」162
4は実ページ番号である。「最後のページィンジケータ
」1626は、与えられた領域の最大のページ番号に対
して1に等しい。「シフトカウント」1623は、ペー
ジ数のビット番号を含んでいる。ハードウェア/ファー
ムウェアシステムは、「領域一ページ一行」ポインター
フオーマットを使用する時、可変長のページ番号を認識
する。「次のデイスクリプタ」1620は、ページデイ
スクリブタのチェーンにおける次のページディスクリプ
タに対して指示する様に使用される。「前のディスクリ
プタ」1621は、ページディスクリブタチェーンにお
ける前のディスクリプタを指示する。これ等のページデ
ィスクリプタチェーンの使用については、以下に記述す
る。このページデイスクリプタチエーンは、ファイルの
どのページが現在コンピューターシステムの壬〆モリー
に位置されていろを示す為に使用されるハードウェアノ
フアームゥェア機構である。
メモリーに存在する各ページについては、ページディス
クリプ外ま、第16C図に示される統合アクセス制御ボ
ィンタにより指示される単一のシステムの認識するチェ
ーン内に位置される。この統合されたアクセス制御ポィ
ンタは、前述のシステムベースに対する1ワード拡張を
示す。IACポィンタはアドレスBARブラス92に位
置され、これはシステムベースの端部を1ワード越した
位置にある。IACポィンタのフオーマットは、「零で
なければならない」フィールド1630と、G番号16
31と、「変位」1632とを含んでいる。G番号は、
前述の如きGセグメントの1番号である。この「変位」
は、ページディスクリプタリングの最初部分が開始する
前記Gセグメント内の変位である。主メモリー内に含ま
れる全ページのページディスクリブタは、次いで一緒に
従来周知のチヱ−ンフオーマツトにリンクされる。次の
ディスクリプタおよび前のディスクリプタのフィールド
はリンクを形成する。第17図は、主メモリーにおける
データベースページのロケーションを編成する為のハー
ドウェア/ファームウェアフローチヤ−トを示す。
このファームウェアは、「領域一ページ−行」番号ポイ
ンタをとり、このページが主メモリー内にあるかどうか
を最初に決定し、次に主メモリーに存在する事が判るか
どうか前記ページのページディスクリプタを送る為に使
用される。ファームウェアは1701に示される如くに
始動する。最初のファームウェア作用は、IACポィン
タの主メモリーフェツチがロケーションBARプラス9
2において行われる1702において示される如く生じ
る。
(IACポィンタは、第6図に示される如くシステムベ
ースに内蔵されている)このメモリーフェッチの結果と
して、メモリーアクセス例外1703が生じる。メモリ
ーアクセス除外の例は、物理的メモリー又はメモリー読
出しエラーから生じる。ファームウェアによりとられる
次のステップは、M欧フィ‐ルドが零である事をチェッ
クされる1704に示される。(第16C図参照)この
フィールドが零でない事が判れば、システムチェック1
705が生じる。システムチェックの発生と同時に、こ
のシステムは診断状態に入る。もしM旧Zフィールドが
零であれば、ブロック1706が次に実行される。
IACフィールドからのG番号は、一時レジスタGに転
送される。この変位フィールドは一時レジスタDに転送
される。この変位は又、「最初のポィンタ」と呼ばれる
ロケーションのスクラツチパツドメモlj−に転送され
る。ブロック1707が次に実行される。主メモリーの
フェッチはアドレスG、Dにおいて行われ、ページディ
スクリプタ(第16B図参照をフェッチする。このフェ
ッチは、前述の如くG、Dアドレス指定の規則に従って
行われる。G、Dアクセス例外1708は、このメモリ
ーフェッチ(例えば、セグメントから違法G−Dセグメ
ントディスクリプタ)の結果生じる。ステップ1709
は、ファームウェアにより次に実行される。ファームウ
ェアサブルーチンによりチェックされる「領域べ‐ジー
行一番号の領域番号とべ‐ジ番号は、マッチさせる為ペ
ージディスクリプタの「領域番号」フィールド1622
と、「ページ番号」フィールド1624に対して比較さ
れる。もし領域とべ‐ジ番号がマッチする場合、ブロッ
ク1710が実行され、この場合、ファームウェアルー
チンが、スクラツチパツドメモリーにロードされている
主メモリーから丁度フェッチされた許りのページディス
クリプタで終了する。現行のページディスクリプタの領
域又はべ−ジ数が、チェックされる「領域−ページ一行
」ポィンタの領域およびページ番号と等しくない場合、
ブロック1711が実行される。ページの現行のページ
ディスクリプタの「次のディスクリプター」フィールド
1620は、一時的スクラッチパッドロケーション「最
初のポィンタ」の内容に対してチェックされる。もしこ
れ等2つの数値が等しくなければ、ブロック1713が
実行され、この場合一時的レジスタDが「次のディスク
リプタ」フィールドと共に現行のページディスクリプタ
にロードされる。ブロック1713に続いて、ファーム
ウェアによるブランチ動作がブロック1707に対して
行われ、この場合新らしいページディスクリブタ(次の
ディスクリプタによりアドレスされたもの)は、現在フ
ェッチされ、続いてチェックされる。フロック1711
に戻り、次のディスクリプタが「最初のポィンタ」の一
時的スクラッチパッドロケーションの内容と等しい場合
、これは、メモリーに存在する全ページを記述するペー
ジディスクリプタの全リングが今やファームウェアによ
り探索されている領域一ページを見出す事なく実行され
た事を示す。
この場合、ページ付け例外動作が生じ(1712)、所
要のページが主メモリーに位置されない事を示す。この
例外動作に続いて、適当なソフトウェア作用が生じてこ
の所要のページを主メモリーに対して最終的に移転させ
る結果となる。次に第18図において、主メモリ−にお
いてデータベースページを位置指定する為の機構を実施
する為に必要なハードウェアに対するブロックダイヤグ
ラムが表示される。
この機構は位置指定ページ作動用フリップフロップ18
51のセットにより作動させられ、前記フリップフロッ
プは中央処理装置104の算術論理装置1317の補助
メモリー1317Aに位置される。前記の位置指定ペー
ジ作動用フリップフロップ1851をセットする以前に
、そのページディスクリプタが位置指定されるべき領域
ページ数が、領域一ページレジスタ1852にロードさ
れる。領域−ページレジスタの内容は、次に適正な領域
一ページディスクリプタが位置指定された時を検出する
為に使用される。位置指定ページ作動用フリップフロッ
プ1851の論理1に対するセット動作がANDゲート
1854を駆動し、この為境界アドレスレジスタ185
3の内容が加算器1856に入力される。
加算器に対する他の入力は定数92で、これはハードウ
ェアレジスタ1855に記憶される。加算器1856は
、中央処理装置104の算術論理演算装置1317に位
置される。加算器1856の出力は、ANDゲート18
57に接続されている。ANDゲート1857の駆動は
、加算器1856の内容をメモリーシステム1859の
メモリーアドレスレジスタ1858に転送させる。この
様に、BAR+92のアドレスは、メモリーアドレスレ
ジスター858に転送される。前述の如く、このアドレ
スは、システムベースに位置される統合アクセス制御ポ
ィンタのアドレスである。IACポインタは、メモリー
システム1859から読出される。位置指定ページ作動
用フリップフロップ1851からの出力信号は反転増中
装置1886により論理零に反転されて、この論理零は
更に、メモリーシステムの議出し/書込みフリップフロ
ップ1887を論理零にセットする(メモリー読出し動
作)為に使用される。この様に、メモリーシステムがメ
モリーアドレスレジスタ1858のロード動作を検出し
た後、メモリ一読出し動作が開始される。メモリー議出
し動作の結果、メモリーアクセス例外動作が生じ得る。
前述の如く、メモリーアクセス例外動作は、例外取扱機
構の作動を惹起する。この例外取扱機構は、もしこの様
な例外動作がメモリーシステムにより検出されると、メ
モリーアクセス例外フリッブフロップ1860のセット
動作により作動される。もしメモリー動作が通常の如く
完了すれば、メモリー動作完了フリップフロップ186
1が論理1にセットされて、メモリーから謙出されたI
ACポィンタの内容は、メモリーデータレジスタ186
2に転送される。このメモリー動作完了フリップフロッ
ブ1861は、次にANDゲート1863を介してメモ
リーデータレジスタの内容の転送を駆動する。IACポ
ィンタを表わすこれ等の内容は、第16C図に示す如き
フオーマットとなる。IACポインタのM旧Zフイール
ド1 630は、算術論理演算装置1317に位置され
るコンパレータ1865に接続される。
このコンパレータ1865は、M旧Zフィールドを2進
数0の数値を含むレジスタ1864と比較する。もし等
しくない条件が検出されると、システムチェックフリッ
ブフロツプ1866は数値1にセットされる。もしコン
パレータ1865が等しい条件を検出する場合は、等し
い信号は、G番号1631の転送を駆動し、ANDゲー
ト1867を介してIACポィンタの変位フィールド1
632をGレジスタ1873とDレジスタ1874に対
して駆動する。
Dレジスタ1874への転送の為の論理回路については
以下に記述する。位置指定ページ作動用フリップフロッ
プ1851のセット動作は、最初のフリップフロップ1
869のセッテイングを惹起する。
このフリップフロップは、数値1にセットされて、Dレ
ジスタ1874が最初にロードされる事を表示する。こ
の様に、最初のフリツプフロップ1869の出力は、A
NDゲート1867の出力に沿ってANDゲート187
1に接続され、前記ANDゲートはIACポィンタのD
変位フィールドを含んでいる。ANDゲート1871を
介して、IACポィンタの変位フィールドは、ORゲー
ト1872を介してDレジスタ1874に転送される。
最初のフリップフロップ1869の出力も又、ANDゲ
ート1 867(IACポィンタの変位フィールドを含
む)に沿ってANDゲート1868に接続される。この
様に、最初のポインターレジスタ1 870は、AND
ゲート1868を介して、このポィンタから得る最初の
変位数値でロードされる。最初のポインターレジスタ1
870の使用については以下に記述する。又、最初のフ
リツプフロツプ1869の出力は、自体のリセット入力
に接続される。この様に、最初のフリップフロッブが論
理1にセットされ、かつ最初のポインターレジスタ18
70とDレジスタ1878をロードさせた後、最初のフ
リップフロツプは次いで論理零にリセットされる。Gレ
ジスタ1873とDレジスター874や一たんロードさ
れると、G、Dアクセス機構1875が作動する。
この機構は、GおよびDレジスタにより与えられたアド
レスにおける主メモリーのフエツチをしてページディス
クリプタ(第16B図参照)をフェッチさせる。この機
構は、主メモリーをして、前述の如くアドレス指定する
G、Dの規則に従ってフェッチさせる。G、Dアクセス
例外動作は、このメモリーのフェッチの結果として生じ
得る(例えば、セグメントから違法G−Dセグメントデ
ィスクリプタ)。この様な例外動作が検出されると、G
、Dアクセス例外フリツプフロップ1876は論理1に
セットされ、これは更に例外取扱装置機構を作動させる
。さもなければ、G、Dアクセスの完了と同時に、機構
1875はフェッチされたデータをページディスクリプ
タレジスタ1877に転送する。ページディスクリプタ
1877に転送されたデータは、第16B図に示す如き
フオーマットである。ページデイスクリプタレジスタ1
877のロードの後、領域番号1622とページ番号1
624は、算術論理演算装置1317に位置されたコン
パレータ1878に入力される。
この時、ページ位置指定機構の開始時にロードされる領
域−ページレジスター852に位置された領域ページ番
号も又コンパレータ1878に入力される。もしコンパ
レータが一致する比較内容を見出すならば、所望のペー
ジディスクリプタがロードされ、機構その機能を完了す
る。この様に、コンパレータ1878の一致比較回線は
、位置指定ページ完了フリップフロッブ1879接続さ
れる。この信号は、このフリップフロップを論理1の状
態にセットして、ページ位置指定機構の完了を信号する
。もしコンパレータ1878が非一致条件を信号すると
、ANDゲート1880に接続された非一致信号は、次
のディスクリプタ1620のページデイスクリプタレジ
ス夕1877からコンパレータ1883へ、又ANDゲ
ート1885への転送を可能にする。
コンパレータ1833は、次のディスクリプタ1620
を最初のポィンタ1870と比較する。一致比較条件が
検出される場合、ページディスクリプタの全ポインター
チェーンが探索され、所望のページディスクリプタは位
置指定されない。この様な条件下では、所望の領域ペー
ジは主メモリー内になく、この為コンパレータ1833
の一致は、ページング例外フリップフロップ1884を
セットする為に使用される。この例外取扱機構は次にフ
リツプフロツプ1884のセツテイングにより作動され
る。ページデイスクリプタレジスタ1877からの次の
ディスクリプタ1620を含むANDゲート1 880
の出力も又ANDゲート1 885に接続される。
このANDゲートは、コンパレータ1883の非一致信
号により駆動される。この非一致条件は、各ポィンタの
ページディスクリプタチェーンの端末に到達しない時生
じる、この様に、非一致信号が論理1でない時、次のデ
ィスクリプターフィールドは、ANDゲート1883か
らANDゲートi882に転送される。ANDゲート1
88 2への他の入力は、反転増中装置1881から
の信号である。ANDゲート1881からのこの信号は
、最初のフリップフロップ1869の反転出力を表わす
。この様に、反転ANDゲート1 88 1による信号
出力は、最初のフリップフロップ1869が論理零にあ
るときに論理1にあり、従ってANDゲート1882は
次のディスクリプタフイールド1620をORゲート1
872に転送し、これが更にDレジスター874に接続
される様に駆動される。これ等の一連の論理ゲートを介
し、次のディスクリプターフィールドがページデイスク
リプタ1877からDレジスタ1874に転送され、G
、Dアクセス機構はこの時再び作動可能となる。G、D
アクセス動作のサイクルは、この時再び作動され、新し
いページディスクリプタがフエツチされてページディス
クリプターレジスタ1877にロードされる。この新ら
しいページディスクリプタのフェッチ動作は、1878
のコンパレータが所望のページディスクリプタを検出す
るが、コンパレータ1883がページデイスクリプター
チエ−ソの端部を検出する迄繰返される。本文で述べた
ハードウェア/ファームウェアシステムの更に重要な2
つの要素は、第19Aおよび19B図に示される。
第19A図のセットディスクリブ外よ、与えられたセッ
トの性状を記述する為に使用される。第19A図に示さ
れる如く、Pフィールド1802は、このセットのレコ
ードポインタのポインタークラス(モード)を記述する
2ビットのフィールドである。オーナーおよびメンバー
の全てのレコードは、与えられたセットに対して同じポ
インタークラスのポィンタを有する。セットディスクリ
プタ1803のオーナーポインタフイールドは、もしメ
ンバーレコードがオーナーレコード(第15C図参照)
に対する「オーナーポィンタ」を含む場合に1セットさ
れる。「他のポインタ」フイールド1804は、オーナ
ーおよびメンバーレコードが最初の、最後の、次の、お
よび先のポィンタを持っているかどうかを記述する。「
セット編成モード」フィールドK1805は、現行のセ
ットに使用されているセット編成のモードを記述する。
「リング」セットのモードーこついてのみ本文により詳
細に開示する。然しながら、表鞠列又はリスト配列の如
きセット編成の為の他のモードへの拡張能力は存在する
。「変&」フィールド1806は、メモリーにおけるレ
コードの初めからそのレコードにおけるポインターシー
ケンスの初め迄のオフセットを表わすのに使用される(
第15Aおよび15B図参照)。第19A図に記述され
る如きセットディスクリプタは、ハードウエアノフアー
ムウェアに照合されたセットの記述を与えるセットで動
作する時、データベース命令により常にアクセスされる
。第19B図に示す如きレコードディスクリプタは、レ
コードのある特性を記述する為に使用される。
Fフィールド1820は、レコードフオーマットの記述
の為に使用される。レコードのフオーマットは、第15
Aおよび15B図に記述した如く、仮想メモリーレコー
ドがデータベースレコードのいずれかである。「レコー
ドタイプ」フイールド1821は、レコードのタイプを
表示し、第15Aおよび15B図に示される如きメモリ
ーにおける実レコードのタイプフィールドにロードされ
る。「レコード長さ」フィールド1822は、どんな実
長さでレコードが主メモリーにあって第15Aおよび1
5B図に示す如き主メモリーレコードにロードされるか
を表示する。実際のデータベース命令は、第20A乃至
20F図に示す如き6つのフオーマツトの1つである。
第20A図に示されるGROPフオーマットは、「演算
コード1910」と、「零でなければならない」フィー
ルド1911と、「ベースレジスタ一番号1912と、
「補数コード」1912とを含んでいる。
「ベースレジスタ」はしコードのセグメント化されたア
ドレスを含んでいる。「補数コード」は「演算コード」
により記述される特定の命令のこれ以上の区別の為に使
用される。第20B図に示されたXIフオーマットは、
演算コード1920と、演算コードのこれ以上の区別に
使用される補数コード1921と、アドレスシラプル1
922と、零でなければならないフィールド1923と
、論理的削除フィールド1924と、ポインターモード
フイールド1925と、BRフィールド1926とを含
んで・いる。
ベースレジスタは、レコードのセグメント化されたアド
レスを含んでいる。アドレスシラブル1922は、その
いくつかの用途の為、動作されるべきセットのセットデ
ィスクリブタを指示する。アドレスシラブルは、前述の
如きアドレス生成の為の規則に従って、セグメント化さ
れたアドレスに生成される。第20C図に示されたPX
DXフオーマツトは、演算コード1930と、これ以上
の区別に使用される補数コード1931と、1つのアド
レスシラブルASI I932と、零でなければならな
いMBZIフイールド1933と、ベースレジスタ19
34と、2番目の零でなければならないMBZ2フィー
ルド1935と、2番目のレジスタシラプルAS2 1
936とからなる。
再びベースレジスタはしコードのセグメント化されたア
ドレスを含んでいる。第1のアドレスシラプルASI
I932はセットデイスクリプタを指示する。第2のア
ドレスシラブルAS21936は2進数整数のアドレス
指定に使用される。第20D図に示されたBRXフオー
マツトは、演算コード1940と、命令を更に区別する
為に使用されるタイプフィールド1941と、ベースレ
ジスタフイールド1924と、アドレスシラブル194
3とを含んでいる。
このベースレジスタは、レコードのセグメント化された
アドレスを含んでいる。このアドレスシラプルは、セッ
トディスクリプタをアドレス指定する為に使用される。
第208図に示されるDXGRフオーマットは、演算コ
ード1950と、命令を更に区別する為に使用されるタ
イプフィールド1951と、第1のベースレジスタ番号
BRI I952と、アドレスシラブル1953と、零
でなければならないMBZIフィールド1954と、第
2のベースレジスタ番号BR2 1955と、「前後−
最初最後」フィールド1956と、第2の零でなければ
ならないMBZ2フィールド1957とを含んでいる。
2つのベースレジスタは、メモリーに位置する2つの異
なるレコードをアドレス指定する為に使用される。アド
レスシラブルは、セットディスクリプタのアドレス指定
に使用される。「前後−最初最後」フィールドは、セッ
ト内のレコードの所望の位置設定を記述する。第20F
図に示すOPDDフオ−マットは、演算コード1960
と、特定のデータベース動作の記述に使用される原始フ
ィールド1961と、命令を更に区別する為に使用され
るタイプフイールド1962と、ポインターフイールド
の記述に使用されるPフィールド1963と、オーナー
およびメンバーレコードの他のポインタを記述する「最
初最後−次、先」ポインターフイールド1965と、ポ
インターシーケンスの初めに対するオフセットを記述す
る変位フィールド1966と、ベースレジスタ番号を含
むBRフィールド1967とを含んでいる。
このベースレジスタは、主メモリーにおけるレコードの
セグメント化されたアドレスを含んでいる。セット条件
テスト命令は2つのハードウェア/ファームウェア編成
機械命令からなり、この命令はセット空テスト動作およ
びメンバー挿入テスト動作とを編成する。
2つの個別の命令は、別々に相互に無関係に実行され、
夫々01セットの実体(セット空テスト)又は‘2’セ
ット内へのメンバーレコードのリンク(メンバ−挿入テ
スト)のテストに用いられる。
両命令とをXI命令(第20b図)であって、そXI命
令が「セット空テスト」であるか「メンバー挿入テスト
」であるかは、その演算コードによって決定される。こ
れらXI命令の両形式は、そのレコードがテストされる
べきセットを指示するセットディスクリプタ(SD、第
19a図)を得ることによって実現される。このセット
ディスクリプタはXI命令のアドレスシラプル(AS)
によって指示される。SDをフェツチしてその変位(D
)をXI命令で識別されたベースレジスタの内容と組み
合わせ関連するレコードのポィンタシーケンスの最初を
位置決めする。即ちこの両方の命令は、ベースレジスタ
BRに沿ってレコード(セット空テスト動作の為のオー
ナーレコード、メンバー挿入テスト動作の為のいずれか
のレコード)のポインターシーケンスに対するアクセス
を許容するセットディスクリプタ(第18A図参照)を
フェッチする。この2つの命令の第1のもの、セット空
テスト命令に対しては、ポインターシーケンス(第15
E乃至15日図参照)におけるポインタのセット端(E
OS)ビットは、セットが空かどうか(メンバーレコー
ドがない)を表示する。セット空テスト命令は、セット
端ビットの数値に基いて条件コードをセットする。セッ
ト条件テスト命令の2番目のメンバー挿入テスト命令に
ついて、ポインターシーケンスにおけるポインタの非挿
入ビット(第15E乃至15日図参照)が、指示された
レコードが現在参照されたセットのメンバーであるかど
うかを決定する為に使用される。条件コ−ドは、非挿入
ビットの数値に従ってセットされる。これ等命令の両方
共、第208図に示す如きXIフオーマット形態である
。第21図は、データベースセット条件テスト命令、即
ちセット空テスト命令の第1の命令の為のファームウェ
アのフローチャートを示す。ファームウエアのフローチ
ャートを示す。ファームウェアのフローチャートの演算
2001は、命令のフオーマツトをチェックする。次い
で、演算2003乃至2005は、命令のアドレスシラ
プルASにより指示されるセットディスクリプタをフェ
ッチし、前記セットディスクリプタについてある予備チ
ェックを行う。演算2007は、セットデイスクリブタ
(レコードのポインターシーケンスを位置指示する一第
15A,158および19A参照)から得られる変位1
806によりインデックスされた命令で識別されるベー
スレジスタBRによりアドレス指定されるポィンタをフ
ェツチする。演算2009においては、ベースレジスタ
により指示されたレコ−ドがそれ自体セットの1メンバ
ーである事を知る為にチェックが行われる。このチェッ
クは、2007においてフエツチされたポィンタである
非挿入ビットのテストにより行われる。
もしこのレコードがたしかに挿入されると、2007で
フエツチされたポインタのセット端ビットがチェックさ
れる演算2011に対してファームウェアが移動する。
もしセット端ビットが1である事が判れば、このセット
はメンバレコードを持たず、ファームウェアは、状態レ
ジスタ2074第2図参照)の条件コードが零にセット
される演算2012にブランチする。もしセット端ビッ
トが演算2011において零である事が判れば、ファー
ムウェアは、条件コード、状態レジス夕が1にセットさ
れて、このセットが現在挿入されたメンバレコードを有
する事を表示する演算2014にブランチする。命令は
、演算2012又は2014に続いて演算2013又は
2015で完了される。第21図を更に詳細に見れば、
最初に演算2001において、命令(第20B図参照)
のMBZフィールド1923が零であるかチェックされ
る。
この零に対するチェックは、命令フヱッチ装置(13A
図IFU1318参照)から命令を算術論理演算装置1
317のレジス外こ転送する事により行われる。このレ
ジスタで行われたハードウェアチェックによりM旧Zが
零でない事が見出した場合、ファームウェアは、第21
図、2002に示す例外取扱装置に対するブランチ動作
を行う。この例外動作は、違法のフオーマットフィール
ド例外動作と呼ばれる。(「データ例外取扱装置」と題
する米国特許出願第 号参照)。もしM旧Zが零であ
れば、ファームウェアは2003に進み、こ)で3バイ
トの主メモリーに対するフェツチが、命令のアドレスシ
ラブルASI922により決定されるアドレスにおいて
行われる。
セグメント化されたアドレスへのアドレスシラブルの生
成については、「セグメントアドレス生成」および「内
容アドレスメモリーを使用するアドレス生成技術」と題
される米国特許出願第425356号と第283611
号に記述されている。このアドレス生成は、アドレス制
御装置(第1 3A図、ACU13 1 9参照)にお
いて実施される。主メモリーに対するフェッチの結果、
メモリーアクセス例外動作が第21図、2004に示す
如く生じ得る。メモリーアクセス例外のある例は、セグ
メントから、セグメントがなければ主メモリーから行わ
れる。フェッチされた3バイトは、第19A図に言己述
した如く、セットディスクリプタを構成する。第21図
に示す次の動作は、Kビットが零に等しいかを知る為に
セットディスクリプタ(第19A図参照)のKビット1
805のチェックである。このチェックは、主メモリー
からフェッチされたセットディスクリプタをデータ管理
装置(第13A図、1321参照)から算術論理演算装
置1317に転送する事により行われる。もしセットデ
ィスクリプタのKビット部分が零でない事が判れば、利
用不可能セット特性例外2006が生じる。もしKビッ
トが零であれば、ファームウェアは、第21図に示す如
く2007に進み、この場合、主メモリーへのフェツチ
が、命令のベースレジスタBRI 9 2 6プラスセ
ットデイスクリプタ(第19A図参照)の変位フィール
ド1806の内容により与えられるアドレスにおいて行
われる。
フエツチが行われるこのアドレスは、命令により照合さ
れるレコードのポインターシーケンス(第15D図参照
)における「第1のポインタ」のアドレスである。シス
テムの規則により、オーナーポィンタにより所有される
セットが現在挿入されるメンバーを持たぬならば、オー
ナーポインタのポインタシーケンスの第1のポィン外ま
、オーナーレコード自体を指示する。この様に、オーナ
ーポインタにより所有されるセットに現在挿入されるメ
ンバーがなかった場合は、ポインタがオーナーレコード
を指示した為、EOSビットが第1のポィンタにセット
される事になる。この主メモリーフェッチの結果、メモ
リーアクセス例外動作2008が生じる。主メモリーか
らフェッチされたオーナーポィン夕は、主メモリーフェ
ッチ機構の一部としてデータ管理装置1319に対して
主メモリーから最初に転送され、次にファームウェア制
御下で算術論理装置1319に転送される。変位フィー
ルド(1806、第19A図参照)のベースレジスタの
内容への加入は、アドレス制御装置1319において実
施される。ファームウェアは第21図に示された200
9に進み、この場合、演算2007でフェッチされた算
術論理装置に転送されるポインターのビットーの第2の
ビットは、それが零に等しいかを知る為にチェックされ
る。ポィンタの非挿入ビットであるこのビットが1に等
しければ、ベースレジス外こよりアドレス指定されたレ
コードはそれ自体セットのメンバーでなく(この場合、
セットのオーナー)、ファームウェアは例外取扱装置2
010へのブランチを行い、非挿入例外動作を通知する
。演算2009において、もし非挿入ビットが零に等し
い事が判れば、ファームウェアは演算2011にブラン
チし、この場合演算2007でフェッチされたポインタ
のビット番号零の第1のビットが検査される。
このビットは、ポィンタのEOS(セット端)である(
第156乃至15日図参照)。算術論理装置においてな
されるチェックが、EOSビットが1に等しい事を検出
する場合、ポィンタはオーナーレコードを指示し、こう
してセットは現在挿入されたメンバーは持たない。この
場合、ファームウェアは演算2021にブランチし、こ
)で状態レジスタ207の条件コードが零にセットされ
る。演算2012に続いて、ファームウェアは2013
にブランチし、こ)で命令が完了し、制御は次の命令に
転送される。演算2011においては、もしEOSビッ
トが零である事が判ったら、演算2007でフェッチさ
れたポィン外まオーナーポィンタを指示せず(即ち、メ
ンバーレコードを指示する)、ステップ2014へのブ
ランチが行われ、こ)で条件コード1にセットされる。
次いで、ファームウェアは、演算2015にブラツチし
、こ)で命令が完了し、制御は次の命令に転送される。
第22図は、メンバー挿入テスト命令であるセット条件
テスト命令の第2の命令に対するファームウェアのフロ
ーチャートを示す。
ファームウェアのフローチャートの演算2101は、命
令のフオーマツトをチェックする。次いで、演算210
3乃至2105は、命令のアドレスシラブルASI92
2により指示されたセットディスクリプタをフエツチし
、そのセットディスクリプタについてある予備チェック
を行う。演算2017は、命令のベースレジスタBRI
926によりアドレス指定され、セットディスクリプタ
から得る変位(レコードのポインターシーケンスを位置
指定する、第15A,15Bおよび19A図参照)によ
りインデックスされたポィンタをフェッチする。次に、
演算2109は、2107においてフエツチされたポイ
ンタの非挿入ビットをチェックする。もしこのビットが
1にセットされれば、べ」スレジス夕BRにより指示さ
れるレコードは参照されたセットに現在挿入されず、演
算2112へのブランチが行われ、こ)で状態レジスタ
の条件コードは1にセットされて、命令が完了する。2
107においてフェツチされたポィンタの非挿入ビット
が零である事が判れば、ベースレジスタBRにより指示
されたレコードはセットに現在挿入され、ファームウェ
アは演算211川こブランチし、こ)で状態レジスタの
条件コードが零にセットされる。
こうして、状態レジスタの条件コード位置における零は
、指示されるレコードが参照されたセットに挿入されて
いた事が判った事を表示する。従って命令は完了する。
更に詳細に第22図を見れば、最初演算210 1にお
いては、命令のMBZフィールド1 923(第19B
図参照)は零である事をチェックされる。この零のチェ
ックは、命令フェッチ装置(第13A図、IFU131
8参照)から算術論理演算装置1317におけるレジス
タに対して命令を転送する事により行われる。
もしこのレジスタにおいて行われたハードウエアチェッ
クでMBZが零でない事が見出されたならば、ファーム
ウェアは、第22図の2102に示す如き例外取扱装置
にブランチ動作する。この例外動作は、違法のフオーマ
ットフイールド例外と呼ばれる(「データ例外取扱装置
」と題される米国特許出願第 号参照)。もし
MBZが零であれば、ファームウェアは2103に進み
、こ)で3バイトの主メモリーに対するフェツチが、命
令のアドレスシラブルASI922により決定される1
アドレスで行われる。このアドレスシラブルの生成は、
アドレス制御装置1319においてなされる。主メモリ
ーに対するフェッチの結果、メモリーアクセス例外動作
は、第22図の2104に示す如く生じる。フェッチさ
れた3バイトは、第19A図に記述される如くセットデ
ィスクリプタを構成する。第22図に示される次の動作
は、Kビットが零に等しい事を知る為にセットディスク
リブタのKビット1805のチェックである。このチェ
ックは、この時メモリーフェッチ機構動作の結果データ
管理装置1321に位置される主メモリーからフヱツチ
ミれたセットディスクリプタを、算術論理演算装置13
17に対して転送する事により行われる。もしセットデ
ィスクリプタのKビット部分が零でない事が見出される
と、利用不可能なセット機能例外2106が生じる。K
ビットが零であれば、ファームウェアは第22図に示す
如き2107に進み、こ)で主メモリーへのフェツチは
、命令フオ−マットに見出されるベースレジスタBRI
926の内容プラスセットディスクリプタの変位フィ
ールド1806により与えられるアドレスで行われる。
フェッチが行われるアドレスは、命令により参照される
レコードのポインターシーケンス(第15Cおよび15
D図参照)におけるポインタのアドレスで行われる。こ
の主メモリーフェツチの結果として、メモリーアクセス
例外動作2108が生じる。変位フィールド1806の
ベースレジスタ内容に対する加算は、アドレス制御装置
1319において実施される。ファームウェアは、第2
2図に示される2109に進み、こ)で動作2107に
おいてフェツチされたポインタがデータ管理装層131
9から算術論理演算装置1317に転送される。
算術論理演算装置においては、フェッチされるポィンタ
のビット番号1である第2のビットは、ハードウェア/
ファームウェアにより零に対して比較される。このビッ
トは、ポィンタの非挿入ビットである(第15E乃至1
5日図参照)。もしファームウェアによりこのビットが
零に等しい事が検出されるならば、参照されたレコード
は参照セットに現在挿入されファームウェアは演算21
1川こブランチする。演算211川こおいては、状態レ
ジスタ207の条件コードは零にセットされて、レコー
ドがセットに挿入される事を示す。演算21101こ続
いて、ファームウェアは演算2111にプランチし、こ
)で命令が完了し、制御は次の命令に転送される。演算
2109にある場合は、非挿入ビットが1である事が見
出されて命令により参照されるレコードは現在セットの
メンバーでない事を示し、ファームウェアは、演算21
12にブランチし、状態レジスタの条件コードを1にセ
ットしてこの条件を表示する。演算2112に続いて、
ファームウェアは2113にブランチし、こ)で命令は
完了し、制御は次の命令に転送される。次に第23図に
おいて、本発明のセット空テスト命令を編成する為に必
要とされるハードウエアのブロックダイアグラムが示さ
れる。
セット空テスト命令ディテクタ2301により表示され
るセット空テスト命令の受取りと同時に、この命令は命
令バッファ2302に一時的に記憶される。この命令バ
ッファは、中央処理装置104の命令フェッチ装置13
18に位置される。前述の如く、セット空テスト命令は
、第20B図に示すXIフオーマツトの形態である。M
BZフイールド1923は、コンパレータ2303によ
り0ビット2304と即時接続される。もしコンパレー
タ2303が不一致信号を与えるならば、違法フオーマ
ットフィールド例外動作が検出され、違法のフオーマッ
トフイールドフリツプフロツプ2305がセットされ、
これにより例外取扱機構の動作を惹起する。次し、で、
セット空テスト命令の実行が完了される。もしコンパレ
ータ2303が一致比較動作を表示すればセット空テス
ト命令の例外動作は以下に記述される如く継続する。セ
ット空テスト命令デイテクタ2301によるセット空テ
スト命令の検出動作は、又ディスクリプタ議出しフリツ
プフロツプ2308の出力を論理1にセットする。
このフリツプフロツプの出力は、ディスクリプタ論出し
信号と呼ばれる。ANDゲート2 3 0 6は、ディ
スクリプタ談出し信号とコンパレータ2303の一致信
号により、アドレスシラプル1922をORゲート23
44転送する様に駆動される。ORゲート2344の出
力は、更にアドレス制御装置2307に接続される。ア
ドレスシラブルが与えられると、アドレス制御装置23
07は「セグメント化されたアドレス生成」と題された
米国特許出願に記述した如く、前記アドレスシラブルを
メモリーアドレスに翻訳する。アドレス制御装置230
7により生成されたメモリーアドレスは、メモリーアド
レスレジスタ2309に転送される。メモリーアドレス
レジスタ2309の内容は、更にメモリリーシステムの
メモリーアドレスレジスタ2310‘こ転送される。又
、セット空テスト命令デイテクタ2301は反転AND
ゲート231 1に接続され、これは更にメモリーシス
テムの議出し/書込みフリップフロップ2312に接続
される。論理1であるセット空テスト命令ディテクタ信
号は、論理0であるゲート2311の出力をもたらし、
これにより議出し/書込みフリツプフロツプ2312を
数値0にセットさせる。メモリーシステム2313が、
メモリーアドレスレジスタ2310がロードされ、講出
し/書込みフリップフロップ2312が論理0にセット
される事を検出した時、メモリ一読出し動作が開始され
る。メモリーシステムの動作は、「セグメント化された
アドレス生成と題される米国特許出願に記述されている
。メモリー動作の結果、メモリーアクセス例外動作は、
「セグメント化されたアドレス生成」と題された特許出
願に記述される如くに生じる。もしこの様な例外動作が
生じれば、メモリーアクセス例外フリップフロップ23
14は論理1にセットされよう。例外動作の取扱い」と
題される米国特許出願に記載される如く、この例外動作
取扱装置が作動される。さもなければ、このメモリー動
作は通常完了し、メモリー動作完了フリップフロップ2
315は論理1にセットされる。メモリー動作のフリツ
プフロップ2315を論理1の状態に切替えると同時に
、メモリーシステム2313からのデータ議出しは、メ
モリーデータレジスタ2316への転送を完了する。メ
モリー動作完了フリップフロップ2315の、論理1で
あるディスクリプタ議出し信号に沿って論理1への切替
え動作は、ANDゲート2317をしてKフイールド1
805(セット編成モード、第19A図参照)をコンパ
レータ2318に転送させる。
もしコンパレータ2318によりKフィールドが0に等
しくない事を見出した時、その不一致信号は利用不能な
セット機能例外フリップフロツプ2332をセットする
。さもなければ、ディスクリプタ議出し信号およびメモ
リー動作完了信号に従うコンパレータ2318の一致信
号は、ANDゲート2326をしてメモリーデータレジ
スタ2316から、丁度読出されたセットディスクリプ
タの変位フィールドは、ANDゲート2326が接続さ
れる変位レジスタ2323に転送される。又、メモリー
動作完了フリップフロッブ2315の出力がディスクリ
プタ議出しフリップフロツプ2308のリセット入力に
接続される事も判る。この様に、メモリー動作完了フリ
ップフロップ2315の論理1への切替え動作はディス
クリブタ読出しフリツプフロツプ2308を数値0に下
げる。ディスクリプタ議出し信号が反転ANDゲート2
338に接続される為、ディスクリブタ読出し信号の数
値0へのこの引下げ動作は、反転ANDゲート2338
の出力1を数値1に引上げさせ、ANDゲート2338
の出力がボインタ講出しフリップフロツプ2320のセ
ット入力に接続される為、ポィンタ議出しフリップフロ
ップ2320を論理1の状態にセットする。このフリツ
ブフロツプ2320の出力は、ポィンタ議出し信号と呼
ばれる。命令バッファ2302のベースレジスタフィー
ルド1926は、ANDゲート2321に接続される。
このANDゲートはポィンタ講出し信号により駆動され
る。この様に、ポィンタ議出し信号を論理1に引上げる
動作により、ベースレジスタフイールドBRI 926
はANDゲ−ト2321の結合部を介してアドレス制御
装置2304のベースレジスタ入力2322に転送させ
る。アドレス制御装置2307がベースレジス夕BRの
入力2322におけるベースレジスタ番号を与えられる
時、その結果生じる動作は、その番号が入力される前記
ベースレジス夕の内容からの読出しである。この動作は
、典型的なスクラッチパッドメモリー読出し動作である
。アドレス制御装置からのベースレジスタ内容出力は、
アドレス制御装置のベースレジスタ出力レジスタ232
4に出力される。ベースレジスタの出力レジスタ232
4の出力は、更に加算装置2339に入力される。この
加算装置に対する他の入力は、既にロードされた変位レ
ジスタ2323である。次いで、この加算装置2339
は、ベースレジス夕の内容を変位部に加算し、ポィンタ
読出し信号により駆動されるANDゲート2325を介
してその為値をORゲート2344に出力する。ORゲ
ート2344の出力は、更にアドレス制御装置2307
に接続される。セグメント化されたアドレスが与えられ
、変位がべ−スレジスタの内容(第2図参照)に加算さ
れる時得られる様に、アドレス制御装置はセグメント化
されたアドレスを、「セグメント化されたアドレス生成
と題する特許において記述される如く、絶対メモリーア
ドレスに翻訳する。この様に、アドレス制御装置230
7の出力は、再びメモリーアドレスレジス夕2309と
、更にメモリーシステム2313のメモリーアドレスレ
ジスタ23101こ対して転送されたアドレスである。
再び、メモリーシステム2313が、そのメモリーアド
レスレジスタ2310が新らしいアドレスをロードされ
、かつ読出し/書込みフリップフロップ2312が論理
0にある事を検出する時、メモリ一読出し動作が開始さ
れる。
メモリーシステムの動作は、「セグメント化されたアド
レス生成」と題された特許出願に記述されている。メモ
リ一読出し動作の結果として、メモリーアクセス例外動
作は、「セグメント化されたアドレス生成」と題された
特許出願に記述された如く生じる。この様な例外動作が
生じる場合は、メモリーアクセス例外フリップフロップ
2314が論理1の状態にセットされる。例外取扱装置
は、「例外取扱装置」と題された特許出願に記述された
如くに作動される。さもなければ、メモリー動作は通常
完了し、メモリー動作完了フリツプフロップ2315は
論理1の数値にセットされる(メモリー動作完了フリッ
プフロップ2315は、どのメモリー動作の開始と同時
に論理0にリセットされる)。メモリー動作の完了後、
仮想メモリーレコード又はデータベースレコードのポィ
ンタ(第15E,15F,15Gおよび15日図参照)
を表示するメモリーシステムからのデータ読出しがメモ
リーデータレジスタ2316に転送される。メモリーシ
ステムから丁度謙出され、メモリーデータレジスタ23
16に転送されるポィンタのビット番号1は、ANDゲ
ート2335に綾綾される。このビットは、ポィンタの
非挿入ビットである(フィールド1541,1551、
又は1571)。ゲート2335は、ポインタ議出し信
号およびメモリー動作完了フリップフロッブ2315に
より駆動され、コンパレータ234川こ接続される。こ
の様に、この命令の実行の間実施された第2のメモリー
動作の完了時に読出されたポィンタのビット番号1はコ
ンパレータ234川こ入力されてコンパレータへの他の
入力は0ビット2333となる。もしコンパレータがビ
ット番号1が0と等しくない事を見出すならば、コンパ
レータ2340の不一致信号は、非挿入例外フリップフ
ロップ2341をセットする。例外取扱機構は次いで作
動される。メモリ−システムから丁度読出され、メモリ
ーデータレジスタ2216に転送されたポィンタビット
番号0は、ANDゲート2343に接続される。
ビット番号川ま、ポィンタのセット端(EOS)ビット
である(第15E乃至15日図、フィールド1540,
1550,1560および1570参照)。ゲート23
43は、ポィンタ読出し信号およびメモリー動作完了フ
リップフロップ2135により駆動される。この様に、
この命令の実行において実施される第2のメモリー動作
の完了時に、読出さたポィン夕のビット番号川ま、AN
Dゲート2343を介して転送され、コンパレータ23
27に入力される。コンパレータ2327への他の入力
は1ビット2342である。又、メモリー動作完了フリ
ップフロッブ2315はANDゲート2328へ接続さ
れる事が判る。
このゲートは、ポィンタ読出し信号により駆動される。
ANDゲート2328の出力は、セット条件コードフリ
ツプフロツブ2329に接続される。このフリップフロ
ツプ2329は、第2のメモリー動作が完了した後(テ
ストセット空命令によりアドレス指定されたポインタの
読出し)、論理1にセットされる。セット条件コードフ
リツプフロツブ2329の出力は、ANDゲート233
0に続される。ANDゲート2330への他の入力はコ
ンパレータ2327の不一致信号である。この様に、も
しコンパレータ2327がメモリーから読出されたポィ
ン夕のビット番号0が1の数値に等しい事を見出すなら
ば、不一致信号は、論理0であり、従って数値0がAN
Dゲート2330から条件コードレジスタ2336に転
送される。条件コードレジスタが、実際に第2図に示す
状態レジスタ207の最初の2ビットである事に留意さ
れたい。もしコンパレータ2327は読出されたポィン
タのビット番号0が0の数値である事を見出すならば、
コンパレータ2327の不一致信号は論理1であり、従
って1の数値がANDゲート2330を介して条件コー
ドレジスタ2336に転送される。
又、セット条件コードフリツプフロツプ2329の論理
1への切替えも、フリップフロツプ2329の出力が接
続される命令完了フリップフロップ2337をして、条
件コード数値が条件コードレジスタ2336にセットさ
れると同時に、論理値1にセットさせる。
命令完了フリッブフロツプ2337における論理1への
セッティングは、セット空テスト命令の完了を表示する
。次に第24図において、本発明のメンバー挿入テスト
データベース命令を編成する為に必要なハードウエアの
ブロックダイヤグラムが示される。
メンバー挿入テスト命令ディテクタ2401により表示
される如きメンバー挿入テスト命令の受取りと同時に、
この命令は、命令バッファ2402に一時的に記憶され
る。この命令バッファは、中央処理装置104の命令フ
ェッチ装置1318に位置される。前述の如く、命令バ
ッファ2402に転送されたメンバー挿入テスト命令は
、第20B図に示されるXIフオーマットの形態である
。M滋フィールド1923は、コンパレータ2403に
より○ビット2404と即時比較される。もしコンパレ
ータ2403が不一致信号を与える場合、違法のフオー
マットフィールド例外が検出され、違法のフオーマツト
フイールドフリツプフロツプ2405がセットされ、こ
れにより例外取扱機構の動作を惹起する。次にメンバー
挿入テスト命令の実行が完了する。もしコンパレータ2
403が一致比較内容を示すならば、メンバー挿入テス
ト命令の実行が下記の如く継続する。又、メンバー挿入
テスト命令ディテクタ2401によるメンバー挿入テス
ト命令の検出も、ディスクリブタ読出しフリツプフロッ
プ2408の出力を論理1にセットする。
このフリツプフロップの出力は、ディスクリプタ論出し
信号と呼ばれる。ANDゲート2406は、ディスクリ
プタ論出し信号およびコンパレータ2403の一致信号
により駆動されて、ORゲート2423を介してアドレ
スシラブル1922をアドレス制御装置2407に転送
する。アドレスシラブルを与えられると、アドレス制御
装置2407は、前記アドレスシラブルをメモリーアド
レスに翻訳する。アドレス制御装置2407により生成
されるメモリーアドレスは、メモリーアドレスレジスタ
2409に転送される。メモリーアドレスレジスタ24
09の内容は、更にメモリーシステムのアドレスレジス
タ2410に転送される。メンバー挿入テスト命令ディ
テクタ2401も又、メモリーシステム謙出し/書込み
フリツプフロツプ2412に対して更に接続される反転
ANDゲート2411に接続されている。
論理1であるテストメンバー命令デイテクタ信号は、論
理0のゲート244の出力を生じ、これにより読出し/
書込みフリツプフロツプ2412を生じ、数値0にセッ
トされる。メモリーアドレスレジスタ2410がロード
され、読出し/書込みフリツプフロツブ2412が論理
0にセットされる事をメモリーシステム2413が検出
する時、メモリー謙出し動作が開始される。メモリーシ
ステムの動作は、「セグメント化されたアドレス生成」
と題される特許出願に記述されている。メモリー動作の
結果として、メモリーアクセス例外動作は、「セグメン
ト化されたアドレス生成」と題される特許出願に記述さ
れる如くに生じる。もしこの様な例外動作が生じる場合
は、メモリーアクセス例外フリツプフロツプ2414が
論理1にセットされる。「例外取扱い法」と題される特
許出願に記述される如く、例外取扱装置が作動される。
さもなければ、メモリー動作は通常完了し、メモリー動
作完了フリップフロップ2415は論理1にセットされ
る。メモリー動作完了フリップフロップ2415の論理
1の状態への切換えと同時に、メモリーシステム241
3から読出されたデータは、メモリーデータレジスタ2
416に転送を完了する。メモリー動作完了フリップフ
ロップ2415の論理1への切替動作は、論理1である
ディスクリブタ読出し信号と共に、メモリーシステムか
ら丁度読出されたセットディスクリプタのKフィールド
180.5(セット編成モード、第19A図参照)をメ
モリーデータレジスタ2416からANDゲート24
1 7を介してコンパレータ2418に転送させる。
コンパレータ241Mこ対する他の入力は、1セットの
0ビット2431である。もしコンパレータ2418に
よりKフィールドが0に等しくない事を見出すならば、
その不一致信号は利用不能セット機能例外フリップフロ
ツプ2432をセットする。このフリツプフロップのセ
ツティングは、例外取扱機構を作動させる。さもなけれ
ば、コンパレータ2418の一致信号はディスクリプタ
謙出し信号およびメモリー動作完了信号と共に、AND
ゲート2426を駆動して丁度読出されたセットディス
クリプタの変位フィールド1806をANDゲート24
26が接続される変位レジスタ2435に転送する。又
、メモリー動作完了フリッブフロツプ2415の出力が
ディスクリブタ読出しフリップフロップ2408のリセ
ット入力に接続されている事も判る。
この様に、メモリー動作完了フリップフロップ2415
の論理1への切替えにより、ディスクリプタ議出しフリ
ップフロップ2408を数値0へ引下げる。ディスクリ
プタ議出し信号が反転ANDゲート2438に接続され
る為、ディスクリプタ議出し信号の数値0への引下げに
より、反転ANDゲート2438の出力を数値1に引上
げさせ、こうしてANDゲート2438の出力がポイン
タ論出しフリツプフロップ2420のセット入力に接続
される為、ポインタ議出しフリツプフロツプ2420を
論理1の状態にセットする。このフリツプフロップ24
20の出力は、ポィンタ議出し信号と呼ばれる。命令バ
ッファ2402のBRベースレジスタフイールド1 9
2 6は、ANDゲート2 4 2 1に接続される
このANDゲートは、ポインタ読出し信号により駆動さ
れる。この様に、ポィンタ議出し信号の論理1への引上
げにより、ベースレジスタフイールドBRI926はA
NDゲート2421の結線部を介してアドレス制御装置
2407のBRベースレジスタ入力2422に転送させ
られる。アドレス制御装置2407がベースレジスタ番
号をそのBRベースレジスタ入力2422において与え
られる時、その結果生ずる動作は、その番号が入力され
る前記ベースレジスタの内容からの講出しである。この
動作は典型的なスクラッチパツドメモリ一読出し動作で
ある。アドレス制御装置から出力されたベースレジスタ
内容は、ベースレジスタ出力レジスタ2424に対して
出力される。このベースレジスタの出力レジスタ242
4は更に加算装置2439に対する2つの入力の1つを
構成する。加算装置2439に対する他の入力は、変位
レジスタ2435である。加算装置2439は、これ等
2つの入力を加算し、かつこれをポィンタ議出し信号に
より駆動されるANDゲート2425を介してORゲー
ト2423に転送する。
次いでORゲート2423の出力は、アドレス制御装置
2407に入力される。ベースレジスタの内容と一変位
が加算される時(第2図参照)得られる如くセグメント
化アドレスを与えられる時、アドレス制御装置は、「セ
グメント化されたアドレス生成法」と題された特許に記
述される如く、セグメント化アドレスを絶対メモリーア
ドレスに翻訳する。この様に、アドレス制御装置240
7の出力は、再びメモリーアドレスレジスタ2409に
対し、更にメモリーシステム2413のメモリーアドレ
スレジスタ231川こ対して転送された1アドレスであ
る。再び、メモリーシステム2413が、そのメモリー
アドレスレジスタ2410が新らしいアドレスをロード
され、かつ議出し/書込みフリップフロップ2412が
論理0にある事を検知する時、メモリー読出し動作が開
始される。
メモリーシステム動作については、「セグメント化され
たアドレス生成法」と題する特許出願において記述され
ている。メモリー議出し動作の結果、メモリーデータア
クセス例外動作は、「セグメント化されたアドレス生成
法」と題された特許出願に記述された如くに生ずる。も
しこの様な例外動作が生じる場合は、メモリーアクセス
例外フリツプ70ツプ2414が論理1の状態にセット
される。「例外取扱装置」と題される特許出願に記述す
る如く、この例外取扱装置が作動される。さもなけれ‘
よ、メモリー動作は通常完了し、メモリー動作完了フリ
ップフロップ2415は論理1にセットされる(メモリ
ー動作完了フリップフロップ2415は、いずれのメモ
リー動作の開始と同時に、論理0にリセットされる)。
メモリー動作の完了時点で、仮想メモリーのポィンタは
データベース(第15E乃至15日図参照)を表示する
メモリーシステムから謙出されたデータは、メモリーデ
ータレジスタ2416に転送される。メモリーシステム
から丁度謙出され、メモリーデータレジスタ2416に
転送されたポインタのビット番号1は、ANDゲート2
433に接続される。
ポインタのビット数1は、NmS非挿入ビットである。
前述の如く、このビットは、レコードがセットの番号で
ない時、1にセットされる。ANDゲート2 4 3
3は、ポインタ議出し信号およびメモリー動作完了フリ
ップフロップ2415により駆動される。この様に、こ
の命令の実行の間第2のメモリー動作の完了時において
、謙出されたポィンタのビット番号1がANDゲート2
433を介して転送され、コンパレータ2427に入力
される。コンパレータ2427に対する他の入力は0ビ
ット2434である。又、メモリー動作完了フリップフ
ロップ2415は、ANDゲート2428に接続される
このゲートは、ポィンタ読出し信号により駆動される。
ANDゲート2428の出力は、セット条件コードフリ
ツプフロツプ2429に接続される。
これは、第2のメモリー議出し動作メンバー挿入テスト
命令によりアドレス指定されたポィンタの議出し)が完
了した後、このフリップフロッブ2429が論理1にセ
ットされる事にも一致する。セット条件コードフリップ
フロップ2429の出力がANDゲート24301こ接
続される。又、ANDゲート2430は、コンパレータ
2427の不一致信号を入力として有する。
この様に、メモリーから謙出されたレコードのビット番
号1が0である場合、不一致信号は0の数値であり、A
NDゲート2430からの出力は0数値べある。この様
に、0数値は、条件コードレジスタ2436に転送され
る。条件コードレジスタは、第2図に示す如く、実際に
は、状態レジスタ207の最初の2ビットである。ポィ
ンタのビット番号1が1である場合、コンパレータ24
27は不一致条件を見出し、この不一致信号は論理1で
ある。従って、数値1は、ANDゲート2430から出
力され、条件コードレジスタ2436に転送される。又
、セット条件コードフリップフロップ2429の論理1
への切替えにより、フリップフロップ2429の出力が
接続される命令完了フリツプフロツプ2437が、条件
コード数値が条件コードレジスタ2436にセットされ
ると同時に、論理1にセットされる。
命令完了フリツプフロップ2437の論理1へのセッテ
ィングは、メンバー挿入テスト命令の完了を示す。本文
においては本発明の一実施態様について記述表示したが
、当業者にとって明らかな如く、本発明の実施には本発
明の特許請求範囲の主旨内において多くの変更改変が可
能である。この様に、多くの工程が、同じ結果をもたら
し本発明の主旨の範囲内に妥当する異なる工程で置換出
釆る。従つて、本発明の限定される処は、頭書の特許請
求の範囲により表示されている。
【図面の簡単な説明】
第1図は本発明によるマルチプログラミングシステムの
ブロックダイヤグラム、第2図は本発明により使用され
る各種のハードウェア構造の略図、第3図は第2図に示
されるレジス外こおいてリザーブされた領域用に使用さ
れる用語の凡例、第4図は本発明に用いられる機械のプ
ロセス制御ブロックの略図、第5図はプロセス制御ブロ
ックをアドレス指定する為のシステムの略図、第6図は
本発明を用いるコンピューターシステムのシステムベー
スの略図、第7A図および第7B図は本発明を用いるコ
ンピューターシステムのスタツクセグメントとスタック
フレームの略図、第B図はGセグメントの為のシステム
、特に本発明を用いるコンピューターシステムのG−○
セグメントにおける各プロセスのキューの略図、第9図
は本発明によるコンピューターシステムの各プロセスキ
ューおよびプロセスリンキングを示すG−0セグメント
の展開略図、第10a図乃至第101図はPCBにおけ
る各構造のブロックダイヤグラム、第11a図乃至第1
1r図はシステムベースにおける各構造のブロックダイ
ヤグラム、第12図はユーザのアドレス指定方式、およ
びシステムベースおよびPC財隈造を用いるシステムベ
ースのアドレス指定方式の略図、第13a図乃至第13
c図は本発明の制御装置の略図、第14a図乃至第14
i図は本発明を用いるコンピューターシステムのファー
ムウェアにおけるディスパッチャ装置のフローチャート
、第16a図乃至第15h図はセット命令に使用される
レコードおよびそのポィンタのダイヤグラム、第16a
図乃至第16c図はデータベースページフオーマットお
よびその各べ−ジを記述するディスクリプタのダイヤグ
ラム、第17図は主メモリーにおいてデータベースペー
ジを位置指定する為に使用されるファームウェアのフロ
ーダイヤグラム、第18図は主メモリーにおいてデータ
ベースページを位置指定する為のハ−ドウェア機構のロ
ジックブロックダイヤグラム、第19a図乃至第19b
図はデータベースにより使用されるディスクリブタ記述
セットおよびレコードのダイヤグラム、第20a図乃至
第20f図はデータベース命令により使用される命令フ
オーマットのダイヤグラム、第21図はファームウェア
ノハードウェアにおけるセット空テストデータベース命
令のフローダイヤグラム、第22図はファームウェアノ
ハードウェアにおけるメンバー挿入テストデータベース
命令のフローダイヤグラム、第23図はハードウェアセ
ット空テストデータベース命令のロジックブロックダイ
ヤグラム、および第24図はハードウエアメンバー挿入
テストデータベース命令のロジックブロックダイヤグラ
ムである。 101……プロセサーサブシステム、102…・・・記
憶装置サブシステム、103・・・・・・周辺装置サブ
システム、104・・・・・・中央処理装置、105・
・・…入出力制御装置、106…・・・周辺装置制御装
置、107・・・・・・装置ァダプタ、108・・・・
・・周辺装置入出力装置、109…・・・主メモ1」ー
シンクロナィザ、110・・・・・・バッファー記憶装
置、111…・・・計算装置、201・・・・・・汎用
レジスタ、202〜203……スタツクレジスタ、20
4〜205……フオーマツト、206〜207……レジ
スタ、208……フオーマツト、400・・・・・・プ
ロセス制御装置ブロック、501・・・・・・ベースア
ドレスレジスタ、502……システムベース、503…
…J表、504……P表、505……J表ポィンタ、5
06・・・・・・算術演算部、507・・・・・・ポィ
ンタ、600……システムベース、701……スタツク
フレーム、702……Tレジスタ、703…・・・保管
城、704・・・・・・連絡域、802・・・・・・汎
用セグメント、803a〜803g……プロセスリンク
、805a〜805c……自由プロセスリンク、903
,904……セマフオァ、1001……能力バイト、1
002・・・・・・優先順位バイト、1003・・・・
・・状態バイト、1005…・・・アカウントモードビ
ット、1006・・・・・・科学計算モ−ドビット、l
o07・・…・コードモードビット、1010・・・・
・・動作フィールドビット、1012・・・・・・サブ
状態フィールド、1013…・・・中間動作フィールド
、1014・・・・・・拡張デコードモードビット、1
016・・・・・・状態バイト、1018・…・・マル
チプロセサーバィト、1017,1019・・…・MB
Z(零でなければならない)フィールド、1023・・
・・・・例外クラスおよびタイプフイールド、1024
……DETSZフイールド、1 0 25・・...・
DETAフイールド、1 0 26..・・・・STW
SZフイールド、1 0 27……セグメント表ワード
配列フィールドSTWA、1 028……MBZフイー
ルド、1 029……ポインタ、1 0 3 0……T
AGフイールド、1 03 1・・・・・・RINGフ
イールド、1 033・・・.・・TAGフイールド、
1034….・・RmGフイールド、1036..….
TAGフイールド、1037・・・・・・RINGフィ
ールド、1038・・・・・・セグメント化アドレス。 多2図 第三図 図 鮒 第4図 うち5 図 舞ら7A 図 寄ら78図 繁る図 第8図 拳?図 まL′04図 繁′ob図 専ら′○c図 孫′od図 姿′oe図 第′of図 繁の2図 尊ら′oh図 旨も′oi 図 多′oJ図 姿′ok図 努′oZ図 繁〃4図 専ら77b図 賀ら〃c図 穿り′d 図 ぎら71e図 繁’1ナ図 多’’9図 多〃h図 費ら丁丁し 図 努′リ図 峯〃k図 穿ち〃2図 零し〃の図 妻 177n 図 多’lo図 繁77p図 弟〃q図 蓑ら’丁「 図 蔓ら200図 葺ら20b図 拳20c図 第20d図 鏡ら20e図 弟靴ナ図 図 〜 球 繁′3o図 穿ち′3c図 専ら′3b図 弟′4久図 弟/4b図 発′4c図 発J4d図 舞L仏e図 弟′4ナ図 第′42図 穿ち/4h図 第′4上図 弟′ぅ4図 拳/5b図 繁/5c図 繁ノぅd図 う亀′56図 努′外図 繁′5ゲ図 葺く′5ト図 要件/5Q図 繁/ぅb図 奪らノ○c図 峯′7図 多めは図 巻/?b図 旬 S 鮒 第2′図 第22図 第23図 第24図

Claims (1)

    【特許請求の範囲】
  1. 1 各々がセグメント番号を有するアドレス指定可能ス
    ペースの複数個のセグメントからなるメモリーを有し、
    前記各セグメントは上下の変更可能な境界により画成さ
    れ、前記セグメントの予め定めたものは複数のセツトに
    グループ化されたデータベースレコードの複数個のフア
    イルを記憶し、前記セツトの各々は少くとも1つのオー
    ナーデータベースレコードを有し、前記データベースレ
    コードの各々はその予め定めたものを前記データベース
    レコードの予め定めた他のものに、かつ前記セツトの予
    め定めたものにリンクする為の少くとも1つのポインタ
    アドレスを有し、前記データベースレコードの各々は又
    前記の関連するデータベースレコードを記述する為のレ
    コードデイスクリプタの各々と関連させられ、前記レコ
    ードデイスクリプタは複数の前記セグメントの予め定め
    た部分に記憶され、 また前記セグメント、データベー
    スレコード及びデイスクリプタのいずれのデータ又はア
    ドレスにおいても算術論理演算を実施する為の算術論理
    演算装置(ALU)と、前記セグメント、データベース
    レコードおよびデイスクリプタの絶対アドレスが参照さ
    れるシステムベースと、前記セグメントを参照するため
    の信号を夫々記憶するための複数のベースレジスタとを
    有する内部にプログラムされたデータ処理装置において
    、 前記データベースレコードの選択された1つが前記
    データベースレコードの予め定めた他のものにリンクさ
    れているかどうかを決定する為にテストセツト命令に応
    答するハードウエアを更に設け、該テストセツト命令は
    、前記データベースレコードの第1のものの第1のセグ
    メント化アドレスを表示する信号を記憶している前記複
    数のベースレジスタの内の第1のものを識別するための
    第1ベースレジスタアドレス(BR)と、前記第1のデ
    ータベースレコードと関連するセツトデイスクリプタを
    参照するための信号を記憶している前記複数のベースレ
    ジスタの内の第2のものを識別するための第1アドレス
    シラブルとを有し、 前記命令ハードウエアが、(a)
    前記データベースレコードの前記の選択されたものの
    関連するセツトデイスクリプタを前記複数のセグメント
    の予め定めた部分の1つからフエツチするため、前記第
    2のベースレジスタの前記信号を絶対アドレスに変換す
    るべく前記第2のベースレジスタを識別する第1アドレ
    スシラブルに対応する信号に応答する第1の装置と、(
    b) 前記第1の装置に接続され、前記第1のデータベ
    ースレコード内の前記ポインタのポインタアドレスをフ
    エツチするための絶対アドレスを発生するように、前記
    セツトデイスクリプタ内の変位アドレスを表示する信号
    に応答する第2の装置と、(c) 前記第1と第2の装
    置に接続され、両装置に応答して、前記複数のセグメン
    トの内の1つからフエツチした前記ポインタアドレスを
    表示する信号を記憶する第3の装置と、(d) 前記第
    3の装置に接続され、前記データベースレコードの前記
    の選択されたものが前記データベースレコードの選択さ
    れた他のものにリンクされているかどうかを決定する為
    に前記第3の装置からの前記信号に応答する第4の装置
    とを有する事を特徴とするデータ処理装置。
JP51071718A 1975-06-19 1976-06-19 デ−タ処理装置 Expired JPS603652B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US05/588,436 US4042912A (en) 1975-06-19 1975-06-19 Database set condition test instruction
US588436 2000-06-06

Publications (2)

Publication Number Publication Date
JPS522241A JPS522241A (en) 1977-01-08
JPS603652B2 true JPS603652B2 (ja) 1985-01-30

Family

ID=24353840

Family Applications (1)

Application Number Title Priority Date Filing Date
JP51071718A Expired JPS603652B2 (ja) 1975-06-19 1976-06-19 デ−タ処理装置

Country Status (7)

Country Link
US (1) US4042912A (ja)
JP (1) JPS603652B2 (ja)
BE (1) BE843166A (ja)
CA (1) CA1074452A (ja)
DE (1) DE2626703A1 (ja)
FR (1) FR2315123A1 (ja)
GB (1) GB1536043A (ja)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4205371A (en) * 1975-11-03 1980-05-27 Honeywell Information Systems Inc. Data base conversion system
US4468732A (en) * 1975-12-31 1984-08-28 International Business Machines Corporation Automated logical file design system with reduced data base redundancy
US4190885A (en) * 1977-12-22 1980-02-26 Honeywell Information Systems Inc. Out of store indicator for a cache store in test mode
US4488254A (en) * 1980-03-26 1984-12-11 Ncr Corporation Method and apparatus for efficient data storage
US4383298A (en) * 1980-04-10 1983-05-10 Ciba-Geigy Corporation Plant maintenance control system
JPS57185545A (en) * 1981-05-11 1982-11-15 Hitachi Ltd Information processor
US4454579A (en) * 1981-09-11 1984-06-12 Data General Corporation System for performing call and return operations
US4494189A (en) * 1982-04-26 1985-01-15 International Business Machines Corporation Method and means for switching system control of CPUs
US4498145A (en) * 1982-06-30 1985-02-05 International Business Machines Corporation Method for assuring atomicity of multi-row update operations in a database system
US4539637A (en) * 1982-08-26 1985-09-03 At&T Bell Laboratories Method and apparatus for handling interprocessor calls in a multiprocessor system
US4670839A (en) * 1982-09-27 1987-06-02 Data General Corporation Encachement apparatus using two caches each responsive to a key for simultaneously accessing and combining data therefrom
US4652995A (en) * 1982-09-27 1987-03-24 Data General Corporation Encachement apparatus using multiple caches for providing multiple component values to form data items
US4531186A (en) * 1983-01-21 1985-07-23 International Business Machines Corporation User friendly data base access
US5210832A (en) * 1986-10-14 1993-05-11 Amdahl Corporation Multiple domain emulation system with separate domain facilities which tests for emulated instruction exceptions before completion of operand fetch cycle
JP3183736B2 (ja) * 1992-12-28 2001-07-09 富士通株式会社 データベース論理データ構造の動的変更方式
JP2002334092A (ja) * 2001-05-11 2002-11-22 Hitachi Ltd 情報関連付け方法、情報閲覧装置、情報登録装置、情報検索装置、課金方法、およびプログラム
US7580350B1 (en) * 2004-03-30 2009-08-25 Extreme Networks, Inc. System for deriving packet quality of service indicator
US7822780B1 (en) * 2004-10-20 2010-10-26 Embarq Holdings Company, LP Computerized method and system for generating procedures capable of being used with multiple databases
US7774299B2 (en) * 2005-05-09 2010-08-10 Microsoft Corporation Flow computing
US8605732B2 (en) 2011-02-15 2013-12-10 Extreme Networks, Inc. Method of providing virtual router functionality
CN117056149B (zh) * 2023-10-08 2024-02-02 飞腾信息技术有限公司 一种内存测试方法、装置、计算设备及存储介质

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
US3686641A (en) * 1970-09-30 1972-08-22 Burroughs Corp Multiprogram digital processing system with interprogram communication
US3916387A (en) * 1971-04-23 1975-10-28 Ibm Directory searching method and means
US3829837A (en) * 1971-06-24 1974-08-13 Honeywell Inf Systems Controller for rotational storage device having linked information organization
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
US3728693A (en) * 1972-04-28 1973-04-17 Burroughs Corp Programmatically controlled interrupt system for controlling input/output operations in a digital computer
US3900834A (en) * 1972-09-05 1975-08-19 Bunker Ramo Memory update apparatus utilizing chain addressing
FR2200988A5 (ja) * 1972-09-26 1974-04-19 Honeywell Bull Soc Ind
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
FR122199A (ja) * 1973-12-17
US3891974A (en) * 1973-12-17 1975-06-24 Honeywell Inf Systems Data processing system having emulation capability for providing wait state simulation function
US3909798A (en) * 1974-01-25 1975-09-30 Raytheon Co Virtual addressing method and apparatus

Also Published As

Publication number Publication date
US4042912A (en) 1977-08-16
FR2315123B1 (ja) 1981-03-20
DE2626703A1 (de) 1976-12-30
BE843166A (fr) 1976-10-18
FR2315123A1 (fr) 1977-01-14
GB1536043A (en) 1978-12-20
CA1074452A (en) 1980-03-25
JPS522241A (en) 1977-01-08

Similar Documents

Publication Publication Date Title
US4044334A (en) Database instruction unload
US4130867A (en) Database instruction apparatus for determining a database record type
JPS603652B2 (ja) デ−タ処理装置
US4025901A (en) Database instruction find owner
US4077058A (en) Method and apparatus for executing an extended decor instruction
US4084228A (en) Process management structures and hardware/firmware control
US4084224A (en) System of controlling procedure execution using process control blocks
US4369494A (en) Apparatus and method for providing synchronization between processes and events occurring at different times in a data processing system
US4297743A (en) Call and stack mechanism for procedures executing in different rings
US4024508A (en) Database instruction find serial
US4395757A (en) Process synchronization utilizing semaphores
US4316245A (en) Apparatus and method for semaphore initialization in a multiprocessing computer system for process synchronization
US4432051A (en) Process execution time accounting system
US4394725A (en) Apparatus and method for transferring information units between processes in a multiprocessing system
US4374409A (en) Method of and system using P and V instructions on semaphores for transferring data among processes in a multiprocessing system
US4320451A (en) Extended semaphore architecture
US4318182A (en) Deadlock detection and prevention mechanism for a computer system
EP0243892B1 (en) System for guaranteeing the logical integrity of data
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
US4447874A (en) Apparatus and method for communication of information between processes in an information system
JPH0225536B2 (ja)
JPS58137200A (ja) デ−タ処理装置
JPS5911943B2 (ja) デ−タ処理装置の為のトラツプ機構
JPS5939785B2 (ja) デ−タ処理装置
US3510847A (en) Address manipulation circuitry for a digital computer