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

デ−タ処理装置

Info

Publication number
JPS58137200A
JPS58137200A JP57194787A JP19478782A JPS58137200A JP S58137200 A JPS58137200 A JP S58137200A JP 57194787 A JP57194787 A JP 57194787A JP 19478782 A JP19478782 A JP 19478782A JP S58137200 A JPS58137200 A JP S58137200A
Authority
JP
Japan
Prior art keywords
key
value
segment
lock
memory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP57194787A
Other languages
English (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.)
Control Data Corp
Original Assignee
Control Data Corp
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 Control Data Corp filed Critical Control Data Corp
Publication of JPS58137200A publication Critical patent/JPS58137200A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1458Protection against unauthorised use of memory or access to memory by checking the subject access rights
    • G06F12/1466Key-lock mechanism
    • G06F12/1475Key-lock mechanism in a virtual system, e.g. with translation means

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 発明の背景 現代の大規模コンピュータ装置において利用者が短い時
間プロジェクトの一部の処理を交代で受は取るこEは典
型的なことである0例えば、多くのビデオ端末にサービ
スする単一のコンピュータは要求ベースで端末から端末
へ飛ぶ、従って現利用者以外のすべての利用者について
のコードおよびデータをコン−エータ装置から取り去る
ことは効率的でない、また、いく人かの利用者があるコ
ードもしくはデータを共有することも少なからずある。
ビデオ端末の例の場合、利用者は単一の教育プログラム
を使って形式設定を行ないあるいは対話を行なうだろう
、あるいはコンピュータ施設におけるすべてのプログラ
マは利用可能な1つもしくはそれ以上のコンパイル・プ
ログラムを折々使用するだろう、9”−タ・ベースが作
成されていると、すべての利用者はこのデータ・ベース
の少なくとも一部にアクセスするだろうから、骸データ
・ベースはシステムから決して取り去られないだろう、
非常に大きなデータ・ベースおよびプログラムでさえ仮
想アドレス指定の使用によりコンピュータのメモリ内に
絶えずt麺される。
仮想アrレス指定の使用により、文字通り施設のすべて
の大規模配憶が要求ベースで各利用者に利用可能にされ
る。大規模コンピュータ施設の利用者の要求は典型的に
は実質的に施設のすべての利用可能性以下である。従っ
て、各利用者の個有コードおよびデータが絶えずシステ
ム中に入っており、理論的には他の利用者のもめが利用
可能である。
大抵の場合、これは望ましい状態ではない。利用者がサ
ービス提供の分野において互いに直接の競争者であるか
も知れない、ある利用者は他の利用者の情報に不正にア
クセスしたいと思うかも知れない。個々の利用者は他の
利用者の情報を故意ではないが破壊するテストされてい
ないコードを持っているかも知れない、ある利用者は必
要な分類レベルなくしては利用者に利用可能ではない分
類された情報をシステム中に持っているかも知れない。
従って、多勢の利用者にサービスを提供することかでき
、同時に各利用者を他のすべての利用者から保護する計
算施設を提供するための本質的な目的が存在する。
もう1つの複雑な状況は複数の利用者が同一のコードを
共有する場合である。すなわち、装置の処理業務におい
て、違う時間に違う利用者が多分異なるデータを使って
同一のコードを実行することがある。コンパイラが1例
であり、各利用者の入カヂータは異なったソース・コー
ドを持っており、各利用者のオブジェクト・コードは出
力を形成する。
これらの問題に対する少なくとも部分的解決策としてデ
ィジタル的キーおよびロックが使用されている。ディジ
タル・キーは特定の利用者あるいはプロダラムに割り轟
てられた個有の一連のビットにすぎない、ロックは計算
システムのリソースに割り幽てられた同様の一連のビッ
トである。このリソースは周辺装置、データ・テーデル
シゾロダラム・コードあるいは中央プロセッサ内のメモ
リ領域かも知れない、特定のリソースへのアクセスが許
可される前Kll求している利用者に割り当てられた中
−が、リソースに割り当てられたロックと比較され、等
しくなければ要求している利用者は要求したリソースの
使用が禁示される。中央プロセッサは、例えばキーもし
くはロックを変えるととkよりあるいはテスト・プロセ
スを動作させないととkより利用者がキー・ロックのテ
スト・プロセスを破壊しないようにするハードウェアお
よび/あるいはソフトウェアを含んでいる。
米国特許第3,938.100号にはロックおよびキー
の実行に関する基本事項が開示されている。
この特許はいくつかのキーおよびメモリ中の各活動イー
ジについてのロック値を含んでいるぜ−ジ・テーブル(
本説明のセグメント・チーデルに大体対応する)を含ん
でいるレジスタの使用法を開示する。キー・コードの1
つがアクセスされるぜ−ジに関連するロック・コードと
一致する場合にのみメモリへのアクセスが許可される。
このようKして、ロックおよびキーの値にアクセスする
監視ルーチンにより、ロックが4つのキーの値の中の1
つに対応する利用者以外利用者がすべての補−ジ内でメ
モリ・アクセスを行なったり実行したりすることは禁止
される。ロックアウト・ビットによって、ロックが各ロ
ックアウト・ビット・コレタシーンと関連するキーと一
致するようなベージに対して許可されるメモリ操作形式
が選ばれる。
本発明の詳細な説明 1980年4月2日に出願され、発明者および晴受入が
この出願と共通している米国特許出願第136.731
号は、2ステツプのアドレス変換手順を使用する仮想ア
ドレス指定方法の実行について開示している。出願番号
第136,731号が参考のためにこの出願に織り込ま
れる。第1ステツプにおいて、プロセス・仮想アドレス
(PVA )がシステム仮想アドレス(OVA )に変
換される。
違う利用者(各々個々のプロセスを持っている)カ同一
のコードあるいは一一タを使用しようとするならばシス
テム仮想アドレスは違うプロセス仮想アドレスに対して
同一であってもよい、このような状況において、本発明
による會−およびロックの操作により各利用者に対して
違ったキーが提供され、利用者がシステム内で□操作を
開始することが許可された時に割り当てられる。利用者
のキーは、プロセス仮想アドレスがシステム仮想アドレ
スに変換される時に1アクセスが要求されている各セグ
メントのロックとの一致性がテストされる。不一致であ
れば要求しているプロセスへのアクセスがハードウェア
により拒否される。ある利用者が種々の可能な方法で他
の利用者のセグメントをプロセスする場合、許可された
利用者によるアクセスが許可され、許可を受けていない
利用者が他の利用者の情報にアクセスできないようにキ
ーの値とロックの値がアクセス形式に従ってテストされ
変更される。これkより、マスターキーで操作する権限
の与えられた利用者によって呼出された時、キーおよび
ロックの保11によって管理されている利用者が意図さ
れた保護な破壊することのないようKする。(マスター
キーを使って利用者のアクセスは中−・ロックのテスト
を受けないととKなっている。)ソフトウェアの規定に
より、注意深く管理された状況においてのみ利用者はマ
スターキーで操作することを許可される。
この実行において、一連の命令が操作されるキーは、P
すなわち命令カウンタ・レジスタの一部とされる。セグ
メントで構成されたメモリの場合、各セグメントにはそ
のセグメント内のすべてのアドレスについて適用可能な
個有のロックが設けられている。事実、ただ1つの数値
のロック値が個債のセグメン)kついて好ましいけれど
も、各命令シーケンスに対して割り当てられた2つのキ
ーすなわち全体および局部を有することが便利である。
この値は、全体あるいは局部もしくは両方がセグメント
のディスクリブタに関連するセレクタ・ビットに依存す
るものでよい。命令を供給するセグメントが変更される
度に%Pレジスタ中のキーは、キーおよびロック値およ
びセグメントの変化が発生する方法に依存するアルー/
yズムおよび条件に従って変更されてもよい。実際、こ
れらのキーが如何に選択されるかは本発明の重要な特徴
のある1!票である。実行されている命令に依存してP
レジスタ中の全体もしくは局部中−が変更される。
従って、本発明の1つの目的は、コンピュータ・システ
ムの多数の利用者を互いに保護することである。
第2の目的は種々の制御・転送命令の実行の間多数の利
用者を互いに保護することである。
他の目的は施設の管理者によって行なわれる割り当てに
依存して利用書間に種々の保護レベルを提供することで
ある。
本発明の更に他の目的は保護された利用者がシステム内
の同一のコード・シーケンスおよびr−タ・ペースを使
用できるようにすることである。
他の目的は以下の詳細な説明によって明らかKなるだろ
う。
好適実施例の説明 概要 以下の説明を理解するためには本発明が適用される大規
模コンピュータ・システムに含まれるいくつかの一般的
原理および約束を把握することが最初のステップである
0種々の機能を提供するためにマイクロ−ゾログラムさ
れた(すなわち、マイクロコードで制御された)マイク
ロプロセッサ回路を使用するととKよってこのようなコ
ンビュ−一部の機能の大部分が提供されるのが普通であ
る。また、これらの機能の一部をマイクロブ四グラム化
できないバーFウェア回路で実現すること4まれではな
い0本発明の好ましい実施例の重要な部分についてはこ
の両方の手法が使用される。
このため好ましい実施例を理解可能な論理的手法で正確
に示すという問題が生じる0本発明のマイタロゾログラ
ふ化された部分は機能概略図の形式で表わすととにする
。実際の実施例において本発明の奥行のマイクロゾログ
ラ2ング部分は、コンピュータの他の部分および本発明
間の簡単なインターフェースおよび信号転送に使用され
るものであるから%幽業者には本発明を違うコンピュー
タ・システムに適用する際に実験する必要がないように
思われ、マイクロゾログラ2ングの更に詳細な説明の必
要はないであろう。本発明の大規模で更に複雑な部分は
実際ハードウェアで奥行され、このハードウェアは論理
要素レベルで開示され説明される。
メモリ構成 まず、第1図を参照すると、そこに示されるメイン・メ
モリ10の図は、本発明の目的を達成するために、2つ
の異なる部分、ARID (活動セグメント・アイデン
ティファイア)およびキー/ロック情報を含んでいる。
この構成を理解するためKは、本発明を使うようなコン
ピュータ・システムで用いられるアドレス指定構造が詳
細に説明されている前述の米国籍杵出願第136.73
1号に言及することが有効である。先に述ぺたBVA 
(システム仮想アドレス)は、いわゆるARIDとバイ
ト番号から成る。前記特許出願第136.731号の開
−示内容によると、8VAは機械の命令の@集”仮想ア
ドレスである。各利用者のプロセスにはそれぞれのPV
A (711ロセス仮想アドレス)のセットが割り当て
られ、各PVAはセグメント番号およびバイト番号から
成る。第1図に示されるメモリ10において、セグメン
ト番号は、すべての場合KOからhまでの値であって、
この場合、nは予め選択されたある蟻大値である。プロ
セスのセグメント・テーブルへのインデックスとしてP
VAのセグメント番号を使用することkより、 A3I
D、 K/Lおよび他の情報を抽出することができる。
第1図において、1つのセグメント・チーデル11は仮
想プロセス1に割り当てられるテーブルである。各セグ
メント・チーデル11は一連のセグメント・デスクリッ
ク・エントリ12から成り、各エントリが1つのセグメ
ントに割り当てられ、その1例が拡大された形式で第1
図に示されている。 AllIDフィールド13に加え
て、セグメント・ディスクリシタ・エントリ(8[)1
2は更に続出しテスト・エネイブル・コート(TiC)
14、書込みテスト・エネイブル・コード22、この両
者は好ましい実施例においては2ビツトで、″また8ビ
ツトのに/Lすなわちキー/ロック・フィールドを含ん
でいる。!/Lフィールド15は1ビツトのGIPジグ
ネータ・フィールド16.1ビツトのL9”ジグネーー
・フィールド17および6ビツトの値フィールド18に
分割される。読出しおよび書込みTR:Oi 4および
22の各々はここでは関連する唯一の意味を有する。各
々の場合、01(2道)のコードはセグメントへの各ア
クセスに対してキー・ロックのテストが生じることを指
定し、他のどのビット・パターンもキー・ロックのテス
トが行なえないようにする。
K / Lフィールド15は、各セグメント・デスクリ
ック・エントリ12内や符号化される2つのロックを形
成する実際のビット・パターンを指定する。これら2つ
のロックの値の詳細および実現法については後述するが
、セグメント・テーブルの構成を説明すゐためKは、全
体ロックおよび局部ロックが各セグメントに関連してい
ることを1解することが必要である。値フィールド18
が0であるかあるいはGデシグネータ・フィールド16
が0であれば全体ロックの値は0であり、さもなければ
値フィールドに等しい、同様K、局部ロックの値は、偵
フィールド18に含まれているビット・パターンかある
いはLデゾグネータ・フィールド17が0であれば値フ
ィールド18の内容に関係なく0である。
各セグメント・チーデル11(図示されているように互
いに連続している必要はない)において、一連のセグメ
ンF−デスクリプタ・エントリ12は逐次的に配列され
、それらが割り当てられるセグメントの番号でインデッ
クスされる。セグメント・チーデルの数は第1図でNと
示される予め定められる最大値をとりうる。
メイン・メモり10の第2の部分は、実プロセツサがタ
ス□りを実行する際に使用するデータおよび命令の実記
憶域である。すべての仮想メモリの場合と同様に、メモ
リのこの部分はセグメント23に配置される。セグメン
ト23は0から予め定められるある値8まで逐次番号が
付される。値8は仮想メモリの規模と個々のセグメント
″の大きさに依存する。この仮想メイン・メモリのメ屹
り・ボート1sは実メモリの実際の物理的ボー)に対応
する。メモリ10の内容はデータ路20および21を介
して通常の方法で書吟まれたり、読出されたりする0機
能およびアドレスを指定する読出しおよび書込み信号も
また経路20を介してメモ910に送られる。メモリ1
0およびメモリ・−一)19は、特定の計算システムの
構成に依存して明らかとなり、別佃のボード、シャーシ
ーあるいは中ヤビネットに配置されてはっきり示され、
あるいは命令デコーディング、算述および論理演算、お
よび入出力操作用のコンピュータ・ハードウェアとしつ
かり組み合わせられる。
キー・ロックの説明 残りの図面な参照しながら本発明の詳細な説明する前に
ここでこのキー・ロック機構の動作を説明しておくこと
が好ましい。本発明の好ましい羨形を使用するコンピュ
ータ内の所定の時間において、先の操作によって選択さ
れ、コンピュータによって実行されたすべての命令11
cII係する単一の全体キーおよび単一の局部キーが存
在する。好ましいハードウェア実施例のPレジスタ13
0は次の逐次命令のアドレスを含むばかりでなく、これ
らの會−に加えて他の制御および保■情報を含んへ でいるけれども、これらのキーはPレジスタ130(第
4C図)の一部を形成する。一般的原則は、特定の命令
によって指定されるオーe−)ンドを含んでいるセグメ
ントに対する8D11が、現Pレゾスタの全体キーおよ
び局部キーと同一である全体キーおよび局部キーを含ん
でいなければ、アクセス違反が発生し、その命令の処理
およびその命令を含んでいるゾロ七スは実行されないと
いうことである。
しかしながら、全体および局部の両方の1マスター1今
一、Pレジスタおよびセグメントに対する不作動ロック
条件について規定がある。マスター・キーはキーの値が
00時に指示される。不作動すなわち1ノー”ロック条
件は関連のロック・タイプに対して0を表わすビット・
パターンによって第1図のK / Lフィールド15に
指示される。
BDRエントリ12の0フイールド16が0で、Lフィ
ールド1Tが1で、値フィールド1Bが6であれば、全
体ロックの値は0で、局部ロックの値は3である。G(
全体)およびL(Mij部)フィールド16および17
の両方が1で、値フィールド18が0であれば、全体お
よび局部の両方のロックは0であり、セグメントはロッ
クされないだろう。全体あるいは局部マスター・Φ−の
値は、キー・ロック制限機構により0でない全体あるい
は局部ロックを有するセグメントへのアクセスが止めら
れないことを意味する。同様に1所定の時間に使用され
ているキーが0でなく、すなわちマスター・キーでなく
、シかしアクセスされる8D麓の対応するx / Lフ
ィールドが0であり、すなわち不作動ロックを有すると
、該セグメントへのアクセスが依然として可能である。
特定のセグメントが対応する0でないdP −sc轡し
くない0でないロック・フィールドに関係していると、
アクセス違反が生じ、意図されたメモリへのアクセスは
拒否される。全体および局部キーの両方はアクセス権を
確立するためKは一敏テストを通過しなけれはならない
、−万のキーあるいはロックが0であって本、他方の(
全体あるいは局部)0でないキー・ロック・セットがこ
の好ましい実施例においてテストされるととに注意され
たい。他のシステムでは違う規定が採用されるだろう。
好ましい計算システム内のキーおよびロック機構の動作
を分析する場合、プロセッサによって実行される命令の
種類を2つの異なったグルーfk分けることが有効であ
る。まず第一に、仮想メモ17 k直接アクセスし、そ
れから−一部および命令を織り出し、メ畳り10Vc9
”−夕を転送する読出しおよび書込み類の命令がある。
これらの命令は各参照セダメン)K対するBDTt内の
全体および局部濃ツクに対して全体的および局部的キー
を単にテストするととkよって本発明の目的のために実
行される。
第2および更に複雑な種類の命令により、Pレジスタ1
30の一部を形成する全体および/もしくは局部キーに
実際の変化が発生される。完全なるキー・ロック一致テ
ストが実行中の特定の命令に依存して実行されて4よい
しされなくてもよい。
変更命令の場合、Pしマスタの値は全て新Pレジスタの
値で置換され、従って古い全体および局部キーは新しい
全体および局部キーで置換される。
利用者のプログラムによる変更命令の実行はオぜレーテ
ィング・マスタhl(よって十分管理されるから、利用
者が娯って関連したキーの変更を行なうことはない。
また、他の絡2の形式の命令はPレジスタ中のキーの一
方もしくは両方を変更する。該変更は常VC骸命令によ
って影響されるキーを以前よりも強力でないものにする
(すなわち、マスターを非マスターに変更する)。これ
らのキーがこれらの命令によって変更される値のソース
は、セグメント・デスクリプタ・エントリ12中のK 
/ LフィールP18、すなわち1キー/ロツク”用語
である。
これらのオペレーションは一部テストをロックするある
キーと共に発生し、従ってオフ・すζット・セグメント
へのアクセスのためのキーを誤って得ようとする試みは
アクセス違反信号を発生させる。
これらの命令の第1のものは呼出しく Ca1l )お
よびその相補機能である復帰(R@turn )である
。呼出し命令は、実行プログラムが制御を別の関係のな
いプロゲラhlc移し、後にそれから制御を取り戻す場
合に使用される。呼出し命令には、呼び出されたルーチ
ンの処理が完了した時呼び出されたルーチンが制御を戻
すアドレスを含んでいるプログラム内のアドレスを転送
するための機構が含まれている。復帰命令は単に制御を
呼出し命令が実行されたルーチンに送り返す。インター
・セグメント・ブランチ(I8B )命令は、キーおよ
びロックを含む操作およびテス)K関して呼出し命令に
極めて類似している。復帰アドレスがないのでこの点を
含む動作においては異なる。
デリック図 以上の説明によって、残りの図面に示される装置はより
害鳥に理解できよう。第5図は、ここで関連する中央プ
ロセッサのマイクロプロセラ′す部分によって実行され
る標準のオペレーション・デコーディング機能をブロッ
ク図の形式で表わした−のである。デコーディングの結
果はデコーディングが実行される方法によって変わらな
い。違いは、マイクロプロセッサがこのようなタスクの
ために使用される場合、一時に1つのタスクを実行する
全く同一の論理要素が、違う時間に異なる!イクロコー
ドの制御の下で動作すると、違うタスクを実行するとい
うことである。
命令デコーディングの実行において、命令レジスタ60
(マイクロプロセッサの一部でよい)は、オペレーショ
ン(op ) :=−ド・フィールトロ1およびアドレ
ス・コード62とから成る。この場合アドレス・フィー
ルドについては他に何も必要とされない。8ビツトのO
P;−ド・フィールド61はデータ路63を介して命令
デコー/64として表わされるマイクロプロセッサ29
(第2a図および第2b図)に転送される。rコーJ”
64の出力は操作コード・フラグ信号のセットであり、
この信号の中の1つだけが一時に論理値1であってもよ
い。呼出し命令の実行の場合、論理値1のフラグ信号が
経路65に生ずる。交換命令は、経路66に論理値1の
フラグ信号を発生する。復帰およびインターセグメント
分岐命令は、同様な論理値1のフラグ信号を経路6Tお
よび68にそれぞれ発する。第3図において各英字ラベ
ルの下の16道表示のコードはOPコード・フィールド
61に入れられ関連した出力信号を経路65−68に発
生させるコードである。それらを含んでいるデータは第
2セグメントと呼ばれる。
メ篭り11が続出される命令は沢山ある。これらの命令
の中のどれも論理値1の読出し類のフラグ信号を経路6
11に発生させ、その信号経路の表示の下の1読出し類
”という題目がこれを示している。同様に1書込み類の
オペレーションが命令レジスタ60にある場合、経路7
(l論理値1の信号が生ずることを示すためk”書込み
類”という題目が経路TOの附近につけられている。
□ 第2&図詔よび第2b図において、本発明の好ましい実
施例のブロック図の表示法は発明それ自体を理解するた
めに理解しなければならないある約束を使用する。これ
らの約束の使用は、マイクロプロセッサ制御機能および
本発明によって必要とされ、マイクロプロセッサ制御の
下に実行されるメモリ10への絶え間ないアクセス動作
を表わすことの難しさから必要である。六角形のがツク
ス30,33等は、それぞれデータ路20および21を
介してメモリ・ポート19へのあるいはメモリ・ボート
からのデータ転送を表わす。特定の実行に対して転送さ
れるデータの内容あるいは意味が六角形のボックスの中
に記載されている。デロセツ・す29を表わす長方形内
において点線で接続されるこれらl)六角形のボックス
は多少関連がある。これらの関係は以下に説明にされる
六角形のがツクス30は、初期テスト・エネーブル・コ
ードおよ・びK / L 選択データをセグメントチー
デル11に転送することを示す。この情報は結局計算シ
ステム施設の管理者によって供給される。これは、利用
者を利用者自前および互いに保護するための原則を破る
ことのできない何ら゛かの最大の権限が存在するという
概念に基づいているから必要である。これが事実でなく
、ある信頼の詔ける個人に頼る秩序および権限がなけれ
ばここに説明されるいかなる利点も生ずることを期待で
きない。六角形のがツクス30で表わされるデータはデ
ロセツナ29によりメモリ10内のセグメント・チーデ
ル11に送り返され、そこでオペレーティング・システ
ムによって適当なセグメント・ディスクリプタ・工/ト
リ12内に挿入される。適当な値がセグメント・テーブ
ル11内に挿入されると正規の処理が開始する。
六角形のボックス33は交換命令の間に′転送されるデ
ータ記述を含んでいる。これは第S図で経路66上の論
理値1によって示されることを思い出していただきたい
。交換命令の実行くよって、交換命令で指定されるPレ
ジスタの値がメモリから続出され、経路120および1
21を介してPレジスタ130の新PL/?)スタ・ラ
ンク123に直接転送される。
交換命令の間のキー有効性テストは必要でない。
本発明が使用されるのが奸才しい計算システムは2つの
違う機械モード、すなわちモニタおよびジョブ・モーV
を有する。ジョブ・モーPは利用者の操作に対して正規
の状態である。モニタ・モーPはオペレーティング・シ
ステムに対して正規の状態である。交換命令の実行によ
り、ジョブからモニタへあるいはモニタからジョデヘモ
ードが変えられる。モードがモニタからジョブに変わる
と、オペランドがPレジスタ130の新しいPレジスタ
・ランク123(41140図)に転送される。次いで
実行はセグメント内でまた交換命令オペランドで指定さ
れるセグメント内の命令で続く。これに対して、交換命
令がジョブ・モーrの間に実行されると、モードはモニ
タ・モードに変わり、新Pレジスタはジョブ・モードで
操作するプロセスに対してアクセス不可能なロケーショ
ンからロードされ、施設の管理者によって、制御をオペ
レーティング・システムに転送するアPレスが確実に口
−ドされるだろう。従って、利用者が交換命令を使用し
て中−割当てを変更しようとする試みは制御をオペレー
ティング・システムに変えることになる。オペレーティ
ング・システムが制御を利用者に転送するために交換命
令を使用すると、この装置がキーを変更するために使用
されることは適当である。何故なら、オペレーティング
・システムは本質的に特定の利用者にキーを割当てる機
能における施設管理者の変更自我であるからである。
利用者プログラムに詔ける典型的な一連の命令の実行は
続出しあるいは書込み類の個々の命令の一連の実行に帰
着する。このような命令の各実行は六角形のボックス3
4で表わされるように特定の命令がメモリから経路21
1に介してプロセッサ29Ki5!出されるメモリ・ア
クセスで開始する。
このような命令−取出しのメモリ・アクセスは一般にキ
ー・ロック有効性テストを受ける必要がない。続出しお
よび書込み類の合金01つの特徴は、それらの実行が、
実行されるべき命令が取出されるセグメントを変更でき
ないことである。それ故。
命令の実行を開始するためにセグメントを最初に入れる
時だけキー・ロック有効性テストを実行する必要がある
一般的な場合、正規の命令実行の間にプロセッサ29に
転送される各続出しあるいは書込み類の命令には1つも
しくはそれ以上のオペランド・アドレスが含まれている
。これらのアドレスは、利用者が変更したりあるいは利
用者に禁じられたセグメントからデータを抽出したりす
ることのないようにキー・ロックの有効性テストを受け
なければならない。命令により指定されるオペランドを
含んでいるセグメントを第2セグメントとして参照し、
それらと、実行可能なコードと考えられる第1セグメン
トとを区別することが便利である。
(モチろん、1つのセグメントが実行可能なコードおよ
びオペランドの両方を含むようにもできるが、難しいデ
バッグの問題を発生させるプログラム・エラーの可能性
があるのでこの方法は使われない。)しかしながら第2
セグメントへの読出しあるいは書込みアクセスはキー・
ロックの有効性チェックを受ける。呼出し、インター・
セグメント分岐および復帰命令の場合は当てはまらない
実際これらの命令は第2セグメントを第1セグメントの
状態に変更する。説明の便宜上これらの命令を論する場
合1新しい第1セグメント1ど第2セグメント1とを交
換可能な用語として使用する。
各オペランドにより指定されるセグメントにより、六角
形の?ツクス49の内容によって示されるようにセグメ
ント番号が経路23に発生される。
先に説明したように、各セグメントのに/Lフィールド
15は特定のセグメントに対するインデックス番ロケー
ションのプロセス・セグメント・チーデルに貯えられる
やセグメントが第2セグメントで、命令実行の間に使用
されるオペランドとして与えられる場合、K/Lフィー
ルドはロックの値として機能する。
一連の命令の実行に含まれる各ロックおよびゾロセス仮
想アドレス(PVム)に対してメイン・メモリ10をア
クセスすることはもちろん可能である。
しかしながら、メイン・メモリへの多数回のアクセスに
よってはなはだしく命令の実行が遅くなる。
従って、関連のアクセス用として、最後にアクセスされ
た第2セグメントについてのセグメント・デスクリプタ
・エントリ12を含んでいるセグメント・マツプ・バッ
ファ41を使用することが有効である。セグメント・マ
ツプ・バッファ41は命令の実行に大した遅れを生じさ
せない超高速レジスタである。それ故この実施例では、
読出しあるいは書込み類の命令の実行により、信号路4
0にセグメント・マツプ・サーチ・エネイブル信号が発
生され適当なセグメント・ディスクリブタ・エントリ1
2についてセグメント・マツプ・バッファ41がサーチ
される。セグメント・ディスクリブタ・エントリ12が
セグメント・マツプ・バッファ41内にないと、1ノー
・ヒット1信号が経路44に発生される。経路44上の
ノー・ヒツト信号は’/’ −ト45を駆動する。デー
ト45は六角形の・ドックス36に示されるように経路
23上のセグメント番号を読出し要求としてメモリ10
に転送する。これにより、六角形の〆ツクス35で示さ
れるように経路21にセグメント・ディスクリシタ・エ
ントリ12の転送が行なわれる。K/hフィールド15
およびテスト・エネイブル・コード14および22を含
んでいるセグメント・ディスクリプタ・エントリ12全
体が経路51を介してセグメント・マツプ・バッファ4
1に転送されてそこに貯えられる。経路51は、六角形
のボックス55内にセグメント・ディスクリ!り・エン
トリとして正確に表わされているが、実際にはに/L 
諺よびTIAOフィール伊だけが本発明の説明に関係す
る。
命令オペランドによってアクセスされる第2セグメント
に対応するセグメント・ディスクリプタエントリ12が
一度セグメント・マツ!・バッファ41に入力されると
、六角形のボックス゛49により表わされ経路23を介
してセグメント・マツ!・A7フア41に転送されるセ
グメント番4はこのセグメント・ディスクリツタ・エン
トリ12をアクセスする。バッファ41は経路23上の
セグメント番号によって駆動され、経路43および10
2−105をそれぞれ介してに/Lフィールド15およ
びTiC0フイールド14および22の内容をテスト・
キー・ロック有効性論理回路46 a、bに転送する。
更に、旧Pレジスタ128からの全体および局部キーは
それぞれ経路131および132を介してテスト論理回
路46&、1)に供給される。この論理回路は先の説明
を実現するための適当なテストを実行し、キーがテスト
を通過しない場合アクセス違反信号が経路47に発生さ
れ、  ゛キーがテストを通過すると、エネイブル信号
が経路48に発生され、該信号により最初の受信が六角
形のボックス34で表わされるオペランド・アドレスが
六角形のボックス37で表わされるようにメモリに供給
される。信号路48の点線の延長は、ゾロ上ツナ290
マイクロ・コードで解釈されて経路48の信号によりオ
ペランド・アドレスが経路20に送られることを意味す
る。
先に説明したように、第1セグメントすなわち実行され
ている命令を含んでいるセグメントとして機能するセグ
メント内に変化を発生させる交換命令に加わる6つの命
令は、呼出し、インター・セグメント分岐(工8B)お
よび復帰命令である。
第2b図はこれらの命令を実行する計算システム部分の
ゾロツク図から成る。これらの実行に関連するハードウ
ェアの本質的な部分は、読出しおよび書込み類の命令を
実行するために使用されるバーyウェアと同一であるか
ら第2b図では記号で表わされている。六角形のボック
ス52で表わされるように、命令の取出しでこれらの命
令の中の1つがメモリ1oから経路21に取出されると
、該命令はゾロセッt29内でデコーダ64(第3図)
でデコードされ、六角形のボックス53で表ト)K対す
るセグメント番号が経路23を介してセグメント・マツ
プ・バッファ41に供給される。
同じような一連の操作が発生し、新しい第1セグメント
に対するセグメント・ディスクリシタ・エントリ12が
才だバッファ41になければ、指定された新しい第1セ
グメントに対するセグメント・ディスクリプタ・エント
リ12からのに/Lフィールド15およびテスト・エネ
イブル・コード14および22が再びバッファ41に供
給される。
K/Lフィールド15およびテスト・エネイブル・コー
ド14および22が一度パツファ41で利用可能であれ
ば、それらはそれぞれ経路43および102−105を
介してテスト・キー・ロック有効性バー「ウェア46亀
に供給される。経路58はキー・セレクト・論理回路4
6bから得られ、キー・ロックの有効性をテストするの
に使用できる途中のある論理結果を表わす、これらの結
果を利用するとテストおよびキー選択に必要な論理回路
の総量が減じられる。これら3つの命令は読出しおよび
舊込み類の命令と非常によく似た方法でテストされる。
アクセス違反は経路47の信号によって示され、オペラ
二Iドの取出しは経路48上の信号によつ−て可能にさ
れる。
しかしながら、この@2類の命令についてはPレジスタ
130のための新しいキーの値を選択するという追加の
ステップがある。新しい争−に対するソースはキー選択
信号としで働く命令フラグ65.61および68、−P
レジスタ128から経路131詔よび132を介して供
給されるキー、および活動プロセスのセグメント・チー
デルから利用可能であり、先に説明したように経路43
に供給されるセグメント・ディスクリブタ・エントリ1
2からのに/’IJフィールド15に依存する。
キー選択論理回路461)は、鋏回路46への入力に依
存する制御ワードを経路56に発生する。経路56の制
御ワードはキー選択マルチプレクサ57を制御する。こ
れらのマルチプレクサ5Tはいくつかのソース、すなわ
ち旧pレジスタ128、経路111.112で利用可能
な復帰および交換命令オペランドを含んでいるメモリ1
0における特別のテーブルおよび経路43で利用可能な
セグメント・マツプ・バッファ41からのセグメント・
ディスクリシタ・エントリのキー/ロック・フィールV
の中のどれか1つからキーを選択することができる。指
定されたプロセス仮想アドレスあるいは実行されつつあ
る命令の一部は経路20を介してオペランド・アドレス
としてメモリに供給され、メモリは経路111,112
を介してマルチプレクサ57の入力に供給されるキーの
値な含んでいる実際のオペランドを帰す。経路56によ
って供給される制御ワードに依存して、マルチプレクサ
57は、入力に供給される全体キーの中の1つもしくは
0、およびその入力に供給される局部キーの1つもしく
は0をそれぞれ経路120および121を介して新Pレ
ジスタ123の全体および局部キー・フィールド124
および125に転送する。
皇 第4&図、第4b図および第4C図の詳細な論理図を参
照してキー有効性のテストおよび選択の動作を説明する
前に、これら3つの命令の各々の実行により発生される
動作およびテストの説明を行なうことが望ましい。イン
ター・セグメント分岐および呼出し命令は互いによく似
ているから一緒に説明するのが望ましい。各々の場合、
旧Pレジスタ128の全体キー129(第4C図)は、
アクセス違反を決定するために、Gフィールド16を解
釈し、マスターの全体キーの存在あるいは存在しない(
それぞれ0あるいは0でない)を考慮しながら新しい第
1セグメント(第2セグメント)に関連するセグメント
・ディスクリ!り・エントリ12の全体ロックの値15
と比較される。更に、新しい第1セグメントに対するセ
グメント・ディスクリブタ・エントリ12のに/ Lフ
ィールド15は解釈され、新Pレジスタ123の局部キ
ー・フィールド125に転送される新しい局部キーを発
生する。結局、セグメント・ディスクリシタ・エントリ
12からの解釈された全体ロック値および旧Pレジスタ
12Bからの全体キーの値は両方共に検査され、両方が
0でなければ0でない値が新Pレジスタ123の全体キ
ー・フィールド124に転送される。旧Pレジスタ12
8のフィールド129の全体キーの値およびセグメント
・ディスクリシタ・エントリ12からの解釈されたVL
フィールド15の値の両方が0でない値であれば、命令
の実行を停止するアクセス違反を避けるために両者の値
は互いに等しくなければならないことを思い出されたい
。これらの約束により、どの利用者もインター・セグメ
ント分岐あるいは呼出し命令を実行するという手法によ
って利用者に課せられたキー・ロック保−の制限を破ら
ないようにされる。
復帰命令は本質的には呼出し命令と相補的である。すべ
ての復帰命令のオペランドはメモリ10中の個々の復帰
命令ブツシュ・ダウン・スタックもしくはテーブルに貯
えられ、各々は現復帰命令が相補関係にある呼出し命令
が実行された時に存在したPレジスタ130の内容から
の全体キーおよび局部キーを含んでいる。この先夜&)
?レジスタの内容からの全体および局部キーは新Pレジ
スタ123の全体および局部キー・フィールド124お
よび125にそれぞれ入力される。復帰命令テーブルか
らの局部ロックだけが新しい第1セグメント(第2セグ
メント)のセグメント・ディスクリシタのロックと比較
され、等しくなければアクセス違反が発生する。要する
にキーに関する限り、これらのステッノによつ【、この
復帰と対になる呼出し前のキーの最初の状態に戻る。
キーおよびロックの論理 第4a図および第4b図に示される詳−な論理図を理解
する場合、これらの回内の信号路上のある略語および論
理要素を区別するためのある約束の意味について時々第
4a図の一部を形成する説明を参照することが好ましい
。更に、その中に数字が示される小さな円は所定♂ット
数のデータの並列転送を意味する。他の全ての経路は論
理信号な伝達する0文字な含んでいる円はコネクタで信
号路において文字から同じ文字への連続性を示す。
それらに付けられた矢印は信・号の流れの方向を示す、
多くの信号路の近くの短い見出しにより該信号路に論理
値1が存在する場合の意味が明らかになる。これらの図
は論理レベルであり、全ての論理信号は全ての場合論理
値04しくは1から成る2進の信号である。
論理要素それ自体には論理積については1&1の記号が
、また一致については1ミ1の記号が村されている。論
理値1の出力は1真0出力を表わす。入力もしくは出力
の小さな円は信号の反転を意味する。
まず、第4a図を参照すると、そこに示される論理によ
り第21sの命令すなわち呼出し、インター・セグメン
ト分岐tよび交換命令に対して指定されるキー選択が実
行される。5つの一致テスト要素75−79はそれらの
入力の各々に供給される1対の6♂ツトの値の一致をテ
ストする。等しければ出力は右手の出力側の信号反転記
号により論理値0となる。2つの入力値が等しくなけれ
ば出力は論理値1である。
部数テスト回路T5は一方の入力端子に6♂ツトの00
値を受は取り、経路131上にフィールド129(第4
C図)から旧Pレジスタの全体中−を受は取り、この全
体キーが0(すなわち、入力対が等しい)であれば論理
出力0が発生され、0でなければ論理出力1が発生され
る。一致テスト回路76は旧Pレジスタ128から同じ
全体中−および経路43上の一部にセグメント・マツプ
・バッファ41からのセグメント・ディスクリブタ・エ
ントリの6ビツトのに/T、+の値18を受は取る。こ
れら2つの値が等しければ出力は論理値0で、等しくな
ければ出力は論理値1である。一致テスト回路TTは6
♂ツトの0の値および経路43の一部からセグメント・
ディスクリシタ・エントリの6ビツトに/L値18を受
は取り、これらの2つの値が等しければ論理値0の出力
を発生し、さもなければ論理値1の出力を発生する。同
様にして、一致テスト回路18はセグメント・ディスク
リ!り・エントリのKlL値18と経路132の旧Pレ
ゾスタの局部フィールド133のキーと77’) 一致
をテストし、一致テスト回路79は経路132上の旧P
局部キーと0との一致をテストす′る。
アンドデート80および81の各々は一方の入力に一致
テスト回路77の出力を受は取る。該出力は先に説明し
たようにセグメント・ディスクリシタ・キーロックの値
が0であれば論理値0であり、そうでなければ論理値1
である。菫だ、第2すなわち目的の(ifrL、い第1
の)セグメントについてのセグメント・ディスクリブタ
・エントリ12のフィールド16および1Tからのセグ
メント・ディスクリツタ・エントリの全体(G)および
局部(L)ビットがデータ路43上に利用可能であり、
それぞれアンド・デート80および81の他方の入力に
供給される。従って、関連するセグメント・ディスクリ
シタ・エントリからの全体および局部キー/ロックが、
それぞれの出力に示されるように、それらの全体および
局部ビット・フィールド16および17を含めて解釈さ
れて、0でなければ、アンド・? −ト80および81
の出力はそれぞれ論理値1である。
セグメント・ディスクリシタ・エントリのに/Lの解釈
値あるいは経路132上の旧Pレジスタの全体キーが0
に尋しくなければ、アンド・デート808よび部数テス
ト回路T5の出力を受は職るオア・r−ト84はアンド
・r −トs sに論理値1の信号を供給する。また、
アンド・r−) 85はオア・デート82の出力から入
力を受は増る。
入力に供給される命令フラグ65および68がそれぞれ
実行中の現命令が呼出しもしくは復帰命令のいずれかで
あることを示すと、オア・r−ト82は論理値1の出力
を発生する。アンド・r−)85の出力は2♂ツトのマ
ルチプレクサ57mのための制御ワードの高位ビット(
ビット1)を形成する。
マルチプレクサ57&の低位の制御ワード・ビット(ビ
ット0)は次の方法で供給される。オア・デート83は
経路67および66にそれぞれ復帰および交換命令のフ
ラグを受は取り、これらの命令のいずれかが実行されて
いると論理値1を発生する。この出力はオア・r−)8
6の一方の入力に供給され、復帰もしくは交換命令が実
行されているとマルチプレクサの低位制御ビット1.は
0となる。(r−486の出力信号の反転に注意された
い。)また、この低位ビットはアンド・デート87への
両方の入力を満足させることによって0にセットするこ
とができる。アンド・r −) 80およびオア・デー
ト82の出力はアン:?・デート87に供給される。ア
ンド・デート87はアンド条件が満たされるとオア・ゲ
ート86の他方の入力に供給される#II理値1の出力
を発生する。該アンド条件が満たされるのは呼出しある
いはインターセグメント分岐命令が実行されてあり、か
つセグメント・ディスクリブタ・エントリの0フイール
16の出刃、セグメント・ディスクリブタ・エントリ1
2かもの全てが解釈されて全体キー/ロックが0でない
場合である。これらの条件が全て存在すると、オア・r
−ト86はマルチプレクサ57aの低位ビットに論理値
0の出方を供給する。?−) 8 Bへの入力条件のこ
れらの組合せのいずれも満たされないと、オア・デート
86の出力は論理値1である。
マルチプレクサ57aの制御ワーp (7) 2ビツト
はマルチプレクサ51&の出方とじて経路120に4つ
の異なるソースを指足する。7 y ト・r −ト85
およびオア・r−ト86の出力が両方論理値0であれば
、マルチデレク?1t)8,2−によって指定されるオ
ペランドが経路120hの出力となる。アンド・デート
85の出力がoであり、オア・r−486の出力が1で
あれば0が経路120に伝達される。アンド・デート8
5の出力が論理値1であり、オア・デート86がその出
力端に論理値0を発生すると、新しい第1セグメンにつ
いてのフィールド18におけるセグメント・ディスクリ
シタ・エントリのに/L値が経路120に伝達される。
最後に、アンド・ゲート85およびオア・r−)86の
両者がそれらの出力に論理値1を発生すると、経路13
1(コネクタL、第4C図辻で利用可能な旧Pレジスタ
128中の全体キー・フィールド129が出力経路12
0に伝達される。要するに、Pレジスタ130のGキー
を変化させないで旧Pレジスタ中の全体キーが新Pレジ
スタ123の全体キー・フィールド124に伝達される
同様の分析を新Pレジスタ1230局部キーの選択Kg
連して行なうことができる。アット・デート81が論理
値1の出力(フィールド17の関連するLビットにより
解釈されるように、新しい第1セグメントについてのセ
グメント・ディスクリブタ・エントリ12からの局部キ
ー/ロックが0に等しくないことを示す)を発生し、実
行中の命令が呼出しもしくはインターセグメント分岐命
令のいずれかであれば(オア・r−ト82)、アンド・
r−)88は論理1直14I:発生する。他の如何なる
場合においてもアンP−デート88は論理値0を発生す
る。アンド・r−ト88の出力はマルチプレクサ51ヤ
に対する制御ワードの高位ビットを形成する。
マルチプレクサ5Tbへの制御ワーPの低位ビットはオ
ア・デート89によって供給される。アン?−デート8
8の出力が論理値1であるか、命令が復帰もしくは交換
命令のいずれかであれば(オア・デート83により決定
され、その出力に供給される)、オア・デート89は論
理値0を発生する。他の全ての場合、オア・デート89
は論理値1を発生する。デート8813よび89の出力
は同時に論理に1にはなりえないことに注意されたい。
従って、マルチプレクサ57bの入力I−ト3には何ら
の入力も必要とされない。
マルチゾレク?57aの場合と同じように、マルチプレ
クサ57bへのデータ入力の中のどれかが経路121に
伝線されるかは制御ワードのビット・パターンに依存す
る。アンド・P−)88およびオア・デート89の両方
が論理値0を発生すると、マルチプレクサ108,29
の出力がデータ路121に伝達される。アンド・デート
88の出力が0でオア・デート89の出力が1であれば
、0がデータ路121に伝達される。アンド・デート8
8の出力およびオア・デート89の出力がそれぞれ1お
よび0であると、セグメント・ディスクリシタ・エント
リのに/Lの値フィールド18が経路121上の出力と
なる。
2人カマルチゾレクサ108.29は、経路66上の交
換命令フラグの制御の下に1つの全体キー・パターンお
よび1つの局部キー・パターンをそれぞれマルチプレク
サ57&および57bの入力に供給する。該マルチプレ
クサの参照番号の括弧内の29は、単に、ここに示され
る好ましい実施例においてその機能がプロセッサ29に
よってマイクロコードで実行されることを示す。経路6
6上の交換命令フラグはマルチプレクサ108.29の
制御端子に供給される。経路65−68上の命令フラグ
の中の1°つだけが一時に論理値1になりうろことな考
えると、交換命令が実行されている時にマルチプレクサ
108.29の制御ピットに論理値10入力が供給され
、さもなければ論理値0が供給される。該制御ピットが
00場合のマルチプレクサ108,29の出力のソース
はメモリ10により経路112上に供給され、現復滞命
令と相補的な呼出し命令と関連する全体および局部キー
である。マルチプレクサ108,29の出力は、マルチ
プレクサ57&の入力ポート0のための経路110上の
全体今一およびマルチプレクサ571)の入力/−ト0
のための経路109上の局一部キーに分けられる。経路
66上の交換命令フラグが論理値1であると、交換命令
に対して貯えられた全体および局部□キーがメモリ10
から経路111に供給されそれぞれ4路110および1
09を介してマルチプレクサ5Taおよび571)に伝
達される。
次に第4b図を参照すると、この論理図はアクセス違反
を決定するために必要な有効性テストを実行する。キー
およびKlL値についての追加のテストが部数テスト回
路90−92の動作により発生する。経路43上のセグ
メント・ディスクリシタ・エントリのに/I、値18が
部数テスト回路90および910入力端子の中の各1つ
に供給される。
第4a図の装置から経路120に供給される新Pレジス
タ123の全体キーが、経路43上の解釈されないセグ
メント・ディスクリシタ・エントリのに/Lの値(セグ
メント・ディスクリシタ・エン) !j 12)に等し
いと部数テスト回路9oは論理値0を発生する。経路1
21上に利用可能な新Pレジスタの局部キーが経路43
からのセグメント・ディスクリシタ・エントリのキー/
ロックの値に等しければ部数テスト回路91は論理値0
を発生する。また、経路121上の新Pレゾスタの局部
キーが0であれば部数テスト回路92はその出方に論理
値0を発生する。当然、上記指定した条件のいずれも発
生しなければ、関連する部数テスト回路の対厄する出力
は論理値1である。
新Pレジスタ128の局部キー(第4a図、経路121
)が新薬1セグメントに対するセグメント・ディスクリ
シタ・エントリのに/klフィールド18の内容と等し
くなく、また復帰命令が実行されており、解釈されたセ
グメント・ディスクリシタ局部ロック値あるいは新Pレ
ジスタの局部キー(フィールド125、経路121)の
いずれか一方が0に等しくなければ(オア・デート10
6)、アンド・デート1000条件が満たされ、オア・
r−)101はアクセス違反を示す論理値1の出力を発
生する。コネクタ■は第4a図のアンド・デート81の
出力とオア・デート106の入力とを記号で接続するた
めに使用されている。
一致テスト回路90の出力が論理値1で、関連するG1
ット16によって解釈されるセグメント・ディスクリブ
タ・エントリの全体キーが0に轡しくなく、経路61上
の論理値1で示されるように(第3図)復帰命令が実行
されてJJすると、アンド・r−)99が論理値1の出
力を発生し、オア・デート101は経路41上に再びア
クセス違反の信号を発生する。
また、キーロックの有効性テストが実行されない状況が
ある。これは続出しおよび書込み類の命令に関連して発
生する。先に説明したように、実行中の命令のオペラン
ドについて、セグメント・ディスクリシタ・エントリ1
2のフィールP14の続出しテスト・エネイブル・コー
ド(TJCC)ビットもしくはフィールド22の書込み
テスト・エネイブル・コード(TICO)ビットが2進
の(01)であれば、キー・テストがそれぞれ読出しお
よび書込み類の命令に対し【可能になる。続出し類のキ
ー・ロック・テストがこのビット・パターンにより可能
にされると、論理値0が経路102に供給され、また−
理値1が経路103に供給されアンド・r−ト940入
力を形成する。同様に、キー・ロック・テストが書込み
類の命令に対して指定されると、経路104および10
5はそれぞれ図示の如(論理値0および1をアンド・デ
ート93に伝達するものと仮定される。また、アンド・
r−1−94および93は第6人力にそれぞれ第3図の
装置によって発生される経路69上の続出し類の命令フ
ラグおよび経路70上の書込み類の命令フラグを受は取
る。アンド・r−)94からの論理値1の出力はキー・
ロックのテストが読出し類の命令に関連して行なわれる
ことを意味する。アンド・−−ト93の出力における論
理値1はキー・ロック・テストが各々の書込み癲の命令
の実行に対して行なわれることを意味する。
オア・デート95はアンド・r−) 94および93の
出力を受は堆り、その出力をオア・デート96およびア
ンド・デート98の各入力に供給する。オア・デート9
5の出力は、近くの説明で示されるように、読み出しあ
るいは書込みのキー・ロック・テストが発生する場合に
論理値1である。
更に、解釈されたセグメント・ディスクリブタ・エント
リの局部キー/ロック値が0に等しくなく(第4a図、
アンド・デート81の出力)、旧Pレジスタの局部キー
(経路132、フィールド133)が0(T&テスト回
路79の出力)に等しくなく、かつまた経路43上に利
用可能なセグメント・ディスクリシタ・エントリのキー
/ロック・バリュー・フィールP18(すなわち、それ
に関連する局部あるいは全体Cット・フィールドによっ
て解釈されることなく)に等しくなければ、アンド・r
−19817)4つの入力すべてが論理値1にセットさ
れ、アンド・r −) 98により論理値1がオア・r
−ト101に供給される。これにより経路47上に論理
値1を発生するアクセス違反を示すもう1つの条件が形
成される。
アクセス違反を形成する最後の条件には全体のキー・ロ
ック・テストが含まれている。命令が呼出しもしくはイ
ンターセグメント分岐命令であるかあるいはオア・デー
ト95の出力が論理値1であればセグメント・ディスク
リ!り・キー/ロック値フィールド18に対重る全体キ
ーのテストが、オア・?−) 91iからの論理値1の
出力により示されるように指定される。更に、解釈され
た全体のキー/ロック値がOK等しくなく(論理値1に
等しいアンド・デート80の出力)、経路132上の旧
Pレジスタの全体キーが0に等しく(論理値1に等しい
部数テスト回路75の出力)、かつ旧アレジスタの全体
キーがセグメント・ディスクリシタ・エントリの全体キ
ー・フィールド16(一致テスト回路76の出力)によ
り解釈されるようにセグメント・ディスクリブタ・キー
/ロック値に等しくなければ、全体キー・ロック・テス
トの失敗の条件が整い、アンY−1”−)97の出力は
論理値1にセットされる。オア・デート101は再びア
クセス違反を示す論理値1の出力を経路゛41に発生す
る。
第4C図において、新Pレジスタ123の内容の旧Pレ
ジスタ128への伝達は、ゾロセッサ29のマイクロコ
ード制御の下に行なわれ、そのためにオア・デート12
6に参照符号29が付されている。Pレジスタのデート
134はPレジスタ130として好ましい二重ランク構
成となっており、旧および新Pレジスタ123および1
28が2つのランクを構成する。論理値1が経5135
を介してr−)134の制御端子に供給されると、新P
レジスタ・う/り123の内容が旧Pレジスタ・ランク
128に転送される。プロセッサ29は経路69および
70上にそれぞれ続出しおよび書込み類の命令フラグを
受は取り、経路4T上にアクセス違反の信号を受は取っ
て、オア・デート126.29の機能を実行する。これ
らの条件のいずれかが存在すると、先に述べた転送は行
なわれない。
(読出しおよび書込み類の命令はキーに影響を与えない
のモ、新から旧Pレジスタへの転送は必要でない。)更
に、経路127に記号で示されるように、新Pレジスタ
123から旧Pレゾスタ128への転送を禁止する他の
多くの条件が存在する。
一度この転送についての全ての条件が満たされると、ク
ロック・パルスがデート134に供給され、現命令の実
行の終りにfrPレゾスタ中のデータが旧Pレジスタ1
28に移される。これによって順番に次の命令あるいは
実行の順序を中断させる形式の命令である場合には現に
実行している命令によって指示される命令の実行のため
に機械の準備−ノ・全体キー・フィールげ129および
局部キー・フィールド133は、マルチプレクサ51&
および57m)がそれぞれ経路120および121に発
生し、それぞれ新Pレゾスタ123の全体および局部キ
ー・フィールド124および125に供給された出力を
受は敗る。
このような方法でキーのテストが発生し、キーが、本発
明を使用する計算システム内におけるデータおよび命令
の保護を行うための有効な手段を提供するために選択さ
れる。
以上、本発明が好ましい実施例で実行される方法が詳細
に説明された。
【図面の簡単な説明】
第1図はメイン・メモリの構成を示す図である。 lE2&図および第2b図は本発明を実行する装置の概
略図である。 第3図は本発明の説明に関連する命令デコー1111; 回路の概略図である。 第4亀図および1XAb図は本発明の主要部分を実行す
る装置の詳細な論理図である。 第4C図は本発明の好ましい実施例の一部を構成するP
レジスタの概略図である。 10・・・メイン・メモリ、11・・・セグメント・チ
ーデル、12・・・セグメント・ディスクリシタ・エン
トリ、13・・・活動セグメント・アイデンティファイ
ア、14・・・続出しテスト・エネイブル・コード、1
5・・・K/’Lフィールド、16・・・Gデジグネー
タ・フィールド、17・・・Lデジグネータ・フィール
ド、1B・−直フイールド、19・・・メモリ・ボート
、20・・・入力路、21・・・出力路、22・・・書
込みテスト・エネイブル・コード、23・・・セグメン
ト、41・・・セグメント・マツプ・バッファ、4sa
、4sb・・・テスト・キーロック有効性論理回路、6
・・・・命令レジスタ、64・・・命令デコーダ、12
3・・・新Pレジスタ、128・・・旧Pレジスタ。 代理人 桟材 晧 外4名 手続補正書(方式) 昭和58年3月24日 特許庁長官殿 1、事件の表示 昭和57 年特許願第 194787   号2、発明
の名称 3、補正をする者 事件との関係 特4;′1出願人 住  所 4、代理人 5、補正命令の日付 昭和58  年2 月 22日 6、補正により増加する発明の数 7、補11゛の対象

