JPS62222342A - 仮想計算機システム - Google Patents

仮想計算機システム

Info

Publication number
JPS62222342A
JPS62222342A JP61066893A JP6689386A JPS62222342A JP S62222342 A JPS62222342 A JP S62222342A JP 61066893 A JP61066893 A JP 61066893A JP 6689386 A JP6689386 A JP 6689386A JP S62222342 A JPS62222342 A JP S62222342A
Authority
JP
Japan
Prior art keywords
guest
tlb
register
field
virtual machine
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP61066893A
Other languages
English (en)
Inventor
Shinya Watanabe
真也 渡辺
Shuichi Abe
秀一 安部
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP61066893A priority Critical patent/JPS62222342A/ja
Publication of JPS62222342A publication Critical patent/JPS62222342A/ja
Pending legal-status Critical Current

Links

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は仮想計算機システムに係り、特にそのアドレス
変換バッファの構成に関する。
〔従来の技術〕
仮想計算機システムでは、通常、ホスト制御プログラム
で仮想計算機実行開始命令(以下、SIE命令と呼ぶ)
が実行された後、仮想計算機(以下、VMと呼ぶ)の動
作が開始される。かへる仮想計算機のアーキテクチャと
しては、例えばIBM社の370/XAアーキテクチヤ
が知られている。なお、これについては特開昭57−2
12680号公報に詳しい。
第3図に従来のSIE命令の命令形式を示す。
SIE命令51は、その82およびD2フィールドによ
って位置付けられる状態記述子(以下SDと呼ぶ)53
をオペランドとして指定する。中央処理装置(以下、C
PUと呼ぶ)の命令実行部は。
SIE命令51を実行する為に主記憶袋W(以下、MS
と呼ぶ)52から5D53の各フィールドで指定される
情報をCPUのハードウェア資源に設定し、CPUをゲ
ストVMとして動作させる。この時、設定されるハード
ウェア資源にはゲストモード・レジスタやPSW、制御
レジスタ(CR)、汎用レジスタ(OR)、プレフィッ
クスおよびMSエクステントレジスタなどがある。一方
、ホストの状態はCPU内に保存される。すなわち、S
Dはゲスト命令から見たゲストVMのアーキテクチャを
記述する。
SIE命令によって開始されたゲストVMは。
割込み事象またはインターセブションが発生するまでの
間、ゲストプログラムをエミュレートする。
割込み事象とは、例えば入出力割込みや外部割込みなど
のホストの処理を必要とする場合である。
インターセプションとは、例えばホスト処理の必要な命
令の実行時に発生する。一部の特権命令ではインターセ
プションを発生させるか否かSD内のインターセプショ
ン°マスクフィールドで指定できる1割込み事象または
インターセプションが発生した時、ゲストVMは終了し
、CPUはホスト・モードとなり、SIE命令実行時開
始時の状態に復元され、psw内の命令カウンタはSI
E命令の次命令をさす。
仮想計算機システムにおける重要な技術課題の1つは、
ゲストの「主記憶」を表現する方法である。SIE命令
で開始されたゲストVMでは、ページ記憶モードと優先
記憶モードの2つが用いられる。
第4図はページ記憶モードにおけるアドレス空間のマツ
ピングを示している。ゲストの仮想アドレス(GV)5
5は、ゲスト・アドレス変換によりゲストの絶対アドレ
ス(GA)56に変換される。このGA56がSDで指
定されたMSエクステント内にあることをチェックする
。GA56にMSオリジンが加算され、ホスト仮想アド
レス(HV)57が求められる。HV57はホスト・ア
ドレス変換によりホスト絶対アドレス(HA)58に変
換される。
優先記憶モードでは、ゲストの絶対アドレスがそのまヘ
ホストの絶対アドレスとみなされる。
CPUはアドレス変換を高速に行うためアドレス変換バ
ッファを持っている。上記いずれのモードにおいても、
アドレス変換バッファ(TLB)のエントリには、Gv
とHAの対が登録される。
したがって、GVでTLBを参照することにより、HA
が直ちに求まる。
上記アーキテクチャの仮想計算機システムにおけるTL
B構成に関して、特開昭57−212680号公報に詳
しく述べられている。そこでは。
TLBの各エントリにゲスト・フィールドを1ビット分
設け、ホストのアドレス変換情報を登録した時11 Q
 IT、ゲストVMのアドレス変換情報を登録した時“
