JPH08161185A - 仮想計算機システムのゲスト実行制御方式 - Google Patents
仮想計算機システムのゲスト実行制御方式Info
- Publication number
- JPH08161185A JPH08161185A JP6329400A JP32940094A JPH08161185A JP H08161185 A JPH08161185 A JP H08161185A JP 6329400 A JP6329400 A JP 6329400A JP 32940094 A JP32940094 A JP 32940094A JP H08161185 A JPH08161185 A JP H08161185A
- Authority
- JP
- Japan
- Prior art keywords
- guest
- virtual machine
- execution
- instruction
- request
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multi Processors (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
(57)【要約】
【目的】 仮想計算機システムにおいて、マルチプロセ
ッサ構成で、他のCPUによるSD内の介入要求の変更
を実行中のゲストに対し直ちに反映する。 【構成】 CPUYでゲスト1実行中にCPUX12の
VMCPがゲスト1のIO割込要求を受けると、CPU
Xは2内のゲスト1の状態記述子(SD)の介入要求フ
ィールドのアドレスを14にセットし、13に要求を出
してIO介入要求ビットを書き換え、14aに14と同
じ値をセットし、13aに13と同じ要求を出す。16
は14aの値と15内のSD内介入要求フィールドアド
レスを比較し、その一致信号と17のゲスト1実行中情
報と13aの要求のアンドを18で取り、信号19があ
るとき、3は1にSDのアドレスをセットし、2からI
O介入要求ビットを1aで読み出し、4に書き込み、5
が1になったとき、7に割込みし、インターセプション
処理によりゲスト1の実行を終了する。
ッサ構成で、他のCPUによるSD内の介入要求の変更
を実行中のゲストに対し直ちに反映する。 【構成】 CPUYでゲスト1実行中にCPUX12の
VMCPがゲスト1のIO割込要求を受けると、CPU
Xは2内のゲスト1の状態記述子(SD)の介入要求フ
ィールドのアドレスを14にセットし、13に要求を出
してIO介入要求ビットを書き換え、14aに14と同
じ値をセットし、13aに13と同じ要求を出す。16
は14aの値と15内のSD内介入要求フィールドアド
レスを比較し、その一致信号と17のゲスト1実行中情
報と13aの要求のアンドを18で取り、信号19があ
るとき、3は1にSDのアドレスをセットし、2からI
O介入要求ビットを1aで読み出し、4に書き込み、5
が1になったとき、7に割込みし、インターセプション
処理によりゲスト1の実行を終了する。
Description
【0001】
【産業上の利用分野】本発明は、仮想計算機システムに
係わり、特にゲスト命令処理の高速化に好適なゲスト実
行制御方式に関する。
係わり、特にゲスト命令処理の高速化に好適なゲスト実
行制御方式に関する。
【0002】
【従来の技術】仮想計算機システムでは、特開昭57−
212680号に示されている如く、ホスト制御プログ
ラム(以下、VMCPと呼ぶ)で仮想計算機実行開始命
令(以下SIE命令と呼ぶ)が実行された後、仮想計算
機(以下、VMと呼ぶ)の動作が開始される。図2にS
IE命令の命令形式を示す。SIE命令は、そのB2お
よびD2フィールドによって主記憶装置(以下、MSと
呼ぶ)上に位置付られる状態記述子(以下、SDと呼
ぶ)をオペランドとして指定する。中央処理装置(以
下、CPUと呼ぶ)の命令実行部は、SIE命令をデコ
ードすることにより、MSからSDの各フィールドをC
PUのハードウェア資源に設定し、CPUをゲストVM
として動作させる。この時設定されるハードウェア資源
には、ゲストモードラッチやプログラム状態語(PS
W)、制御レジスタ(CR)、汎用レジスタ(GR)、
プリフィックスおよびMSエクステントレジスタなどが
ある。即ち、SDは、ゲスト命令から見たゲストVMの
アーキテクチャを記述する。一方、ホストの状態はCP
U内に保存される。
212680号に示されている如く、ホスト制御プログ
ラム(以下、VMCPと呼ぶ)で仮想計算機実行開始命
令(以下SIE命令と呼ぶ)が実行された後、仮想計算
機(以下、VMと呼ぶ)の動作が開始される。図2にS
IE命令の命令形式を示す。SIE命令は、そのB2お
よびD2フィールドによって主記憶装置(以下、MSと
呼ぶ)上に位置付られる状態記述子(以下、SDと呼
ぶ)をオペランドとして指定する。中央処理装置(以
下、CPUと呼ぶ)の命令実行部は、SIE命令をデコ
ードすることにより、MSからSDの各フィールドをC
PUのハードウェア資源に設定し、CPUをゲストVM
として動作させる。この時設定されるハードウェア資源
には、ゲストモードラッチやプログラム状態語(PS
W)、制御レジスタ(CR)、汎用レジスタ(GR)、
プリフィックスおよびMSエクステントレジスタなどが
ある。即ち、SDは、ゲスト命令から見たゲストVMの
アーキテクチャを記述する。一方、ホストの状態はCP
U内に保存される。
【0003】SIE命令によって開始されたゲストVM
は、割込み事象またはインターセプションが発生するま
での間、ゲストプログラムをエミュレートする。割込み
事象とは、例えば入出力割込みや外部割込みなどホスト
の処理を必要とする場合である。インターセプションと
は、例えばホストの処理が必要となる実行時に発生す
る。一部の特権命令では、インターセプションを発生さ
せるか否かをSD内のインターセプション・マスクフィ
ールドで指定できる。割込み事象またはインターセプシ
ョンが発生した時、ゲストVMは終了し、CPUはホス
トモードとなり、SIE命令実行時の状態に復元され
る。
は、割込み事象またはインターセプションが発生するま
での間、ゲストプログラムをエミュレートする。割込み
事象とは、例えば入出力割込みや外部割込みなどホスト
の処理を必要とする場合である。インターセプションと
は、例えばホストの処理が必要となる実行時に発生す
る。一部の特権命令では、インターセプションを発生さ
せるか否かをSD内のインターセプション・マスクフィ
ールドで指定できる。割込み事象またはインターセプシ
ョンが発生した時、ゲストVMは終了し、CPUはホス
トモードとなり、SIE命令実行時の状態に復元され
る。
【0004】ところで、仮想計算機システムでは、ゲス
トのIO処理のすべてまたは一部がVMCPによりシュ
ミレートされる。すなわち、ゲストプログラム中でIO
起動命令が指定された時、ゲストVMは終了し、インタ
ーセプションがVMCPに報告される。VMCPはゲス
トプログラム中でIO起動命令をシュミレートし、実入
出力装置に対するIO処理を起動する。これに対応する
IO割込み要求は、ホストのIOマスクに従いVMCP
により受け付られる。VMCPは、ゲストのIOマスク
がオンとなるまでの間ゲストIO割込みを保留し、ゲス
トのIOマスクがオンとなって時点でゲストのIO割込
みを発生させる。ゲストの外部割込みの一部についても
同様の処理が行われる。以下、VMCPが受付けたゲス
ト割込みをゲストに通知し、ゲストのマスクがオンとな
るまでの間保留しておくことを「介入要求」と呼ぶ。
トのIO処理のすべてまたは一部がVMCPによりシュ
ミレートされる。すなわち、ゲストプログラム中でIO
起動命令が指定された時、ゲストVMは終了し、インタ
ーセプションがVMCPに報告される。VMCPはゲス
トプログラム中でIO起動命令をシュミレートし、実入
出力装置に対するIO処理を起動する。これに対応する
IO割込み要求は、ホストのIOマスクに従いVMCP
により受け付られる。VMCPは、ゲストのIOマスク
がオンとなるまでの間ゲストIO割込みを保留し、ゲス
トのIOマスクがオンとなって時点でゲストのIO割込
みを発生させる。ゲストの外部割込みの一部についても
同様の処理が行われる。以下、VMCPが受付けたゲス
ト割込みをゲストに通知し、ゲストのマスクがオンとな
るまでの間保留しておくことを「介入要求」と呼ぶ。
【0005】仮想計算機システムでは、上記のゲスト割
込みをVMCPで保留する為に、図2に示す様にSD内
に介入要求フィールドを設けている。介入要求フィール
ドは、保留するべき割込み要因毎に対応したビットから
構成される。すなわち、IO割込みに対応したIO介入
要求ビット、外部割込みに対応した外部介入要求ビット
などから構成される。
込みをVMCPで保留する為に、図2に示す様にSD内
に介入要求フィールドを設けている。介入要求フィール
ドは、保留するべき割込み要因毎に対応したビットから
構成される。すなわち、IO割込みに対応したIO介入
要求ビット、外部割込みに対応した外部介入要求ビット
などから構成される。
【0006】IO割込みをVMCPが保留する場合の処
理の流れを図3に示す。ステップ28で、特定のゲスト
VM(ゲスト1と表わす)のIO割込み要求をVMCP
が受付ける。ステップ29で、VMCPはゲスト1のS
D内介入要求フィールドのIO介入要求ビットを‘1’
とすることにより、受付けたゲストIO割込み要求を保
留する。その後、VMCPは処理を続行し、ステップ3
0で、SIE命令を発行しゲスト1を起動する。ゲスト
VMはSDのIO介入要求ビットが‘1’の場合、ゲス
トPSWのIOマスク(GPSW(IO)と表わす)が
‘1’となった時点でゲストVMを終了し、インタ−セ
プションをVMCPに報告する。すなわち、ステップ3
1でゲスト1の実行を開始し、本図の例ではGPSW
(IO)=0である為、ゲスト命令処理を実行する。ス
テップ32は、LPSW(Load PSW)命令、S
TOSM(Store Then OR Ststem
Mask)命令、SSM(Set System M
ask)命令などによりGPSW(IO)が、‘0’か
ら‘1’へ変更されることを示す。この時点でインタ−
セプションの条件が成立し、ゲスト命令処理を打ちき
り、インタ−セプションがVMCPに報告される(ステ
ップ33)。VMCPはゲスト1のIO割込みをシュミ
レートし(ステップ34)、ゲスト1を再度起動する
(ステップ35)。ゲスト1は、IO割込みをゲストV
M上で受付けたかの如く、IO割込みハンドラから処理
を再開する。なお、ステップ37はこの従来技術におい
ては不要なステップであり、後述の他の従来技術におい
て必要となるステップである。ゲスト外部割込みをVM
CPが保留するケースも同様であるので、以下、ゲスト
IO割込みについてのみ説明する。
理の流れを図3に示す。ステップ28で、特定のゲスト
VM(ゲスト1と表わす)のIO割込み要求をVMCP
が受付ける。ステップ29で、VMCPはゲスト1のS
D内介入要求フィールドのIO介入要求ビットを‘1’
とすることにより、受付けたゲストIO割込み要求を保
留する。その後、VMCPは処理を続行し、ステップ3
0で、SIE命令を発行しゲスト1を起動する。ゲスト
VMはSDのIO介入要求ビットが‘1’の場合、ゲス
トPSWのIOマスク(GPSW(IO)と表わす)が
‘1’となった時点でゲストVMを終了し、インタ−セ
プションをVMCPに報告する。すなわち、ステップ3
1でゲスト1の実行を開始し、本図の例ではGPSW
(IO)=0である為、ゲスト命令処理を実行する。ス
テップ32は、LPSW(Load PSW)命令、S
TOSM(Store Then OR Ststem
Mask)命令、SSM(Set System M
ask)命令などによりGPSW(IO)が、‘0’か
ら‘1’へ変更されることを示す。この時点でインタ−
セプションの条件が成立し、ゲスト命令処理を打ちき
り、インタ−セプションがVMCPに報告される(ステ
ップ33)。VMCPはゲスト1のIO割込みをシュミ
レートし(ステップ34)、ゲスト1を再度起動する
(ステップ35)。ゲスト1は、IO割込みをゲストV
M上で受付けたかの如く、IO割込みハンドラから処理
を再開する。なお、ステップ37はこの従来技術におい
ては不要なステップであり、後述の他の従来技術におい
て必要となるステップである。ゲスト外部割込みをVM
CPが保留するケースも同様であるので、以下、ゲスト
IO割込みについてのみ説明する。
【0007】図3のステップ32に示す様に、ゲストV
Mのシステムマスクを変更する命令では、GPSW(I
O)を‘0’から‘1’に変更する場合、IO介入要求
の有無に応じてインタ−セプションによりゲストVMを
終了するか、ゲストVMを続行するかを判定する必要が
ある。
Mのシステムマスクを変更する命令では、GPSW(I
O)を‘0’から‘1’に変更する場合、IO介入要求
の有無に応じてインタ−セプションによりゲストVMを
終了するか、ゲストVMを続行するかを判定する必要が
ある。
【0008】図4に従来のLPSW命令の処理を示す。
ここではLPSW命令を例として説明するが、他のシス
テムマスク変更命令についても同様である。まず、ステ
ップ74でアクセス例外、指定例外の有無をチェック
し、例外要因のある場合ステップ83で割込み処理を行
う。例外要因のない場合、フラグを初期化し(ステップ
75)、新たに設定すべきGPSW(IO)が‘1’の
時(ステップ76)、該ゲストVMのSDより介入要求
フィールドを読出す(ステップ77)。読出した介入要
求フィールドのIO要求ビットの値が‘1’の時(ステ
ップ78)、フラグを‘1’に設定する(ステップ7
9)。以上によりIO介入要求によりインタ−セプショ
ンを発生すべき条件が成立した時、フラグが‘1’とな
る。次にPSWを設定し(ステップ80)、フラグの値
が‘1’の時、インタ−セプション処理を行い(ステッ
プ81,82)、‘0’の時LPSW命令の処理を完了
する。
ここではLPSW命令を例として説明するが、他のシス
テムマスク変更命令についても同様である。まず、ステ
ップ74でアクセス例外、指定例外の有無をチェック
し、例外要因のある場合ステップ83で割込み処理を行
う。例外要因のない場合、フラグを初期化し(ステップ
75)、新たに設定すべきGPSW(IO)が‘1’の
時(ステップ76)、該ゲストVMのSDより介入要求
フィールドを読出す(ステップ77)。読出した介入要
求フィールドのIO要求ビットの値が‘1’の時(ステ
ップ78)、フラグを‘1’に設定する(ステップ7
9)。以上によりIO介入要求によりインタ−セプショ
ンを発生すべき条件が成立した時、フラグが‘1’とな
る。次にPSWを設定し(ステップ80)、フラグの値
が‘1’の時、インタ−セプション処理を行い(ステッ
プ81,82)、‘0’の時LPSW命令の処理を完了
する。
【0009】一般にIO介入要求の発生頻度はLPSW
命令の出現頻度に比べ十分小さく、ゲストのLPSW命
令では正常に完了する場合の性能が要求される。すなわ
ち、ステップ74→75→76→80→81→84、ま
たはステップ74→75→76→77→78→80→8
1→84がメインパスである。これらでは、ホストのL
PSW命令処理と比べ介入要求フィールドの読出しおよ
びIO介入要求ビットのチェックの為のステップが追加
されており、ゲスト命令処理上のオーバーヘッドとな
る。
命令の出現頻度に比べ十分小さく、ゲストのLPSW命
令では正常に完了する場合の性能が要求される。すなわ
ち、ステップ74→75→76→80→81→84、ま
たはステップ74→75→76→77→78→80→8
1→84がメインパスである。これらでは、ホストのL
PSW命令処理と比べ介入要求フィールドの読出しおよ
びIO介入要求ビットのチェックの為のステップが追加
されており、ゲスト命令処理上のオーバーヘッドとな
る。
【0010】また、他の従来技術として、特開昭63−
279328に示されている如く、CPU内にゲストV
M実行中の該SDの介入要求フィールドの値を保持する
ラッチ群(介入要求保留ラッチ)を設け、該介入要求保
留ラッチをSIE命令実行時に設定し、更に例えばゲス
トVM実行中に適当な周期で更新する図3中のステップ
37と共に、ゲストVM実行中に介入要求保留ラッチが
‘1’ゲストPSWのシステムマスクに対応するビット
がオンの時、CPUのマイクロプログラムに対する割込
を発生する回路を設けることにより、ゲストのシステム
マスク変更命令の実行時に、SD内の介入要求フィール
ドをチェックする必要がなくなり、ゲストのシステムマ
スク変更命令の処理性能を向上させている。
279328に示されている如く、CPU内にゲストV
M実行中の該SDの介入要求フィールドの値を保持する
ラッチ群(介入要求保留ラッチ)を設け、該介入要求保
留ラッチをSIE命令実行時に設定し、更に例えばゲス
トVM実行中に適当な周期で更新する図3中のステップ
37と共に、ゲストVM実行中に介入要求保留ラッチが
‘1’ゲストPSWのシステムマスクに対応するビット
がオンの時、CPUのマイクロプログラムに対する割込
を発生する回路を設けることにより、ゲストのシステム
マスク変更命令の実行時に、SD内の介入要求フィール
ドをチェックする必要がなくなり、ゲストのシステムマ
スク変更命令の処理性能を向上させている。
【0011】
【発明が解決しようとする課題】上記従来技術の前者
は、前述の如くゲストのシステムマスク変更命令毎に、
主記憶上のSD(又はCPU内のローカル記憶装置上の
SDの一時的な写し)を参照して、IO介入要求有無の
チェック、IO介入要求によりインタ−セプション条件
の成立のチェックが必要であり、ゲストのシステムマス
ク変更命令の処理性能が大幅に劣化するという問題があ
った。前記従来技術の後者については、マルチプロセッ
サ構成では、一つのCPUで実行中のゲストは他のCP
UによるSD内の介入要求の変更を反映するために周期
的なSD内の介入要求の有無のチェックを行なう。これ
により、介入要求の変更がない場合でも前記チェック処
理が発生し、ゲスト命令処理上のオーバーヘッドとな
る。また、このオーバーヘッドを低減するために、チェ
ックの周期を長くした場合には、前記介入要求の変更が
直ちに反映されなくなるため、介入要求処理の遅延を招
く。本発明の目的は、仮想計算機システムにおいて、ゲ
ストシステムマスク変更命令の処理性能をホストの場合
と同等にまで高速化し、かつ、マルチプロセッサ構成で
は、他のCPUによるSD内の介入要求の変更を契機に
実行中のゲストに対し直ちに反映し、かつ、周期的なS
D内の介入要求の有無のチェックによるオーバーヘッド
が発生しないゲスト実行制御方式を提供することにあ
る。
は、前述の如くゲストのシステムマスク変更命令毎に、
主記憶上のSD(又はCPU内のローカル記憶装置上の
SDの一時的な写し)を参照して、IO介入要求有無の
チェック、IO介入要求によりインタ−セプション条件
の成立のチェックが必要であり、ゲストのシステムマス
ク変更命令の処理性能が大幅に劣化するという問題があ
った。前記従来技術の後者については、マルチプロセッ
サ構成では、一つのCPUで実行中のゲストは他のCP
UによるSD内の介入要求の変更を反映するために周期
的なSD内の介入要求の有無のチェックを行なう。これ
により、介入要求の変更がない場合でも前記チェック処
理が発生し、ゲスト命令処理上のオーバーヘッドとな
る。また、このオーバーヘッドを低減するために、チェ
ックの周期を長くした場合には、前記介入要求の変更が
直ちに反映されなくなるため、介入要求処理の遅延を招
く。本発明の目的は、仮想計算機システムにおいて、ゲ
ストシステムマスク変更命令の処理性能をホストの場合
と同等にまで高速化し、かつ、マルチプロセッサ構成で
は、他のCPUによるSD内の介入要求の変更を契機に
実行中のゲストに対し直ちに反映し、かつ、周期的なS
D内の介入要求の有無のチェックによるオーバーヘッド
が発生しないゲスト実行制御方式を提供することにあ
る。
【0012】
【課題を解決するための手段】上記目的を達成するた
め、本発明は、ゲスト仮想計算機の状態記述子を保持す
る主記憶装置と、ゲスト仮想計算機実行開始命令の実行
の際に、該命令で指定することによりゲスト仮想計算機
の実行を開始する複数の命令プロセッサを有し、ゲスト
仮想計算機の実行中にゲスト仮想計算機の状態が予め定
めた条件を満たすとき、前記ゲスト仮想計算機状態記述
子内に登録されたゲスト仮想計算機の実行が終了するか
否かを指示する実行指示情報を変更する仮想計算機シス
テムにおいて、前記主記憶装置上のデータが更新された
際に、該主記憶更新アドレスと更新されたことを該主記
憶装置に接続される命令プロセッサに指示する第1の手
段と、ゲスト仮想計算機実行開始命令の実行時に前記ゲ
スト仮想計算機状態記述子内のゲスト仮想計算機の実行
指示情報の主記憶アドレスを保持する第2の手段と、前
記第1の手段と第2の手段に保持されるアドレスの一致
比較を行なう第3の手段と、前記第3の手段の一致検出
時は、前記ゲスト仮想計算機状態記述子に対応する実行
中のゲスト仮想計算機に対し、前記実行指示情報が変更
された事を通知する第4の手段とを設け、該第4の手段
による通知により前記実行中のゲスト仮想計算機に対し
前記実行指示情報の変更後の値を反映させるようにして
いる。また、前記命令プロセッサ内に前記主記憶装置の
バッファ記憶を備え、前記第1の手段により指示される
主記憶領域の写しが、該バッファ記憶に保持されていた
場合に、該バッファ記憶内の前記主記憶領域の写しの無
効化指示手段を前記第1の手段とするようにしている。
め、本発明は、ゲスト仮想計算機の状態記述子を保持す
る主記憶装置と、ゲスト仮想計算機実行開始命令の実行
の際に、該命令で指定することによりゲスト仮想計算機
の実行を開始する複数の命令プロセッサを有し、ゲスト
仮想計算機の実行中にゲスト仮想計算機の状態が予め定
めた条件を満たすとき、前記ゲスト仮想計算機状態記述
子内に登録されたゲスト仮想計算機の実行が終了するか
否かを指示する実行指示情報を変更する仮想計算機シス
テムにおいて、前記主記憶装置上のデータが更新された
際に、該主記憶更新アドレスと更新されたことを該主記
憶装置に接続される命令プロセッサに指示する第1の手
段と、ゲスト仮想計算機実行開始命令の実行時に前記ゲ
スト仮想計算機状態記述子内のゲスト仮想計算機の実行
指示情報の主記憶アドレスを保持する第2の手段と、前
記第1の手段と第2の手段に保持されるアドレスの一致
比較を行なう第3の手段と、前記第3の手段の一致検出
時は、前記ゲスト仮想計算機状態記述子に対応する実行
中のゲスト仮想計算機に対し、前記実行指示情報が変更
された事を通知する第4の手段とを設け、該第4の手段
による通知により前記実行中のゲスト仮想計算機に対し
前記実行指示情報の変更後の値を反映させるようにして
いる。また、前記命令プロセッサ内に前記主記憶装置の
バッファ記憶を備え、前記第1の手段により指示される
主記憶領域の写しが、該バッファ記憶に保持されていた
場合に、該バッファ記憶内の前記主記憶領域の写しの無
効化指示手段を前記第1の手段とするようにしている。
【0013】
【作用】上記手段により、ゲストVM実行中のVMCP
からの介入要求がハードウェア的に監視される。このた
め、ゲストのシステムマスク変更命令の実行時やゲスト
実行中に、周期的に前記介入要求をチェックする必要が
無くなり、SD内の介入要求が変更された場合直ちにゲ
ストに反映されるため介入要求の処理が遅延せず、か
つ、介入要求の有無の周期的なチェックが不要となるた
め不要なオーバーヘッドが発生しない。これによりゲス
トVMの処理性能を向上させることが出来る。
からの介入要求がハードウェア的に監視される。このた
め、ゲストのシステムマスク変更命令の実行時やゲスト
実行中に、周期的に前記介入要求をチェックする必要が
無くなり、SD内の介入要求が変更された場合直ちにゲ
ストに反映されるため介入要求の処理が遅延せず、か
つ、介入要求の有無の周期的なチェックが不要となるた
め不要なオーバーヘッドが発生しない。これによりゲス
トVMの処理性能を向上させることが出来る。
【0014】
【実施例】以下、本発明による情報処理装置の一実施例
を図面により詳細に説明する。図1は本発明の一実施例
の構成図である。図1において、1はアドレスレジス
タ、2は主記憶装置、1aは主記憶装置2からのデータ
が読み出される信号、3は命令実行制御部、4はIO介
入要求保留ラッチ、5はゲストPSWIOマスクラッ
チ、6はIO介入要求保留ラッチ4とゲストPSWIO
マスクラッチ5の論理積をとるためのANDゲートであ
る。12はCPUX、13はCPUX12からの主記憶
装置2への書き込み要求信号、14は書き込み要求信号
13に対応した主記憶装置2上の書き込み先アドレスを
保持するアドレスレジスタである。13aは主記憶装置
2に対し書き込みが行なわれたことを示す信号であり、
14aは信号13aに対応した書き込みアドレスを保持
するアドレスレジスタ。15はSD内の介入要求フィー
ルドのアドレスを保持するアドレスレジスタである。1
6はアドレスレジスタ14aに保持される主記憶装置2
に対する書き込みアドレスとアドレスレジスタ15に保
持されるSD内の介入要求フィールドのアドレスとの一
致検出回路、17は、ゲストVM実行中であることを示
すモードレジスタである。18は主記憶装置2に対し書
き込みが行なわれることを示す信号13aと一致検出回
路16からの出力とモードレジスタ17との論理積をと
るためのANDゲートである。4〜6はゲストIO割込
に関するものであるが、ゲスト外部割込についても同様
の回路を設ければ良く、本実施例ではこれについては省
略する。
を図面により詳細に説明する。図1は本発明の一実施例
の構成図である。図1において、1はアドレスレジス
タ、2は主記憶装置、1aは主記憶装置2からのデータ
が読み出される信号、3は命令実行制御部、4はIO介
入要求保留ラッチ、5はゲストPSWIOマスクラッ
チ、6はIO介入要求保留ラッチ4とゲストPSWIO
マスクラッチ5の論理積をとるためのANDゲートであ
る。12はCPUX、13はCPUX12からの主記憶
装置2への書き込み要求信号、14は書き込み要求信号
13に対応した主記憶装置2上の書き込み先アドレスを
保持するアドレスレジスタである。13aは主記憶装置
2に対し書き込みが行なわれたことを示す信号であり、
14aは信号13aに対応した書き込みアドレスを保持
するアドレスレジスタ。15はSD内の介入要求フィー
ルドのアドレスを保持するアドレスレジスタである。1
6はアドレスレジスタ14aに保持される主記憶装置2
に対する書き込みアドレスとアドレスレジスタ15に保
持されるSD内の介入要求フィールドのアドレスとの一
致検出回路、17は、ゲストVM実行中であることを示
すモードレジスタである。18は主記憶装置2に対し書
き込みが行なわれることを示す信号13aと一致検出回
路16からの出力とモードレジスタ17との論理積をと
るためのANDゲートである。4〜6はゲストIO割込
に関するものであるが、ゲスト外部割込についても同様
の回路を設ければ良く、本実施例ではこれについては省
略する。
【0015】ANDゲート6の出力は割込トリガ11と
なり、マイクロプログラム実行制御部7に対し割込を指
示する。また、ANDゲート18の出力は実行中のゲス
トVMに対し介入要求フィールドが更新されたことを知
らせる通知信号19となり、命令実行制御部2に対し、
IO介入要求保留ラッチ6の更新を指示する。
なり、マイクロプログラム実行制御部7に対し割込を指
示する。また、ANDゲート18の出力は実行中のゲス
トVMに対し介入要求フィールドが更新されたことを知
らせる通知信号19となり、命令実行制御部2に対し、
IO介入要求保留ラッチ6の更新を指示する。
【0016】次に図5を用いて図1の動作を説明する。
図5のステップ40でSIE命令が発行され、ゲスト1
がCPUYにおいて起動される。CPUではホストある
いは他のゲストが動作している。SIE命令処理におい
て、SIE命令のB2及びD2フィールドで指定されたア
ドレスがアドレスレジスタ1に設定されて、SDが信号
1aを通して主記憶装置2より読み出され、命令実行制
御部3を通してIO介入要求ビット及びゲストPSWI
OマスクがそれぞれIO介入要求保留ラッチ4及びゲス
トPSWIOマスクラッチ5に設定される。さらにアド
レスレジスタ15にSD内の介入要求フィールドのアド
レスを設定し、ゲストVM実行中であることを示すモー
ドレジスタ17をオン(‘1’)にする。CPUYでゲ
スト1実行中に、CPUX12のVMCPがゲスト1の
IO割込要求を受け付けると(ステップ43)、VMC
Pがゲスト1のIO割込要求を保持する。つまり、アド
レスレジスタ14に書き換えるSD内の介入要求フィー
ルドのアドレスを設定し、CPUX12からの主記憶装
置2への書き込み要求信号13をオン(‘1’)にして
主記憶装置2上のゲスト1のSD内のIO介入要求ビッ
トを‘1’に書き換える(ステップ44)。主記憶装置
2は、書き換えを完了すると、前記アドレスレジスタ1
4に保持されたアドレスをアドレスレジスタ14aに設
定すると同時に、主記憶装置2に対し書き込みが行なわ
れたことを示す信号13aをオン(‘1’)にする。こ
れによりアドレスレジスタ14aに保持される主記憶装
置2に対する書き込みアドレスとアドレスレジスタ15
に保持されるSD内の介入要求フィールドのアドレスと
の一致検出回路16の出力は‘1’となり、ANDゲー
ト18に入力される。一方、モードレジスタ17および
信号13aも‘1’であるから出力の通知信号19が
‘1’となり、命令実行制御部3にSD内の介入要求フ
ィールドが書き換えられたことが伝えられる。
図5のステップ40でSIE命令が発行され、ゲスト1
がCPUYにおいて起動される。CPUではホストある
いは他のゲストが動作している。SIE命令処理におい
て、SIE命令のB2及びD2フィールドで指定されたア
ドレスがアドレスレジスタ1に設定されて、SDが信号
1aを通して主記憶装置2より読み出され、命令実行制
御部3を通してIO介入要求ビット及びゲストPSWI
OマスクがそれぞれIO介入要求保留ラッチ4及びゲス
トPSWIOマスクラッチ5に設定される。さらにアド
レスレジスタ15にSD内の介入要求フィールドのアド
レスを設定し、ゲストVM実行中であることを示すモー
ドレジスタ17をオン(‘1’)にする。CPUYでゲ
スト1実行中に、CPUX12のVMCPがゲスト1の
IO割込要求を受け付けると(ステップ43)、VMC
Pがゲスト1のIO割込要求を保持する。つまり、アド
レスレジスタ14に書き換えるSD内の介入要求フィー
ルドのアドレスを設定し、CPUX12からの主記憶装
置2への書き込み要求信号13をオン(‘1’)にして
主記憶装置2上のゲスト1のSD内のIO介入要求ビッ
トを‘1’に書き換える(ステップ44)。主記憶装置
2は、書き換えを完了すると、前記アドレスレジスタ1
4に保持されたアドレスをアドレスレジスタ14aに設
定すると同時に、主記憶装置2に対し書き込みが行なわ
れたことを示す信号13aをオン(‘1’)にする。こ
れによりアドレスレジスタ14aに保持される主記憶装
置2に対する書き込みアドレスとアドレスレジスタ15
に保持されるSD内の介入要求フィールドのアドレスと
の一致検出回路16の出力は‘1’となり、ANDゲー
ト18に入力される。一方、モードレジスタ17および
信号13aも‘1’であるから出力の通知信号19が
‘1’となり、命令実行制御部3にSD内の介入要求フ
ィールドが書き換えられたことが伝えられる。
【0017】命令実行制御部3はアドレスレジスタ1に
SDのアドレスを設定しSDを主記憶装置2より信号1
aを介して読み出す。更に、読み出したSD内のIO介
入要求ビットを‘1’の状態をIO介入要求保留ラッチ
4に反映させる(ステップ45)。つまり信号8を介し
てIO介入要求保留ラッチ4をセットする(IO介入要
求ビットが‘0’であれば、信号9を介してIO介入要
求保留ラッチ4をリセットする)。一方、ゲストPSW
IOマスクラッチ5はゲストのシステムマスク操作命令
(LPSW,STOSM,STNSM,SSM)によっ
て更新される。
SDのアドレスを設定しSDを主記憶装置2より信号1
aを介して読み出す。更に、読み出したSD内のIO介
入要求ビットを‘1’の状態をIO介入要求保留ラッチ
4に反映させる(ステップ45)。つまり信号8を介し
てIO介入要求保留ラッチ4をセットする(IO介入要
求ビットが‘0’であれば、信号9を介してIO介入要
求保留ラッチ4をリセットする)。一方、ゲストPSW
IOマスクラッチ5はゲストのシステムマスク操作命令
(LPSW,STOSM,STNSM,SSM)によっ
て更新される。
【0018】IO介入要求保留ラッチ4が‘1’でゲス
トPSWIOマスクラッチ5がオンの時、ANDゲート
6により割り込みトリガ11が‘1’となり、マイクロ
プログラム実行制御部7に対し割込が指示される。すな
わち、VMCPによりゲストIO割込が保留されている
時、IO介入要求保留ラッチ4は‘1’となり、ゲスト
PSWIOマスクラッチ5がオフの間、ゲストVMは走
行するが、ゲストのシステムマスク操作命令の実行によ
ってゲストPSWIOマスクがオンとなった(ステップ
46)後、直ちに割り込みトリガ11を‘1’とし、マ
イクロプログラムの割込によるインターセプション処理
(ステップ47)によりゲストVMの実行を終了する。
トPSWIOマスクラッチ5がオンの時、ANDゲート
6により割り込みトリガ11が‘1’となり、マイクロ
プログラム実行制御部7に対し割込が指示される。すな
わち、VMCPによりゲストIO割込が保留されている
時、IO介入要求保留ラッチ4は‘1’となり、ゲスト
PSWIOマスクラッチ5がオフの間、ゲストVMは走
行するが、ゲストのシステムマスク操作命令の実行によ
ってゲストPSWIOマスクがオンとなった(ステップ
46)後、直ちに割り込みトリガ11を‘1’とし、マ
イクロプログラムの割込によるインターセプション処理
(ステップ47)によりゲストVMの実行を終了する。
【0019】本実施例においては、主記憶装置2に対し
書き込みが行なわれたことを示す信号13a及び信号1
3aに対応した書き込みアドレスを保持するアドレスレ
ジスタ14aを介入要求フィールドの更新検出専用に設
けているが、主記憶領域の写しを保持するバッファ記憶
を備える命令プロセッサにおいては、一般に主記憶領域
が変更された場合に該主記憶領域の変更前の写しを前記
バッファ記憶に保持している場合に、該命令プロセッサ
に対し、無効化を指示する手段(無効化指示信号及び無
効化すべきアドレスを保持するアドレスレジスタ)を有
する。前記信号13a及びアドレスレジスタ14aを該
無効化指示手段にて実現することも可能である。その場
合にも、本実施例の図1により示される構成にて可能で
ある。
書き込みが行なわれたことを示す信号13a及び信号1
3aに対応した書き込みアドレスを保持するアドレスレ
ジスタ14aを介入要求フィールドの更新検出専用に設
けているが、主記憶領域の写しを保持するバッファ記憶
を備える命令プロセッサにおいては、一般に主記憶領域
が変更された場合に該主記憶領域の変更前の写しを前記
バッファ記憶に保持している場合に、該命令プロセッサ
に対し、無効化を指示する手段(無効化指示信号及び無
効化すべきアドレスを保持するアドレスレジスタ)を有
する。前記信号13a及びアドレスレジスタ14aを該
無効化指示手段にて実現することも可能である。その場
合にも、本実施例の図1により示される構成にて可能で
ある。
【0020】
【発明の効果】本発明によれば、ゲストVM実行中にV
MCPのゲスト割込保留が行なわれた場合にも、SD内
の介入要求フィールドの書き換えと同期して、実行中の
ゲストVMに介入要求フィールドの書き換えが通知され
ることから、ゲストVMの制御命令実行時における介入
要求フィールドのチェックや周期的な介入要求フィール
ドのチェックも不要となり、介入要求の処理が遅延せ
ず、かつ、ゲストVMの処理性能の向上が図れる。
MCPのゲスト割込保留が行なわれた場合にも、SD内
の介入要求フィールドの書き換えと同期して、実行中の
ゲストVMに介入要求フィールドの書き換えが通知され
ることから、ゲストVMの制御命令実行時における介入
要求フィールドのチェックや周期的な介入要求フィール
ドのチェックも不要となり、介入要求の処理が遅延せ
ず、かつ、ゲストVMの処理性能の向上が図れる。
【図1】本発明の一実施例の構成を示すブロック図であ
る。
る。
【図2】仮想計算機実行開始命令(SIE命令)の命令
形式を示す図である。
形式を示す図である。
【図3】従来技術におけるゲスト割込をホスト制御プロ
グラム(VMCP)が保留する場合の処理のフローチャ
ートを示す図である。
グラム(VMCP)が保留する場合の処理のフローチャ
ートを示す図である。
【図4】従来技術におけるLoad PSW命令の処理
のフローチャートを示す図である。
のフローチャートを示す図である。
【図5】本発明によるゲスト割込をホスト制御プログラ
ム(VMCP)が保留する場合の処理のフローチャート
を示す図である。
ム(VMCP)が保留する場合の処理のフローチャート
を示す図である。
1、14、14a、15 アドレスレジスタ 2 主記憶装置 3 命令実行制御部 4 IO介入要求保留ラッチ 5 ゲストPSWIOマスクラッチ 6、18 ANDゲート 7 マイクロプログラム実行制御部 12 CPUX 16 アドレスの一致検出回路 17 ゲスト実行中を示すモードレジスタ 60 SIE命令 61 状態記述子
Claims (2)
- 【請求項1】 ゲスト仮想計算機の状態記述子を保持す
る主記憶装置と、ゲスト仮想計算機実行開始命令の実行
の際に、該命令で指定することによりゲスト仮想計算機
の実行を開始する複数の命令プロセッサを有し、ゲスト
仮想計算機の実行中にゲスト仮想計算機の状態が予め定
めた条件を満たすとき、前記ゲスト仮想計算機状態記述
子内に登録されたゲスト仮想計算機の実行が終了するか
否かを指示する実行指示情報を変更する仮想計算機シス
テムにおいて、 前記主記憶装置上のデータが更新された際に、該主記憶
更新アドレスと更新されたことを該主記憶装置に接続さ
れる命令プロセッサに指示する第1の手段と、 ゲスト仮想計算機実行開始命令の実行時に前記ゲスト仮
想計算機状態記述子内のゲスト仮想計算機の実行指示情
報の主記憶アドレスを保持する第2の手段と、 前記第1の手段と第2の手段に保持されるアドレスの一
致比較を行なう第3の手段と、 前記第3の手段の一致検出時は、前記ゲスト仮想計算機
状態記述子に対応する実行中のゲスト仮想計算機に対
し、前記実行指示情報が変更された事を通知する第4の
手段とを設け、 該第4の手段による通知により前記実行中のゲスト仮想
計算機に対し前記実行指示情報の変更後の値を反映させ
ることを特徴とする仮想計算機システムのゲスト実行制
御方式。 - 【請求項2】 請求項1記載の仮想計算機システムのゲ
スト実行制御方式において、前記命令プロセッサ内に前
記主記憶装置のバッファ記憶を備え、前記第1の手段に
より指示される主記憶領域の写しが、該バッファ記憶に
保持されていた場合に、該バッファ記憶内の前記主記憶
領域の写しの無効化指示手段を前記第1の手段とするこ
とを特徴とする仮想計算機システムのゲスト実行制御方
式。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP6329400A JPH08161185A (ja) | 1994-12-02 | 1994-12-02 | 仮想計算機システムのゲスト実行制御方式 |
US08/566,177 US5813039A (en) | 1994-12-02 | 1995-12-01 | Guest execution control system, method and computer process for a virtual machine system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP6329400A JPH08161185A (ja) | 1994-12-02 | 1994-12-02 | 仮想計算機システムのゲスト実行制御方式 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH08161185A true JPH08161185A (ja) | 1996-06-21 |
Family
ID=18221011
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP6329400A Pending JPH08161185A (ja) | 1994-12-02 | 1994-12-02 | 仮想計算機システムのゲスト実行制御方式 |
Country Status (2)
Country | Link |
---|---|
US (1) | US5813039A (ja) |
JP (1) | JPH08161185A (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2376097B (en) * | 2001-05-31 | 2005-04-06 | Advanced Risc Mach Ltd | Configuration control within data processing systems |
US7620955B1 (en) * | 2001-06-08 | 2009-11-17 | Vmware, Inc. | High-performance virtual machine networking |
US8099730B2 (en) * | 2006-03-30 | 2012-01-17 | Intel Corporation | Heterogeneous virtualization of host and guest OS having different register sizes using translation layer to extract device port numbers for host OS system memory addresses |
US8307360B2 (en) * | 2008-01-22 | 2012-11-06 | Advanced Micro Devices, Inc. | Caching binary translations for virtual machine guest |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4135240A (en) * | 1973-07-09 | 1979-01-16 | Bell Telephone Laboratories, Incorporated | Protection of data file contents |
JPS60107156A (ja) * | 1983-11-16 | 1985-06-12 | Hitachi Ltd | デ−タ処理システム |
JPH0810437B2 (ja) * | 1987-05-11 | 1996-01-31 | 株式会社日立製作所 | 仮想計算機システムのゲスト実行制御方式 |
JPH0293952A (ja) * | 1988-09-30 | 1990-04-04 | Hitachi Ltd | 仮想計算機システム |
-
1994
- 1994-12-02 JP JP6329400A patent/JPH08161185A/ja active Pending
-
1995
- 1995-12-01 US US08/566,177 patent/US5813039A/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US5813039A (en) | 1998-09-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6895460B2 (en) | Synchronization of asynchronous emulated interrupts | |
US7886293B2 (en) | Optimizing system behavior in a virtual machine environment | |
US7209994B1 (en) | Processor that maintains virtual interrupt state and injects virtual interrupts into virtual machine guests | |
US7178062B1 (en) | Methods and apparatus for executing code while avoiding interference | |
JP3320358B2 (ja) | コンパイル方法、例外処理方法、及びコンピュータ | |
US8429669B2 (en) | Virtual machine switching control by prefetching information out of and updating a set of processor control information based on a bitmap having update status | |
US5386565A (en) | Method and system for controlling/monitoring computer system having plural operating systems to run thereon | |
JPH0658650B2 (ja) | 仮想計算機システム | |
JP2004110786A (ja) | データ処理装置およびデータ処理方法 | |
US6871173B1 (en) | Method and apparatus for handling masked exceptions in an instruction interpreter | |
JP2020535512A (ja) | 例外マスク更新命令後のトランザクションの非アボート処理の許可 | |
US10963280B2 (en) | Hypervisor post-write notification of control and debug register updates | |
US5003468A (en) | Guest machine execution control system for virutal machine system | |
US20170249179A1 (en) | Guest initiated atomic instructions for shared memory page host copy on write | |
JPH08161185A (ja) | 仮想計算機システムのゲスト実行制御方式 | |
JP7137058B2 (ja) | 演算処理装置、情報処理装置及び情報処理装置の制御方法 | |
JPH06324861A (ja) | Cpu制御システム及び制御方法 | |
JPS5955546A (ja) | フア−ムウエア処理装置 | |
JP3762597B2 (ja) | 計算機とその制御方法 | |
JPS62219058A (ja) | 共有メモリの排他制御方式 | |
JPH02231634A (ja) | ソフトウェア互換性維持方法 | |
JPH0567973B2 (ja) | ||
JPH0535499A (ja) | データ処理装置及びデータ処理方法 | |
JPH07104834B2 (ja) | 処理装置間ロック制御システム | |
JP3616588B2 (ja) | マイクロプログラムチェックシステム |