Claims (1)

  1. 【特許請求の範囲】 (1)a)  複数のアドレス可能なセルおよびデータ
    ・f−トを含むメモリを含んでおり、前記セルが複数個
    のセグメントに分割されており、各セグメントはセグメ
    ント中のセルのアドレスの一部を形成する個々の誉号を
    持っており、前記メモリは、外部から供給されるアドレ
    ス信号によってアクセスされ、各アドレス信号はアクセ
    スされるべきセルのアドレスをエンコードし、メモリ機
    能を指定し、前記メモリは書込みアドレス信号および続
    出しアドレス信号にそれぞれ応答してデータ・ボー)k
    貯えるためのデータを受は取り、またデータ・ボートに
    貯えられた一一夕を供給し、前記メモリは更に使用時K
    J11七グメントに貯えられた少なくと41つの命令シ
    ーケンスを持っており、少なくとも1つの第2セグメン
    トへのメモリ・アクセスを含んでおり、 b)  命令シーケンスのアドレスをエン−一ドする読
    出しア「レス信号をメモリに供給しそれに応答してメモ
    リからアドレスされた命令なデータ・ポートに受は取り
    、それらの命令の実行を行ない、いくつかの命令の実行
    に応答して少なくとも1つの第2セグメント中のセル・
    アドレスをエンコードするアドレス信号を発生する命令
    プロセッサを含んでおり、該命令プロセッサが少なくと
    も各アクセスされた第2セグメントについて、第2セグ
    メy)k関連する所定ロケーシロンを有するセルに貯え
    られた数値のキー/ロック値を選択しメモリに貯えるた
    めの装置を含んでいる形式のデータ処理装置であって、 前記命令プロセッサが更に1 1)第1セグメン)K関連する少なくとも1つの数値か
    ら成るΦ−億を抽出し前記各キー値を貯えるための装置
    と、 b)少なくとも1つの第2セグメントにセルのアドレス
    をエンコードするアドレス信号を受は取り、それに応答
    して、指定されたjI2セグメンドについての数値のキ
    ー/ロック値を含んでいるセルのアドレスをエンコード
    する読出しアドレス信号をメ峰りに供給し、メモリから
    データ・ポート上にそのキー/ロック値を受は取り、キ
    ー選択および貯蔵装置によって貯えられたキー値を受は
    取り、上記キー値と該キー値とを比較し、有効でなけれ
    ばアクセス違反信号を発生し、有効であればアドレス信
    号をメモリに転送するキー検索および比較装置を包含す
    るデータ処理装置。 (2)  411許請求の範囲第1項に記載のデータ処
    理装置であって、前記命令プロセッサが更に1メモリか
    ら受は礒られたキー/ロック値とキー選択および貯蔵装
    置によって貯えられたキーの値を比較し、いずれ塾一方
    が予め選択されたマスター値に等しければアクセス違反
    信号の発生を停止する装置を包含したデータ処!l装置
    。 (31%許情求の範囲第2項に記載のデータ処理装置で
    あって、dP−およびキー/ロック値と予め選択された
    マスター値とを比較するための装置がキーおよびキー/
    ロック値と予め選択された0なるマスター・キー値と比
    較するための装置を包含した一一タ処理装置。 (4)  特許請求の範囲第2項に記載のデータ処理装
    置であって、キー値の選択および貯蔵装置が、災に、キ
    ー選択信号に応答して第2セグメントについての現キー
    値およびキー/ロック値の各々と予め選択されたマスタ
    ー値とを比較し、前記キー/ロックおよび現キーの値の
    一方だけが予め定められたマスター値に等しい場合には
    何時でも予め定められたマスター・キー値に等しくない
    中−/ロックおよび現キーの値の一方を新しいキーの値
    として貯えるための装置を包含し、史に命令プロセッサ
    が予め選択、された命令を検出し、それに応答して中−
    選択信号をキー貯I!装置に発生する装置を包含したデ
    ータ処理装置。 (5)4IFF請求の範囲第4項に記載のデータ処理装
    置であって、キーの値選択装置が更に1キーおよびキー
    10ツク値と予め選択された0なるマスター・キー値と
    比較するための装置を包含したデータ処理装置。 161 411FF請求の範囲第2項に記載のデータ処
    理装置であって、キー/ロック貯蔵装置が、各キー/醐
    ツク値、全体ヂジグネータ・フラグおよび局部デゾダネ
    ータ・フラグを貯蔵するための装置を包含し、キー選択
    および貯蔵装置が全体および局部キーの値を選択および
    貯薫するための装置を包含し、キー検索および比較装置
    が、全体および局部キーの値の少なくと屯一方と、第2
    −にグメントについてのキー/ロック値とを比較し、前
    記キー/ロック値がキー値の少なくとも1つに等しくな
    く、勢しくない各キー値に対応するデジグネータ・ブラ
    ダがOk等しくなければアクセス違反信号を発生する装
    置を包含したデータ処理装置。 17)  特許請求の範囲第6項に記載のデータ・処I
    l装置であって、今一検索および比較装置が更に、第2
    セグメントについてのキー/ロック値と命−選択および
    貯蔵装置により貯えられた全体および局部キーの値とを
    比較し、第2セグメントについての會−/−ツク値が予
    め選択されたマスター値および予め選択されたマスター
    値に等しくない全体および局部キーの値の少なくとも一
    方に等しくなく、キー/ロック値と共に貯えられた対応
    するヂジグネータ・フラグがOK等しくなければアクセ
    ス違反信号を発生するための装置を包含したデータ処理
    装置。 (8)特許請求の範囲第2項に記載のデータ処理装置で
    あって、キー選択および貯蔵装置が更に1呼出しフラグ
    信号に応答して、メモリからのデータ・ポートにおける
    キー/ロック値と予め選択されたマスター値とを比較し
    、前記中−/ロック値が予め選択されたマスター値に等
    しくない場合にキー値を前記キー/ロック値に設定する
    ためのセダメント呼出し装置を包含し、前記プロセッサ
    が更にいくつかの命令の実行に応じて呼出しフラグ信号
    を供給するための装置を包含したデータ処理装置。
