JPH0567972B2 - - Google Patents

Info

Publication number
JPH0567972B2
JPH0567972B2 JP58212203A JP21220383A JPH0567972B2 JP H0567972 B2 JPH0567972 B2 JP H0567972B2 JP 58212203 A JP58212203 A JP 58212203A JP 21220383 A JP21220383 A JP 21220383A JP H0567972 B2 JPH0567972 B2 JP H0567972B2
Authority
JP
Japan
Prior art keywords
interrupt
psw
register
pending
processing
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
JP58212203A
Other languages
English (en)
Other versions
JPS60105052A (ja
Inventor
Hiroshi Ikegaya
Hidenori Umeno
Osamu Onodera
Takashige Kubo
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 JP58212203A priority Critical patent/JPS60105052A/ja
Publication of JPS60105052A publication Critical patent/JPS60105052A/ja
Publication of JPH0567972B2 publication Critical patent/JPH0567972B2/ja
Granted legal-status Critical Current

Links

Description

【発明の詳細な説明】 〔発明の利用分野〕 本発明は、仮想計算機システムに関し、特に、
特権命令シミユレーシヨンのオーバヘツドを削減
することができる仮想計算機システムに関するも
のである。
〔発明の背景〕
近年、デイジタル計算機の応用分野が拡大する
に伴つて、実主記憶装置の容量の制約を低減した
アドレス方式(仮想記憶方式)が使用され、さら
にこの方式を用いて1つの実計算機を多数のオペ
レーテイング・システム(以下OS)が同時に使
用できる方式(仮想計算機システム)が用いられ
ている。
仮想計算機システムは、1台の実計算機の資源
(処理装置、実記憶装置、チヤネルおよび入出力
装置等)のもとで、あたかも複数の計算機が存在
するかの如く制御する計算機システムである。仮
想計算機システム(以下VMS)では、主メモリ
や入出力装置は勿論、処理装置を含むすべての資
源をOS間で共用することができるように、多数
のOSが1つの実計算機上で見掛け上、同時に走
行できるようにする。このため、実計算機におけ
る2つの動作モード、つまり特権モードと非特権
モードの動作形態を利用する。すなわち、一般的
には、特権モードはOSの動作モードに使用され
ているが、VMSでは、特権モードは特殊な制御
プログラム(これを仮想計算機制御プログラム
(以下VMCP)という)の動作モードとし、OS
を非特権モードで動作させるのである。複数の仮
想計算機(以下VM)は、実計算機と機能的に等
価となるようにVMCPによりシミユレーシヨン
される。
第1図は、通常のVMSの概念図である。実計
算機1は、特権または非特権モードの処理要求
(マシン命令)を扱うことができる実計算機イン
タフエースをVMCP4に対し与えると、VMCP
4はこれを利用して動作し、各VM31,32の
OS311やOS321の動作を可能にするため、
別の実計算機インタフエースをこれらに与える。
第1図では、2つのVMしか示されていない
が、多数のVMが存在しても同じであつて、OS
311,321は、VM31,32が与える実計
算機インタフエースを用いて動作することにな
り、あたかも実計算機1上で動作しているように
見える。また、OS311,321は、ユーザ・
プログラム511,521,531,541に対
して拡張マシン・インタフエースを与える。ここ
で、拡張マシン51,52,53,54とは、ユ
ーザ・プログラムからのあるまとまつた機能処理
の要求(スーパバイザ・コール)に対する処理
を、OSごとにそのOS内で実行する機能、および
非特権モードのマシン命令等である。
このように、VMCP4とVM31,32との関
係は、一般のOSにおける制御プログラムと処理
プログラムとの関係に類似する。すなわち、制御
プログラムに相当するものがVMCP4であり、
処理プログラムに相当するものがVM31,32
である。VMCP4が生成したVM31,32は、
非特権モードで実行するため、VM31,32上
での特権命令は特権命令例外としてVMCP4に
報告され、VMCP4がシミユレーシヨンを行う
ことにより実行される。
第2図は、従来のVMの特権命令シミユレーシ
ヨンの概念図である。
第2図において、1は実計算機のハードウエア
であつて、演算機能とVMA(フアームウエア・
アシスト)とを含む。2は実記憶装置のVMCP
であつて、割り込み処理プログラム21と特権命
令シユミレーシヨン・プログラム22とVMの起
動処理プログラム23が格納されている。31,
32,33は、それぞれ仮想記憶装置のVMであ
つて、非特権モードで動作する。
次に、VMCPによる特権命令シミユレーシヨ
ンのうち、PSW(Program Status Word)を制
御する特権命令のシミユレーシヨン処理の概略に
ついて述べる。
一般的には、PSWは非同期割込み(入出力割
込み、外部割込み等)を制御する割込みマスクが
設けられており、これらの入出力装置、外部装置
等のリソースは各VMにより共有されている。そ
して、あるVM(第2図ではVM1)に対する非
同期割込みが発生し、そのVMがその割込みに対
して割込み不可能である場合は、VMCP側で保
留する。すなわち、VMCP側では、割込み要因
を記憶する処理を行い、そのVMに対する実際の
割込みの反映は、対応するVMに制御が渡り、
VMのPSWの割込みマスクが割込み可能となつ
たときに行うようにしている。そのため、
VMCPは該当するVMに対する割込みの保留(ペ
ンデイング)状態を記憶する手段を用意する必要
がある。
第2図の矢印で示すように、あるVMから特権
命令が発行された場合の処理は、実計算機1の演
算機能からVMCPで特権命令のシミユレーシヨ
ンを行う方法と、演算機能からフアームウエア・
アシスト(VMA)機構により特権命令のシミユ
レーシヨンを行う方法の2つがある。先ず、
VMCPにおけるシミユレーシヨンについて述べ
る。
第3図は、従来におけるPSWを制御する特権
命令のシミユレーシヨン方式のフローチヤートで
ある。
ここで、シミユレーシヨンとは、VMの特権命
令の動作(例えばPSW変更動作)を、実計算機
のプログラムによつて解釈実行する方法であつ
て、VMの命令を取り出し、そのアドレスを実計
算機のアドレス、まじ実アドレスに変換する。ま
た、命令の操作コードを処理して、VMの操作コ
ードに対する動作を実行するようにプログラムさ
れたルーチンのアドレスを求める。このルーチン
の実行により、先に取り出した命令の操作が行わ
れ、終了すれば次の命令を取り出す。
第3図において、シミユレーシヨンが開始され
ると、先ずVMCPは特権命令をVMのPSWに対
してシミユレーシヨンする(ステツプ301)。特権
命令シミユレーシヨンの結果、PSWの割込みマ
スク“1”となつた場合には(割込み可能となつ
たとき)、そのVMに対する非同期割込みがベン
テイングになつているか否かを調べる(ステツプ
302,303)。ステツプ303で、VMへの非同期割込
みがベンテイングになつているときには、その割
込み要因を処理する(ステツプ304)。また、ステ
ツプ302でPSWの割込みマスクが“0”である
か、ステツプ303で非同期割込みがベンテイング
でなければ、その特権命令シミユレーシヨンの結
果、PSWが待ち状態となつた否を調べる(ステ
ツプ305)。ステツプ305でPSWが待ち状態のと
き、あるいはステツプ304で割込み処理が終了し
た後、VMのスケジユールと起動処理を行う(ス
テツプ306)。これにより、シミユレーシヨン方式
の動作は終了する。
第3図のステツプ302では、割込みマスクを調
べているが、これはPSW内の割込みマスクであ
る。通常の計算機システムには、割込みに対する
マスクとして、PSW内の割込みマスクとは別個
に、サブマスクが存在する。このサブマスクが
“0”のときに割込みが発生した場合には、PSW
の割込みマスクが“1”であつても割込みがペン
デイングとなり、サブマスクが“1”になつたと
きに、始めてそのペンデイング割込みを反映する
必要がある。VMSの場合、サブマスクが“1”
となつたときには、VMCPに処理を委ねている。
次に、第2図のVMA機構について述べる。
第2図のVMSにおいて、特権命令シミユレー
シヨンを実記憶装置2のVMCPによつて処理す
る場合には、実計算機下のOSで実行した場合と
比較して、かなりの性能低下が生じる。すなわ
ち、シミユレーシヨンは完全にソフトウエアのみ
でプログラムの処理を行う方法であるため、融通
性が高い等の利点はあるが、実行速度が非常に遅
くなるのが実用上の最大の難点である。
そこで、従来より、VM上の特権命令の実行を
支援するフアームウエア・アシスト(VMA)が
用いられている。このVMAは、VMCPのシミユ
レーシヨンを代行するものであるが、VMCPの
割込み処理および起動処理を省略することができ
るので、高速化を図ることができる。
しかし、このVMA処理は、第3図フローのう
ち、ステツプ302,303,および305の処理を行い、
条件が成立した場合およびVMA処理の中で
VMAでは処理が不可能な場合にはVMCPに処理
を委ねている。したがつて、条件成立のときに
は、やはり処理が遅くなる。
また、このVMAは、VMA用制御ブロツクに
対して、単純な処理だけを選び出し、VMCPの
処理を代行するものであるため、基本的にはシミ
ユレーシヨンと変わりはない。したがつて、実計
算機での処理に比較すると、1つの特権命令当り
2,3倍の実行時間を要する。
そこで、さらにVMに実計算機のPSWを占有
させる方法を採用し、直接実行モードを設けるこ
とにより、VMのOSと同じ特権モードでVM上
の特権命令を直接実行させ、つまりVMCPおよ
びVMAを介入させることなく実行させ、実計算
機に比較して殆んど同等の性能を与えることが考
えられる。
しかし、この直接実行方式では、第3図のフロ
ーのうちのステツプ302,303および305の条件が
成立した場合、割込み保留、解除処理およびVM
起動処理をVMCPで行う必要がある。
第4図は、VM上の特権命令を直接実行する方
式のVMSのブロツク図である。
第4図においては、第2図と同じように、実計
算機1の中に実計算機用マイクロプログラム12
とVMAマイクロプログラム13を設けるととも
に、判定用マイクロプログラム11を新しく設け
る。
VM3上で特権命令が発行されると、その特権
命令を直接実行する前に、判定用マイクロプログ
ラム11で第3図のフローのうちのステツプ302,
303および305の判定処理を行い、条件が成立した
ときには、直接実行は行わずに、VMCPに制御
を委ねる。VMCPでは、前述と同じようにして、
割込み保留、解除処理およびVM起動処理を行つ
て、VM3に対し制御を渡す。一方、判定処理で
条件が不成立のときには、実計算機用マイクロプ
ログラム12により前述のVMに実計算機の
PSWを占有させる方法を用いて特権命令を直接
実行した後、制御をVM3に渡す。
この方法によれば、直接実行の場合には、
VMCPおよびVMAの介入は不要となるが、直接
実行が可能か否かの判定処理が常に必要となり、
それをマイクロプログラムで行つてもなお、実計
算機に対するオーバヘツドとなるため、直接実行
の効果が低下する。
〔発明の目的〕
本発明の目的は、このような問題を解決するた
め、上記マイクロプログラムによる判定処理を不
要にし、かつPSWを制御する特権命令を直接実
行することにより、VMCPのシミユレーシヨ
ン・オーバヘツドを削減して、VMSの性能を向
上させるこが可能な仮想計算機システムを提供す
ることにある。
〔発明の概要〕
上記目的を達成するため、本発明の仮想計算機
システムは、仮想計算機モードで動作させるとき
には、実計算機の動作状態を示すPSWレジスタ
を該仮想計算機に占有させるとともに、該PSW
レジスタの内容の中に割込み可能であることを示
すフラグと、上記オペレーテイング・システムに
対する割込み保留要因の有無を示すペンデイン
グ・レジスタと、仮想計算機の起動時に上記管理
プログラムにより上記オペレーテイング・システ
ムに対する割込みがペンデイングになつていると
き、上記ペンデイング・レジスタに割込み保留要
因有をセツトする手段と、PSWレジスタの上記
フラグが割込み可能を示し、かつ上記ペンデイン
グ・レジスタが割込み保留要因有を示すとき、管
理プログラムに割込みを行う手段とを有すること
に特徴がある。
〔発明の実施例〕
以下、本発明の実施例を、図面により説明す
る。
第5図は、本発明の一実施例を示すVMSのブ
ロツク図である。
第5図の実計算機1では、第4図の場合と同じ
ように、直接実行を行う実計算機用マイクロプロ
グラム12と、VMAマイクロプログラム13と
を設け、かつ第4図の判定用マイクロプログラム
11のかわりに判定用ハードウエア14を設ける
が、これは実計算機用マイクロプログラム12の
後段に配置する。また、上記両マイクロプログラ
ム12,13の前段に、直接実行モードか否かを
判断するマイクロプログラム命令10を配置す
る。
VM3から特権命令が発行されたとき、実計算
機1は、命令10により直接実行モードであるか
否かが判定され、直接実行モードの場合には、実
計算機用マイクロプログラム12により前述の
VMに実計算機のPSWを占有させる方法で特権
命令を直接実行する。それ以外の場合には、
VMAマイクロプログラム13により処理が行わ
れる。
ただ、このVMA処理においても、第3図のフ
ローにおけるステツプ302,303および305の処理
で条件が成立した場合およびVMAでは処理が不
可能な場合には、VMCPに処理を委ねる必要が
ある。それ以外の場合でははVMAマイクロプロ
グラム13で処理された際に直ちにVM3に制御
が渡される。
一方、実計算機用マイクロプログラム12で処
理された場合には、判定用ハードウエア14によ
りVMCPに割込む必要があるか否かが判定され
る。そして、ここでは、第3図のフローのうちの
ステツプ302,303および305の判定処理をハード
ウエアで高速に行い、条件が成立した場合には
VMCPに割込み、条件が不成立の場合には直ち
にVM3に制御を渡す。
以上の処理のうち、直接実行モードであるか否
かの判定は、マイクロプログラムにより僅かな時
間しかかからず、性能には殆んど影響を及ぼさな
い。また、判定用ハードウエア14の判定処理
は、前述のように高速に行われるので、これも僅
かな時間しか要しない。したがつて、第5図の
VM特権命令の処理は、第4図に比較してきわめ
て高速にできる。
また、判定ハードウエア14から主記憶装置2
のVMCPへの割込みは、先ず割込み処理用マイ
クロプログラムにプレイクインし、ハードウエア
またはマイクロプログラムによりVMCPに割込
む。VMCPは、主記憶装置2にVMCP固有の割
込み情報格納領域(すなわち、プレフイクス・エ
リア)を保持しているので、上記ハードウエアま
たはマイクロプログラムはこの領域を選択するよ
うにアドレス指定を行う。
第6図は、第5図における判定用ハードウエア
の構成図である。
判定用ハードウエア14は、第6図に示すよう
に、プログラム状態語((PSWレジスタ)10
1、I/O割込みペンデイング・レジスタ
(IOPNDR)102、外部割込みペンデイング・
レジスタ(EXPNDR)103、AND回路10
4,105,107およびOR回路106から構
成されている。
PSWレジスタ101では、I/Oマスク、
EXTマスクが“1”のとき、それぞれI/O割
込み、外部割込みが可能であることを示す。すな
わち、これらのI/Oマスク、EXTマスクを参
照することにより、第3図のフローのテツプ302
の判断処理が可能となる。また、PSWレジスタ
101のWが“1”のときPSWが待ち状態であ
ることを示す。すなわち、このWビツトを参照す
ることにより、第3図フローのステツプ305の判
断処理が可能となる。
また、VMCPによりI/O割込みがペンデイ
ングになつており、サブマスクに関しては割込み
可能であるが、PSWのI/Oマスクが“0”の
ために割込み不可能となつているものが存在する
とき、ペンデイング・レジスタ102には“1”
がセツトされる。さらに、VMCPにより外部割
込みがペンデイングになつており、サブマスクに
関しては割込み可能であるが、PSWのEXTマス
クが“0”のため割込み不可能になつているもの
が存在するとき、ペンデイング・レジスタ103
には“1”がセツトされる。これらのペンデイン
グ・レジスタ102,103には、VMの起動
時、VMCPが専用のVM起動命令を発行したとき
に、その命令のハードウエアによる処理で、その
VMの制御ブロツク内のペンデイング・エリアか
らロードされる。そして、これら両ペンデイン
グ・レジスタ102,103参照することによ
り、第3図のフローのステツプ303の判断処理が
可能となる。
先ず。PSWレジスタ101I/Oマスクとペ
ンデイング・レジスタ102は、AND回路10
4の入力となる。両者が“1”のとき、つまり
I/O割込みが可能で、I/O割込みがペンデイ
ングとなつている場合、AND回路104から
“1”が出力される。同じようにして、PSWレジ
スタ101のEXTマスクとペンデイング・レジ
スタ103は、AND回路105の入力となり、
両者が“1”のとき、つまり外部割込みが可能
で、外部割込みがペンデイングとなつている場
合、AND回路105から“1”が出力される。
AND回路104の出力とAND回路105の出力
のいずれかが“1”のとき、あるいは、PSWレ
ジスタ1のWフイールド内容が“1”のとき、
OR回路106から“1”が出力される。そし
て、OR回路106の出力が“1”で、PSW変更
要求が発行された場合に、AND回路107から
“1”が出力される。AND回路107の出力が
“1”のとき、割込み処理用マイクロプログラム
にブレイクインする。このとき、ハードウエアま
たはマイクロプログラムにより割込み情報格納領
域(プレフイツクス・エリア)が決定される。こ
のの場合、VMCP固有のプレフイツクス・エリ
アが保持されているので、そのプレフイツクスを
選択することにより、VMCPに割込む。
このように、本実施例では、特権命令を直接実
行後、もし必要ならばハードウエアにより
VMCPに制御を渡すので、直接実行前のマイク
ロプログラムによる判定処理を省略することがで
き、高速処理が可能となる。
これによつて、特権命令の直接実行の効果がさ
らに上がり、実計算機による特権命令の実行と比
較して、殆んど同等の性能にすることができる。
〔発明の効果〕
以上説明したように、本発明によれば、PSW
を制御する特権命令を直接実行し、VMCPへの
割込み判定をハードウエアで行うので、VMCP
のシミユレーシヨン・オーバヘツドを大に削減す
ることができ、VMSの性能を向上させることが
可能となる。
【図面の簡単な説明】
第1図は通常の仮想計算機システムの概念図、
第2図は従来の仮想計算機の特権命令シミユレー
シヨンの概念図、第3図は従来におけるPSW制
御用特権命令のシミユレーシヨン方式のフローチ
ヤート、第4図は仮想計算機上の特権命令を直接
実行するシステムのブロツク図、第5図は本発明
の一実施例を示す仮想計算機システムのブロツク
図、第6図は第5図における判定用ハードウエア
の構成図である。 1:実計算機、2:主記憶装置、3:仮想計算
機、10:直接実行かの否か判断マイクロプログ
ラム、12:実計算機用マイクロプログラム、1
3:VMAマイクロプログラム、14:判定用ハ
ードウエア、21:割込み処理プログラム、2
2:特権命令シミユレーシヨン用プログラム、2
3:VMの起動処理用プログラム、101:
PSWレジスタ、102,103:ペンデイン
グ・レジスタ、104,105,107:AND
回路、106:OR回路。

Claims (1)

  1. 【特許請求の範囲】 1 複数のオペレーテイング・システムを1つの
    実計算機上で同時に動作させる管理プログラムを
    備えた仮想計算機システムにおいて、仮想計算機
    モードで動作させるときには、実計算機の動作状
    態を示すPSWレジスタを該仮想計算機に占有さ
    せるとともに、該PSWレジスタの内容の中に割
    込み可能であることを示すフラグと、上記オペレ
    ーテイング・システムに対する割込み保留要因の
    有無を示すペンテイング・レジスタと、仮想計算
    機の起動時に上記管理プログラムにより上記オペ
    レーテイング・システムに対する割込みがペンデ
    イングになつているとき、上記ペンデイング・レ
    ジスタに割込み保留要因有をセツトする手段と、
    PSWレジスタの上記フラグが割込み可能を示し、
    かつ上記ペンデイング・レジスタが割込み保留要
    因有を示すとき、上記管理プログラムに割込みを
    行う手段とを有することを特徴とする仮想計算機
    システム。 2 前記管理プログラムに割込みを行う手段は、
    オペレーテイング・システムがPSWの内容を待
    ち状態とした場合には、無条件で割込みを行うこ
    とを特徴とする特許請求の範囲第1項記載の仮想
    計算機システム。
JP58212203A 1983-11-11 1983-11-11 仮想計算機システム Granted JPS60105052A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP58212203A JPS60105052A (ja) 1983-11-11 1983-11-11 仮想計算機システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP58212203A JPS60105052A (ja) 1983-11-11 1983-11-11 仮想計算機システム

Publications (2)

Publication Number Publication Date
JPS60105052A JPS60105052A (ja) 1985-06-10
JPH0567972B2 true JPH0567972B2 (ja) 1993-09-28

Family

ID=16618625

Family Applications (1)

Application Number Title Priority Date Filing Date
JP58212203A Granted JPS60105052A (ja) 1983-11-11 1983-11-11 仮想計算機システム

Country Status (1)

Country Link
JP (1) JPS60105052A (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7500244B2 (en) 2004-06-30 2009-03-03 Intel Corporation Adaptive algorithm for selecting a virtualization algorithm in virtual machine environments

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS54107647A (en) * 1978-02-13 1979-08-23 Hitachi Ltd Data processor
JPS55112651A (en) * 1979-02-21 1980-08-30 Fujitsu Ltd Virtual computer system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS54107647A (en) * 1978-02-13 1979-08-23 Hitachi Ltd Data processor
JPS55112651A (en) * 1979-02-21 1980-08-30 Fujitsu Ltd Virtual computer system

Also Published As

Publication number Publication date
JPS60105052A (ja) 1985-06-10

Similar Documents

Publication Publication Date Title
US4885681A (en) I/O Execution method for a virtual machine system and system therefor
JPS6258341A (ja) 入出力割込処理方式
JPS61206043A (ja) 仮想計算機システムにおける割込制御方法
EP1839142A1 (en) System and method to deprivilege components of a virtual machine monitor
JPH0430053B2 (ja)
JPH0215369A (ja) ベクター処理システムの命令を実行する方法及び装置
US5021991A (en) Coprocessor instruction format
US4821231A (en) Method and apparatus for selectively evaluating an effective address for a coprocessor
US5003468A (en) Guest machine execution control system for virutal machine system
JPH07120338B2 (ja) 共同プロセッサによる命令の実行をデータプロセッサが調整する方法および該データプロセッサ
US4994961A (en) Coprocessor instruction format
EP0301707B1 (en) Apparatus and method for providing an extended processing environment on nonmicrocoded data processing system
JPH0567972B2 (ja)
US4758978A (en) Method and apparatus for selectively evaluating an effective address for a coprocessor
JPS6049352B2 (ja) デ−タ処理装置
JPS61184643A (ja) 仮想計算機の起動制御方式
JPS60225944A (ja) 仮想計算機システム
JPH0638238B2 (ja) 仮想計算機システム
JPS6273333A (ja) エミュレーション制御装置
JPH0444131A (ja) 複数os走行システムにおけるプロセッサ間通信の実行装置および方法
JPH0754468B2 (ja) 仮想計算機システム
US4811274A (en) Method and apparatus for selectively evaluating an effective address for a coprocessor
JPH0567973B2 (ja)
JPS61208133A (ja) 仮想計算機システムにおける状態レジスタ制御装置
JP2586690B2 (ja) 命令プリフェッチ装置