JPH05108383A - 仮想計算機システムの割込みマスク方式 - Google Patents

仮想計算機システムの割込みマスク方式

Info

Publication number
JPH05108383A
JPH05108383A JP3269897A JP26989791A JPH05108383A JP H05108383 A JPH05108383 A JP H05108383A JP 3269897 A JP3269897 A JP 3269897A JP 26989791 A JP26989791 A JP 26989791A JP H05108383 A JPH05108383 A JP H05108383A
Authority
JP
Japan
Prior art keywords
mask
interrupt
domain
register
update
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.)
Withdrawn
Application number
JP3269897A
Other languages
English (en)
Inventor
Yoshiyuki Uehara
良幸 植原
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP3269897A priority Critical patent/JPH05108383A/ja
Publication of JPH05108383A publication Critical patent/JPH05108383A/ja
Withdrawn legal-status Critical Current

Links

Abstract

(57)【要約】 【目的】OS上で複数の仮想計算機を構成するVMドメ
インに対し周辺装置から発生される割込みをVMドメイ
ン上で識別可能な割込みにマスクして割込み要求を上げ
る割込マスク方式に関し、ハードウェアを増加すること
なく規模の大きなシステムであっても周辺装置からCP
Uに対する割込みの扱いを効率良く行うことを目的とす
る。 【構成】ハードウェアで構成する割込要求保留ラッチ1
2や割込マスクをラッチするマスクレジスタ10は、周
辺装置の数に対応した数に止める。物理番号LSN=0
〜3で示される周辺装置とDMID=0〜3で示される
VMドメインに対する割り当て情報や、VMドメイン内
で識別可能な周辺装置の論理番号DLNとの対応情報
は、CPU内部の記憶領域に保持しておき、マスクレジ
スタ10の割込マスクを更新する際には、記憶情報と実
行中のVMドメイン番号とを比較し、一致したVMドメ
インに対応する割込マスクを更新対象として指示して割
込マスクの値を更新させる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、仮想計算機システムに
おいてオペレーティング・システム(以下「OS」とい
う)上で複数の仮想計算機を構成するVMドメインに対
し周辺装置から発生される割込みをVMドメイン上で識
別可能な割込みにマスクして割込み要求を上げる割込マ
スク方式に関する。
【0002】仮想計算機システムにおいては、I/O装
置などの周辺装置は、オペレーション・システムの走行
環境中における仮想計算機のイメージである稼働中の複
数のVMドメインのうちの一つに専有されたり、VMド
メインの複数から共用されたりする形態が実現されてい
る。VMドメインが特定の周辺装置を占有する場合に、
周辺装置をVMドメインに割り当てる最も簡単で効率の
良い方法は、I/Oチャネル装置やI/Oバス・アダプ
タ装置のようなI/Oインタフェース装置を複数用意
し、装置単位にVMドメインに割り当てることである。
【0003】この場合、I/OチャネルやI/Oバス・
アダプタを経由する周辺装置からの割込み要求は、I/
OチャネルやI/Oバス・アダプタ毎にVMドメインに
割り振ることができる。このような恵まれた条件では、
論理的にVMドメイン毎に提供される割込みマスクレジ
スタをハードウェア的に実現し、VMモニタプログラム
の処理を軽減し、さらなる性能向上を図ることが容易に
できる。
【0004】そこで割込み要求と割込みマスクをVMド
メインの数だけハードウェアで用意するような割込マス
ク方式が提案されている。このように割込み要求と割込
みマスクをVMドメインの数だけハードウェアで用意す
るような割込マスク方式は、VMドメイン数が2から4
程度で、かつ、I/OチャネルやI/Oバス・アダプタ
の数が2から4程度の小規模なシステムでは、効率良く
VMドメインを提供できる。しかし、VMドメインや周
辺装置の数が4を越えるような中規模や大規模な仮想計
算機システムになると、CPU毎に必要となる割込み要
求の保留ラッチや、割込みマスクのラッチが莫大な数と
なり、現実的な値ではなくなってしまい、この点の改善
が望まれる。
【0005】
【従来の技術】図10は本願発明者等が既に提案してい
る比較的小規模な仮想計算機システムを対象とした割込
マスク回路であり、VMドメイン、I/Oバスアダプタ
及び周辺装置をそれぞれ4台とし、またI/Oバスアダ
プタから単一の割込み要求のみが上げられる場合を例に
とっている。
【0006】図10において、10−0〜10−3はマ
スクレジスタ(DIM)であり、ドメイン識別番号DM
ID=0〜3に示すように、4つのVMドメイン毎に割
当てている。マスクレジスタ10−0〜10−3に対し
てはI/Oバスアダプタを経由して上げられる周辺装置
からの割込み要求フラグをラッチする割込要求保留ラッ
チ12−0〜12−3が設けられる。
【0007】マスクレジスタ10−0〜10−3の各マ
スクと割込要求保留ラッチ12−0〜12−3の出力は
マスク回路部14−0〜14−3のに設けた4つのAN
D回路16a〜16dで論理積が取られ、OR回路18
でまとめられた後、統括マスクで制御されるAND回路
20を介して出力される。ここでマスクレジスタ10−
0〜10−3の割当てを受けたVMドメインは、予め定
めた特定の周辺装置を専有しており、この専有関係を周
辺装置に対応した物理番号SLN=0〜3で示すと、例
えば単純な例として次表のようになる。またVMドメイ
ン内で認識可能な論理番号DLNとの対応関係も同時に
定められる。
【0008】
【表1】
【0009】22は拡張制御レジスタ(ECR)であ
り、マスクレジスタ10−0〜10−3のマスク回路1
4−0〜14−3から出力との論理積をマスク回路24
に設けたAND回路26〜26dで取ってOR回路28
でまとめ、更に統括マスクで制御されるAND回路30
から割込み要求を上げる。更に32は共通マスクレジス
タ(HIM)であり、I/Oバスアダプタを経由して物
理番号SLN=0〜3として上げられる周辺装置からの
割込み要求フラグをラッチする割込要求保留ラッチ34
が設けられ、両者の論理積をマスク回路36に設けたA
ND回路38a〜38dで取り、OR回路40でまとめ
た後に統括マスクで制御されるAND回路42を介し、
最終的にOR回路44で拡張制御レジスタ22のマスク
回路24からの割込み要求との論理和を取ってI/Oバ
ス割込み要求として上位装置に上げている。
【0010】まずVMドメイン毎に割当てられたマスク
レジスタ10−0〜10−3を説明する。マスクレジス
タは図11に取り出して示すように32ビット長のレジ
スタであり、その内の16〜19ビット目を使用して4
つ周辺装置の論理番号DLN=0〜3に対応した割込マ
スクを格納し、0ビット目を使用して1つの統括マスク
を格納している。
【0011】マスクレジスタ13の統括マスク及び各割
込マスクは、VMドメインで稼働するOSが既存のマス
クレジスタ更新命令を使用して更新できる。図10のV
Mドメイン毎に割り当てられたマスクレジスタ10−0
〜10−3は、予め設定した対応関係をもつI/Oバス
アダプタを経由して周辺装置から上げられた物理番号S
LN0〜3で示す割込み要求を、VMドメイン内のOS
で識別可能な周辺装置の論理番号でマスクし、更に設定
されている割込レベルに従って割込の許可又は禁止を決
定し、許可された割込要求のみを拡張制御レジスタ22
のマスク回路24、及び共通マスクレジスタ32のマス
ク回路36を経由してI/Oバス割込みとして上位装置
に上げる。
【0012】ここでVMドメインのOSによるマスクレ
ジスタの更新処理を図12を参照して説明すると次のよ
うになる。まずVMドメインにおいてOSが立ち上げら
れた時、OSの初期化処理(IPL)において、全ての
マスクレジスタ10−0〜10−3の割込マスクを許可
マスク1に設定する。
【0013】初期化処理が済むと、VMドメインで要求
されたソフトウェア処理が行われ、処理中にI/O命令
が発行されると、指示された周辺装置においてI/O処
理が実行される。周辺装置でのI/O処理の実行が終了
すると、I/Oバスアダプタ及びマスク回路を経由して
I/Oバス割込み要求が上がり、ソフトウェア処理は中
断されてVMドメインのOSに制御が引き渡される。
【0014】例えば図11において物理番号SLN=1
の周辺装置からの割込み要求を受けたとすると、この割
込みをVMモニタプログラムが認識して割込みを反映す
べきVMドメイン、例えばDMID=1のVMドメイン
を決定し、対応する割込要求保留ラッチ12−1に割込
要求フラグSLN=1をラッチさせる。このときマスク
レジスタ10−1の斜線部で示す割込マスクの位置に
は、前回の割込み処理の際に例えば論理番号DLN=0
を反映する物理番号SLN=1の割込みを許可する許可
マスク1の更新が行なわれており、統括マスクも許可マ
スク1にあることからマスク回路14−1から割込要求
が出力され、マスク回路24,36を介して上位装置に
I/Oバス割込みとして上げられる。
【0015】このI/Oバス割込みを受けたVMドメイ
ンのOSは、対応するマスクレジスタ10−1の統括マ
スクを禁止マスク0に更新してDMID=1のVMドメ
インに対する全ての割込みの受付けを一括禁止し、次の
処理状態に応じてマスクレジスタ10−1への割込レベ
ルを再設定する。割込レベルは、例えば図の上部に示す
ように、0〜7の8レベルの中から指定される。割込レ
ベルの再設定が済むとOSは統括マスクを許可マスク1
に戻して割込みを可能とし、ソフトウェア処理に制御を
戻す。以上の動作はI/Oバス割込み毎に繰り返され
る。
【0016】このときの割込みレベルの再設定処理で
は、OSが従来からのマスクレジスタ更新命令として知
られたストアマスク命令STMとロードマスク命令LD
Mを使用する。即ち、ストアマスク命令STMを発行し
てマスクレジスタからマスクデータを読込み、割込みレ
ベルを更新してからロードマスク命令LDMを発行して
マスクレジスタのマスク値を再設定する。
【0017】次に拡張レジスタ22を説明する。拡張レ
ジスタ22は図11(b)に取り出して示すように、4
つのVMドメインに対応したDMID=0〜3の各マス
クと1つの統括マスクで構成される。この拡張制御レジ
スタ22は、VMモニタプログラムによるマスクの更新
を受け、VMドメインに対する割込みをVMドメイン単
位で一括してマスクする。
【0018】即ち、VMモニタプログラムがVMドメイ
ンに割込みを反映させる場合、VMドメイン上のOSか
ら見ると、割込みが恰も直接発生したかのように見せな
ければならない。VMモニタプログラムは、VMモニタ
プログラムに発生した割込みを解析して割込みの反映先
のVMドメインを決定すると、VMドメインの環境を割
込み発生後の状態に変更する。この変更すべき事柄の中
には、VMドメイン毎にVMドメイン上のOSに提供し
たマスクレジスタ10−1〜10−3がある。
【0019】このマスクレジスタ10−0〜10−3
は、例えば割込みの発生と同時に割込みが禁止するよう
に更新され、別の割込みが連続して発生しないようにし
ている。従って割込みを反映する際に、割込みを反映す
るVMドメインのマスクレジスタ10−0〜10−3を
割込み禁止するように更新しなければならない。しか
し、マスクレジスタ10−0〜10−3を割込禁止に更
新する制御を仮想計算機モードでない場合に提供されて
いるマスクレジスタの更新命令だけで行うと、アルゴリ
ズムが複雑となり、VMモニタプログラムの負担が増大
する。
【0020】そこで図10に示すように、マスクレジス
タ10−0〜10−3に続いて拡張制御レジスタ22と
そのマスク回路24を設ける。VMモニタプログラム
は、割込みを反映するVMドメインにCPUの使用時間
を与える前に、そのVMドメインに対応する拡張制御レ
ジスタ22のマスク値を許可状態に設定する。同時にV
Mモニタプログラムは、割込みを反映するVMドメイン
にCPU使用時間を与える前に、それ以外のVMドメイ
ンに対して設けられた拡張制御レジスタ22のマスク値
を割込み禁止状態に設定する。
【0021】更に拡張制御レジスタ22には統括マスク
が設けられており、VMドメインに対する割込みを一括
して制御することができる。この統括マスクはVMモニ
タプログラムのみが更新できる。VMモニタプログラム
は、CPUがVMドメインで走行中の状態からVMモニ
タプログラムの走行状態に移行する際に、割込みを禁止
するように自動的に更新される。またVMモニタプログ
ラムは、VMドメインにCPU使用期間を与える前に、
統括マスクを割込み許可状態に更新する。
【0022】次に共通マスクレジスタ32を説明する。
共通マスクレジスタ32は図11(c)に取り出して示
すように、割込み要求の物理番号SLN=0〜3に対応
した各マスクと1つの統括マスクで構成される。この共
通マスクレジスタ15は仮想計算機モードではVMモニ
タプログラムからのみアクセス可能であるが、VMモニ
タプログラムをIPLする代わりにテストプログラムを
IPLした場合には、仮想計算機モードであってもテス
トプログラムからもアクセスできる。
【0023】これに対しVMドメイン毎に設けたマスク
レジスタ10−0〜10−3は、仮想計算機モードにお
けるVMモニタプログラムからは専用のマスクレジスタ
更新命令でアクセスできるが、通常モードで使用される
マスクレジスタ更新命令ではアクセスできない。このよ
うに共通マスクレジスタ32を設けてテストプログラム
により使用可能とすることにより、周辺装置の動作をテ
ストする場合に、仮想計算機モードが設定されていて
も、そのままテストプログラムを実行することができ、
仮想計算機モードから通常モードに戻す設定操作が不要
にできる。
【0024】
【発明が解決しようとする課題】ところで、このような
VMドメイン毎に割込マスク処理を行うハードウェアを
設けた仮想計算機システムにあっては、VMドメインの
数が2から4程度で、且つ周辺装置に対応したI/Oチ
ャネルやI/Oバスアダプタの数が2から4程度の小規
模なシステムでは、効率良くVMドメインを提供でき
る。
【0025】しかし、これ以上の中規模及び大規模な仮
想計算機システムになると、CPU毎に必要となる割込
み要求の保留ラッチや、割込みマスクのラッチが莫大な
数となり、現実的な値ではなくなってしまい、例えハー
ドウェアとして実現したとしても、必要とするLSIの
集積ゲート数が膨大となり、コストアップになると同時
に消費電力も増加するという問題があった。
【0026】本発明は、このような問題点に鑑みてなさ
れたもので、ハードウェアを増加することなく規模の大
きなシステムであっても周辺装置からCPUに対する割
込みの扱いを効率良くできる仮想計算機システムの割込
マスク方式を提供することを目的とする。
【0027】
【課題を解決するための手段】図1、図2は本発明の原
理説明図である。まず本発明は、仮想計算機システムを
サポートするハードウェアと、仮想計算機システムを制
御するVMモニタプログラムとを備え、単一の計算機ハ
ードウェア上に仮想的な計算機であるVMドメインを複
数実現し、各々のVMドメイン毎にオペレーティング・
システムを独立に稼働させる仮想計算機システムを対象
とする。
【0028】このような仮想計算機システムの割込マス
ク方式として本発明にあっては、図1に示すように、C
PU内に設けられて現在実行中のVMドメイン番号を保
持する第1保持手段46と、周辺装置の属するVMドメ
イン番号及び周辺装置のVMドメイン上での論理番号D
LNを周辺装置の物理番号SLN毎に保持した第2保持
手段48と、複数の周辺装置からの物理番号SLNによ
る割込み要求を保持する周辺装置毎に設けられた割込み
要求保留手段12と、CPU内に設けられ、割込み要求
保留手段12に保持される割込要求に1対1に対応した
割込マスクを有するマスクレジスタ10と、割込要求保
留手段12に保持された物理番号SLNによる割込み要
求をマスクレジスタ10の割込マスクによりVMドメイ
ンで識別可能な論理番号DLNを意識した割込み要求に
マスクして上位装置に出力する第1マスク処理手段14
と、VMドメイン上のオペレーティング・システムが指
示するマスクレジスタ10の割込マスク更新命令をCP
Uが実行する場合、第1保持手段46に保持された現在
実行中のVMドメイン番号と第2保持手段48に保持し
た各周辺装置を割当てたVMドメイン番号とを比較し、
現在実行中のVMドメイン番号に一致するドメイン番号
に属する周辺装置に対応するマスクレジスタ10の割込
マスクのみを更新対象とする更新指示手段50と、VM
ドメイン上のオペレーティング・システムが指示する割
込みマスク更新命令をCPUが実行する場合、オペレー
ティング・システムが指定する更新指定値を識別する論
理番号が前記第2の保持手段48に保持された対応する
周辺装置のVMドメイン内で識別される論理番号DLN
に一致する位置の更新指定値を前記割込マスクの更新値
として前記更新指示手段50で指示されたマスクレジス
タ10の位置に格納する更新書込手段52とを設けたこ
とを特徴とする。
【0029】ここで図2に示すように、更新書込手段5
2は、VMドメイン上のオペレーティング・システムが
指示する割込みマスク更新命令をCPUが実行する場
合、オペレーティング・システムが指定する1又は複数
の論理的な割込マスクの論理積の値を更新値として更新
指示手段50で指示されたマスクレジスタ10の位置に
格納する。
【0030】具体的に更新書込手段52は、VMドメイ
ン上のオペレーティング・システムが指示する割込みマ
スク更新命令をCPUが実行する場合、オペレーティン
グ・システムが指定する割込マスクに対応した更新指示
値と割込みの禁止の有無を指定する統括フラグとの論理
積の値を更新値として更新指示手段50で指示されたマ
スクレジスタ10の位置に格納する。
【0031】更に、VMモニタプログラムによりVMド
メイン単位に設定される割込マスクを備えた拡張制御レ
ジスタ22を設け、拡張制御レジスタ22の割込マスク
と第1マスク処理手段14からの割込み要求との論理積
の総和を割込み要求として出力する第2マスク処理手段
24を設ける。更に又、拡張制御レジスタ22はVMモ
ニタプログラムにより全てのVMドメインを一括して制
御する統括マスクを備え、統括マスクと第2マスク処理
手段24の出力との論理積を割込要求して出力する。
【0032】更に、全てのVMドメインを共通に制御可
能な割込マスクが設定される共通マスクレジスタ(HI
M)32と、共通マスクレジスタ32の割込マスクと周
辺装置からの割込要求との論理積を出力する第3マスク
処理手段36を設ける。この共通マスクレジスタ32の
割込マスクは、VMモニタプログラム又はVMモニタプ
ログラムに代ってIPLされたテストプログラムにより
更新可能する。
【0033】
【作用】このような構成を備えた本発明による仮想計算
機の割込マスク方式によれば次の作用が得られる。まず
図10に示したように、割込み要求の保留ラッチや割込
みマスクのラッチをVMドメインの数だけ用意したとし
ても、ある瞬間で使用されるのはI/Oチャネルまたは
I/Oバス・アダプタの数だけである。即ち、VMドメ
インの数から1を引いた数の分の割込み要求の保留ラッ
チや割込みマスクのラッチは使用されず、待機している
のみである。
【0034】そこで本発明にあっては、ハードウェアで
構成する割込要求保留ラッチ12や割込マスクをラッチ
するマスクレジスタ10は、周辺装置の数に対応したI
/OチャネルまたはI/Oバス・アダプタの数のみとす
る。即ち、仮想計算機モードではない通常の稼働状態で
必要な数にとどめる。一方、I/OチャネルやI/Oバ
ス・アダプタに対応した物理番号SLN=0〜3で示さ
れる周辺装置とDMID=0〜3で示されるVMドメイ
ンに対する割り当て情報や、VMドメイン内で識別可能
な周辺装置の論理番号DLNとの対応情報をCPU内部
の記憶領域を使用した第2保持手段48に保持してお
き、マスクレジスタ10の割込マスクを更新する際に
は、第2保持手段48の記憶情報と第1保持手段46の
実行中のVMドメイン番号とを比較し、一致したVMド
メインに対応する割込マスクを更新指示手段50により
更新対象として指示して更新書込手段52で割込マスク
の値を更新させる。
【0035】このためI/OチャネルやI/Oバス・ア
ダプタを経由した周辺装置からの物理番号SLN=0〜
3で示す割込み要求は、周辺装置のVMドメインへの割
り当てに関係なく、物理的に1対1に対応する割込要求
保留ラッチ12に保留される。保留された割込み要求
は、各々に1対1に対応するマスクレジスタ10の割込
マスクにラッチした値でマスクされる。
【0036】マスクレジスタ10の割込マスクには、I
/OチャネルやI/Oバス・アダプタのVMドメインへ
の割当てやVMドメイン内での仮想的な識別を行なう論
理番号を意識した値が格納されているので、割込マスク
でマスクされた後の割込み要求は、VMドメインを意識
したものとなっており、従来、図10のようにVMドメ
イン毎に割込み要求の保留ラッチや割込みマスクを用意
していた場合に全く等しい情報量を持つことになる。
【0037】このためVMドメイン及び周辺装置の数が
増加した中規模や大規模な仮想計算機システムであって
も、必要最小限のハードウェアでCPUに対する割込み
を効率良く扱うことができる。尚、本発明は、VMドメ
インが特定の周辺装置を専有する場合に適用されるもの
であるが、共用の形態と専有の形態が混在しているシス
テムについては、専有の形態の部分に適用されることに
なる。
【0038】
【実施例】図3は本発明の基本的な実施例を示した実施
例構成図であり、図1に示した原理説明図に対応してい
る。図3において、46は第1保持手段としてのレジス
タであり、CPU内に実現され、現在実行中のVMドメ
インを示す識別番号DMIDを格納している。48は第
2保持手段としてのワークレジスタであり、ワークレジ
スタ48には周辺装置に1対1に対応するI/Oバスア
ダプタのVMドメインに対する割当て情報、及びI/O
アダプタのVMドメイン内で認識可能な識別番号として
の論理番号の対応情報が格納される。
【0039】即ち、この実施例にあっては周辺装置に1
対1に対応した4つのI/Oバスアダプタを物理番号S
LN=0〜3で表しており、この物理番号SLN=0〜
3に対応してVMドメインの割当てを示す識別番号DM
IDと、VMドメイン上で認識可能な論理番号DLNが
設定されている。例えば最も単純な例をとると、図1の
原理図に示したようにI/Oバスアダプタの物理番号S
LN=0〜3に1対1に対応してドメイン番号DMID
=0〜3が割り当てられ、且つ各VMドメイン当り1つ
のI/Oバスアダプタの対応であることから、全て論理
番号DLN=0に設定する。勿論、ワークレジスタ48
を使用したVMドメインに対するI/Oバスアダプタを
示す物理番号SLN=0〜3との対応関係は必要に応じ
て適宜に定めることができる。
【0040】50は更新指示手段であり、VMドメイン
の数に対応して4つの比較器50−0〜50−3を設け
ている。比較器50−0〜50−3の一方にはレジスタ
46に格納した現在実行中のVMドメインの識別番号D
MIDが入力され、他方にはワークレジスタ48のI/
Oバスアダプタに1対1に対応する物理番号SLN=0
〜3のそれぞれに格納したVMドメインへの割当てを示
す識別番号DMIDが入力されている。
【0041】比較器50−0〜50−3はレジスタ46
のドメイン番号DMIDとワークレジスタ48に格納さ
れたVMドメインの割当てを示すドメイン番号DMID
とが一致したときに一致出力を更新指示情報としてマス
クレジスタ10に出力する。マスクレジスタ10は物理
番号SLN=0〜3で示すI/Oバスアダプタの数に対
応して4つの割込みマスクDIM=0〜3を備え、割込
みマスクDIM=0〜3のそれぞれは比較器50−0〜
50−3の一致出力により個別に更新対象としての指示
を受ける。
【0042】70は更新指定値であり、更新する割込み
マスク値DIMと統括マスクMを備える。この更新指定
値70は具体的にはVMドメインのOSの稼働中に発行
されたマスクレジスタ10の更新命令、具体的にはマス
クレジスタロード命令LDMの第2オペランドの内容に
より指定される。更新指定値70の中の割込マスク更新
値DIMは更新書込手段52の中にVMドメイン毎に設
けたマルチプレクサ52−0〜52−3のそれぞれに与
えられている。マルチプレクサ52−0〜52−3はワ
ークレジスタ48の物理番号SLN=0〜3の各エリア
に設けたVMドメイン上で認識される論理番号DLNに
対応する割込マスク値を選択して出力する。即ち、更新
指定値70の中の割込マスク更新値はマスクレジスタ1
0に対応して4つの更新値が準備されており、4つの中
から論理番号DLNで指定される1つの割込マスク更新
値を選択してマスクレジスタ10の対応する割込マスク
に書き込むようになる。これによってマスクレジスタ1
0に格納される割込マスクはVMモニタ上で認識可能な
論理番号DLNを意識した割込マスクとなる。
【0043】マルチプレクサ52−0〜52−3で選択
された割込マスク更新値はAND回路54−0〜54−
3の一方に入力される。AND回路54−0〜54−3
の他方の入力には更新指定値70の中の統括マスクMが
入力されている。統括マスクMはVMドメインの全てに
対する割込みを一括して許可したり禁止するために設け
ている。
【0044】統括マスクが許可マスク1であればAND
回路54−0〜54−3は許容状態となってマルチプレ
クサ52−0〜52−3のいずれかで選択された現在実
行中のVMドメインに割り当てられたI/Oバス・アダ
プタの物理番号SLNをマスクする論理番号DLNをマ
スクレジスタ10に格納できる。これに対し統括マスク
Mが禁止マスク0であった場合にはAND回路54−0
〜54−3は全て禁止状態となり、マスクレジスタ10
に対する更新値の書込みが禁止される。
【0045】マスクレジスタ10に対しては4つの割込
マスクDIM=0〜3に対応する4つのラッチを備えた
割込要求保留手段としての割込要求保留ラッチ12が設
けられる。割込要求保留ラッチ12の各ラッチはI/O
バス・アダプタからの物理番号SLN=0〜3で行われ
る割込要求フラグをラッチする。割込要求保留ラッチ1
2の4つのラッチ及びマスクレジスタの割込マスクDI
M=0〜3の各出力はマスク回路14に与えられる。マ
スク回路14には4つのAND回路16a〜16dが設
けられており、物理的に1対1に対応する各ラッチの割
込要求フラグSLN=0〜3と割込マスクDIM=0〜
3の各々との間の論理積を取り出す。AND回路16a
〜16dの出力はOR回路18で取りまとめられ、この
基本的な実施例にあっては直接I/Oバスへの割込要求
として上げられている。
【0046】図4は図3におけるCPU内で実現される
回路部の具体的な実施例を示した実施例構成図であり、
マスクレジスタ側は図5に取り出して示す構成を備え
る。図4において、ワークレジスタ48には図3に示し
たように周辺装置に1対1に対応するI/Oバス・アダ
プタから上げられる割込要求の物理番号SLN=0〜3
毎にVMドメインの割当てを示すドメイン識別番号DM
IDとVMドメイン上で識別可能な論理番号DLNが格
納されている。このワークレジスタ48に対する対応情
報の格納は常に保持する必要はなく、マスクレジスタ1
0または拡張制御レジスタ22に対するマスクレジスタ
ロード命令LDMの実行時のみ保持できればよい。
【0047】従って、ワークレジスタ48としては専用
のレジスタは不要であり、ワークレジスタ48に格納す
る対応情報は通常は他の記憶ブロックに保持しておけば
よい。ワークレジスタ48に保持されたI/Oバス・ア
ダプタに対する対応関係を示すVMドメインの識別番号
DMIDは更新指示手段50に設けられた比較器50−
0〜50−3に与えられている。比較器50−0〜50
−3の他方にはレジスタ46に格納された現在実行中の
VMドメインを示すドメイン番号DMIDが入力され
る。
【0048】この実施例にあっては、図5に示すマスク
レジスタ10と拡張制御レジスタ22の割込マスクの更
新を選択的に行えるようにしており、従ってワークレジ
スタ46に格納された現在実行中のVMドメインのドメ
イン番号DMIDはCPU内部バス72上のマスクレジ
スタロード命令LDMの第2オペランド74の0〜3ビ
ット目に格納した拡張制御レジスタの更新値に使用され
るVMドメインのドメイン番号DMIDとを選択ゲート
スイッチ68で選択できるようにしている。この選択ゲ
ートスイッチの選択動作は第2オペランド74における
ビット5の値を使用する。
【0049】比較器50−0〜50−3の一致出力はA
ND回路56−0〜56−3を介してマルチプレクサ5
8−0〜58−3の選択端子に与えられている。同時に
比較器50−0〜50−3の一致出力は拡張制御レジス
タ22側に設けたAND回路62−0〜62−3を介し
て選択ゲートスイッチ58−0〜58−4の選択制御端
子に与えられている。
【0050】マスクレジスタ10側のAND回路56−
0〜56−3の他方の入力端子にはマイクロプログラム
処理部よりマスクレジスタ10に対するライト信号WE
1が共通に与えられ、ライト信号WE1のタイミングで
選択ゲートスイッチ58−0〜58−3をセレクトす
る。このような回路構成によりマスクレジスタ10の割
込マスクの中の特定位置を更新値として指示することが
できる。
【0051】次にマスクレジスタ10に書込む割込マス
ク更新値を説明する。CPU内部バス72上のマスクレ
ジスタロード命令LDMの第2オペランド74における
ビット28からビット31までの4ビットが割込マスク
更新値(マスクデータ)MDを与える。また、ビット2
7が統括マスクMを与える。第2オペランド74のビッ
ト28〜31に格納された割込マスク更新値DMは更新
書込手段52を構成するマルチプレクサ52−0〜52
−3に与えられている。
【0052】マルチプレクサ52−0〜52−3はワー
クレジスタ48に格納された現在実行中のVMドメイン
上で識別可能な論理番号DLNにより4ビットの中の対
応する割込マスク更新値を選択して出力する。例えば、
今、比較器50−0が一致出力を生じていたとすると、
比較器50−0に対応する現在実行中のVMドメインに
割り当てられたI/Oバス・アダプタの物理番号SLN
=0をVMドメイン上で識別する、例えば論理番号DL
N=0をマルチプレクサ52−0の選択制御端子に出力
し、第2オペランド74のビット28〜31のうちの論
理番号DLN=0に対応するビット28に格納している
割込マスク更新値を選択する。また論理番号がDLN=
1であればビット29の割込マスク更新値を選択するよ
うになる。
【0053】マルチプレクサ52−0〜52−3で選択
された割込マスク更新値DMはAND回路54−0〜5
4−3を介して選択ゲートスイッチ58−0〜58−3
に入力される。AND回路54−0〜54−3は第2オ
ペランド74におけるビット27の統括マスクMにより
制御され、統括マスクMが禁止マスク0で全てのVMド
メインによる割込みを禁止し、統括マスクMが許容マス
ク1のとき全てのVMドメインに対応した書込みをAN
D回路54−0〜54−3を許容状態とすることにより
可能とする。
【0054】選択ゲートスッチ58−0〜58−3は比
較器50−0〜50−3及びAND回路56−0〜56
−3を介して得られたレジスタ内の更新値を示す更新指
示情報に従って選択される。即ち、更新指示情報が有効
であればAND回路54−0〜54−3からの割込マス
ク更新値DMを選択してD−FF60−0〜60−3に
ラッチさせる。
【0055】一方、更新指示情報が有効でないときに
は、現在ラッチしているD−FF60−0〜60−3の
ラッチ情報を帰還入力して再ラッチする。このような更
新指示情報に基づく更新の指示動作と割込マスク更新値
の書込動作は拡張制御レジスタ22側についても同様で
ある。即ち、マルチプレクサ52−0〜52−3で論理
番号DLNに応じて選択された割込マスク更新値DMを
選択ゲートスイッチ64−0〜64−4で選択してD−
FF66−0〜66−3に書き込むようになる。
【0056】更に拡張制御レジスタ22側には統括マス
クMに対応した選択ゲートスイッチ64−4とD−FF
66−4が設けられており、CPU内部バス72上の第
2オペランドのビット27で指示された統括マスクMを
更新指示情報が有効なときに割込更新値DMを選択して
D−FF66−4にラッチする。更に図5の実施例にあ
っては、共通制御レジスタ32に格納するマスクを更新
するようにしている。
【0057】即ち、CPU内部バス72のビット28か
らビット31までのマスクデータMDは選択ゲートスイ
ッチ80−1〜80−4に固定的に入力されている。こ
こで、マスクデータMDは物理番号SLN=0〜3に1
対1に対応し、論理番号DLN=0〜3とは無関係に割
り当てられている。このため選択ゲートスイッチ80−
0〜80−3はマイクロプログラム処理部からのHIM
ライト信号WE3が有効となったとき、CPU内部バス
72上の第2オペランドにおけるビット28〜31で指
示された割込更新値MDを選択してD−FF82−0〜
82−3にラッチさせ、共通制御レジスタ32の割込マ
スクを更新する。尚、HIMライト信号WE3が有効と
なっていない場合にはD−FF82−0〜82−3の出
力を帰還入力するようになる。
【0058】更に、CPU内部バス72の第2オペラン
ドにおけるビット27の統括マスクMは選択ゲートスイ
ッチ80−4に入力され、同様にHIMライト信号WE
3を有効とすることでD−FF82−4に与えられて共
通制御レジスタ32の統括マスクを更新することができ
る。図5は図4の実施例により割込みマスクの更新が行
われるマスクレジスタ10、拡張制御レジスタ22及び
共通マクスレジスタ32を備えたマスク回路部の実施例
構成図である。
【0059】図5において、マスクレジスタ10及び割
込マスク要求保留ラッチ12に対応した設けたマスク回
路14は図3の実施例と同じであり、これに加えて拡張
制御レジスタ22の割込マスクECR=0〜3を用いた
マスク回路24を設けている。マスク回路24にはAN
D回路26a〜26dが設けられ、前段のマスク回路1
4の対応する割込要求に拡張制御レジスタ22の割込マ
スクECR=0〜3の各々との論理積をとってOR回路
28で取りまとめ、更に統括マスクMで制御されるAN
D回路30を介して割込出力を生ずる。
【0060】即ち、物理番号SLN=0〜3で示す割込
要求に対し、マスクレジスタ10の割込マスクDIM=
0〜3と拡張制御レジスタ22のマスクECR=0〜3
の論理積によるマスクを行うことになる。一方、共通制
御レジスタ32のマスクHIM=0〜3はマスク回路3
6に設けたAND回路38a〜38dにより割込要求保
留ラッチ12でラッチされた物理番号SLN=0〜3の
割込要求との論理積をとってOR回路40で取りまとめ
た後、統括フラグMにより制御されるAND回路42を
介してOR回路44に出力している。
【0061】このため、OR回路44から上位装置に上
げられるI/Oバス割込みはマスクレジスタ10、拡張
制御レジスタ22及び共通制御レジスタ32の割込マス
クをそれぞれDIM,ECR及びHIMで示すと、 (DIM×ECR)+HIM のマスク処理を行うことになる。
【0062】尚、拡張制御レジスタ22及び共通マスク
レジスタ32の機能は図10の先行技術で説明したと同
じである。図6は図4の実施例においてマスクレジスタ
10、拡張制御レジスタ22、及び共通マスクレジスタ
32のマスクの更新に使用されるマスクレジスタロード
命令LIOBMの説明図である。
【0063】図6において、第2オペランドがマスクレ
ジスタ10と共通マスクレジスタ32または拡張制御レ
ジスタ22と共通マスクレジスタ32のマスク更新に使
用され、図7に取り出して示す内容をもつ。即ち、ビッ
ト27に統括マスクMが格納され、ビット28〜31の
4ビットに割込マスク更新値DM=0〜3が格納され
る。ビット4はマスクレジスタ10と拡張制御レジスタ
22の更新を選択するビットであり、ビット4がマスク
レジスタ10を示している場合には、図4に示したよう
にレジスタ46に格納されている現在実行中のVMドメ
インの識別番号DMIDが更新指示の比較処理に使用さ
れる。
【0064】一方、ビット4で拡張制御レジスタ22が
指定された場合には、ビット0〜3に格納しているVM
ドメインを示す識別番号DMIDを選択して更新指示の
ための一致比較が行われる。図8は本発明で使用される
マスクレジスタ10、拡張制御レジスタ22及び共通制
御レジスタ32の構成図であり、32ビット長のレジス
タが使用され、マスクレジスタ10、拡張制御レジスタ
22及び共通制御レジスタ32においては、ビット16
〜19の4ビットを割込マスクDIM=0〜3、拡張制
御マスクECR=0〜3、及び共通マスクHIM=0〜
3に使用している。更に拡張制御レジスタ22と共通制
御レジスタ32についてはビット0を統括マスクMに割
り当てている。
【0065】図9は図5に示したマスク部の他の実施例
を示した実施例構成図である。この実施例にあっては、
マスクレジスタ10の割込マスクDIM=0〜3と拡張
制御レジスタ22の拡張制御マスクECR=0〜3との
論理積をAND回路90a〜90〜dで取り、次に共通
マスクレジスタ32の共通マスクHIM=0〜3との論
理積をOR回路92a〜92dで取って、 (DIM×ECR)+HIM の演算を実現している。そして最終的に割込要求保留ラ
ッチ12のフラグSLN=0〜3との論理積をAND回
路94a〜94dでとってOR回路96で取りまとめ、
OR回路92eを介して得られる統括マスクMで制御さ
れるAND回路98を介してI/Oバス割込を上位装置
に上げている。
【0066】
【0067】また、小規模な仮想計算機システムにおい
ても論理系統の無駄がなくなるため、ハードウェアの小
形化とコストの削減を図ることができる。
【図面の簡単な説明】
【図1】本発明の原理説明図(その1)
【図2】本発明の原理説明図(その2)
【図3】本発明の基本的な実施例構成図
【図4】本発明の具体的な実施例構成図
【図5】図4の実施例で割込マスクの更新が行われるマ
スク回路部の実施例構成図
【図6】本発明で用いるマスクレジスタロード命令の説
明図
【図7】図6のマスクレジスタロード命令の第2オペラ
ンドの説明図
【図8】図5のマスク回路部に示した各レジスタの説明
【図9】本発明で用いるマスク回路部の他の実施例構成
【図10】本願発明者等が既に提案しているVMドメイ
ン毎にマスクレジスタを設けた場合の回路図
【図11】図10の各レジスタの説明図
【図12】マスクレジスタ更新処理の手順を示した説明
【符号の説明】
10:マスクレジスタ(MID) 12:割国要求保留手段(割込要求保留ラッチ) 14:第1マスク処理手段(マスク回路) 16a 〜16d,26a 〜26d,30,38a〜38d,42,54-0 〜54-3,56-
0 〜56-3,62-0 〜62-3:AND回路 18,28,444 :OR回路 22:拡張制御レジスタ(ECR) 24:第2マスク処理手段(マスク回路) 32:拡張共通マスクレジスタ(HIM) 36:第3マスク処理手段(マスク回路) 48:第1保持手段(ワークレジスタ) 50:更新指示手段 50−0〜50−3:比較器 52:更新書込手段 52-0〜52-3,52-0 〜52-3,62-0 〜62-4:マルチプレクサ
(MPX) 58-0〜58-3,64-3 〜64-4,68,80-0〜80-4: 選択ゲートス
イッチ 60-0〜60-3,66-0 〜66-4: D−FF 70:更新指示値 72:CPU内部バス

