JPH04247528A - データ空間への共通アクセス装置及び方法 - Google Patents

データ空間への共通アクセス装置及び方法

Info

Publication number
JPH04247528A
JPH04247528A JP3252875A JP25287591A JPH04247528A JP H04247528 A JPH04247528 A JP H04247528A JP 3252875 A JP3252875 A JP 3252875A JP 25287591 A JP25287591 A JP 25287591A JP H04247528 A JPH04247528 A JP H04247528A
Authority
JP
Japan
Prior art keywords
host
address
guest
access
data
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.)
Granted
Application number
JP3252875A
Other languages
English (en)
Other versions
JPH0769844B2 (ja
Inventor
David P Brelsford
デビッド・ポウル・ブレルスフォード
Melvin M Cutler
メルビン・エム・カトラー
Jean-Louis Lafitte
ジーン・ルイス・ラフィッテ
Joseph M Gdaniec
ジョセフ・マーティン・グダニエック
Leo Osisek Damien
ダミアン・レオ・オシセック
Kenneth E Plambeck
ケネス・アーネスト・プラムベック
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 JPH04247528A publication Critical patent/JPH04247528A/ja
Publication of JPH0769844B2 publication Critical patent/JPH0769844B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06F—ELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00—Arrangements for program control, e.g. control units
    • G06F9/06—Arrangements 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/46—Multiprogramming arrangements
    • G06F9/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06F—ELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00—Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02—Addressing or allocation; Relocation
    • G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/0292—User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Multi Processors (AREA)

Abstract

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

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、仮想計算機に関する。
【0002】
【従来の技術】Enterprise  System
s  Architecture/370(TM)(E
SA/370(TM))の解釈実行機構は、仮想計算機
を実行するために、START  INTERPRET
IVE  EXECUTION(SIE)命令を与える
。SIEは最初はSystem/370又は370−X
Aアーキテクチャのいずれかを仮想化するために形成さ
れ、後にはESA/370アーキテクチャを仮想化する
ために形成されるが、SIEは、多数の特殊化された性
能環境のためのケイパビリティを提供する。アーキテク
チャにおけるケイパビリティのこの包括的セットは、エ
ンドユーザ及びシステムサーバのための仮想計算機の機
能を提供するためにVM/ESAの能力のためのプラッ
トホームとして役立つ。ゲストアーキテクチャ・エミュ
レーションを有する仮想計算機(VM)システムは、本
出願人に譲渡された米国特許第4,456,954号明
細書に詳細に記述されている。
【0003】VM/ESAは、ESA/370(TM)
解釈実行機構を用いて、プロセッサに、仮想計算機環境
管理の負担の多くを割り当てる。本明細書では、ゲスト
という用語は、仮想計算機又は“解釈上の”計算機に関
するものとする。実計算機をダイレクトに管理し、ゲス
ト実行環境を構築する責任を負う制御プログラムは、ホ
ストと称される。ホストは、単一命令、START  
INTERPRETIVE  EXECUTION(S
IE)を発し、それによって計算機を解釈−実行モード
にする。このモードでは、計算機は選択されたアーキテ
クチャ機能を提供する。このアーキテクチャはまた、S
ystem/370,370−XA,又はESA/37
0のような実計算機上で使用可能であるか又は、ESA
/XCアーキテクチャのように仮想計算機環境において
排他的に与えられるアーキテクチャである。計算機によ
って与えられる機能は、特権命令,問題プログラム命令
,アドレス変換,割込み処理,他とのタイミング,及び
多くの場合の入出力を含んでいる。この計算機は、仮想
計算機の情況で実行される機能を、解釈すると言われて
いる。同様に、多くの種類の割込みが、解釈され、ホス
トを介することなく、計算機によりゲストにダイレクト
に与えられる。
【0004】仮想計算機環境では、ゲストプログラムは
、指定されたアーキテクチャに対し規定された機能の全
数を理解する。これらの機能の大半は、計算機では、解
釈実行機構の形態で与えられる。しかし、解釈実行機構
によっても与えられない機能が残っている。これらの機
能はシミュレーションと呼ばれる処理を通して、VM/
ESAの場合、CP(制御プログラム)と呼ばれる優先
権のあるホスト制御プログラムによって与えられる。 性能を除けば、機能が計算機によって実行されようと、
ホストがゲストプログラムに区別できなかろうと、シミ
ュレーションはゲスト機能を簡単に“実行”しようと努
力する。
【0005】SIE命令のオペランドは、状態記述と呼
ばれる制御ブロックである。状態記述は、ゲストの現状
態に関連した情報を含んでいる。SIEの実行が終了す
ると、ゲストプログラム状態語(PSW)及びゲストの
状態を記述する他の情報は、ホストに制御が戻されない
うちに状態記述にセーブされる。この情報は、シミュレ
ーション中にホストによって使用され修正され、その後
でゲストの実行を再開するために使用される。状態記述
の他の情報は、ゲストが実行されるべきモードや他の環
境条件を決定する。
【0006】解釈実行モードでは、仮想計算機は、実計
算機の資源の一部となることを強いられる。これらの資
源はホストによって割り当てられる。したがって、ゲス
トの記憶は、ホストの実記憶の一部又は、ホストシステ
ムによって制御されるホスト仮想アドレス空間かのいず
れかに制限される。ホストのイネーブル/ディスエーブ
ル状態は、一般にゲストの実行によって妨害されない。 ホストタイミング機能もまた妨害されない。その代わり
、第2のセットはゲストのために与えられる。1つの完
全で論理的に分離した制御レジスタのセットは、ホスト
使用マシンによって保持され、他はゲスト使用マシンに
よって保持される。ゲストによる妨害からのホストの保
護によって、ホストは、実資源を多数のゲストに効率的
に分配する主要責任を果たすことができる。これにより
、1つのゲストが他のゲストとの干渉を防止する。
【0007】記憶装置にアクセスする方法は、どのアー
キテクチャにとっても基本である。ESA/370は3
レベルの記憶アドレスを規定する。動的アドレス変換(
Dynamic  Address  Transla
tion:DAT)は仮想アドレスを実アドレスに変換
する。物理記憶の記憶位置を指定する絶対アドレスを生
成するために、実アドレス上でプレフィックシング(p
refixing)が実行される。プレフィックシング
はCPUのプレフィックス・レジスタの内容を用いて、
アドレス0〜4095を他のアドレス範囲で“スワップ
”する。それで、各CPUは、割込みパラメータ,セー
ブ領域,及びプロセッサの特定データのための異なる小
容量記憶にアクセスすることができる。
【0008】ゲストの絶対記憶を表示する方法は、仮想
計算機を考える際のキーとなる。2つの基本記憶モード
は、解釈−実行アーキテクチャによって与えられる。す
なわち、好ましい記憶モードとページ可能記憶モードで
ある。好ましい記憶モードでは、連続ブロックがゲスト
に割り当てられ、一方ページ可能記憶モードでは、ホス
トレベルの動的アドレス変換(DAT)は、ゲスト主記
憶マッピングするのに用いられる。
【0009】仮想記憶上の記憶位置は、仮想アドレスと
、仮想アドレスが含まれるアドレス空間によって規定さ
れる。通常、制御レジスタにあるセグメントテーブル指
示はアドレス空間に対応する。動的アドレス変換(DA
T)は、セグメントテーブルの選択エントリ及びセグメ
ントテーブル・エントリによって指定されたページテー
ブルの選択エントリとによって、仮想アドレスを実アド
レスに変換する。この結果、記憶フレームの実アドレス
は仮想アドレスに対応する。
【0010】仮想計算機環境は2度DATの適用を要求
する。まず、ゲストレベルで、ゲスト仮想アドレスをゲ
スト管理変換テーブルを通してゲスト実アドレスに変換
し、次いで、ページ可能ゲストの場合、ホストレベルで
、対応するホスト仮想アドレスをホスト実アドレスに変
換する。
【0011】VM/370では、アクティブであるゲス
トDATを有するページ可能仮想計算機の場合2レベル
のアドレス変換を実行する必要性は、“シャドー”変換
テーブルと、2つのマッピングを結合した結果を反映す
るホストによって構成されるセグメントテーブル及びペ
ージテーブルとによって、満足させられる。370−X
Aによって提供される増大アドレッシング容量は、2ギ
ガバイトの非常に大きなアドレス範囲に対するアドレス
参照が“疎になる”危険性のため,より大きな変換テー
ブルサイズのため,及びシャドーテーブルの保全性を保
持し保証するためのコストのため、“シャドー”機構に
より達成可能な性能を制限する恐れがある。
【0012】これらのことは、IBMは、マシンで2レ
ベルの変換を実行するために、解釈実行で一般的に使用
するためのシャドーテーブルをやめる。この改良された
変換の方法及び手段は、本出願人に譲渡された米国特許
第4,695,950号明細書に詳しく述べられている
。ネイティブ・アーキテクチャに関するように、変換索
引バッファは、前のアドレス変換の結果を保持するため
に、マシンに組み込まれ、繰り返し参照されるページの
アドレスの分割速度を速める。
【0013】ネイティブESA/370アーキテクチャ
は、アクセスレジスタ及びリンケージスタックを取り入
れている。これらの機構は本出願人に譲渡された米国特
許第4,945,480号明細書に記述されている。解
釈実行機構は、ESA/370アーキテクチャのこれら
の機構の両者を、もし優先権のある実計算機上で使用可
能な場合、ゲストに使用可能にする。
【0014】ホストは、解釈実行を開始し、その後アク
セスレジスタ値をセーブする(及びホスト値を再記憶す
る)以前にゲストのアクセスレジスタ値をロードする責
任を負う。その後、アクセス・レジスタ変換は、ゲスト
DATを適用する以前に、ゲストレベルで、解釈実行機
構によって実行される。本発明以前の動的アドレス変換
と違い、アクセスレジスタ変換(ART)は、ホストレ
ベルで、解釈実行機構によっては実行されない。
【0015】ESA/370クラスのDAT−onゲス
トに対する、従来のアドレス変換処理は、図1に示され
ている。ゲストアクセスレジスタ変換はゲスト仮想アド
レス112に適用され、ゲスト仮想アドレス114を引
き出す。ゲスト動的アドレス変換は、次に、ゲスト仮想
アドレス114に適用されて、ゲスト実アドレス102
を引き出す。ゲスト実アドレスは、次いで、DAT−o
ffページ可能モードゲストと同様な方法で処理され(
図3に説明されているように)、ホスト絶対アドレス1
10を引き出す。ゲストレベルでのアクセスレジスタ変
換の適用は、単一の仮想計算機の情況内で操作されるタ
スク間でメモリを共有するためにアクセスレジスタの使
用を可能にするが、異った仮想計算機で操作されるタス
クの間でのホスト制御形メモリ共有は許さない。
【0016】System/370及び370−XAに
おけるようにESA370では、命令オペランドのベー
ス(B)部又はレジスタ(R)部は、汎用レジスタを指
定する。ESA/370のアクセスレジスタモードでは
、同数のアクセスレジスタが、オペランドのアドレス空
間を決定するためにアクセスレジスタ変換(ART:A
ccess−Register  Translati
on)中に使用される。
【0017】アクセスレジスタ変換は、DAT中に使用
されるべきセグメントテーブル指定を配置するように使
用されるアクセスリストエントリ(ALE)を配置する
ように、アクセスレジスタのアクセスリスト・エントリ
トークン(ALET)を使用する。セグメントテーブル
指定は、アドレス空間に対応する。
【0018】MVS/ESA(TM)のようなオペレー
ティング・システムでは、アクセスレジスタは強力な能
力を発揮する。すなわち、制御プログラムの介入なしに
、命令シーケンス、又は同一命令においてさえ、多重ア
ドレス空間中のデータアドレッシングという能力である
。MVS/ESAはイネーブルされた動的アドレス変換
(DAT)でプログラムを実行する。その結果、各プロ
グラムが参照する論理アドレスは、MVSが維持する構
成体によって、実アドレスに変換される。障害はMVS
に割込みを発生させ、それによって要求されるデータに
おいてページングする。この環境では、アクセスレジス
タは、いくつかの利益を提供する。 ○プログラムは、大量のデータを直接処理することがで
きる。 ○全命令セットは、多数の空間のどれかのデータを操作
するのに用いられることができる。 ○個々のプログラムは、オペレーティングシステムによ
って実行される、所有プログラムの許可に対するデータ
主体を共有できる。 ○プログラムはデータをより論理的に分離でき、類似デ
ータ、又は関連データを同一空間に保持し、制御される
共有を容易にする。
【0019】アクセスレジスタが提供する能力は興味を
そそる。しかしながら、VMの構造は、実質的にMVS
の構造とは異なる。VMは常に“2階層の”システムで
あった。図2に示されるように、VMの制御プログラム
(CP)要素132は、各ログオン・ユーザに対して、
別個の仮想計算機126〜130を形成する。アプリケ
ーションプログラムは会話型モニタシステム(CMS)
の下で実行され、単一ユーザの“第2レベル”のオペレ
ーティング・システムは、ユーザの仮想計算機内で実行
される。CMS仮想計算機は、対話型ユーザ,ファイル
システムマネージャやネットワーク・スプーラのような
システムサーバ,又はAPPC(Advanced  
Program  to  Program  Com
munication)同等物のような私用サーバをサ
ポートすることができる。
【0020】VMシステムの下では、CPはシステム資
源を管理して仮想計算機環境を構築し、シミュレートさ
れたマシン間の分離を実行する。CMSはファイルやプ
ログラム管理のようなアプリケーションサービス,及び
エンドユーザとの対話に対して責任を引き受ける。CP
はユーザ(仮想計算機)の活動の境界をつけるために許
可制御を適用する。CPは、DATやゲスト範囲チェッ
クのようなアーキテクチャ上の機構を用いて、前述のよ
うに、これら境界を確保する。逆に、CMSはアプリケ
ーションプログラムに対してはどんな制御もほとんど実
行しない。CMS下のプログラムは、(仮想)スーパー
バイザ状態で実行される。CMSは記憶キーのいくつか
を使用してうっかりやった損失を防止する。しかし、“
わがままな”プログラムは、常にCMSを迂回し、仮想
計算機を制御する。従来の仮想計算機(VM)理論によ
ると、各ユーザマシンはそれ自身のマシンである。CP
は、誤ったプログラムや悪意のあるプログラムの稼働を
、それが実行される仮想計算機に限定することを確実に
する。
【0021】さらに、CMSは単一の仮想計算機の線形
記憶だけを管理する。すなわち、CMSはDAT自体を
イネーブルすることなく実行され、仮想記憶管理(ペー
ジング又はスワッピング)は行わない。これらのタスク
はCPのドメインである。CPはDATテーブルを形成
し、仮想計算機記憶を示す各アドレス空間を規定するた
めにDATテーブルを使用する。DATテーブルによっ
て規定されたこれらのホスト仮想アドレス空間は、ゲス
ト絶対記憶をマップする。
【0022】CMSは、DATがイネーブルされること
なくページ可能モードで実行される一般クラスのゲスト
の一構成要素と考えることができる。このクラスのゲス
トに対するアドレス変換処理は図3に示されている。C
MSゲストがシステムメモリにアクセスする必要がある
場合、CMSは“ゲスト実アドレス”102を使用する
。“ゲスト実アドレス”に対してゲストプレフィックシ
ングが適用されて、“ゲスト絶対アドレス”104が得
られる。主記憶源(MSO)の値はゲスト絶対アドレス
に加えられ、結果の“ホスト仮想アドレス”106は、
それが主記憶エクステント(MSE)内にあることを保
証するために検査される。一旦、“ホスト仮想アドレス
”が生成されて検査されると、ホスト動的アドレス変換
が適用されて、“ホスト実アドレス”108を形成する
。そして、ホストプレフィックシングが適用されて、“
ホスト絶対アドレス”110を確立する。システムメモ
リの物理記憶位置を参照するのは、この“ホスト絶対ア
ドレス”である。
【0023】CMSクラスのゲストの構造のために、本
発明以前の解釈実行機構によって供給されるように、ア
クセスレジスタ変換(ART)は、このクラスのゲスト
によって使用することができない。本発明以前には、A
RTは仮想アドレスに適用されるのみだったので、AR
Tを使用するためには、VM/ESA  CP下のゲス
トはDATをイネーブルする必要があった。さらに、本
発明以前には、VM/ESA環境内でのアクセスレジス
タ変換の適用は、個々のゲストのアドレス空間内での使
用に限られていた。この個々のゲストは、それ自身のア
クセスレジスタ変換テーブルや、ゲストART制御レジ
スタを保持する。
【0024】
【発明が解決しようとする課題】本発明の目的は、仮想
計算機境界で制御メモリの共有を可能にすることにある
。
【0025】また本発明の他の目的は、ゲスト動的アド
レス変換及びゲストアクセスレジスタ変換なしで実行さ
れ、多重ホストアクセスレジスタが特定されたアドレス
空間にアクセスする能力を有する仮想計算機を提供する
ことにある。
【0026】本発明のさらに他の目的は、ゲスト動的ア
ドレス変換とゲストアクセスレジスタ変換なしで実行さ
れ、システムメモリを所望のオペレーティング環境に依
存して、異なる方法又は同じ方法のいずれかで見ること
ができる仮想計算機を提供することにある。
【0027】
【課題を解決するための手段】前述の目的に一致して、
ホストコンピュータ・システム上でエミュレートされた
複数の仮想計算機ゲストによって、データ空間に共通ア
クセスする方法及び装置を提供する。この装置は所定の
仮想計算機ゲストから受け取ったトークンを用い、特定
ホストデータ空間を識別する。ゲストはまた、オフセッ
トを有する装置を提供する。
【0028】この装置は、1つのデータ空間のデータ位
置を示すホスト絶対アドレスを得るためにオフセット及
び識別ホストデータ空間を使用する。
【0029】好ましい実施例では、この装置は、所定の
オフセットによって識別されたアドレス範囲と、他のア
ドレス範囲をスワップするプレフィックシング手段を含
んでいる。プレフィックシング手段は、ホストコンピュ
ータ・システムからの信号に応答して、イネーブルされ
、あるいはディスエーブルされることができる。この信
号は、装置によってアクセス可能な制御テーブルのビッ
ト状態によって指示される。したがって、多数の仮想計
算機ゲストが(ゲストプレフィックシングをディスエー
ブルすることにより)データ空間の同一ビュー又は(ゲ
ストプレフィックシングをイネーブルすることにより)
同一データ空間の異なるビューを得ることができる。
【0030】また、好ましい実施例では、強制私用空間
ビットは、ユーザの1次空間に対して(ASTEの)S
TDのシングルコピーを保持する間、データ空間のこれ
ら異なるビューを許す方法を供給する。ASTEにおけ
るSTDの私用空間ビットは、ホスト制御レジスタ(C
R)1がこのフィールドからロードされる場合、0にセ
ットされて、所有者に空間の適切な“非私用空間”ビュ
ーを与える。各共有者のアクセスリストエントリの強制
私用空間ビットは、1にセットされて、各共有者にアド
レス空間の“私用”ビューを与える。
【0031】
【実施例】多重制御データ空間機構(MCDS)は、解
釈実行アーキテクチャの改良である。この解釈実行アー
キテクチャは、多重ホストアドレス空間のデータにアク
セスするために、他の方法で動的アドレス変換(DAT
)を使用しないページ可能ゲストをイネーブルする。 代りの空間は、この仮想計算機又は他の仮想計算機によ
って生成された“データ空間”、すなわち他の仮想計算
機の1次空間であることが可能である。このメモリ共有
機構は、許可されたメッセージ受け渡しプロトコルより
もずっと効率的な、仮想計算機間のコミュニケーション
を許す。
【0032】要するに、CPとCMS間の境界は、権限
管理と仮想記憶管理の両者の境界である。MCDSは、
VMの固有2階層構造に調整されたESA/370の変
形である。MCDSは、CP、すなわち、権限のアービ
タをイネーブルして、ART(アクセス・レジスタ変換
)構造を構築する。このARTは個々の仮想計算機に、
多重ホスト仮想アドレス空間(すなわち、ゲスト絶対ア
ドレス空間)にアクセスすることを許容する。CPは仮
想計算機に、空間へのアクセスを指定するALETを戻
し、仮想計算機のプログラム(CMS又はアプリケーシ
ョンプログラム)はそのALETを用いて、代りのゲス
ト絶対空間をアドレスする。ゲストによって用いられた
ALETは、CPのART構造により変換されるので、
偽ALETは個々のゲストの許可範囲を超える悪影響を
有さない。
【0033】ESA/370では、ARTはまず、アド
レス空間の識別を実行し、次いで、DATはその空間の
テーブルで実行され、データの実アドレスを見つけ出す
。同様に、MCDSの下で、ホストARTはホスト仮想
空間(ゲスト絶対空間)を識別し、ホストDATは目標
のホスト実アドレスを引き出す。
【0034】通常のESA/370ゲスト(例えば、M
VS/ESA)によるアクセスレジスタの使用に対して
、MCDSは、アクセス範囲を、仮想計算機スーパバイ
ザによって形成される空間よりもむしろ、CPが管理す
るすべてのアドレス空間に拡張する。このようにして、
MCDSは、仮想計算機境界を共有する制御メモリをイ
ネーブルする。CP内には許可の責任があり、これは回
避することはできない。最後に、MCDSは、2ギガバ
イトのゲスト絶対記憶(ホスト管理記憶)のCMSの限
界を取り除く。
【0035】プログラム命令の実行は、便宜上2つのオ
ペレーションに分割される。第1のオペレーションは、
実行されるべき命令のフェッチである。第2のオペレー
ションは、命令が実行中に演算するデータのフェッチ及
び記憶のためのオペランドのアドレス指定である。
【0036】図4は、アドレス指定オペランドにアクセ
スレジスタを使用することを示している。動的アドレス
変換で使用するためのSTDを得るためにアクセスレジ
スタの内容を使用する処理は、アクセスレジスタ変換(
ART)オペレーションと呼ばれる。ゲスト命令12は
命令10コードと、ベースアドレスを含む汎用レジスタ
14を指定するBフィールドと、加算器15によって汎
用レジスタ14のベースアドレスと結合する場合、記憶
オペランドのホスト仮想アドレスを形成する変位Dとを
有している。MCDSホストアクセス・レジスタモード
では、BフィールドはまたALETを含むアクセスレジ
スタ16も指定する。このALETが、ホストART1
0で変換される場合、データが記憶されるアドレス空間
にホストSTDを与える。ホストART10からのホス
トSTD19は、加算器15からのホスト仮想アドレス
と結合されることができ、参照番号18で示されるホス
ト動的アドレス変換(DAT)動作中に共に変換される
場合、システムによる使用のためのオペランドのホスト
実アドレスを与える。図1に示されたBフィールド及び
変位Dに加えて、Rフィールドは、記憶オペランドのホ
スト仮想アドレスを含む汎用レジスタを指定するために
使用される。
【0037】MOVE(MVC)のような確定した命令
は、2つ以上のオペランドを指定する。各々のオペラン
ドは、異なるデータ/アドレス空間にあることも可能で
ある。したがって、例えば、2つのオペランドを特定す
る命令は、2つの変位と2つのALETを含む。仮想計
算機(VM)の下では、命令そのものはホスト1次アド
レス空間にあり、この空間はさらに第3の(異なる)ア
ドレス空間となることができる。
【0038】図5はゲストALET及びオフセットのホ
スト実アドレスへの変換を示したものである。20は汎
用レジスタ0〜15のアレイを示す。アクセスレジスタ
0〜15のアレイ20は、図4に関して前述したように
、各アクセスレジスタが、アレイ20の汎用レジスタと
それぞれ対になるように配列されている。ALETのア
クセスリスト・エントリナンバ(ALEN)は、アクセ
スリスト24又は25の1つのエントリを選択する。 アクセスリスト24はDUAL、アクセスリスト25は
PSALである。図5の例では、アクセスレジスタ2の
ALENはPSAL25のエントリ3を指示する。DU
ALの源は、後述されるように、ホスト制御レジスタ2
のエントリをデコードすることで検出されるタスク指名
可能ユニットアクセス・リスト表示(DUALD)26
によって特定される。PSALのオリジンは、後述され
るように、ホスト制御レジスタ5のエントリをデコード
することで検出される1次空間アクセスリスト指示(P
SALD)27によって特定される。ART中使用され
るアクセスリスト表示は、実効アクセスリスト指示(A
LD)として知られている。
【0039】アクセスリストの各エントリは、ASNの
第2テーブルエントリ(ASTE)98を指示するアド
レスASTEを含む。CPによって使用されるASTE
はASTにあるけれども、ASTEは生成され、実際A
STにあることとは全体的には関係なくARTのための
機能を実行する。各ASTEは、図4との関連で説明し
たように、ホストDAT18によってホスト実アドレス
を決定するようなホストSTD値を含む。
【0040】プログラムに対して同時に使用可能である
2つのアクセス・リストがあり、各々は異なるケイパビ
リティドメインを表している。一方のアクセスリストは
、タスク指名可能ユニットアクセス・リスト(DUAL
)であり、他方のアクセスリストは1次空間アクセスリ
スト(PSAL)である。ALETの1ビットは、AL
ETのALENがDUAL24のエントリを指すのかP
SAL25のエントリを指すのかを判定する。
【0041】DUALドメインはタスク指名可能ユニッ
トによって実行されるプログラム又はプログラム群に代
りに、タスク指名可能ユニット(“タスク”又は“処理
”)と永久的に関連するようにされている。このシステ
ムのタスク指名可能ユニット毎に固有のDUALがある
。タスク指名可能ユニットが多くの異なるアドレス空間
でプログラムを実行するとしても、タスク指名可能ユニ
ットのためのDUALは変化しない。PSALドメイン
はホスト1次アドレス空間に関連する。ホスト1次アド
レス空間で実行する全プログラムは、アドレス空間のP
SALを共有する。これによって、1次空間内で実行さ
れるプログラムは、アドレス空間の共通セットへのアク
セスを共有できる。この1次アドレス空間が変化する場
合、このPSALは変化する。
【0042】有効なALETを所有しているユーザは、
DUAL24又はPSAL25上のいずれかのアクセス
リスト・エントリにアクセスすることができ、このエン
トリは所望のアドレス空間を特定する。他のドメインも
またALET及び選択された制御レジスタを用いて同様
に実行制御される。例えば、システムの全プログラムの
ケイパビリティを有するシステムワイド・アクセスリス
ト(SWAL)ドメインが生成される。ドメインの種々
のサブセットはSASNドメインアクセス・リスト(S
SAL)のように、所望されるように構成されることが
でき、現存の機構をさらに開発することを可能にする。
【0043】ALETが、ホストアクセス・レジスタア
ドレス指定モードの場合、1次アドレス空間及び2次ア
ドレス空間のそれぞれのオペランドをアクセスするため
に予約されているため、DUALのエントリ0及び1は
使用されない。CPUのアドレス指定モードは、後述さ
れるように、ゲストPSWのビットによって指定される
。CPUがホストアドレス・レジスタアドレス指定モー
ドの場合、ALET=0は常にホスト1次アドレス空間
を参照し、ALET=1は、常にホスト2次アドレス空
間を参照する。図5を見ると、ブロック28はこれらの
特別のALETを識別し、正しいホストSTDをPAS
Nに与え、それらが発生した場合SASNをDATを与
える。ホスト1次アドレス空間及びホスト2次アドレス
空間に対するSTD値は、ホスト制御レジスタ1及び7
に保持されるので、アクセスリスト・エントリ0及び1
は、それぞれ使用されない(図6参照)。PSAL25
のエントリ0,1,及び2は、実行に際し、使用されず
、無効にマークされる。
【0044】ホストART索引バッファ(ALB)19
9は、ホストARTからのホストSTDを保持するため
に、AR22,AL25,及びAST30からの入力を
受け取りセーブする。ホストALBはまた、アクセスリ
スト指示であるDUAL又はPSALを保持する。同一
のALETが再び使用される場合、ホストALB199
は、正しい出力を直接、ホストDAT18に供給するの
で、ホストARTは繰り返される必要がない。
【0045】図6及び図7は、命令実行中プログラム制
御及びCPUの状態のための情報を与えるための制御レ
ジスタ及びPSW語をそれぞれ示している。
【0046】図6は、本発明のMCDS機構のためのホ
スト制御レジスタ0〜15の内容を示す。図6のホスト
制御レジスタの内容のすべては、それらの大半は、米国
特許第4,945,480号明細書その他で記載されて
いる多重アドレス空間(MAS)及び二重アドレス空間
(DAS)機構の制御レジスタと同一の機能を有し、こ
れれは公知であるので、説明しない。したがって主に、
MCDS機構を与えるのに必要なそれらの変更について
は後述される。MAS機構と違って、MCDSは,PS
Wキーマスク(PKM),2次空間アドレス番号(SS
AN),許可キーインデックス(AX),1次空間アド
レス番号,ホームセグメントテーブル指示(HSTD)
,又はリンケージスタック・エントリアドレスを使用し
ない。これらは、MAS機構によって使用される場合多
数の制御レジスタ3,4,及び13〜15で見出される
。ホスト制御レジスタ1は1次セグメントテーブル指示
(PSTD)を含む。ビット1〜19は1次セグメント
テーブル・オリジン(PSTO)を特定し、ビット25
〜31は1次セグメントテーブル長(PSTL)を指定
する。ホスト制御レジスタ2のビット1〜25は、DU
ALDを位置指定するためにMCDS機構によって使用
されるタスク指名可能ユニット制御テーブルオリジン(
DUCTO)を指示する。ホスト制御レジスタ5のビッ
ト1〜25は、1次ASTEオリジン(PASTEO)
を指定する。制御レジスタ5のエントリは、1次アドレ
ス空間のためのASTEで、ASTEエントリを指示し
てPSALオリジン、その他の情報を見出す。
【0047】ホスト制御レジスタ7は、ビット1〜19
が2次セグメントテーブルオリジン(SSTO)を含み
、ビット25〜31が2次セグメントテーブル長(SS
TL)を含むフォーマットの2次セグメントテーブル指
示(SSTD)を含んでいる。ホスト制御レジスタ8の
ビット0〜15は、本発明のMCDS機構によって使用
するための拡張許可インデックス(EAX)を含む。
【0048】各ゲストはまた、それ自身の制御レジスタ
のセットを含む。MCDSがインストールされると、S
IE状態記述のモード制御ビットはゲストのためのMC
DSモードを特定するためにホスト制御プログラムによ
って使用される。ゲスト制御レジスタ0のビット15の
1は、MCDSモードで、MCDSケイパビリティを使
用するために、ゲストをイネーブルする。
【0049】図7は、ゲストプログラム状態語(PSW
)のフォーマットを示す。PSWのビット5は、ゲスト
DATがアクティブか否かを規定するDATモードビッ
ト(T)である。MCDSゲストの場合、ゲストDAT
は常にオフである。したがって、MCDSゲストの場合
、ゲストPSWのビット5は、0であることが必要とさ
れる。ビット16及び17は、アドレス指定モードを特
定するために結合される。MCDSモードの場合は、ゲ
ストPSWビット16と17の組合せは、CPUがホス
ト1次空間モード(00)にあるか、ホストアクセス・
レジスタモード(01)にあるかを規定する。PSWの
ビット32は、PSWのビット33〜63の命令アドレ
スのフォーマットを規定するアドレス指定モードである
。PSWのフィールドの残りの機能及びフォーマットは
、IBM  System/370オペレーションに規
定されている。
【0050】図5に関して説明されたALETのフォー
マットは、図9のブロック100に詳しく示されている
。このトークンは、VM/ESAサービスの使用により
ゲストによって得られる。ALETでは、ビット7はビ
ットが1の場合、ALENがPSALを参照することを
指示する1次リストビット116である。1次リストビ
ット7が0の場合、ALENはDUALを参照する。 ビット16〜31は、図5で参照されるALENを含ん
でいる。ALENに16を乗ずると、その積は、実効ア
クセスリストの始めから、指示されたアクセスリスト・
エントリまでのバイト数に等しい。ART中、もしAL
ENが実効アクセスリスト外にあるエントリを指示する
か、又はALETの左7ビットがすべて0でない場合、
例外が認識される。ALENが、実効ALDのアクセス
リスト長(ALL)によって決定されるようなアクセス
リストの終わりを越えたアドレスを指示するならば、ア
クセスリスト・エントリは、実効アクセスリストの外に
ある。ALETの記述フォーマットは、ALETが16
進法で00000000又は00000001の場合、
これらの値がART処理によって特別な意味を割り当て
られているので、適用されない。
【0051】アクセスレジスタ、汎用レジスタ、又は記
憶装置には、ALETが存在でき、ユーザの問題プログ
ラムによる操作からは保護されない。命令の使用により
、どんなプログラムもALETの値を、アクセスレジス
タと汎用レジスタと記憶装置間で転送することができる
。呼び出されたプログラムは、アクセスレジスタの内容
を、使用可能な記憶エリアにセーブすることができ、そ
れ自身の目的のために、アクセスレジスタをロード及び
使用することができ、呼出し元に戻らないうちにアクセ
スレジスタの原内容を回復することができる。ALET
のビット8〜15は、アクセスリスト・エントリシーケ
ンス番号(ALESN)を含む。ALETは問題プログ
ラムから保護されておらず、ユーザは不注意にその内容
を任意の値に書き換えてしまうかもしれないので、AL
ESNが、ホストART中チェックされる信頼性機構と
して、ALETの中に含まれる。
【0052】図5のアクセス・レジスタ変換に関して使
用されるアクセスリスト・エントリ(ALE)のフォー
マットは、図9のブロック120で示されている。AL
Eのビット0は、ALEが有効でない場合を指示する無
効ビットである。ビット7は、0の場合、どんなプログ
ラムも、ホストARTオペレーション中、このアクセス
リスト・エントリを使用することを許可されていること
を特定する使用ビットである。ビット7が1の場合、A
LEのビット16〜31のアクセスリスト拡張許可イン
デックス(ALEAX)値は、呼び出しプログラムがこ
のアクセスリスト・エントリを使用するのを許可されて
いるか否かを判定するのに私用される。ALEは、妥当
性検査をするために指定ALETのALESN値と比較
するビット8〜15のALESN値を含む。ALEのビ
ット65〜89は、関連アドレス空間の対応するAST
Eアドレスを含んでいる。ASTEシーケンス番号(A
STESN)は、後述されるようにASTEエントリに
関して妥当性検査として使用するためALEのビット9
6〜126にある。
【0053】図5のアクセスリスト24及び25のエン
トリは、CPによって与えられ、いくつかのゲストによ
り直接操作から保護されることが意図されている。この
保護は、キー制御保護によるか又はDATによるどんな
ゲストプログラムによってもアクセス不可能な実記憶に
アクセスリストを配置することにより得られる。エント
リのビット0によって決定されるように、ALEは、有
効か無効かどちらかである。有効なALEは、そのアド
レス空間をアクセスするために適当に許可されたプログ
ラムによって使用されることのできるアドレス空間を特
定する。無効なALEは、割り付け又は再割り付けの場
合、有効エントリとして使用可能である。制御プログラ
ムは、有効ALEを割り付け、以前割り付けられたAL
Eを無効にするサービスを提供する。
【0054】ALEの割り付けは、次のステップよりな
る。ゲストは、アドレス空間の識別を制御プログラム(
CP)に渡し、DUAL24かPSAL25かを特定す
る標識も渡す。この標識は、ALETの1次リストのビ
ット7である。次に、制御プログラムは、後述するよう
に、アドレス空間をアクセスするためにゲストプログラ
ムの権限をチェックする。もし、ゲストプログラムが権
限付与されている場合、制御プログラムは、特定アクセ
スリストの無効エントリを選択し、有効エントリに変え
、ASTEアドレス及びASTESNを含み、それによ
って、対象アドレス空間を特定し、ゲストプログラムに
現在割り付けられたALEを指定するALETの値を戻
す。次に、ゲストプログラムは、アドレス空間にアクセ
スするために、新しいALETをアクセスレジスタに置
くことができる。その後、制御プログラムの無効化サー
ビスの使用により、割り付けられたALEは、無効にさ
れる。
【0055】このように、特定のALEは割り付けられ
、無効にされ、再割り付けられ、今度の異ったアドレス
空間の特定化は、元の割り付けで特定される。概念的に
間違ったアドレス空間を指定するALETの誤使用から
ユーザを保護するために、ALESNはALET及びA
LEの両方に記憶されることができる。制御プログラム
がALEを割り付ける場合、制御プログラムは同一AL
ESNを、ALEと問題プログラムに戻る指定ALET
の双方に置く。制御プログラムがALEを再割り付けす
る場合、再割り付けられたALEのALESNの値を、
以前に指定されたALETのALESNの値が、もはや
新しいALEのALESNに一致しないように変えられ
る。
【0056】ALEのASTESN部は、ASTE及び
関連図面に関してさらに説明するけれども、ここで重要
なのは、ALEのASTESN値と、ASTEの値との
比較は、ASTEを指定するALE権限が確認される機
構であることである。したがって、ASTEは、再割当
てされ、異なるASTESNが、トラックを、ASTE
を参照した全ALEエントリに返す必要なく、その使用
を制御するために、割り当てられることができる。AS
TESNの使用により、制御プログラムは、ASTEを
使用可能な全プログラム,又はタスク指名可能ユニット
を保持する必要はない。したがって、権限は、ASTE
SNを変えることにより変更されることができ、例外又
は割込みは、適切なASTESNなしでASTEを使用
する試みがなされる場合、生成されることができる。こ
れにより、オペレーティングシステムは、ASTESN
が変更されないうちにALEで許可されたケイパビリテ
ィを有するASTEにアクセスする試みを知ることがで
きる。したがって、オペレーティングシステムは、新し
い、及び/又は、異った空間の場合ASTEを安全に再
使用するか又は現空間の現評価者(assessor)
の権限を、再有効化する機構を有する。
【0057】MCDSの下では、ゲストは、ゲストPS
Wのビット16及び17によって決定されるようなホス
ト1次空間モード又はホストアクセス・レジスタモード
のいずれかである。各モードはゲストオペランド・アド
レスがどのように変換されるかを決定する。ホスト1次
空間モードでは、ゲストオペランド・アドレスはホスト
1次アドレス空間で変換される。ホストアクセス・レジ
スタモードでは、ゲストオペランド・アドレスは、16
までの異ったアドレス空間のどれかで同時に分解される
。どちらのモードでも、命令はホスト1次アドレス空間
でフェッチされ、実行される。
【0058】有利なことには、上記2つの動作モードは
、ゲストをイネーブルして、1又はそれ以上のプログラ
ムを実行する。このプログラムは、ゲストそのものをM
CDSモードにする必要なしにアクセスレジスタ変換を
使用しない。
【0059】ホスト1次空間モードのアドレス変換は、
図1に示されたように、ゲストDATオフのESA/3
70モードのページ可能ゲストの場合アドレス変換と同
一である。ゲストアクセス・レジスタの内容は無視され
、ホストアクセス・レジスタ変換は適用されない。
【0060】MCDSホストアクセス・レジスタモード
・ゲストの動作は、図8に示されている。ゲストがホス
トアクセス・レジスタモードである場合、オペランドア
ドレスはホストアクセス・レジスタを特定された実アド
レスと呼ばれる。ゲストアクセス・レジスタ変換及びゲ
スト動的アドレス変換は使用されない。その代り、ホス
トアクセス・レジスタを特定された実アドレスは、ホス
トアクセス・レジスタ変換及びホスト動的アドレス変換
により変換され、ホスト実アドレスを生成する。
【0061】図8に示すように、ホストアクセス・レジ
スタを特定された実アドレスは、アクセスリスト・エン
トリトークン(ALET)802及びオフセット803
からなる。ALET802は、記憶オペランドの実アド
レスを特定するのに使用される命令のBフィールド又は
Rフィールドによって指定されるアクセスレジスタの中
に含まれる。ALET802は、ホストアクセス・レジ
スタ変換中804使用され(後述する)、ホストセグメ
ントテーブル指示(STD)805を生成する。このホ
ストセグメント・テーブル指示805は、特定化された
オフセット803が存在するアドレス空間を決定する。 ホストSTDの一部である私用空間ビット806は、ゲ
ストプレフィックシング,主記憶オリジン(MSO),
及び主記憶エクステント(MSE)が適用されるか否か
を決定するために使用される。ホストセグメント・テー
ブル指示805の私用空間ビット806が1である(8
07で)場合、ゲストプレフィックシング(後述する)
は、808でオフセット803を適用し、809でゲス
ト絶対アドレスを生成する。さらに、私用空間ビット8
06が1である場合、状態記述制御ブロックの実効主記
憶源は、810でゲスト絶対アドレスに付加され、結果
として得られたアドレスは、811で状態記述制御ブロ
ックの実効主記憶エクステントと比較されて、結果とし
て得られたアドレスが有効か否かを判定する。この結果
得られたアドレスはホスト仮想アドレス812である。 私用空間ビット806が813で0である場合、変更さ
れないオフセット603は、ホスト仮想アドレス812
である。ホスト仮想アドレス812は、814でホスト
動的アドレス変換(ホストDAT)中ホストセグメント
・テーブル指示805と共に使用され、ホスト実アドレ
ス815を生成する。次に、ホスト実アドレスは、81
6でホストプレフィックシング中使用され、ホスト絶対
アドレス801を生成する。このホスト絶対アドレスは
、ホスト主記憶位置に割り当てられたアドレスである。
【0062】図9と図10は2つで1組であり、MCD
Sの下でプログラム権限チェックをするホストアクセス
・レジスタ変換処理を示す図である。ALETがアクセ
スレジスタ・オペレーションに使用され、オペランドを
フェッチ又は記憶する場合、ALETのビット0〜6は
115で調べられ、ALETが有効であることを保証す
る。ALETのPビット116が0である場合、アクセ
スリストはDUALであり、Pビット116が1である
場合、アクセスリストはPSALである。アクセスリス
トがDUALである場合、実効ALDは、DUCTから
フェッチされ、このDUCTのアドレスはホスト制御レ
ジスタ2に記憶される。アクセスリストがPSALであ
る場合、実効ALDは1次ASTE(PASTE)から
フェッチされ、このPASTEのアドレスはホスト制御
レジスタ5に記憶される。実効ALDはアクセスリスト
源及びアクセスリスト長(ALL)とを含んでいる。1
17で、ALENはALLと比較され、ALENがアク
セスリストの境界外にないことを決定する。ALENが
この妥当性検査をパスすると、実効アクセスリスト源は
、119で加算器の演算によりALENと結合され、ア
クセスリスト121AのALE120のアドレスを検出
する。無効ビット、すなわちALE120のビット0は
、121Bでそれが0かどうか判断するために検査され
、それによってALE120が有効かどうかを判定する
。ALE120が有効である場合、ALETのALES
N122は124でALE120のALESN123と
比較される。ALESN122がALESN123に等
しい場合、ALETはALE120を指定するために許
可され、ASTEアドレス125は、ASTE126を
フェッチするのに使用される。ASTE126の妥当性
は、無効ビット127を128で検査することにより、
確認される。ASTE126が有効の場合、ASTES
N130は132でASTESN131と比較され、A
LE120がASTE126を指定するように許可され
ることを保証する。これらの検査はARTの有効部を終
了させる。
【0063】アドレス空間にアクセスするために呼出し
プログラムの権限は、検査される。第1の検査135が
行われ、Pビット136が0か否かを判定する。Pビッ
ト136が0である場合、全プログラムは許可され、A
LEに関連するアドレス空間にアクセスされ、これ以上
の検査は行われない。Pビット136が1である場合、
ALEAX137は、比較器139によりホスト制御レ
ジスタのEAX138と比較される。比較器139での
比較が等しい場合、このプログラムはアドレス空間にア
クセスするために特に許可され、これ以上の検査は行わ
れない。比較器139での比較が等しくない場合、AS
N拡張許可チェック140が行われる。このASN拡張
許可チェック140が、ホスト制御レジスタ8のEAX
と権限テーブル長(ATL)と比較することによって行
われ、EAXが権限テーブルの境界外のエントリを指定
しないことを確かめる。ホスト制御レジスタ8にあるE
AXは、その源がATO142である権限テーブルへの
インデックスとして使用される。もし権限テーブルのS
ビットがそのEAXに対して1に等しいようにセットさ
れているならば、プログラムはアドレス空間にアクセス
することが許可される。
【0064】プログラムがアドレス空間にアクセスする
ことが許可され、前述のようにアクセスが記憶アクセス
である場合、ALEのフェッチオンリービット114が
、115Bで示されるように検査される。フェッチオン
リービットが0なら、記憶アクセスは許可される。フェ
ッチオンリービットが1なら、アクセスリスト制御保護
のための保護例外が、認識される。
【0065】プログラムがアドレス空間にアクセスする
ことがなお許可されている場合(記憶アクセス又はフェ
ッチアクセスのいずれかの場合)、ホストSTD144
はASTE125から得られる。ホストSTDは、AL
Eの強制私用空間ビット146と、ホストSTD144
の私用空間ビット148との論理ORを取ることにより
、147で修正され、演算結果は図10に示されるよう
にゲストプレフィックシング及びホストDAT操作に供
給されるホストSTDの私用空間ビットを置換する。 ホストSTD144の残りのビットは不変である。
【0066】図10は、プレフィックシング,主記憶源
アプリケーション,及び主記憶エクステントチェック処
理を示したものである。図10で、ホストART処理か
ら得たホストSTD900は、セグメントテーブル源9
01及び私用空間ビット902を含む。セグメントテー
ブル源はホストDAT905中に使用される。私用空間
ビットは、ゲストプレフィックシング,ゲスト主記憶源
アプリケーション,及びゲスト主記憶エクステント検査
が実行されるか否かを判定するのに用いられる。もし、
私用空間ビット902が1ならば、実効オフセット90
6は、ゲストプレフィックシング,主記憶源付加,及び
主記憶エクステント検査を適用することなく、ホストD
AT処理905によって使用される。すなわち、オフセ
ット906はホストDAT処理905によって直接使用
される。私用空間ビット902が916で0ならば、オ
フセット906のビット1〜19はすべて0か否かを9
07で検査する。もしオフセットのビット1〜19がす
べて0ならば、状態記述制御ブロック908のゲストプ
レフィックス・フィールドのビット1〜19は、実効オ
フセットのビット1〜19を置換するのに使用され、実
効オフセットのビット20〜31は、910で右側に連
結されて、ゲスト絶対アドレス911を生成する。
【0067】もし実効オフセットのビット1〜19がす
べて0でなく、909でゲストプレフィックス値に等し
いならば、実効オフセットのビット1〜19は0で置換
され、実効オフセットのビット20〜31は、910で
右側に連結されて、ゲスト絶対アドレス911を生成す
る。もし実効オフセットのビット1〜19がすべて0で
なく、ゲストプレフィックス値に等しくないならば、全
オフセットは不変で、ゲスト絶対アドレス911である
と認識される。さらに、916で私用空間ビット902
が0ならば、914でゲスト絶対アドレスは実効主記憶
源912に加算され、915で演算結果は状態記述制御
ブロック913の実効主記憶エクステント値と比較され
る。もし結果のアドレスが実効主記憶エクステント値よ
り小さいか、又は等しければ、結果のアドレスは有効で
、ホストDAT905中使用される。
【0068】MCDSはESA/370の私用空間ビッ
トの機能を拡張する。もし仮想計算機がデータ空間を生
成するなら、そのデータ空間にプレフィックス関連の保
護機構を適用するのは適切でない。個別のユーザ仮想計
算機間で、全共有者はデータ空間の同じ位置に到達する
ために同じアドレスを使用できるべきである。したがっ
て、MCDSは、私用空間属性の影響を拡張して、プレ
フィックシングを抑制する。同様に、状態記述の主記憶
エクステントによって特定された仮想計算機の1次空間
サイズは、それがアクセスできる他の空間のサイズと関
係ない。このように、MCDS私用空間制御は、主記憶
エクステント・チェックの適用を抑止する。要するに、
私用空間属性はデータの各共有者に、データの同じ“ビ
ュー(view)”を与える。さらに、“私用”はアド
レス空間の属性ではなく、むしろアクセスの属性である
。ユーザの1次アドレス空間が2次仮想計算機と共有さ
れる場合、オーナーのアクセスは私用として指示されな
い。プレフィックス効果は1次空間の場合適切であるか
らである。共有者のアクセスは私用として指示され、外
部空間のアドレスへの共有者プレフィックスの適用を抑
制する。
【0069】強制私用空間ビットは、ユーザの1次空間
のためにSTDの単一コピー(ASTEにおける)を保
持しながら、1次空間のこれら異なるビューを許容する
方法を提供する。ASTEのSTDの私用空間ビットは
、0にセットされ、ホストCR1はこのフィールドから
ロードされる場合、オーナに適切な空間の“非私用”の
ビューを与える。各共有者のアクセスリスト・エントリ
の強制私用空間ビットは、1にセットされ、各共有者に
アドレス空間の“私用”ビューを与える。
【0070】アクセスリスト・エントリの私用ビット及
びALEAXフィールドは、ALEによって表されるア
ドレス空間へのプログラムのアクセスを許可するか又は
禁止する高性能権限機構を提供する。私用ビットは0で
あることも可能で、よってアクセスリストを実行する全
プログラムが、ALEによって表されるアドレス空間に
アクセスすることを許容する。ALE私用ビットは1に
なることができ、ホスト制御レジスタ8のEAXはAL
EAXフィールドに等しくなることができる。これによ
って特定のEAXを有するプログラムは、ALEによっ
て表されるアドレス空間へアクセスすることができる。 最後に、ALE私用ビットは1になることができ、ホス
ト制御レジスタ8のEAXは、1に等しいSビットを有
する目標空間権限テーブルのエントリを選択することが
できる。これによって、異なるEAXで実行することが
できる多重プログラムは、ALEによって表されるアド
レス空間にアクセスすることができる。
【0071】図11〜図13は3つが一緒になって、ア
クセスレジスタ変換ステップと例外のフローチャートを
形成する。ART論理が呼び出されると、アクセスレジ
スタ0が指定されたか否かを判定する検査が150で行
われる。アクセスレジスタ0が指定されると、ARTが
TEST  ACCESS動作によって呼び出されるか
否かを判定する検査が151で行われる。TEST  
ACCESS動作は従来公知であるので、ここでは詳述
しない。アクセスレジスタ0が指定されないか、又はこ
れがTEST  ACCESS動作である場合、アクセ
スレジスタのALETは、152で使用するために指定
される。アクセスレジスタ0が指定されていて、これが
TEST  ACCESS動作でない場合は、16進数
00000000が153でALETに割り当てられる
。ALETが16進数00000000に等しいか否か
を判定する検査が154で行われる。もしイエスなら、
ホスト1次アドレス空間のためのSTDは、155でホ
スト制御レジスタ1から得られる。ALETが16進数
0000000の値を有しているか否かを判定する検査
が156で行われる。もしイエスなら、ホスト2次アド
レス空間のためのSTDは、157で制御レジスタ7か
ら得られる。ALETのビット0〜6が0に等しいか否
かを判定する検査が158で行われる。もしビット0〜
6が0に等しくないならば、ALETに割り当てられた
値は有効ではなく、ゲストALET仕様例外が159で
生起され、動作が抑制される。
【0072】ALETビット7が1か否かを判定する検
査が160で行われる。もし1なら、ホスト制御レジス
タ5のPASTEOエントリが161でデコードされ、
PSALのために実効ALDがフェッチされる。もしA
LETビット7が0に等しいなら、ホスト制御レジスタ
2のDUCTOエントリが162でデコードされ、実効
ALDはDUALのためにフェッチされる。フェッチア
ドレスが163で有効でないと判定された場合、ゲスト
アドレス指定例外は164で生起され、動作が抑制され
る。アドレスが163で有効と判定された場合、ALE
TのALENが実効ALL(実効ALDのビット25〜
31)の範囲外にあるかどうかを判定する検査が165
で行われる。もし範囲外なら、ゲストALEN変換例外
が166で生起され、動作が無効にされる。165での
答えがノーならば、ALEは167にあり、ALEアド
レスが有効か否かを判定する検査が165で行われる。 ALEアドレスが有効でない場合、ゲストアドレス指定
例外が168で生起され、動作が抑制される。アドレス
が167で有効と判定された場合、ALEの有効ビット
は、ALEが有効か否かを判定するために169で検査
される。もしALEが有効でないならば、ゲストALE
N変換例外が170で認識され、動作が無効にされる。 ALEが169で有効と判定された場合、ALETのA
LESNは、171でALEのALESNと比較される
。比較171が等しくない場合は、ゲストALEシーケ
ンス例外が172で認識され、動作は無効にされる。 171での比較が等しい場合、ASTEは、ALEのA
STEアドレスを用いて173に置かれる。ASTEア
ドレスが有効か否かを判定する検査が行われる。アドレ
スが有効でない場合、ゲストアドレス指定例外が174
で生起され、動作が抑制される。ASTEアドレスが1
73で有効と判定された場合、ASTEの有効性ビット
は175で検査され、ASTEが有効か否かが判定され
る。ASTEが有効でない場合、ホストASTE有効性
例外は176で生起され、動作がは無効にされる。17
7で、ALEのASTESNがASTEのASTESN
と比較される。177で比較が等しくない場合、ホスト
ASTEのシーケンス例外は178で生起され、動作が
無効にされる。
【0073】前記ブロック163〜178が、このよう
にして、得られたエントリが有効か否かを判定する。1
79でALEの私用ビット、すなわちビット7は、0に
等しいか否かを判定検査するために検査される。179
でまたALEのALEAXエントリは、ホスト制御レジ
スタ8のEAXと比較される。この2つの検査のいずれ
も等しい場合、オペランドのためのホストSTDは、1
80に示されるように、アドレス空間のASTEから得
られる。STDはALEの強制私用空間ビットとホスト
STDの私用空間ビットとの論理ORを取ることにより
、147で修正され、演算結果は、図13に示したよう
に、ゲストプレフィックシング及びホストDATオペレ
ーションに、与えられるSTDの私用空間ビットになる
。ホストSTDの残りのビットは変更されない。私用ビ
ットが0の場合、プログラムは許可され、アクセスレジ
スタ変換の許可ステップが完了する。私用ビットが1で
あるがALEAXがEAXに等しい場合、プログラムも
また許可され、アクセスレジスタ変換の許可ステップは
完了する。
【0074】このプログラムが179でまだ許可されな
い場合、ASTEの有効性は、ASTEビット30,3
1,60〜63が0か否かを判定することによって、1
81で検査される。そうでない場合、ホストASN変換
の仕様例外は182で生起され、動作が抑制される。ホ
スト制御レジスタ8のEAXビット0〜11の値は、1
83で権限テーブル長と比較され、EAXが、権限テー
ブルの境界外のエントリを指定しないことを確かめる。 183の比較がイエスの場合、ゲスト拡張許可例外が1
84で生起され、動作が無効にされる。EAXが、権限
テーブルの境界内のエントリを指定する場合、関連EA
Xエントリは185の権限テーブルに置かれる。権限テ
ーブルエントリのアドレスが有効でない場合、ゲストア
ドレス指定例外が186で生起され、動作が抑制される
。
【0075】拡張許可検査は、185に配置された権限
テーブルの2次許可ビット(Sビット)が1に等しいか
否かを判定することにより、187で行われる。187
の検査がイエスの場合、プログラムは、アドレス空間に
関連する権限テーブルによって許可されたものの内の1
つであり、アドレス空間のためのホストSTDは、18
8でASTEから得られる。187での比較がノーの場
合、プログラムは許可されず、ゲスト拡張権限例外は1
89で認識され、動作が無効にされる。
【0076】アクセス特定保護の検査は、202で行わ
れる。なされるべきアクセスが記憶で、アクセスリスト
・エントリのフェッチオンリービットが1の場合、ゲス
ト保護例外は203で認識され、動作が抑制される。ど
んな例外も認識されなかった場合、アドレス空間のため
のSTDは、188でASTEから得られる。
【0077】ALEの強制私用空間ビットとSTDの私
用空間ビットとの論理ORを取ることにより、STDは
190で変更され、演算結果は、STDの私用空間ビッ
トとなり、図13に示されるように、ゲストプレフィッ
クシング及びホストDATオペレーションに与えられる
。STDの残りのビットは、不変である。
【0078】ホストSTDの私用空間ビットが191で
1の場合、193のホストDAT処理に供給されるホス
ト仮想アドレス192である。私用空間ビットが、19
1で0の場合、オフセットのビット1〜19は、194
で0かどうか検査される。これらのビットがすべて0の
場合、オフセットのビット1〜19は状態記述制御ブロ
ック195からのプレフィックス値のビット1〜19と
置換され、ゲスト絶対アドレス196を生成する。ビッ
ト1〜19が0でなく、そのかわりに、状態記述制御ブ
ロック197からのプレフィックス値のビット1〜19
に一致する場合、オフセットのビット1〜9は、198
で0と置換され、ゲスト絶対アドレス196を生成する
。オフセットのビット1〜19が0でなく、プレフィッ
クスのビット1〜19に一致しない場合、オフセットは
ゲスト絶対アドレス196である。これにより、プレフ
ィックス動作が完了する。
【0079】ゲスト絶対アドレスは、状態記述制御ブロ
ックの実効主記憶源によって修正される。そして、演算
結果のアドレスが無効、すなわち、演算結果のアドレス
が状態記述制御ブロック199の実効主記憶エクステン
トより小さくないか又は等しい場合、ホスト変換例外条
件が200で認識される。そうでない場合、すなわち、
演算結果のアドレスが有効な場合、それは、ホストDA
T処理193中で使用されるホスト仮想アドレス201
である。
【0080】有利なことに、MCDSホストARTは、
アドレス空間へのリードオンリーアクセスを許可するこ
とができる。これにより、いくつかのゲストは空間にリ
ード/ライトアクセスができ、他のゲストはリードオン
リーアクセスができる。これは、従来の仮想計算機(V
M)の共有メモリケイパビリティに対する著しい改良で
ある。仮想計算機の初期のバージョンは、“セーブされ
たセグメント”を、多重仮想計算機の絶対アドレス空間
に埋め込ませることができたが、共有データは共有者全
員によってしか書込み可能であるか又は共有者の誰も書
込み可能でないかのいずれかである。個々の仮想計算機
のアクセスの制御によって、CMS共有ファイルシステ
ムの場合のようなサービスマシンは、アドレス空間に安
全にデータをロードすることができ、そこからユーザマ
シンはデータを直接フェッチすることができる。
【0081】アクセスリスト制御保護は、ESA/37
0並びにMCDSに含まれる。したがって、CPは明示
ソフトウェアテストよりもむしろ、この機構を用いて、
ゲストのための動作をシミュレートする場合の保護を強
化することができる。仮想計算機は、格納キー及びPS
Wキーの割当てを、仮想計算機への権限を強化するのに
不適切なキーを作り出している各仮想計算機のゲストに
引き渡す。アクセスリスト制御保護は、この分野におけ
る仮想計算機固有のニーズを生起する。
【0082】ホストアクセス・レジスタ変換、すなわち
ホストART処理中に認識された例外条件は、いくつか
の例外条件のどれか検出することができる。これらの条
件は一般にホストに報告される。このホストは適切な動
作を行うことができる。しばしば、ホストの応答は、ゲ
ストに対して例外を提示することである。CPはマシン
によって報告された特定MCDS例外を、仮想計算機の
適用に意義のあるESA/XC例外に変形する。
【0083】例えば、共有空間のオーナーが、空間は、
全共有者から“隔離”されるべきだと要求する場合、C
Pは空間に対するASTEのシーケンス番号を増分する
。ART中、マシンは、ALEのシーケンス番号を、そ
れが指定するASTEのシーケンス番号と比較する。 比較して一致しない場合、ASTEシーケンス例外がホ
ストに提示される。それによって、CPは、空間にアク
セスしようとする前共有者の試みを検出し阻止する。M
CDS  ASTEシーケンス例外に応答して、CPは
、ESA/XCアドレス指定機能例外を、空間へのアク
セス許可が取り消されたことを指示するゲストに与える
。
【0084】ホストアクセスレジスタ変換中認識される
他の例外は、ゲストに提示される。例えば、ゲストは、
ゲストアクセスレジスタのALETに関連するエラーに
対して責任を負っている。もし、ゲストアクセスレジス
タのALETが、無効フォーマットを有することが検出
された場合、ALET仕様例外は認識され、ホストアク
セスレジスタ変換中にゲストに提示される。
【0085】ゲストにより無効アクセスリストエントリ
にアクセスしようとする試みにより生じる例外は、ホス
トによって中止される。次に、ホストは、ゲストに例外
を提示する。この例外は、ALEN変換例外と呼ばれる
。ALEN変換例外は、通常、ゲストが、アクセスが以
前に取り消されたアクセスリストエントリを指示する古
いALETを使用する場合、発生する。
【0086】特定のゲストによるアドレス空間へのアク
セスは、読出し動作に制限されるか又は、このゲストは
、アドレス空間のデータを変更されるのを許可される。 ゲストが、読み出すのみのデータを変更しようと試みる
場合、保護例外が認識され、ゲストに提示される。
【0087】MCDSの下では、確定DAT関連命令の
動作は、修正されて、ゲストがMCDSモードにある場
合、DATなしでその動作を許可する。これにより、ア
プリケーションプログラムは、ESA/370下でAR
Tを制御するのに用いるのと同様にMCDS下でホスト
ARTを制御するための問題プログラム命令を使用する
ことができる。
【0088】アドレス空間制御の挿入(INSERT 
 ADDRESS  SPACE  CONTROL)
命令と、アドレス空間制御のセット(SET  ADD
RESS  SPACE  CONTROL)命令は、
DATなしで使用可能であるように変更される。アドレ
ス空間制御の挿入命令は、ホスト1次空間モード又はホ
ストアクセスレジスタモードのいずれかの、ゲストの現
モードを得るのに使用される。アドレス空間制御のセッ
ト命令は、ホスト1次空間モード又はホストアクセスレ
ジスタモードのいずれかをセットするのに使用される。
【0089】図15は、MCDS機構,システムアドレ
ス空間,制御プログラム,及び多重CMSユーザの相互
関係を示す図である。MCDS機構1100は、CP1
110によって管理される制御テーブル1108によっ
て供給されるデータを用いて、(MCDSにホスト仮想
アドレス及びALETを与える)CMSゲストをイネー
ブルし、多数のデータ空間1106のどれかに共通にア
クセスする。
【図面の簡単な説明】
【図1】従来のESA/370DAT−onゲストの場
合のアドレス変換処理を示すフローチャート図である。
【図2】従来の仮想計算機の制御プログラム(CP)要
素と、各ログオン・ユーザのための仮想計算機との関係
を示すブロック図である。
【図3】従来のページ可能モードESA/370DAT
−offゲストの場合のアドレス変換処理のフローチャ
ート図である。
【図4】アドレス指定オペランドのアクセスレジスタの
使用を示す図である。
【図5】図4のゲストアクセスレジスタの内容にホスト
アクセスレジスタ変換の適用を示す図である。
【図6】本発明のMCDS機構で使用するための制御レ
ジスタの構成及び内容を示す図である。
【図7】MCDS機構で使用するためのPSWの内容を
示す図である。
【図8】MCDSホストアクセス・レジスタモードゲス
トの場合のアドレス変換処理を示す図である。
【図9】図5のアクセスレジスタ変換処理の論理の流れ
を示す図である。
【図10】図5のアクセスレジスタ変換処理の論理の流
れを示す図である。
【図11】アクセスレジスタ変換動作及び例外を示すフ
ローチャート図である。
【図12】アクセスレジスタ変換動作及び例外を示すフ
ローチャート図である。
【図13】アクセスレジスタ変換動作及び例外を示すフ
ローチャート図である。
【図14】図11〜図13を合わせて見るときの組合せ
図である。
【図15】MCDS機構,システムアドレス空間,制御
プログラム,及び多重CMSユーザの相互関係を示す図
である。
【符号の説明】
10  ホストART 12  ゲスト命令 14  ベースアドレス 15  ホスト仮想アドレス 16  ゲストアクセス・レジスタ 18  ホストDAT 19  ホストSTD 20  汎用レジスタ 22  アクセスレジスタ 24  タスク指名可能ユニットアクセス・リスト(D
UAL) 25  1次空間アクセスリスト(PSAL)26  
ホスト制御レジスタ2 27  ホスト制御レジスタ5 30  AST 199  ALB 1100  MCDS 1102,1104  CMS 1106  データ空間 1108  制御テーブル 1110  制御プログラム(CP)

Claims (14)

    【特許請求の範囲】
  1. 【請求項1】ホストコンピュータシステム上でエミュレ
    ートされた複数の仮想計算機ゲストによって、データ空
    間に共通アクセスを行うための装置において、少なくと
    も1つの仮想計算機ゲストから、ホストデータ空間のデ
    ータ位置を示すオフセットを受け取るように接続された
    第1の手段と、前記仮想計算機ゲストの1つからトーク
    ンを受け取るように接続され、前記オフセットが適用さ
    れるべきホストデータ空間の1つを決定する第2の手段
    と、前記第1の手段からオフセットを受け取り、前記第
    2の手段からデータ空間の1つを識別するデータを受け
    取るように接続され、データ空間の1つの中のデータ位
    置を示すホスト絶対アドレスを得る第3の手段とを備え
    ていることを特徴とする、データ空間への共通アクセス
    装置。
  2. 【請求項2】前記第3の手段は、ゲストプレフィックス
    値を記憶するゲストプレフィックスレジスタ手段と、前
    記ゲストプレフィックス・レジスタ手段からゲストプレ
    フィックス値を受け取り、前記第1の手段からオフセッ
    トを受け取るように接続され、ゲストプレフィックス値
    及びゲストオフセットからゲスト絶対アドレスを得る第
    4の手段と、前記第4の手段に結合され、ホストコンピ
    ュータシステムからの信号に応答して前記第4の手段を
    、イネーブル及びディスエーブルする第5の手段とを備
    えることを特徴とする、請求項1記載のデータ空間への
    共通アクセス装置。
  3. 【請求項3】前記第4の手段は、ゲストオフセットとゲ
    ストプレフィックス値とをスワップする手段を備えてい
    ることを特徴とする、請求項2記載のデータ空間への共
    通アクセス装置。
  4. 【請求項4】複数のエントリをからなるアクセスリスト
    と、前記第1の手段に接続され、前記アクセスリストの
    エントリをアクセスする参照手段と、前記第5の手段に
    結合され、前記参照手段によってアクセスされるアクセ
    スリストエントリに応答して前記信号を発生する強制私
    用空間手段とをさらに備えていることを特徴とする、デ
    ータ空間への共通アクセス装置。
  5. 【請求項5】前記第3の手段は、さらに、前記第4の手
    段からゲスト絶対アドレスを受け取るように接続され、
    前記第4の手段がイネーブルされた場合、主記憶源値を
    ゲスト絶対アドレスに適用して、ホスト仮想アドレスを
    得る第6の手段とを備えていることを特徴とする、請求
    項4記載のデータ空間への共通アクセス装置。
  6. 【請求項6】前記第3の手段は、さらに、前記第6の手
    段からホスト仮想アドレスを受け取るように接続され、
    ホスト仮想アドレス上で動的アドレス変換を実行して、
    ホスト実アドレスを得る第7の手段を備えていることを
    特徴とする、請求項5記載のデータ空間への共通アクセ
    ス装置。
  7. 【請求項7】前記第3の手段は、さらに、ホストプレフ
    ィックス値を記憶するホストプレフィックスレジスタ手
    段と、前記ホストプレフィックスレジスタ手段から前記
    ホストプレフィックス値を受け取り、前記第7の手段か
    ら前記ホスト仮想アドレスを受け取るように接続され、
    前記ホストプレフィックス値を前記ホスト仮想アドレス
    に適用して、前記ホスト絶対アドレスを得る第8の手段
    を備えていることを特徴とする、請求項6記載のデータ
    空間への共通アクセス装置。
  8. 【請求項8】ホストコンピュータシステム上でエミュレ
    ートされた複数の仮想計算機ゲストによって、アドレス
    空間及びデータ空間に共通アクセスを行う方法において
    、複数のホストデータ空間のデータ位置を示す複数のオ
    フセットを、少なくとも1つの仮想計算機ゲストから同
    時に受け取るステップと、どのホストデータ空間にオフ
    セットが適用されるべきなのかを決定するステップと、
    前記決定によって識別されるデータ空間のデータ位置を
    示すホスト絶対アドレスを、前記オフセット及びホスト
    データ空間から得るステップからなることを特徴とする
    、データ空間への共通アクセス方法。
  9. 【請求項9】前記仮想計算機ゲストの1つからゲストプ
    レフィックス値を受け取るステップと、前記コンピュー
    タシステムから私用空間信号を受け取るステップと、私
    用空間信号に応答して、ゲスト絶対アドレスを、前記ゲ
    ストプレフィックス値及び前記オフセットから得るステ
    ップをさらに含むことを特徴とする、請求項8記載のデ
    ータ空間への共通アクセス方法。
  10. 【請求項10】前記私用空間信号に応答して、主記憶源
    値をゲスト絶対アドレスに適用し、ホスト仮想アドレス
    を得るステップとからなることを特徴とする、請求項9
    記載のデータ空間への共通アクセス方法。
  11. 【請求項11】動的アドレス変換をホスト仮想アドレス
    上で実行して、ホスト実アドレスを得るステップをさら
    に含むことを特徴とする、請求項10記載のデータ空間
    への共通アクセス方法。
  12. 【請求項12】ホストプレフィックス値を前記ホスト仮
    想アドレスに適用して、前記ホスト絶対アドレスを得る
    ステップをさらに含むことを特徴とする、請求項11記
    載のデータ空間への共通アクセス方法。
  13. 【請求項13】ルックアップテーブルの決定ステップに
    よって識別されるホストデータ空間を示すデータを記憶
    するステップと、前記データ空間に順次アクセスするた
    めに、前記ルックアップテーブルから、前記ホストデー
    タ空間を示すデータの読出しを、前記仮想計算機ゲスト
    に行わせるステップとをさらに含むことを特徴とする、
    請求項12記載のデータ空間への共通アクセス方法。
  14. 【請求項14】ホストコンピュータシステム上でエミュ
    レートされた複数の仮想計算機ゲスト間でデータを共有
    する装置において、前記仮想計算機ゲストの1つによっ
    て与えられたトークンから、セグメントテーブル指示を
    得るホストアクセス変換手段と、前記仮想計算機ゲスト
    の1つによって与えられたゲストオフセットにプレフィ
    ックスを適用して、ゲスト絶対アドレスを得るゲストプ
    レフィックス手段と、前記ゲストプレフィックス手段に
    接続され、前記ホストコンピュータシステムからの信号
    に応答して前記ゲストプレフィックス手段をイネーブル
    及びディスエーブルする制御手段と、主記憶源と主記憶
    エクステントを、前記ゲスト絶対アドレスに適用して、
    ホスト仮想アドレスを得る記憶源手段と、記憶源から前
    記ホスト仮想アドレスを受け取り、前記ホストアクセス
    レジスタ変換手段から前記セグメントテーブル指示を受
    け取るように接続され、ホスト実アドレスを前記ホスト
    仮想アドレスから得る動的アドレス変換手段と、前記動
    的アドレス変換手段から前記ホスト実アドレスを受け取
    るように接続され、前記ホスト実アドレスにプレフィッ
    クシングを適用して、ホスト絶対アドレスを得るホスト
    プレフィックシング手段とを備えていることを特徴とす
    る、データ共有装置。
JP3252875A 1990-10-02 1991-09-05 データ空間への共通アクセス装置及び方法 Expired - Lifetime JPH0769844B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/577,395 US5230069A (en) 1990-10-02 1990-10-02 Apparatus and method for providing private and shared access to host address and data spaces by guest programs in a virtual machine computer system
US577395 1990-10-02

Publications (2)

Publication Number Publication Date
JPH04247528A true JPH04247528A (ja) 1992-09-03
JPH0769844B2 JPH0769844B2 (ja) 1995-07-31

Family

ID=24308531

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3252875A Expired - Lifetime JPH0769844B2 (ja) 1990-10-02 1991-09-05 データ空間への共通アクセス装置及び方法

Country Status (4)

Country Link
US (1) US5230069A (ja)
EP (1) EP0478978A3 (ja)
JP (1) JPH0769844B2 (ja)
CA (1) CA2050834C (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008097173A (ja) * 2006-10-10 2008-04-24 Renesas Technology Corp データプロセッサ

Families Citing this family (122)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2839201B2 (ja) * 1990-07-30 1998-12-16 株式会社日立製作所 仮想計算機システム
JPH0496828A (ja) * 1990-08-15 1992-03-30 Hitachi Ltd 多重絶対アドレス空間構成方法および装置
US5437033A (en) * 1990-11-16 1995-07-25 Hitachi, Ltd. System for recovery from a virtual machine monitor failure with a continuous guest dispatched to a nonguest mode
JPH0512126A (ja) * 1991-07-05 1993-01-22 Hitachi Ltd 仮想計算機のアドレス変換装置及びアドレス変換方法
US5386525A (en) * 1991-10-29 1995-01-31 Pacific Bell System for providing application programs with direct addressability into a shared dataspace
CA2285096C (en) * 1991-11-12 2000-05-09 Ibm Canada Limited-Ibm Canada Limitee Logical mapping of data objects using data spaces
US5428760A (en) * 1991-12-12 1995-06-27 Intel Corporation Circuitry and method for sharing internal microcontroller memory with an external processor
US5574936A (en) * 1992-01-02 1996-11-12 Amdahl Corporation Access control mechanism controlling access to and logical purging of access register translation lookaside buffer (ALB) in a computer system
US5426748A (en) * 1992-01-03 1995-06-20 International Business Machines Corporation Guest/host extended addressing method and means with contiguous access list entries
US5479631A (en) * 1992-11-19 1995-12-26 International Business Machines Corporation System for designating real main storage addresses in instructions while dynamic address translation is on
US5515525A (en) * 1993-09-28 1996-05-07 Bull Hn Information Systems Inc. Emulating the memory functions of a first system on a second system
US5781750A (en) * 1994-01-11 1998-07-14 Exponential Technology, Inc. Dual-instruction-set architecture CPU with hidden software emulation mode
US5481684A (en) * 1994-01-11 1996-01-02 Exponential Technology, Inc. Emulating operating system calls in an alternate instruction set using a modified code segment descriptor
US5542059A (en) * 1994-01-11 1996-07-30 Exponential Technology, Inc. Dual instruction set processor having a pipeline with a pipestage functional unit that is relocatable in time and sequence order
US5481693A (en) * 1994-07-20 1996-01-02 Exponential Technology, Inc. Shared register architecture for a dual-instruction-set CPU
US5685009A (en) * 1994-07-20 1997-11-04 Exponential Technology, Inc. Shared floating-point registers and register port-pairing in a dual-architecture CPU
US5577231A (en) * 1994-12-06 1996-11-19 International Business Machines Corporation Storage access authorization controls in a computer system using dynamic translation of large addresses
US5621912A (en) * 1994-12-29 1997-04-15 International Business Machines Corporation Method and apparatus for enabling monitoring of guests and native operating systems
US5649140A (en) * 1995-03-31 1997-07-15 International Business Machines Corporation System for use in translating virtual addresses into absolute addresses
US5812823A (en) * 1996-01-02 1998-09-22 International Business Machines Corporation Method and system for performing an emulation context save and restore that is transparent to the operating system
GB9600823D0 (en) * 1996-01-16 1996-03-20 British Telecomm Distributed processing
US6289432B1 (en) 1998-03-25 2001-09-11 International Business Machines Corporation Sharing segments of storage by enabling the sharing of page tables
US6223202B1 (en) * 1998-06-05 2001-04-24 International Business Machines Corp. Virtual machine pooling
US6957332B1 (en) 2000-03-31 2005-10-18 Intel Corporation Managing a secure platform using a hierarchical executive architecture in isolated execution mode
US6996710B1 (en) 2000-03-31 2006-02-07 Intel Corporation Platform and method for issuing and certifying a hardware-protected attestation key
US6990579B1 (en) 2000-03-31 2006-01-24 Intel Corporation Platform and method for remote attestation of a platform
US7089418B1 (en) 2000-03-31 2006-08-08 Intel Corporation Managing accesses in a processor for isolated execution
US7013484B1 (en) 2000-03-31 2006-03-14 Intel Corporation Managing a secure environment using a chipset in isolated execution mode
US7111176B1 (en) 2000-03-31 2006-09-19 Intel Corporation Generating isolated bus cycles for isolated execution
US6934817B2 (en) 2000-03-31 2005-08-23 Intel Corporation Controlling access to multiple memory zones in an isolated execution environment
US7082615B1 (en) 2000-03-31 2006-07-25 Intel Corporation Protecting software environment in isolated execution
US6976162B1 (en) 2000-06-28 2005-12-13 Intel Corporation Platform and method for establishing provable identities while maintaining privacy
US7389427B1 (en) 2000-09-28 2008-06-17 Intel Corporation Mechanism to secure computer output from software attack using isolated execution
US7793111B1 (en) * 2000-09-28 2010-09-07 Intel Corporation Mechanism to handle events in a machine with isolated execution
US7215781B2 (en) * 2000-12-22 2007-05-08 Intel Corporation Creation and distribution of a secret value between two devices
US7225441B2 (en) * 2000-12-27 2007-05-29 Intel Corporation Mechanism for providing power management through virtualization
US7818808B1 (en) 2000-12-27 2010-10-19 Intel Corporation Processor mode for limiting the operation of guest software running on a virtual machine supported by a virtual machine monitor
US7035963B2 (en) 2000-12-27 2006-04-25 Intel Corporation Method for resolving address space conflicts between a virtual machine monitor and a guest operating system
US6907600B2 (en) * 2000-12-27 2005-06-14 Intel Corporation Virtual translation lookaside buffer
US7117376B2 (en) * 2000-12-28 2006-10-03 Intel Corporation Platform and method of creating a secure boot that enforces proper user authentication and enforces hardware configurations
US20020144121A1 (en) * 2001-03-30 2002-10-03 Ellison Carl M. Checking file integrity using signature generated in isolated execution
US7272831B2 (en) * 2001-03-30 2007-09-18 Intel Corporation Method and apparatus for constructing host processor soft devices independent of the host processor operating system
US7096497B2 (en) * 2001-03-30 2006-08-22 Intel Corporation File checking using remote signing authority via a network
US7191440B2 (en) * 2001-08-15 2007-03-13 Intel Corporation Tracking operating system process and thread execution and virtual machine execution in hardware or in a virtual machine monitor
US7024555B2 (en) 2001-11-01 2006-04-04 Intel Corporation Apparatus and method for unilaterally loading a secure operating system within a multiprocessor environment
US7103771B2 (en) * 2001-12-17 2006-09-05 Intel Corporation Connecting a virtual token to a physical token
US20030126454A1 (en) * 2001-12-28 2003-07-03 Glew Andrew F. Authenticated code method and apparatus
US7308576B2 (en) * 2001-12-31 2007-12-11 Intel Corporation Authenticated code module
US20030126453A1 (en) * 2001-12-31 2003-07-03 Glew Andrew F. Processor supporting execution of an authenticated code instruction
US7480806B2 (en) * 2002-02-22 2009-01-20 Intel Corporation Multi-token seal and unseal
US7124273B2 (en) * 2002-02-25 2006-10-17 Intel Corporation Method and apparatus for translating guest physical addresses in a virtual machine environment
US7631196B2 (en) 2002-02-25 2009-12-08 Intel Corporation Method and apparatus for loading a trustable operating system
US7028149B2 (en) * 2002-03-29 2006-04-11 Intel Corporation System and method for resetting a platform configuration register
US7069442B2 (en) 2002-03-29 2006-06-27 Intel Corporation System and method for execution of a secured environment initialization instruction
US20030191943A1 (en) * 2002-04-05 2003-10-09 Poisner David I. Methods and arrangements to register code
US20030196096A1 (en) * 2002-04-12 2003-10-16 Sutton James A. Microcode patch authentication
US7058807B2 (en) * 2002-04-15 2006-06-06 Intel Corporation Validation of inclusion of a platform within a data center
US20030196100A1 (en) * 2002-04-15 2003-10-16 Grawrock David W. Protection against memory attacks following reset
US7076669B2 (en) * 2002-04-15 2006-07-11 Intel Corporation Method and apparatus for communicating securely with a token
US7127548B2 (en) * 2002-04-16 2006-10-24 Intel Corporation Control register access virtualization performance improvement in the virtual-machine architecture
US7139890B2 (en) * 2002-04-30 2006-11-21 Intel Corporation Methods and arrangements to interface memory
US20030229794A1 (en) * 2002-06-07 2003-12-11 Sutton James A. System and method for protection against untrusted system management code by redirecting a system management interrupt and creating a virtual machine container
US6820177B2 (en) 2002-06-12 2004-11-16 Intel Corporation Protected configuration space in a protected environment
US7103914B2 (en) * 2002-06-17 2006-09-05 Bae Systems Information Technology Llc Trusted computer system
US7142674B2 (en) 2002-06-18 2006-11-28 Intel Corporation Method of confirming a secure key exchange
US7392415B2 (en) * 2002-06-26 2008-06-24 Intel Corporation Sleep protection
US20040003321A1 (en) * 2002-06-27 2004-01-01 Glew Andrew F. Initialization of protected system
US7124327B2 (en) * 2002-06-29 2006-10-17 Intel Corporation Control over faults occurring during the operation of guest software in the virtual-machine architecture
US6996748B2 (en) * 2002-06-29 2006-02-07 Intel Corporation Handling faults associated with operation of guest software in the virtual-machine architecture
US7296267B2 (en) * 2002-07-12 2007-11-13 Intel Corporation System and method for binding virtual machines to hardware contexts
US7165181B2 (en) 2002-11-27 2007-01-16 Intel Corporation System and method for establishing trust without revealing identity
US20040117532A1 (en) * 2002-12-11 2004-06-17 Bennett Steven M. Mechanism for controlling external interrupts in a virtual machine system
US7073042B2 (en) * 2002-12-12 2006-07-04 Intel Corporation Reclaiming existing fields in address translation data structures to extend control over memory accesses
US20040117318A1 (en) * 2002-12-16 2004-06-17 Grawrock David W. Portable token controlling trusted environment launch
US7318235B2 (en) 2002-12-16 2008-01-08 Intel Corporation Attestation using both fixed token and portable token
US7318141B2 (en) * 2002-12-17 2008-01-08 Intel Corporation Methods and systems to control virtual machines
US7900017B2 (en) * 2002-12-27 2011-03-01 Intel Corporation Mechanism for remapping post virtual machine memory pages
US20040128528A1 (en) * 2002-12-31 2004-07-01 Poisner David I. Trusted real time clock
US7076802B2 (en) * 2002-12-31 2006-07-11 Intel Corporation Trusted system clock
US8079034B2 (en) * 2003-09-15 2011-12-13 Intel Corporation Optimizing processor-managed resources based on the behavior of a virtual machine monitor
US7287197B2 (en) 2003-09-15 2007-10-23 Intel Corporation Vectoring an interrupt or exception upon resuming operation of a virtual machine
US7424709B2 (en) * 2003-09-15 2008-09-09 Intel Corporation Use of multiple virtual machine monitors to handle privileged events
US7739521B2 (en) 2003-09-18 2010-06-15 Intel Corporation Method of obscuring cryptographic computations
US7610611B2 (en) 2003-09-19 2009-10-27 Moran Douglas R Prioritized address decoder
US7177967B2 (en) 2003-09-30 2007-02-13 Intel Corporation Chipset support for managing hardware interrupts in a virtual machine system
US20050080934A1 (en) 2003-09-30 2005-04-14 Cota-Robles Erik C. Invalidating translation lookaside buffer entries in a virtual machine (VM) system
US7237051B2 (en) * 2003-09-30 2007-06-26 Intel Corporation Mechanism to control hardware interrupt acknowledgement in a virtual machine system
US7366305B2 (en) * 2003-09-30 2008-04-29 Intel Corporation Platform and method for establishing trust without revealing identity
US7636844B2 (en) 2003-11-17 2009-12-22 Intel Corporation Method and system to provide a trusted channel within a computer system for a SIM device
US8156343B2 (en) 2003-11-26 2012-04-10 Intel Corporation Accessing private data about the state of a data processing machine from storage that is publicly accessible
US8037314B2 (en) 2003-12-22 2011-10-11 Intel Corporation Replacing blinded authentication authority
US20050133582A1 (en) * 2003-12-22 2005-06-23 Bajikar Sundeep M. Method and apparatus for providing a trusted time stamp in an open platform
US7802085B2 (en) 2004-02-18 2010-09-21 Intel Corporation Apparatus and method for distributing private keys to an entity with minimal secret, unique information
US20050216920A1 (en) * 2004-03-24 2005-09-29 Vijay Tewari Use of a virtual machine to emulate a hardware device
US7356735B2 (en) 2004-03-30 2008-04-08 Intel Corporation Providing support for single stepping a virtual machine in a virtual machine environment
US7620949B2 (en) 2004-03-31 2009-11-17 Intel Corporation Method and apparatus for facilitating recognition of an open event window during operation of guest software in a virtual machine environment
US7490070B2 (en) 2004-06-10 2009-02-10 Intel Corporation Apparatus and method for proving the denial of a direct proof signature
US7305592B2 (en) 2004-06-30 2007-12-04 Intel Corporation Support for nested fault in a virtual machine environment
US7840962B2 (en) 2004-09-30 2010-11-23 Intel Corporation System and method for controlling switching between VMM and VM using enabling value of VMM timer indicator and VMM timer value having a specified time
US8146078B2 (en) 2004-10-29 2012-03-27 Intel Corporation Timer offsetting mechanism in a virtual machine environment
US8924728B2 (en) 2004-11-30 2014-12-30 Intel Corporation Apparatus and method for establishing a secure session with a device without exposing privacy-sensitive information
US8533777B2 (en) * 2004-12-29 2013-09-10 Intel Corporation Mechanism to determine trust of out-of-band management agents
US7395405B2 (en) 2005-01-28 2008-07-01 Intel Corporation Method and apparatus for supporting address translation in a virtual machine environment
US7523291B2 (en) * 2005-07-26 2009-04-21 International Business Machines Corporation System and method for testing for memory address aliasing errors
US7464249B2 (en) * 2005-07-26 2008-12-09 International Business Machines Corporation System and method for alias mapping of address space
US7809957B2 (en) 2005-09-29 2010-10-05 Intel Corporation Trusted platform module for generating sealed data
US9274974B1 (en) 2005-10-21 2016-03-01 Vmware, Inc. Isolating data within a computer system using private shadow mappings
US8014530B2 (en) 2006-03-22 2011-09-06 Intel Corporation Method and apparatus for authenticated, recoverable key distribution with no database secrets
US7434025B2 (en) * 2006-07-18 2008-10-07 Microsoft Corporation Leverage guest logical to physical translation for host-side memory access
US7490191B2 (en) * 2006-09-22 2009-02-10 Intel Corporation Sharing information between guests in a virtual machine environment
US7984483B2 (en) * 2007-04-25 2011-07-19 Acxess, Inc. System and method for working in a virtualized computing environment through secure access
US9740637B2 (en) 2007-10-30 2017-08-22 Vmware, Inc. Cryptographic multi-shadowing with integrity verification
US8555081B2 (en) 2007-10-30 2013-10-08 Vmware, Inc. Cryptographic multi-shadowing with integrity verification
US7530106B1 (en) 2008-07-02 2009-05-05 Kaspersky Lab, Zao System and method for security rating of computer processes
US8135937B2 (en) * 2008-11-17 2012-03-13 International Business Machines Corporation Logical partition memory
US8301863B2 (en) * 2008-11-17 2012-10-30 International Business Machines Corporation Recursive logical partition real memory map
US20160378812A1 (en) * 2015-06-25 2016-12-29 International Business Machines Corporation Reduction of bind breaks
US11240334B2 (en) 2015-10-01 2022-02-01 TidalScale, Inc. Network attached memory using selective resource migration
US10579421B2 (en) * 2016-08-29 2020-03-03 TidalScale, Inc. Dynamic scheduling of virtual processors in a distributed system
US10579274B2 (en) 2017-06-27 2020-03-03 TidalScale, Inc. Hierarchical stalling strategies for handling stalling events in a virtualized environment
US10817347B2 (en) 2017-08-31 2020-10-27 TidalScale, Inc. Entanglement of pages and guest threads
US10915897B2 (en) 2018-06-13 2021-02-09 Clover Network, Inc. Token management for enhanced omni-channel payments experience and analytics

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS582950A (ja) * 1981-06-27 1983-01-08 Fujitsu Ltd プリフイクス変換方式
JPS62219147A (ja) * 1986-03-20 1987-09-26 Fujitsu Ltd 仮想計算機システムにおける共通メモリ方式

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4128875A (en) * 1976-12-16 1978-12-05 Sperry Rand Corporation Optional virtual memory system
US4564903A (en) * 1983-10-05 1986-01-14 International Business Machines Corporation Partitioned multiprocessor programming system
US4792895A (en) * 1984-07-30 1988-12-20 International Business Machines Corp. Instruction processing in higher level virtual machines by a real machine
US4695950A (en) * 1984-09-17 1987-09-22 International Business Machines Corporation Fast two-level dynamic address translation method and means
US4674038A (en) * 1984-12-28 1987-06-16 International Business Machines Corporation Recovery of guest virtual machines after failure of a host real machine
US4945480A (en) * 1988-02-10 1990-07-31 International Business Machines Corporation Data domain switching on program address space switching and return

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS582950A (ja) * 1981-06-27 1983-01-08 Fujitsu Ltd プリフイクス変換方式
JPS62219147A (ja) * 1986-03-20 1987-09-26 Fujitsu Ltd 仮想計算機システムにおける共通メモリ方式

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008097173A (ja) * 2006-10-10 2008-04-24 Renesas Technology Corp データプロセッサ

Also Published As

Publication number Publication date
CA2050834A1 (en) 1992-04-03
US5230069A (en) 1993-07-20
EP0478978A2 (en) 1992-04-08
EP0478978A3 (en) 1993-03-24
CA2050834C (en) 1995-12-12
JPH0769844B2 (ja) 1995-07-31

Similar Documents

Publication Publication Date Title
CA2050834C (en) Multiple controlled data-space facility
US11474956B2 (en) Memory protection unit using memory protection table stored in memory system
US10423539B2 (en) Dynamic address translation with access control in an emulator environment
US9122634B2 (en) Use of test protection instruction in computing environments that support pageable guests
US8352694B2 (en) Method of controlling memory access
US4945480A (en) Data domain switching on program address space switching and return
EP0067344B1 (en) Data processing system with guest architectural support
US7213125B2 (en) Method for patching virtually aliased pages by a virtual-machine monitor
US7330942B2 (en) Method for efficient virtualization of physical memory in a virtual-machine monitor
US5220669A (en) Linkage mechanism for program isolation
US11907301B2 (en) Binary search procedure for control table stored in memory system
US5339417A (en) Computer system with two levels of guests
JPS6248258B2 (ja)
JP7425786B2 (ja) メモリ・アクセス制御
TW202420076A (zh) 基於指令提取位址的區域識別符
US5459872A (en) Software control of hardware interruptions
US7506096B1 (en) Memory segment emulation model for virtual machine
JPH06332803A (ja) 仮想計算機システムにおけるtlb制御方法
EP0550285A2 (en) Machine with two units of operation