1″としている。これにより、ホスト・エントリとゲス
ト・エントリの識別が可能となり、TLB内にホストと
1つのゲストVMのアドレス変換情報が同時に保持され
る。
〔発明が解決しようとする問題点〕
上記従来技術では、TLB内に保持できるゲストVMの
数が1つに制限される為、例えば、割込み事象またはイ
ンターセプションによってゲストVMの実行を終了した
時、該ゲストVMのゲスト・エントリをすべて無効化す
る必要がある。したがって、SIE命令によって該ゲス
トVMを再び起動した場合、前回の該ゲストVM終了時
にTLBに登録されていたエントリに対応したページを
アクセスする時に新たにアドレス変換が発生し、命令処
理性能上余計なオーバヘッドが生じる。
本発明の目的は、仮想計算機において、TLB内にホス
トと複数のゲストVMのアドレス変換情報を同時に保持
可能にして、ゲストVMの命令処理性能を向上せしめる
ことにある。
〔問題点を解決するための手段〕
本発明は、TLB内にホストと複数のゲストVMのアド
レス変換情報を同時に保持可能とするために以下の手段
を設ける。
(1)SIE命令の指定する主記憶上のSD内にゲスト
仮想計算機識別フィールド(S D−VM I Dフィ
ールドまたは単にVMIDフィールドと呼ぶ)を設け、
ゲスト仮想計算機識別子(VMIDと呼ぶ)を格納する
(2)ゲストVM実行中に、ゲストVM実行中であるこ
とを示すゲストVMモードレジスタ(Gモード・レジス
タ)と対応したVMID (ACT−VMIDと呼ぶm
 Active V M I Dを意味する。)を保持
