JPH01228038A - アクセス・レジスタ変換機構 - Google Patents

アクセス・レジスタ変換機構

Info

Publication number
JPH01228038A
JPH01228038A JP63319659A JP31965988A JPH01228038A JP H01228038 A JPH01228038 A JP H01228038A JP 63319659 A JP63319659 A JP 63319659A JP 31965988 A JP31965988 A JP 31965988A JP H01228038 A JPH01228038 A JP H01228038A
Authority
JP
Japan
Prior art keywords
access
entry
program
address
register
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
JP63319659A
Other languages
English (en)
Inventor
Richard I Baum
リチヤード・イーウイン・バーム
Terry L Borden
テリイ・リイ・ボーデン
Justin R Butwell
ジヤステイン・ラルフ・バツトウエル
Carl E Clark
カール・エドワード・クラーク
Alan G Ganek
アレン・ジヨージ・ガネク
James Lum
ジエームズ・ラム
Michael G Mall
マイケル・ジエラード・マール
Kenneth E Plambeck
ケネス・アーネスト・プラムベツク
Casper A Scalzi
キヤスパー・アンソニイ・スカルズイ
Richard J Schmalz
リチヤード・ジヨン・シヤマルズ
Ronald M Smith
ロナルド・モ―トン・スミス
Julian Thomas
ジユリアン・トーマス
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH01228038A publication Critical patent/JPH01228038A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/468Specific access rights for resources, e.g. using capability register
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/0292User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1027Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
    • G06F12/1036Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] for multiple virtual address spaces, e.g. segmentation
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/1483Protection against unauthorised use of memory or access to memory by checking the subject access rights using an access-table, e.g. matrix or list

Landscapes

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

Abstract

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

Description

