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

仮想計算機システム

Info

Publication number
JPH0766352B2
JPH0766352B2 JP61066894A JP6689486A JPH0766352B2 JP H0766352 B2 JPH0766352 B2 JP H0766352B2 JP 61066894 A JP61066894 A JP 61066894A JP 6689486 A JP6689486 A JP 6689486A JP H0766352 B2 JPH0766352 B2 JP H0766352B2
Authority
JP
Japan
Prior art keywords
guest
virtual computer
guest virtual
entry
register
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP61066894A
Other languages
English (en)
Other versions
JPS62222343A (ja
Inventor
和郎 尾島
真也 渡部
秀一 安部
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
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 JP61066894A priority Critical patent/JPH0766352B2/ja
Publication of JPS62222343A publication Critical patent/JPS62222343A/ja
Publication of JPH0766352B2 publication Critical patent/JPH0766352B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は仮想計算機システムに係り、特にホスト計算機
あるいはゲスト仮想計算機のアドレス変換情報を保持し
ているアドレス変換バッファの処理に関する。
〔従来の技術〕
仮想計算機システムでは、通常、ホスト制御プログラム
で仮想計算機実行開始命令(以下、SIE命令と呼ぶ)が
実行された後、仮想計算機(以下、VMと呼ぶ)の動作が
開始される。かゝる仮想計算機のアーキテクチャとして
は、例えばIBM社の370/XAアーキテクチャが知られてい
る。なお、これについては特開昭57−212680号公報に詳
しい。
第2図にSIE命令の命令形式を示す。SIE命令は、そのB2
およびD2フィールドによって位置付けられるVM状態記述
子(以下SDと呼ぶ)をオペランドとして指定する。第2
図において、58がSIE命令、59が主記憶領域、60がVM状
態記述子(SD)である。
中央処理装置(以下、CPUと呼ぶ)の命令実行部は、SIE
命令を実行するために、主記憶装置(以下、MSと呼ぶ)
からSDの各フィールドで指定される情報をCPUのハード
ウェア資源に設定し、CPUをゲストVMとして動作させ
る。この時、設定されるハードウェア資源には、第2図
に示すように、ゲストモード・レジスタやPSW、制御レ
ジスタ(CR)、汎用レジスタ(GR)、プレフィックスお
よびMSエクステンドレジスタなどがある。一方、ホスト
の状態はCPU内に保存される。このように、SDはゲスト
命令から見たゲストVMのアーキテクチャを記述する。
SIE命令によって開始されたゲストVMは、割込み事象ま
たはインターセプションが発生するまでの間、ゲストプ
ログラムをエミュレートする。割込み事象とは、例えば
入出力割込みや外部割込みなどのホストの処理を必要と
する場合である。インターセプションとは、例えばホス
ト処理の必要な命令の実行時に発生する。一部の特権命
令ではインターセプションを発生させるか否かSD内のイ
ンターセプション・マスクフィールドで指定できる。割
込み事象またはインターセプションが発生した時、ゲス
トVMは終了し、CPUはホスト・モードとなり、SIE命令実
行開始時の状態に復元され、PSW内の命令カウンタはSIE
命令の次命令をさす。
仮想計算機システムにおける重要な技術課題の1つは、
ゲストの「主記憶」を表現する方法である。SIE命令で
開始されたゲストVMでは、ページ記憶モードと優先記憶
モードの2つが用いられる。
第3図はページ記憶モードにおけるアドレス空間のマッ
ピングを示している。ゲストの仮想アドレス(GV)61
は、ゲスト・アドレス変換によりゲストの絶対アドレス
(GA)62に変換される。このGA62がSDで指定されたMSエ
クステント内にあることをチェックする。GAにMSオリジ
ンが加算され、ホスト仮想アドレス(HV)63が求められ
る。HVはホスト・アドレス変換によりホスト絶対アドレ
ス(HA)64に変換される。
優先記憶モードでは、ゲストの絶対アドレスがそのまゝ
ホストの絶対アドレスとみなされる。
CPUはアドレス変換を高速に行うためアドレス変換バッ
ファを持っている。いずれのモードにおいても、アドレ
ス変換バッファ(TLB)のエントリには、GVとHAの対が
登録される。したがって、GVでTLBを参照することによ
り、HAが直ちに求まる。
上記アーキテクチャの仮想計算機システムにおけるTLB
構成に関して、特開昭57−212680号公報に詳しく述べら
れている。そこでは、TLBの各エントリにゲスト・フィ
ールドを1ビット分設け、ホストのアドレス変換情報を
登録した時“0"、ゲストVMのアドレス変換情報を登録し
た時“1"としている。これにより、ホスト・エントリと
ゲスト・エントリの識別が可能となり、TLB内にホスト
と1つのゲストVMのアドレス変換情報が同時に保持され
る。
〔発明が解決しようとする問題点〕
従来技術では、TLB内に保持できるゲストVMの数が1つ
に制御されるため、あるゲストVMを実行する時、TLBに
他のゲストVMのエントリを保持できない。前記特開昭57
−212680号公報では、割込み事象またはインターセプシ
ョンによってゲストVMの実行を終了した時、該ゲストVM
のゲスト・エントリをすべて無効化している。したがっ
て、SIE命令によって該ゲストVMを再び起動した場合、
前回の該ゲストVM終了時にTLBに登録されていたエント
リに対応したページをアクセスする時にも新たにアドレ
ス変換が発生し、命令処理性能上余計なオーバヘッドが
生じる。
第4図はこれを説明するもので、従来技術ではゲストVM
の実行を終了する時(第4図におけるゲスト・プログラ
ムIおよびIIの実行終了時)、必ずTLBのゲストエント
リをパージするが、前回実行されたゲストVM(ゲスト・
プログラムI)と同一のゲストVM(ゲスト・プログラム
II)が再び起動される場合、ゲスト・プログラムIの実
行終了時のTLBパージは不要なものであり、命令処理性
能上余計がオーバヘッドが生ずる。
本発明の目的は、TLBゲストエントリのパージを真に必
要な場合にのみ実施して、命令処理性能の向上をはかっ
た仮想計算機システムを提供することにある。こゝで、
TLBゲストエントリのパージが真に必要な場合とは、連
続して起動される2つのゲストVMが異なる場合である。
〔問題点を解決するための手段〕
本発明は、ゲストVMの実行終了時、次にゲストVMの実行
を開始するまでの間、該ゲストVMを表すゲストVM識別情
報(VMIDと呼ぶ)を保持する為のラストゲストVM識別情
報レジスタ(LAST−VMIDレジスタと呼ぶ)と、ゲストVM
実行開始時に該ゲストVMのVMIDを格納するアクトゲスト
VM識別情報レジスタ(ACT−VMIDレジスタと呼ぶ)と、L
AST−VMIDレジスタとACT−VMIDレジスタを比較する手段
と、比較結果に対応してTLBのゲストエントリを保持す
るかパージするTLBゲストエントリパージ手段を設け
る。
〔作 用〕
ホスト管理プログラム中でSIE命令を実行しゲストVMを
開始する時、前回実行したゲストVMのVMIDを保持してい
るLAST−VMIDレジスタの値と、開始しようとするゲスト
VMを格納しているACT−VMIDレジスタの値を比較する。
そして、両者が一致した時、TLBのゲストエントリをそ
のまゝ保持し、ゲストVMの実行を開始する。両者が不一
致の時、TLBのゲストエントリをすべてパージし、ゲス
トVMの実行を開始する。なお、LAST−VMIDレジスタへの
VMIDのセットは、例えばゲストVM実行終了時に行われ、
ホストプログラム実行の間、保持される。
〔実施例〕
以下、本発明の一実施例を図面により説明する。
第1図本発明の一実施例のブロック図であり、特に仮想
計算機システムの中央処理装置(CPU)のうち、TLB参照
に関連した部分のみを示している。
第1図において、命令実行部1には、ゲストVMモード・
レジスタ(Gモードレジスタ)5、バリッドビット(V
ビット)レジスタ6、ACT−VMIDレジスタ7、ゲストの
セグメント、テーブル・オリジン・レジスタ(GSTOレジ
スタ)8、ホストのセグメント・テーブル・オリジン・
レジスタ(HSTOレジスタ)9、リアルモード(Rモー
ド)レジスタ10、及びTLB参照のアドレス・レジスタ11
が接続されている。ACT−VMIDレジスタ7は、さらにLAS
T−VMIDレジスタ12に接続される。
前述の如く、ホスト・プログラム中にSIE命令が実行さ
れた時、ゲストVMの実行が開始される。ゲストVM識別情
報としては、SDアドレス、SD内のVMIDフィールドの値な
どが考えられるが、以下では、SDアドレスをゲストVM情
報(VMID)とした例を説明する。
命令実行部1は、SIE命令の処理としてGモードレジス
タ5を“1"にセットし、SDアドレスをACT−VMIDレジス
タ7に、SD内のCR1フィールドの値(MSオリジン)をGST
Oレジスタ8に設定する。Gモードレジスタ5が“0"の
時、CPUはホスト計算機として動作し、“1"の時、ゲス
ト仮想計算機として動作する。ゲストプログラム中の割
込み事象またはインタセプションによってゲストVMの実
行を終了する時、Gモードレジスタ5は命令実行部1に
よって“0"にリセットされる。GSTレジスタ8は、ゲス
トアドレス変換に用いられ、ゲストアドレス空間を識別
する。HSTOレジスタ9は、ホストアドレス変換に用いら
れホストアドレス空間を識別する。HSTOレジスタ9およ
びGSTOレジスタ8は、命令実行部1が、それぞれホスト
プログラム、ゲストプログラム中でLCTL命令(制御レジ
スタを書替える命令)を実行した時、更新される。
Rモードレジスタ10はTLB参照を仮想アドレスまたは実
アドレスのいずれで行うかを示す。命令実行部1は、例
えば命令読出しかオペランド読出しでTLB3を参照する
時、アドレスレジスタ11およびRモードレジスタ10を設
定し、TLB参照要求を発行する。
TLB3は、本実施例ではセット・アソシアティブ方式とす
る。すなわち、カラム・アドレスでアドレス付けされ、
カラム・アドレスによって選択された1つまたは複数の
エントリはロウと呼ばれる。本実施例ではカラム数51
2、ロウ数1、合計512エントリを持つTLB構成とする
が、他の構成についても本発明の方式は容易に類推され
る。アドレスは、ビット1−31の31ビット・アドレスと
する。カラム・アドレスは、アドレスのビット11−19と
する。TLB3は、アドレス・レジスタ11のカラム・アドレ
ス部24をアドレス・デコーダ14によってデコードし、参
照する1個のエントリが選択される。
TLB3の各エントリは、有効フィールド(V)、ゲストフ
ィールド(G)、実アドレスフィールド(R)、コント
ロールフィールド(C)、セグメントテーブルオリジン
フィールド(STO)、仮想アドレスフィールド(VA)、
絶対アドレスフィールド(PA)から構成される。第1図
で各フィールドのビット数をカッコ内に示している。
Vフィールドは、該エントリが有効か無効かを示す1ビ
ットのフィールドである。該エントリが有効な時“1"と
なり、無効な時“0"となる。
Gフィールドは、該エントリがホストまたはゲストVMの
いずれのアドレス変換情報であるかを示す1ビットのフ
ィールドである。ホストの時“0"、ゲストVMの時“1"と
なる。
Rフィールドは、該エントリが実アドレスまたは仮想ア
ドレスのいずれで参照されたかを示す1ビットのフィー
ルドである。“0"の時、実アドレスによる参照を表わ
し、“1"の時、仮想アドレスによる参照を表わす。
Cフィールドは、該エントリが共通セグメントを用いた
アドレス変換情報であることを示す1ビットのフィール
ドである。ホスト・モードでは、ホスト・アドレス変
換、ゲストVMモードではゲスト・アドレス変換のそれぞ
れにおいて、参照したセグメント・テーブル・エントリ
の共通セグメント・ビットが“1"の時、本フィールドが
“1"となる。
STOフィールドは、該エントリのアドレス変換時のセグ
メント・テーブル・オリジンを表わす。IBM370/XAアー
キテクチャでは、STOのビット1−25がアドレスを表わ
し、本フィールドは25ビットである。
VAフィールドは、TLB参照のページ・フレーム・アドレ
スのうちカラム・アドレス以外のビットすなわち、ビッ
ト1−10を格納する10ビットのフィールドである。
PAフィールドは、絶対アドレスのページ・フレーム・ア
ドレス部19ビットを格納する。
TLBヒット判定部4は、比較回路15〜18、ANDゲート20、
ORゲート19、否定ゲート21から構成される。比較回路15
は、TLB3のGフィールド出力46とGレジスタ5の出力32
を比較し、一致した時、“1"を出力する。比較回路15は
VMシステムに固有なTLBヒット条件を生成する。すなわ
ち、ホストモード(Gモードレジスタ5が“0")でかつ
読出したTLBエントリのGフィールド46が“0"、また
は、ゲストVMモード(Gモードレジスタ5が“1")でか
つ読出したTLBエントリのGフィールド46が“1"時、TLB
ヒットの条件となる。ORゲート19は、アドレス空間に関
するTLBヒット条件を生成する。すなわち、TLBエントリ
が共通セグメント(TLBのCフィールドが“1")、また
はTLBエントリのSTO値が現在のSTO出力44と一致した
時、ORゲート19に“1"が出力される。なお、現在のSTO
出力44としては、Gモードレジスタ5に対応してセレク
タ22によってGSTO出力36またはFSTO出力37のいずれかが
選択される。ANDゲート20によって、TLBヒット信号56が
生成され、否定ゲート21によってTLBミス信号57が生成
される。TLBヒット信号56およびTLBPAフィールド出力51
は、キャッシュ制御部へ転送される。TLBミス信号57
は、アドレス変換部へ転送される。
TLB書込み制御部2は、アドレス変換によるTLB登録およ
びTLBエントリの無効化を制御する。TLB登録時には、G
フィールド、Rフィールド、STOフィールド、VAフィー
ルドはそれぞれ、Gモードレジスタ5、Rレジスタ10、
STOのセレクト出力44、アドレス・レジスタ11の値が格
納される。また、CフィールドおよびPAフィールドは、
アドレス変換部から転送された値が格納される。また、
Vフィールドは、現在実行中のゲストVMのVMID(ACT−V
MIDレジスタ7)と最後に実行したゲストVMのVMID(LSA
ST−VMIDレジスタ12)が一致した時、比較回路13は“1"
となり、その時なおかつVレジスタ“1"の時、TLB3のV
フィールドに“1"が格納される。
ゲストVMの実行を開始する時、命令実行部1はGモード
レジスタ5を“1"にセットし、ACT−VMIDモードレジス
タ7とLAST−VMIDレジスタ12を比較し、一致の時すなわ
ち比較回路13が“1"の時、直ちにゲストVMを実行し、不
一致の時すなわち該比較回路13を“0"の時、TLB3のゲス
トエントリのVフィールドを“0"とした後、ゲストVMを
実行する。
ゲストVMの実行を終了する時、命令実行部1はGモード
レジスタ5を“0"にリセットし、CPUの状態をSIE命令実
行時の状態に復元し、現在実行の終了したVMのVMIDをAC
T−VMIDレジスタ7からLAST−VMIDレジスタ12に格納す
る。但し、PSWの命令アドレスカウンタはSIE命令の次命
令をさす。この時、TLB3のゲストエントリはそのまゝ保
持される。
以上の構成により、TLB3のゲスト・エントリは、新たに
実行するVMのVMIDと前回に実行したVMのVMIDの不一致を
検出してから、パージすることが可能となる。一般にホ
スト管理プログラムは複数のゲストVMを管理し、順次SI
E命令を発行しゲストVMを起動する。前述の如く、ホス
トからゲストVM、またはゲストVMからホストVMへのディ
スパッチの時、TLB内のエントリはすべて保存される。
したがって、あるゲストVMを終了した後、連続して該ゲ
ストVMを実行する場合、TLBのゲストエントリの不要な
パージを防ぎ、ゲストVMにおけるアドレス変換の起動を
必要最小限の回数に抑えることができる。
〔発明の効果〕
本発明によれば、仮想計算機システムにおいて、ゲスト
VMの識別情報を実行終了時から次にゲストVMの実行開始
まで保持し、SIE命令で開始するゲストVMとTLBゲストVM
エントリのVMを識別可能としたことにより、SIE命令で
開始するゲストVMとTLBゲストVMエントリのVMが一致す
る場合の不必要なTLBゲストVMエントリのパージを無く
し、ゲストVMの処理性能の向上を実現できる。しかも、
本発明では、TLBゲストVMエントリをパージするしない
の処理を、ゲストVMの実行開始時(SIE命令の実行時)
にのみ行うことにより、不必要なパージ処理を回避でき
る。
【図面の簡単な説明】
第1図は本発明の実施例で仮想計算機システムの中央処
理装置のうちの特にTLBとTLB参照に関連した部分を示し
た図、第2図はSIE命令とVM状態記述子を示した図、第
3図はゲストVMにおけるアドレス変換を示した図、第4
図はホストプログラム実行中にSIE命令でゲストVMを実
行することを示した図である。 1……命令実行部、2……TLB書込み制御部 3……TLB、4……TLBヒット判定部 5……ゲストモードレジスタ、7……ACT−VMIDレジス
タ、8……ゲストSTOレジスタ、 9……ホストSTOレジスタ、11……アドレス・レジス
タ、12……LAST−VMIDレジスタ、56……TLBヒット信
号、 57……TLBミス信号、58……SIE命令、 59……主記憶、60……状態記述子。

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】少なくとも一つのゲスト仮想計算機をサポ
    ートするための中央処理装置と主記憶装置を具備し、前
    記主記憶装置にゲスト仮想計算機の状態記述子を格納
    し、ゲスト仮想計算機実行開始命令で前記主記憶装置の
    状態記述子を指定し、中央処理装置を当該状態記述子で
    示される状態に設定して、ゲスト仮想計算機の実行を開
    始すると共に、前記中央処理装置はホスト計算機あるい
    はゲスト仮想計算機のアドレス変換情報を保持する複数
    エントリのアドレス変換バッファを備え、該アドレス変
    換バッファの各エントリは当該エントリがホスト計算機
    あるいはゲスト仮想計算機のどちらのアドレス変換情報
    を保持するかを示すフィールド(以下、ゲスト仮想計算
    機のアドレス変換情報を保持するエントリをゲスト計算
    機用エントリという)を有し、ホスト計算機あるいはゲ
    スト仮想計算機実行中に前記アドレス変換バッファを参
    照する様に構成されている仮想計算機システムにおい
    て、 ゲスト仮想計算機の識別情報を少なくとも該ゲスト仮想
    計算機の実行終了時から次のゲスト仮想計算機の実行開
    始まで保持する手段を設け、ゲスト仮想計算機の実行開
    始時に、前記保持されているゲスト仮想計算機識別情報
    と実行を開始する該ゲスト仮想計算機の識別情報を比較
    し、不一致の場合、前記アドレス変換パッファ内のゲス
    ト計算機用エントリをパージし、一致する場合は前記パ
    ージを禁止した後、前記ゲスト仮想計算機の実行を開始
    することを特徴とする仮想計算機システム。
JP61066894A 1986-03-25 1986-03-25 仮想計算機システム Expired - Lifetime JPH0766352B2 (ja)

Priority Applications (1)

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

Applications Claiming Priority (1)

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

Publications (2)

Publication Number Publication Date
JPS62222343A JPS62222343A (ja) 1987-09-30
JPH0766352B2 true JPH0766352B2 (ja) 1995-07-19

Family

ID=13329080

Family Applications (1)

Application Number Title Priority Date Filing Date
JP61066894A Expired - Lifetime JPH0766352B2 (ja) 1986-03-25 1986-03-25 仮想計算機システム

Country Status (1)

Country Link
JP (1) JPH0766352B2 (ja)

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5733477A (en) * 1980-07-31 1982-02-23 Fujitsu Ltd Computer system

Also Published As

Publication number Publication date
JPS62222343A (ja) 1987-09-30

Similar Documents

Publication Publication Date Title
US4347565A (en) Address control system for software simulation
JPH0658650B2 (ja) 仮想計算機システム
US4779188A (en) Selective guest system purge control
CN1993683B (zh) 体系结构事件期间维持处理器资源
US8380907B2 (en) Method, system and computer program product for providing filtering of GUEST2 quiesce requests
US8140834B2 (en) System, method and computer program product for providing a programmable quiesce filtering register
US8032716B2 (en) System, method and computer program product for providing a new quiesce state
JPS6122825B2 (ja)
JPH0430053B2 (ja)
JPS6341100B2 (ja)
EP0145960B1 (en) Selective guest system purge control
JP2011523741A (ja) ホストデータ処理装置内におけるデバイスエミュレーションのサポート
JPH07105091A (ja) キャッシュの制御装置および制御方法
JPH0793221A (ja) 仮想計算機システム及びその制御方法
JPH0766352B2 (ja) 仮想計算機システム
JP3645671B2 (ja) 命令バッファを有するプロセッサ装置
JPS6336012B2 (ja)
JPS62222342A (ja) 仮想計算機システム
JP2003058421A (ja) プロセッサ及びコンピュータシステム
JPH041373B2 (ja)
JPS6353574B2 (ja)
JPS6212545B2 (ja)
JPS6269341A (ja) 仮想計算機システム
JPH0450620B2 (ja)
JPS6269339A (ja) アドレス変換バツフア方式