する為のレジスタ(ACT−VMIDレジスタ)を設け
る。
(3)TLBの各エントリがホストまたはゲストVMの
いずれのアドレス変換情報を保持するかを示すゲスト・
フィールド(TLB−GフィールドまたはGフィールド
)を設ける。
(4)TLBの各エントリに、該エントリがゲスト・エ
ントリの時、ゲストVMを識別する為のゲスト仮想計算
機識別フィールド(TLB−VMIDフィールドまたは
単にVMIDフィールド)を設ける。
(5)ゲストVM実行中にゲスト・アドレス変換情報の
検索の為にTLBを参照した時、ACT−VMIDとT
LBより読出したエントリのTLB−VMIDフィール
ドの値を比較し、TLBヒツトまたはTLBミスを判定
する手段を設ける。
〔作 用〕
SD−VMID’フィー/L/ド(7)VMIDはホス
ト管理プログラムによって管理される。ホスト・プログ
ラム中で、SIE命令を実行してゲストVMを開始する
時、Gモードレジスタをセットし、SD−VMIDフィ
ー/L/ド(7)VMIDti−ACT−VMIDレジ
スタに設定する。
ゲストVM実行中にTLBを参照する時、読出したTL
BエントリのGフィールドの値が“1”でかつVMID
フィー/L/ドの値がACT−VMIDと一致すること
がTLBヒツト条件の一部となる。ゲスト・アドレス変
換情報をTLBに登録する時、該エントリのGフィール
ドを“1″とし、VMIDフィー/L/ドにACT−V
MIDを格納する。ゲストVMの実行を終了する時、G
モードレジスタはリセットされる。
ホスト実行中にTLBを参照する時、読出したTLBエ
ントリのGフィールドの値が“OIIであることがTL
Bヒツト条件の一部となる。ホスト・アドレス変換情報
をTLBに登録する時、該エントリのGフィールドを“
0″とする。
以上により、TLBのゲスト・エントリはVMIDフィ
ールドによってゲストVMを識別される為、TLB内に
ホストと複数のゲストVMのアドレス変換情報を同時に
保持することが可能となる。
〔実施例〕
以下、本発明の一実施例を第1図及び第2図により説明
する。
第1図は仮想計算機システムのCPU内の本発明に関連
するTLB、該TLB参照に必要なレジスタ群、TLB
出力よりTLBヒツト/ミスを判定する回路(TLBヒ
ツト判定部)を示したものである。
第2図は本発明によるSIE命令の命令形式とオペラン
ドを概念的に示している。SIE命令51は、その82
およびD2フィールドによって位置付けられるMS52
上の5D53をオペランドとして指定する。5D53は
複数のフィールドから構成され、特に54は本発明の特
徴の1つであるVMIDフィールドを示す。例えば、S
D53は全体で256バイト、VMIDフィールド54
は1バイトである。
さて、第1図において、CPUの命令実行部1にはゲス
トVMモード・レジスタ(Gモード・レジスタ)5、A
CT−VM I D L/ジスタロ、ゲストのセグメン
ト・テーブル・オリジン・レジスタ(GSTOレジスタ
)7、ホストのセグメント・テーブル′・オリジン・レ
ジスタ(H8TOレジスタ)8、リアル・モード・レジ
スタ(Rモード・レジスタ)9、及びTLB参照のアド
レス・レジスタ10が接続されている。これらレジスタ
5〜10の出力側はTLB書込み制御部2及びTLBヒ
ツト判定部4に接続されている。また、アドレス・レジ
スタ10の所定ビットはアドレスデコーダ12の入力と
なり、TLB3のカラムを指定するのに用いられる。
前述の如く、ホスト・プログラム中にSIE命令が実行
された時、ゲストVMの実行が開始される。命令実行部
1は、SIE命令の処理としてGモードレジスタ5を“
1″にセットし、MSより読出したSD内のVMIDフ
ィールド、CRIフィールド(MSオリジン)の値をそ
れぞれACT−VMIDレジスタ6、GTSOレジスタ
7に設定する。Gモードレジスタ5が“0″′の時、C
PUはホスト計算機として動作し u 1 nの時、ゲ
スと仮想計算機(ゲストVM)として動作する。
ゲスト・プログラム中の割込み事象またはインタセプシ
ョンによってゲストVMの実行を終了する時、Gモード
レジスタ5は命令実行部1によって“0″にリセットさ
れる。08TOレジスタ7はゲス1−アドレス変換に用
いられ、ゲストアドレス空間を識別する。HSTOレジ
スタ8はホストアドレス変換に用いられ、ホストアドレ
ス空間を識別する。H5TOレジスタ8および08TO
レジスタ7は、命令実行部1がそれぞれホスト・プログ
ラム、ゲスト・プログラム中でLCTL命令(制御レジ
スタを書換える命令)を実行した時。
更新される。
Rモード・レジスタ9はTLB参照を仮想アドレスまた
は実アドレスのいずれで行うかを示す。
命令実行部1は1例えば命令読出しやオペランド読出し
でTLB3を参照する時、アドレスレジスタ10および
Rモード・レジスタ9を設定し、TLB参照要求を発行
する。
TLB3は、本実施例ではセット・アソシアティブ方式
とする。すなわち、カラム・アドレスでアドレス付けさ
れ、カラΔ・アドレスによって選択された1つまたは複
数のエントリはローと呼ばれる。本実施例ではカラム数
52、ロー数1、合計512エントリを持っTLB構成
とするが、他の構成についても本発明の方式は容易に類
推される。アドレスは、ビット1−31の31ビツト・
アドレスとする。カラム・アドレスは、アドレスのビッ
ト11〜19とする。TLB3は、アドレス・レジスタ
10のカラム・アドレス部34をアドレス・デコーダ1
2によってデコードし、参照する1個のエントリが選択
される。
TLB3の各エントリは、有効フィールド(V)、ゲス
トフィールド(G)、ゲストVMm別フィールド(VM
 I D)、実アドレス・フィールド(R)、コントロ