Claims (7)

    【特許請求の範囲】
  1. 【請求項1】仮想計算機システムをサポートするハード
    ウェアと、仮想計算機システムを制御するVMモニタプ
    ログラムとを備え、単一の計算機ハードウェア上に仮想
    的な計算機であるVMドメインを複数実現し、各々のV
    Mドメイン毎にオペレーティング・システムを独立に稼
    働させる仮想計算機システムに於いて、 CPU内に設けられて現在実行中のVMドメイン番号を
    保持する第1保持手段46と、 周辺装置の属するVMドメイン番号及び周辺装置のVM
    ドメイン上での論理番号DLNを周辺装置の物理番号S
    LN毎に保持した第2保持手段48と、 複数の周辺装置からの物理番号SLNによる割込み要求
    を保持する周辺装置毎に設けられた割込み要求保留手段
    12と、 前記CPU内に設けられ、前記割込み要求保留手段12
    に保持される割込要求に1対1に対応した割込マスクを
    有するマスクレジスタ10と、 前記割込要求保留手段12に保持された物理番号SLN
    による割込み要求を前記マスクレジスタ10の割込マス
    クによりVMドメインで識別可能な論理番号DLNを意
    識した割込み要求にマスクして上位装置に出力する第1
    マスク処理手段14と、 VMドメイン上のオペレーティング・システムが指示す
    る前記マスクレジスタ10の割込マスク更新命令をCP
    Uが実行する場合、前記第1保持手段46に保持された
    現在実行中のVMドメイン番号と前記第2保持手段48
    に保持した各周辺装置を割当てたVMドメイン番号とを
    比較し、現在実行中のVMドメイン番号に一致するドメ
    イン番号に属する周辺装置に対応する前記マスクレジス
    タ10の割込マスクのみを更新対象とする更新指示手段
    50と、 VMドメイン上のオペレーティング・システムが指示す
    る割込みマスク更新命令をCPUが実行する場合、オペ
    レーティング・システムが指定する更新指定値を識別す
    る論理番号が前記第2保持手段48に保持された対応す
    る周辺装置のVMドメイン内で識別される論理番号DL
    Nに一致する位置の更新指定値を前記割込マスクの更新
    値として前記更新指示手段50で指示されたマスクレジ
    スタ10の位置に格納する更新書込手段52と、を備え
    たことを特徴とする仮想計算機の割込マスク方式。
  2. 【請求項2】請求項1記載の仮想計算機の割込マスク方
    式に於いて、 前記更新書込手段52は、VMドメイン上のオペレーテ
    ィング・システムが指示する割込みマスク更新命令をC
    PUが実行する場合、オペレーティング・システムが指
    定する1又は複数の論理的な割込マスクの論理積の値を
    更新値として前記更新指示手段50で指示されたマスク
    レジスタ10の位置に格納することを特徴とする仮想計
    算機の割込マスク方式。
  3. 【請求項3】請求項2記載の仮想計算機の割込マスク方
    式に於いて、 前記更新書込手段52は、VMドメイン上のオペレーテ
    ィング・システムが指示する割込みマスク更新命令をC
    PUが実行する場合、オペレーティング・システムが指
    定する割込マスクに対応した更新指示値と割込みの禁止
    の有無を指定する統括フラグとの論理積の値を更新値と
    して前記更新指示手段50で指示されたマスクレジスタ
    10の位置に格納することを特徴とする仮想計算機の割
    込マスク方式。
  4. 【請求項4】請求項1記載の仮想計算機の割込マスク方
    式に於いて、 更に、前記VMモニタプログラムによりVMドメイン単
    位に設定される割込マスクを備えた拡張制御レジスタ2
    2を設け、該拡張制御レジスタ22の割込マスクと前記
    第1マスク処理手段14からの割込み要求との論理積の
    総和を割込み要求として出力する第2マスク処理手段2
    4を設けたことを特徴とする仮想計算機の割込マスク方
    式。
  5. 【請求項5】請求項4記載の仮想計算機の割込マスク方
    式に於いて、 更に、前記拡張制御レジスタ22はVMモニタプログラ
    ムにより全てのVMドメインを一括して制御する統括マ
    スクを備え、該統括マスクと前記第2マスク処理手段2
    4の出力との論理積を割込要求して出力することを特徴
    とする仮想計算機の割込マスク方式。
  6. 【請求項6】請求項1記載の仮想計算機の割込マスク方
    式に於いて、 更に、全てのVMドメインを共通に制御可能な割込マス
    クが設定される共通マスクレジスタ32を設け、該共通
    マスクレジスタ32の割込マスクと前記周辺装置からの
    割込要求との論理積を出力する第3マスク処理手段36
    を設けたことを特徴とする仮想計算機の割込マスク方
    式。
  7. 【請求項7】請求項6記載の仮想計算機の割込マスク方
    式に於いて、 前記共通マスクレジスタ32の割込マスクを、前記VM
    モニタプログラム又はVMモニタプログラムに代ってI
    PLされたテストプログラムにより更新可能としたこと
    を特徴とする仮想計算機の割込マスク方式。
