JPH0833851B2 - 仮想計算機のモニタリング方式 - Google Patents
仮想計算機のモニタリング方式Info
- Publication number
- JPH0833851B2 JPH0833851B2 JP61057775A JP5777586A JPH0833851B2 JP H0833851 B2 JPH0833851 B2 JP H0833851B2 JP 61057775 A JP61057775 A JP 61057775A JP 5777586 A JP5777586 A JP 5777586A JP H0833851 B2 JPH0833851 B2 JP H0833851B2
- Authority
- JP
- Japan
- Prior art keywords
- virtual computer
- register
- instruction
- counter
- processing unit
- 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
Links
Landscapes
- Debugging And Monitoring (AREA)
Description
【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、仮想計算機のモニタリング方式に関し、特
に中央処理装置のモニタ機能による仮想計算機走行時の
モニタ情報、および入出力処理装置のモニタ情報を同時
に収集する場合に有効なモニタリング方式に関するもの
である。
に中央処理装置のモニタ機能による仮想計算機走行時の
モニタ情報、および入出力処理装置のモニタ情報を同時
に収集する場合に有効なモニタリング方式に関するもの
である。
実計算機の中央処理装置はモニタ機能を備えており、
仮想計算機システムの稼動状況をハードウェアにより監
視することができる。このハードウェアのカウンタはOS
(Operating Systems)の性能測定等に使用されてい
る。しかし、1台の実計算機の下で複数のOSの同時走行
が可能な仮想計算機システムにおいては、各仮想計算機
ごとの稼動状況を同時に監視したいという要求がある
が、従来はこれは不可能であった。また、実計算機の入
出力処理装置には、各入出力装置の使用状況をOSが指定
する主記憶上の領域に収集するチャネルモニタリング機
能がある。しかし、1台の実計算機の下で複数のOSの同
時走行が可能な仮想計算機システムにおいては、このチ
ャネルモニタリング機能を使用する場合、複数の仮想計
算機が同時にこれを使用することはできず、1台の仮想
計算機だけしか使用できないという問題がある。この場
合、同時に複数の仮想計算機のチャネルモニタリングを
行いたいという要求も多い。
仮想計算機システムの稼動状況をハードウェアにより監
視することができる。このハードウェアのカウンタはOS
(Operating Systems)の性能測定等に使用されてい
る。しかし、1台の実計算機の下で複数のOSの同時走行
が可能な仮想計算機システムにおいては、各仮想計算機
ごとの稼動状況を同時に監視したいという要求がある
が、従来はこれは不可能であった。また、実計算機の入
出力処理装置には、各入出力装置の使用状況をOSが指定
する主記憶上の領域に収集するチャネルモニタリング機
能がある。しかし、1台の実計算機の下で複数のOSの同
時走行が可能な仮想計算機システムにおいては、このチ
ャネルモニタリング機能を使用する場合、複数の仮想計
算機が同時にこれを使用することはできず、1台の仮想
計算機だけしか使用できないという問題がある。この場
合、同時に複数の仮想計算機のチャネルモニタリングを
行いたいという要求も多い。
以下、従来の仮想計算機システムについて、さらに詳
述する。第2図は、実計算機システムの概略構成図であ
り、第3図は第2図の実計算機を利用した仮想計算機シ
ステム(以下、VMSと記す)の概略図である。
述する。第2図は、実計算機システムの概略構成図であ
り、第3図は第2図の実計算機を利用した仮想計算機シ
ステム(以下、VMSと記す)の概略図である。
第1図において、実計算機システム1は、中央処理装
置(以下、CPUと記す)2,主記憶装置3,入出力処理装置
(以下、IOPと記す)4,および入出力制御装置(以下、I
OCと記す)5より構成され、各装置間は信号線100,101,
102,103により接続されている。また、主記憶装置3上
には、OSが格納されており、これが全体の計算機システ
ムを制御する。
置(以下、CPUと記す)2,主記憶装置3,入出力処理装置
(以下、IOPと記す)4,および入出力制御装置(以下、I
OCと記す)5より構成され、各装置間は信号線100,101,
102,103により接続されている。また、主記憶装置3上
には、OSが格納されており、これが全体の計算機システ
ムを制御する。
次に、第2図においても、実計算機システム1自体は
第1図と全く同一であるが、主記憶装置3上にVMSの制
御プログラム(以下、VMCPと記す)が格納されている点
で第1図と異なる。
第1図と全く同一であるが、主記憶装置3上にVMSの制
御プログラム(以下、VMCPと記す)が格納されている点
で第1図と異なる。
ハードウェアをシミュレーションするVMCPの機能によ
り、実計算機システム1と類似したアーキテクチャを有
する論理的な計算機(仮想計算機、以下、VMと記す)が
1台ないし複数台実現される。すなわち、第2図では、
VMCPと破線で結合されているVM1−1,VM1−2,VM1−3が
仮想計算機であり、各VMは論理的CPU2−i(i=1,2,
3),論理的主記憶装置3−i,論理的IOP4−i,論理的IOC
5−iから構成される。
り、実計算機システム1と類似したアーキテクチャを有
する論理的な計算機(仮想計算機、以下、VMと記す)が
1台ないし複数台実現される。すなわち、第2図では、
VMCPと破線で結合されているVM1−1,VM1−2,VM1−3が
仮想計算機であり、各VMは論理的CPU2−i(i=1,2,
3),論理的主記憶装置3−i,論理的IOP4−i,論理的IOC
5−iから構成される。
各VMのCPU2−iは、VMCPが実計算機システム1のCPU2
を時分割で各VMに割当てることにより実現される。各VM
の主記憶装置3−iは、VMCPが作成・管理する仮想空間
として割り当てられる。さらに、各VMのIOP4−iやIOC5
−iは、実計算機システム1の対応物を占有ないし共有
することにより実現される。
を時分割で各VMに割当てることにより実現される。各VM
の主記憶装置3−iは、VMCPが作成・管理する仮想空間
として割り当てられる。さらに、各VMのIOP4−iやIOC5
−iは、実計算機システム1の対応物を占有ないし共有
することにより実現される。
次に、CPU2が有するモニタ情報収集機能について、詳
述する。第4図は、従来のハードウェアモニタの説明図
である。第4図において、CPU2内には、命令実行回路6,
ハードウェアモニタ機構8,インタセプション実行回路1
2,およびVM切換機構24が設けられる。命令実行回路6内
には、命令実行マイクロプログラム7が、ハードウェア
モニタ機構8内には、ハードウェアカウンタ群9,カウン
タレジスタ10,状態ビット11が、それぞれ具備されてい
る。カウンタレジスタ10−k(k=1,2,・・・n)は、
CPU2における特定の事象をモニタするカウンタであり、
対応する状態ビット11−kが“1"のとき、カウンタの更
新が対応する事象の発生を契機として行われる。また、
インタセプション実行回路12は、VM走行中に、VMCPに制
御を渡す事象が発生した場合に、VMCPに制御を渡すため
の機構である。また、VM切換機構24は、ハードウェアお
よびマイクロプログラムによりVMを切換えるための機構
である。
述する。第4図は、従来のハードウェアモニタの説明図
である。第4図において、CPU2内には、命令実行回路6,
ハードウェアモニタ機構8,インタセプション実行回路1
2,およびVM切換機構24が設けられる。命令実行回路6内
には、命令実行マイクロプログラム7が、ハードウェア
モニタ機構8内には、ハードウェアカウンタ群9,カウン
タレジスタ10,状態ビット11が、それぞれ具備されてい
る。カウンタレジスタ10−k(k=1,2,・・・n)は、
CPU2における特定の事象をモニタするカウンタであり、
対応する状態ビット11−kが“1"のとき、カウンタの更
新が対応する事象の発生を契機として行われる。また、
インタセプション実行回路12は、VM走行中に、VMCPに制
御を渡す事象が発生した場合に、VMCPに制御を渡すため
の機構である。また、VM切換機構24は、ハードウェアお
よびマイクロプログラムによりVMを切換えるための機構
である。
第5図は、第4図におけるハードウェアカウンタに関
連する命令の説明図である。ハードウェアカウンタに関
連する命令には、(a)リードカウンタ命令、(b)ス
タートカウンタ命令、ストップカウンタ命令、(c)リ
セットカウンタ命令、および(d)リード及びリセット
カウンタ命令、がある。先ず、リードカウンタ命令を発
行すると、命令実行回路6および命令実行マイクロプロ
グラム7は、線104を介してカウンタレジスタ10−1か
ら10−nの値を読み出し、第1オペランドアドレスD1
(B1)で指定される主記憶装置3上の領域に、線100に
より全カウンタの内容をカウンタ番号順に格納する。次
に、スタートカウンタ命令を発行すると、命令実行回路
6および命令実行マイクロプログラム7は、線104を介
して第1オペランドアドレスD1(B1)で指定されるカウ
ンタレジスタ10−kの状態ビット11−kを“1"にする。
これにより、そのカウンタレジスタ10−kの更新が開始
される。
連する命令の説明図である。ハードウェアカウンタに関
連する命令には、(a)リードカウンタ命令、(b)ス
タートカウンタ命令、ストップカウンタ命令、(c)リ
セットカウンタ命令、および(d)リード及びリセット
カウンタ命令、がある。先ず、リードカウンタ命令を発
行すると、命令実行回路6および命令実行マイクロプロ
グラム7は、線104を介してカウンタレジスタ10−1か
ら10−nの値を読み出し、第1オペランドアドレスD1
(B1)で指定される主記憶装置3上の領域に、線100に
より全カウンタの内容をカウンタ番号順に格納する。次
に、スタートカウンタ命令を発行すると、命令実行回路
6および命令実行マイクロプログラム7は、線104を介
して第1オペランドアドレスD1(B1)で指定されるカウ
ンタレジスタ10−kの状態ビット11−kを“1"にする。
これにより、そのカウンタレジスタ10−kの更新が開始
される。
ストップカウンタ命令を発生すると、命令実行回路6
および命令実行マイクロプログラム7は、線104を介し
て第1オペランドアドレスD1(B1)で指定されるカウン
タレジスタ10−kの状態ビット11−kを“0"にする。こ
れにより、そのカウンタレジスタ10−kの更新が停止さ
れる。
および命令実行マイクロプログラム7は、線104を介し
て第1オペランドアドレスD1(B1)で指定されるカウン
タレジスタ10−kの状態ビット11−kを“0"にする。こ
れにより、そのカウンタレジスタ10−kの更新が停止さ
れる。
リセットカウンタ命令を発行すると、命令実行回路6
および命令実行マイクロプログラム7は、線104を介し
て第1オペランドアドレスD1(B1)で指定されるカウン
タレジスタ10−kをリセットする。
および命令実行マイクロプログラム7は、線104を介し
て第1オペランドアドレスD1(B1)で指定されるカウン
タレジスタ10−kをリセットする。
リード及びリセットカウンタ命令を発行すると、命令
実行回路6および命令実行マイクロプログラム7は、線
104を介してカウンタレジスタ10−1から10−nの値を
読み出し、第1オペランドアドレスD1(B1)で指定され
る主記憶装置3上の領域に、全カウンタの内容をカウン
タ番号順に格納する。さらに、命令実行回路6および命
令実行マイクロプログラム7は、線104を介して全カウ
ンタレジスタ10−k(k=1〜n)をリセットする。な
お、ハードウェアモニタ機構を使用して、性能測定を行
う例としては、IBM システムジャーナル第18巻No.1 19
79「仮想計算機/370」(IBM System Journal Volume Ei
ghteen Number One「Virtual Machine Facility/370(M
ackinnon著)24頁)がある。
実行回路6および命令実行マイクロプログラム7は、線
104を介してカウンタレジスタ10−1から10−nの値を
読み出し、第1オペランドアドレスD1(B1)で指定され
る主記憶装置3上の領域に、全カウンタの内容をカウン
タ番号順に格納する。さらに、命令実行回路6および命
令実行マイクロプログラム7は、線104を介して全カウ
ンタレジスタ10−k(k=1〜n)をリセットする。な
お、ハードウェアモニタ機構を使用して、性能測定を行
う例としては、IBM システムジャーナル第18巻No.1 19
79「仮想計算機/370」(IBM System Journal Volume Ei
ghteen Number One「Virtual Machine Facility/370(M
ackinnon著)24頁)がある。
次に、IOP(入出力処理装置)におけるチャネルモニ
タリング機能について、詳述する。
タリング機能について、詳述する。
第10図は、常駐VMの説明図である。
各VMのCPU2−iは、VMCPが実計算機システム1のCPU2
を時分割で各VMに割当てることにより実現される。各VM
の主記憶装置3−iは、一般にVMCPが作成、管理する仮
想空間として割当てられるが、第10図の常駐VMの主記憶
装置26や27のように実計算機システム1の主記憶装置3
の連続した領域を分割して割当てられることにより、実
記憶装置アドレスが仮想計算機の主記憶装置アドレスに
固定値を加えたものに等しくなるようにすることもでき
る。このような主記憶装置を有するVMを、常駐VMとい
う。各VMの主記憶装置3−iにOSが格納されているが、
常駐VMの主記憶装置3−iは主記憶装置3上に存在す
る。さらに、各VMのIOP4−iやIOC5−iは、実計算機シ
ステム1の対応物を占有または共有することにより実現
される。なお、チャネルモニタリングの機能について
は、IBM社のマニュアル「IBM システム370拡張アーキ
テクチャの動作原理」(IBM System/370 Extended Arc
hitecture Principles of Operation17−2)に記載さ
れている。
を時分割で各VMに割当てることにより実現される。各VM
の主記憶装置3−iは、一般にVMCPが作成、管理する仮
想空間として割当てられるが、第10図の常駐VMの主記憶
装置26や27のように実計算機システム1の主記憶装置3
の連続した領域を分割して割当てられることにより、実
記憶装置アドレスが仮想計算機の主記憶装置アドレスに
固定値を加えたものに等しくなるようにすることもでき
る。このような主記憶装置を有するVMを、常駐VMとい
う。各VMの主記憶装置3−iにOSが格納されているが、
常駐VMの主記憶装置3−iは主記憶装置3上に存在す
る。さらに、各VMのIOP4−iやIOC5−iは、実計算機シ
ステム1の対応物を占有または共有することにより実現
される。なお、チャネルモニタリングの機能について
は、IBM社のマニュアル「IBM システム370拡張アーキ
テクチャの動作原理」(IBM System/370 Extended Arc
hitecture Principles of Operation17−2)に記載さ
れている。
第11図は、従来のチャネルモニタリング機構の説明図
である。主記憶装置3には、各入出力装置対応に入出力
装置の状態を格納するユニット・コントロール・ワード
(以下、UCW)28−kがある。また、各UCW28−kには、
チャネルモニタリングを行うか否かを示す入出力装置モ
ニタリング有効ビット29−k,およびモニタリング情報域
の先頭アドレス(以下、MBO)からの変位を表わすメジ
ャメント・バイト・インデックス(以下MBI)30−kが
ある。一方、IOP4には、実計算機システム1がチャネル
モニタリングを行うか否かを表わすチャネルモニタリン
グ有効ビットレジスタ31とモニタリングした情報を格納
する領域の先頭アドレスを保持するメヂャメント・ブロ
ック・オリジンレジスタ(以下、MBOレジスタ)32およ
びチャネルモニタリング機構36が主記憶装置3を更新す
る時に記憶保護キーとして用いる測定ブロックキーレジ
スタ37がある。なお、チャネルモニタリング有効ビット
レジスタ31のオン・オフおよびMBOレジスタ32のセット
は、入出力命令SCHM(Set Channel Monitor)により行
われる。また、入出力装置モニタリング有効ビット29−
kのオン・オフおよびMBI・30−kの設定は、入出力命
令MSCH(Modify Subchannel)により行われる。
である。主記憶装置3には、各入出力装置対応に入出力
装置の状態を格納するユニット・コントロール・ワード
(以下、UCW)28−kがある。また、各UCW28−kには、
チャネルモニタリングを行うか否かを示す入出力装置モ
ニタリング有効ビット29−k,およびモニタリング情報域
の先頭アドレス(以下、MBO)からの変位を表わすメジ
ャメント・バイト・インデックス(以下MBI)30−kが
ある。一方、IOP4には、実計算機システム1がチャネル
モニタリングを行うか否かを表わすチャネルモニタリン
グ有効ビットレジスタ31とモニタリングした情報を格納
する領域の先頭アドレスを保持するメヂャメント・ブロ
ック・オリジンレジスタ(以下、MBOレジスタ)32およ
びチャネルモニタリング機構36が主記憶装置3を更新す
る時に記憶保護キーとして用いる測定ブロックキーレジ
スタ37がある。なお、チャネルモニタリング有効ビット
レジスタ31のオン・オフおよびMBOレジスタ32のセット
は、入出力命令SCHM(Set Channel Monitor)により行
われる。また、入出力装置モニタリング有効ビット29−
kのオン・オフおよびMBI・30−kの設定は、入出力命
令MSCH(Modify Subchannel)により行われる。
第12図は、SCHM命令の説明図である。SCHM命令はS形
式の命令であり、CPU2内の汎用レジスタGR1には、測定
ブロックキー、チャネルモニタリング有効ビットを指定
し、また汎用レジスタGR2には、MBOを指定する。SCHM命
令を発行すると、第11図において、CPU2は線101を経由
してチャネルモニタリング機構16にレジスタGR1,GR2の
値を送る。そして、レジスタGR1内の測定ブロックキー
の値を測定ブロックキーレジスタ37へ、チャネルモニタ
リング有効ビットの値をチャネルモニタリング有効ビッ
ト31へ、またレジスタGR2の値をMBOレジスタ32へ、それ
ぞれ設定する。
式の命令であり、CPU2内の汎用レジスタGR1には、測定
ブロックキー、チャネルモニタリング有効ビットを指定
し、また汎用レジスタGR2には、MBOを指定する。SCHM命
令を発行すると、第11図において、CPU2は線101を経由
してチャネルモニタリング機構16にレジスタGR1,GR2の
値を送る。そして、レジスタGR1内の測定ブロックキー
の値を測定ブロックキーレジスタ37へ、チャネルモニタ
リング有効ビットの値をチャネルモニタリング有効ビッ
ト31へ、またレジスタGR2の値をMBOレジスタ32へ、それ
ぞれ設定する。
第13図は、MSCH命令の説明図である。
MSCH命令は、S形式の命令である。汎用レジスタGR1
には、特定のUCWを指定する番号を指定する。また、第
2オペランドアドレス(D2/B2)は、サブチャネル・イ
ンフォメーション・ブロック(以下、SCHIB)テーブル
のアドレスである。SCHIBには、レジスタGR1で指定され
るUCWに指定する入出力装置モニタリング有効ビットお
よびMBI等が格納されている。MSCH命令を発行すると、
第11図に示すように、CPU2は線100を介しレジスタGR1で
示された入出力装置がフリーであれば、対応するUCW28
−kの入出力装置モニタリング有効ビット29およびMBI
・30に、上記SCHIBで指定された値をセットする。
には、特定のUCWを指定する番号を指定する。また、第
2オペランドアドレス(D2/B2)は、サブチャネル・イ
ンフォメーション・ブロック(以下、SCHIB)テーブル
のアドレスである。SCHIBには、レジスタGR1で指定され
るUCWに指定する入出力装置モニタリング有効ビットお
よびMBI等が格納されている。MSCH命令を発行すると、
第11図に示すように、CPU2は線100を介しレジスタGR1で
示された入出力装置がフリーであれば、対応するUCW28
−kの入出力装置モニタリング有効ビット29およびMBI
・30に、上記SCHIBで指定された値をセットする。
チャネルモニタリング有効ビットレジスタ31が“1"で
あり、UCW28−kの入出力装置モニタリング有効ビット2
9が“1"であるとき、このUCW28−kに対応する入出力装
置がモニタの対象となる。そして、この入出力装置に対
して、モニタの対象となる事象が発生する度に、チャネ
ルモニタリング機構16は、MBOレジスタとMBI・30から求
められる主記憶装置3上の領域に、測定ブロックキーレ
ジスタ37を保護キーとしてアクセスし、モニタ情報を更
新する。
あり、UCW28−kの入出力装置モニタリング有効ビット2
9が“1"であるとき、このUCW28−kに対応する入出力装
置がモニタの対象となる。そして、この入出力装置に対
して、モニタの対象となる事象が発生する度に、チャネ
ルモニタリング機構16は、MBOレジスタとMBI・30から求
められる主記憶装置3上の領域に、測定ブロックキーレ
ジスタ37を保護キーとしてアクセスし、モニタ情報を更
新する。
以上、述べたように、ハードウェアモニタ機構8は、
CPU2の状態を収集して、命令によりOSに報告する機能を
有している。しかし、ハードウェアモニタ機構8を仮想
計算機システムで使用すると、システム全体での情報が
カウンタレジスタ10に収集され、VMCPやVMごとのモニタ
情報の収集はできないという問題がある。
CPU2の状態を収集して、命令によりOSに報告する機能を
有している。しかし、ハードウェアモニタ機構8を仮想
計算機システムで使用すると、システム全体での情報が
カウンタレジスタ10に収集され、VMCPやVMごとのモニタ
情報の収集はできないという問題がある。
また、拡張アーキテクチャの計算機のIOPには、前述
のように、各入出力装置の使用状態を収集するチャネル
モニタリング機構があるが、仮想計算機システムにおい
てチャネルモニタリングを行おうとすると、MBOレジス
タ32がシステムに1つしかないために、複数のVMが同時
に使用することはできないという問題がある。
のように、各入出力装置の使用状態を収集するチャネル
モニタリング機構があるが、仮想計算機システムにおい
てチャネルモニタリングを行おうとすると、MBOレジス
タ32がシステムに1つしかないために、複数のVMが同時
に使用することはできないという問題がある。
本発明の第1の目的は、上記のような従来の問題点を
改善し、VMCP走行時とVM走行時のハードウェアモニタ情
報を、個別に収集するとともに、VMごとのハードウェア
情報を同時に収集することが可能なVMSのモニタリング
方式を提供することにある。また、本発明の第2の目的
は、入出力装置の使用状況を、その入出力装置を使用し
たVMごとに収集することが可能なVMSのモニタリング方
式を提供することにある。
改善し、VMCP走行時とVM走行時のハードウェアモニタ情
報を、個別に収集するとともに、VMごとのハードウェア
情報を同時に収集することが可能なVMSのモニタリング
方式を提供することにある。また、本発明の第2の目的
は、入出力装置の使用状況を、その入出力装置を使用し
たVMごとに収集することが可能なVMSのモニタリング方
式を提供することにある。
上記目的を達成するために、本発明によるVMSのモニ
タリング方式は、中央処理装置に該中央処理装置のモニ
タ情報を収集するためのカウンタレジスタを備え、かつ
該中央処理装置からの命令により指定された主記憶装置
上の測定領域に入出力装置の使用状況を収集する入出力
処理装置を接続し、1台ないし複数台のOSの同時走行を
管理する制御プログラムを有して、該OSに対して仮想計
算機を実現する仮想計算機システムにおいて、上記カウ
ンタレジスタまたはOSが指定した上記測定領域のアドレ
スおよび仮想計算機の識別子の組のいずれか一方、また
は両方をそれぞれ2組以上有することに特徴がある。さ
らに、上記中央処理装置で仮想計算機が走行中か上記制
御プログラムが走行中かを識別する手段を有し、上記2
組以上のカウンタレジスタの1つには上記中央処理装置
で上記制御プログラムが走行中のモニタ情報を収集し、
他の1つ以上には上記中央処理装置で仮想計算機が走行
中のモニタ情報を収集することに特徴がある。さらに、
入出力装置ごとに現在入出力装置を使用中の仮想計算機
の識別子を設け、上記仮想計算機上のOSの測定領域に該
仮想計算機の入出力装置の使用状況を収集することに特
徴がある。
タリング方式は、中央処理装置に該中央処理装置のモニ
タ情報を収集するためのカウンタレジスタを備え、かつ
該中央処理装置からの命令により指定された主記憶装置
上の測定領域に入出力装置の使用状況を収集する入出力
処理装置を接続し、1台ないし複数台のOSの同時走行を
管理する制御プログラムを有して、該OSに対して仮想計
算機を実現する仮想計算機システムにおいて、上記カウ
ンタレジスタまたはOSが指定した上記測定領域のアドレ
スおよび仮想計算機の識別子の組のいずれか一方、また
は両方をそれぞれ2組以上有することに特徴がある。さ
らに、上記中央処理装置で仮想計算機が走行中か上記制
御プログラムが走行中かを識別する手段を有し、上記2
組以上のカウンタレジスタの1つには上記中央処理装置
で上記制御プログラムが走行中のモニタ情報を収集し、
他の1つ以上には上記中央処理装置で仮想計算機が走行
中のモニタ情報を収集することに特徴がある。さらに、
入出力装置ごとに現在入出力装置を使用中の仮想計算機
の識別子を設け、上記仮想計算機上のOSの測定領域に該
仮想計算機の入出力装置の使用状況を収集することに特
徴がある。
本発明においては、CPU内に、VMが走行中であること
を識別するためのレジスタと、VMCPが走行中であること
を識別するためのレジスタを設けるとともに、2組のカ
ウンタレジスタを設けて、一方のカウンタにはVMCP走行
中のモニタ情報を収集し、他方のカウンタにはVM走行中
のモニタ情報を収集する。その場合上記カウンタレジス
タの読み出し命令、更新開始命令、更新停止命令、リセ
ット命令、および読出し・リセット命令を使用する。
を識別するためのレジスタと、VMCPが走行中であること
を識別するためのレジスタを設けるとともに、2組のカ
ウンタレジスタを設けて、一方のカウンタにはVMCP走行
中のモニタ情報を収集し、他方のカウンタにはVM走行中
のモニタ情報を収集する。その場合上記カウンタレジス
タの読み出し命令、更新開始命令、更新停止命令、リセ
ット命令、および読出し・リセット命令を使用する。
また、本発明においては、IOP内に、VMのMBOを設定す
るレジスタと、VMを識別する固有な番号の組を1組ない
し複数組具備し、CPUがこれらを上記レジスタに設定す
る。さらに、CPUは、IOPごとに、どのVMが使用中である
かを識別する。
るレジスタと、VMを識別する固有な番号の組を1組ない
し複数組具備し、CPUがこれらを上記レジスタに設定す
る。さらに、CPUは、IOPごとに、どのVMが使用中である
かを識別する。
以下、本発明の実施例を、図面により詳細に説明す
る。第1図は、本発明の第1の実施例を示すVMSの構成
図であり、第6図はハードウェアモニタ関係命令の説明
図である。
る。第1図は、本発明の第1の実施例を示すVMSの構成
図であり、第6図はハードウェアモニタ関係命令の説明
図である。
第1図に示すように、本実施例においては、CPU2のハ
ードウェアモニタ機構8内に、2組のハードウェアカウ
ンタ群9−1,9−2を設ける。ハードウェアカウンタ群
9−1は、VMCP走行中のモニタ情報を収集し、ハードウ
ェアカウンタ群9−2は、VM走行時のモニタ情報を収集
する。また、新たに、走行モード表示レジスタ14を設け
る。この走行モード表示レジスタ14は、VMCPの走行中は
“1"であり、VMの走行中は“0"である。
ードウェアモニタ機構8内に、2組のハードウェアカウ
ンタ群9−1,9−2を設ける。ハードウェアカウンタ群
9−1は、VMCP走行中のモニタ情報を収集し、ハードウ
ェアカウンタ群9−2は、VM走行時のモニタ情報を収集
する。また、新たに、走行モード表示レジスタ14を設け
る。この走行モード表示レジスタ14は、VMCPの走行中は
“1"であり、VMの走行中は“0"である。
先ず、走行モード表示レジスタ14の設定方法につい
て、述べる。VM走行中にVMCPに制御を渡す事象が発生し
た場合、インタセプション実行回路12およびインタセプ
ションマイクロプログラム13は、線109を介して走行モ
ード表示レジスタ14に“1"を設定する。また、VMCPがVM
をディスパッチした時には、そのディスパッチ命令によ
り命令実行回路6および命令実行マイクロプログラム7
は、線107を介して走行モード表示レジスタ14に“0"を
設定する。
て、述べる。VM走行中にVMCPに制御を渡す事象が発生し
た場合、インタセプション実行回路12およびインタセプ
ションマイクロプログラム13は、線109を介して走行モ
ード表示レジスタ14に“1"を設定する。また、VMCPがVM
をディスパッチした時には、そのディスパッチ命令によ
り命令実行回路6および命令実行マイクロプログラム7
は、線107を介して走行モード表示レジスタ14に“0"を
設定する。
次に、ハードウェアカウンタ群9−1,9−2の更新に
ついて、述べる。走行モード表示レジスタ14の値が“1"
で、かつカウンタレジスタ10−1−kの状態ビット11−
1−kが“1"であれば、VMCP用のハードウェアカウンタ
群9−1のカウンタレジスタ10−1−kは更新中であ
る。また、走行モード表示レジスタ14の値が“0"で、か
つ該当するカウンタレジスタ10−2−kの状態ビット11
−2−kが“1"であれば、VM用のハードウェアカウンタ
群9−2のカウンタレジスタ10−2−kは更新中であ
る。上記以外の場合には、カウンタレジスタ10−1−k,
10−2−kはいずれも更新されない。
ついて、述べる。走行モード表示レジスタ14の値が“1"
で、かつカウンタレジスタ10−1−kの状態ビット11−
1−kが“1"であれば、VMCP用のハードウェアカウンタ
群9−1のカウンタレジスタ10−1−kは更新中であ
る。また、走行モード表示レジスタ14の値が“0"で、か
つ該当するカウンタレジスタ10−2−kの状態ビット11
−2−kが“1"であれば、VM用のハードウェアカウンタ
群9−2のカウンタレジスタ10−2−kは更新中であ
る。上記以外の場合には、カウンタレジスタ10−1−k,
10−2−kはいずれも更新されない。
次に、本実施例によるハードウェアカウンタに関する
命令について、第6図により述べる。第6図において、
汎用レジスタGR1に設定されるモード指示ビット15は、
“1"の場合、ハードウェアカウンタ群9−1を操作する
ことを指示し、“0"の場合には、ハードウェアカウンタ
群9−2を操作することを指示する。また、第6図に示
すリードカウンタ拡張命令、スタートカウンタ拡張命
令、ストップカウンタ拡張命令、リセットカウンタ拡張
命令、リード・リセットカウンタ拡張命令は、いずれも
汎用レジスタGR1に指示されたハードウェアカウンタ群
9−1または9−2に対して、先に述べた各命令(リー
ドカウンタ命令、スタートカウンタ命令、ストップカウ
ンタ命令、リセットカウンタ命令、リード・リセットカ
ウンタ命令)と同じ処理を行う。従来から存在する命令
と、その拡張命令、例えばリードカウンタ命令とリード
カウンタ拡張命令の命令コードは同一にしてもよい。同
一の場合には、命令発行時に、走行モード表示レジスタ
14が“1"の場合、すなわち、VMCPが発行した場合には、
本発行による拡張命令の処理を行う。また、命令発行時
に、走行モード表示レジスタ14が“0"の場合、すなわ
ち、VMが発行した場合には、従来から存在するハードウ
ェアモニタの命令の処理を行う。
命令について、第6図により述べる。第6図において、
汎用レジスタGR1に設定されるモード指示ビット15は、
“1"の場合、ハードウェアカウンタ群9−1を操作する
ことを指示し、“0"の場合には、ハードウェアカウンタ
群9−2を操作することを指示する。また、第6図に示
すリードカウンタ拡張命令、スタートカウンタ拡張命
令、ストップカウンタ拡張命令、リセットカウンタ拡張
命令、リード・リセットカウンタ拡張命令は、いずれも
汎用レジスタGR1に指示されたハードウェアカウンタ群
9−1または9−2に対して、先に述べた各命令(リー
ドカウンタ命令、スタートカウンタ命令、ストップカウ
ンタ命令、リセットカウンタ命令、リード・リセットカ
ウンタ命令)と同じ処理を行う。従来から存在する命令
と、その拡張命令、例えばリードカウンタ命令とリード
カウンタ拡張命令の命令コードは同一にしてもよい。同
一の場合には、命令発行時に、走行モード表示レジスタ
14が“1"の場合、すなわち、VMCPが発行した場合には、
本発行による拡張命令の処理を行う。また、命令発行時
に、走行モード表示レジスタ14が“0"の場合、すなわ
ち、VMが発行した場合には、従来から存在するハードウ
ェアモニタの命令の処理を行う。
第7図は、本発明の第2の実施例を示すVMSの構成図
である。第7図の実施例では、第1図の構成に加えて、
退避領域アドレスレジスタ16を設けている。退避領域ア
ドレスレジスタ16は、現在走行中のVMのCPUの状態を退
避するための退避領域17−i(1,2)のアドレスを保持
する。退避領域17−iには、VMを起動するために必要な
CPU情報が格納されており、その情報の中には該当VMの
ハードウェアカウンタ群9も含まれている。
である。第7図の実施例では、第1図の構成に加えて、
退避領域アドレスレジスタ16を設けている。退避領域ア
ドレスレジスタ16は、現在走行中のVMのCPUの状態を退
避するための退避領域17−i(1,2)のアドレスを保持
する。退避領域17−iには、VMを起動するために必要な
CPU情報が格納されており、その情報の中には該当VMの
ハードウェアカウンタ群9も含まれている。
VMのディスパッチ命令を退避領域17−iのアドレスを
指定して発行すると、次の処理が行われる。先ず、命令
実行回路6および命令実行マイクロプログラム7は、線
105を介して退避領域17−iのアドレスを退避領域アド
レスレジスタ16に設定し、線107を介して走行モード表
示レジスタ14に“0"を設定する。また、線100、線104を
介して退避領域17−iに格納されている該当VMのハード
ウェアカウンタ群の内容をハードウェアカウンタ群9−
2に設定する。この後、退避領域17−i内に格納されて
いる該当VMの状態情報を線100を介してCPU2に設定する
ことにより、VMはディスパッチされる。
指定して発行すると、次の処理が行われる。先ず、命令
実行回路6および命令実行マイクロプログラム7は、線
105を介して退避領域17−iのアドレスを退避領域アド
レスレジスタ16に設定し、線107を介して走行モード表
示レジスタ14に“0"を設定する。また、線100、線104を
介して退避領域17−iに格納されている該当VMのハード
ウェアカウンタ群の内容をハードウェアカウンタ群9−
2に設定する。この後、退避領域17−i内に格納されて
いる該当VMの状態情報を線100を介してCPU2に設定する
ことにより、VMはディスパッチされる。
また、VM走行中に制御をVMCPに渡す事象が発生した場
合には、インタセプション実行回路12およびインタセプ
ションマイクロプログラム13は、次の処理を実行する。
先ず、線109を介して走行モード表示レジスタ14に“1"
を設定し、線105を介して退避領域アドレスレジスタ16
の内容を読み出し、これをアドレスとする退避領域17−
iに、線114および線100を介してハードウェアカウンタ
群9−2の内容を退避する。さらに、線100を介してCPU
2の状態情報を退避領域17−iに退避する。その後、VMC
Pに制御を渡す。
合には、インタセプション実行回路12およびインタセプ
ションマイクロプログラム13は、次の処理を実行する。
先ず、線109を介して走行モード表示レジスタ14に“1"
を設定し、線105を介して退避領域アドレスレジスタ16
の内容を読み出し、これをアドレスとする退避領域17−
iに、線114および線100を介してハードウェアカウンタ
群9−2の内容を退避する。さらに、線100を介してCPU
2の状態情報を退避領域17−iに退避する。その後、VMC
Pに制御を渡す。
次に、VM切換機構24によりVMの切換えを行う場合に
は、次の処理を行う。先ず、線116を介して退避領域ア
ドレスレジスタ16の内容を読み取り、これをアドレスと
する退避領域17−1に、ハードウェアカウンタ群9−2
およびその他のCPU2の状態を線100を介して退避する。
そして、VM切換機構24は、次に走行させるVMの退避領域
17−2を選択する。また、線116を介して退避領域17−
2のアドレスを退避領域アドレスレジスタ16に設定し、
線100,線115を介して退避領域17−2に格納されている
該当VMのハードウェアカウンタ群の内容をハードウェア
カウンタ群9−2に設定する。また、退避領域17−2に
格納されているVMの状態情報を、線100を介してCPU2に
設定し、VMをディスパッチする。なお、ハードウェアカ
ウンタ群9−1および9−2の更新方法については、第
1の実施例の場合と全く同じである。
は、次の処理を行う。先ず、線116を介して退避領域ア
ドレスレジスタ16の内容を読み取り、これをアドレスと
する退避領域17−1に、ハードウェアカウンタ群9−2
およびその他のCPU2の状態を線100を介して退避する。
そして、VM切換機構24は、次に走行させるVMの退避領域
17−2を選択する。また、線116を介して退避領域17−
2のアドレスを退避領域アドレスレジスタ16に設定し、
線100,線115を介して退避領域17−2に格納されている
該当VMのハードウェアカウンタ群の内容をハードウェア
カウンタ群9−2に設定する。また、退避領域17−2に
格納されているVMの状態情報を、線100を介してCPU2に
設定し、VMをディスパッチする。なお、ハードウェアカ
ウンタ群9−1および9−2の更新方法については、第
1の実施例の場合と全く同じである。
ハードウェアカウンタに関する命令について述べる
と、VM走行時、すなわち、走行モード表示レジスタ14が
“0"の場合のハードウェアカウンタに関する命令は、ハ
ードウェアカウンタ群9−2を操作すればよい。また、
VMCP走行時、すなわち、走行モード表示レジスタ14が
“1"の場合のハードウェアカウンタに関する命令は、ハ
ードウェアカウンタ群9−1を操作すればよく、第1の
実施例で述べたものと全く同じである。
と、VM走行時、すなわち、走行モード表示レジスタ14が
“0"の場合のハードウェアカウンタに関する命令は、ハ
ードウェアカウンタ群9−2を操作すればよい。また、
VMCP走行時、すなわち、走行モード表示レジスタ14が
“1"の場合のハードウェアカウンタに関する命令は、ハ
ードウェアカウンタ群9−1を操作すればよく、第1の
実施例で述べたものと全く同じである。
第8図は、本発明の第3の実施例を示すVMSの構成図
であり、第9図は第3実施例におけるハードウェアモニ
タ関係の命令の説明図である。
であり、第9図は第3実施例におけるハードウェアモニ
タ関係の命令の説明図である。
第8図において、退避領域17−iには、第2の実施例
とは異なり、該当VMのハードウェアカウンタ群の値は退
避されない。また、退避領域17−iの中にはVMidのフィ
ールドがあり、これは各VMごとに固有にVMCPが指定する
番号を保持する。第8図に示すように、第3の実施例で
は、第7図に示す第2の実施例の構成に、さらに走行中
VMidレジスタ23およびローカルストレージ18が付加され
る。ローカルストレージ18内の19は退避領域テーブルで
ある。退避領域テーブル19は、ローカルストレージ内VM
id20およびローカルストレージ内退避領域アドレス21の
複数組から構成されている。そして、VMのハードウェア
カウンタ群の退避領域としては、このVMのVMidに一致す
る値を有するローカルストレージ内VMid20−pと組をな
すローカルストレージ内退避領域アドレス21がポイント
するローカルストレージ内退避領域22−pが使用され
る。
とは異なり、該当VMのハードウェアカウンタ群の値は退
避されない。また、退避領域17−iの中にはVMidのフィ
ールドがあり、これは各VMごとに固有にVMCPが指定する
番号を保持する。第8図に示すように、第3の実施例で
は、第7図に示す第2の実施例の構成に、さらに走行中
VMidレジスタ23およびローカルストレージ18が付加され
る。ローカルストレージ18内の19は退避領域テーブルで
ある。退避領域テーブル19は、ローカルストレージ内VM
id20およびローカルストレージ内退避領域アドレス21の
複数組から構成されている。そして、VMのハードウェア
カウンタ群の退避領域としては、このVMのVMidに一致す
る値を有するローカルストレージ内VMid20−pと組をな
すローカルストレージ内退避領域アドレス21がポイント
するローカルストレージ内退避領域22−pが使用され
る。
VMのディスパッチ命令を退避領域のアドレスを指定し
て発行すると、次の処理が行われる。先ず、命令実行回
路6および命令実行マイクロプログラム7は、線105を
介して退避領域17−iのアドレスを、退避領域アドレス
レジスタ16に設定し、線107を介して走行モード表示レ
ジスタ14に“0"を設定し、また線110を介して走行中VMi
dレジスタ23にVMidを設定する。また、線106を介して走
行中VMidレジスタ23に設定されたVMidに対応するローカ
ルストレージ内退避領域22−pの内容を、線104を介し
てハードウェアカウンタ群9−2に設定する。さらに、
命令実行回路6および命令実行マイクロプログラム7
は、退避領域17−iに格納されているVMの状態情報を線
100を介してCPU2に設定することにより、VMをディスパ
ッチする。
て発行すると、次の処理が行われる。先ず、命令実行回
路6および命令実行マイクロプログラム7は、線105を
介して退避領域17−iのアドレスを、退避領域アドレス
レジスタ16に設定し、線107を介して走行モード表示レ
ジスタ14に“0"を設定し、また線110を介して走行中VMi
dレジスタ23にVMidを設定する。また、線106を介して走
行中VMidレジスタ23に設定されたVMidに対応するローカ
ルストレージ内退避領域22−pの内容を、線104を介し
てハードウェアカウンタ群9−2に設定する。さらに、
命令実行回路6および命令実行マイクロプログラム7
は、退避領域17−iに格納されているVMの状態情報を線
100を介してCPU2に設定することにより、VMをディスパ
ッチする。
次に、VM走行中に制御をVMCPに渡す事象が発生した場
合、インタセプション実行回路12およびインタセプショ
ンマイクロプログラム13は、次の処理を行う。先ず、線
109を介して走行モード表示レジスタ14に“1"を設定す
る。また、線111を介して走行中VMidレジスタ23の内容
を取り出して、これをVMidとするローカルストレージ内
退避領域22−pに、線114,線112を介してハードウェア
カウンタ群9−2の内容を退避する。
合、インタセプション実行回路12およびインタセプショ
ンマイクロプログラム13は、次の処理を行う。先ず、線
109を介して走行モード表示レジスタ14に“1"を設定す
る。また、線111を介して走行中VMidレジスタ23の内容
を取り出して、これをVMidとするローカルストレージ内
退避領域22−pに、線114,線112を介してハードウェア
カウンタ群9−2の内容を退避する。
次に、VM切換機構24を介してVMの切換えを行う場合に
は、次の処理を行う。先ず、線116を介して退避領域ア
ドレスレジスタ16の内容を読み取り、これをアドレスと
する退避領域17−1に、CPU2の状態を線100を介して退
避する。次に、線117を介して走行中VMidレジスタ23の
値を読み取り、これに対するローカルストレージ内退避
領域22−pに、線114および線118を介してハードウェア
カウンタ群9−2の状態を退避する。次に、VM切換機構
24は、次に走行させるVMの退避領域17−2のアドレスを
退避領域アドレスレジスタ16に設定し、また線117を介
して該当VMidを走行中VMidレジスタ23に設定する。ま
た、このVMidに対応するローカルストレージ内退避領域
22−pの内容を線118、線115を介してハードウェアカウ
ンタ群9−2に設定する。さらに、ハードウェアカウン
タ群9−1および9−2の更新方法については、第1の
実施例と全く同じである。
は、次の処理を行う。先ず、線116を介して退避領域ア
ドレスレジスタ16の内容を読み取り、これをアドレスと
する退避領域17−1に、CPU2の状態を線100を介して退
避する。次に、線117を介して走行中VMidレジスタ23の
値を読み取り、これに対するローカルストレージ内退避
領域22−pに、線114および線118を介してハードウェア
カウンタ群9−2の状態を退避する。次に、VM切換機構
24は、次に走行させるVMの退避領域17−2のアドレスを
退避領域アドレスレジスタ16に設定し、また線117を介
して該当VMidを走行中VMidレジスタ23に設定する。ま
た、このVMidに対応するローカルストレージ内退避領域
22−pの内容を線118、線115を介してハードウェアカウ
ンタ群9−2に設定する。さらに、ハードウェアカウン
タ群9−1および9−2の更新方法については、第1の
実施例と全く同じである。
ハードウェアカウンタに関する命令については、第9
図に示す拡張命令が使用され、VM走行時、つまり走行モ
ード表示レジスタ14が“0"の場合のハードウェアカウン
タに関する命令は、ハードウェアカウンタ群9−2を操
作する。また、VMCP走行時、つまり走行モード表示レジ
スタ14が“1"の場合のハードウェアカウンタに関する命
令については、第9図に示すように、汎用レジスタGR1
にVMidを指定する。そして、VMidが“0"であれば、ハー
ドウェアカウンタ群9−1を操作し、“0"以外であれ
ば、ローカルストレージ18内の該当VMのローカルストレ
ージ内退避領域22−pを操作する。
図に示す拡張命令が使用され、VM走行時、つまり走行モ
ード表示レジスタ14が“0"の場合のハードウェアカウン
タに関する命令は、ハードウェアカウンタ群9−2を操
作する。また、VMCP走行時、つまり走行モード表示レジ
スタ14が“1"の場合のハードウェアカウンタに関する命
令については、第9図に示すように、汎用レジスタGR1
にVMidを指定する。そして、VMidが“0"であれば、ハー
ドウェアカウンタ群9−1を操作し、“0"以外であれ
ば、ローカルストレージ18内の該当VMのローカルストレ
ージ内退避領域22−pを操作する。
なお、詳述しなかったが、VMidとしては、VMCPが指定
するソフトウェアVMidと、ハードウェアにおいて使用す
るハードウェアVMidとの対応表を設けておき、ハードウ
ェアではハードウェアVMidを使用することもできる。こ
の場合、第8図における走行中VMidレジスタ22には、ハ
ードウェアVMidが設定される。そして、VMのディスパッ
チ時には、ソフトウェアVMidが対応表によりハードウェ
アVMidに変換されて、走行中VMidレジスタ23に設定され
る。また、ハードウェアカウンタ関係の命令では、ソフ
トウェアVMidを指定し、命令実行回路6および命令実行
マイクロプログラム7がこれをハードウェアVMidに変換
し、これに対応するローカルストレージ内退避領域22を
処理することも可能である。
するソフトウェアVMidと、ハードウェアにおいて使用す
るハードウェアVMidとの対応表を設けておき、ハードウ
ェアではハードウェアVMidを使用することもできる。こ
の場合、第8図における走行中VMidレジスタ22には、ハ
ードウェアVMidが設定される。そして、VMのディスパッ
チ時には、ソフトウェアVMidが対応表によりハードウェ
アVMidに変換されて、走行中VMidレジスタ23に設定され
る。また、ハードウェアカウンタ関係の命令では、ソフ
トウェアVMidを指定し、命令実行回路6および命令実行
マイクロプログラム7がこれをハードウェアVMidに変換
し、これに対応するローカルストレージ内退避領域22を
処理することも可能である。
このように、第1、第2、および第3の実施例におい
ては、VMSのVMCP走行時とVM走行時のハードウェアモニ
タ情報を別個に取り出すこと、およびVMごとのハードウ
ェアモニタ情報を同時に収集することが、いずれも可能
となる。
ては、VMSのVMCP走行時とVM走行時のハードウェアモニ
タ情報を別個に取り出すこと、およびVMごとのハードウ
ェアモニタ情報を同時に収集することが、いずれも可能
となる。
次に、IOPにおけるチャネルモニタリング機能につい
て、詳述する。第14図は、本発明の第4の実施例を示す
VMSの構成図であり、第15図および第16図は本実施例で
使用する命令の説明図である。
て、詳述する。第14図は、本発明の第4の実施例を示す
VMSの構成図であり、第15図および第16図は本実施例で
使用する命令の説明図である。
第14図に示すように、本実施例では、第11図に示す従
来のチャネルモニタリング機構36に比べて、MBOレジス
タ32を2個以上有している点で異なっている。第14図で
は、MBOレジスタ32−1,32−2の2個が設けられている
が、3個以上設けることも勿論可能である。また、各々
のMBOレジスタ32−jに対して、チャネルモニタリング
有効ビット31−j、測定ブロックキーレジスタ37−j、
VMidフィールド34−jを持っている。VMidフィールド34
−jには、VMCPが各VMごとにユニークに与える番号が設
定される。さらに、本実施例では、UCW28−k内に使用
中VMidフィールド35−kを設ける。
来のチャネルモニタリング機構36に比べて、MBOレジス
タ32を2個以上有している点で異なっている。第14図で
は、MBOレジスタ32−1,32−2の2個が設けられている
が、3個以上設けることも勿論可能である。また、各々
のMBOレジスタ32−jに対して、チャネルモニタリング
有効ビット31−j、測定ブロックキーレジスタ37−j、
VMidフィールド34−jを持っている。VMidフィールド34
−jには、VMCPが各VMごとにユニークに与える番号が設
定される。さらに、本実施例では、UCW28−k内に使用
中VMidフィールド35−kを設ける。
最初に、本実施例で設けられたUCW28−kの使用中VMi
dフィールド35−kの設定方法およびIOP4内のチャネル
モニタリング有効ビット31−j、MBOレジスタ32−j、V
Midフィールド34−jの各設定方法について述べる。
dフィールド35−kの設定方法およびIOP4内のチャネル
モニタリング有効ビット31−j、MBOレジスタ32−j、V
Midフィールド34−jの各設定方法について述べる。
先ず、本実施例による新設の命令であるSCHME(Set C
hannel Monitor Extend)命令によりチャネルモニタリ
ング有効ビット31−1,MBOレジスタ32−j、VMidフィー
ルド34−jを設定する。第15図に示すように、SCHME命
令は、いわゆるS形式の命令である。汎用レジスタGR1
には、測定ブロックキー、VMid、チャネルモニタリング
有効ビットが指定され、また汎用レジスタGR2には、MBO
が設定されている。SCHME命令を発行すると、CPU2は線1
01を介してIOP4内のチャネルモニタリング機構36′に汎
用レジスタGR1、GR2の値を送る。チャネルモニタリング
機構36′は、汎用レジスタGR1に示されたVMidに一致す
るVMidフィールド34−jを有するフィールドがあれば、
そのフィールドを更新の対象にするが、該当フィールド
がなければチャネルモニタリング有効ビット34−jが
“0"のフィールドを更新の対象とする。更新の対象とな
るフィールドがない場合には、条件コードとして3を返
送する。また、更新フィールドが存在する場合、該当フ
ィールドのチャネルモニタリング有効ビット31−jには
汎用レジスタGR1で指定された値を、またMBOレジスタ32
−jには汎用レジスタGR2の値を、VMidフィールド34−
jには汎用レジスタGR1に示されたVMidを、それぞれ設
定する。
hannel Monitor Extend)命令によりチャネルモニタリ
ング有効ビット31−1,MBOレジスタ32−j、VMidフィー
ルド34−jを設定する。第15図に示すように、SCHME命
令は、いわゆるS形式の命令である。汎用レジスタGR1
には、測定ブロックキー、VMid、チャネルモニタリング
有効ビットが指定され、また汎用レジスタGR2には、MBO
が設定されている。SCHME命令を発行すると、CPU2は線1
01を介してIOP4内のチャネルモニタリング機構36′に汎
用レジスタGR1、GR2の値を送る。チャネルモニタリング
機構36′は、汎用レジスタGR1に示されたVMidに一致す
るVMidフィールド34−jを有するフィールドがあれば、
そのフィールドを更新の対象にするが、該当フィールド
がなければチャネルモニタリング有効ビット34−jが
“0"のフィールドを更新の対象とする。更新の対象とな
るフィールドがない場合には、条件コードとして3を返
送する。また、更新フィールドが存在する場合、該当フ
ィールドのチャネルモニタリング有効ビット31−jには
汎用レジスタGR1で指定された値を、またMBOレジスタ32
−jには汎用レジスタGR2の値を、VMidフィールド34−
jには汎用レジスタGR1に示されたVMidを、それぞれ設
定する。
次に、UCW28−kの入出力装置モニタリング有効ビッ
ト29−k、MBI30−k、使用中VMidフィールド35−kの
設定方法について、述べる。これは、本実施例における
新設命令MBCHE(Modify Subchannel Extended)命令に
より行われる。第16図に示すように、MSCHE命令はいわ
ゆるS形式の命令である。第2オペランドアドレス(D2
/B2)は、SCHIBにさらにVMidを有するSCHIBE(SCHIB Ex
tended)テーブルのアドレスである。また、汎用レジス
タGR1には、入出力装置を識別する番号を指定する。MSC
HE命令をCPU2で実行すると、線100を介してSCHIBEテー
ブルの内容をUCW28−kに設定する点は、MSCH命令と同
じである。ここで、UCW28−kは、汎用レジスタGR1に示
されている入出力装置に対応するものである。さらに、
MSCHE命令においては、SCHIBE中のVMidの値が使用中VMi
dフィールド35−kに設定される。MSCHE命令を発行する
契機としては、特定のVMのみが占有して使用する入出力
装置であれば、該当入出力装置の占有時に使用中VMidフ
ィールド35−kの設定を行う。さらに、複数のVMが共有
して使用する入出力装置の場合には、VMからの入出力命
令の度ごとにMSCHEを発行することにより、使用中VMid
フィールド35−kの設定を行う。
ト29−k、MBI30−k、使用中VMidフィールド35−kの
設定方法について、述べる。これは、本実施例における
新設命令MBCHE(Modify Subchannel Extended)命令に
より行われる。第16図に示すように、MSCHE命令はいわ
ゆるS形式の命令である。第2オペランドアドレス(D2
/B2)は、SCHIBにさらにVMidを有するSCHIBE(SCHIB Ex
tended)テーブルのアドレスである。また、汎用レジス
タGR1には、入出力装置を識別する番号を指定する。MSC
HE命令をCPU2で実行すると、線100を介してSCHIBEテー
ブルの内容をUCW28−kに設定する点は、MSCH命令と同
じである。ここで、UCW28−kは、汎用レジスタGR1に示
されている入出力装置に対応するものである。さらに、
MSCHE命令においては、SCHIBE中のVMidの値が使用中VMi
dフィールド35−kに設定される。MSCHE命令を発行する
契機としては、特定のVMのみが占有して使用する入出力
装置であれば、該当入出力装置の占有時に使用中VMidフ
ィールド35−kの設定を行う。さらに、複数のVMが共有
して使用する入出力装置の場合には、VMからの入出力命
令の度ごとにMSCHEを発行することにより、使用中VMid
フィールド35−kの設定を行う。
最後に、本実施例におけるチャネルモニタリング機構
36′について、説明する。チャネルモニタリング機構3
6′が収集した各入出力装置の使用状況は、UCW28−k中
の入出力装置モニタリング有効ビット29−kが“1"で、
かつ使用中VMidフィールド35−kに一致するVMidフィー
ルド31−jが存在して、そのチャネルモニタリング有効
ビット34−jが“1"の時、MBOレジスタ32−jの内容にM
BI30−kの値を加えた領域に、記憶保護キーを測定ブロ
ックキーレジスタ37−jとしてアクセスし、これを更新
する。しかし、本実施例においては、全てのVMに適用さ
れるものではなく、常駐VMのみに適用される。この理由
として、チャネルモニタリング機構36′が収集した各入
出力装置の使用状況は、主記憶装置3上で直接更新され
るために、VMの主記憶装置3−iは、主記憶装置3上に
ページ固定して与えられている必要があるからである。
また、本実施例では詳述していないが、VMCPは、常駐VM
と同時に、このチャネルモニタリング機構36′を使用す
ることができる。
36′について、説明する。チャネルモニタリング機構3
6′が収集した各入出力装置の使用状況は、UCW28−k中
の入出力装置モニタリング有効ビット29−kが“1"で、
かつ使用中VMidフィールド35−kに一致するVMidフィー
ルド31−jが存在して、そのチャネルモニタリング有効
ビット34−jが“1"の時、MBOレジスタ32−jの内容にM
BI30−kの値を加えた領域に、記憶保護キーを測定ブロ
ックキーレジスタ37−jとしてアクセスし、これを更新
する。しかし、本実施例においては、全てのVMに適用さ
れるものではなく、常駐VMのみに適用される。この理由
として、チャネルモニタリング機構36′が収集した各入
出力装置の使用状況は、主記憶装置3上で直接更新され
るために、VMの主記憶装置3−iは、主記憶装置3上に
ページ固定して与えられている必要があるからである。
また、本実施例では詳述していないが、VMCPは、常駐VM
と同時に、このチャネルモニタリング機構36′を使用す
ることができる。
このように、本実施例においては、複数の常駐VMに対
して、同時にチャネルモニタリングをサポートすること
ができ、さらにVMCPと1個以上の常駐VMのチャネルモニ
タリングを同時にサポートすることも可能である。
して、同時にチャネルモニタリングをサポートすること
ができ、さらにVMCPと1個以上の常駐VMのチャネルモニ
タリングを同時にサポートすることも可能である。
以上説明したように、本発明によれば、VMCP走行時と
VM走行時のハードウェアモニタ情報を個別に収集し、か
つVMごとのハードウェアモニタ情報を同時に収集するこ
とが可能となる。さらに、本発明によれば、入出力装置
の使用状況を、その入出力装置を使用したVMごとに収集
することが可能となる。
VM走行時のハードウェアモニタ情報を個別に収集し、か
つVMごとのハードウェアモニタ情報を同時に収集するこ
とが可能となる。さらに、本発明によれば、入出力装置
の使用状況を、その入出力装置を使用したVMごとに収集
することが可能となる。
第1図は本発明の第1の実施例を示すハードウェアモニ
タリング方式を実行する仮想計算機システム(VMS)の
ブロック図、第2図は一般の実計算機システムの構成
図、第3図は一般のVMSの構成図、第4図は従来のハー
ドウェアモニタリング方式を実行するVMSの構成図、第
5図は従来におけるハードウェアモニタ関係命令の説明
図、第6図は本発明におけるハードウェアモニタ関係命
令の説明図、第7図は本発明の第2の実施例を示すハー
ドウェアモニタリング方式を実行するVMSのブロック
図、第8図は本発明の第3の実施例を示すハードウェア
モニタリング方式を実行するVMSのブロック図、第9図
は第3の実施例のハードウェアモニタ関係命令の説明
図、第10図は常駐VMの説明図、第11図は従来のチャネル
モニタリング方式を実行するVMSのブロック、第12図お
よび第13図は従来のチャネルモニタリング関係命令の説
明図、第14図は本発明の第4の実施例を示すチャネルモ
ニタリング方式を実行するVMSのブロック、第15図およ
び第16図は本発明におけるチャネルモニタ関係命令の説
明図である。 1:実計算機システム、2:中央処理装置(CPU)、3:主記
憶装置、4:入出力処理装置(IOP)、5:入出力制御装置
(IOC)、6:命令実行回路、7:命令実行マイクロプログ
ラム、8:ハードウェアモニタ機構、9:ハードウェアカウ
ンタ群、10:カウンタレジスタ、11:状態ビット、12:イ
ンタセプション実行回路、13:インタセプションマイク
ロプログラム、14:走行モード表示レジスタ、15:モード
指示ビット、16:退避領域アドレスレジスタ、17:退避領
域、18:ローカルストレージ、19:退避領域テーブル、2
0:ローカルストレージ内VMid、21:ローカルストレージ
内退避領域、23:走行中VMidレジスタ、24:VM切換機構、
26,27:常駐VMの主記憶装置、28:UCW(Unit Control Wor
d)、29:入出力装置モニタリング有効ビット、30:MBI
(メジャメント・バイト・インデックス)、31:チャネ
ルモニタリング有効ビット、32:MBO(メジャメント・ブ
ロック・オリジン)レジスタ、33:メジャメント・ブロ
ック、34:VMidフィールド、35:使用中VMidフィールド、
36,36′:チャネルモニタリング機構、37:測定ブロック
キーレジスタ。
タリング方式を実行する仮想計算機システム(VMS)の
ブロック図、第2図は一般の実計算機システムの構成
図、第3図は一般のVMSの構成図、第4図は従来のハー
ドウェアモニタリング方式を実行するVMSの構成図、第
5図は従来におけるハードウェアモニタ関係命令の説明
図、第6図は本発明におけるハードウェアモニタ関係命
令の説明図、第7図は本発明の第2の実施例を示すハー
ドウェアモニタリング方式を実行するVMSのブロック
図、第8図は本発明の第3の実施例を示すハードウェア
モニタリング方式を実行するVMSのブロック図、第9図
は第3の実施例のハードウェアモニタ関係命令の説明
図、第10図は常駐VMの説明図、第11図は従来のチャネル
モニタリング方式を実行するVMSのブロック、第12図お
よび第13図は従来のチャネルモニタリング関係命令の説
明図、第14図は本発明の第4の実施例を示すチャネルモ
ニタリング方式を実行するVMSのブロック、第15図およ
び第16図は本発明におけるチャネルモニタ関係命令の説
明図である。 1:実計算機システム、2:中央処理装置(CPU)、3:主記
憶装置、4:入出力処理装置(IOP)、5:入出力制御装置
(IOC)、6:命令実行回路、7:命令実行マイクロプログ
ラム、8:ハードウェアモニタ機構、9:ハードウェアカウ
ンタ群、10:カウンタレジスタ、11:状態ビット、12:イ
ンタセプション実行回路、13:インタセプションマイク
ロプログラム、14:走行モード表示レジスタ、15:モード
指示ビット、16:退避領域アドレスレジスタ、17:退避領
域、18:ローカルストレージ、19:退避領域テーブル、2
0:ローカルストレージ内VMid、21:ローカルストレージ
内退避領域、23:走行中VMidレジスタ、24:VM切換機構、
26,27:常駐VMの主記憶装置、28:UCW(Unit Control Wor
d)、29:入出力装置モニタリング有効ビット、30:MBI
(メジャメント・バイト・インデックス)、31:チャネ
ルモニタリング有効ビット、32:MBO(メジャメント・ブ
ロック・オリジン)レジスタ、33:メジャメント・ブロ
ック、34:VMidフィールド、35:使用中VMidフィールド、
36,36′:チャネルモニタリング機構、37:測定ブロック
キーレジスタ。
Claims (6)
- 【請求項1】中央処理装置に該中央処理装置のモニタ情
報を収集するためのカウンタレジスタを備え、かつ該中
央処理装置からの命令により指定された主記憶装置上の
測定領域に入出力装置の使用状況を収集する入出力処理
装置を接続し、1台ないし複数台のOSの同時走行を管理
する制御プログラムを有して、該OSに対して仮想計算機
を実現する仮想計算機システムにおいて、上記カウンタ
レジスタまたはOSが指定した上記測定領域のアドレスお
よび仮想計算機の識別子の組のいずれか一方、または両
方をそれぞれ2組以上有することを特徴とする仮想計算
機システムのモニタリング方式。 - 【請求項2】中央処理装置に該中央処理装置のモニタ情
報を収集するためのカウンタレジスタを備え、かつ該中
央処理装置からの命令により指定された主記憶装置上の
測定領域に入出力装置の使用状況を収集する入出力処理
装置を接続し、1台ないし複数台のOSの同時走行を管理
する制御プログラムを有して、該OSに対して仮想計算機
を実現する仮想計算機システムにおいて、上記カウンタ
レジスタまたはOSが指定した上記測定領域のアドレスお
よび仮想計算機の識別子の組のいずれか一方、または両
方をそれぞれ2組以上と、上記中央処理装置で仮想計算
機が走行中か上記制御プログラムが走行中かを識別する
手段とを有し、上記2組以上のカウンタレジスタの1つ
には上記中央処理装置で上記制御プログラムが走行中の
モニタ情報を収集し、他の1つ以上には上記中央処理装
置で仮想計算機が走行中のモニタ情報を収集することを
特徴とする仮想計算機システムのモニタリング方式。 - 【請求項3】上記制御プログラム用および仮想計算機用
のカウンタレジスタは、それぞれ該カウンタレジスタに
対する読出し命令、更新開始命令、更新停止命令、リセ
ット命令、および読出し・リセット命令を設定すること
を特徴とする特許請求の範囲第2項記載の仮想計算機シ
ステムのモニタリング方式。 - 【請求項4】上記カウンタレジスタは、該カウンタレジ
スタの内容の退避領域および該カウンタレジスタが更新
中か停止中かを示す状態ビットの退避領域を、各仮想計
算機ごとに主記憶装置あるいは中央処理装置内のローカ
ルストレージに設け、仮想計算機を走行させる時には、
該当仮想計算機の上記退避領域の状態ビットに該カウン
タ更新中が指示される場合には更新を停止するととも
に、仮想計算機走行中に制御が制御プログラムあるいは
他の仮想計算機に渡る場合には、上記該当仮想計算機の
退避領域に、仮想計算機用のカウンタレジスタと状態ビ
ットの値を退避することにより、仮想計算機ごとにモニ
タ情報を収集することを特徴とする特許請求の範囲第2
項記載の仮想計算機システムのモニタリング方式。 - 【請求項5】中央処理装置に該中央処理装置のモニタ情
報を収集するためのカウンタレジスタを備え、かつ該中
央処理装置からの命令により指定された主記憶装置上の
測定領域に入出力装置の使用状況を収集する入出力処理
装置を接続し、1台ないし複数台のOSの同時走行を管理
する制御プログラムを有して、該OSに対して仮想計算機
を実現する仮想計算機システムにおいて、上記カウンタ
レジスタまたはOSが指定した上記測定領域のアドレスお
よび仮想計算機の識別子の組のいずれか一方、または両
方をそれぞれ2組以上と、入出力装置ごとに現在入出力
装置を使用中の仮想計算機の識別子を設け、上記仮想計
算機上のOSの測定領域に該仮想計算機の入出力装置の使
用状況を収集することを特徴とする仮想計算機システム
のモニタリング方式。 - 【請求項6】上記仮想計算機上のOSの測定領域のアドレ
スと上記仮想計算機の識別子との組に対して、該組を設
定する命令と、各入出力装置に現在当該入出力装置を使
用中の仮想計算機の識別子を設定する命令とを有するこ
とを特徴とする特許請求の範囲第5項記載の仮想計算機
システムのモニタリング方式。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP61057775A JPH0833851B2 (ja) | 1986-03-15 | 1986-03-15 | 仮想計算機のモニタリング方式 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP61057775A JPH0833851B2 (ja) | 1986-03-15 | 1986-03-15 | 仮想計算機のモニタリング方式 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS62214449A JPS62214449A (ja) | 1987-09-21 |
| JPH0833851B2 true JPH0833851B2 (ja) | 1996-03-29 |
Family
ID=13065240
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP61057775A Expired - Lifetime JPH0833851B2 (ja) | 1986-03-15 | 1986-03-15 | 仮想計算機のモニタリング方式 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0833851B2 (ja) |
Families Citing this family (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH0769858B2 (ja) * | 1987-06-02 | 1995-07-31 | 富士通株式会社 | 仮想計算機の性能測定方式 |
| US5265240A (en) * | 1992-07-24 | 1993-11-23 | International Business Machines Corporation | Channel measurement method and means |
| JPH09212467A (ja) * | 1996-01-30 | 1997-08-15 | Fujitsu Ltd | 負荷分散制御システム |
| US7318141B2 (en) * | 2002-12-17 | 2008-01-08 | Intel Corporation | Methods and systems to control virtual machines |
| US8607228B2 (en) * | 2006-08-08 | 2013-12-10 | Intel Corporation | Virtualizing performance counters |
| JP4973149B2 (ja) * | 2006-11-22 | 2012-07-11 | 富士通株式会社 | 仮想計算機の性能モニタ方法および計算機システム |
| JP5083051B2 (ja) | 2008-06-06 | 2012-11-28 | 富士通株式会社 | 監視システム、監視装置、被監視装置、監視方法 |
| JP5353227B2 (ja) * | 2008-12-24 | 2013-11-27 | 富士通株式会社 | 性能測定プログラム及び性能測定方法並びに性能測定機能を有する情報処理装置。 |
| US8650335B2 (en) * | 2010-06-23 | 2014-02-11 | International Business Machines Corporation | Measurement facility for adapter functions |
-
1986
- 1986-03-15 JP JP61057775A patent/JPH0833851B2/ja not_active Expired - Lifetime
Also Published As
| Publication number | Publication date |
|---|---|
| JPS62214449A (ja) | 1987-09-21 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| KR102882536B1 (ko) | 컴퓨터 디바이스, 이상 처리 방법 및 인터럽트 처리 방법 | |
| EP0024434B1 (en) | Virtual machine system | |
| US4814975A (en) | Virtual machine system and method for controlling machines of different architectures | |
| US4885681A (en) | I/O Execution method for a virtual machine system and system therefor | |
| US4459661A (en) | Channel address control system for a virtual machine system | |
| JPS61206043A (ja) | 仮想計算機システムにおける割込制御方法 | |
| JP2629278B2 (ja) | 仮想計算機システム | |
| JP4897578B2 (ja) | 仮想計算機の制御プログラムおよび仮想計算機システム | |
| US4031517A (en) | Emulation of target system interrupts through the use of counters | |
| JP2863693B2 (ja) | 仮想記憶システムにおけるデータ転送装置及びその方法 | |
| US20070079022A1 (en) | Gathering I/O Measurement Data During an I/O Operation Process | |
| JPH0430053B2 (ja) | ||
| KR101625317B1 (ko) | 프로그램에 의한 경고 트랙 인터럽션 퍼실리티의 사용 | |
| JPS5955565A (ja) | マルチフア−ムウエア方式 | |
| JPS62214449A (ja) | 仮想計算機のモニタリング方式 | |
| JPH0754468B2 (ja) | 仮想計算機システム | |
| JPH09282196A (ja) | 複合論理プロセッサシステムのプログラム走行制御方式 | |
| JPH06332803A (ja) | 仮想計算機システムにおけるtlb制御方法 | |
| JPS6349945A (ja) | デ−タ処理装置のプロセス・ロ−ルイン方式 | |
| JPS6097440A (ja) | 仮想多重プロセツサ装置 | |
| JPS6313218B2 (ja) | ||
| JPS61184643A (ja) | 仮想計算機の起動制御方式 | |
| JP2556018B2 (ja) | チヤネルパスグル−プ管理方式 | |
| JPS6320549A (ja) | モニタ情報収集方式 | |
| JPS6336012B2 (ja) |