ール・フィールド(C)、セグメント・テーブル・オリ
ジン・フィールド(STO)、仮想アドレス・フィール
ド(VA)、絶対アドレス・フィールド(PA)から構
成される。第1図で各フィールドのビット数をカッコ内
に示している。
■フィールドは、該エントリが有効か無効かを示す1ビ
ツトのフィールドである。該エントリが有効な時II 
I I+となり、無効な時11071となる。
Cフィールドは、該エントリかホストまたはゲストVM
のいずれのアドレス変換情報であるかを示す1ビツトの
フィールドである。ホストの時“0″、ゲストVMの時
“1″となる。
VMIDフィールドは、該エントリがゲスト・エントリ
の時、そのVMIDを格納する。本実施例では、フィー
ルド幅は8ビツトである。
Rフィールドは、該エントリが実アドレスまたは仮想ア
ドレスのいずれで参照されたかを示す1ビツトのフィー
ルドである。“Onの時、実アドレスによる参照を表わ
し 14 l j#の時、仮想アドレスによる参照を表
わす。
Cフィールドは、該エントリが共通セグメントを用いた
アドレス変換情報であることを示す1ビツトのフィール
ドである。ホスト・モードでは、ホスト・アドレス変換
、ゲストVMモードではゲスト・アドレス変換のそれぞ
れにおいて、参照したセグメント・テーブル・エントリ
の共通セグメント・ビットが“1”の時、本フィールド
が“1″となる。
STOフィールドは、該エントリのアドレス変換時のセ
グメント・テーブル・オリジンを表わす。
IBM370/XAアーキテクチャでは、STOのビッ
ト1−25がアドレスを表わし5本フィールドは25ビ
ツトである。
VAフィールドは、TLB参照のページ・フレーム・ア
ドレスのうちカラム・アドレス以外のビットすなわち、
ビット1−10を格納する10ビツトのフィールドであ
る。
PAフィールドは、絶対アドレスのページ・フレーケ・
アドレス部19ビットを格納する。
TLBヒツト判定部4は、比較回路14〜18、AND
ゲート19,20,22.ORゲート21゜50、否定
ゲート13.23から構成される。比較回路14は、T
LB3のCフィールド出力38とGレジスタ5の出力2
7を比較し、一致した時、tt 1 nを出力する。比
較回路15は、TLB3のVMIDフィー/Llド出力
39とACT−VMIDレジスタ6の出力28を比較す
る。ANDゲート19.20、否定ゲート13、ORゲ
ート50によって、VMシステムに固有なTLBヒツト
条件が生成される。すなわち、ホスト・モード(Gモー
ドレジスタ5がLL Olj )でかつ読出したTLB
エントリのCフィールド38が“0”、または、ゲス1
へVMモード(Gモードレジスタ5が“1″)でかつ読
出したTLBエントリのCフィールド38が1゛1”で
かつ現在実行中のゲストVMのVMID (ACT−V
MIDL/ジスタロに保持されたACT−VMID)が
TLBr’zトリ(7)VMIDフィールド39のVM
IDと一致する時、ORゲート50に3′1”が出力さ
れる。ORゲート21は、アドレス空間に関するTLB
ヒツト条件を生成する。すなわち、TLBエントリが共
通セグメント(TLBのCフィールド41が“1”)、
またはTLBエントリのSTO値42が現在の5T03
1と一致した時、ORゲート21に“1″が出力される
。なお、現在の5TO31としては、モードレジスタ5
に対応してセレクタ11によってGSTOレジスタ7ま
たはFSTO8のいずれかが選択される。ANDゲート
22によって、TLBヒツト信号45が生成され、否定
ゲート23によってTLBミス信号46が生成される。
TLBヒツト信号45およびPAフィールド出力44は
、キャッシュ制御部(図示せず)へ転送される。
TLBミス信号46は、アドレス変換部(図示せず)へ
転送される。
TLB書込み制御部2は、アドレス変換によるTLB登
録およびTLBエントリの無効化を制御する。TLB登
録時には、Cフィールド、VMIDフィールド、Rフィ
ールド、STOフィールド。
VAフィールドはそれぞれ、Gモードレジスタ5゜AC
T−VMIDL/ジスタロ、RL/ジスタ9、SToの
セレクト出力31.アドレス・レジスタ10の値が格納
される。また、CフィールドおよびPAフィールドは、
アドレス変換部から転送された値が格納される。
ゲストVMの実行を終了する時、前述の如く。
命令実行部1はGモードレジスタ5を0”にリセットし
、CPUの状態をSIE命令実行時の状態に復元する。
但し、PSWの命令アドレス・カウンタはSIE命令の
次命令をさす。この時、TLB3のゲスト・エントリは
そのま一保存される。
以上の構成により、TLBのゲスト・エントリはVMI
DによってゲストVMを識別することが可能となる。一
般にホスト管理プログラムは複数のゲストVMを管理し
、順次SIE命令を発行しゲストVMを起動する。前述
の如く、ホストからゲストVM、またはゲストVMから
ホストVMへのディスパッチの時、TLB内のエントリ
はすべて保存される。したがって、あるゲストVMを終
了した後、該ゲストVMを再開するまでの間、該ゲスト
とVMのTLBエントリは、ホストまたは他ゲストVM
実行によってリプレースされる可能性はあるが、リプリ
ースされたエントリを除き保持され続け、TLB内に複
数のゲストVMのアドレス変換情報を保持することがで
きる。これにより、ゲストVMにおけるアドレス変換の
起動を必要最小限の回数に抑えることができる。
〔発明の効果〕
本発明によれば、SIE命令の指定するSD内にVMI
Dフィールドを設け、VMIDをハードウェアから見た
ゲストVMの識別子とし、TLB内のゲスト・エントリ
もVMIDによりゲストVMを識別可能としたことによ
り、TLB内にホストと複数のゲストVMのアドレス変
換情報を保持でき、ゲストVMの処理性能の向上が実現
される。
【図面の簡単な説明】
第1図は本発明の仮想計算機システムの主要部の一実施
例を示す図、第2図は本発明によるSIE命令の命令形
式とオペランドの一例を示す図、第3図は従来のSIE
命令の命令形式とオペランドを示す図、第4図はゲスト
仮想計算機によるアドレス変換の概念を示す図である。 1・・・命令実行部、 2・・・TLB書込み制御部3
・・・TLB、  4・・・TLBヒツト判定部5・・
・ゲストモードレジスタ、  6・・・ACT−VMI
Dレジスタ、  7・・・ゲストモードレジスタ、8・
・・ホストSTOレジスタ 10・・・アドレス・レジ
スタ、 45・・・TLBヒツト信号、46・・・TL
Bミス信号、 51・・・SIE命令。 52・・・主記憶、 53・・・状態記述子、54・・
・ゲスト仮想計算機識別子フィールド。 第1図 TLBとリドTLB!ス1六ヤフシ、シ胴社yap