JP3269897A 1991-10-18 1991-10-18 仮想計算機システムの割込みマスク方式 Withdrawn JPH05108383A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3269897A JPH05108383A (ja) 1991-10-18 1991-10-18 仮想計算機システムの割込みマスク方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3269897A JPH05108383A (ja) 1991-10-18 1991-10-18 仮想計算機システムの割込みマスク方式

Publications (1)

Publication Number Publication Date
JPH05108383A true JPH05108383A (ja) 1993-04-30

Family

ID=17478746

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3269897A Withdrawn JPH05108383A (ja) 1991-10-18 1991-10-18 仮想計算機システムの割込みマスク方式

Country Status (1)

Country Link
JP (1) JPH05108383A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100343818C (zh) * 2004-08-24 2007-10-17 华为技术有限公司 一种告警相关性屏蔽方法
CN102306108A (zh) * 2011-08-01 2012-01-04 西安交通大学 Arm 虚拟机中基于mmu 的外设访问控制的实现方法
JP2013190929A (ja) * 2012-03-13 2013-09-26 Denso Corp マイクロコンピュータ
JP2013190930A (ja) * 2012-03-13 2013-09-26 Denso Corp マイクロコンピュータ

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100343818C (zh) * 2004-08-24 2007-10-17 华为技术有限公司 一种告警相关性屏蔽方法
CN102306108A (zh) * 2011-08-01 2012-01-04 西安交通大学 Arm 虚拟机中基于mmu 的外设访问控制的实现方法
JP2013190929A (ja) * 2012-03-13 2013-09-26 Denso Corp マイクロコンピュータ
JP2013190930A (ja) * 2012-03-13 2013-09-26 Denso Corp マイクロコンピュータ