JP57194787A 1981-11-09 1982-11-08 デ−タ処理装置 Pending JPS58137200A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US06/319,338 US4439830A (en) 1981-11-09 1981-11-09 Computer system key and lock protection mechanism
US319338 1981-11-09

Publications (1)

Publication Number Publication Date
JPS58137200A true JPS58137200A (ja) 1983-08-15

Family

ID=23241830

Family Applications (1)

Application Number Title Priority Date Filing Date
JP57194787A Pending JPS58137200A (ja) 1981-11-09 1982-11-08 デ−タ処理装置

Country Status (6)

Country Link
US (1) US4439830A (ja)
EP (1) EP0079133B1 (ja)
JP (1) JPS58137200A (ja)
AU (1) AU550871B2 (ja)
CA (1) CA1181180A (ja)
DE (1) DE3279802D1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01228039A (ja) * 1988-02-10 1989-09-12 Internatl Business Mach Corp <Ibm> コンピユータ・システム

Families Citing this family (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4525780A (en) * 1981-05-22 1985-06-25 Data General Corporation Data processing system having a memory using object-based information and a protection scheme for determining access rights to such information
JPS58116571A (ja) * 1981-12-29 1983-07-11 富士通株式会社 マイクロコンピユ−タに於ける命令暗号化方式及びその実施に使用されるマイクロコンピユ−タ
AU542447B2 (en) * 1982-02-27 1985-02-21 Fujitsu Limited System for controlling key storage unit
JPS6047624B2 (ja) * 1982-06-30 1985-10-22 富士通株式会社 アドレス変換制御方式
JPS5914062A (ja) * 1982-07-15 1984-01-24 Hitachi Ltd 二重化共有メモリ制御方法
US4698752A (en) * 1982-11-15 1987-10-06 American Telephone And Telegraph Company At&T Bell Laboratories Data base locking
US4580217A (en) * 1983-06-22 1986-04-01 Ncr Corporation High speed memory management system and method
GB2149944A (en) * 1983-11-14 1985-06-19 Softnet Inc Software distribution
US4740890A (en) * 1983-12-22 1988-04-26 Software Concepts, Inc. Software protection system with trial period usage code and unlimited use unlocking code both recorded on program storage media
US4584639A (en) * 1983-12-23 1986-04-22 Key Logic, Inc. Computer security system
US4628479A (en) * 1984-08-30 1986-12-09 Zenith Electronics Corporation Terminal with memory write protection
US4888798A (en) * 1985-04-19 1989-12-19 Oms, Inc. Modular software security
US4777589A (en) * 1985-06-28 1988-10-11 Hewlett-Packard Company Direct input/output in a virtual memory system
JPS6286407A (ja) * 1985-10-11 1987-04-20 Omron Tateisi Electronics Co プログラマブル・コントロ−ラ
JPH0658649B2 (ja) * 1985-10-28 1994-08-03 株式会社日立製作所 仮想記憶装置における領域管理方法
JPS62262175A (ja) * 1986-05-08 1987-11-14 Omron Tateisi Electronics Co 取引処理装置
JPS6376034A (ja) * 1986-09-19 1988-04-06 Hitachi Ltd 多重アドレス空間制御方式
US5202971A (en) * 1987-02-13 1993-04-13 International Business Machines Corporation System for file and record locking between nodes in a distributed data processing environment maintaining one copy of each file lock
US5317717A (en) * 1987-07-01 1994-05-31 Digital Equipment Corp. Apparatus and method for main memory unit protection using access and fault logic signals
US5291581A (en) * 1987-07-01 1994-03-01 Digital Equipment Corporation Apparatus and method for synchronization of access to main memory signal groups in a multiprocessor data processing system
US4937736A (en) * 1987-11-30 1990-06-26 International Business Machines Corporation Memory controller for protected memory with automatic access granting capability
NL8801275A (nl) * 1988-05-18 1989-12-18 Philips Nv Optekensysteem alsmede registratiedrager en schrijfinrichting voor toepassing in het systeem.
US4975870A (en) * 1988-02-25 1990-12-04 Data General Corporation Apparatus for locking a portion of a computer memory
AU4622289A (en) * 1988-11-04 1990-05-28 Lama Systems Inc. Personal computer access control system
US4962532A (en) * 1988-12-22 1990-10-09 Ibm Corporation Method for providing notification of classified electronic message delivery restriction
US5027317A (en) * 1989-03-17 1991-06-25 Allen-Bradley Company, Inc. Method and circuit for limiting access to a RAM program memory
US5127098A (en) * 1989-04-12 1992-06-30 Sun Microsystems, Inc. Method and apparatus for the context switching of devices
US5016166A (en) * 1989-04-12 1991-05-14 Sun Microsystems, Inc. Method and apparatus for the synchronization of devices
US5016161A (en) * 1989-04-12 1991-05-14 Sun Microsystems, Inc. Method and apparatus for the flow control of devices
ATE143511T1 (de) * 1989-04-28 1996-10-15 Softel Inc Verfahren und vorrichtung zur fernsteuerung und - überwachung der anwendung von rechnerprogrammen
CA2053261A1 (en) * 1989-04-28 1990-10-29 Gary D. Hornbuckle Method and apparatus for remotely controlling and monitoring the use of computer software
GB2230881A (en) * 1989-04-28 1990-10-31 Christopher William Cowsley Data storage protection
US5153909A (en) * 1989-05-25 1992-10-06 At&T Bell Laboratories Resource control and data handling for central office based automatic call distributors
DE69029995T2 (de) * 1989-11-09 1997-08-21 Ibm Multiprozessor mit relativ atomaren Befehlen
US5274824A (en) * 1991-03-01 1993-12-28 Bull Hn Information Systems Inc. Keyring metaphor for user's security keys on a distributed multiprocess data system
US5263147A (en) * 1991-03-01 1993-11-16 Hughes Training, Inc. System for providing high security for personal computers and workstations
US5471526A (en) * 1994-02-28 1995-11-28 Telefonaktiebolaget L M Ericsson (Publ.) Tracing with keys and locks on a telecommunication network
US6526512B1 (en) * 1996-05-20 2003-02-25 Ncr Corporation Access key codes for computer resources
JPH1093914A (ja) * 1996-09-18 1998-04-10 Sony Corp データ伝送方法、データ送信装置、データ受信装置のパラメータ設定方法、データ受信装置、データ伝送システム、再生方法、及び再生装置
US6768993B2 (en) 2001-06-28 2004-07-27 International Business Machines Corporation System and method for file system cooperation in a multi-threaded environment
US8407159B2 (en) 2010-11-17 2013-03-26 Microsoft Corporation Automatic batching of GUI-based tasks
US20120131456A1 (en) * 2010-11-22 2012-05-24 Microsoft Corporation Capture and Playback for GUI-Based Tasks
US8918885B2 (en) * 2012-02-09 2014-12-23 International Business Machines Corporation Automatic discovery of system integrity exposures in system code
US10310916B2 (en) * 2017-09-14 2019-06-04 Intel Corporation Scalable spinlocks for non-uniform memory access

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB1309647A (en) * 1970-04-10 1973-03-14 Robotron Veb K Circuit arrangement for carrying out store protection
US3825903A (en) * 1973-04-30 1974-07-23 Ibm Automatic switching of storage protect keys
US3839706A (en) * 1973-07-02 1974-10-01 Ibm Input/output channel relocation storage protect mechanism
US3938100A (en) * 1974-06-07 1976-02-10 Control Data Corporation Virtual addressing apparatus for addressing the memory of a computer utilizing associative addressing techniques
US4104718A (en) * 1974-12-16 1978-08-01 Compagnie Honeywell Bull (Societe Anonyme) System for protecting shared files in a multiprogrammed computer
US4038645A (en) * 1976-04-30 1977-07-26 International Business Machines Corporation Non-translatable storage protection control system
US4096568A (en) * 1976-09-24 1978-06-20 Sperry Rand Corporation Virtual address translator
US4096561A (en) * 1976-10-04 1978-06-20 Honeywell Information Systems Inc. Apparatus for the multiple detection of interferences
US4356549A (en) * 1980-04-02 1982-10-26 Control Data Corporation System page table apparatus

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01228039A (ja) * 1988-02-10 1989-09-12 Internatl Business Mach Corp <Ibm> コンピユータ・システム

Also Published As

Publication number Publication date
EP0079133A3 (en) 1985-10-09
EP0079133A2 (en) 1983-05-18
DE3279802D1 (en) 1989-08-10
CA1181180A (en) 1985-01-15
EP0079133B1 (en) 1989-07-05
AU8947282A (en) 1983-05-19
US4439830A (en) 1984-03-27
AU550871B2 (en) 1986-04-10

Similar Documents

Publication Publication Date Title
JPS58137200A (ja) デ−タ処理装置
EP0040702B1 (en) Authorization mechanism for transfer of program control or data between different address spaces having different storage protect keys
Wilkes et al. The Cambridge CAP computer and its operating system
US4077058A (en) Method and apparatus for executing an extended decor instruction
US4430705A (en) Authorization mechanism for establishing addressability to information in another address space
US4177510A (en) Protection of data in an information multiprocessing system by implementing a concept of rings to represent the different levels of privileges among processes
US3609697A (en) Program security device
US4500952A (en) Mechanism for control of address translation by a program using a plurality of translation tables
Wulf et al. C. mmp: A multi-mini-processor
US4369494A (en) Apparatus and method for providing synchronization between processes and events occurring at different times in a data processing system
US4374409A (en) Method of and system using P and V instructions on semaphores for transferring data among processes in a multiprocessing system
KR860001274B1 (ko) 병렬처리용 데이터 처리 시스템
US4395757A (en) Process synchronization utilizing semaphores
US4084224A (en) System of controlling procedure execution using process control blocks
US4316245A (en) Apparatus and method for semaphore initialization in a multiprocessing computer system for process synchronization
EP0121700B1 (en) Multiprocessor storage serialization apparatus
US3886525A (en) Shared data controlled by a plurality of users
EP0010190B1 (en) Data processing apparatus with memory access protection
US4447874A (en) Apparatus and method for communication of information between processes in an information system
JPS5911943B2 (ja) デ−タ処理装置の為のトラツプ機構
JPS602691B2 (ja) 内部プログラムデータ処理装置
US5893157A (en) Blocking symbol control in a computer system to serialize accessing a data resource by simultaneous processor requests
JPS6030974B2 (ja) プロシージヤ呼出し装置
US4047247A (en) Address formation in a microprogrammed data processing system
JPS602689B2 (ja) 内部プログラムデータ処理装置