Claims (2)

    【特許請求の範囲】
  1. (1)少なくとも一つのゲスト仮想計算機をサポートす
    るための中央処理装置と主記憶装置を具備し、前記主記
    憶装置にゲスト仮想計算機の状態記述子を格納し、ゲス
    ト仮想計算機実行開始命令で前記主記憶装置の状態記述
    子を指定して、中央処理装置を当該状態記述子で示され
    る状態に設定し、ゲスト仮想計算機の実行を開始すると
    共に、前記中央処理装置はホスト計算機あるいはゲスト
    仮想計算機のアドレス変換情報を保持するアドレス変換
    バッファを備えて、ホスト計算機あるいはゲスト仮想計
    算機実行中に前記アドレス変換バッファを参照する様に
    構成されている仮想計算機システムにおいて、前記状態
    記述子内にゲスト仮想計算機を識別する為のゲスト仮想
    計算機識別フィールドを設けたことを特徴とする仮想計
    算機システム。
  2. (2)前記アドレス変換バッファの各エントリは、ホス
    ト計算機またはゲスト仮想計算機のアドレス変換情報の
    どちらかを保持するかを示すゲスト・フィールドと、該
    エントリがゲスト仮想計算機のアドレス変換情報を保持
    する時、該ゲスト仮想計算機に対応したゲスト仮想計算
    機実行開始命令の指定する状態記述子内の前記仮想計算
    機識別フィールドに対応した値を格納する為の仮想計算
    機識別フィールドを有することを特徴とする特許請求の
    範囲第1項記載の仮想計算機システム。