Similar Documents

Publication Publication Date Title
EP0079133B1 (en) Virtual memory protected system
Wulf et al. C. mmp: A multi-mini-processor
US5628023A (en) Virtual storage computer system having methods and apparatus for providing token-controlled access to protected pages of memory via a token-accessible view
US5619671A (en) Method and apparatus for providing token controlled access to protected pages of memory
EP0208428B1 (en) Direct input/output in a virtual memory system
EP0136666B1 (en) Partitioned multiprocessor programming system
CA1153824A (en) Address generating mechanism for multiple virtual spaces
US5361375A (en) Virtual computer system having input/output interrupt control of virtual machines
EP0331900B1 (en) Method and apparatus for capability control
US5499356A (en) Method and apparatus for a multiprocessor resource lockout instruction
KR890004994B1 (ko) 어드레스 변환 제어장치
CA1280829C (en) Main storage access control system for virtual computing function system
JPH0784883A (ja) 仮想計算機システムのアドレス変換バッファパージ方法
JPH11505653A (ja) 単一アドレス空間で保護ドメインと共に用いるためのオペレーティングシステム
EP0443557B1 (en) Interrupt controller capable of realizing interrupt nesting function
EP0264216B1 (en) Implied domain addressing
JPH05108383A (ja) 仮想計算機システムの割込みマスク方式
EP0298418B1 (en) Virtual computer system
Wilkes et al. A comparison of protection lookaside buffers and the PA-RISC protection architecture
EP0171475B1 (en) Data processing system with logical processor facility
JPH06332803A (ja) 仮想計算機システムにおけるtlb制御方法
JP3447588B2 (ja) メモリ管理装置、方法及びプログラムを記憶した記憶媒体
GB1495729A (en) Apparatus and method for handling exceptions in a data processing system
EP0183877B1 (en) Microcomputer for time dependent processes
JPH08263289A (ja) 複数命令流パイプライン計算機

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 19990107