【発明の詳細な説明】 A、産業上の利用分野 本発明は、実行中のプログラムによる多重仮想アドレス
空間への並行アクセスを可能にする技術に係る。このシ
ステムでは、汎用レジスタに対応するアクセス−レジス
タが、アドレス空間識別のためのトークンを含んでいる
。トークンは変換プロセスにおいてアクセス・リスト・
エントリを指定するのに用いられ、それによりセグメン
ト・テーブル記述子が得られる。トークンの使用は、ア
ドレス空間のシステム−制御をア゛クセス・レジスタの
プログラム制御から分離するのを可能にする。本発明は
米国特許第4355355号明細書に開示されているア
クセス・レジスタ・システムを改良したものである。
B、従来技術 多重仮想アドレス空間での仮想アドレス指定を利用する
データ処理システムはよく知られている。
このようなシステムの例として、MvS制御プログラミ
ングを用いたIBMシステム/?370がある。IBM
システム/370の構成については”IB)l Sys
tem/370−XA Pr1nciples or 
0perati、+n″(資料番号5A22−7085
−1)に詳しい。
これに記載されているMVSシステムは、命令実行、割
込み処理、タイミング機能、初期プログラム・ローディ
ングその他の機械関連機能のための順序づけ及び処理機
構を備えた中央処理装置(CPU)と、直接アドレス指
定可能でCPUによる高速データ処理を可能にする主記
憶装置とを含んでいる。主記憶装置はCPUと一体的に
、または独立ユニットとして構成される。
米国特許第4096573号明細書及び同第41363
85号明細書もMVSシステムを開示している。それに
よれば、主記憶g置は複数のユーザにより使用されるア
ドレス空間として割り振られ、各アドレス空間はすべて
のユーザに共通の部分を含む。各ユーザは、プログラム
やデータを自身に割り当てられたアドレス空間の私用部
分に置いておくと、それらを他のユーザから分離するこ
とができ、共通部分におくと、他のユーザによるアクセ
スが可能となる。このようなシステムでは、2つのアド
レス空間の間でデータを移動することができる。その場
合、第1のアドレス空間にあるプログラムがデータをそ
の私用域から共通域へ移し、ついで第2のアドレス空間
にあるプログラムにデータを移動するよう知らせる。共
通域を複数のアドレス空間の間の連絡域として使用する
と、共通域の容量が増え、その公私用域の容量が減る。
あるプログラムから別の制御プログラムへの通知はサブ
システムあるいは制御プログラムだけがなし得る。デー
タは記憶保護キーにより保護されるが、その数は16し
がなく、共通にアドレス指定され得る情報を他のサブシ
ステムまたは許可されたプログラムによる不注意の書込
みから保護するのは不十分である。
米国特許第4355355号明細書は、汎用レジス9 
(GPR)に関連するアクセス・レジスタ(AR)を開
示している。各ARには一意的なセグメント・テーブル
記述子(STD)がロードされる。STDは、主記憶装
置におけるセグメント・テーブル・アドレスとセグメン
ト・テーブル長フィールドを含む。ARは所定数だけ設
けられ、それぞれGPRと関連づけられて、ARの数ま
でのデータ・アドレス空間のサブセットを定義する(各
GPRについてのアドレス空間の数が2以上になること
はない)。AR中のSTDは、関連するGPRが記憶域
オペランド・ベース・レジスタとして選択される時、た
とえばGPRがIBMシステム/370命令のBフィー
ルドによって選択される時に、アドレス変換のために選
択される。
各ARは、関連するAR中のSTDを用いてそのデータ
・アドレス空間を定義する代わりに、プログラム・アド
レス空間AR中のSTDを用いるように指定することも
できる。しかし、関連するGPRが記憶域オペランド・
ベース・レジスタ以外の目的、たとえばインデックス・
レジスタまたはデータの転送元あるいは転送先レジスタ
として選択されると、ARのSTDはアドレス変換のた
めには選択されない。実行プログラム・アドレス空間(
データを含んでいてもよい)を定義し制御するのに16
番目のARを設けることができる。
米国特許第436653号明細書、同第4430705
号明細書及び同第4500952号明細書はいずれも二
重アドレス空間(DAS)に関するもので、それによれ
ば、あるアドレス空間にあるプログラムは、監視プログ
ラムを呼び出すことなく、他のアドレス空間にあるデー
タをアクセスしたり、他のアドレス空間にあるプログラ
ムを呼び出したりすることができる。各アドレス空間は
アドレス空間番号(ASN)を割り当てられており、関
連する1組のアドレス変換テーブルを持っている。第2
のアドレス空間はプログラムで指定することができる。
許可されると、プログラムは主記憶装置のデータをある
物理記憶位置から異なったアドレス空間に関連する別の
記憶位置へ転送することができる。プログラムで変更可
能な空間選択制御ビットが、2つの異なったアドレス空
間に関連する2組の異なったアドレス変換テーブルの使
用を制御する。
米国特許第4037214号明細書は、アクセス・キー
・レジスタ(AKR)にある複数のアクセス・キーが命
令アドレス、シンク・オペランド・アドレス及びソース
・オペランド・アドレスに基づいて記憶域アクセスのア
ドレス空間を切り替える水平アドレス指定システムを開
示している。
米国特許第4521848号明細書は、データを非特権
状態でアクセスできるクロスメモリ構成において複数の
仮想アドレス空間へのアクセスを制御するための別の機
構を開示している。
米国特許第3787813号明細書は、ケイパビリティ
・レジスタを用いたデータ処理装置を開示している。こ
のデータ処理装置は中央処理装置及び記憶装置を有し、
記憶装置中の情報はセグメント化され、中央処理装置に
設けられる複数のケイパビリティ・レジスタはそれぞれ
情報セグメントのベース・アドレス及び限界アドレスを
示す記述子情報を記憶する。ケイパビリティ・レジスタ
の1つは、中央処理装置で現在実行中のプログラムに関
連するセグメント・ポインタ・テーブルを含む情報セグ
メントのベース・アドレス及び限界アドレスを定義する
情報を保持し、別の1つは、記憶装置中の各情報セグメ
ントに対するエントリを有する主ケイパビリティ・テー
ブルを含む情報セグメントのベース・アドレス及び限界
アドレスを定義する情報を保持する。セグメント・ポイ
ンタ・テーブルは、主セグメント・テーブルの異なった
エントリを定義するためのポインタとして使用されるデ
ータ・ワードのリストを含む。
米国特許第4386536号明細書は、別々に記憶され
ていてアセンブリ・レベルのコマンドからなる複数のデ
ータ処理手順を選択して連係し、さらに複数の可変デー
タ域のうちの1つを選択するディジタル計算機システム
を開示している。このシステムは、データ処理手順、可
変データ域及び連係アドレスを記憶するメモリと、デー
タ処理手順を記憶しているメモリをアクセスするための
プログラム・カウンタと、データ及び連係アドレスを記
憶しているメモリをアクセスするためのレジスタと、選
択されたデータ処理手順に含まれるアセンブリ・レベル
のコマンドを実行中のデータ処理手順に含まれるアセン
ブリ・レベルのコマンド及び前に選択されたアドレスに
従って実行するハードウェア装置とを含む。
米国特許第4268903号明細書は、スタック域を制
御するためのスタック制御レジスタ・グループを開示し
ている。スタック機構中に形成されユーザ・プログラム
によって直接制御されるデータ・スタック域の開始アド
レスは、データ・スタック・ポインタ・レジスタに保持
される。
米国特許第4454580号明細書は、ある論理アドレ
ス空間にあるプログラムから新しい論理アドレス空間に
ある別のプログラムへ実行を移す方法を開示している。
呼出しプログラムは被呼出しプログラムに対する選択的
なセグメント割振りを制御し、被呼出しプログラムは割
り振られるセグメントの長さを制御する。したがって、
同じプログラムが繰り返し呼び出されても、他のプログ
ラム又は前の呼出しにおける同じプログラムの機能また
はデータは影響を受けない。また、データ・セグメント
の割振りを実行まで延ばすことができ、それにより、他
のプログラムの詳細を知らずに書かれたプログラムの実
行に融通性を持たせることができる。
米国特許第4297743号明細書は、それぞれが異な
った特権レベルを表わす複数のリングの階層構成を開示
している。特権レベルの低いリングへの分岐が許され、
特権レベルは読取専用状況については異なっていてもよ
いが、読取書込状況についてはそれは許されない。該特
許は3つの記憶域、すなわち変数を記憶するための作業
域、レジスタの内容を保管するための保管域、及び手順
間でパラメータを移動するための連絡域を有するスタッ
ク・フレームを教示する。ユーザは手順呼出しの前に、
保管すべきレジスタを指定しなければならず、また被呼
出し手順へ渡すべきパラメータを連絡域へロードしなけ
ればならない。システムは一連のスタック・フレームに
おいて呼出しを記録しており、それにより戻りが可能に
なる。
米国特許第4044334号明細書は、アドレス可能空
間の複数のセグメントのうちの1つでデ−タベース・レ
コードを見出すためのデータベース・ポインタを検索す
るシステムを開示している。
1982年1月刊のIBM Technical Di
sclosureBulletin第24巻、第8号の
4401〜4403百に掲載されているMethod 
of Revoking aCapability C
ontaining a Po1nter−TypeI
dentifier without Accessi
ng the Capability”と題する論文は
、アドレス空間番号(A S N)をアドレス空間ケイ
パビリティのためのポインタ・タイプ識別子として使用
する技術を開示している。
これは二重アドレス空間機構に関するものであり、アク
セスが有効かどうかはアドレス変換に関連するASN第
2テーブル・エントリ(ASTE)を用いて決定するこ
とができるので、アクセスの有効性を調べるためにアド
レス空間を設定してはならない。一般に、ケイパビリテ
ィによるオブジェクトへのアクセスは、ケイパビリティ
中の固有コードとオブジェクトが等しい場合にのみ許さ
れる。
ケイパビリティは、それを見つけてアクセスする必要な
しに、単にオブジェクト中の固有コードを変えるだけで
無効にすることができる。
C0発明が解決しようとする課題 これまで述べてきた従来技術は、計算機のユーザに対し
て進歩した機能を提供するものであるが、なお改善が望
まれる部分もある。たとえば、任意のアドレス空間の間
でデータを移動する機構及び空間内のプログラムのため
に許可指標を制御することにより同じ空間内で異なった
許可指標を使用できるようにする機構の必要性が認めら
れている。
また、アドレス空間を頻繁に切り替えたり、アドレス指
定環境の切替えに関する付加的なアドレス指定能力の獲
得または放棄を行なったりすることも必要である。制御
及び許可権機構は重要なポイントである。ARの内容は
ユーザが変更できるようにすべきであるが、ユーザはS
TDのような実際のアドレス指定情報を直接アクセスす
べきでない。したがって、使い易いアドレス空間機構と
適切な制J及び許可権機構とを組み合わせることによっ
て、アドレス空間への望ましくないアクセスを阻止する
必要がある。本発明は、このような様々な要求を清たす
ものである。
09課題を解決するための手段 本発明に従うデータ処理システムは、システムの制御下
にある多重仮想アドレス空間を有し、アドレス空間のユ
ーザ管理は空間識別のためにシステムから与えられるト
ークンによる。トークンは、ユーザがシステムにアクセ
スされるべきアドレス空間を識別するのを可能にするが
、ユーザによる実アドレス空間または仮想アドレス空間
の直接制御は許されない。かくして、システムは、ユー
ザが直接システム管理資源を用いて作業できないように
、アドレス空間へのアクセスに対して適切な許可制御を
与える。ユーザは、どのアドレス指定方式を呼び込むか
に関していくつかの動作モードの中から選択することも
できる。
本発明に従うシステムでは、ユーザのためにアーキテク
チャに存在するすべての汎用レジスタに対応するアクセ
ス・レジスタ(AR)が設けられる。
ARモードでは、各アクセス・レジスタは、汎用レジス
タがアクセスを許されるアドレス空間を示すアクセス・
リスト・エントリ・トークン(ALET)を含む。AL
ETはアクセス・リスト・エントリ(ALE)を指し示
す。ALETによって示されたアドレス空間に対し汎用
レジスタ中のオペランドを用いた動的アドレス変換(D
AT)が行なわれる。アクセス・レジスタ変換(ART
)を用いてSTDを得るプロセスは2ステツプ・プロセ
スである。ます、ALETを用いて、アドレス空間番号
第2テーブル・エントリ(ASTE)アドレスを含むア
クセス・リスト中のアクセス・リスト・エントリを識別
する。次に、ASTEアドレスを用いて、動的アドレス
変換(DAT)で使用されるSTDを含むASTEをア
クセスする。
STDをASTEから得る前に、ALET、アクセス・
リスト及びASTEの構成要素を用いてテストが行なわ
れる。
ARTは、信頼性、完全性及び許可権の検査を含む。ア
クセス・リスト中の正しいアクセス・リスト・エントリ
(ALE)を見つけるためにアクセス・レジスタ中のA
LETが最初に使用される時、エントリが有効かどうか
を調べる検査が行なわれる。ついで、ALEの内容を用
いて正しいASTEが見い出され、そこからSTDが得
られる。
さらに、ASTEへの参照の正しさを検査するため、A
LE及びASTEの内容からASTE順序番号(AST
ESN)の比較が行なわれる。
これらの比較は、計算機技術で定義されているごときケ
イパビリティを用いる。ケイパビリティは模造不能のオ
ブジェクトであって、その所有者は別のオブジェクトに
対するオペレージ1ンを実行することができる。アクセ
ス・レジスタの場合、ケイパビリティが扱うオブジェク
トはアドレス空間である。もしアドレス・レジスタがケ
イパビリティ、すなわちアドレス空間のためのSTDを
直接保持することができたならば、模造不能という特性
を維持するため、特権命令だけがARの内容を操作でき
るようにしなければならない。アドレス空間制御に特権
命令を使用すると、問題状態プログラム及び特権制御プ
ログラムの間で制御権を移す必要があるため、余分の時
間及び計算機資源を必要とする。
アクセス・リストはアドレス空間に対する最大のアドレ
ス可能度を含む。ARTプロセスはさらに、許可権テス
トによって最大アドレス可能度を制限し得るALEの許
可権レベルを決定する。すべてのプログラム・コードは
ある所定の許可権レベルのもとで動き、ALEへのアク
セスは許可権テストによって制御される。テストのレベ
ルは3つある。最初のレベルはALE中の公用/私用ビ
ットである。もし公用であれば、アクセス・リストのど
のユーザもエントリを使用できる。私用であれば、第2
レベルのテストが行なわれる。その際、制御レジスタ8
にある拡張許可指標(FAX)はALE中のアクセスさ
れたアドレス空間に関連する許可指標(ALEAX)と
同じでなければならない。制御レジスタ8は、実行プロ
グラムの空間アクセス許可権を指定する。これは事実上
、空間をアクセスする制御された空間の所有者である。
最後に、もしEAXとALEAXが等しくなければ、3
番目のテストが行なわれる。アクセスされたASTEの
許可権テーブルが制御レジスタ8からのEAX値によっ
て指標づけされる。もし特定のEAXが許可権テーブル
において許可されたアクセスを見つけると、アクセスは
可能である。これは、特殊使用を可能にする空間の所有
者に相当する。
・  本発明では、ARがALETを含んでおり、した
がって特権命令を使用することなくアドレス空間を制御
することができる。ARに含まれるALETはアクセス
・リスト・エントリを介して間接的に空間を指定するの
で、非特権命令またはサブルーチンは、制御プログラム
・サービスを用いることなく、アクセス・レジスタの内
容を保管し、アクセス・レジスタを別の目的に使用し、
ついで保管した内容を復元することができる。かくして
、アクセス・リストがユーザの許可権を制御する。
アクセス・リスト・エントリに直接STDを含ませる代
わりに、アクセス・リスト・エントリでSTDを含むA
STEを指し示すようにした理由は、空間を参照するす
べてのアクセス・リスト・エントリを見つける必要なし
に、ASTEを操作することによってアドレス空間に対
する制御及び許可権を修正できるからである。システム
におけるすべてのプログラム・アドレス空間の定義はア
ドレス空間第2テーブル(AST)によって与えられ、
したがってシステムはすべてのアドレス空間に対する中
央制御点を持つ。多数のユーザが1つのアドレス空間を
アクセスできるが、そうするためにはそのアドレス空間
をアクセス・リストに持っている必要がある。2以上の
アクセス・リストにおける2以上のALEが同じAST
Eを指し示すことができる。したがって、ARとSTD
の間には2レベルの間接的動作があり、ユーザのケイパ
ビリティ及び空間をアドレスする許可権を別々に制御で
きるようになっている。
ARとSTDの間の間接的動作によって容易になる他の
制御の例として、システムがSTD情報を置く実アドレ
スの管理がさらに簡単になる。セグメント・テーブル起
点は実アドレスにより識別され、通常はページ境界上に
ある。セグメント・テーブル自体は通常メモリの完全な
実フレームを占有する。したがって、アドレス空間が主
記憶装置からスワップ・アウトされる時に、セグメント
・テーブルをマツプする実フレームが他のセグメント・
テーブル又は他の仮想アドレスをマツプするよう再使用
可能であることが重要である。この要求は、STD中の
実アドレスを再使用する前に制御プログラムが情報を更
新しなければならない唯一の場所であるASTEを用い
ることによって満たされる。
選択されたアクセス・リストは1以上の使用可能な定義
域からのものであり得る。たとえば、後述の実施例では
、指名可能ユニット定義域(DUAL)及び−次アドレ
ス空間定義域(PSAL)の両方が使用される。アクセ
ス・リストは指名可能ユニットまたは一次アドレス空間
の何れかと関連しているが、リスト中の有効エントリは
、指名可能ユニットの作業を遂行するために実行される
異なったプログラムと関連づけられる。DUALはユー
ザに属し、異なったユーザに対してはたとえ同じプログ
ラムを実行する場合であっても異なったものになり得る
。PSALは指名可能ユニットには関係なく関連する一
次アドレス空間で実行されるプログラムに共通である。
2つの主要な利点が一次アドレス空間定義域から得られ
る。第1に、−次アドレス空間定義域のすべてのユーザ
は、各ユーザの指名可能ユニットに対するケイパビリテ
ィの割当であるいは獲得を個々に行なう必要なしに、定
義域のケイパビリティを持つ。第2に、指名可能ユニッ
トは、個々にケイパビリティを獲得する必要なしに、−
次アドレス空間定義域を切り替えることによってケイパ
ビリティを獲得できる。
指名可能ユニット・アクセス・リスト(DUAL)は、
どのアドレス空間にコードがあるかには関係なく、指名
可能ユニットのもとでランするすへてのコードの最大潜
在アドレス可能度を含み、PSALは、どの指名可能ユ
ニットのもとてコートカランしているかに関係な(、特
定のアドレス空間でランするすべてのコードの最大空間
アドレス可能度を含む。いずれにしても、ARTプロセ
スはFAX許可権検査を受ける。これにより、たとえば
、プログラムが別のアドレス空間にあるサービスを呼び
出して公用アドレス空間での通信を可能にし、一方では
、呼び出されたサービスは保全性やプライバシー保護の
ために呼び出した空間へのアクセスを禁止される、とい
ったことが可能になる。プログラム呼出しくPC)はF
AXを変更し得るので、これを行なうのは簡単である。
たとえアクセス・リストがサービス・アドレス空間で使
用可能であっても、指名可能ユニットが第2の空間にあ
る間、私用空間に対するエントリのアクセスは阻止でき
る。
さらに、本発明は、ALDlALE、ASTE及び許可
権テーブルのための記憶域参照の回数を減らすARTル
ックアサイド・バッファ(ALB)を使用する。これが
なければ、関連するGPRが記憶域オペランド参照を含
むたびに記憶装置を参照しなければならない。ART時
の記憶域参照回数はきわめて多くなり得るので、ALB
を用いてART機能の結果を得るようにするき、アクセ
ス・レジスタ機能に関し計算機資源の効率的な使用が可
能になる。
ALBを使用する時、CPUは当該ARエントリを用い
た初期アクセスに対してのみ実記憶域でARTプロセス
を遂行する。ARTプロセスからの情報はALBに置か
れ、それが無効になるかまたは他のARTオペレーショ
ンの結果によって置き換えられることのない限り、後続
のARTオペレーンヨンはALB中の情報を用いて遂行
される。
ALBはまた出力を生じる前に、必要な許可権検査を行
なう。ARTでALBを使用すると、実記憶域でART
を遂行するのに用いる情報の内容が変化しても、それが
必ずしもただちに、STDが得られるかどうか、あるい
はどのSTDがALBから得られるかということに影響
するわけではない。
ALBは論理的にはCPUのテーブルであって、いくつ
かのタイプのエントリを含む。ALBの構成を複雑にす
ると、ARTの特定の時点において1以上のALBエン
トリが使用可能である確率、したがってその時点におい
て実記憶域への1以上の参照を避けることができる確率
が高くなる。これに対して、ALBの構成を簡単にする
と、実記憶域への参照を回避する確率が低くなる。
連係スタック機構は、任意の異なった許可権レベルで動
いているプログラムが制御プログラムの介入なしに直接
連係されるのを可能にする。呼出しプログラム及び被呼
出しプログラムのシーケンスにおける各プログラムの許
可権の程度は任意に異なっていてもよ<、シたがって非
階層的なプログラム構造を確立することができる。EA
X、PSWキー、PSWキー・マスク及び二次アドレス
空間の変更についての許可権に関するオプシロンは、異
なった許可権を異なったプログラムまたは同じ被呼出し
プログラムと関連づける手段を与える。各プログラムの
許可権は、制御プログラムによって管理されるエントリ
・テーブルで規定される。同じプログラムを異なったP
C番号で呼び出せるようにエントリ・テーブルを設定す
ることにより、どのPC番号を呼出しに用いるかに応じ
て異なった許可権をプログラムに割り当てることができ
る。エントリ・テーブルは、プログラムがどのPC番号
を用いて他のプログラムを呼び出せるかということの制
御も可能にする。
連係スタック機構によって提供されるスクッキング・プ
ログラム呼出し及びプログラム戻りの連係オペレージロ
ンは、異なったアドレス空間にあって異なったレベルの
許可権を持つプログラムを連係することができる。実行
状態ならびに汎用レジスタ及びアクセス・レジスタの内
容はスクッキング・プログラム呼出し命令の実行の間係
管され、プログラム戻り命令の実行の間に部分的に復元
される。連係スタックは、連係オペレーションにおいて
実行状態及びレジスタ内容の保管及び復元を効率的に行
なう手段を提供する。
E、実施例 本発明の多重アドレス空間(MA S )機構は、二重
アドレス空間(DAS)機構及びアクセス・レジスタ・
システムを改良したものである。MAS機構は、DAS
機構との互換性を有しかつそれに追加する形で動くよう
に設計されており、若干の変更及び改良はあるが、はと
んどの部分でDAS機構のものと同じテーブル及びレジ
スタ配置を使用する。アクセス・レジスタ変換(ART
)システムは、ユーザがアクセス・レジスタ・システム
を十分に利用できるようにすると共に、機械のアドレス
指定機能をユーザから分離し保護する。
ARTルックアサイド・バッファ(ALB)の使用はA
RTの性能を高める。
サービス提供者(プログラム)は普通、ユーザに使用さ
せたいデータまたはプログラムを含むアドレス空間を1
以上所存する。サービス提供者は、プログラムにプログ
ラム呼出しくPC)番号を割り当てることによって、ユ
ーザに対してそれらのプログラムを使用可能にする。P
C番号割当て操作は、プログラム制御を移すためのリン
クを確立すること、サービス呼出し者(プログラム)に
必要とされる許可特性を指定すること、及びサービス提
供者のプログラムの許可特性を割り当てることを含む。
プログラム制御はあるアドレス空間から別のアドレス空
間へ移すことができ、また同じアドレス空間に留まって
いてもよい。いずれにしても、それに伴なって許可があ
るレベルから別のレベルへ変えられることがあり、その
結果、より大きな、より小さな、または異なった許可が
与えられる。サービス提供者は呼出し者のレベルとは異
なった許可レベルでランすることができ、それによりサ
ービス提供者ルーチンは呼出し者がアクセスできないア
ドレス空間にあるデータをアクセスすることができる。
ユーザ及びサービス提供者は、アクセス・リストにおい
て私用アドレス空間として指示されていないすべての空
間をアクセスすることができる。さらにサービス提供者
はユーザがアクセスできない選択されたアドレス空間を
アクセスすることができる。同様に、サービス提供者に
対し、ユーザがアクセスできる選択されたアドレス空間
へのアクセスを禁止することができる。
プログラム命令の実行は2つのオペレージ式ンに分ける
と都合がよい。最初のオペレーションは、実行すべき命
令の取出しである。2番目のオペレーションはオペラン
ドのアドレス指定であり、命令実行中に処理されるデー
タを取り出したり記憶したりするために行なわれる。A
RモードのMASでは、命令は一次アドレス空間として
設定されたアドレス空間から取り出される。−次アドレ
ス空間の設定には空間切替え操作が必要な場合もある。
第1図は、本発明に従うアクセス・レジスタを用いてオ
ペランドをアドレス指定する様子を示している。動的ア
ドレス変換で使用するSTDを得るためにアクセス・レ
ジスタの内容を使用するプロセスをアクセス・レジスタ
変換(ART)オペレーションと呼び、第1図では参照
番号10で示されている。命令12は、OPコード、ベ
ース・アドレスを含む汎用レジスタ14を指定するBフ
ィールド、及び加算器15で汎用レジスタ14のペース
・アドレスと組み合わされて記憶域オペランドの論理ア
ドレスを生成する変位りを含んでいる。アクセス・レジ
スタ・モードにおいては、BフィールドはALETを含
むアクセス・レジスタ16も指定する。ALETは、A
RT 10で変換されると、データを記憶するアドレス
空間に対するS T I)を5える。ARTl 0から
のSTDは加算器15からの論理アドレスと組み合わせ
ることができ、動的アドレス変換(DAT)18で一緒
に変換されると、/ステムによって使用されるオペラン
ドの実アドレスが生成される。命令12は、図示のBフ
ィールド及び変位りの他に、記憶域オペランドの論理ア
ドレスを含む汎用レジスタを指定するRフィールドを含
んでいてもよい。
本発明に従うアクセス・レジスタの使用は、次の移動(
MVC)命令で説明することもできる。
MVCO(L、1)、0(2) この命令は、長さしの第2オペランドを第1オペランド
記憶位置に移動する。第2オペランドの論理アドレスは
汎用レジスタ2にあり、第1オペランド記憶位置の論理
アドレスは汎用レジスタ1にある。第2オペランドを含
むアドレス空間はアクセス・レジスタ2にあるALET
により指定され、第1オペランドのアドレス空間はアク
セス・レジスタ1にあるALETにより指定される。こ
れら2つのアドレス空間は異なっていてもよく、また現
命令のアドレス空間と異なっていてもよい。
A L E Tを用いた実アドレスへの変換の概要を第
2図に示す。20は0番から15番までの汎用レジスタ
のアレイを示す。22は同じく0番から15番までのア
クセス・レジスタのアレイを示し、各アクセス・レジス
タはアレイ20の対応する汎用レジスタと対になってい
る。ALET中のアクセス・リスト・エントリ番号(A
LEN)がアクセス・リスト24または25の1つのエ
ントリを選択する。アクセス・リスト24はDUAL(
指名可能ユニット・アクセス・リスト)であり、アクセ
ス・リスト25はPSAL (−次空間アクセス・リス
ト)である。第2図の例では、アクセス・レジスタ2の
ALENは、PSAL25のエントリ3を指し示す。D
UAL24の起点は指名可能ユニット・アクセス・リス
ト記述子(DUALD)26により指定され、PSAL
25の起点は一次空間アクセス・リスト記述子(PSA
LD)27により指定される。あとで述べるように、D
UALD26は制御レジスタ2 (CR2)にあるエン
トリを解読することにより見い出され、PSALD27
は制御レジスタ5 (CR5)にあるエントリを解読す
ることにより見い出される。ARTで使用するアクセス
・リスト記述子は有効アクセス・リスト記述子(ALD
)として知られている。
アクセス・リストの各エントリは、ASN第2テーブル
・エントリ(ASTE)98を指し示すASTE7ドl
/スを含むが、A S T E ハA S N第2テー
ブル(AST)30にあることもないこともある。実際
にAST30に入っているものとはまったく独立に、A
RTのためにASTEを生成してその機能を遂行させる
ことができる。ただし、pcで使用されるASTEはA
ST30になければならない。各ASTEはDAS機構
で使用されるものと同様であり、DAT18で実アドレ
スを決定するためのSTD値を含む。
プログラムに対しては、それぞれが異なったケイハビリ
ティ定義域を表わす2つのアクセス・すストが同時に使
用可能である。一方のアクセス・リストは指名可能ユニ
ット・アクセス・リスト(DUAL)と呼ばれ、他方は
一次空間アクセス・リスト(PSAL)と呼ばれる。A
LETのALENがいずれのアクセス・リストのエント
リを指し示しているかは、ALET中の1ピツトにより
指定される。プログラムは、アクセス・リスト24及び
25の各エントリを使用することができる。
DUAL定義域は、指名可能ユニット(タスクまたはプ
ロセス)により実行されるプログラムのために永続的に
指名可能ユニットと関連づけられる。システムの指名可
能ユニットごとに固宵のDUALがある。DUALは、
たとえ関連する指名可能ユニットが多くの異なったアド
レス空間にあるプログラムを実行できるとしても、変更
することはない。PSAL定義域は一次アドレス空間と
関連づけられる。−次アドレス空間で実行されるすべて
のプログラムは、そのアドレス空間のPSALを共用す
る。これにより、−次アドレス空間で実行されるプログ
ラムは、共通の一組のアドレス空間へのアクセスを共用
することができる。−次アドレス空間がたとえば空間切
替えPCオペレージロンによって変わると、PSALも
変わる。有効ALETを所有するユーザはDUAL24
またはPSAL25のアクセス・リスト・エントリをア
クセスできる。アクセスされたエントリは所望のアドレ
ス空間を指定する。ALET及び選択された制御レジス
タを用いて同様に制御される他の定義域を設けることも
可能である。たとえば、システムにおけるすべてのプロ
グラムのケイパビリティを有するシステム・ワイド・ア
クセス・リス) (SWAL)を生成することができる
。既存の機構をさらに改良するため、5ASN定義域ア
クセス・リスト(SSAL)のごとき種々の定義域のサ
ブセットを構成することもできる。
ARモードにおいては、ALETが一次アドレス空間及
び二次アドレス空間にあるオペランドをそれぞれアクセ
スするように予約されているので、DUAL24のエン
トリ0及び1は使用されない。
CPUのアドレス指定モードは、後述のように、PSW
中のビットによって指定される。CPUがARアドレス
指定モードにあれば、0のALETは常に一次アドレス
空間を示し、1のALETは常に二次アドレス空間を示
す。第2図のブロック28はこれらの特別なALETを
識別し、DAT18へのPASN及び5ASNに対する
正しいSTDを与える。CPUがホーム・アドレス指定
モードにあれば、ホーム・アドレス空間が実行すべき命
令及びデータのソースである。ホーム・アドレス空間は
、実行中のプログラムに対する監視プログラム制御情報
を有するアドレス空間として定義される。オペレーティ
ング・システムは、データ・アクセスの目的で各ホーム
空間に対して2のALENを割り当て、ホーム空間のた
めのSTDはARTによって得られる。−次アドレス空
間及び二次アドレス空間に対するS T D値はそれぞ
れ制御レジスタ1及び7に保持されるので(第3図参照
)、アクセス・リスト・エントリ0及び1は使用されな
い。第2図の例では、PSAL25のエントリ011及
び2は使用されず、無効エントリとしてマークされる。
ARTルックアサイド・バッファ(ALB)i99は、
ARTから生ずるSTDを保持するため、ARアレイ2
2、PSAL25及びAST30からの入力を受は取り
保管する。ALB199はアクセス・リスト記述子DU
ALDまたはPSALDも保持する。同じALETが再
び使用される場合、ALB199は正しい出力を直接D
AT 18へ供給し、ARTを繰り返す必要はない。
命令実行中のプログラムの制御及びCPUの状態に関す
る情報を与える制御レジスタ及びPSWをそれぞれ第3
図及び第4図に示す。
第3図は、本発明のMAS機構に関係する制御レジスタ
0〜15の内容を示している。これらの内容の多くは公
知のDAS機構のものと同じであり、したがって、以下
では主としてMAS機構のためになされた変更個所につ
いて述べることにする。
制御レジスタ0のビット15(M)が1であれば、CP
UがMASモードで動作していること、及び制御プログ
ラムがMASをサポートすることを示す。MAS機構は
、エントリ・テーブル・エントリ、ASN第2テーブル
・エントリ、連係スタックの使用可能性、及びアクセス
・レジスタ・モードに入る能力について新しいフォーマ
ットを使用する。制御レジスタ1は一次セグメント・テ
ーブル記述子(PSTD)を含む。そのビット1〜19
は一次セグメント・テーブル起点(PSTO)を指定し
、ビット25〜31は一次セグメント・テーブル長(P
STL)を指定する。制御レジスタ2のビット1〜25
は、後述のように、DUALDを見つけるためにMAS
機構によって使用される指名可能ユニット制御テーブル
起点(DUCTo)を指定する。制御レジスタ5のビッ
ト1〜25は、−次ASTE起点(PASTEO)を指
定する。後述のように、制御レジスタ5の内容は、PS
AL起点と、−次アドレス空間についてのASTE中の
他の情報を見つけるべくASTEエントリを1旨し示す
制御レジスタ7は、ビット1〜19が二次セグメント・
テーブル起点(SSTO)を指定し、ビット25〜31
が二次セグメント・テーブル長(SSTL)を指定する
二次セグメント・テーブル記述子(S S T l) 
)含む。制御レジスタ8のビットO〜15は、本発明の
MAS機構で使用される拡張許可化+5(FAX)を含
む。後述のように、EAXはサービス提供者の制御のも
とにエントリ・テーブル・エントリ中のビット内容の指
定にしたがって変えることができ、これにより、プログ
ラムによるアドレス空間のアクセスの許可を変更するこ
とができる。
制御レジスタ13は、ビット1〜19がホーム・セグメ
ント・テーブル起点(HS T D )を指定し、ビッ
ト25〜31がホーム・セグメント・テーブルA(H3
TL)を指定するホーム・セグメント・テーブル記述子
(H3TD)を含む。制御レジスタ15のビット1〜2
8は、後述のように、最後の連係スタック・オペレー/
ヨンで定義された連係スタック・エントリのアドレスを
含む。
第4図に示したPSWのフォーマットにおいて、ビット
5はDAT 18が活動状態かどうかを示すDATモー
ド・ビット(T)である。ビット16及び17はアドレ
ス指定モードを指定する。DAT18が活動状態の場合
、ビット16及び17の組合せは、CPUが一次モード
(00)、二次モード(10)、アクセス・レジスタ・
モード(01)、及びホーム・モード(11)のいずれ
にあるかを示す。PSWのビット32は、ビット33〜
63の命令アドレスのフォーマットを指定するアドレス
指定モード・ビットである。PSWの残り(7)フィー
ルドの機能及びフォーマットはIBMシステム/370
で公知のものである。
第2図のところで説明し、たALETのフォーマットを
第5図に示す。ALETのビット7は一次リスト・ビッ
トであり、これが1であれば、ALENがPSALを参
照することを示す。ビット7が0であれば、ALENは
DUALを参照する。ビット16〜31はALENを含
む、ALENを16倍すると、その積は、有効アクセス
・リストの開始点から指定されたアクセス・リスト・エ
ントリまでのバイト数に等しい。ARTの間にもしAL
ENが有効アクセス・リスト外のエントリを指定するか
、またはALETの左から7ビツト(ビット0〜6)が
オールゼロでなければ、例外が認識される。ALENが
有効ALDのアクセス・リスト長(ALL)によって決
定されるアクセス・リストの終わりを越えたアドレスを
指し示していると、アクセス・リスト・エントリは有効
アクセス・リストの外にある。ALLについては第14
図を参照されたい。ALETがx’oooooooo。
またはX“00000001 ’ (X”は16進表記
を意味する)の場合は、上述のALETのフォーマット
は適用されない。これら2つのALET値はARTプロ
セスによって特別の欲味を割り当てられている。
ALETは、アクセス・レジスタ、汎用レジスタ及び記
憶装置のいずれにも保持することができ、ユーザの問題
プログラムによる操作からは保護されない。どのプログ
ラムも命令によってALETの値をアクセス・レジスタ
、汎用レジスタ及び記憶atの間で自由に転送すること
ができる。呼び出されたプログラムは、アクセス・レジ
スタの内容を自身が使用できる任意の記憶域に保管する
こと、アクセス・レジスタを自身の目的のためにロード
し使用すること、及び呼出しプログラムへ戻る前にアク
セス・レジスタの元の内容を復元することが可能である
。ALETのビット8〜15はアクセス・リスト・エン
トリ順序番号(ALESN)を含む。ALETは問題プ
ログラムからは保護されず、ユーザが誤ってその内容を
別の値に変えてしまう可能性があるので、信頼性を高め
るためにALESNをALETに含ませている。これは
ARTの間に検査される。
アクセス・リスト・エントリ(ALE)のフォーマット
を第6図に示す。ALEのビット0ハ、ALEが無効か
どうかを示す無効ビットである。ビ・ソト7は私用ビッ
トで、もしOであれば、どのプログラムもARTオペレ
ージ望ンでこのアクセス・リスト・エントリを使用する
ことができる。ビット7が1であれば、呼出しプログラ
ムがこのアクセス・リスト・エントリを使用できるかど
うかを決定するため、ビット18〜31のアクセス・リ
スト拡張許可権t! (ALEAX)が使用される。A
LEはビット8〜15にALESN値を含む。これは、
有効性検査のために、当該ALEを指定したALETの
ALESNと比較される。ALEのビット65〜88は
、関連するアドレス空間の対応するASTEアドレスを
含む。ALEのビット96〜126は、後述のASTE
エントリに関する有効性検査で使用されるASTE順序
番号(ASTESN)を含む。
第2図に示したアクセス・リスト24及び25のエント
リは、問題プログラムによる直接操作から保護するため
、制御プログラムによって与えられる。この保護は、キ
ー制御型の保護、またはアクセス・リストを問題プログ
ラムがDATでアクセスできない実記憶域に置くことに
より実現できる。ALEが宵効か無効かはビットOによ
って示される。有効ALEは、適切に許可されたプログ
ラムがアクセスできるアドレス空間を指定する。
無効ALEは、割振り又は再割振りの場合は有効エント
リとして使用できる。制御プログラムは、有効ALEを
割り一ったり、以前に割り振ったALEを無効にしたり
するサービスを提供する。
ALEの割振りは次のようなステップで行なわれれる。
まず、問題プログラムが、アドレス空間の識別子及びD
UAL24またはPSAL25を指定する標識、すなわ
ちALETの一次リスト・ビット7を制御プログラムに
渡す。制御プログラムはこれに応答して、問題プログラ
ムがアドレス空間のアクセスを許されているかどうかを
検査する。もし許されていると、制御プログラムは指定
されたアクセス・リストから無効エントリを1つ選択し
、それを有効エントリに変え、その中にASTEアドレ
ス及びASTESNを含ませることにより当該アドレス
空間を指定し、割り振られたALEを指定するALET
の値を問題プログラムに戻す。かくして、問題プログラ
ムは新しいALETをアクセス・レジスタに置くことに
より、アドレス空間をアクセスできるようになる。割り
振られたALEはあとで制御プログラムの無効化サービ
スにより、無効にされることがある。
無効にされたALEが再割振りされる場合、前の割振り
で指定されたアドレス空間とは別のアドレス空間が指定
される。ユーザが概念的に正しくないアドレス空間を指
定するALETを誤って使用するのを避けるために、A
LET及びALEの両方にALESNが保持される。制
御プログラムは、ALEを割り振る時、同じALESN
をALE及び指定されたALETの両方に置き、ALE
Tを問題プログラムに戻す。ALEを再割振りする時は
、制御プログラムは再割振りされるALEの中のALE
SHの値を変え、それが前に指定されたALET中のA
LESHの値と一致しないようにする。
ALEのASTESNについては、あとでASTEに関
連してさらに詳しく説明するが、ここで重要なのは、A
LE及びASTHに含まれるASTESNの値を比較す
ることによって、ASTHの指定に関するALEの権限
が確認されるということである。かくして、ASTEの
再割当てが可能になり、このASTEを参照していたす
べてのALEを調べる必要なしに、異なったASTES
Nを割り当ててその使用を制御することができる。
ASTESHの使用により、制御プログラムは、AST
Eを使用することができたすべてのプログラムまたは指
名可能ユニットを保持する必要はない。かくして、AS
TESNを変えることでアクセス権限を変えることがで
き、適切なASTESNなしにASTEを使用しようと
すると、例外又は割込みが生じる。これにより、オペレ
ーティング・システムは、ASTESHの変更前にAL
Eで許可されたケイパビリティでASTEをアクセスし
ようとする試みを知ることができる。かくしテ、オペレ
ーティング・システムは、新しいあるいは異なった空間
のためにASTEを安全に再使用する、または既存の空
間を使用するためその空間の現アクセス者の権限を再び
有効化する機構を有する。
第7図、第8図及び第10図はそれぞれ連係テーブル、
エントリ・テーブル及び連係スタックのエントリのフォ
ーマットを示している。これらのテーブルは、同じまた
は異なったアドレス空間にあるプログラムの間で制御を
移すために連係を確立するために本発明に従って使用さ
れる。
前述のように、PC番号は、システムによって呼び込ま
れかつサービス提供者によって構成される特定のPCル
ーチンを識別する。PCルーチンを提供する各サービス
提供者は、自身のルーチンを定義するための1以上のエ
ントリ・テーブルを所有する。エントリ・テーブルは、
PCルーチンへのアクセスを要求するアドレス空間の連
係テーブルに接続される。エントリ・テーブルの各エン
トリは1つのPCルーチンを定義し、その入口点及び動
作特性を含むと共に、PC命令がスクッキングPCかど
うかも示す。第7図は連係テーブル・エントリ(LET
)のフォーマットを示したもので、無効ビット(■)、
エントリ・テーブル起点(ETO)及びエントリ・テー
ブル長(ETL)を含み、これらによりエントリ・テー
ブル記述子が定義される。
第8図は第7図の連係テーブル・エントリにより指し示
されるエントリ・テーブルのエントリのフォーマットを
示している。エントリ・テーブル・エントリのビットO
〜15は許可キー・マスク(AKM)を含み、これは、
PC命令を出したプログラムが問題状態においてこのエ
ン) IJ点を呼び出すことを許されているかどうかを
検査するのに用いられる。ビット16〜31は、PC−
SS及びPC−cpのいずれが生じるかを示すエントリ
・アドレス空間番号(EASN)を含む。EASNがオ
ールゼロであれば、PC−cpが指定され、さもなけれ
ばPC−ssが指定される。後者の場合、EASNは一
次ASN (PASN)を置き換えるアドレス空間番号
(ASN)を識別する。
ビット32はアドレス指定モード・ビットであり、PC
オペレーションでPSW中のアドレス指定モード・ビッ
トを置き換える。ビット33〜62に含まれるエントリ
命令アドレス(E I A)は、PCオペレージ8ンで
PSW中の命令アドレスを置き換える。ビット63はエ
ントリ問題状態ビットであり、PCオペレーンヨンで現
PSWの問題状態ビット(ビット15)を置き換える。
ビット64〜95は、PCオペーンヨンで汎用レノスタ
4に置かれるエントリ・パラメータを含む。ビット96
〜111は、後述のMビットの値に応じて汎用レジスタ
3の内容とオア結合されるかまたはその内容を置き換え
るエントリ・キー・マスク(EKM)を含む。ビット1
28はPCタイプ・ビット(T)で、これが1であれば
、PC命令がスクッキング・オペレーンヨンを遂行する
ことを示す。ビット131はPSWキー制御ビット(K
)であり、これが1であれば、ビット36〜139のエ
ントリ・キー(EK)がスタッキングPCオペレーンヨ
ンでPSW中のPSWキーを置き換えることを示す。
このにビットが0であれば、PSWキーは変更されない
。ビット132はPSWキー・マスク制御ビア ) (
M)であり、これが1であれば、EKMがスタッキング
PCオペレーションで汎用レジスタ3にあるPSWキー
・マスクを置き換えることを示す。Mビットが0であれ
ば、EKMはスタッキングPCオペレージロンで制御レ
ジスタ3にあるPSWキー・マスクとオア結合される。
ビット133は拡張許可を旨標制御ピット(E)であり
、これが1であれば、ビット144〜159のエントリ
FAXがスクッキングPCオペレージ1ンで制御レジス
タ8にある現FAXを置き換えることを示す。Eビット
が0であれば、制御レジスタ8にある現EAXは変更さ
れない。ビット134はアドレス空間制御ビット(C)
であり、これが1であれば、現PSWのビット17がス
タッキングPCオペレーションで1にセットされること
を示す。Cピットが0であれば、現PSWのビット17
もOにセットされる。スクッキングPC命令が出される
時は、CPUは一部空間モードまたはアクセス・レジス
タ・モードのいずれかになければならないので、Cビッ
トが1であれば、CPUはアクセス・レジスタ・モード
になり、Cビットが0であれば、−広空間モードになる
。ビット135は二次ASN制御ビット(S)であり、
これが1であれば、スクッキングPC−ssオペレージ
ロンでビット16〜31のEASNが新しい二次ASH
になりかつ新しい二次セグメント・テーブル記述子(S
STD)が新しい一部セグメント・テーブル記述子(P
STD)に等しく設定されることを示す。Sピッが0で
あれば、新しい二次アドレス空間番号(SASN)及び
5STDは、呼出しプログラムの古い一部アドレス空間
番号(PASN)及びPSTDにそれぞれ等しく設定さ
れる。
EASNがオールゼロでなければ、ビット161〜18
5のASTEアドレスはその右側に6個のゼロを付加さ
れて、EASNのASN変換を適用した結果の実AST
Eアドレスを形成する。かくして、エントリ・テーブル
・エントリ中のEASN及びASTEアドレスがSTD
を含むAST30のエントリを指し示すことがわかる。
EASNのASN変換がASTEアドレスを得るために
遂行されるかどうか、あるいはビット161〜185の
ASTEアドレスがその指定されたASTEを見つける
のに使用されるかどうかは予測できない。
CPUは性能改善のために、ビット161〜185のA
STEアドレスを用いてその指定されたASTEを見つ
けることができる。
第9図は、指名可能ユニットごとに制御プログラムによ
って作成され得る連係スタック35を示している。この
連係スタックは、スクッキング・オペレージタンの間、
実行状態と汎用レジスタ及びアクセス・レジスタの内容
とを保管するのに用いる。連係スタックは、戻りオペレ
ージロンの間に保管内容の一部を復元するのにも使用さ
れる。
連係スタックは仮想記憶域にあり、関連する指名可能ユ
ニットのためのホーム・アドレス空間に置かれる。第3
図の制御レジスタに関連して説明したように、ホームΦ
アドレス空間は制御レジスタ13のH8TDによって指
定される。これは連係スタック情報を保護し、ユーザ・
アドレス空間で障害が発生した場合に連係スタック情報
の回復を可能にする。
連係スタックは問題状態プログラムからは保護されてお
り、それらのプログラムは、特別の抽出及び修正命令に
よる場合を除いて、連係スタックに保管されている情報
を調べたり修正したりすることはできない。連係スタッ
ク35は、正方向ポインタ及び逆方向ポインタによって
連鎖される複数の連係スタック・セクション36.37
及び38からなっていてもよい。
連係スタックには3種類のエントリ、すなわち逆方向ポ
インタを有する見出しエントリ40、正方向ポインタを
存する後書きエントリ42、及び状態エントリ43(連
係スタック・セクション36参照)がある。見出しエン
トリ及び後書きエントリはそれぞれ連係スタック・セク
ションの始め及び終りにあり、連係スタック・セクショ
ンを連鎖するのに使用される。見出しエントリ及び後書
きエントリは制御プログラムにより作成され、スクッキ
ング・オペレージロンで実行状態及びレジスタ内容を保
管すべく状態エントリが付加される。
制御レジスタ15にある連係スタック・エントリ・アド
レスは現状態エントリ44を指し示すか、またはセフシ
ーン中の最後の状態エントリが除去されていると現セク
ションの見出しエントリをt= t。
示す。
第10図は連係スタック状態エントリの内容を示したも
ので、スタッキングPC命令の場合、汎用レジスタの内
容(GRs)、アクセス・レジスタの内容(ARs) 
、PSWキー・マスク(PKM)、二次アドレス空間番
号(SASN) 、制御レジスタ8からのFAX、−次
アドレス空間番号(PASN) 、及びPSWの内容を
含む。これらはすべてスタッキング命令の開始時のもの
である。
さらに、使用されるPC番号も含まれる。後述するブラ
ンチ・スタック命令の場合は、PC番号の代りにアドレ
ス指定モード・ビット及びブランチ・アドレスが保管さ
れる。
連係スタック・エントリはいずれのタイプも8バイトの
倍数の長さを有する。見出しエン) IJ及び後書きエ
ントリはそれぞれ16バイトである。
状態エントリは168バイトである(第10図の下側の
数字はバイト番号を示している)。いずれのタイプもそ
の終りに8バイトのエントリ記述子(第10図の連係ス
タック状態エン) IJの46参!!6)を有する。
エントリ記述子のビットOはアンスタック抑止ビット(
U)である。見出しエントリまたは状態エントリのエン
トリ記述子においてビットUが1であれば、プログラム
戻りでのアンスタッキング・プロセスの間にスタック・
オペレーション例外が認識される。状態エントリがスタ
ッキング・プロセスの間に作成される時、そのエントリ
記述子のビットUはOにセットされる。
エントリ記述子のビット1〜7はエントリ・タイプ(E
T)・コードで、当該エントリ記述子を含む連係スタッ
ク・エントリのタイプを指定する。
ETフードには次の4種類がある。
0000001  見出しエントリ 0000010  後書きエントリ ooooioo  ブランチ状態エントリ000010
1  プログラム呼出し状態エントリ エントリ記述子のビット8〜15は制御プログラムによ
って与えられるセクション識別子(SI)である。スタ
ッキング・プロセスで作成されるエントリでは、プロセ
スはSlを先行の連係スタック・エントリのSIに等し
く設定する。エントリ記述子のビット16〜31は、当
該エントリの終りから同じ連係スタック・セク/=1ン
中の後書きエントリの始めまでのバイト数を指定する残
余自由空間(RFS)フィールドを形成する。エントリ
記述子のビット32〜47は、同じ連係スタック・セク
シヨンにおける次の連係スタック・エントリ(後書きエ
ントリを除く)のサイズをバイトで指定する次エントリ
・サイズ(NFS)フィールドを形成する。
スタッキング・プロセスの間に連係スタックで新しい状
態エン) IJを作成する場合、現連係スタック・セク
ションが新しいエントリを含むのに十分な自由空間を持
っていると、新しいエントリは現連係スタック・エント
リのエントリ記述子の直後に置かれる。現セクションに
十分な自由空間がなくても、現セクションの後に別のセ
クションがあることを現セク/gンの後書きエントリが
示していると、その後続セクションに十分な残余自由空
間があれば、新しいエントリは後続セクションの見出し
エントリのエントリ記述子の直後に置かれる。後続セク
ションがないことを後書きエントリが示していると、例
外が認識され、プログラム割込みが起こる。その場合、
制御プログラムが別のセクションを割り振り、それを現
セクションに連鎖して、スタッキング・オペレーション
を再実行させる。後続セクションがあっても、その中に
十分な自由空間がなければ、例外が認識される。
スタッキング・オペレーションで新しい状態エントリ4
4がうまく作成されると、制御レジスタ15にある連係
スタック・エントリ・アドレスは、新しいエントリのエ
ントリ記述子の一番左のバイトを指定するように更新さ
れ、かくしてこのエントリが新しい現連係スタック・エ
ントリになる。
スタッキング・プロセスで状態エントリを作成する場合
、そのNFSフィールドにはゼロが置かれ、作成された
状態エントリの長さは先行エントリのNFSフィールド
に置かれる。戻りオペレーションでは、汎用レジスタ及
びアクセス・レジスタの内容、ならびに制御レジスタの
種々の内容が連係スタック状態エントリ44から復元さ
れ、制御レジスタ15にある連係スタック・エントリ・
アドレスは前の連係スタック・エントリを指し示すよう
に変更される。状態エントリが戻りオペレージロンのア
ンスタッキング・プロセスの間に論理的に削除されると
、先行エントリのNFSフィールドにゼロが置かれる。
上述から明らかなように、連係スタックを使用すると、
プログラム制御が戻り命令によって被呼出しプログラム
から戻される時、呼出しプログラムの動作環境及び許可
レベルを復帰させることができる。連係オペレーション
は開始点まで遡れると共に、無効な変更が生じないよう
ユーザに強要する。
制御プログラムは、プログラムを含む各アドレス空間に
対してアドレス空間番号(ASN)を割り当てる。DA
S機構に関連して述べたように、ASN!tPc−ss
オペレーシーンの間に変換されることがある。しかし、
ASTEアドレスがETEにあるので(第8図参照)%
PC−ssオペレージロンにおいて、ASTEへのアク
セスをASNW、換なしにETEを用いて直接行なうこ
とができる。制御プログラムは、アドレス空間に関連す
るASTEにポインタを置くことによって、STD、A
T及び連係テーブルを各ASNと関連づける。それらの
アドレス空間にあるデータも、ASTEを指し示すアク
セス・リスト・エントリを制御プログラムに作成させる
ことにより、アクセスすることができる。アドレス空間
によってはデータしか含まないものもある。そのような
アドレス空間はASNを持たない。データだけの空間の
場合は、ASTE%STD、AT及びALEだけが使用
される。
第11図及び第12図はそれぞれASN第1テーブル及
びASN第2テーブルのエントリのフォーマットを示し
たものであるが、これらは前述のDAS機構のものとき
わめてよく似ている。第11図及び第12図の各エント
リは1つのアドレス空間を表わし、そのアドレス空間へ
の連係及びアドレス可能性を与えるべく制御プログラム
によって設定される。
第12図はASTHのフォーマットを示している。AS
TEのビットOは、ASTEが無効かどうかを示す無効
ビットである。許可権テーブル起点(ATO)及び許可
権テーブル畏(ATL)は、関連する許可権テーブルの
許可権テーブル記述子(ATD)を示す。ビット98〜
127は関連する連係テーブル記述子(LTD)を含み
、ビット128〜158は関連するアクセス・リスト記
述子(ALD)を含む。ビット180〜191はAST
E順序番号(ASTESN)を含む。ASTEは、制御
プログラムによるアドレス空間の作成及び削除に伴なっ
て再割り振りされることがあるので、新しく作成された
各ASTEは新しい開存のASTESNを割り当てられ
る。
ARTオペレージ1ンを実行する時、ASTEが異なっ
たアドレス空間または異なった権限に対して安全に再使
用できるように、有効性検査として、アクセス・リスト
中のASTESNとASTE中のASTESNが比較さ
れる。
第13図は、各ASTEに関連する許可権テーブルを示
している。DA8A8機構じく、各許可権テーブル・エ
ントリはPビット及びSビットを1つずつ持っている。
許可権テーブルのエントリは、関連するアドレス空間を
アクセスするために、使用されているEAXの各値に対
して許可権テーブルに1つのエントリが存在するように
指標づけされる。後述のように、制御レジスタ8 (C
R8)にあるEAXの値に対応する許可権テーブル・エ
ントリを用いて、プログラムがASTEに関連するアド
レス空間のアクセスを許されているかどうかを調べるこ
とができる。
第14図は、制御レジスタ2にアドレスが保持されてい
る指名可能ユニット制御テーブル(DUCT)のフォー
マットを示している。DUCTのバイト16〜19は指
名可能ユニット・アクセス・リスト記述子(DUALD
)を含む。DUCTの他のバイトはMAS機構では使用
されないので、説明は省略する。
プログラム呼出しくPC)命令は、連係機構の機能を上
げるべく改善された。PC命令が出された時、ETE 
(第8図)のTビット、すなわちビット128が1であ
れば、スクッキングPCオペレージθンが実行される。
スタッキングPCは、エントリ・テーブル・エントリ中
の許可キー・マスクにより、エントリ・テーブルから入
ることを許される。特に、空間切替えを伴なうスタッキ
ングPCは、(新しいプログラムに関連する)新しいF
AXを制御レジスタ8に置くことがある。スタッキング
PCは、汎用レジスタO〜15の内容、アクセス・レジ
スタ0〜15の内容、更新された命令アドレス(戻りア
ドレス)を含む完全なpsw。
PASN、5ASN、PKM、EAX、エントリがプロ
グラム呼出しによって作成されたことを示す標識、及び
2ワ一ド分の修正可能域をエントリに保管する。修正可
能域の目的は、プログラムの障害が生じた時に適切な回
復動作がとれるように、プログラムの進行状況を記録で
きるようにすることにある。
連係機能を改善するため2つの新しい命令、すなわちブ
ランチ・スタック及びプログラム戻りが追加された。
ブランチ・スタック命令はPSW中の命令アドレスを変
更し、第9図の連係スタックにブランチ状態エントリと
呼ばれる状態エントリを作成する。
ブランチ状態エントリは、ブランチ・スタック命令によ
り作成されかつPC番号の代わりにブランチ・アドレス
を含むということを除くと、プログラム呼出し状態エン
トリと同じである。ブランチ・スタック命令は、呼出し
プログラムの中、または被呼出しプログラムの入口点(
もしくはその近く)で使用することができる。入口点で
のブランチ・スタック命令は、古い呼出しプログラムを
変更することなく連係スタックを使用することを可能に
する。
プログラム戻り命令は、スタッキングPC命令またはブ
ランチ・スタック命令によって制御権を与えられたプロ
グラムから戻るのに用いられる。
プログラム戻り命令は最後の連係スタック状態エントリ
を論理的に削除する。このエントリはプログラム呼出し
状態エントリでもブランチ状態エントリでもよい。最後
の状態エントリがプログラム呼出し状態エントリであれ
ば、プログラム戻り命令は、エントリ中に保管されてい
たすべての状態情報ならびに汎用レジスタ2〜14及び
アクセス・レジスタ2〜14の内容を復元する。0番、
1番及び15番の汎用レジスタ及びアクセス・レジスタ
は、プログラム戻り命令によっては変更されない。最後
の状態エントリがブランチ状態エントリであれば、プロ
グラム戻り命令は、完全なPSW(PERマスク・ビッ
トRを除く)ならびに汎用レジスタ2〜14及びアクセ
ス・レジスタ2〜14の内容だけを復元する。PERマ
スク・ビットR(第4図参照)はプログラム戻りオペレ
ージロンによっては復元されない。スタッキング・プロ
グラム呼出し及びプログラム戻りの組合せは、非階層的
なプログラム連係、すなわちある範囲の権限を持ったプ
ログラムから、より小さい、より大きいまたはまったく
異なる権限を持ったプログラムへの連係を可能にする。
第15図、第16図及び第17図は、スクッキングPC
オペレーンヨンを実行するのに必要なステップの論理フ
ローを示している。この論理フローは、DASのプログ
ラム呼出し命令の実行にも使用できる。図面中の説明は
、種々の値が数学的にどのように操作されてアドレスを
生成するかを述べている。第3図に戻って、制御レジス
タOのビット15 (CRo、15)が0であれば、E
TEは16バイトであり、DASプログラム呼出しオペ
レーションだけを実行できる。CRo、15が1であれ
ば、ETEは32バイトであり、ETEビット128が
DAS  PC及びスタッキングPCのいずれを実行す
るのかを示す。
第15図は、プログラム呼出しのPC番号変換オペレー
ノヨンの論理フローを示している。CRo、15=1で
あれば、制御レジスタ5にあるPASTEO(第3図参
照)によって指定されるASTEが取り出される。この
−次ASTEはビット96〜127にLTDを含む(第
12図参照)。
プログラム呼出しがDASプログラム呼出しであれば(
CRo、15=O)、通常のDASオペレージ替ンと同
じ<、LTDは制御レジスタ5にある。
プログラム呼出し命令50は、DASの場合と同様に、
LX51及びEX52からなるPC番号を指定する。L
X51は、加算操作54により連係テーブル起点(LT
O)53と結合され、連係テーブル・エントリ55の実
アドレスを生成する。EX52は、加算操作56により
連係テーブル・エンドIJ55のエントリ・テーブル起
点(ETO)と結合され、エントリ°・テーブルにおけ
るエントリ・テーブル・エントリ(ETE)57の実ア
ドレスを生成する。
第1θ図は、現−次に対するスクッキング・プログラム
呼出しくPC−cp)及び空間切替えを伴なうスクッキ
ング・プログラム呼出しくPC−SS)を実行するため
に第15図から続く論理フローを示している。前述のよ
うに、ETE57のTビット60が1であれば、スクッ
キング・オペレーションが実行される。まず、AKM8
2の値が、問題吠態におけるプログラム呼出し命令の実
行前に制御レジスタ3に存在していたPKM84と83
でアンド結合される。θ3でのアンド操作の結果がオー
ルゼロであれば、プログラム呼出し命令はこの点から入
ることを許されず、オペレージ纏ンは終了する。63で
のアンド操作でいずれかのビットが一致していると、プ
ログラムはこのエントリのところでプログラム呼出しを
行なうことを許され、オペレーションが続けられる。プ
ログラム呼出しが許されると、その実行前に存在してい
たPSW65、EAX86、PKMEi4.5ASNE
i8及びPASN89が連係スタック(LS)に置かれ
る。図には示していないが、汎用レジスタの内容、アク
セス・レジスタの内容及びPC番号も連係スタックに置
かれる(第10図参照)。アドレス指定モード・ビット
A及びエントリ命令アドレス(EIA)はそれぞれPS
Wの70及び71のところに置かれる。ETE57のP
ビット及びCビットはそれぞれPSWの72及び73の
ところに置かれる。Kビットが1であれば、ETE57
のエントリ・キー(EK)はPSWのキー・フィールド
74に置かれる。Eビットが1であれば、zン) !J
EAX (EEAX)4t75に示すように制御レジス
タ8に置かれる。エントリ・パラメータ(EP)は76
に示すように汎用レジスタ4に置かれる。ETE57の
Mビットが1であれば、エントリ・キー・マスク(EK
M)は77に示すように制御レジスタ3にあるPKMを
置き換える。しかし、Mビットが0であれば、EKMは
オア操作78により制御レジスタ3のPKMとオア結合
される。PC−cpオペレージロンが実行されるか、ま
たはスクッキングPC−ssが実行されかつSビットが
Oであれば、制御レジスタ4にあったPASNθ9が制
御レジスタ3の5ASN79を置き換え、制御レジスタ
1にあったPSTD80が制御レジスタ7の5STD8
1を置き換える。スクッキングPC−ssが実行されか
つSビットが1であれば、制御レジスタ3の5ASNは
新しいPASNによって置き換えられ、制御レジスタ7
の5STDは新しいPSTDによって置き換えられる。
これらのオペレーションの後、ETE57のASNが8
3でテストされる。AsNがOであれば、PC−Cpオ
ペレーシ−ンの実行が完了したことを示す。しかし、A
SNが0でなければ、PC−ssオペレージ1ンが実行
され、宛先空間に対するASTEが得られる。
プログラム呼出しは、次の命令の保護されたコードを取
り出すために、PSWキー74をEKで変更することも
できる(Kビット=1)。
制御レジスタ8にあるEAXを変更することにより(7
5参照)、指名可能ユニットの作業を行なうように実行
される各プログラムに対して、DUAL及びPSALに
あるALEを使用する許可を異なった形で与えることが
できる。制御レジスタ8のFAX75は、スクッキング
・プログラム呼出しによってEEAXに等しく設定する
ことができる(Eビット=1)。元のEAXは、プログ
ラム戻りによって連係スタックから復元される。
かくして、各プログラムはプログラムの呼出しに使用さ
れるETEで指定されたFAXを用いて実行することが
できる。一方、呼出し連係の間FAXを不変にしておく
ことも可能であり(Eビット=0)、それにより呼出し
プログラムと同じアクセス権を被呼出しプログラムに持
たせることができる。
制御レジスタ3のPKM77をプログラム呼出しによっ
てEKMに等しく設定することにより(Mビット=1)
、被呼出しプログラムは呼出しプログラムのPKMとは
無関係のPKMを持つ。
この結果、被呼出しプログラムは、それが設定できるP
SWキー値の点から、呼出しプログラムよりも小さいア
クセス権を持つことが可能になる。
一方、新しいPKM77は、所望であれば、古いPKM
64及びEKMのオア結合(78参照)に等しく設定さ
れることもある(Mビット=0)。
新しい5ASN及び新しい5STDをそれぞれ新しいP
ASN及び新しいPSTDに等しく設定すると(S=1
)、被呼出しプログラムがALET411X ’ 00
000001 ’の使用によって自動的に呼出しプログ
ラムの一次アドレス空間のアクセス権を持つようになる
のを阻止できる(アクセス権はALEまたはDASの二
次ASN設定命令で得ることができる)。これは、被呼
出しプログラムのアクセス権を呼出しプログラムのもの
より小さくする別の方法である。一方、新しい5ASN
79及び新しい5STD81がそれぞれ古いPASN6
9及び古いPSTD80に等しく設定されることもある
(Sビット=0)。
第17図は、ASN変換のステップの論理フローを示し
ている。DAS機構と同じく、プログラムを含む各アド
レス空間はASNを割り当てられ、その値は対応するE
TE57の90のところに書き込まれる。ASN90は
2つの数値AFX91及びASX92からなる。これも
DAS機構と同様である。制御レジスタ14はASN第
1テーブル起点(AFTO)93を含み、これは加算操
作94でAFX91と組み合わせると、ASN第1テー
ブルにおけるAFTE95の実アドレスを与える。AF
TE95はASN第2テーブル起点(ASTO)96を
含み、これは加算操作97でASX92と組み合わせる
と、ASN第2テーブル30におけるASTE98の実
アドレスを与える。CRo、15が1の時は、ETE5
7にあるASTEアドレス100をASN変換の代わり
に使用することができる。制御レジスタ14のビット1
2はASN変換ビット(TIOI)である。
これがOであれば、ASTEアドレス100もASN9
0も使用できない。Tビット101が1であれば、いず
れかを使用できる。PC−ssオペレーションの場合、
ASTE98のAX102及びETE57のASN90
がそれぞれ制御レジスタ4の103及び104のところ
に置かれる。ASTE98の5TD105は制御レジス
タ1の106のところに置かれる。CRo、15=1で
あれば、ASTEアドレスはPASTEO107として
制御レジスタ5に置かれる。CRo、15=0であれば
、制御レジスタ5にはASTE98のLTD 108が
置かれる。第17図のASN変換はDAS及びMASの
いずれのオペレーンボンにも適用できる。
第15〜17図に関連して説明したPC−ssオペレー
ションは、命令取出しのために制御を新しいアドレス空
間へ移すのに使用できる。その場合、新しいアドレス空
間は一次アドレス空間として設定される。たとえば、P
C番号、エントリ・テーブル・エントリ及び連係テーブ
ル・エントリがサービス提供者によって設定される時、
そのPC番号を呼び出すプログラムのアクセス権を設定
するためAKMが特定される。呼出しプログラムがエン
トリ・テーブル・エントリによって定義されたプログラ
ムを呼び出す権限を持っていると(第16図のアンド操
作63かられかる)、PCオペレージaンは制御レジス
タ8にあるFAXを変更し得る。
たとえば、PCオペレーンヨンは、システム・サービス
を呼び出して、アクセス・リスト24及び25の一方に
新しいALEを付加するのにも使用できる。サービス・
プログラムは新しいアクセス・リスト・エントリを設定
して、アクセス・レジスタ・モードのオペレージロンで
呼出しユーザが使用する新しいALETを供給すること
ができる。アクセス・リスト・エントリを作成する時、
呼出しユーザの制御レジスタ8からのEAXがALEA
XとしてALE中に置かれる。ALEが作成されると、
サービス・プログラムはそのALEに対するALETを
ユーザ・プログラムに戻す。
ALETは、オペランドの取出しまたは記憶に使用する
のに都合のよい形で、記憶させたり、他のアドレス空間
へ送ったりすることができる。上述の許可手順は、許可
されていないプログラムがALETを使用するのを阻止
する。
アクセス・リスト・エントリの所有者は、アクセス・リ
スト・エントリの生成時にそれを私用エントリまたは公
用エントリとして指定することができる。私用エントリ
の場合は、所有者または許可されたユーザだけがアドレ
ス空間をアクセスでき、公用エントリの場合は、すべて
のユーザがアクセスできる。公用エントリはPビット(
ビット7)=0により示され、どのプログラムからも自
由に使用できる。Pビットが1であれば、その人LEは
許可されたプログラムしか使用できない。
もし2以上のFAXがALEを使用できるのであれば、
制御プログラムは、関連するアドレス空間のATにエン
トリを追加するための機構を提供する。
第18図は、プログラム許可検査付きのアクセス・レジ
スタ変換を示している。アクセス・レジスタ・オペレー
ションでALETを用いてオペランドの取出しまたは記
憶を行なう場合、ALETが有効であることを確かめる
ため、ALETのビット0〜6が115で調べられる。
ALET中のPビット116がOであれば、アクセス・
リストはDUALであり、Pビット11θが1であれば
、アクセス・リストはPSALである。DUALの場合
、有効ALDは制御レジスタ2にアドレスが記憶されて
いるDUCTから取り出される。PSALの場合、有効
ALDは制御レジスタ5にアドレスが記憶されている一
次ASTE (PASTE)から取り出される。有効A
LDは、アクセス・リスト起点及びアクセス・リスト長
(ALL)を含む。ALENがアクセス・リストの外に
ないことを確かめるため、117でALEN及びALL
が比較される。ALENがこの検査をパスすると、有効
アクセス・リスト起点は加算操作119によりALEN
と結合され、アクセス・リスト121中のALE120
のアドレスを生成する。まずALE120の無効ビット
(ビット0)が121で検査される。無効ビットがOで
ALE120が有効であることを示していると、124
でALETのALESN122及びALE120のAL
ESN123が比較される。ALESN122及びAL
ESN123が等しければ、ALETはALE120の
アクセスを許されており、ASTEアドレス125を用
いてASTE12Bが取り出される。ASTE128の
有効性は、128で無効ビット127を検査することに
より確かめられる。ASTE 12θが有効であれば、
ALE120がASTE12Bのアクセスを許されてい
るかどうかを確かめるため、ASTESN130及びA
STESN131が132で比較される。これらの検査
により、ARTの有効性が確認される。
次に、呼出しプログラムのアドレス空間アクセス権が検
査される。最初の検査は135で行なわれ、Pビット1
38がOかどうかを調べる。Pビット136が0であれ
ば、すべてのプログラムがALEに関連するアドレス空
間をアクセスすることができ、これ以上の検査は行なわ
れない。Pピット136が1であれば、ALEAX13
7及び制御レジスタ8にあるEAX138が比較器13
9で比較される。これらが等しければ、プログラムはこ
のアドレス空間のアクセスを許されており、これ以上の
検査は行なわれない。188での比較が不一致であれば
、ASN拡張許可検査が140で行なわれる。ASN拡
張許可検査140では、制御レジスタ8にあるEAX1
38が許可権テーブルの外にあるエントリを指定してい
ないことを確かめるため、EAX138及び許可権テー
ブル長(ATL)141が比較される。制御レジスタ8
にあるEAX138は、ATO142によって起点が指
定される許可権テーブルへの指標として使用される。許
可権テーブル中のSビットがこのFAXに対して1にセ
ットされていると、プログラムはアドレス空間のアクセ
スを許され、145でのDATオペレージ鱈ンのために
5TD144が供給される。
アクセス・リスト・エントリ中の私用ビット及びALE
AXフィールドは、ALEによって表わされるアドレス
空間へのプログラムのアクセスを許可したり禁止したり
する高性能の許可機構を提供する。私用ビットを0にし
ておくと、アクセス・リストを用いて実行されるすべて
のプログラムがALEによって表わされるアドレス空間
をアクセスできる。ALEの私用ビットを1にセットし
かつ制御レジスタ8にあるユーザのFAXをALEAX
フィールドに等しくしておくと、特定のFAXを持った
プログラムがALEによって表わされるアドレス空間を
アクセスできる。最後に、ALEの私用ピットを1にセ
ットしかつ制御レジスタ8にあるユーザのFAXが目標
空間の許可権テーブルにおいてSビットが1であるエン
トリを選択できるようにしておくと、異なったFAXで
実行される複数のプログラムがALEによって表わされ
るアドレス空間をアクセスできる。
第19A図及び第19B図は、アクセス・レジスタ変換
ステップ及び例外の流れを示している。
ART論理が呼び込まれる時、アクセス・レジスタ0 
(ARO)が指定されたかどうかが150で調べられる
。アクセス・レジスタOが指定されていると、ARTが
テスト・アクセス・オペレージ關ン(後述)によって呼
び込まれたかどうかが151で調べられる。アクセス・
レジスタOが指定されていないか、またはテスト・アク
セス・オペレーションであったならば、アクセス・レジ
スタにあるALETの使用が152で示される。アクセ
ス・レジスタ0が指定されかつこれがテスト・アクセス
・オペレーションでなければ、153でX1Ooooo
ooo ’がALETに割り当てられる。
ついで、ALETがx’ oooooooo ’かどう
かが154で検査される。もし「はい」であれば、15
5で一次アドレス空間のためのSTDが制御レジスタ1
から得られる。「いいえ」の場合は、156でALET
がX ’ 00000001゜かどうかが検査される。
もし「はい」であれば、157で二次アドレス空間のた
めのSTDが制御レジスタから得られる。「いいえ」の
場合は、158でALETのビット0〜6がOかどうか
が検査される。ビットO〜6がOでなければ、ALET
の割り当てられた値はを効ではなく、159でALET
指定例外が認識され、オペレーションは抑止される。
ビット0〜6がOの場合は、160でALETのビット
7が1かどうかが検査される。1であれば、制御レジス
タ5にあるPASTEOが161で解読され、PSAL
のための有効ALDが取り出される。ALETのビット
7がOであれば、制御レジスタ2にあるDUCTOが1
62で解読され、DtJALのための有効ALDが取り
出される。
163で取出しアドレスが無効であることがわかると、
164でアドレス指定例外が認識され、オペレーション
は抑止される。アドレスが有効であれば、ALETのA
LENが有効ALL (有効ALDのビット25〜31
)の範囲外かどうかが165で検査される。もし範囲外
であれば、166でALEN変換例外が認識され、オペ
レーションは無効にされる。165での答えが「いいえ
」であれば、167でALEが見つけられ、ALEアド
レスが有効かどうかが検査される。ALEアドレスが有
効でなければ、168でアドレス肯定例外が認識され、
オペレーションは抑止される。ALEアドレスがを効で
あれば、ALEが有効かどうかを見るため169でAL
Eの有効ビットが検査される。ALEが有効でなければ
、170でALEN変換例外が認識され、オペレーショ
ンは無効にされる。ALEが有効であれば、171でA
LETのALESN及びALEのALESNが比較され
る。171での比較の結果が不一致であれば、172で
ALE順序例外が認識され、オペレーションは無効にさ
れる。171で一致が検出されると、ALE中のAST
Eアドレスを用いて173でASTEが見つけられる。
ASTEアドレスが有効かどうかが検査され、もし有効
でなければ、174でアドレス指定例外が認識されて、
オペレージ瑳ンは抑止される。ASTEアドレスが有効
であれば、ASTEが有効かどうかを見るため175で
ASTEの有効ビットが検査される。ASTEが有効で
なければ、17θでASTE有効性例外が認識され、オ
ペレージ1ンは無効にされる。
ASTEが有効であれば、177でALEのASTES
N及びASTEの−ASTESNが比較される。177
での比較の結果が不一致であれば、178でASTE順
序例外が認識され、オペレーシーンは無効にされる。
上述のステップ163〜178は、得られたエントリが
有効かどうかを決定するものである。次の179では、
ALEの私用ビット(ビット7)がOかどうかが検査さ
れる。また、ALEにあるALEAX及び制御レジスタ
8にあるFAXの比較も179で行なわれる。いずれか
の検査で一致が検出されると、180でオペランドのた
めのSTDがアドレス空間のASTEから得られる。私
用ピットがOであれば、プログラムはアクセスを許され
ており、アクセス・レジスタ変換の許可ステップは完了
する。私用ピットが1であってもALEAXがEAXと
等しければ、プログラムはアクセスを許されており、ア
クセス・レジスタ変換の許可ステップは完了する。
プログラムが179ではまだ許可されていない場合は、
181でASTEのビット30.31.60〜63がO
かどうかを見ることによりASTEの有効性が検査され
る。これらのビットがOでなければ、182でASN変
換指定例外が認識され、オペレーションは抑止される。
ASTEが有効であれば、FAXが許可権テーブルの外
のエントリを指定していないことを確かめるため、18
3で制御レジスタ8にあるEAXビットO〜11の値及
び許可権テーブルの長さ(ATL)が比較される。EA
XビットO〜11の値の方がATLよりも大きければ、
184で拡張許可例外が認識され、オペレーシーンは抑
止される。EAXが許可権テーブルの範囲内のエントリ
を指定していると、185で関連するエントリが許可権
テーブルで見つけられる。この許可権テーブル・エント
リのアドレスが有効でなければ、186でアドレス指定
例外が認識され、オペレージ1ンは抑止される。アドレ
スが有効であれば、186で見つけられた許可権テーブ
ル・エントリの二次許可ビット(Sビット)が1かどう
かを見る拡張許可検査が187で行なわれる。187で
の検査結果が「はい」でアレば、呼出しプログラムはこ
のアドレス空間に関連する許可権テーブルによって許可
されているプログラムのうちの1つであり、188でこ
のアドレス空間のためのSTDがASTEから得られる
。187での検査結果が「いいえ」であれば、プログラ
ムは許可されておらず、189で拡張許可例外が認識さ
れ、オペレージ1ンは無効にされる。
MAS機構は、前述のテスト・アクセス・オペレージ耀
ンを実行するため、テスト・アクセス・レジスタ(TA
R)命令を使用する。TAR命令のフォーマットは次の
とおりである。
TARA1.R2 TAR命令では、第1オペランドA1のアクセス・レジ
スタにあるものとして指定されたALETが、第2オペ
ランドR2によって指定された汎用レジスタにあるFA
Xを用いてALET変換例外を検査される。TAR命令
は、第19A図のステップ151で「はい」と判定され
ると、第18A図及び第19B図のARTオペレージロ
ンを実行させる。TAR命令は、次のテスト結果をPS
Wの条件コード(CC;第4図参照)に戻す。
0 =指定されたALETはOであり、アクセスに対し
て有効である。
1 =指定されたALETはOまたは1ではなく、制御
レジスタ2によってアドレスされるDUALにあり、指
定されたEAXでのアクセスに対して有効である。
2 =指定されたALETは0または1ではなく、制御
レジスタ5によってアドレスされるPSALにあり、指
定されたFAXでのアクセスに対して有効である。
3 =指定されたALETは1であるか、または指定さ
れたFAXでのアクセスに対して無効である。
入力FAXを用いて許可例外についてALETをテスト
できるようにしておくと、プログラムは、ALETが呼
出しプログラムのPASNを参照するのか(ALET=
O) 、DUALを参照するのか、呼出しプログラムの
PSALを参照するのかを決定することができる。これ
は、プログラムをALETの内部フォーマットとは無関
係にする。
TAR命令を用いてARTを実行する時、ALBエント
リが作成される。かくして、ART中に例外が生じなけ
れば、ARにあるALETが実際に使用される時、AL
Bはエントリを含む。
第20図はTAR命令の使用例を示している。
指名可能ユニットのタスク制御ブロックTCBIは、2
00での実行中、5のFAXを持っている。
このFAXにより、プログラムは、TCBlについての
指名可能ユニット・アクセス・リスト(DUAL)の特
定のエントリを使用することができる。201で、第1
プログラムがアドレス空間ASN2にある第2プログラ
ムに対しプログラム呼出しを行ない、第2プログラムで
使用すべきALETを渡す。202で、ASN2にある
プログラムが8のFAXを用いて実行されるが、これは
呼出しプログラムのFAXとは異なっている。もしプロ
グラムが202で呼出しプログラムによって与えられた
ALETを使用すると、システム保全の問題が生じる。
呼出しプログラムはALETを参照するFAX権限を持
っていないことがあるが、ASN2のプログラムは持っ
ている。ASN2のプログラムは、呼出しプログラムが
渡されたALETを使用する権限を持っていたかどうか
を調べるを動性検査を実行しなければならない。203
で、ASN2のプログラムは、入力ALET及び呼出し
プログラムのFAX (=5)を指定するTAR命令を
用いて、有効性検査を実行する。呼出しプログラムのF
AXは、ASN2へのプログラム呼出しで作成された連
係スタック・エントリから得られる。TAR命令の実行
の結果、呼出しプログラムがALETの使用を許されて
いたことを示す条件コードが与えられると、ASN2の
プログラムはその機能の遂行を続けることができる。
呼出しプログラムがALETの使用を許されていなけれ
ば、ASN2のプログラムは呼出しプログラムを打ち切
るか、または呼出しが成功しなかったことを示す戻りコ
ードを呼出しプログラムに戻す。204で戻り命令によ
り制御が戻されると、呼出しプログラムのFAX (=
5)がスタックから復元され、ASNlのプログラムは
このFAXを用いて実行を続ける。
ALET有効性検査機能は頻繁に要求される。
第20図の例では、ASN2にあるプログラムへの呼出
しのたびに必要とされる。この機能はオペレーティング
・システムのサービス・ルーチンによっても提供できる
が、そうするとオーバーヘッドが大きくなり過ぎる。も
しTAR機能がなければ、呼出しプログラムのALET
を参照してEAXを変更しなければならないプログラム
は、たとえば2つのPC命令を使用する必要がある。最
初のPC命令はFAXを変更せず、呼出しプログラムの
FAXを用いて呼出しプログラムのパラメータが参照さ
れる。あとで2番目のPC命令が実行され、被呼出しプ
ログラムが使用する新しいFAXが与えられる。呼び出
されたサービスは、その機能を遂行するのに異なったF
AXを必要とすることがあり、この機構は正しいEAX
の使用を可能にする。かくして、TAR機能はより効率
のよい検査を可能にする。第20図の例では、TAR命
令がDUALのALETと共に使用されているが、DU
AL及びPSALのいずれのALETも使用できる。
第21図〜第25図を参照するに、アクセス・レジスタ
変換(ART)機構は、通常、アクセス・リスト記述子
ならびにアクセス・リスト、ASN第2テーブル及び許
可権テーブルで指定される情報が、ARTルックアサイ
ド・バッファ(ALB;第2図の199)と呼ばれる特
別のバッファに保持されるように構成される。アクセス
・リスト記述子(ALD)、アクセス・リスト・エント
リ(ALE) 、ASN第2テーブル・エントリ(AS
TE)及び許可権テーブル・エントリ(ATE)は集合
的にARTテーブル・エントリと呼ばれる。
CPUgt、ARTテーブル・エントリを最初にアクセ
スする場合にのみ、実記憶域にあるARTテーブル・エ
ントリを参照する必要がある。エントリ中の情報をAL
Bに置いておくと、そのあとのARTオペレージ四ンを
ALB中の情報を用いて実行することができる。ART
プロセスでALBを用いた場合、実記憶域でのALD、
ALElASTEまたはATEの変更は必ずしもただち
に変攬に影響を及ぼさなくてもよい。
ALBの大きさ及び構造は実施態様に応じて異なる。た
とえば、アクセス・レジスタ1〜15とそれぞれ1対1
に対応する15個のエントリを含み、各エントリがセグ
メント・テーブル記述子(STD)だけからなるように
ALBを構成することができ(第24図参照)、またA
LET1現指名可能ユニット制御テーブル起点または一
次ASTE起点、及び現拡張許可指標に基づいて選択さ
れる値の配列を含むようにALBを構成することができ
る。前者の場合、アクセスφレジスタが再ロードされる
と対応するALBエントリがクリアされ、制御レジスタ
2.5または8の内容が変更されるとALB全体がクリ
アされる。後者の場合、アクセス・レジスタ又は制御レ
ジスタの内容が変更されても、ALBの中の情報は維持
される。
ALB内部のエントリは、プログラムによる明示的なア
ドレス指定ができないようになっている。
ALBにおける情報の保持はたとえ可能であったとして
も、そのすべての場合において保持しなければならない
ということはない。さらに、ALB中の情報は、クリア
しなければならない場合以外にもクリアすることができ
る。ALB中のすべての情報がクリアされるのは、AL
B除去命令もしくはプレフィクス設定命令の実行または
CPUリセットによる場合だけである。
ALBエントリは、実記憶域にあるARTテーブル・エ
ントリから取り出された情報、及び実記憶域にあるAR
Tテーブル・エントリを選択するのに用いる情報を含む
。実記憶域にあるALDはアクセス・リスト記述子ソー
ス起点(ALDSO)を用いて選択される。ALDSO
は、変換中のALETにある一次リスト・ビットがOで
あれば、制御レジスタ2にある指名可能ユニット制御テ
ーブル起点(DUCTO)であり、−次リスト・ビット
が1であれば、制御レジスタ5にある一次AsN第2テ
ーブル・エントリ起点(PASTEO)である。
ALDのアクセス・リスト起点部分は、ALETと共に
、実記憶域にあるALEを選択するのに使用される。
ALE中のASTEアドレスは、実記憶域にあるAST
Eを選択するのに使用される。
ASTE中の許可権テーブル起点は、制御レジスタ8に
あるEAXと共に、実記憶域にあるATEを選択するの
に使用される。
第21図を参照するに、ALBの最初の実施例では、A
LB−ALD及びALB−ALEが結合されてALB−
ALD/ALEになり、したがうてアクセス・リスト起
点をALBエントリに置く必要はない。ART要求のた
めのALDSO及びALETがALBエントリの内容と
一散すると、ALBは次のような情報を与える=Pピッ
ト、ALEAX、ASTEアドレス及びASTESN。
これらはすべてALEからのものである。かくして、こ
のタイプのエントリは、アクセス権の再検査を可能にし
、またSTDを得るためのASTEへのアクセスを、A
STESNエントリの検査を伴なって、使用時に実行す
ることができる。異なったALETが同じASTE及び
STDを指し示していてもよいので、これはALBの効
率的な使用を可能にする。このようなALBの設計は、
適切なアクセス・リストの使用及びALEの決定の代わ
りになるものであるが、ASTE及び許可機構は前と同
様に使用される。
第22図を参照するに、ASTEの機能もALBに組み
込めば、ALBから直接STDを得ることができる。A
LDSO及びALETは、もしALBにおいて一致が生
じていると、次のような情報を与える:Pピッ)、AL
EAX、許可権テーブル起点(ATO) 、許可権テー
ブル長(ATL)及びSTD、STD、ATO及びAT
LがすでにALBに保持されているので、これらを得る
ためにASTEがアクセスされることはない。しかし、
ASTESNがASTEにおいて変更されるのであれば
、ALBはASTESHによるケイパビリティの再検査
なしにSTDを含むことになるので、ALBを除去しな
ければならない。
第23図を参照するに、ALBの第3の実施例は、AL
D、ALE、ASTE及びATEからの情報及び属性を
単一のALBエン) IJに組み込んでいる。簡略化を
考えると、ALDソース起点が制御レジスタ2または5
で変更される度に、第23図の実施例におけるALBの
すべてのエントリが自動的にクリアされるのであれば、
ALBエントリにALDSOフィールドを含ませておく
必要はない。また、FAXフィールドが制御レジスタ8
で変更される度に、機械がALBのエントリをクリアす
るのであれば、P、ALEAX、EAX及びSの各フィ
ールドを含ませておく必要はない。
このような簡略化した実施例は第24図に示されており
、そこでは各ALETは、STDを不適切な使用から保
護するのに必要なALB除去操作によって左右されるが
、単にSTDを取り出すだけである。最後に、各エント
リがアクセス・レジスタ1〜15のそれぞれと1対1に
対応しており、かつ対応するアクセス・レジスタが再ロ
ードされる時にクリアされるのであれば、ALETフィ
ールドも不要である。
O及び1のALET値の変換はALBの使用を許されな
い。実際の構成が制御レジスタ1及び7の内容の付加的
な写しを有するのであれば、これらの制御レジスタの変
更を追跡するために機械は何らかの動作を実行する必要
があるかも知れない。
ALBエントリの作成、及びプログラムによるARTテ
ーブル・エントリ(実記憶域にある)の操作の効果は、
ARTテーブル・エントリが特定のCPUに属している
かどうか、及びエン) IJが有効かどうかによって異
なる。
ARTテーブル・エントリが特定のCPUに属している
場合、そのCPUはアクセス・レジスタ変換に当該エン
トリを使用することができる。ARTテーブル・エント
リは一時に2以上のCPUに属していてもよい。
アクセス・リスリ・エントリまたはASN第2テーブル
・エントリは、関連する無効ビットがOであれば、有効
である。アクセス・リスト記述子及び許可権テーブル・
エントリは無効ビットを持っておらず、したがって常に
有効である。−夕空間アクセス・リスト記述子は、−次
ASTE中の無効ビットの値とは無関係に有効である。
ARTテーブル・エントリは、CPUに付属させられて
有効な時、ALB中に置くことができる。
アクセス・リスト記述子は、制御レジスタ2にある指名
可能ユニット制御テーブル起点によって指定される指名
可能ユニット制御テーブルの内部、または制御レジスタ
5にある一次ASTE起点(PASTEO)によって指
定される一次ASTEの内部にあるとき、CPUに付属
させられる。
制御レジスタ5は、制御レジスタOのビット15、すな
わち多重アドレス空間制御ビットの値とは無関係に一次
ASTE起点を含むものと考えられる。
第25図はALBの良好な実施例を示している。
この実施例では、ALBはいくつかの異なったテーブル
で構成され、これらのテーブルはALBの使用中に別々
にかつ順次にアクセスされ、STI〕に対する2以上の
パスを与える。最初のステップでは、ALDSO及びA
LTEからなるエントリを探索キーとして用いてALB
−ALD/ALEテーブルがアクセスされ、キーとすべ
てのテーブル・エントリが比較されて(ブロックC)、
もし一致が検出されると、正しい結果が次のステップヘ
ゲートされる(ブロックG)。ALB−ALD/A L
 Eエントリは結果の情報として、Pビット(私用ビッ
ト)、ALEAX、ASTEアドレス及びASTESN
を供給する。次のステップでは、ASTEアドレスがA
LB−ASTEテーブルへの探索キーとして使用される
(比較ブロックC)。一致が検出されると、ASTES
N、ATOlATL及びSTDからなるALB−AST
Eエントリがゲートされる(ブロックG)。ASTES
NはALB−ALD/ALEエントリからのASTES
Nと比較される。ALBプロセスを続けるためには、こ
れらが一致していなければならない。ALB−ALD/
ALEエントリからのPビットが1でかつ制御レジスタ
8 (CR8)!、あるEAXがALB−ALD/AL
Eエントリ中の、ALEAXと一致しなければ、ALB
−ATEテーブルを用いた許可検査が行なわれる。その
場合、ATO及びEAXが検索キーとして使用される。
FAXは制御レジスタ8から得られ、ATOは2番目の
ステップで見つかった結果から得られる。
一致が検出されると、一致したALB−ATEエントリ
から二次ビット、すなわちSビットが検査結果としてゲ
ートされる。
ASN第2テーブル・エントリ(ASTE)は、ALB
−ALD/ALEエントリまたは付属されたを効なAL
EにあるASTEアドレスによって指定されると、CP
Uに付属させられる。
許可権テーブル・エントリはALB−ASTEエントリ
または付属された何効なASTEによって指定される許
可権テーブル内にあると、CPUに付属させられる。
ALB−ALD/ALEエントリは、以下の条件がすべ
て満たされた場合にのみARTに使用されるようにして
もよい。
1、変換すべきALETが1より大きい値を持っている
。(もしALETが0または1であれば、CRIまたは
CR7の内容が使用される。)2、ALB−ALD/A
LEにあるALDSOが使用中のALDSOと一致して
いる。
3、ALB−ALD/ALEエントリにあるALETが
変換すべきALETと一致している。
4、ALB−ALD/ALEエントリがALE許可検査
に合格する、すなわち以下の条件のいずれかが真である
a、ALB−ALD/ALExントリにある私用ビット
が0゜ b、ALB−ALD/ALEエントリにあるALEXが
現EAXに等しい。
C0現EAXが、ALB−ALD/ALEによってアド
レスされたASTEにより指定される許可権テーブルに
つき1の二次ビット(Sビット)を選択。
ALB−ASTEエントリは、その中のASTEアドレ
ス及びASTESNが使用中のALEまたはALB−A
LD/ALEにあるASTEアドレス及びASTESN
と一致する時はいつでもARTのために使用することが
できる。
また、2以上のALB−ALD/ALEエントリが同じ
ALB−ASTEエントリを指定してもよく、そうすれ
ばALB−ASTEテーブルに対するより多くのパスを
提供することができ、ALBに別々のタイプのテーブル
を使用することが正当化される。
ALB−ATEエントリは、以下の条件が両方共満たさ
れると、ARTのために使用することができる。
1、ALB−ATEエントリにあるATOが使用中のA
STEまたはALB−ASTEエントリにあるATOと
一致する。
2、ALB−ATEエントリにあるEAXが現EAXと
一致する。
付属された無効なARTテーブル・エントリが有効化さ
れる時、または付属されていない有効なARTテーブル
・エントリが付属され、かつARTテーブル・エントリ
から生成される使用可能なエントリがまだALBにない
時は、変更の効果は遅くとも現命令の終了までに生じる
ALBの内容は、AR内容の変更による影響を受けない
。ALBは、異なったAR内容、または異なった指名可
能ユニットを有する異なったFAX定義域に関係する情
報を同時に含むことができる。もしタスクが切替え後に
再び指名されるのであれば、ALBはARTのための使
用可能なエン   ゛トリを含み得る。
付属された有効なARTテーブル・エントリが変更され
る時、及びALBがそのエントリの写しをクリアされる
前にそのエントリを必要とするARTが実行されようと
する時は、次のような予測不能の結果が生じ得る。新し
い値の使用が、命令と命令の間、または命令の実行中(
変更を生じさせた命令を含む)に始まり得る。さらに、
ALBは、当該エントリの写しをクリアされるまで、古
い値及び新しい値の両方を含む可能性があるため、特定
のARTオペレージ式ンでどちらの値が選択されるかは
予測できない。
アクセス多重ロード命令<LOAD  ACCESS 
 MULTIPLE)または制御情報ロード命令(LO
AD  C0NTR0L)がARTに関連するパラメー
タを変更する時、オペレーシヨンの開始時におけるこれ
らのパラメータの値はオペレージ日ンの間中有効である
ALBは、ALB除去命令(PURGE  ALB)ま
たはプレフィクス設定命令(SET  PREFIX)
の実行、及びCPUリセットによりすべてのエントリを
クリアされる。これらの命令は、ALBに望ましくない
状態が生じるのを阻止するために使用される。
F、まとめ及び究明の効果 多重アドレス空間(MAS)機構は、次の2つの主要領
域において改善をもたらす。
1、データ・アクセス: プログラムは、命令空間を含
む16までの異なったアドレス空間にあるデータを、ど
の制御パラメータも変更することなく、同時にアクセス
することができる。これは、16個の新規なレジスタ、
すなわちアクセス・レジスタにより可能となる。アクセ
ス・レジスタの内容を変えれば、より多くのアドレス空
間をアクセスすることができる。
2、プログラム連係: エントリ・テーブル・エントリ
の内容が拡張され、プログラム呼出しオペレーションに
おいてより多くの状況変化が可能になった。プログラム
呼出し中の状況の保管、及び新規な命令、すなわちプロ
グラム戻り命令(PROGRAM  RETURN)に
よるその復元のために、連係スタックが設けられる。連
係スタックを使用するブランチ型の新規な連係もある。
MASは16個の32ビツト・アクセス・レジスタO〜
15 (ARO−AR15)を備えている。
これらのアクセス・レジスタは、新規なアドレス指定モ
ード、すなわちアクセス・レジスタ・モードで記憶域オ
ペランドをアドレスするのに使用される。アクセス・レ
ジスタ・モードは、PSWにおける新規なビット設定で
実現される。
アクセス・レジスタ帝モードにおいては、命令のBフィ
ールドまたはRフィールドは、記憶域オペランド・アド
レスを含む汎用レジスタの他に、同じ番号のアクセス・
レジスタも1旨定する。アクセス・レジスタの内容は、
DATによって記憶域オペランド・アドレスを変換する
のに用いるセグメント・テーブル記述子(STD)を得
るために、アクセス・レジスタ変換(ART)と呼ばれ
るプロセスで使用される。
アクセス・レジスタ(こよってt5定されたアドレス空
間はAR指定アドレス空間と呼ばれる。
アクセス・レジスタはデータ・アドレスにのみ適用され
、命令アドレスには適用されない。アクセス・レジスタ
・モードにおいては、命令は常に一次アドレス空間から
取り出される。(あるアドレス空間から別のアドレス空
間へブランチすることはできない。) RX形式の命令のXフィールドで指定されたアクセス・
レジスタの内容は無視される。BフィールドまたはRフ
ィールド指定されたアクセス・レジスタだけがARTで
使用される。
アクセス・レジスタの使用により、任意の2つのアドレ
ス空間の間でデータを移動することができ、完全命令セ
ットを用いて複数の異なった空間にあるデータを同時に
処理することができる。
DAS命令のうち、二次空間から一次空間への移動を行
なう命令(MOVE  To  PRIMARY)及び
−次空間から二次空間への移動を行う命令(MOVE 
 To  5ECONDARY) は、アクセス・レジ
スタ・モードでは実行を許されないが、キーを用いた移
動命令(MOVE  WITHKEY)は実行可能であ
り、したがってDAS機構と同様に、ソース・データ域
及びターゲット・データ域に対して異なったアクセス・
キーを持つことができる。
アクセス・レジスタの内容は、一般には、アクセス・リ
ストと呼ばれるデータ域のエントリを指定するので、ア
クセス・リスト・エントリ・トークン(ALET)と呼
ばれる。ARTは、指定されたアクセス・リスト・エン
トリの内容を用いることによって、DATで使用される
セグメント・テーブル記述子を得る。
「トークン」という用語を用いた理由は、ALETがア
ドレス空間をアクセスするどのようなケイパビリティも
直接伝えることがないからである。
ALETはアクセス・リスト・エントリを指定するだけ
であり、指定されたエントリが実際のケイパビリティを
表わす。
ALETは通常のデータとして操作できる。MAS機構
は、アクセス・レジスタ、汎用レジスタ及び記憶装置の
間でALETを転送するための命令を含む。特に、被呼
出しプログラムはアクセス・レジスタの内容を記憶装置
に保管し、自身の目的のためにアクセス・レジスタをロ
ードシ、シかる後、元の内容を復元することができる。
呼出しプログラム側から見れば、アクセス・レジスタの
内容は変わっていない。
ALETは、たとえアクセス・レジスタOが記憶域オペ
ランドのアドレス指定に関与しないとしても、アクセス
・レジスタOを転送元及び転送先にすることができる。
ALETの値0及び1は特別な値であって、アクセス・
リスト・エントリを使用することなく、−夕空間及び二
次空間をそれぞれ指定する。そのため、プログラムは自
身の命令アドレス空間を指定するアクセス・リスト・エ
ントリを作成する必要なしに、その命令アドレス空間を
アクセスすることができ、また空間切替えを伴なうプロ
グラム呼出し後に、被呼出しプログラムは同様にして呼
出しプログラムの空間をアクセスすることができる。被
呼出しプログラムは、呼出しプログラムの空間へのアク
セスを拒否されることもある。
アクセス・リスト・エントリは、アクセス・レジスタが
使用できるアドレス指定ケイパビリティである。アドレ
ス指定ケイパビリティの完全性を保証するため、アクセ
ス・リストは問題状態プログラムから保護される。
制御プログラムは、アクセス・リスト・エントリを割り
振ってそのエントリを指定するALETを戻すサービス
を提供する。プログラムは、戻されたALETを用いて
、対応するエントリによって指定されるアドレス空間を
アクセスすることができる。制御プログラムは、アクセ
ス・リスト・エントリの割振りを解除するサービスも提
供する。
これにより、アクセス・リスト・エントリの再使用が可
能になる。
アクセス・リスト・エントリは、割り振られた状態にな
ければ、無効としてマークされる。無効なアクセス・リ
スト・エントリを使用しようとすると、例外が認識され
る。
プログラムは2つのアクセス・リストを使用することが
できる。一方は指名可能ユニット・アクセス・リストと
呼ばれ、他方は一次空間アクセス・リストと呼ばれる。
指名可能ユニット・アクセス・リストは、プログラムが
実行される指名可能ユニット(タスクまたはプロセスを
意味するアーキテクチャ上の用語)と永続的に関連づけ
られる。−夕空間アクセス・リストは、プログラムが実
行されている一次アドレス空間に属する。どちらのアク
セス・リストを使用するかはALET中の特定のビット
により指定される。
アクセス・リスト・エントリは、自身が公用か使用かを
指定するピットを含んでいる。公用アクセス・リスト・
エントリの使用については許可は不要である。私用アク
セス・リスト・エントリの使用は、拡張許可指標(EA
X)による許可を受けなければならない。拡張許可指標
は、指名可能ユニット及びプログラムのいずれに属して
いてもよいが、プログラムが実行される一次空間に属す
ことはない。
拡張許可指標の使用により、指名可能ユニット・アクセ
ス・リスト中のエントリは、指名可能ユニットの作業を
行なうべく実行されるプログラムのいくつか(すべてで
はない)によって使用され得る。
同様に、−広空間アクセス・リスト中のエントリは、対
応する一次空間で実行されるプログラムのいくつか(す
べてではない)によって使用される。
DASの許可指標は、二次空間設定の際に二次ASN設
定命令の使用を許可し、二次空間は1のALETでアク
セスできるので、アクセス・レジスタの使用に関係する
。前述のように、許可上JMは一次空間に属する。
MASでは、エントリ・テーブル・エントリ中の7斤蜆
なビット、すなわちPCタイプ・ビットをテストすべく
プログラム呼出しが変更される。このビットがOであれ
ば、プログラム呼出しは従来のD A Sオペレーショ
ン(基本オペレーション)を実行する。このビット1で
あれば、プログラム呼出しはスタッキング・オペレーシ
ョンと呼ばれる新規なオペレーションを実行する。スタ
ッキング・オペレーションは基本オペレーションとは異
なったいくつかの状態変化を生し、連係スタック中の自
身が生成したエントリに古い状態を保管する。連係スタ
ックの状態エントリは、新規なプログラム戻り命令によ
り論理的に削除され、前の状態が復元される。
連係スタックは指名可能ユニットごとに設けられ、指名
可能ユニットによる直接操作から保護されている。MA
S機構は、状態エントリから情報を抽出する命令及び状
態エントリの1つのフィールドを修正する命令を含む。
MAS機構は、ブランチ連係命令の代わりに使用可能な
ブランチ・スタック命令も含む。ブランチ・スタック命
令によって変更される情報はPSW中の命令アドレスだ
けである。ブランチ・スタック命令は、ブランチ状態エ
ントリと呼ばれる状態エントリを作成する。このエント
リは、ブランチ・スタック命令によって作成されたこと
、及びPC番号の代わりにブランチ・アドレスを含むこ
とを除くと、プログラム呼出し状態エントリと同じであ
る。
ブランチ状態エントリに保管される完全なPSWの一部
であるアドレス指定モード・ビット及び命令アドレスは
、PSW中の現在の値でもよく、またブランチ・スタッ
ク命令のオペランドとしてL’シスタ中で指定されても
よい。このレジスタは、ブランチ連係命令、ブランチ保
管命令、ブランチ・モード設定命令、ブランチ保管モー
ド設定命令またはブランチ・モード設定命令によって中
に連係情報を置かれたレジスタとすることができる。か
くして、ブランチ・スタック命令は、呼出しプログラム
の中または被呼出しプログラムの入口点(若しくはその
近く)で使用することができ、いずれの場合でも、被呼
出しプログラムの終りのプログラム戻り命令で呼出しプ
ログラムに戻る。入口点でブランチ・スタック命令を使
用できるので、古い呼出しプログラムを変更することな
く連係スタックを使用することができる。
MAS機構のプログラム戻り命令は、スタッキング・プ
ログラム呼出しまたはブランチ・スタック命令により制
御を与えられたプログラムから戻るのに用いる。プログ
ラム戻り命令は、最後の連係スタック状態エントリ(プ
ログラム呼出し状態エントリでもブランチ状態エントリ
でもよい)を論理的に削除する。最後の状態エンドIJ
がプログラム呼出し状態エントリであれば、プログラム
戻り命令は、エントリ中に保管されたすべての状態情報
を復元する。ただし、汎用レジスタ15.0及び1なら
びにアクセス・レジスタ15、O及び1の内容は変更さ
れない。最後の状態エントリがブランチ状態エントリで
あれば、プログラム戻り命令は、完全なPSWならびに
汎用レジスタ2〜14及びアクセス・レジスタ2〜14
の内容だけを復元する。しかし、被呼出しプログラムの
実行中に生じたかも知れないPERの有効化または無効
化を妨害しないようにするため、プログラム戻り命令は
常にPSW中のPERマスクを不変に保つ。
連係スタック状態エントリの特定のビットを1にしてお
くと、このエントリに対してプログラム戻り命令が実行
された時にプログラム割込みを起こすことができる。制
御プログラムは、プログラム戻り命令の誤った使用に対
する保護策としてこのビットを1にセットできる。たと
えば、最後に実行された連係命令が監視プログラム呼出
し命令であった場合には、プログラム戻り命令の前に制
御プログラムの出口サービスを使用する必要がある。
少なくとも最初は単一の指名可能ユニー/ )であるジ
ョブ・ステップが開始される時は、そのジョブ・ステッ
プに固有のアドレス空間が使用される。
このアドレス空間はジョブ・ステップのホーム・アドレ
ス空間と呼ばれる。システムは、ジョブ・ステップを表
わす主制御ブロック(たとえば、ジョブ・ステップの指
名が解除される時、状況が保管される)をそのホーム・
アドレス空間に置く。もしジョブ・ステップが別の空間
に制御を与えるためプログラム呼出しを使用した後で入
出力割込みあるいは外部割込みが生じると、MASがな
ければ、ホーム・アドレス空間をアクセスしてジョブ・
ステップの状況を保管するため、制御レジスタの内容を
変更しなければならない。
ホーム・アドレス空間のアクセス効率を改善するため、
MAS機構は、ホーム・セグメント・テーブル記述子、
及びホーム空間モードと呼ばれる別のアドレス空間モー
ドを使用する。ホーム空間モードはPSW中のビット設
定により条件づけられる。
割込みが生じた時に機械によってロードされる新しいP
SWは、ホーム・アドレス空間への即時アクセスを行な
わせるためホーム空間モードを指定することができる。
アクセス・レジスタ(AR)は32ビツトのハードウェ
ア・レジスタであって、問題プログラムによる使用が可
能である。アクセス・レジスタは、記憶域が参照される
時に、オペランド・ベース・レジスタをアドレス空間と
関連づけるのに使用され得る。アクセス・レジスタの基
本機能は、複数の空間にある命令及び記憶域オペランド
を操作できるように370−XA命令セットを拡張する
ことにある。
16個のアクセス・レジスタ(ARO−AR15)はそ
れぞれ同じ番号の汎用レジスタ(GRO〜GR15)と
直接関連づけられる。アクセス・レジスタは、CPUが
アクセス・レジスタ・モードで動作している場合にのみ
、アドレス指定機構で使用される。アクセス・レジスタ
・モードはPSWのビット16及び17によって指定さ
れる。
アクセス・レジスタの一般的な特徴は次のとおりである
1、アクセス・レジスタの内容は、アクセス・レジスタ
・モードにあるかどうかには関係なく、問題状態または
監視プログラム状態においてプログラムが自由に操作で
きる。
2、アクセス・レジスタの内容は、アーキテクチャにお
ける命令により、記憶域からロードしたり、記憶域に書
き込んだり、汎用レジスタに転送したり(逆も可)、別
のアクセス・レジスタに写したりすることができる。
3、アクセス・レジスタの内容は、ハードウェア・テー
ブル索引プロセス、すなわちアクセス・レジスタ変換(
ART)によってアドレス空間を決定できるトークンで
ある。このトークンは、アクセス・リスト・エントリ・
トークン(A L E T)と呼ばれる。
4、記憶域参照がアクセス・レジスタ・モードで行なわ
れる時、ハードウェアがアクセス・レジスタにあるAL
ET値をアドレス空間と関連づける。アクセス・レジス
タは、使用時に命令のベース・レジスタ・フィールドに
従って、ハードウェアで暗黙的に決定される。アクセス
・レジスタの暗黙指定は、既存の370−XA命令の機
械コード・フォーマットを変えることなく、多重アドレ
ス空間アクセス機能を370−XA命令へ拡張するのを
可能にする。
5、RX形式の命令の指標レジスタ・フィールドで指定
された汎用レジスタに対応するアクセス・レジスタは、
アドレス空間の選択には関与しない。
6、アクセス・レジスタ・モードにおいては、すべての
命令及び実行命令のターゲットは常に一次アドレス空間
から取り出される 7、同じALET値が2以上のアクセス・レジスタにあ
ってもよい。
8.アクセス・レジスタは、PSWのビット16及び1
7がそれぞれO及び1の時のアクセス・レジスタ・モー
ドにおいてのみ、アドレス指定に使用される。
アクセス・リスト(AL)は、アクセス・レジスタと共
に使用されるアドレス指定ケイパビリティ・テーブルで
あり、指名可能ユニット・アクセス・リスト(DUAL
)または−次空間アクセス・リスト(PSAL)の形を
とる。アクセス・リスト・エントリは、所与の指名可能
ユニットのためにアクセス・レジスタを介してアドレス
され得るアドレス空間を定義する。
記憶域参照命令がアクセス・レジスタ・モードで実行さ
れる時、各オペランドのベース・レジスタ・フィールド
は、対応するアクセス・レジスタにあるA L E T
によって指定されるアクセス・リスト・エントリと関連
づけられる。
アクセス・リストはアドレス指定ケイパビリティのリス
トを表わす。これらのケイパビリティは、関連する指名
可能ユニットがアクセスできるアドレス空間を定義する
。アクセス・レジスタ・モードでのアドレスをヒポ(こ
おいては、アクセス・リスト・エントリは、命令の記憶
域オペランドに関してDATで使用される代替セグメン
ト・テーブル起点をハードウェアで見つけるための手段
を提供する。アドレス空間に関連するセグメント・テー
ブル及び許可権テーブルのアドレスはASN第2テーブ
ル・エントリ(ASTE)に含まれており、アクセス・
リスト・エントリはこのASTEの実アドレスを含んで
いるので、上記のことが可能になる。
G、用語群 AKM     許可キー・マーク AL      アクセス・リスト−アドレス指定ケイ
パビリティ・テーブル ARアクセス・レジスター各ARはG PRと関連づけられる。
ART     アクセス・レジスタ変換−5TDをA
Rと関連づけられる方法。
AX      許可指標 ALBARTルックアサイド・バッファーARTは、A
RがBフィールド記 憶域オペランド参照によってGP Rで指定されるたびに生じ、AL Bはその間の記憶域参照回数を減 らす。
ALE     アクセス・リスト・エントリALEA
X   アクセス・リスト・エントリ許可指標。
ALEN    アクセス・リスト・エントリ番号−A
LETのビット16〜31が指 定されたALEの番号である。
ALL     アクセス・リスト長−所定の数値とし
て制御レジスタに記憶されて おり、最大1024個のALEま で可能である。
ALET    アクセス・リスト・エントリ・トーク
ン−アクセス・リスト中の1つ のエントリを指定する。
ALESN   アクセス・リスト・エントリ順序番号
−ALET及びALEのピッ ト8〜15゜ ASN     アドレス空間番号−アドレス空間を表
わす。
ASTE    ASN第2テーブル・エントリー従来
の370/XAにおけるAS TEを拡張したもので、無効ピッ ト(I)及びSTDを含む。
ASTESN  ASTE順序番号−ALE及びAST
EにあるASTESNが一致 するかどうかを検査する。
ATL     許可権テーブル長 DAS     二重アドレス空間 DASD    直接アクセス記憶装置DAT    
 動的アドレス変換−8TDを用いて仮想アドレスを実
アドレスに変 換する。
DUAL    指名可能ユニット・アクセス・リスト DUALD   DUAL記述子−DUALの起点(実
アドレス)及び長さを含む。
DUCT    指名可能ユニット制御テーブル−DU
ALD含み、CR2によって 指定される。
FAX     拡張許可指標 EKM     エントリ・キー・マスクETE   
  エントリ・テーブル・エントリGPR(GR)汎用
レジスターオペランド及びアドレスを含む。
LTD     連係テーブル記述子 MAS     多重アドレス空間 Pビット    (1)ALETのビットで、DUAL
またはPSALを選択する。
(2)ALE中のビットで、すべ てのユーザがアクセスできるか (公用)または許可検査が必要か (私用)を示す。
PASTE   −次ASN第2テーブル・エントリー
PSALDを含む。
PC−cp  現−次に対するプログラム呼出しPC−
ss   空間切替えを伴なうプログラム呼出し PKM     PSWキー・マスク PSAL    −夕空間アクセス・リストPSALD
   PSALS逆L−PASTEに含まれ、PSAL
の起点(実アドレ ス)及び長さからなる。
PSTD    −次セグメント・テーブル記述子PS
W    プログラム状況ワード 5STD    二次セグメント・テーブル記述子ST
D     セグメント・テーブル記述子
【図面の簡単な説明】
第1図は本発明の概念を示すブロック図。 第2図はアクセス・レジスタ変換(ART)の様子を示
すブロック図。 第3図は本発明のMAS機構で使用される制御レジスタ
の構成を示す図。 第4図はMAS機構で使用されるPSWの内容を示す図
。 第5図はアクセス・リスト・エントリ・トークン(AL
ET)のフォーマットを示す図。 第6図はアクセス・リスト・エントリ(ALE)のフォ
ーマットを示す図。 第7図は連係テーブル・エントリ(LTE)のフォーマ
ットを示す図。 第8図はエントリ・テーブル・エントリ(ETE)のフ
ォーマットを示す図。 第9図は連係スタックを示すブロック図。 第10図は連係スタックの状態エントリの71−マット
を示す図。 第11図はASN第1テーブル・エントリ(AFTE)
のフォーマットを示す図。 第12図はASN第2テーブル・エントリ(ASTE)
のフォーマットを示す図。 第13図は許可権テーブル(AT)の構成を示す図。 第14図は指名可能ユニット制御テーブル(DUCT)
のフォーマットを示す図。 第15図はPC番号変換の論理フローを示すブロック図
。 第16図はスクッキング・オペレーションの論理フロー
を示すブロック図。 第17図はASN変換の論理フローを示すブロック図。 第18図はアクセス・レジスタ変換(ART)の論理フ
ローを示すブロック図。 第19A図及び第19B図はARTオペレージaンの流
れ図。 第20図はテスト・アクセス・レジスタ命令の実行の様
子を示す図。 第21図ないし第25図はALBエントリの実施例を示
す図。 出願人  インターナショナル・ビジネス・マシーンズ
1コーボレーシ鱈ン 代理人  弁理士  頓  宮  孝  −(外1名) プログラム状、兄ワード(PSW) 第4図 l112図 l115図 第9図 連係スタック(L’S) l!− 第13囚 許可権テーブル(AT) 第14図 バイト    指名可能ユニット制御テーブル(DUC
T)t+sg アクセス・レレスタ!換(ART) 第18因 第20図 ALB−ALD/ALE/ASTε/ATε第23図

Claims (1)

  1. 【特許請求の範囲】 それぞれがアドレス変換情報を含む複数のエントリを有
    するテーブル手段と、 それぞれが前記テーブル手段の特定のエントリのアドレ
    スを含む複数のエントリを有するアクセス・リスト手段
    と、 複数の汎用レジスタと、 前記汎用レジスタとそれぞれ1対1に対応して設けられ
    、対応する汎用レジスタがアドレス指定動作で選択され
    ると前記アクセス・リスト手段の特定のエントリを取り
    出す複数のアクセス・レジスタと、 前記テーブル手段から出力されたアドレス変換情報を用
    いて仮想アドレス変換を実行する手段と、を具備するア
    クセス・レジスタ変換機構。
JP63319659A 1988-02-10 1988-12-20 アクセス・レジスタ変換機構 Pending JPH01228038A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15468988A 1988-02-10 1988-02-10
US154689 1988-02-10

Publications (1)

Publication Number Publication Date
JPH01228038A true JPH01228038A (ja) 1989-09-12

Family

ID=22552346

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63319659A Pending JPH01228038A (ja) 1988-02-10 1988-12-20 アクセス・レジスタ変換機構

Country Status (5)

Country Link
EP (1) EP0327839B1 (ja)
JP (1) JPH01228038A (ja)
BR (1) BR8900553A (ja)
CA (1) CA1308202C (ja)
DE (1) DE68923386T2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180118699A (ko) * 2016-03-02 2018-10-31 에이알엠 리미티드 레지스터 액세스 제어

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0690688B2 (ja) * 1990-10-20 1994-11-14 富士通株式会社 変換バッファを具備する情報処理装置
US5381537A (en) * 1991-12-06 1995-01-10 International Business Machines Corporation Large logical addressing method and means
US5426748A (en) * 1992-01-03 1995-06-20 International Business Machines Corporation Guest/host extended addressing method and means with contiguous access list entries
US5764969A (en) * 1995-02-10 1998-06-09 International Business Machines Corporation Method and system for enhanced management operation utilizing intermixed user level and supervisory level instructions with partial concept synchronization
US8572345B2 (en) 2011-09-16 2013-10-29 Freescale Semiconductor, Inc. Memory management unit (MMU) having region descriptor globalization controls and method of operation

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5356932A (en) * 1976-11-01 1978-05-23 Hitachi Ltd Access system of main memory expansion unit
JPS57143783A (en) * 1981-02-20 1982-09-06 Ibm Multiple false address space type data processing system

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4355355A (en) * 1980-03-19 1982-10-19 International Business Machines Corp. Address generating mechanism for multiple virtual spaces
DE3174927D1 (en) * 1980-05-23 1986-08-21 Ibm Enhancements in system/370 type of data processing apparatus

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5356932A (en) * 1976-11-01 1978-05-23 Hitachi Ltd Access system of main memory expansion unit
JPS57143783A (en) * 1981-02-20 1982-09-06 Ibm Multiple false address space type data processing system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180118699A (ko) * 2016-03-02 2018-10-31 에이알엠 리미티드 레지스터 액세스 제어

Also Published As

Publication number Publication date
CA1308202C (en) 1992-09-29
DE68923386T2 (de) 1996-03-28
BR8900553A (pt) 1989-10-10
EP0327839A3 (en) 1990-09-05
EP0327839B1 (en) 1995-07-12
EP0327839A2 (en) 1989-08-16
DE68923386D1 (de) 1995-08-17

Similar Documents

Publication Publication Date Title
US5220669A (en) Linkage mechanism for program isolation
US4979098A (en) Multiple address space token designation, protection controls, designation translation and lookaside
EP0331900B1 (en) Method and apparatus for capability control
JPH01228039A (ja) コンピユータ・システム
CA2050834C (en) Multiple controlled data-space facility
US10423539B2 (en) Dynamic address translation with access control in an emulator environment
US8037278B2 (en) Dynamic address translation with format control
US9244856B2 (en) Dynamic address translation with translation table entry format control for identifying format of the translation table entry
US8417916B2 (en) Perform frame management function instruction for setting storage keys and clearing blocks of main storage
US4500952A (en) Mechanism for control of address translation by a program using a plurality of translation tables
US8019964B2 (en) Dynamic address translation with DAT protection
US8117417B2 (en) Dynamic address translation with change record override
US8082405B2 (en) Dynamic address translation with fetch protection
EP0040702A2 (en) Authorization mechanism for transfer of program control or data between different address spaces having different storage protect keys
EP0327839B1 (en) Information handling system
US5493661A (en) Method and system for providing a program call to a dispatchable unit's base space
McGee On dynamic program relocation
JPH01207859A (ja) 中央処理装置オペレーティング方法
EP0040703B1 (en) Enhancements in system/370 type of data processing apparatus
Plambeck Concepts of enterprise systems architecture/370
JPH01273153A (ja) 仮想記憶制御方式