JPH05265862A - アドレス指定方法及び手段 - Google Patents

アドレス指定方法及び手段

Info

Publication number
JPH05265862A
JPH05265862A JP4329167A JP32916792A JPH05265862A JP H05265862 A JPH05265862 A JP H05265862A JP 4329167 A JP4329167 A JP 4329167A JP 32916792 A JP32916792 A JP 32916792A JP H05265862 A JPH05265862 A JP H05265862A
Authority
JP
Japan
Prior art keywords
guest
host
address
ale
real
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
JP4329167A
Other languages
English (en)
Other versions
JPH0778767B2 (ja
Inventor
James G Brenza
ジェームズ・ジェラルド・ブレンザ
Joseph M Gdaniec
ジョーゼフ・マーチン・グダニェツ
Peter Hermon Gum
ピーター・ハーモン・ガム
Kathryn M Jackson
キャスリン・マリー・ジャクソン
Mark M Maccabee
マーク・モシェ・マカビー
Casper A Scalzi
キャスパー・アンソニー・スカルジ
Bhaskar Sinha
バスカール・シンハ
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 JPH05265862A publication Critical patent/JPH05265862A/ja
Publication of JPH0778767B2 publication Critical patent/JPH0778767B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/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

Landscapes

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

Abstract

(57)【要約】 【目的】 本発明の目的は、コンピュータ・システム内
のゲスト/ホスト環境において大型アドレスを使用する
アドレス指定方法を提供することである。 【構成】 各単位が2ギガバイト(GB)のサイズを有
するホストLVAS中の仮想アドレス指定単位に各ゲス
トRASを割り当てることによって、各ゲストRAS
に、ホスト大型仮想アドレス空間(LVAS)の部分が
割り当てられる。ホストLVASは、ホスト・アクセス
・リスト(AL)中のエントリ(ALE)のシーケンス
によって表され、各ALEはホストLVAS中の2GB
の仮想アドレス指定単位を表す。ALEは、ゲストRA
またはLRAを表すホストLVAの最高位部分を使っ
て、AL中で選択される。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、ハイパーバイザ・オペ
レーティング・システムの複数のゲストの実記憶域をホ
ストの大型実記憶域にマップする方法に関するものであ
る。ゲスト記憶域は、従来の通常サイズでも拡張サイズ
でもよい。ホスト記憶域は従来提供されたものより大き
くてもよく、従来のシステムからの上方互換性が必要と
される。
【0002】
【従来の技術と発明が解決しようとする課題】商用コン
ピュータには、複数のゲスト・オペレーティング・シス
テムを支援するホスト・ハイパーバイザ制御プログラム
によって動作するものがある。その例として、IBM
S/9000システム用のIBM VM/ESAプログ
ラミング・システムがある。各ゲストは他のゲストとは
独立に動作し、そのプログラムを実行するとき、それ自
体がシステム全体を有すると知覚する。実際には、メモ
リ及び入出力資源はゲスト間で分割される。資源によっ
ては共用されるものもあり、特定のゲスト専用のものも
ある。CPUを特定のゲスト専用にすることも可能では
あるが、一般に、このようなシステムにおける1つまた
は複数のCPUは、タイムスライス・タスク指名方式で
共用される。
【0003】解釈実行モードでは、複数のゲストがそれ
ぞれ、それ自体の「実メモリ」を有すると知覚し、それ
をそのプログラム実行のために使用する。各ゲストが知
覚した「実メモリ」は、システムの実際の実メモリ
(「ホスト・メモリ」とも呼ぶ)の一部分である。各ゲ
ストの実メモリは、ホストの仮想メモリにマップされ、
そこからそのアドレスをホストの実アドレスに変換する
ことができる。したがって、ゲストの実記憶域はホスト
実記憶域の一部分である。基本的に、固定マッピングと
動的マッピングの2種類のマッピングが可能である。固
定割振りでは、ホスト実記憶域のサブセットが1対1で
ゲストに割り振られる。ゲストの実記憶域は専用である
が、その実際のホスト実アドレスは、ゲストが知覚する
ものとは異なることがある。
【0004】V=RゲストまたはV=FCゲストのため
にホストLVAを使用することに代わる代替策は、ゲス
ト実記憶域を直接ホスト実記憶域にマップするものであ
る。どちらの機構も、無効なゲストのCPUアクセスに
対して必要な制約を課している。
【0005】従来の技術では、それぞれ仮想=実(V=
R)割振り及び仮想=固定(V=F)割振りと呼ばれる
2種類の固定割振りがある。V=R割振りでは、ゲスト
実記憶域のホスト実アドレスがゲストの値と同じであ
り、すなわち、ゲストをそれ自体の記憶域に制約するた
めにアドレス限界検査のみが必要である。明らかに、1
つのシステムには1つのV=Rゲストしかあり得ない。
V=F割振りでは、ゲスト実記憶域に、ゲスト・オペレ
ーティング・システムがとるのと同じサイズの連続した
1組のホスト実アドレス値が割り当てられる。ゲスト実
アドレスからホスト実アドレスに変換(V=Fゲスト)
する際に、ゲスト実アドレスにオフセットを適用しなけ
ればならない。またアドレス限界検査も必要である。1
つのシステムに多数のV=Fゲストがあり得、ホスト記
憶域の量のみによって制限される。
【0006】上記のゲスト・アドレス指定は、本出願人
に譲渡された米国特許第4843543号に開示されて
いる。
【0007】ホスト実記憶域の動的割振りによって、ホ
ストは、その実記憶域の一部分を、性能優先順位のため
に固定割振りを与える必要のない1組のゲストの間で共
用されるように割り振ることができる。例えば、このよ
うな割振りは、正常な動作シナリオに人間の思考時間が
必要な、主として対話的なゲストには十分であると判断
されている。動的割振りは、しばしば仮想=仮想(V=
V)割振りと呼ばれる。この場合、割振りは、ページと
呼ぶホストの割振り済み記憶単位のレベルで行われ、ゲ
ストのページは必要になるまでホスト実記憶域に割り当
てられない。V=V用に割り当てられたページは、ゲス
ト・オペレーティング・システムを実行するため要求に
応じてページ毎に割り当てられ、アドレスが連続する必
要はない。ゲストは、固定した連続する実記憶域(ゲス
ト仮想記憶域)がその使用のために割り当てられている
と想定するが、ゲスト実記憶域は、実際にはホスト仮想
記憶域にマップされており、ハイパーバイザ・アーキテ
クチュアがホストDATテーブルを用いてゲスト実アド
レスを変換し、ホスト実記憶域中でゲスト・ページを見
つける。V=V動作では割当てが動的なのでページ不在
が予想され(V=RまたはV=Fでは決して起らな
い)、そのため、ホストはホスト・ページを基準付けさ
れたゲスト・ページに割り当て、失敗したゲスト命令を
再実行させる。1つのシステム中同時に基本的に無限数
のV=Vゲストが存在し得る。
【0008】従来技術のIBMシステムでは、ホスト及
びゲストの仮想メモリと、ホスト及びゲストの実メモリ
は、それぞれ31ビットのアドレスを使用していた。本
発明は、これらのホスト/ゲスト・アドレスのサイズが
31ビットより大きいときに起こる問題に関するもの
で、31ビット・アドレスを使用する従来のプログラム
が31ビットより大きなアドレス指定(本明細書では、
「大型アドレス指定」と呼ぶ)を使用するシステム上で
動くことができるようにするために、上記の従来のプロ
グラムとの互換性が望まれる。
【0009】コンピュータ・システム用の大型実アドレ
ス指定は、1991年9月4日に出願され、本出願人に
譲渡された米国特許出願第07/754810号に記載
されている。上記出願は、31ビットのゲスト実アドレ
スをどのようにして31ビットより大きなホスト・アド
レスに、例えば63ビット・アドレスに変換することが
できるかを記載している。
【0010】コンピュータ・システム用の大型仮想アド
レス指定は、1991年12月6日に出願された米国特
許出願第803320号に記載されている。上記出願
は、31ビット・アドレスを使用する既存の変換テーブ
ルを用いて、大型仮想アドレスをどのように実アドレス
にアドレス変換することができるかを記載している。こ
の変換の後に、結果として得られる31ビット実アドレ
スを、米国特許出願第07/754810号の教示を用
いて、大型実アドレスに変形することができる。
【0011】以前に出願された米国特許出願第07/7
54810号及び同第803320号の主題をすべて、
参照により本明細書に合体する。
【0012】米国特許出願第07/754810号は、
(31ビット超、例えば63ビットの)大型実アドレス
指定を開示し特許請求している。米国特許出願第803
320号の発明による大型仮想アドレス(LVA)のア
ドレス変換から得られた、結果として得られる実アドレ
ス(例えば変換されたアドレス)が、米国特許出願第7
54810号の発明を使って大型実アドレス(LRA)
として提供できる。
【0013】米国特許出願第803320号を用いる
と、31ビット超、例えば63ビットの大型仮想アドレ
ス(LVA)の変換が可能になる。LVAは、大型基底
レジスタと大型サイズのアドレス算術回路を使って命令
オペランドから生成され、アドレスの、従来のサイズよ
り大きな部分を扱うための新しい方法と手段を、従来型
の変換テーブルと組み合わせて用いて、小型(すなわち
従来サイズ)実アドレス(RA)または大型実アドレス
(LRA)に変換される。
【0014】米国特許第4355355号で、オペラン
ドを含む仮想アドレス空間を識別するためのアクセス・
レジスタ(AR)が、最初に開示され特許請求された。
ARは、オペランドの生成に使用される基底レジスタに
関連づけられる。STD(セグメントテーブル指定)が
ARの内容として提供されるが、これはオペランドの仮
想アドレスの拡張と見なすことができる。
【0015】米国特許第4979098号は、ARとA
Rに関連するSTDの間に間接性を提供するためにAR
内にALET(アクセス・リスト・エントリ・トーク
ン)を設けることを開示し特許請求している。ALET
は、ALEN、ALESN、及びP制御ビットから成
る。この間接性により、ARを使用するユーザのために
ARに関連するSTDが保護される。AR変換(AR
T)は、AR中のALET内のALEN(アクセス・リ
スト・エントリ番号)を使って、関連するSTDを含む
ASTE(ASN第2テーブル・エントリ)をアドレス
するAL(アクセス・リスト)中のアクセス・リスト・
エントリ(ALE)にアクセスする。
【0016】米国特許出願第07/577395号は、
ホスト・コンピュータ・システム上でエミュレートされ
た複数の仮想計算機ゲストによるデータ空間への共通ア
クセスを可能にする、多重制御データ空間(MCDS)
機能を開示し特許請求している。この機能は、ゲストD
ATなしで動作し、ALET修飾31ビット・ゲスト実
アドレスを使って、ホストによって作成され管理される
データ空間にアクセスできる、V=Vゲストの特別の形
であるMCDSゲストを提供する。ALET修飾31ビ
ット・ゲスト実アドレスは、アクセス・レジスタと汎用
レジスタの対に含まれ、ホスト実記憶域中のデータ・ペ
ージを見つけるために、ホストART及びDATのプロ
セスとテーブルを用いて変換される。
【0017】
【課題を解決するための手段】本発明は、ホスト/ゲス
ト・モードで動いている機械において、仮想アドレス及
び実アドレスのサイズに対する限界を高めるという問題
に対処するものである。これとは対照的に、コンピュー
タ・システムにおける固有モード・アドレス指定は、各
仮想アドレスを実アドレスに動的に変換することによっ
て、単一段のアドレス変換を提供する。解釈実行モード
でのゲスト・アドレス指定は、各段にDAT可用性を含
む2段のアドレス変換を提供する。オフセット変換は通
常、DAT変換の代りに、好ましいゲスト(例えばV=
Gゲスト)用にホスト・レベルで使用される。
【0018】本発明によれば、大型仮想アドレス(LV
A)または大型実アドレス(LRA)あるいはその両
方、例えば47ビットまたは63ビット・サイズが、ホ
スト・レベルまたはゲスト・レベルで使用できる。
【0019】本発明は、現在のアクセス・レジスタ(A
R)構造を修正し、修正された構造をゲストの大型アド
レス指定に適用する。
【0020】本発明により、コンピュータ・システム
は、1つまたは複数のホスト大型仮想アドレス空間(L
VAS)のそれぞれの部分をそのゲストに、当該の大型
実アドレス空間(LRAS)を含むように割り振ること
ができ、またホストが、ゲストから提供された大型実ア
ドレスをホストの大型アドレス空間(LRAS)に変換
できるようにする。この変換処理で、ゲスト実アドレス
がホスト仮想メモリ、アドレスにマップされる。変換の
第2ステップは、ホスト仮想メモリ・アドレスからホス
ト実メモリ・アドレスへの変換である。この変換は、V
=Vゲストで典型的なものである。V=Rゲストおよび
V=Fゲストでは、ゲスト実アドレスがホスト実アドレ
スに直接マップされる。
【0021】ゲストは、小型または大型仮想アドレス、
小型または大型実アドレス、あるいはALET修飾小型
実アドレスのいずれをも使用できる。ゲストのプログラ
ムが小型仮想アドレス(VA)または小型実アドレス
(RA)を使用する場合には、ゲストは米国特許出願第
07/754810号に記載された機能を使って、結果
として得られるゲストRAをゲストLRAに変換する。
ゲストのプログラムが大型仮想アドレス(LVA)を使
用する場合には、ゲストは米国特許出願第803320
号及び第07/754810号に記載された機能を使っ
て、ゲストLVAをゲストLRAに変換する。その結果
得られるこれらのゲストLRAは、ホストLVAS中で
ホストLVAになる。
【0022】次にホストは、米国特許出願第80332
0号及び第07/754810号に記載された機能を使
って、これらのホストLVAをホストLRAに変換し、
このホストLRAは、本発明で記載する制御装置を用い
てコンピュータ・システム内の実際のメモリにアクセス
するために使用される。ゲストのプログラムがALET
修飾小型実アドレス(ALET修飾RA)を使用する場
合には、ゲストは本明細書に記載する機能を使って、こ
れらの修飾ゲスト実アドレスをホストLRAに変換す
る。
【0023】本発明は、これらのアドレス変換を当該の
ゲストに合わせた形で制御するための、各ゲストとホス
トとの間の独特なインタフェースを提供する。
【0024】本発明は、ホスト仮想アドレス指定手段を
サポートするための2つの新規な方法を提供する。1つ
の方法では、すべてのゲスト大型実アドレス空間(ゲス
トLRAS)を、1組のホスト・アクセス・リスト・エ
ントリ(ホストALE)を用いて単一のホスト大型仮想
アドレス空間(ホストLVAS)にマップする。1組の
ホストALEは、1つまたは複数のホスト・アクセス・
リスト(ホストAL)中に位置することができる。ホス
トLVASが非常に大きいときは、1組のALEの複数
のALを使用することができる。特定のゲスト用のAL
Eを含む適切なALが上記手段に提供され、上記手段に
よって見つけられる。単一ゲストは、単一ALのALE
中に含まれなければならない。
【0025】もう1つの方法では、各ゲスト大型実アド
レス空間(ゲストLRAS)ごとに別々の1組のホスト
ALEを使用する。これら別々のホストALEの組は、
単一ホストLVASを含んでもよく、複数の異なるホス
トLVASを含んでもよい。
【0026】本発明では、各ゲストごとに制御ブロック
を提供する。このゲスト制御ブロック(GCB)は、そ
の中の独自フィールドによってサポートされた本発明に
よるいくつかの特徴を提供する。例えば、本発明の1つ
の特徴は、GCBを使ってそれぞれの「ゲスト大型メモ
リ」を定義する手段を含む。このゲスト大型メモリは、
非常に広い範囲にわたる任意の量をゲスト用の量の記憶
域にセットできる。もう1つの特徴は、ゲストが、従来
の小型(仮想及び実)アドレスを用いてプログラムを実
行できるようにし、(やはりGCB内で定義されてい
る)ゲスト大型メモリ中にアクセスするための、この従
来の小型アドレスをゲスト大型実アドレス(ゲストLR
A)に拡張できるようにする。もう1つの特徴は、ゲス
ト大型実アドレス(ゲストLRA)をホスト大型仮想ア
ドレス(ホストLVA)にマップするものである。もう
1つの機能は、(ゲスト用の)ホストLVAと(システ
ムの実際のメモリである)ホスト大型メモリとの間の各
種のアドレス変換手段を提供する。
【0027】ゲストは次のオプションを有する。すなわ
ち、1.小型仮想または実アドレス(現プログラムに見
られるようなVAまたはRA)を用いてプログラムを実
行する。2.大型仮想または実アドレス(LVAまたは
LRA)を用いてプログラムを実行する。あるいは3.
MCDS ALET修飾小型実アドレス(RA)を用い
てプログラムを実行する。いすれの場合でも、ゲストV
AまたはRAは、システムの実際の大型メモリにアクセ
スするため、ホスト大型実アドレスに変換される。
【0028】本発明は、64ビットまでのアドレスを用
いたゲスト実記憶域のホスト・マッピングの仮想アドレ
ス限界を拡張できるが、47ビット論理アドレスに特に
適合する。というのは、ESA/390アクセス・レジ
スタ・アーキテクチャが、ALEN修飾31ビット仮想
アドレス限界と31ビット実アドレス限界を効果的に提
供するからである。ESA/390 31ビット仮想ア
ドレス(VA)は、B、X、Dオペランド・フィールド
から生成され、あるいはPSW命令アドレス・フィール
ドから提供される。またAR中の16ビットALENを
使って(2GBVASを表す)変換テーブルが得られ、
この変換テーブル中で31ビットVAが変換される。し
たがって、31ビットVAと16ビットALENは合計
47ビットを提供し、31ビットVAと31ビットRA
をサポートする。
【0029】本発明は、現在のESA/390アクセス
・レジスタ(AR)アーキテクチャからの上方互換性を
維持しながら、2GB限界を超えるゲスト実記憶域のホ
ストによる論理DAT−ON(仮想)アドレス指定を、
LVAS(大型仮想アドレス空間)用の263バイトの限
界まで拡張する。47ビットの制約がある場合、本発明
は、現在のART(アクセス・レジスタ変換)及び現在
のDAT(動的アドレス変換)のアーキテクチャを使用
することができる。47ビットの大型仮想アドレス(L
VA)は、現在の2GBのアドレス空間限界の6553
5倍までのサイズを持つ、247バイトまでのLVAS
(LVA空間)中のどのバイトを位置決めすることもで
きる。
【0030】CPの解釈実行モードでは、ゲスト制御ブ
ロックは、ESA/390SIESD(解釈実行開始状
態記述)ブロックでもよい。これは、ホストAL(アク
セス・リスト)が複数のLRAS表現を含むことができ
るように修正されたVM(仮想機械)を表し、したがっ
て各ゲストのSIE SD中に、ゲストのLRAS用の
最初のALEを位置決めするためのAL OFFSET
フィールドを設けることによって、複数(またはすべ
て)のゲスト実アドレスを1組のALE中にマップする
ことができる。
【0031】
【実施例】
様々なタイプのゲスト用の大型アドレス指定(図9) 1例として、4つの異なるタイプのゲストを図9に示
す。これらは、V=R(仮想=実)ゲスト、V=FC
(仮想=固定連続)ゲスト、V=FD(仮想=固定不連
続)ゲスト、V=V(仮想=仮想)ゲストである。各ゲ
スト・タイプの定義は、ゲストの実アドレス空間がホス
トの実アドレス空間のサブセットに変換される方式によ
って一義的に特徴づけられる。図9に示す各タイプごと
に1つずつのゲストは、それぞれ2GBを超えるメモリ
・サイズを有するゲスト実アドレス空間(ゲストLRA
S)を有する。各ゲストは、アドレス0から始まって2
GBより大きなアドレスで終わる、2GBの整数倍で示
される、線形実アドレス空間を有する。
【0032】V=Rゲストは8GBのゲスト実メモリを
有し、V=FCゲストは6GBのゲスト実メモリを有
し、V=FDゲストは12GBのゲスト実メモリを有
し、V=Vゲストには10GBのホスト実記憶域が割り
振られる。V=Vゲストの実アドレスはホスト・セグメ
ントとページ・テーブルを使って変換され、またページ
不在が許容されるので、V=Vゲストの実記憶域サイズ
と、このタイプのゲストが動的に使用できるように割り
振られたホスト記憶域のサイズとの間に相関がある必要
はない。その代りに、この関係は性能期待度によって決
定される。ホスト実メモリ(実際のシステム・メモリで
あるホストLRAS)は、0から始まり60GBサイズ
で終わるものとして表されている。この実施例では、ホ
ストLRASは(63ビット実アドレス用には)263
イトまでのどんな量でもよい。各ゲストLRASは、ホ
ストLRASにマップされる(すべての非V=Vゲスト
用の)全ゲスト空間が合計してホストLRASより大き
くならない限り、どんなサイズでもよい。
【0033】ホストは、大型アドレス空間(ホストLR
AS)を有し、これはこの実施例のホスト・アドレス・
サイズである263までのどんな量でもよい。図9では、
ホストは36GBを超えるLRASを有し、その中です
べてのゲストが0と36GBの間の単一ホスト仮想アド
レス空間にマップされる。すなわち、V=Rゲストの8
GBのLRASはホストLRASの0と8GBの間の部
分にマップされ、V=FCゲストの6GBのLRASは
ホストLRASの12GBと18GBの間の部分にマッ
プされ、V=FDゲストの12GBはホストLVASの
14〜26GBの部分(ホストLRASの8GBから1
2GBまで、20GBから26GBまで、及び28GB
から30GBまでの部分)にマップされ、V=Vゲスト
の10GBはホストLVASの26〜36GBの部分
(ホストLRASの18GBから20GBまで、42G
Bから46GBまで、及び34GBから38GBまでの
部分)にマップされる。
【0034】図9には、例示のために1つのV=Vゲス
トだけが示してある。前に説明したように、V=Vゲス
トの性質は、ホストが多くのV=Vゲストの間でホスト
実記憶域の一部分を時分割して、実際にいつでも一時に
実行される複数のプログラムの要求を満たすように動的
割振りを行うことである。各V=Vゲストは、ホストL
VASの1つの独自部分を占有する(または多分、それ
自体の独自のホストLVASを占有する)が、そのペー
ジは、実記憶域に割り当てられるとき、ホスト実記憶域
の他の任意のゲストと同じ範囲に割り振られる。すなわ
ち図9では、これらのページはすべて、すべてのV=V
ゲスト実ページをバックアップするためのホスト割振り
域である、18−20GB、42−46GB、または3
4−38GBの範囲のページによってバックアップされ
る。
【0035】図9には示してないが、MCDS ALE
T修飾ゲスト実アドレスは、ホストARで指定された仮
想アドレス中にマップされる。続いてこれらのアドレス
は、米国特許出願第07/754810号の教示を用い
て、ホストART及びホストDATを使ってホスト実ア
ドレスにマップされる。
【0036】複数のゲストLRAが単一のALにマップ
されると、ホストは、その特定のゲストを表す適切なア
クセス・リスト・エントリ(ALE)を使って複数のゲ
ストのそれぞれにアクセスできる。これは、ホストによ
ってロードされる制御レジスタを使って従来のARTプ
ロセスで達成される。別法として、米国特許第8033
20号に記載の方法と手段を使用して、ホストが複数の
ALを連結し、これを1つのLVAと見てもよい。この
場合、米国特許出願第803320号に記載されるよう
なアクセス・リスト原点(ALO)がアクセス登録簿エ
ントリ(ADE)に含まれる。
【0037】図9には、ホストLVASの各ゲストに割
り当てられた部分がホストLRAS上にアドレス変換さ
れる方式を表している。異なるタイプのゲストは異なる
形でホストLRAS中に変換されることに留意された
い。V=Rゲストは1対1のアドレス変換関係でホスト
・メモリの最初の8GBを占め、V=Rゲストはホスト
実アドレス0から始まらなければならない。V=FCゲ
ストの6GBのLRASも1対1のアドレス変換関係で
ホストLRASの6GBを占めるが、ホスト・メモリ中
でホスト実アドレス0から12GBオフセットした所か
ら始まらなければならず、ホストLRASの12GBと
18GBの間にマップされる。したがってV=R及びV
=FCゲストLRASはそれぞれ、ホストLRASの連
続する部分にマップされなければならない。
【0038】しかし、V=FDゲスト及びV=Vゲスト
は、それぞれホストLRAS中に不連続にマップするこ
とができる。図では、V=FDゲストの12GBのLR
ASは、ホストLRASの3つの不連続な部分、すなわ
ち8GBから12GBまで、20GBから26GBま
で、及び28GBから30GBまでのホスト大型実アド
レス(LRA)にマップされている。割振りの細分性
は、単一ALEによってカバーされる2GBのアドレス
可能度である。V=Vゲストの10GBのLRASは、
ホスト・メモリのV=Vゲスト用に割り振られた部分で
使用可能かつ割当て可能などこででも、4KBのページ
・フレームに動的にマップされる。したがって、これら
のページ・フレームは、ゲスト実アドレス可能度の損失
もアクセス時間の損失もなしに、ホスト・メモリ中のど
こにでも分散させることができる。図9では、V=Vゲ
ストの10GBのLRASが、ホストLRAの18GB
から20GBまで、42GBから46GBまで、及び3
4GBから38GBまでの間に位置する不連続なページ
群にマップされている。
【0039】次に、好ましい実施例ではゲストからホス
トへのLRAのマッピングが、様々なタイプのゲストで
どのように達成されるかを、それぞれのゲスト・タイプ
について好ましい実施例を開示する残りの図1ないし図
8を用いて説明する。
【0040】ゲスト大型アドレス指定の基礎 本発明の実施例では、各ゲストを表す当該のゲスト制御
ブロック(GCB)をシステム・メモリ中に設ける。
【0041】GCBは、IBM ESA/390アーキ
テクチャの解釈実行開始(SIE)命令を使ってアクセ
スすることができる。SIE命令は、状態記述(SD)
のアドレスをそのオペランドとする。つまりSDがGC
Bとなる。SIE命令を使って、コンピュータ・システ
ムの仮想計算機(VM)ゲストの実行を開始する。SI
E SD中のフィールドは、特定のGCBフィールドが
指定されている場合を除き、ここに記載する好ましい実
施例では各GCB中の諸フィールドであると仮定する。
【0042】GCBはゲスト・タイプ・フィールドを含
む。このフィールドはゲストをV=R、V=FC、V=
FD、またはV=Vとして識別し、各ゲストのLRAS
をホストのLRASにマップするために使用されるアド
レス変換の方式を制御する。ゲスト・タイプが異なる
と、ゲストLRAをホストのLRASのサブセットにマ
ップするために使用されるホスト・アドレス変換方式も
異なってくる。各GCBは、特定のゲスト・タイプ用の
アドレス変換をサポートする他の多くのフィールドを有
する。
【0043】ホスト大型仮想アドレス空間(LVAS)
の表現 図1と図2はそれぞれ、ゲスト小型実アドレス(ゲスト
RA)及びゲスト大型実アドレス(ゲストLRA)がマ
ップされるホスト大型仮想アドレス空間(LVAS)を
表す2つの異なる方法を示す。このゲストLRAにAL
ENオフセットに相当する量を加えたものが、ホスト大
型仮想アドレス(ホストLVA)である。次にこのホス
トLVAは、このゲスト用に指定された方法を使ってホ
スト大型実アドレス(ホストLRA)に変換され、その
後に、(ゲスト・データ・アクセス要求を示す)ゲスト
のアドレスが、コンピュータ・システム・メモリ中の要
求されたデータにアクセスすることができる。
【0044】どちらの方法も、あらゆるゲストLRAS
を単一のホスト・アクセス・リスト(AL)または複数
のホストALにマッピングするためにV=V及びV=F
Cタイプのゲストが使用する様々なタイプのアドレス変
換方法のすべてで、ホストLVASを表すことができ
る。各ゲストLRASは、ホストLVASの連続部分上
に重ね合わされる。
【0045】図1に示す方法では、各ゲストにホスト・
アクセス・リスト(ホストAL)の異なる連続部分を割
り当て、したがって単一のホストALが複数のゲスト実
記憶域にホストLVASを提供する。
【0046】図2に示す方法では、各ゲストに異なるホ
ストALを割り当て、したがって複数のホストALが単
一のホストLVASまたは複数のホストLVASを提供
する。ALは、すべてのゲストのホスト・アドレス指定
が可能なように、アクセス・ディレクトリ(AD)を介
して接続することができる。この機構は米国特許出願第
803320号に記載されている。図1と図2を組み合
わせるとそれぞれ複数のゲスト実記憶域をマップする複
数のALが提供されることは明白であるが、図示されて
いない。また、ゲスト記憶域を、それぞれ1つまたは
(多分アクセス・ディレクトリ(AD)を介して接続さ
れた)複数のALで表される複数のホストLVASにマ
ップするという別の方法も明白であるが、図示されてい
ない。
【0047】この2つの方法は、基本的に米国特許出願
第803320号に開示され特許請求されたLVAS法
を使用しており、AL中の各エントリ(ALE)が、
「同一の」ホスト大型仮想アドレス空間(LVAS)の
異なる部分を表す。図1の方法では、ホストLVASは
単一のAL中の連続するALEによって表される。各ゲ
ストには、AL中で各ゲストごとに異なるオフセットを
用いてアクセスされる、連続するALEのサブセットが
割り当てられる。
【0048】図2の方法では、ホストLVASは、複数
のゲストが使用するALシーケンス中の複数の連続する
ALEによって表される。各ゲストには異なるALが割
り当てられ、オフセットはない。
【0049】ここに挙げる好ましい各実施例では、ホス
トLVASの2GB部分を表す各ALEを選ぶことによ
って、IBM ESA/390及びIBMシステム/3
70アーキテクチャからの上方互換性が維持される。E
SA/390及びシステム/370では、あるAL中の
各ALEは「異なる」仮想アドレス空間を表す。本発明
では、ホストAL中のすべてのALEが「同じ」ホスト
仮想アドレス空間に存在することができる。好ましい実
施例、及びESA/390とシステム/370では、各
ALEは、最高2GBまでの仮想アドレス空間を表す変
換テーブル(たとえば、セグメント・テーブル)を表
す。この現在の2GB変換テーブルを使用すると、ES
A/390及びシステム/370アーキテクチャからの
上方プログラミング互換性が得られる。すなわち、古い
変換テーブルを本発明で使用することができる。
【0050】あるゲスト・タイプでは、ゲスト実記憶域
(RAまたはLRA)がホスト仮想記憶域にマップでき
るとしても、ホスト仮想記憶域へのマッピングが、ゲス
ト動作中にゲスト実記憶域のホスト実記憶域への変換に
は使用されない。これは、優先ゲストにより高い性能を
与えるために行われる。
【0051】複数のゲストが同じアクセス・リストに割
り当てられる(図1) 図1は、ホスト大型仮想アドレス空間(ホストLVA
S)を表す第1の方法を示す。この方法では、複数のゲ
スト大型実アドレス空間(ゲストLRAS)を、単一ホ
ストLVASを表す「1つの」アクセス・リスト(A
L)にマップする。
【0052】各ゲストLRASは、AL中の連続するA
LEのサブセットにマップされ、AL中の事前に指定さ
れたオフセットの所から始まる。AL中の各ALEは、
ホストLVAS内の2GB境界上の2GBのアドレス範
囲を表す。
【0053】各ゲストにはAL中で異なるオフセットが
割り当てられる。図1の第1ゲストには、ゼロのオフセ
ットが割り当てられる。
【0054】各ゲストのLRASに割り当てられたAL
Eの数は、2GB単位で表したゲストLRASサイズ
を、すぐ上の2の整数倍に丸めたものである。したがっ
て各ゲストに割り当てられたALEサブセットは、ホス
トLVAS中で2GBの整数倍のアドレス範囲を提供す
る。
【0055】図1は、それぞれ4GB、6GB、及び8
GBのゲストLRASを有する3つのゲストを示す。こ
の例では、第1ゲストは2つのALEを有し、第2ゲス
トは3つのALEを有し、第3ゲストは4つのALEを
有する。
【0056】隣接するALEサブセットを有するゲスト
の間にオーバーラップするALEは設けられない。
【0057】AL中の隣接するALEサブセットは、そ
れらの間に無効なALEを入れて分離する必要はない。
しかし、(例えば、あるゲストのためにそのアドレス範
囲の上端に将来拡張可能な空間を予約するための)1つ
または複数の無効ALEで、隣接するサブセットが分離
されることがある。これは図1には示されていない。サ
ブセットに割り当てられないALEはすべて、無効にセ
ットすることができる。図1でALの下端側の無効AL
E、及びALの上端側の有効ALEに留意されたい。
【0058】図1では、ホストLVASが、米国特許出
願第803320号の記載に従って図のAL中で表され
ている。上記出願では、大型仮想アドレス(LVA)の
ALEN部分は、アクセス・レジスタ(AR)を使用せ
ずに、アドレス算術回路によって生成し提供することが
できる。別法として、図1のLVAのALEN部分を、
アドレス算術回路を使用せずに、アドレス指定に使用さ
れるオペレーティング・システムによって生成すること
もできる。LVA中のALENフィールドは、LVAの
高位から2番目の部分からLVAの低位31ビットの左
までの、1組のビットである。米国特許出願第8033
20号では、ALENがLVA内で任意の妥当なサイズ
を有することができると記載している。
【0059】ALEN中のビットの数によって、AL中
のALEの最大数が決まる。例えば、47ビットのLV
Aでは、ALENフィールドはその高位16ビットを占
めることができ、したがって、ALは最高65536個
のALE(216)を含むことができ、最高247バイトの
容量を持つホストLVASを表すことができる。どのA
Lも、すべての未使用ALEを無効状態に設定すること
によって、(すなわち各無効ALE中の有効ビットをオ
フにセットすることによって、)その最大ALE数より
少ない数のALEを使用することができる。無効ALE
は、図では破線の枠で示してある。MSEは、ホストA
L中にインデックスする前に検査されるので、ゲストに
とって利用可能でない記憶域を表すために無効エントリ
を用いてALを拡張する必要はない。これによって記憶
域の大幅な節約が可能である。
【0060】ゲストのゲストLRA(ゲスト大型実アド
レス)を使って、そのゲストに割り当てられたALEサ
ブセット内のALE−jを選択する。これを行うには、
まずゲストLRA中のALENフィールドを選択する。
次に、そのゲストLRAのALEN部分を、(所定のA
LE数として定義された)当該ゲストのオフセットに加
える。この加算の結果、ホストALの始めからそのゲス
ト用の所要ALE−jへとインデックスするALENを
含む、ホストLVAが生成される。このホストLVA
は、図1にオフセットが3のゲストについて示してあ
る。ホストLVAの低位31ビット(DAT VA部
分)は、ゲストLRAの低位31ビットと同じである。
これは、本明細書に記載の第1の方法で使用するホスト
LVA生成の例である。
【0061】一般にアドレス指定ハードウェアは、この
インデクシング動作中にテストを行って、ALENが当
該のゲストに割り当てられたALEの最大数である「ゲ
スト・エクステント」を超えないことを確認する。この
テストでは、各ゲストLRAのサイズを、あるゲストの
LRA用に使用されているビット数中で利用可能なサイ
ズよりも小さなサイズに制限する。ホストは、AL中の
どのALEにもアクセスできなければならないので、こ
のテストを受けない。
【0062】あるゲスト用のアクセスされる所要ALE
−jを使って、変換テーブルDAT−j(従来型のアド
レス変換テーブルでよい)にアドレスする。変換される
(DAT VA)アドレスは、31ビットの従来型のホ
スト仮想アドレス(VA)である。
【0063】ホストが使用するALは、「DUCT.D
UALD」と「ASTE.PSALD」の2つのエント
リを有する、図1のテーブル21を使って選択される。
その際「ASTE.PSALD」は、現在のIBM E
SA/390アーキテクチャに見られる従来技術に存在
するような、ホストALを探し出すために使用される。
現ホストLVA中のPビットの状態によって、LVA変
換に使用されるALが選択される。別法として、米国特
許出願第803320号の方法と手段を使用して、ホス
トが、複数のALを連結し、単一ホストLVAS中です
べてのゲストを見ることもできる。この場合、米国特許
出願第803320号に記載されているように、ホスト
・アドレス指定のために、ALOがADE中に含まれ
る。
【0064】各ゲストが異なるALに割り当てられる
(図2) 図2は、複数の別々のアクセス・リスト(AL)(各ゲ
ストごとに別々のホストAL)を使用するという、ホス
トLVASを表す第2の方法を示す。それぞれのゲスト
用の別々のALは、ホスト自体がゲスト記憶域にアクセ
スできるように、下記の2つの異なる方法で指定するこ
とができる。1.別々のAL用のオペレーティング・シ
ステム・セットアップ・アドレスを有し、現在のESA
/390アクセス・レジスタ・アーキテクチャを使用し
て、現ゲスト用の当該のALにアクセスする。2.米国
特許出願第803320号に定義されたタイプのアクセ
ス・ディレクトリ(AD)を使って、ホストLVASの
すべてのALを表す。この場合、ホスト・アドレス指定
のために、ALOがADE中に含まれる。
【0065】図2では、(図1と同様に)各ゲストに、
ゲスト実アドレス0から始まり、任意の2GBアドレス
指定境界の前または境界上で終わるアドレス指定範囲を
有する、大型実アドレス空間(LRAS)を提供する。
各ゲストのLRASは、当該のALに関連づけられ、そ
の最初のN個のALEが、その各ゲストのLRAS内の
2GBのアドレス・セグメントのシーケンスにそれぞれ
割り当てられる。したがって、各ゲストのLRASに割
り当てられるALEの数は、2GB単位で表したゲスト
LRASサイズである。
【0066】図2では、AL−0ないしAL−Nが、ゲ
スト0ないしNに割り当てられる。図の3つのALはそ
れぞれ、異なるサイズのゲストLRAS、すなわち4G
B、6GB、8GBを表す。
【0067】AL−0ないしAL−Nはすべて、米国特
許出願第803320号に記載され特許請求されている
タイプのアクセス・ディレクトリ(AD)中の有効エン
トリ(ADE)によってホストLVAS中にマップされ
る。その際、ホスト大型仮想アドレスのADEN部分と
ALEN部分は、アドレス算術回路によって生成され
る。ADENは、LVAの高位部分の1組のビットであ
り、ALENは、LVAの高位から2番目の部分の1組
のビットである。LVAの低位部分はそのDATVA部
分である。上記出願は、ADENとALENがそれぞれ
LVA内で任意のサイズをとることができ、それらの連
結によって、LVASを表すことのできるALEの最大
数が決定されると記載している。この機構では、ALO
がADE中に含まれる。
【0068】例えば63ビットのLVAでは、LVAの
高位16ビット・フィールドが、最高65536個のA
L(及び65536個のゲスト)をサポートできるAD
ENフィールドとして割り当てられる。LVAの高位か
ら2番目の16ビット・フィールドは、そのALENフ
ィールドとして割り当てられ、したがって各ALは(各
ゲストごとに最高131072GBの連続したアドレス
をサポートする)最高65536個のALEという最大
サイズを持つことができる。どのALも、必ずしもどれ
かのゲストに割り当てる必要はない。また、あるゲスト
に(またはホストに)割り当てられたどのALも、現在
使用されていないALEを無効状態に設定することによ
って、例えば、各無効ALE中の有効ビットをオフにセ
ットすることによって、そのALEの最大数より少ない
ALEを活動化することができる。
【0069】例えば、AL−kは、ゲストkが使用する
ように割り当てられ、ゲストkによって提供される47
ビットLRAによってアドレスされる。ホストによって
使用されているLVAの高位16ビットによって、仮想
計算機実記憶域を定義するALのALOが決定される。
次いで、ゲスト−k(ゲストLRA)用のホストLVA
中のALENをAL−k中のインデックスとして使用す
ることによって、AL−k中でALE−jを選択する。
選択されたALE−jは、特定の変換テーブルDAT−
j(従来型の変換テーブルであると仮定)を探し出すた
めに従来のプロセスで使用されるアドレスを含む。次
に、この変換テーブルを使用して、現ゲスト−kのLR
A用に提供されている同じホストLVAの低位31ビッ
トを変換し、そのLVA用の変換済みアドレスを得る。
得られた変換すべきアドレスは、LRAでもよく、また
は米国特許出願第07/754810号に記載され特許
請求されている手段及び方法を用いてLRA中に作成さ
れる31ビットRAでもよい。
【0070】図1と同様に、ALENフィールド中のビ
ット数によって、AL中のALEの最大数が決定され
る。例えば47ビットLVAでは、ALENフィールド
はLVA中で高位16ビットを占めることができ、した
がってALは、最高247バイトの容量を有するホストL
VASを表す、最高65536個のALE(216)を含
むことができる。どのALも、すべての未使用ALEを
無効状態に設定することによって(すなわち、各無効A
LE中の有効ビットをオフにセットすることによっ
て)、その最大ALE数より少ないALEを使用するこ
とができる。無効ALEは、図1では破線の枠で示して
ある。
【0071】ゲストLRA(ゲスト大型実アドレス)
は、ホストAL中でそのゲスト用のALE−jを選択す
るために使用される。これを行うには、まずゲストのL
RAを表すホストLVA中のALENフィールドを選択
する。次いで、ホストLVAのALEN部分を、選択さ
れたホストAL−kの始めからのインデックスとして使
用して、そのゲスト用の所要ALE−jを探し出す。ホ
ストLVAの低位31ビット(DAT VA部分)は、
ゲストLRAの低位31ビットと同じであり、ALE−
jを介してアクセスされるアドレス変換テーブルにおけ
るアドレス変換の最終部分のために使用される。これ
は、本明細書に記載の第1の方法で使用するホストLV
A生成の例である。
【0072】図1に関して上述した、ALENインデク
シング動作中のアドレス指定ハードウェア・テストは、
図2の方法では図1の方法の場合のように不可欠ではな
い。これは、図2では、行き過ぎたALENは、図1の
場合のように他のゲストに割り当てられた有効なALE
Nには多分アクセスせず、無効ALEに多分アクセスす
るからである(CPUは、予想されるALENサイズを
処理するだけである)。しかし、ALENが、当該のゲ
ストに割り当てられたALの上端から連続する有効AL
Eの最大数である、「ゲスト・エクステント」を超えな
いことを確認することは、依然として好ましいと思われ
る。このテストでは、各ゲストLRAのサイズを制限す
る。
【0073】あるゲスト用のアクセスされる所要ALE
−jを使って、変換テーブルDAT−j(従来型のアド
レス変換テーブルでよい)をアドレスする。次いで、こ
の変換テーブルを使って、同じホストLVAの低位31
ビットを変換し、変換済みアドレスを得る。この変換済
みアドレスは、LRAでもよく、また米国特許出願第0
7/754810号に記載され特許請求されている方法
または手段を用いてLRA中に作成される31ビットの
従来型RA(LRAではない)でもよい。
【0074】複数のゲスト実アドレス空間がそこにマッ
プされる、ホスト作成のLVASが、単一のAL内で連
続するALEを含む場合には、ホストは、現在のESA
/390アーキテクチャを用いて単一仮想マッピングで
これら複数のゲストをアドレスしアクセスすることがで
きる。その際、Pビットを検査し、適切なALOを使っ
てALにアクセスする。別法として、複数のゲストがそ
こにマップされるホスト作成のLVASが、複数のAL
を含む場合には、米国特許出願第803320号に記載
の方法と手段を用いて単一マッピングでこれら複数のゲ
ストをアドレスしアクセスすることができる。この場
合、それぞれが1つのALを表す複数のADEが連結さ
れ、ALOがADE内に含まれる。Pビット検査を行っ
てALOを決定することはせず、その代わりに、ADE
に含まれるALOを使って適切なALにアクセスする。
【0075】ゲストLRA(例えば47ビット)が変換
されるときに、ESA/390アーキテクチャを用いて
ALを決定することに留意されたい。ホスト作成のLV
ASが1つのAL内に含み得るよりも大きな場合にの
み、かつホストが1つのLVAS内のすべてのゲストに
アクセスする必要がある場合には、ホストは、米国特許
出願第803320号に記載の様式で動作して、ホスト
のアクセスを変換することができる。
【0076】複数のAL中から選択する他の方法 別法として、AL−0ないしAL−Nは、オペレーティ
ング・システムによって提供される任意の手段によって
アドレスすることもできる。例えば、制御レジスタを使
って、ADなしでかつホストLVA中でどのADENフ
ィールドも定義されずにゲストkがタスク指名されると
きに、ゲストkが使用できるように、直接AL−kを選
択することができる。このような場合、LVAの高位ア
ドレス・フィールドを、(AL−k中の非常に多数のA
LEに潜在的にアクセスするために)ALENフィール
ドとしてそっくり使用することができる。
【0077】米国特許出願第803320号に記載され
ているように、LVAのALEN部分は、どのアクセス
・レジスタ(AR)を使わずに算術回路によって生成す
ることもでき、またALENは算術回路によって生成さ
れず、選択されたAL−k中でALE−jを位置決めす
る、AR中に含まれることもある。
【0078】ホスト・システムにおけるゲストの定義。 好ましい実施例では、各ゲストは、システム・メモリ中
に位置するゲスト制御ブロック(GCB)によって定義
される。GCBは、IBM ESA/390及びS/3
70アーキテクチャでSIE(解釈実行開始)命令を使
ってアクセスされるSD(状態記述)制御ブロックにな
らってモデリングされている。GCB中のフィールドの
大部分は、前にSIE SD中に設けられたフィールド
と同じである。1つのフィールドが、当該のSDに割り
当てられたゲストのタイプを定義する。同様に、ゲスト
・タイプ・フィールドAが各GCB中に設けられる。
【0079】一部のGCB中の他のフィールドは、ゲス
トが使用可能な最大主記憶域アドレス範囲を指定する、
「主記憶域エクステント」(MSE)フィールドBであ
る。ALENオフセット・フィールドは、V=Vゲスト
及びV=FDゲスト用に定義される。これらのフィール
ドは、ゲスト実アドレスをホスト・アドレスに変換する
ために使用される。
【0080】ここに記載の実施例では、用語「主記憶域
エクステント」(MSE)は、すべてのゲスト・タイプ
のゲスト主記憶域のサイズを示す。
【0081】メモリ・セクションとメモリ・ページ・ア
ドレス変換 ここに記載の実施例では、「小型メモリ」は、仮想メモ
リであれ実メモリであれ、2GB以下の容量のメモリで
ある。また、「大型メモリ」は、仮想メモリであれ実メ
モリであれ、2GBを超える容量のメモリである。
【0082】(本明細書に記載する実施例では)各V=
FDまたはV=Vゲストには、ホスト大型「仮想」メモ
リ中で専用の連続するアドレス範囲が割り当てられる。
割り当てられたゲスト・アドレス範囲は、2GBの整数
倍であり、2GB単位から2GB単位の何倍もの大きさ
に及ぶ可能性もある、ホスト大型仮想アドレス空間の連
続するセクションである。一般に、ゲスト動作中に、ゲ
スト実アドレスをホスト実アドレスに変換するには、独
自のホスト仮想アドレスに変換し、次いでゲスト・タイ
プに応じて4つの方法のうちの1つでホスト実アドレス
に変換する。しかし、ホスト仮想アドレスからホスト実
アドレスへの変換のあるステップは、動作中に性能改善
のために迂回される。ホスト・モードでは、それらのス
テップは、ESA/390アーキテクチャ及び米国特許
出願第803320号に記載の従来の手段により、ホス
トによってその仮想記憶域中で依然アクセスすることが
できる。
【0083】優先ゲスト(すなわち、V=R、V=FC
またはV=FDゲスト)には、ホスト大型実メモリの1
つのセクションが割り当てられる。しかし、非優先ゲス
トには、ホスト大型「実」メモリの連続するセクション
は割り当てられない。その代りに、非優先ゲストには、
実メモリ中で4KBのページ・フレームが割り当てられ
る。そのゲスト用のページ・テーブルがセットアップさ
れたとき、まだ割り当てられたことのないページ・フレ
ームが、実メモリ中に存在する。したがって、非優先ゲ
ストに割り当てられるページ・フレームは、実メモリ中
で不連続であることがある。
【0084】一部の優先ゲスト(例えばV=FDゲス
ト)は、そのゲストLRAをコンピュータの大型メモリ
の特定の2GBセクション(ホストLRAS)に変換す
るために、「メモリ・セクション・アドレス変換」のみ
を必要とする。したがって、V=FDゲストは、大型実
メモリの不連続な2GBのセクションを使用することが
できる。
【0085】しかし、任意の非優先ゲストに割り当てら
れるページ・フレームは、すべて同じ2GBメモリ・セ
クション中にあってもよく、また異なる2GBメモリ・
セクション中にあってもよい。いずれにせよ、非優先ゲ
ストは「メモリ・セクション・アドレス変換」と「メモ
リ・ページ・アドレス変換」の両方を必要とする。
【0086】V=Rゲスト用の大型アドレス変換(図
3) ホストLRAS中でのV=Rゲスト用のアドレス指定範
囲は、ゼロから始まり、ホスト「実」メモリ中でV=R
ゲスト専用(ただし、ホストからはアクセス可能)でな
ければならないので、システム中にはただ1つのV=R
優先ゲストしか許されない。各V=RゲストのLRA
は、ホストLRASに直接マップされる。
【0087】ホストLRAS中でのV=Rゲスト用の連
続するアドレス指定範囲は、アドレス・ゼロから始ま
る。この連続ホストLRAS域は、V=Rゲストに専用
に割り当てられる(ただし、ホストからはアクセス可
能)。
【0088】図3で、V=Rゲストでは、ゲストLRA
341が、ゲストの要求したデータ(または命令)を求
めてシステム・メモリにアクセスするのに直接使用され
るホストLRA344を直接提供するので、レジスタ3
41中のゲストLRAは、ホスト仮想アドレスへの変換
を必要としない。
【0089】こうして、V=Rゲスト・アドレスは極め
て僅かな処理しか必要とせず、したがってコンピュータ
・システム中で非常に早く動作できる。
【0090】V=Rゲストが、V=Rゲストに割り振ら
れていないシステム・メモリのどの部分にもアクセスで
きないことを確認するために、エクステント妥当性の比
較試験332が図3で行われる。この試験では、(MS
E限界値を含む)GCB331中の「主記憶域エクステ
ント」(MSE)フィールドBの値を、V=RゲストL
RAの高位部分と比較する。ゲストLRAがその割り当
てられたMSE値を超えた場合、例外が認識される。
【0091】比較されたゲストLRAの高位部分のサイ
ズは、MSE値定義に使用されるメモリ単位のサイズ、
例えば1メガバイト単位に依存する。
【0092】V=FCゲスト用の大型アドレス変換(図
4) ホストLRAS中でのV=FCゲスト用の連続アドレス
指定範囲は、「主記憶域オフセット」(MSO)フィー
ルドC中で定義されたどのアドレスから始まることもで
きるので、多数のV=FC優先ゲストをコンピュータ・
システム中に設けることができる。この連続したホスト
LRAS域は、V=FCゲストに専用に割り当てられ
る。
【0093】ここに記載の実施例では、用語「主記憶域
原点」は、V=FCゲストの場合はホスト実アドレス・
ゼロからのゲスト絶対アドレス・ゼロのオフセット、V
=FDゲストまたはV=Vゲストの場合はホスト仮想ア
ドレス・ゼロからのゲスト絶対アドレス・ゼロのオフセ
ットを表す。
【0094】ゲストLRAレジスタはゲストLRA44
1を含む。対応するホストLRA444を生成するに
は、GCB431のフィールドCで割り当てられた主記
憶域オフセット(MSO)値をゲストLRA441の高
位部分に加えることが必要である。V=FC変換では、
ホスト実アドレス指定の際にゲスト実アドレスが単純な
オフセットに割り当てられるので、ゲスト・アドレス指
定動作の一部としてホスト仮想アドレスに変換する必要
はない。MSOは、ホストLRAS中の割り当てられた
V=FCゲスト域の出発点を探し出す。(MSO値は、
図1のALEオフセット値と同じではない。)
【0095】MSOの加算は、加算機構433によって
行われ、GCB431のMSOフィールドCの値がゲス
トLRA443に加えられる。このMSOフィールドC
中のビットの数は、MSO値とともに使用されるように
選ばれたシステム記憶域アドレス指定境界(2の累乗)
によって決定される。一般に、そのアドレスの低位部分
は加算によって影響されず、そのMSO値のために選ば
れたメモリ境界に依存する。
【0096】(レジスタで受け取った)結果として得ら
れるホストLRA444は、ゲストLRA441より大
きなビット・サイズを有することができる。例えば、ゲ
ストLRA441は47ビット・サイズを有し、ホスト
LRA444は63ビット・サイズを有することがで
き、この場合、MSO中の32ビット値がCゲストLR
A443の高位16ビット(ゲストLRA441の高位
16ビットと同じ)に加算される。
【0097】ホスト・モードでは、ゲスト実アドレス指
定は図1の方法または図2の方法のいずれかによって行
うことができる。図1の方法を使用することができるの
は、特定のゲストRAにアクセスするために使用される
ホストLVAを形成する際に、そのゲスト用にホストが
「ALENオフセット」を使用する場合である。ALE
Nオフセットによって、ホスト・アドレス指定動作用に
ホストLVAS中のそのゲストに割り当てられた連続セ
クションの開始ホストLVAが決まる。
【0098】図4の実施例では、ホストLVAS中のそ
のゲストに割り当てられた連続セクションの出発アドレ
スは、当該のゲストに割り当てられた割当て済みAL中
の有効ALEの数によって決まる。この実施例では、シ
ステム制御プログラムが、ALの順序とそのALE内容
をセットアップする。当該のゲスト用のALの順序によ
って、ホストLVAS中のゲスト・メモリ・セクション
の順序が決まり、各ゲストのAL中の連続する有効なA
LEの数によって、ホスト仮想メモリ・セクションのサ
イズが決まる。ホスト・アドレス指定の際にアクセス・
ディレクトリ(AD)を使ってALの順序と位置を決定
する場合には、このADによって、ホストLVAS中の
ゲスト・メモリ・セクションの位置が決まる。
【0099】V=FCゲスト用のホストLRA444
は、システム・メモリにアクセスするために使用され、
図4では変換テーブルは使用しないので、V=FCゲス
トのためのメモリ・アクセスは、ゲストのためのアクセ
スをアドレスするために対応するホストLRAを生成で
きるより前に変換テーブル・アクセスを必要とするゲス
トのためのアクセスよりも、はるかに速く動作すること
ができる。
【0100】図4では、V=FCゲストが、そのV=F
Cゲストに割り当てられないシステム・メモリのどの部
分にもアクセスできないことを確認するために、比較試
験432が行われる(図3の動作試験に類似)。この試
験では、(MSE値を含む)GCB431中の「主記憶
域エクステント」(MSE)フィールドBの値を、ゲス
トLRAの高位部分と比較する。ゲストLRAがその割
り当てられたMSE値を超える場合には、例外が認識さ
れる。
【0101】アクセス・レジスタ(AR)は、変換プロ
セスでPフィールド、ALESNフィールド、及びAL
ENフィールドのどの使用が必要な場合でも、ゲスト動
作のためのゲスト実アドレスのホスト実アドレスへの変
換には使用されない。
【0102】各V=FDゲストごとに別々のAL(図
5) 多数のV=FD優先ゲストがコンピュータ・システム中
に設けられることがある。V=FDゲストは、ホストL
RAS中に不連続なアドレス指定範囲を有し、これはホ
ストLRAS中の複数の2GBの不連続なアドレス・ブ
ロックを含んでもよい。ホストLRAS中のどの単一の
2GBアドレス・ブロックも、どの2GB境界で始まっ
てもよい。V=FDゲストは、その割り当てられた不連
続ホストLRASブロックに対する専用アクセス権を有
することができる。V=FDゲスト記憶域へのホスト・
アクセスでは、V=FDゲストの記憶域が、図9に示す
ように、ホスト仮想記憶域中に連続的にマップされる。
【0103】図5の方法では、複数のALを各ゲストに
1個ずつ使用する、図2に記載の方法を使用する。
【0104】図5では、ゲストLRA541に対応する
ホストLRA544の生成は、図4で使用したV=FC
ゲスト用の方法とは異なり、より複雑である。図5で
は、ゲストLRA541の各2GBブロックがそこにマ
ップされる、ホストLRAS内の特定の2GBアドレス
範囲を選択するためにアドレス変換プロセスの使用が必
要である。
【0105】ホストLVA536は、ゲストLRA54
1を、ホストLVA536のALEN及び低位31ビッ
トに登録することによって生成される。P制御ビットと
ALE順序番号(ALESN)を含むゲスト制御ブロッ
ク(GCB)531フィールドE及びDの内容も、この
ホストLVA536の一部として登録される。
【0106】ホストLVA536の低位31ビットは、
ホストLRA544の低位31ビットとして変換され
ず、ホストLRAレジスタ中に直接ゲートされる。しか
し、ホストLVA536の高位部分(Pフィールド、A
LESNフィールド、及びALENフィールド)に対し
て、メモリ・セクション・アドレス変換を使用して、ゲ
ストLRA541を使ってアクセスされるデータを含む
ようにシステム・メモリ中で割り当てられた、ホストL
RAS中の特定の2GBアドレス範囲を選択する。
【0107】次いで、LVA536をV=FDゲスト用
のホストLRA544に変換するためにARTプロセス
が開始される。図5では、本明細書の図1および図2に
記載の発明によって、また米国特許出願第07/754
810号の発明によって修正された従来型のARTプロ
セスを使用して、結果として得られる従来の小型実アド
レスを、高位エクステンダ(EXR)を小型実アドレス
に連結するという独特の方法によって大型実アドレスに
変更する。
【0108】従来のアクセス・レジスタ変換(ART)
プロセスは、「IBMエンタープライズ・システム・ア
ーキテクチャ/390解説書(ESA/390 PO
P)(IBM Enterprise System Architecture/390 Princi
ples Operation)」の第1章ないし第5章に定義されて
おり、この解説書は、資料番号SA22−7201とし
てIBMコーポレーションから注文入手することができ
る。ARTプロセスは、現在及び従来の市販IBMメイ
ンフレームで使用可能である。
【0109】P、ALESN、及びALENの内容を用
いた、ゲスト実アドレスのホスト実アドレスへのCPU
アドレス変換動作には、アクセス・レジスタ(AR)は
必要でない。しかし、アクセス・レジスタ変換(AR
T)はこれらのフィールドとともに使用される。
【0110】この(図5の方法を使用する)V=FDゲ
スト実施例に関連する1つのALをこのゲストにとって
使用可能な複数のAL中から選択するには、GCB53
1を割り当てられたV=FDゲストに関連する2つのA
Lのうちの一方を選択する、ホストLVA536で登録
されたPビットの現状態を使用する。
【0111】従来のARTプロセスでは、CPU中の所
定の制御レジスタの内容を使って当該のゲストのAL中
の最初のALE位置をアドレスすることによって従来通
りに得られたアドレスであるアクセス・リスト原点(A
LO)にある、所要ALにアクセスする。
【0112】次に(図2に関して述べたAL方法を用い
て)、ホストLVA536中のALENを、AL中の最
初のALEからのインデックスとして使って、AL中の
所要ALE−jにアドレスする。
【0113】ホストLVA536中のALESNを、A
LE−j中のALESNと比較する。ARTプロセスを
首尾よく完了するにはこの比較の結果が等しくなければ
ならない。等しくない場合は、ゲストLRA541を使
用するプログラムは中断される。このゲストが使用する
AL中のすべてのALEに、GCB531中の当該のゲ
ストに関連する、同じALESN値が割り当てられる。
【0114】ALE−j中のASTEアドレスをART
動作で使って、ASTE(ASN第2テーブル・エント
リ)552にアクセスする。次に、(米国特許出願第0
7/754810号に記載の)ASTE中の32ビット
・エクステンダ(EXR)フィールドが、ゲスト実アド
レスの低位31ビットの左端に連結されて、この実施例
では63ビットのアドレスである、ホストLRA544
を生成する。
【0115】ASTEをシステム・メモリ中の任意の2
GBのホスト大型実アドレス指定範囲に関連づけるため
に、任意の事前割当て値を、任意のASTEのEXRフ
ィールドに記憶することができる。どのV=FDゲスト
のLRAも、ホストの大型実アドレス指定範囲のどこに
でも位置することのできる、任意の数の2GBアドレス
・ブロックにマップすることができ、したがって、単一
のV=FDゲストに割り当てられた他の2GBブロック
とは不連続になる。
【0116】こうして、(V=FDゲストのLRA54
1から誘導した)ホストLVA536中のALENは、
ゲストLRAをホストLRAS中の特定の2GBアドレ
ス・ブロックにマップするEXR値を含むASTEと関
連する、ALEに関連づけられる。
【0117】これによって、ASTEで指定される2G
Bアドレス・ブロックを、V=FDゲスト用に不連続な
形でマップすることができる。したがってV=FDゲス
トは、ホストLRAS中に複数の不連続なアドレス・ブ
ロックを有することができる。
【0118】このプロセスは、ホストLRA544が生
成された後に終了する。すなわち、図5のホストLVA
536の低位31ビット(DAT VA部分)にはアド
レス変換は必要でないので、ARTプロセスは、(通常
そうであるように)他のASTEフィールド中でSTD
の選択を続行することはない。
【0119】すべてのV=FDゲスト用に単一のAL
(図6) 図6は、図5と同じV=FDゲスト機能を実施したもの
である。ただし、図6では、図1の単一AL法を使用
し、図5では図2の複数AL法を使用している。
【0120】AL中の連続するALEの各サブセット
は、V=FDゲストを表すことができる。ゲスト制御ブ
ロック(GCB)631は、そのゲストに割り当てられ
たサブセットを定義する「ALENオフセット」フィー
ルドFを含む。ALENオフセット・フィールドの値
は、AL中の最初のALEからゲストのサブセット中の
最初のALEへのインデックスであり、ゲストのサブセ
ット中の最初のALEを位置決めする。
【0121】フィールドA、B、C、D、Eは、図5の
GCB中のものと同じである。MSEフィールドBは、
当該のゲスト用のサブセット中のALEの数を定義す
る。
【0122】図6では、ホストLRA644が、ゲスト
LRA641に対応するように生成される。図6でも、
ASTEを選択するためにARTプロセスの使用が必要
である。このASTEは、ゲストLRA641を表すた
めにホストLRA644がその中にマップされる、ホス
トLRAS中の特定の2GBアドレス範囲を選択する値
を含む、EXRフィールドを有する。
【0123】図6独特であるが、加算機構633が、A
LENオフセット・フィールドFの内容を、ALENビ
ット位置でゲート643Aによって選択されたゲストL
RA641の高位フィールドに加算する。結果として得
られた加算機構633の出力は、ホストLVA636が
その中で生成されているレジスタ中のALENフィール
ドに記憶される。ホストLVA636の低位31ビット
(DAT VA部分)は、ゲート643Bによってゲス
トLRA641からゲートされた対応する低位31ビッ
ト位置を受け取る。また、GCBフィールドE及びD
は、1つのPビットと1つのALE順序番号を提供し、
それらはホストLVA636の高位部分に転送される。
これで、ゲストLRA641用のホストLVA636の
形成が完了する。
【0124】ホストLVA636の高位部分(Pフィー
ルド、ALESNフィールド、及びALENフィール
ド)は、アドレス変換プロセスを使用して、システム・
メモリ中でゲストLRA641のホスト表現を受け取る
ために割り当てられた、ホストLRAS中の特定の2G
Bアドレス範囲を選択する。
【0125】しかし、ホストLVAの低位31ビットに
はアドレス変換を使用せず、ホストLRAの選択された
2GBセクションに直接アドレスして、ゲストによって
アドレスされたデータを得る。
【0126】特定の2GBブロック(ホストLRA中の
V=FDゲストに割り当てられた他の2GBアドレス・
ブロックとは不連続でもよい)の選択を含むASTE
は、「IBMエンタープライズ・システム・アーキテク
チャ/390解説書(ESA/390 POP)」の第
1章ないし第5章で定義されている従来のアクセス・レ
ジスタ変換(ART)プロセスで得られる。この解説書
は、資料番号SA22−7201としてIBMコーポレ
ーションから注文入手することができる。ARTプロセ
スは、現在及び従来の市販IBMメインフレームで使用
することができる。
【0127】AL中の所要ALE−jは、図1の方法に
したがって、ホストLVA636中のALENを使って
アクセスされる。ALE−jは、ホストLVA636中
のALENフィールドの内容を用いてゲストAL中にイ
ンデックスすることによって、ゲストAL中で選択され
る。
【0128】アクセス・レジスタ変換(ART)の多く
はPフィールド、ALESNフィールド、及びALEN
フィールドとともに使用されるとはいえ、これらのフィ
ールドの内容を使用するホストのアドレス変換動作に
は、アクセス・レジスタ(AR)は必要でない。
【0129】図6のARTプロセス中に、Pビットの状
態を使って2つの所定の制御レジスタのうちの1つを選
択して、ARTプロセスで使用する適切なALをアドレ
スする。ホストLVA636中のALESNを、ALE
−j中のALESNと比較する。本発明でARTプロセ
スが首尾よく完了するには、この比較の結果が等しくな
ければならない。等しくない場合には、ゲストLRA6
41を使用するプログラムは中断される。このゲストが
使用するAL中のすべてのALEに、GCB531中の
当該のゲストに関連する、同じALESN値が割り当て
られる。
【0130】こうして、(V=FDゲストのLRA64
1から誘導した)ホストLVA636中のALENは、
そのゲストのオフセットされたサブセット中のALE−
jと関連し、ALE−jは、ゲストLRAをホストLR
AS中の特定の2GBアドレス・ブロックにマップする
EXR値を含む、ASTEと関連する。
【0131】ALE−j中のASTEアドレスは、AS
TE(ASN第2テーブル・エントリ)652にアクセ
スするためにART動作で使用される。次に、(米国特
許出願第07/754810号に記載の)ASTE中の
32ビットのエクステンダ(EXR)フィールドが、ゲ
スト実アドレスの低位31ビットの左端に連結されて、
この実施例では63ビットである、ホストLRA644
を生成する。
【0132】これによって、ASTEによって制御され
る独立した2GBブロックを、ASTEを用いてEXR
フィールド中に設定することによって、V=FDゲスト
用に不連続な形でマップすることができる。したがっ
て、V=FDゲストは、単一のALがすべてのゲストに
使用されようと、異なるALが複数のゲストのそれぞれ
に使用されようと、ホストLRAS中に複数の不連続な
2GBアドレス・ブロックを有することができる。
【0133】ARTプロセス自体は、図5及び図6の実
施例では完了しない。すなわち、従来のARTプロセス
は、そのASTE中のSTDにアクセスするまで完了し
ない。しかし、図5及び図6の実施例ではSTDは必要
ではない。
【0134】各V=Vゲストごとに別々のAL(図7) 本発明に基づいて動作するコンピュータ・システムで
は、多数のV=V非優先ゲストが設けられることがあ
る。各V=Vゲストは、複数のページ・フレームにアク
セスする。これらのページ・フレームは、コンピュータ
・システムのシステム・メモリ内のどこにあってもよ
く、(コンピュータのシステム・メモリ中でのアドレス
指定である)ホストLRAS中のどこで不連続であって
もよい。各ページ・フレームは、システム・メモリ中で
4KBのブロック・サイズを有し、図5及び図6の実施
例で設けられたシステム・メモリ中での各アドレス指定
ブロックの2GBのブロック・サイズとは対照的であ
る。
【0135】図7のV=Vゲストは、図2に記載の(複
数のALをゲストごとに1個ずつ使用する)AL法を使
用する。V=Vゲストを、単一のホストLVASにマッ
プすることもでき、また複数の別々のホストLVASに
マップすることもできる。
【0136】V=Vゲストの各LRA741は、次の2
つを使用するために必要である。1.ホストLVAS内
の特定の2GBセクションを選択するためのメモリ・セ
クション・アドレス変換プロセス。2.ゲストLRA7
41によってアドレスされるデータにアクセスするため
に、ホストLVAS中の選択されたセクション内で特定
のページ・フレームを選択するための、ページ・フレー
ム・アドレス変換プロセス。
【0137】ホストLVA736は、次の動作によって
生成される。1.ゲストLRA741を、ホストLVA
736のALENと低位(DAT VA)ビット位置に
登録する。2.ゲスト制御ブロック(GCB)731か
らのフィールドE及びDの内容(すなわちPビットとA
LESN)を、そのホストLVA736の左の部分に登
録する。
【0138】MCDS V=Vゲストという特殊なケー
スを除き、P、ALESN、及びALENの内容を使用
する、これらのゲスト・アドレスからホスト・アドレス
への変換動作にはアクセス・レジスタ(AR)は必要で
ない。しかし、従来のアクセス・レジスタ変換(AR
T)プロセスは、「IBMエンタープライズ・システム
・アーキテクチャ/390動作解説書(ESA/390
POP)」の第1章ないし第5章で定義されているよ
うに使用される。この解説書は、資料番号SA22−7
201としてIBMコーポレーションから注文入手する
ことができる。ARTプロセスは、現在及び従来の市販
IBMメインフレームで使用することができる。
【0139】図7のARTプロセス中に、Pビットを使
って、ALにアクセスするために2つの所定の制御レジ
スタのうちの1つからアドレスALOを選択する。AL
E−jは、ホストLVA736中のALENフィールド
の内容を使って、そのALの上端からインデックスする
ことによって選択される。ホストLVA736中のAL
ESNを、ゲストに割り当てられたAL中のALE−j
中のALESNと比較する。ARTプロセスが首尾よく
完了するには、このALESNの比較の結果が等しくな
ければならない。等しくない場合には、ゲストLRA7
41を使用する現在実行中のプログラムは中断される。
このゲストが使用するAL中のすべてのALEに、GC
B731中のフィールドDにある、同じALESN値が
割り当てられる。
【0140】ALE−jも、各ART動作で使用される
ASTE(ASN第2テーブル・エントリ)にアクセス
するアドレスを含む。各ASTEは、米国特許出願第0
7/754810号に記載されている、エクステンダ
(EXR)フィールドを含む。このエクステンダは、小
型実アドレス(31ビットRA)を大型実アドレス(L
RA)に拡張するもので、この大型実アドレスは、31
ビット小型アドレスの高端に連結された32ビットのエ
クステンダを含む63ビット・アドレスでよい。選択さ
れたASTE752は、変換テーブル(好ましい実施例
ではセグメント・テーブル)のアドレス(すなわちST
D)を含む。
【0141】選択されたASTE中のEXRフィールド
が得られ、ホストLRA744の高位部分にゲートされ
る。STD(セグメント・テーブル指定)はASTE中
の他のフィールドから得られ、その低位31ビット(D
AT VA部分)のアドレス変換を実施する、DATプ
ロセス761を開始する。
【0142】任意の事前割当て値を任意のASTEのE
XRフィールドに記憶して、結果として得られるホスト
LRAを、コンピュータ・システムの大型実メモリ内の
任意の2GB範囲と関連づけることができる。どのV=
VゲストのLRAも、ホスト大型実アドレッシング範囲
のどこにあってもよい、任意の数の4KBアドレス・ブ
ロック(ページ・フレーム)中にマップすることがで
き、したがって、同じV=Vゲストに割り当てられた他
のページ・フレームと不連続になる。
【0143】図7に示すように、この実施例では、EX
Rの値はASTEから得られる。EXRは、特許出願第
07/754810号に記載されているように、DAT
プロセスから得ることもできる。
【0144】こうして、EXRと変換済みの低位31ビ
ットを連結すると、ホストLRAが形成される。これ
は、ゲストLRA741によってアドレスされるデータ
を得るために使用される。
【0145】V=V非優先ゲストは、MCDSゲストで
あってもよく、その場合は、図7に示す変換プロセスの
特殊なケースが使用される。MCDSモードはGCB中
で示される。MCDSゲストは、64ビット論理アドレ
スを提供することができる。これは、ゲストから見る
と、ALETで修飾されたRAである。これらのALE
T修飾RAは、ALETと32ビットの低位バイト・ア
ドレスのESAフォーマットである。ALETは、ES
Aでは普通であるが、Pビット、ALESN、及びAL
ENを含む。指定可能な各ゲストMCDS実アドレス
は、31ビットのサイズであるが、このような実アドレ
スはALETで修飾されているので、ゲストは、多数の
ゲストMCDS実アドレスにアクセスすることができ
る。
【0146】ALET修飾RAを用いて動作するMCD
Sゲストでは、ホストLVA736中のPフィールドと
ALESNフィールドは、GCBからではなく、ゲスト
が供給する64ビット・アドレスから取られる。したが
って、ゲスト「実」アドレスは、Pフィールドで指定さ
れるALを使って、ホスト仮想アドレスとして処理され
る。
【0147】MCDSゲストの場合、好ましい実施例で
は、1つまたは複数の統合AL中の特定のゲスト・アド
レス空間のすべてを定義し、複数のゲストのアドレス空
間を含むALはない。
【0148】「ホスト」モードで実行するとき、ホスト
は、特定の実行ゲスト用の適切なALにアクセスするた
めに、適切なホスト制御レジスタを初期設定することに
より、ホスト仮想記憶域を介してMCDSゲスト・アド
レス空間にアクセスする。
【0149】すべてのV=Vゲスト用に単一のAL(図
8) 図8の実施例は、図7の場合と同じくV=Vゲスト機能
を実施したものである。ただし、図8では図1のALE
オフセット法を使用し、図7では図2の複数AL法を使
用する。
【0150】図8では、単一ALが、図1の方法に従っ
て、すべてのゲスト用のALEのサブセットを含む。各
サブセットは、図1に関して以前に述べた規則に従っ
た、ALEの連続セットを含む。AL中のどのサブセッ
トも、任意のゲスト・タイプ、例えばV=FC、V=F
D、またはV=Vゲストを表すことができる。
【0151】各ALEサブセットは、ゲスト制御ブロッ
ク(GCB)831中のALENオフセット・フィール
ドFで提供される、所定のALENオフセットの所から
開始する。GCB831中のフィールドA、B、C、
D、Eは、図7のGCB731中のものと同じである。
GCB831中のALENオフセット・フィールドF
は、当該のゲストのために、AL中の最初のALEから
サブセット中の最初のALEまでのALEの数をサブセ
ットに指示することによって、AL中の当該のゲストの
サブセットの開始を定義する。MSEは、サブセット中
のALEの数を定義する。
【0152】図8では、コンピュータのシステム・メモ
リ中で、ゲストLRA841によってアドレスされてい
るデータを位置指定するため、ホストLRA844が、
ゲストLRA841から変換される。ゲストLRA84
1をホストLRA844に変更するプロセスでは、AR
Tプロセスを使用する。このARTプロセスでは、ゲス
トLRA841によってアドレスされているデータを含
むホストLRAS内の特定の2GBアドレス範囲を選択
する値を含む、EXRフィールドを有するASTEを選
択する。
【0153】図8には加算機構832があり、これはA
LENオフセット・フィールドFの内容を、ゲート84
3Aによって選択されたゲストLRA841中の高位フ
ィールドに加算する。この高位フィールドは、ホストL
VA836がその中で生成されているレジスタ中の、ホ
ストLVA836中のALENフィールドと同じビット
位置に、ゲストLRA841中のビットを含んでいる。
結果として得られる加算機構833の出力は、ホストL
VA836がその中で生成されているレジスタ中のAL
ENフィールドに記憶される。ゲストLRA841中の
低位ビット位置は、ゲート843Bによって、ホストL
VA836を保持する生成レジスタ中の、対応する低位
(DAT VA)ビット位置にゲートされる。
【0154】さらに、(P選択ビットとALE順序番
号、ALESNを含む)ゲスト制御ブロック(GCB)
831中のフィールドE及びDの内容が、ホストLVA
836用のレジスタの高位部分にゲートされる。これ
で、ゲストLRA841に対応するホストLVA836
の形成プロセスが完了する。
【0155】次いで、ホストLVA836をV=Vゲス
ト用のホストLRA844に変換するため、ART/D
ATプロセスが開始される。図8では、従来のARTプ
ロセスが、米国特許出願第07/754810号の発明
および本発明によって修正されて、高位エクステンダ
(EXR)を小型実アドレスの高端に連結することによ
って、結果として得られる変換済み小型実アドレスを変
換済み大型実アドレスに変更する。
【0156】従来のアクセス・レジスタ変換(ART)
プロセスは、「IBMエンタープライズ・システム・ア
ーキテクチャ/390解説書(ESA/390 PO
P)」の第1章ないし第5章で定義されている。この解
説書は、資料番号SA22−7201としてIBMコー
ポレーションから注文入手することができる。ARTプ
ロセスは、現在及び従来の市販IBMメインフレームで
使用することができる。
【0157】ここで使用するARTプロセスでは、アク
セス・リスト原点(ALO)にある所要ALにアクセス
する。このアクセス・リスト原点(ALO)は、CPU
中の所定の制御レジスタの内容を使って、AL中の最初
のALE位置をアドレスすることによって得られるアド
レスである。LVA836中のPビットの状態が、AR
Tプロセスで使用する正しいALを示す。
【0158】次に、(GCB831中のALENオフセ
ットを含む)ホストLVA836のALENが、(図1
に関して述べた単一AL法を使用して)AL中の最初の
ALEから所要ALE−jへのインデックスとして使用
される。
【0159】MCDS V=Vゲストという特殊なケー
スを除き、図8では、アクセス・レジスタ変換(AR
T)方法を使用するとはいえ、ホストLVA836中の
Pフィールド、ALESNフィールド、及びALENフ
ィールドを含むゲストからホストへのアドレス変換動作
にはアクセス・レジスタ(AR)を使用しない。
【0160】ホストLVA836中のALESNを、ア
クセスされたALE−j中のALESNと比較する。こ
のARTプロセスが首尾よく完了するには、この比較の
結果が等しくなければならない。等しくない場合には、
ゲストLRA841を指定するゲスト・プログラムは中
断される。このゲストに割り当てられたサブセット中の
すべてのALEは、GCB831のフィールドD中にあ
るALESN値を含まなければならない。
【0161】ALE−jは、コンピュータ・メモリ中で
アクセスされるASTEのアドレスを含む。ASTE
は、ゲストLRAを(コンピュータの主メモリに対応す
る)ホストLRAS中の特定の2GBアドレス・ブロッ
クにマップするEXR値を有する、EXRフィールドを
含む。このASTEはまた、従来型のSTD(セグメン
ト・テーブル指定)をも含む。このSTDは、ホストL
VA836の低位31ビット(DAT VA部分)を同
じASTEから得られるEXRによって拡張された小型
アドレスに変換するために使用される、必要な変換テー
ブルのアドレスである。
【0162】選択されたASTE中のEXRフィールド
が得られ、ホストLRA744の高位部分中にゲートさ
れる。STD(セグメント・テーブル指定)はASTE
中の別のフィールドから得られ、その低位31ビット
(DAT VA部分)のアドレス変換を実行する、DA
Tプロセス761を開始する。
【0163】任意の事前割当て値を任意のASTEのE
XRフィールドに記憶して、結果として得られるホスト
LRAを、コンピュータ・システムの大型実メモリ中の
任意の2GB範囲に関連づけることができる。どのV=
VゲストのLRAも、ホスト大型実アドレッシング範囲
のどこにあってもよい、任意の数の4KBアドレス・ブ
ロック(ページ・フレーム)にマップすることができ、
したがって、同じV=Vゲストに割り当てられた他のペ
ージ・フレームとは不連続になる。
【0164】図8に示すように、EXRの値はこの実施
例ではASTEから得られる。EXRは、米国特許出願
第07/754810号に記載されているように、DA
Tプロセスから得ることもできる。
【0165】こうして、EXRと変換済み低位31ビッ
ト(DAT VA)を連結すると、ホストLRAが形成
される。これは、ゲストLRA741によってアドレス
されているデータを得るために使用される。
【図面の簡単な説明】
【図1】(ホスト仮想アドレス空間にマップされた)様
々なゲストの大型実アドレス空間が、複数のゲスト用に
使用される単一のアクセス・リスト(AL)によって扱
われる、1つの方法を示す図である。
【図2】(ホスト仮想アドレス空間にマップされた)様
々なゲストの大型実アドレス空間が、複数の異なるアク
セス・リスト(AL)によって、つまり各ゲストごとに
1つのALによって扱われる、他の方法を示す図であ
る。
【図3】大型実アドレス指定(ゲストLRA)を使用す
るV=Rゲストがホスト大型実アドレス(ホストLR
A)にどうマップされるかを示す図である。
【図4】大型実アドレス指定(ゲストLRA)を使用す
るV=FC(仮想=固定連続)ゲストがホスト大型実ア
ドレス(ホストLRA)にどうマップされるかを示す図
である。
【図5】大型実アドレス指定(ゲストLRA)を使用す
るV=FD(仮想=固定不連続)ゲストが、各ゲストご
とに別々のアクセス・リスト(AL)を使用し、ゲスト
実アドレスをホスト実アドレスにマップする際にアクセ
ス・レジスタ変換(ART)を使用して、ホスト大型実
アドレス(ホストLRA)にどうマップされるかを示す
図である。
【図6】大型実アドレス指定(ゲストLRA)を使用す
るV=FD(仮想=固定不連続)ゲストが、複数のゲス
ト用に1つのアクセス・リスト(AL)を使用し、アク
セス・レジスタ変換(ART)を使用して、ホスト大型
実アドレス(ホストLRA)にどうマップされるかを示
す図である。
【図7】大型実アドレス指定(ゲストRA)を使用する
V=V(仮想=仮想)ゲストが、各ゲストごとに別々の
アクセス・リスト(AL)を使用し、アクセス・レジス
タ変換(ART)とDATを使用して、ホスト大型実ア
ドレス(ホストLRA)にどうマップされるかを示す図
である。
【図8】大型実アドレス指定(ゲストLRA)を使用す
るV=V(仮想=仮想)ゲストが、複数のゲスト用に1
つのアクセス・リスト(AL)を使用し、アクセス・レ
ジスタ変換(ART)とDATを使用して、ホスト大型
実アドレス(ホストLRA)にどうマップされるかを示
す図である。
【図9】ゲスト大型実アドレス空間(ゲストLRAS)
中の大型実アドレス(ゲストLRA)を使用する各種の
ゲスト(V=R、V=FC、V=FD、及びV=Vゲス
ト)が、ホスト大型実アドレス空間(ホストLRAS)
にどうマップされるかを示す図である。
フロントページの続き (72)発明者 ジョーゼフ・マーチン・グダニェツ アメリカ合衆国13850、ニューヨーク州ヴ ェスタル、オーバーブルック・ドライブ 816 (72)発明者 ピーター・ハーモン・ガム アメリカ合衆国12603、ニューヨーク州ポ ーキープシー、マイロン・ドライブ 22 (72)発明者 キャスリン・マリー・ジャクソン アメリカ合衆国12601、ニューヨーク州ポ ーキープシー、グリーンブッシュ・ドライ ブ 21 (72)発明者 マーク・モシェ・マカビー アメリカ合衆国12401、ニューヨーク州キ ングストン、ヴァージニア・ドライブ 33 (72)発明者 キャスパー・アンソニー・スカルジ アメリカ合衆国12601、ニューヨーク州ポ ーキープシー、アカデミー・ストリート16 7イー号 (72)発明者 バスカール・シンハ アメリカ合衆国12590、ニューヨーク州ワ ッピンガーズ・フォールズ、ケンダール・ ドライブ 19

Claims (12)

    【特許請求の範囲】
  1. 【請求項1】複数のゲスト・オペレーティング・システ
    ム(ゲスト)がホスト・ハイパーバイザ・プログラム
    (ホスト)によって監視され、かつ各ゲストがゲスト実
    アドレス空間(ゲストRAS)を有するとともにゲスト
    RAS内のゲスト実アドレス(ゲストRAS)を使用す
    るコンピュータ・システムの大型メモリ中でゲスト・デ
    ータを位置指定し、かつコンピュータ・システムの大型
    実メモリをアドレスするホスト大型実アドレス空間(ホ
    ストLRAS)内で各ゲストRAを位置指定するための
    アドレス指定方法であって、 各ゲストRASをホストLVASの仮想アドレス指定の
    1単位または複数の連続する単位に割り当てることによ
    って、各ゲストRASをホストLVASの一部分に割り
    当てるステップと、 各エントリ(ALE)がそれぞれホスト大型仮想アドレ
    ス空間(ホストLVAS)中の2GBの仮想アドレス指
    定単位を表す、1つまたは複数のホスト・アクセス・リ
    スト(AL)中のエントリ(ALE)のシーケンスでホ
    ストLVASを表すステップと、 コンピュータ・メモリ中のデータをアドレスするため
    に、各ゲストRAに対応するホスト大型仮想アドレス
    (ホストLVA)を生成するステップと、 対応するホストLVAの高位部分を使って、選択された
    AL中で必要とされるALEを選択するステップと、 ホストに対する動的アドレス変換(DAT)状態が存在
    するとき、ゲスト実アドレスに対応するコンピュータ・
    メモリ中のアドレスを提供するために、対応するホスト
    LVAの低位部分をアドレス変換してホスト大型実アド
    レス(ホストLRA)を得るために必要とされるALE
    に関連する、動的アドレス変換(DAT)テーブルにア
    クセスするステップと、 高性能ゲスト動作を提供するためにホスト仮想アドレス
    からホスト実アドレスへのアドレス変換動作の全部また
    は一部を実施することなく、ゲスト実アドレスをホスト
    実記憶域にマップするための、優先ゲスト用の特別マッ
    ピング手段を提供するステップとを含む、アドレス指定
    方法。
  2. 【請求項2】前記割当てステップが、さらに小型実アド
    レス(SRA)を使用する各ゲストを、ゲストSRAが
    31ビットを超えないサイズを有する、ホストLVAS
    の独自の単一ALEに割り当てるステップを含む、請求
    項1に記載のアドレス指定方法。
  3. 【請求項3】前記割当てステップが、さらに大型実アド
    レス(LRA)を使用する各ゲストを、ゲストLRAが
    31ビットを超えるサイズを有する、ホストLVASの
    独自の複数の連続するALEに割り当てるステップを含
    む、請求項1に記載のアドレス指定方法。
  4. 【請求項4】前記割当てステップが、さらに大型実アド
    レス(LRA)を使用する各ゲストを、ゲストLRAが
    31ビットを超えるサイズを有する、ホストLVASの
    独立の複数の連続するALEに割り当てるステップと、 小型実アドレス(SRA)を使用する各ゲストを、ゲス
    トSRAが31ビットを超えないサイズを有する、ホス
    トLVASの独自の単一ALEに割り当てるステップ
    と、 SRAとLRAを使用するゲストを、ホストLVASの
    アドレス指定シーケンス中で混合できるようにして、任
    意の順序でホストLVAS内でゲストへの割当てを行う
    ステップとを含む、請求項1に記載のアドレス指定方
    法。
  5. 【請求項5】さらに、ホストに各ゲスト用のALへのア
    ドレスを提供するステップと、 各ゲスト用のAL中にホストLVASを含むALEのサ
    ブセットを含めるステップとを含む、請求項1に記載の
    アドレス指定方法。
  6. 【請求項6】さらに、ホストがCPUに、各サブセット
    がそれぞれ当該のゲストが使用するように割り当てられ
    た1つまたは複数の連続するALEを有する、複数のA
    LEサブセットを含むALのアドレスを提供するステッ
    プを含む、請求項1に記載のアドレス指定方法。
  7. 【請求項7】さらに、仮想同等固定連続(V=FC)タ
    イプのゲストを、AL中の任意の連続するALEサブセ
    ットに割り当てるステップと、 主記憶域原点(MSO)フィールドをそれぞれのゲスト
    のGCB中に割り当てて、主記憶域における出発位置を
    指定するステップと、 DATオン・モードでホストによってホストLVASの
    一部としてこのV=FCゲストの実記憶域にアクセス
    し、CPUは、ゲスト動作中に性能改善のためにホスト
    ・アドレス変換を迂回して、ゲスト実アドレスをオフセ
    ットするステップとを含む、請求項1に記載のアドレス
    指定方法。
  8. 【請求項8】さらに、仮想同等固定不連続(V=FD)
    タイプのゲストを、AL中の任意の連続するALEサブ
    セットに割り当て、ゲスト実アドレスを対応するホスト
    LVAとして使用するステップと、 オフセット・フィールドをそれぞれのゲストのGCB中
    に割り当てて、当該のゲストの実記憶域を定義するAL
    中の最初のALE、または複数のゲスト・サブセットを
    有するAL中のゲストに割り当てられたALEサブセッ
    ト中の最初のALEを指定するステップと、 対応するホストLVAの高位部分(ALEN)を用い
    て、ホストLVASのゲスト割当て部分を示す、AL中
    の、またはゲストのALEサブセット中の必要とされる
    ALEを探し出すステップと、 それぞれ当該のエクステンダ(EXR)を各有効ALE
    と関連づける、アクセス・レジスタ変換(ART)を実
    行するステップと、 エクステンダをゲストLVAの低位部分に連結し、性能
    改善のために低位部分に対するDAT動作を迂回し、コ
    ンピュータ・メモリ中のゲスト実アドレスの位置を表す
    ホストLRAを生成するステップと、 DATオン・モードでホストによってホストLVASの
    一部としてこのV=FDゲストの実記憶域にアクセス
    し、CPUは、V=FDゲスト・アドレスの各2GBを
    探し出すためにARTを行うが、ゲスト動作中の性能改
    善のために低位31ビットに対するDAT動作を回避す
    るステップとを含む、請求項1に記載のアドレス指定方
    法。
  9. 【請求項9】さらに、仮想同等仮想(V=V)タイプの
    ゲストを、AL中の任意の連続するALEサブセットに
    割り当て、ゲスト実アドレスを対応するホストLVAと
    して使用するステップと、 それぞれのゲストのGCB中の主記憶域原点(MSO)
    フィールドまたはオフセット・フィールドあるいはその
    両方にアクセスして、当該のゲストの実記憶域を定義す
    るAL中の最初のALE、または複数のゲスト・サブセ
    ットを有するAL中のゲストに割り当てられたALEサ
    ブセット中の最初のALEを指定するステップと、 対応するホストLVAの高位部分(ALEN)を用い
    て、ホストLVASのゲスト割当て部分を示す、AL中
    の、またはゲストのALEサブセット中の必要とされる
    ALEを探し出すステップと、 それぞれの動的アドレス変換(DAT)テーブルを必要
    とされるALEと関連づけるアクセス・レジスタ変換
    (ART)を実行し、ARTプロセスまたはDATプロ
    セスから当該のエクステンダ(EXR)を得るステップ
    と、 対応するホストLVAの低位部分をアドレス変換して、
    小型の変換済みアドレスを得るステップと、 エクステンダと小型の変換済みアドレスを連結して、コ
    ンピュータ・メモリ中ゲスト実アドレスの位置を表すホ
    ストLRAを生成するステップとを含む、請求項1に記
    載のアドレス指定方法。
  10. 【請求項10】さらに、ゲストによって選択可能な複数
    のホストLVASセグメントを含む、ゲスト用の選択可
    能な複数のALを設けるステップと、 ゲスト実アドレスからホスト実アドレスへのCPU変換
    で使用するために選択すべき特定のALを示す、ゲスト
    制御ブロック内のフィールド(P)にCPUによってア
    クセスするステップとを含む、請求項1に記載のアドレ
    ス指定方法。
  11. 【請求項11】ホスト・ハイパーバイザ・プログラム
    (ホスト)によって監視される複数のゲスト・オペレー
    ティング・システム(ゲスト)を有し、かつ各ゲストが
    ゲスト実アドレス空間を有するとともにゲストRAS中
    のゲスト実アドレスを使用する、コンピュータ・システ
    ムの大型メモリ中でゲストのデータをアドレスし、かつ
    コンピュータ・システムの大型実メモリをアドレスする
    ホスト大型実アドレス空間(ホストLRAS)内で各ゲ
    ストRAを位置指定するための手段であって、 各エントリ(ALE)がホストLVAS中の2GBの仮
    想アドレス指定単位を表す、1つまたは複数のホスト・
    アクセス・リスト(AL)中のエントリ(ALE)のシ
    ーケンスでコンピュータ・メモリ中で表されるホストL
    VASと、 各ゲストRAS用に割り振られるホストLVAS中の、
    1つまたは複数の連続するALEのサブセットと、 コンピュータ・メモリ中のゲスト・データにアクセスす
    るためにゲストが供給する各ゲスト実アドレス(RA)
    を登録する手段と、 優先ゲストに割り振られたサブセット中のALEに対応
    するコンピュータ・メモリのセクションを表す高位部分
    (ALENビット)を生成することによって、ホスト大
    型実アドレス(ホストLRA)を生成する手段、及び生
    成された高位部分より低位のゲストRAからのビットか
    ら成る低位部分を高位部分に連結することによって、ホ
    ストLVAの低位部分を生成する手段とを含む、アドレ
    ス指定手段。
  12. 【請求項12】ホスト・ハイパーバイザ・プログラム
    (ホスト)によって監視される複数のゲスト・オペレー
    ティング・システム(ゲスト)を有し、かつ各ゲストが
    ゲスト実アドレス空間を有するとともにゲストRAS中
    のゲスト実アドレス(ゲストRA)を使用する、コンピ
    ュータ・システムの大型メモリ中でゲストのデータをア
    ドレスし、かつコンピュータ・システムの大型実メモリ
    をアドレスするホスト大型実アドレス空間(ホストLR
    AS)内で各ゲストRAを位置指定するための手段であ
    って、 各エントリ(ALE)がホストLVAS中の1仮想アド
    レス指定単位を表す、1つまたは複数のホスト・アクセ
    ス・リスト(AL)中のエントリ(ALE)のシーケン
    スでコンピュータ・メモリ中で表されるホストLVAS
    と、 各ゲストRAS用に割り振られるホストLVAS中の、
    1つまたは複数の連続するALEサブセットと、 コンピュータ・メモリ中のゲスト・データにアクセスす
    るためにゲストが供給する各ゲスト実アドレス(RA)
    を登録する手段と、 V=Vゲストに割り振られたサブセット中の対応するA
    LE用のコンピュータ・メモリ中のメモリ・セクション
    を表す高位部分(ALENビット)を生成することによ
    って、ホスト大型実アドレス(ホストLRA)を生成す
    る手段と、 対応するゲストRAの小型アドレス部分(または、対応
    するゲストRAが小型アドレスである場合には、そのす
    べて)をアドレス変換するために、対応するALEに関
    連する動的アドレス変換(DAT)テーブルにアクセス
    して、ゲスト実アドレスに対応するコンピュータ・メモ
    リ中のホストLRAの生成を完成するために、高位部分
    で表されるメモリ・セクション中のホスト大型実アドレ
    ス(ホストLRA)を得ることによって、ホストLRA
    の低位部分を生成する手段とを含む、アドレス指定手
    段。
JP4329167A 1992-01-03 1992-12-09 アドレス指定方法及び手段 Expired - Lifetime JPH0778767B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US816911 1986-01-08
US07/816,911 US5426748A (en) 1992-01-03 1992-01-03 Guest/host extended addressing method and means with contiguous access list entries

Publications (2)

Publication Number Publication Date
JPH05265862A true JPH05265862A (ja) 1993-10-15
JPH0778767B2 JPH0778767B2 (ja) 1995-08-23

Family

ID=25221925

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4329167A Expired - Lifetime JPH0778767B2 (ja) 1992-01-03 1992-12-09 アドレス指定方法及び手段

Country Status (3)

Country Link
US (1) US5426748A (ja)
EP (1) EP0549931A1 (ja)
JP (1) JPH0778767B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100914081B1 (ko) * 2006-12-27 2009-08-27 인텔 코오퍼레이션 분할 시스템에서 메모리를 액세스하는 디바이스들에 대한게스트 대 호스트 어드레스 변환

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
US5732404A (en) * 1996-03-29 1998-03-24 Unisys Corporation Flexible expansion of virtual memory addressing
US5787492A (en) * 1996-04-09 1998-07-28 International Business Machines Corporation Address limit check apparatus with conditional carry logic
US5930830A (en) * 1997-01-13 1999-07-27 International Business Machines Corporation System and method for concatenating discontiguous memory pages
US6438675B1 (en) * 1998-03-23 2002-08-20 Ati Technologies, Inc. Variable format memory access device
US6530078B1 (en) * 1998-03-26 2003-03-04 Alexander V. Shmid Virtual machines in OS/390 for execution of any guest system
US6314501B1 (en) 1998-07-23 2001-11-06 Unisys Corporation Computer system and method for operating multiple operating systems in different partitions of the computer system and for allowing the different partitions to communicate with one another through shared memory
US6453392B1 (en) * 1998-11-10 2002-09-17 International Business Machines Corporation Method of and apparatus for sharing dedicated devices between virtual machine guests
US7124273B2 (en) 2002-02-25 2006-10-17 Intel Corporation Method and apparatus for translating guest physical addresses in a virtual machine environment
US6981125B2 (en) * 2003-04-22 2005-12-27 International Business Machines Corporation Method and apparatus for managing shared virtual storage in an information handling system
US7130949B2 (en) 2003-05-12 2006-10-31 International Business Machines Corporation Managing input/output interruptions in non-dedicated interruption hardware environments
US8214622B2 (en) 2004-05-27 2012-07-03 International Business Machines Corporation Facilitating management of storage of a pageable mode virtual environment absent intervention of a host of the environment
US7941799B2 (en) 2004-05-27 2011-05-10 International Business Machines Corporation Interpreting I/O operation requests from pageable guests without host intervention
US20070240153A1 (en) * 2006-03-29 2007-10-11 Lenovo (Singapore) Pte. Ltd. System and method for installing hypervisor after user operating system has been installed and loaded
WO2007115425A1 (en) * 2006-03-30 2007-10-18 Intel Corporation Method and apparatus for supporting heterogeneous virtualization
US7868897B2 (en) 2006-06-30 2011-01-11 Intel Corporation Apparatus and method for memory address re-mapping of graphics data
US7434025B2 (en) * 2006-07-18 2008-10-07 Microsoft Corporation Leverage guest logical to physical translation for host-side memory access
US9413665B2 (en) * 2014-08-20 2016-08-09 Netronome Systems, Inc. CPP bus transaction value having a PAM/LAM selection code field
US10241817B2 (en) * 2014-11-25 2019-03-26 Red Hat Israel, Ltd. Paravirtualized access for device assignment by bar extension
US20170123996A1 (en) * 2015-11-02 2017-05-04 Microsoft Technology Licensing, Llc Direct Mapped Files in Virtual Address-Backed Virtual Machines
US11150928B2 (en) * 2016-06-08 2021-10-19 Red Hat Israel, Ltd. Hypervisor translation bypass

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6013501B2 (ja) * 1978-09-18 1985-04-08 富士通株式会社 仮想計算機システムにおけるチヤネルアドレス制御方式
US4792895A (en) * 1984-07-30 1988-12-20 International Business Machines Corp. Instruction processing in higher level virtual machines by a real machine
JP2507756B2 (ja) * 1987-10-05 1996-06-19 株式会社日立製作所 情報処理装置
JP2615103B2 (ja) * 1987-12-11 1997-05-28 株式会社日立製作所 仮想計算機システム
US5008811A (en) * 1988-02-10 1991-04-16 International Business Machines Corp. Control mechanism for zero-origin data spaces
CA1308202C (en) * 1988-02-10 1992-09-29 Richard I. Baum Access register translation means for address generating mechanism for multiple virtual spaces
US4979098A (en) * 1988-02-10 1990-12-18 International Business Machines Corporation Multiple address space token designation, protection controls, designation translation and lookaside
US5023773A (en) * 1988-02-10 1991-06-11 International Business Machines Corporation Authorization for selective program access to data in multiple address spaces
US5230069A (en) * 1990-10-02 1993-07-20 International Business Machines Corporation Apparatus and method for providing private and shared access to host address and data spaces by guest programs in a virtual machine computer system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100914081B1 (ko) * 2006-12-27 2009-08-27 인텔 코오퍼레이션 분할 시스템에서 메모리를 액세스하는 디바이스들에 대한게스트 대 호스트 어드레스 변환

Also Published As

Publication number Publication date
EP0549931A1 (en) 1993-07-07
US5426748A (en) 1995-06-20
JPH0778767B2 (ja) 1995-08-23

Similar Documents

Publication Publication Date Title
JPH05265862A (ja) アドレス指定方法及び手段
US10241910B2 (en) Creating a dynamic address translation with translation exception qualifiers
US5652853A (en) Multi-zone relocation facility computer memory system
US9251089B2 (en) System supporting multiple partitions with differing translation formats
JP5654056B2 (ja) 階層的な変換テーブル制御
JPH0552540B2 (ja)
JPH0816479A (ja) メモリ・アドレス空間管理
JPS63244147A (ja) コンピュータ・システム
JPH07104818B2 (ja) 大規模仮想アドレス空間の提供装置及びアドレス変換方法
JPS61141055A (ja) 情報処理装置のアドレス変換方式
JPH0831060B2 (ja) コンピュータ・システム
JP2933628B2 (ja) 主記憶装置管理方法および計算機システム
JPS6217261B2 (ja)
JP2000200220A (ja) アドレス変換装置
JPS61204752A (ja) アドレス変換方式
JPS61221950A (ja) アドレス変換方法
JPS6156817B2 (ja)