JP61066893A 1986-03-25 1986-03-25 仮想計算機システム Pending JPS62222342A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP61066893A JPS62222342A (ja) 1986-03-25 1986-03-25 仮想計算機システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP61066893A JPS62222342A (ja) 1986-03-25 1986-03-25 仮想計算機システム

Publications (1)

Publication Number Publication Date
JPS62222342A true JPS62222342A (ja) 1987-09-30

Family

ID=13329049

Family Applications (1)

Application Number Title Priority Date Filing Date
JP61066893A Pending JPS62222342A (ja) 1986-03-25 1986-03-25 仮想計算機システム

Country Status (1)

Country Link
JP (1) JPS62222342A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01255945A (ja) * 1988-04-06 1989-10-12 Hitachi Ltd 仮想計算機におけるアドレス変換装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01255945A (ja) * 1988-04-06 1989-10-12 Hitachi Ltd 仮想計算機におけるアドレス変換装置

Similar Documents

Publication Publication Date Title
KR100834362B1 (ko) 스토리지 무효화, 버퍼 엔트리 제거
JPH0658650B2 (ja) 仮想計算機システム
US8380907B2 (en) Method, system and computer program product for providing filtering of GUEST2 quiesce requests
US9916173B2 (en) Facilitating execution of MMIO based instructions
US5249286A (en) Selectively locking memory locations within a microprocessor's on-chip cache
US8341329B2 (en) Method and system for providing hardware support for memory protection and virtual memory address translation for a virtual machine
US20170017577A1 (en) Invalidating a range of two or more translation table entries and instruction therefor
US8924624B2 (en) Information processing device
US9182984B2 (en) Local clearing control
US20130339656A1 (en) Compare and Replace DAT Table Entry
US9477505B2 (en) Method for reducing the overhead associated with a virtual machine exit when handling instructions related to descriptor tables
US6378023B1 (en) Interrupt descriptor cache for a microprocessor
US8205032B2 (en) Virtual machine control structure identification decoder
US9983893B2 (en) Handling memory-mapped input-output (MMIO) based instructions using fast access addresses
EP0459233A2 (en) Selectively locking memory locations within a microprocessor's on-chip cache
KR100218617B1 (ko) 변환우선참조 버퍼를 이용하여 메모리를 관리하는 데이터 처리 시스템의 효율적인 메모리 관리 방법 및 시스템과 그를 이용한 데이터 처리 시스템
JPS62222342A (ja) 仮想計算機システム
US20240020241A1 (en) Apparatus and method for address pre-translation to enhance direct memory access by hardware subsystems
JPS62222343A (ja) 仮想計算機システム
US10719453B1 (en) Apparatus and method for handling maintenance operations for an address translation cache
JPH0458347A (ja) 共有アドレス空間管理方式
JPH03185539A (ja) データ処理装置
JPS63253449A (ja) 仮想計算機システム
JPH03241426A (ja) キャッシュメモリシステム
JPH03186935A (ja) データ処理装置