JPH0833851B2 - Virtual machine monitoring method - Google Patents
Virtual machine monitoring methodInfo
- 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
【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、仮想計算機のモニタリング方式に関し、特
に中央処理装置のモニタ機能による仮想計算機走行時の
モニタ情報、および入出力処理装置のモニタ情報を同時
に収集する場合に有効なモニタリング方式に関するもの
である。Description: TECHNICAL FIELD The present invention relates to a virtual computer monitoring method, and more particularly to monitoring information of a virtual computer running by a monitor function of a central processing unit and monitor information of an input / output processing device. This relates to a monitoring method that is effective when collecting data at the same time.
実計算機の中央処理装置はモニタ機能を備えており、
仮想計算機システムの稼動状況をハードウェアにより監
視することができる。このハードウェアのカウンタはOS
(Operating Systems)の性能測定等に使用されてい
る。しかし、1台の実計算機の下で複数のOSの同時走行
が可能な仮想計算機システムにおいては、各仮想計算機
ごとの稼動状況を同時に監視したいという要求がある
が、従来はこれは不可能であった。また、実計算機の入
出力処理装置には、各入出力装置の使用状況をOSが指定
する主記憶上の領域に収集するチャネルモニタリング機
能がある。しかし、1台の実計算機の下で複数のOSの同
時走行が可能な仮想計算機システムにおいては、このチ
ャネルモニタリング機能を使用する場合、複数の仮想計
算機が同時にこれを使用することはできず、1台の仮想
計算機だけしか使用できないという問題がある。この場
合、同時に複数の仮想計算機のチャネルモニタリングを
行いたいという要求も多い。The central processing unit of the real computer has a monitor function,
The operating status of the virtual computer system can be monitored by hardware. This hardware counter is OS
(Operating Systems) Used for performance measurement. However, in a virtual computer system that allows multiple OSs to run simultaneously under one real computer, there is a demand to monitor the operating status of each virtual computer at the same time, which was not possible in the past. It was Further, the input / output processing device of the real computer has a channel monitoring function for collecting the usage status of each input / output device in the area on the main memory designated by the OS. However, in a virtual computer system in which multiple OSs can run simultaneously under one real computer, when using this channel monitoring function, multiple virtual computers cannot use it simultaneously. There is a problem that only one virtual machine can be used. In this case, there is also a demand for simultaneous channel monitoring of a plurality of virtual computers.
以下、従来の仮想計算機システムについて、さらに詳
述する。第2図は、実計算機システムの概略構成図であ
り、第3図は第2図の実計算機を利用した仮想計算機シ
ステム(以下、VMSと記す)の概略図である。Hereinafter, the conventional virtual computer system will be described in more detail. FIG. 2 is a schematic configuration diagram of a real computer system, and FIG. 3 is a schematic diagram of a virtual computer system (hereinafter referred to as VMS) using the real computer of FIG.
第1図において、実計算機システム1は、中央処理装
置(以下、CPUと記す)2,主記憶装置3,入出力処理装置
(以下、IOPと記す)4,および入出力制御装置(以下、I
OCと記す)5より構成され、各装置間は信号線100,101,
102,103により接続されている。また、主記憶装置3上
には、OSが格納されており、これが全体の計算機システ
ムを制御する。In FIG. 1, a real computer system 1 includes a central processing unit (hereinafter, referred to as CPU) 2, a main storage device 3, an input / output processing device (hereinafter, referred to as IOP) 4, and an input / output control device (hereinafter, I).
5), and signal lines 100, 101, and
Connected by 102 and 103. An OS is stored on the main storage device 3, and this controls the entire computer system.
次に、第2図においても、実計算機システム1自体は
第1図と全く同一であるが、主記憶装置3上にVMSの制
御プログラム(以下、VMCPと記す)が格納されている点
で第1図と異なる。Next, also in FIG. 2, the actual computer system 1 itself is exactly the same as that in FIG. 1, but in that the control program of VMS (hereinafter, referred to as VMCP) is stored in the main memory 3, Different from Figure 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から構成される。The VMCP function for simulating hardware realizes one or a plurality of logical computers (virtual computers, hereinafter referred to as VMs) having an architecture similar to that of the real computer system 1. That is, in FIG.
VM1-1, VM1-2, VM1-3 connected to VMCP by a broken line are virtual computers, and each VM is a logical CPU2-i (i = 1,2,
3), logical main memory 3-i, logical IOP4-i, logical IOC
It is composed of 5-i.
各VMのCPU2−iは、VMCPが実計算機システム1のCPU2
を時分割で各VMに割当てることにより実現される。各VM
の主記憶装置3−iは、VMCPが作成・管理する仮想空間
として割り当てられる。さらに、各VMのIOP4−iやIOC5
−iは、実計算機システム1の対応物を占有ないし共有
することにより実現される。The CPU2-i of each VM is the CPU2 of the real computer system 1
It is realized by allocating to each VM in time division. Each VM
The main storage device 3-i is allocated as a virtual space created and managed by VMCP. In addition, IOP4-i and IOC5 of each VM
-I is realized by occupying or sharing the counterpart of the real computer system 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を切換えるための機構
である。Next, the monitor information collecting function of the CPU 2 will be described in detail. FIG. 4 is an explanatory diagram of a conventional hardware monitor. In FIG. 4, an instruction execution circuit 6,
Hardware monitor mechanism 8, interception execution circuit 1
2, and a VM switching mechanism 24 are provided. An instruction execution microprogram 7 is provided in the instruction execution circuit 6, and a hardware counter group 9, a counter register 10, and a status bit 11 are provided in the hardware monitor mechanism 8. The counter register 10-k (k = 1,2, ... n) is
A counter that monitors specific events in CPU2,
When the corresponding status bit 11-k is "1", the updating of the counter is triggered by the occurrence of the corresponding event. Also,
The interception execution circuit 12 is a mechanism for passing control to the VMCP when an event of passing control to the VMCP occurs during VM running. The VM switching mechanism 24 is a mechanism for switching VMs by hardware and a microprogram.
第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の更新が開始
される。FIG. 5 is an explanatory diagram of instructions related to the hardware counter in FIG. The instructions related to the hardware counter include (a) read counter instruction, (b) start counter instruction, stop counter instruction, (c) reset counter instruction, and (d) read and reset counter instruction. First, when the read counter instruction is issued, the instruction execution circuit 6 and the instruction execution microprogram 7 read the values of the counter registers 10-1 to 10-n via the line 104, and read the first operand address D1.
The line 100 stores the contents of all counters in the order of the counter numbers in the area on the main storage device 3 designated by (B1). Next, when the start counter instruction is issued, the instruction execution circuit 6 and the instruction execution microprogram 7 cause the status bit 11-k of the counter register 10-k designated by the first operand address D1 (B1) via the line 104. To “1”.
As a result, the update of the counter register 10-k is started.
ストップカウンタ命令を発生すると、命令実行回路6
および命令実行マイクロプログラム7は、線104を介し
て第1オペランドアドレスD1(B1)で指定されるカウン
タレジスタ10−kの状態ビット11−kを“0"にする。こ
れにより、そのカウンタレジスタ10−kの更新が停止さ
れる。When the stop counter instruction is generated, the instruction execution circuit 6
And the instruction execution microprogram 7 sets the status bit 11-k of the counter register 10-k designated by the first operand address D1 (B1) via the line 104 to "0". As a result, the update of the counter register 10-k is stopped.
リセットカウンタ命令を発行すると、命令実行回路6
および命令実行マイクロプログラム7は、線104を介し
て第1オペランドアドレスD1(B1)で指定されるカウン
タレジスタ10−kをリセットする。When the reset counter instruction is issued, the instruction execution circuit 6
And the instruction execution microprogram 7 resets the counter register 10-k designated by the first operand address D1 (B1) via the line 104.
リード及びリセットカウンタ命令を発行すると、命令
実行回路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頁)がある。When the read and reset counter instructions are issued, the instruction execution circuit 6 and the instruction execution microprogram 7 are
The values of the counter registers 10-1 to 10-n are read out via 104, and the contents of all the counters are stored in the area of the main storage device 3 designated by the first operand address D1 (B1) in the order of the counter numbers. Further, the instruction execution circuit 6 and the instruction execution microprogram 7 reset all the counter registers 10-k (k = 1 to n) via the line 104. Note that as an example of performing performance measurement using the hardware monitor mechanism, IBM System Journal Vol. 18 No. 1 19
79 "Virtual Machine / 370" (IBM System Journal Volume Ei
ghteen Number One "Virtual Machine Facility / 370 (M
ackinnon) 24 pages).
次に、IOP(入出力処理装置)におけるチャネルモニ
タリング機能について、詳述する。Next, the channel monitoring function in the IOP (input / output processing device) will be described in detail.
第10図は、常駐VMの説明図である。 FIG. 10 is an explanatory diagram of a resident 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)に記載さ
れている。The CPU2-i of each VM is the CPU2 of the real computer system 1
It is realized by allocating to each VM in time division. Each VM
The main storage device 3-i of FIG. 10 is generally allocated as a virtual space created and managed by VMCP. However, like the main storage devices 26 and 27 of the resident VM shown in FIG.
By dividing and allocating the continuous area of, the real storage device address can be made equal to the main storage device address of the virtual machine plus a fixed value. A VM having such a main storage device is called a resident VM. The OS is stored in the main storage device 3-i of each VM,
The main memory 3-i of the resident VM exists on the main memory 3. Furthermore, the IOP4-i and IOC5-i of each VM are realized by occupying or sharing the counterparts of the real computer system 1. For the channel monitoring function, refer to the IBM manual "Operating principle of IBM System 370 Extended Architecture" (IBM System / 370 Extended Arc
hitecture Principles of Operation 17-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)により行われる。FIG. 11 is an explanatory diagram of a conventional channel monitoring mechanism. The main memory 3 has a unit control word (hereinafter, UCW) 28-k for storing the state of the input / output device corresponding to each input / output device. Also, in each UCW28-k,
There is an input / output device monitoring valid bit 29-k that indicates whether or not to perform channel monitoring, and a measurement byte index (hereinafter MBI) 30-k that indicates the displacement from the start address (hereinafter MBO) of the monitoring information area. . On the other hand, the IOP4 has a channel monitoring valid bit register 31 indicating whether the real computer system 1 performs channel monitoring and a measurement block origin register (hereinafter referred to as MBO) which holds a start address of an area for storing monitored information. There is a measurement block key register 37 used as a memory protection key when the register) 32 and the channel monitoring mechanism 36 update the main memory 3. The ON / OFF of the channel monitoring valid bit register 31 and the setting of the MBO register 32 are performed by the input / output instruction SCHM (Set Channel Monitor). I / O device monitoring valid bit 29-
The turning on / off of k and the setting of MBI.30-k are performed by the input / output instruction MSCH (Modify Subchannel).
第12図は、SCHM命令の説明図である。SCHM命令はS形
式の命令であり、CPU2内の汎用レジスタGR1には、測定
ブロックキー、チャネルモニタリング有効ビットを指定
し、また汎用レジスタGR2には、MBOを指定する。SCHM命
令を発行すると、第11図において、CPU2は線101を経由
してチャネルモニタリング機構16にレジスタGR1,GR2の
値を送る。そして、レジスタGR1内の測定ブロックキー
の値を測定ブロックキーレジスタ37へ、チャネルモニタ
リング有効ビットの値をチャネルモニタリング有効ビッ
ト31へ、またレジスタGR2の値をMBOレジスタ32へ、それ
ぞれ設定する。FIG. 12 is an explanatory diagram of the SCHM instruction. The SCHM instruction is an S format instruction. The measurement block key and the channel monitoring valid bit are specified in the general-purpose register GR1 in the CPU2, and the MBO is specified in the general-purpose register GR2. When the SCHM instruction is issued, the CPU 2 sends the values of the registers GR1 and GR2 to the channel monitoring mechanism 16 via the line 101 in FIG. Then, the value of the measurement block key in the register GR1 is set in the measurement block key register 37, the value of the channel monitoring valid bit is set in the channel monitoring valid bit 31, and the value of the register GR2 is set in the MBO register 32.
第13図は、MSCH命令の説明図である。 FIG. 13 is an explanatory diagram of the MSCH instruction.
MSCH命令は、S形式の命令である。汎用レジスタGR1
には、特定のUCWを指定する番号を指定する。また、第
2オペランドアドレス(D2/B2)は、サブチャネル・イ
ンフォメーション・ブロック(以下、SCHIB)テーブル
のアドレスである。SCHIBには、レジスタGR1で指定され
るUCWに指定する入出力装置モニタリング有効ビットお
よびMBI等が格納されている。MSCH命令を発行すると、
第11図に示すように、CPU2は線100を介しレジスタGR1で
示された入出力装置がフリーであれば、対応するUCW28
−kの入出力装置モニタリング有効ビット29およびMBI
・30に、上記SCHIBで指定された値をセットする。The MSCH instruction is an S format instruction. General-purpose register GR1
Is a number that specifies a particular UCW. The second operand address (D2 / B2) is the address of the sub-channel information block (hereinafter, SCHIB) table. The SCHIB stores the I / O device monitoring valid bit specified in the UCW specified by the register GR1 and the MBI. Issuing the MSCH command
As shown in FIG. 11, if the input / output device indicated by the register GR1 via the line 100 is free, the CPU2 will output the corresponding UCW28
-K I / O device monitoring enable bit 29 and MBI
・ Set the value specified by SCHIB to 30.
チャネルモニタリング有効ビットレジスタ31が“1"で
あり、UCW28−kの入出力装置モニタリング有効ビット2
9が“1"であるとき、このUCW28−kに対応する入出力装
置がモニタの対象となる。そして、この入出力装置に対
して、モニタの対象となる事象が発生する度に、チャネ
ルモニタリング機構16は、MBOレジスタとMBI・30から求
められる主記憶装置3上の領域に、測定ブロックキーレ
ジスタ37を保護キーとしてアクセスし、モニタ情報を更
新する。The channel monitoring valid bit register 31 is "1" and the I / O device monitoring valid bit 2 of UCW28-k
When 9 is "1", the input / output device corresponding to this UCW28-k is to be monitored. Then, every time an event to be monitored occurs in this input / output device, the channel monitoring mechanism 16 sets the measurement block key register in the area on the main storage device 3 which is obtained from the MBO register and the MBI.30. Access with 37 as the protection key and update the monitor information.
以上、述べたように、ハードウェアモニタ機構8は、
CPU2の状態を収集して、命令によりOSに報告する機能を
有している。しかし、ハードウェアモニタ機構8を仮想
計算機システムで使用すると、システム全体での情報が
カウンタレジスタ10に収集され、VMCPやVMごとのモニタ
情報の収集はできないという問題がある。As described above, the hardware monitor mechanism 8 is
It has a function of collecting the status of the CPU2 and reporting it to the OS by an instruction. However, when the hardware monitor mechanism 8 is used in a virtual computer system, information of the entire system is collected in the counter register 10, and there is a problem that it is not possible to collect monitor information for each VMCP or VM.
また、拡張アーキテクチャの計算機のIOPには、前述
のように、各入出力装置の使用状態を収集するチャネル
モニタリング機構があるが、仮想計算機システムにおい
てチャネルモニタリングを行おうとすると、MBOレジス
タ32がシステムに1つしかないために、複数のVMが同時
に使用することはできないという問題がある。Also, as described above, the IOP of the computer with the extended architecture has a channel monitoring mechanism that collects the usage status of each I / O device.However, when trying to perform channel monitoring in a virtual computer system, the MBO register 32 is transferred to the system. Since there is only one, there is a problem that multiple VMs cannot be used at the same time.
本発明の第1の目的は、上記のような従来の問題点を
改善し、VMCP走行時とVM走行時のハードウェアモニタ情
報を、個別に収集するとともに、VMごとのハードウェア
情報を同時に収集することが可能なVMSのモニタリング
方式を提供することにある。また、本発明の第2の目的
は、入出力装置の使用状況を、その入出力装置を使用し
たVMごとに収集することが可能なVMSのモニタリング方
式を提供することにある。A first object of the present invention is to improve the conventional problems as described above, and collect the hardware monitor information during VMCP running and VM running separately and simultaneously collect the hardware information for each VM. It is to provide a monitoring method of VMS that can be done. A second object of the present invention is to provide a VMS monitoring method capable of collecting the usage status of an input / output device for each VM using the input / output device.
上記目的を達成するために、本発明によるVMSのモニ
タリング方式は、中央処理装置に該中央処理装置のモニ
タ情報を収集するためのカウンタレジスタを備え、かつ
該中央処理装置からの命令により指定された主記憶装置
上の測定領域に入出力装置の使用状況を収集する入出力
処理装置を接続し、1台ないし複数台のOSの同時走行を
管理する制御プログラムを有して、該OSに対して仮想計
算機を実現する仮想計算機システムにおいて、上記カウ
ンタレジスタまたはOSが指定した上記測定領域のアドレ
スおよび仮想計算機の識別子の組のいずれか一方、また
は両方をそれぞれ2組以上有することに特徴がある。さ
らに、上記中央処理装置で仮想計算機が走行中か上記制
御プログラムが走行中かを識別する手段を有し、上記2
組以上のカウンタレジスタの1つには上記中央処理装置
で上記制御プログラムが走行中のモニタ情報を収集し、
他の1つ以上には上記中央処理装置で仮想計算機が走行
中のモニタ情報を収集することに特徴がある。さらに、
入出力装置ごとに現在入出力装置を使用中の仮想計算機
の識別子を設け、上記仮想計算機上のOSの測定領域に該
仮想計算機の入出力装置の使用状況を収集することに特
徴がある。In order to achieve the above object, the VMS monitoring method according to the present invention is provided with a counter register for collecting monitor information of the central processing unit in the central processing unit, and designated by an instruction from the central processing unit. An I / O processor that collects the usage status of I / O devices is connected to the measurement area on the main memory, and a control program that manages the simultaneous running of one or more OSs is provided to the OSs. A virtual computer system that realizes a virtual computer is characterized by having at least one of the counter register or the address of the measurement area designated by the OS and the identifier of the virtual computer, or both of them, respectively. Further, the central processing unit has means for identifying whether the virtual computer is running or the control program is running,
In one of the counter registers of the set or more, the central processing unit collects monitor information while the control program is running,
Another one or more is characterized in that the central processing unit collects monitor information while the virtual computer is running. further,
It is characterized in that an identifier of a virtual computer that is currently using the input / output device is provided for each input / output device, and the usage status of the input / output device of the virtual computer is collected in the measurement area of the OS on the virtual computer.
本発明においては、CPU内に、VMが走行中であること
を識別するためのレジスタと、VMCPが走行中であること
を識別するためのレジスタを設けるとともに、2組のカ
ウンタレジスタを設けて、一方のカウンタにはVMCP走行
中のモニタ情報を収集し、他方のカウンタにはVM走行中
のモニタ情報を収集する。その場合上記カウンタレジス
タの読み出し命令、更新開始命令、更新停止命令、リセ
ット命令、および読出し・リセット命令を使用する。In the present invention, the CPU is provided with a register for identifying that the VM is running and a register for identifying that the VMCP is running, and two sets of counter registers are provided. One counter collects the monitor information while the VMCP is running, and the other counter collects the monitor information while the VM is running. In that case, the above-mentioned counter register read instruction, update start instruction, update stop instruction, reset instruction, and read / reset instruction are used.
また、本発明においては、IOP内に、VMのMBOを設定す
るレジスタと、VMを識別する固有な番号の組を1組ない
し複数組具備し、CPUがこれらを上記レジスタに設定す
る。さらに、CPUは、IOPごとに、どのVMが使用中である
かを識別する。Further, in the present invention, one or a plurality of sets of registers for setting the MBO of the VM and unique numbers for identifying the VM are provided in the IOP, and the CPU sets these in the registers. Further, the CPU identifies which VM is in use for each IOP.
以下、本発明の実施例を、図面により詳細に説明す
る。第1図は、本発明の第1の実施例を示すVMSの構成
図であり、第6図はハードウェアモニタ関係命令の説明
図である。Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings. FIG. 1 is a block diagram of a VMS showing a first embodiment of the present invention, and FIG. 6 is an explanatory diagram of hardware monitor related instructions.
第1図に示すように、本実施例においては、CPU2のハ
ードウェアモニタ機構8内に、2組のハードウェアカウ
ンタ群9−1,9−2を設ける。ハードウェアカウンタ群
9−1は、VMCP走行中のモニタ情報を収集し、ハードウ
ェアカウンタ群9−2は、VM走行時のモニタ情報を収集
する。また、新たに、走行モード表示レジスタ14を設け
る。この走行モード表示レジスタ14は、VMCPの走行中は
“1"であり、VMの走行中は“0"である。As shown in FIG. 1, in this embodiment, two sets of hardware counter groups 9-1 and 9-2 are provided in the hardware monitor mechanism 8 of the CPU 2. The hardware counter group 9-1 collects monitor information while the VMCP is running, and the hardware counter group 9-2 collects monitor information when the VM is running. Further, a traveling mode display register 14 is newly provided. The running mode display register 14 is "1" while the VMCP is running and is "0" while the VM is running.
先ず、走行モード表示レジスタ14の設定方法につい
て、述べる。VM走行中にVMCPに制御を渡す事象が発生し
た場合、インタセプション実行回路12およびインタセプ
ションマイクロプログラム13は、線109を介して走行モ
ード表示レジスタ14に“1"を設定する。また、VMCPがVM
をディスパッチした時には、そのディスパッチ命令によ
り命令実行回路6および命令実行マイクロプログラム7
は、線107を介して走行モード表示レジスタ14に“0"を
設定する。First, a method of setting the traveling mode display register 14 will be described. When an event of passing control to VMCP occurs during running of the VM, the interception execution circuit 12 and the interception microprogram 13 set “1” in the traveling mode display register 14 via the line 109. Also, VMCP is VM
Is dispatched, the instruction execution circuit 6 and the instruction execution microprogram 7 are executed by the dispatch instruction.
Sets “0” in the traveling mode display register 14 via the line 107.
次に、ハードウェアカウンタ群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はいずれも更新されない。Next, updating of the hardware counter groups 9-1 and 9-2 will be described. Value of drive mode display register 14 is "1"
And the status bit 11- of the counter register 10-1-k
If 1-k is "1", the counter register 10-1-k of the VMCP hardware counter group 9-1 is being updated. The value of the running mode display register 14 is "0" and the status bit 11 of the corresponding counter register 10-2-k is 11
If "-2-k" is "1", the counter register 10-2-k of the VM hardware counter group 9-2 is being updated. In cases other than the above, counter registers 10-1-k,
None of 10-2-k is updated.
次に、本実施例によるハードウェアカウンタに関する
命令について、第6図により述べる。第6図において、
汎用レジスタGR1に設定されるモード指示ビット15は、
“1"の場合、ハードウェアカウンタ群9−1を操作する
ことを指示し、“0"の場合には、ハードウェアカウンタ
群9−2を操作することを指示する。また、第6図に示
すリードカウンタ拡張命令、スタートカウンタ拡張命
令、ストップカウンタ拡張命令、リセットカウンタ拡張
命令、リード・リセットカウンタ拡張命令は、いずれも
汎用レジスタGR1に指示されたハードウェアカウンタ群
9−1または9−2に対して、先に述べた各命令(リー
ドカウンタ命令、スタートカウンタ命令、ストップカウ
ンタ命令、リセットカウンタ命令、リード・リセットカ
ウンタ命令)と同じ処理を行う。従来から存在する命令
と、その拡張命令、例えばリードカウンタ命令とリード
カウンタ拡張命令の命令コードは同一にしてもよい。同
一の場合には、命令発行時に、走行モード表示レジスタ
14が“1"の場合、すなわち、VMCPが発行した場合には、
本発行による拡張命令の処理を行う。また、命令発行時
に、走行モード表示レジスタ14が“0"の場合、すなわ
ち、VMが発行した場合には、従来から存在するハードウ
ェアモニタの命令の処理を行う。Next, the instructions relating to the hardware counter according to this embodiment will be described with reference to FIG. In FIG.
The mode instruction bit 15 set in the general-purpose register GR1 is
In the case of "1", it is instructed to operate the hardware counter group 9-1, and in the case of "0", it is instructed to operate the hardware counter group 9-2. The read counter extension instruction, the start counter extension instruction, the stop counter extension instruction, the reset counter extension instruction, and the read / reset counter extension instruction shown in FIG. 6 are all hardware counter groups 9-1 designated by the general-purpose register GR1. Alternatively, the same processing as the above-described respective instructions (read counter instruction, start counter instruction, stop counter instruction, reset counter instruction, read / reset counter instruction) is performed on 9-2. The instruction code existing in the related art and its extension instruction, for example, the read counter instruction and the read counter extension instruction may have the same instruction code. If they are the same, when the command is issued, the running mode display register
When 14 is “1”, that is, when VMCP issues,
It processes the extended instruction issued by this issue. When the traveling mode display register 14 is “0” at the time of issuing an instruction, that is, when the VM issues it, the instruction of the hardware monitor existing in the past is processed.
第7図は、本発明の第2の実施例を示すVMSの構成図
である。第7図の実施例では、第1図の構成に加えて、
退避領域アドレスレジスタ16を設けている。退避領域ア
ドレスレジスタ16は、現在走行中のVMのCPUの状態を退
避するための退避領域17−i(1,2)のアドレスを保持
する。退避領域17−iには、VMを起動するために必要な
CPU情報が格納されており、その情報の中には該当VMの
ハードウェアカウンタ群9も含まれている。FIG. 7 is a block diagram of a VMS showing a second embodiment of the present invention. In the embodiment of FIG. 7, in addition to the configuration of FIG.
A save area address register 16 is provided. The save area address register 16 holds the address of the save area 17-i (1,2) for saving the state of the CPU of the VM currently running. The save area 17-i is required to start the VM.
CPU information is stored, and the hardware counter group 9 of the corresponding VM is also included in the information.
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はディスパッチされる。When the dispatch instruction of the VM is issued by designating the address of the save area 17-i, the following processing is performed. First, the instruction execution circuit 6 and the instruction execution microprogram 7 are
The address of the save area 17-i is set in the save area address register 16 via 105, and "0" is set in the running mode display register 14 via the line 107. In addition, the contents of the hardware counter group of the corresponding VM stored in the save area 17-i via the line 100 and the line 104 are displayed in the hardware counter group 9-
Set to 2. After that, the VM is dispatched by setting the status information of the corresponding VM stored in the save area 17-i to the CPU 2 via the line 100.
また、VM走行中に制御をVMCPに渡す事象が発生した場
合には、インタセプション実行回路12およびインタセプ
ションマイクロプログラム13は、次の処理を実行する。
先ず、線109を介して走行モード表示レジスタ14に“1"
を設定し、線105を介して退避領域アドレスレジスタ16
の内容を読み出し、これをアドレスとする退避領域17−
iに、線114および線100を介してハードウェアカウンタ
群9−2の内容を退避する。さらに、線100を介してCPU
2の状態情報を退避領域17−iに退避する。その後、VMC
Pに制御を渡す。When an event occurs in which control is passed to VMCP while the VM is running, the interception execution circuit 12 and the interception microprogram 13 execute the following processing.
First, “1” is displayed in the traveling mode display register 14 via the line 109.
And save area address register 16 via line 105
Save area 17-
In i, the contents of the hardware counter group 9-2 are saved via the lines 114 and 100. In addition, the CPU via line 100
The state information of 2 is saved in the save area 17-i. Then VMC
Pass control to 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の実施例の場合と全く同じである。Next, when the VM is switched by the VM switching mechanism 24, the following processing is performed. First, the contents of the save area address register 16 are read via the line 116, and the hardware counter group 9-2 is placed in the save area 17-1 having this address.
And the other states of the CPU 2 are saved via the line 100.
Then, the VM switching mechanism 24 is an evacuation area for the VM to be run next.
Select 17-2. In addition, the escape area 17-
Set the address of 2 to the save area address register 16,
The contents of the hardware counter group of the corresponding VM stored in the save area 17-2 are set in the hardware counter group 9-2 via the lines 100 and 115. Further, the state information of the VM stored in the save area 17-2 is set in the CPU 2 via the line 100, and the VM is dispatched. The method of updating the hardware counter groups 9-1 and 9-2 is exactly the same as in the first embodiment.
ハードウェアカウンタに関する命令について述べる
と、VM走行時、すなわち、走行モード表示レジスタ14が
“0"の場合のハードウェアカウンタに関する命令は、ハ
ードウェアカウンタ群9−2を操作すればよい。また、
VMCP走行時、すなわち、走行モード表示レジスタ14が
“1"の場合のハードウェアカウンタに関する命令は、ハ
ードウェアカウンタ群9−1を操作すればよく、第1の
実施例で述べたものと全く同じである。As for the instruction related to the hardware counter, the instruction related to the hardware counter when the VM is running, that is, when the running mode display register 14 is “0” may operate the hardware counter group 9-2. Also,
The instruction regarding the hardware counter when the VMCP is running, that is, when the running mode display register 14 is "1", is the same as that described in the first embodiment, as long as the hardware counter group 9-1 is operated. .
第8図は、本発明の第3の実施例を示すVMSの構成図
であり、第9図は第3実施例におけるハードウェアモニ
タ関係の命令の説明図である。FIG. 8 is a block diagram of a VMS showing a third embodiment of the present invention, and FIG. 9 is an explanatory diagram of hardware monitor-related instructions in the third embodiment.
第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が使用され
る。In FIG. 8, unlike the second embodiment, the value of the hardware counter group of the corresponding VM is not saved in the save area 17-i. Further, there is a VMid field in the save area 17-i, which holds a number specified by VMCP uniquely for each VM. As shown in FIG. 8, in the third embodiment, the structure of the second embodiment shown in FIG.
The VMid register 23 and the local storage 18 are added. Reference numeral 19 in the local storage 18 is a save area table. The backup area table 19 is the VM in the local storage
It consists of multiple sets of id20 and local storage save area address 21. As the save area for the hardware counter group of the VM, the save area in the local storage 22-pointed to by the save area address 21 in the local storage paired with the VMid 20-p in the local storage having a value that matches the VMid of this VM p is used.
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をディスパ
ッチする。When the VM dispatch instruction is issued with the save area address specified, the following processing is performed. First, the instruction execution circuit 6 and the instruction execution microprogram 7 set the address of the save area 17-i in the save area address register 16 via the line 105, and set “0” in the running mode display register 14 via the line 107. Set "and also traveling via line 110 VMi
d Set VMid in register 23. Further, the contents of the local storage evacuation area 22-p corresponding to the VMid set in the running VMid register 23 via the line 106 are set to the hardware counter group 9-2 via the line 104. further,
Instruction execution circuit 6 and instruction execution microprogram 7
Shows the status information of VM stored in the save area 17-i.
Dispatch the VM by setting it to CPU2 via 100.
次に、VM走行中に制御をVMCPに渡す事象が発生した場
合、インタセプション実行回路12およびインタセプショ
ンマイクロプログラム13は、次の処理を行う。先ず、線
109を介して走行モード表示レジスタ14に“1"を設定す
る。また、線111を介して走行中VMidレジスタ23の内容
を取り出して、これをVMidとするローカルストレージ内
退避領域22−pに、線114,線112を介してハードウェア
カウンタ群9−2の内容を退避する。Next, when an event of passing control to VMCP occurs during VM running, the interception execution circuit 12 and the interception microprogram 13 perform the following processing. First, the line
Set “1” in the driving mode display register 14 via 109. Further, the contents of the running VMid register 23 are taken out via the line 111, and the contents of the hardware counter group 9-2 are put into the save area 22-p in the local storage having this as VMid via the lines 114 and 112. evacuate.
次に、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の
実施例と全く同じである。Next, when the VM is switched via the VM switching mechanism 24, the following processing is performed. First, the contents of the save area address register 16 are read via the line 116, and the state of the CPU 2 is saved via the line 100 to the save area 17-1 having this address. Next, the value of the running VMid register 23 is read via the line 117, and the state of the hardware counter group 9-2 is saved to the save area 22-p in the local storage corresponding thereto via the lines 114 and 118. Next, VM switching mechanism
24 sets the address of the save area 17-2 of the VM to be run next in the save area address register 16 and sets the corresponding VMid in the running VMid register 23 via the line 117. The save area in the local storage corresponding to this VMid
The contents of 22-p are set in the hardware counter group 9-2 via the lines 118 and 115. Furthermore, the method of updating the hardware counter groups 9-1 and 9-2 is exactly the same as in the first embodiment.
ハードウェアカウンタに関する命令については、第9
図に示す拡張命令が使用され、VM走行時、つまり走行モ
ード表示レジスタ14が“0"の場合のハードウェアカウン
タに関する命令は、ハードウェアカウンタ群9−2を操
作する。また、VMCP走行時、つまり走行モード表示レジ
スタ14が“1"の場合のハードウェアカウンタに関する命
令については、第9図に示すように、汎用レジスタGR1
にVMidを指定する。そして、VMidが“0"であれば、ハー
ドウェアカウンタ群9−1を操作し、“0"以外であれ
ば、ローカルストレージ18内の該当VMのローカルストレ
ージ内退避領域22−pを操作する。For instructions on hardware counters, see Section 9.
The extended instruction shown in the figure is used, and an instruction related to the hardware counter when the VM is running, that is, when the running mode display register 14 is “0” operates the hardware counter group 9-2. Further, as for the instruction regarding the hardware counter when the VMCP is running, that is, when the running mode display register 14 is "1", as shown in FIG.
Specify VMid for. If the VMid is "0", the hardware counter group 9-1 is operated, and if the VMid is other than "0", the save area 22-p in the local storage 18 of the corresponding VM is operated.
なお、詳述しなかったが、VMidとしては、VMCPが指定
するソフトウェアVMidと、ハードウェアにおいて使用す
るハードウェアVMidとの対応表を設けておき、ハードウ
ェアではハードウェアVMidを使用することもできる。こ
の場合、第8図における走行中VMidレジスタ22には、ハ
ードウェアVMidが設定される。そして、VMのディスパッ
チ時には、ソフトウェアVMidが対応表によりハードウェ
アVMidに変換されて、走行中VMidレジスタ23に設定され
る。また、ハードウェアカウンタ関係の命令では、ソフ
トウェアVMidを指定し、命令実行回路6および命令実行
マイクロプログラム7がこれをハードウェアVMidに変換
し、これに対応するローカルストレージ内退避領域22を
処理することも可能である。Although not described in detail, as the VMid, a correspondence table of the software VMid specified by VMCP and the hardware VMid used in the hardware may be prepared, and the hardware VMid may be used in the hardware. . In this case, the hardware VMid is set in the running VMid register 22 in FIG. When the VM is dispatched, the software VMid is converted into the hardware VMid by the correspondence table and set in the running VMid register 23. Further, in the instruction related to the hardware counter, the software VMid may be designated, the instruction execution circuit 6 and the instruction execution microprogram 7 may convert the instruction into the hardware VMid, and the corresponding save area 22 in the local storage may be processed. It is possible.
このように、第1、第2、および第3の実施例におい
ては、VMSのVMCP走行時とVM走行時のハードウェアモニ
タ情報を別個に取り出すこと、およびVMごとのハードウ
ェアモニタ情報を同時に収集することが、いずれも可能
となる。As described above, in the first, second, and third embodiments, the hardware monitor information during VMCP running of the VMS and the hardware monitor information during VM running are separately extracted, and the hardware monitor information for each VM is collected at the same time. Both can be done.
次に、IOPにおけるチャネルモニタリング機能につい
て、詳述する。第14図は、本発明の第4の実施例を示す
VMSの構成図であり、第15図および第16図は本実施例で
使用する命令の説明図である。Next, the channel monitoring function in IOP will be described in detail. FIG. 14 shows a fourth embodiment of the present invention.
FIG. 15 is a configuration diagram of the VMS, and FIGS. 15 and 16 are explanatory diagrams of instructions used in this embodiment.
第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を設ける。As shown in FIG. 14, this embodiment is different from the conventional channel monitoring mechanism 36 shown in FIG. 11 in that it has two or more MBO registers 32. Although two MBO registers 32-1 and 32-2 are provided in FIG. 14, it is of course possible to provide three or more. Also, for each MBO register 32-j, channel monitoring valid bit 31-j, measurement block key register 37-j,
It has a VMid field 34-j. VMid field 34
A number uniquely given to each VM by VMCP is set in -j. Further, in the present embodiment, the in-use VMid field 35-k is provided in the UCW 28-k.
最初に、本実施例で設けられたUCW28−kの使用中VMi
dフィールド35−kの設定方法およびIOP4内のチャネル
モニタリング有効ビット31−j、MBOレジスタ32−j、V
Midフィールド34−jの各設定方法について述べる。First, in-use VMi of the UCW28-k provided in this embodiment
d Field 35-k setting method and channel monitoring enable bit 31-j in IOP4, MBO register 32-j, V
Each setting method of the Mid field 34-j will be described.
先ず、本実施例による新設の命令である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を、それぞれ設
定する。First, SCHME (Set C
channel monitor enable bit 31-1, the MBO register 32-j, and the VMid field 34-j are set. As shown in FIG. 15, the SCHME instruction is a so-called S format instruction. General-purpose register GR1
Specifies the measurement block key, VMid, and channel monitoring enable bit, and the general-purpose register GR2 contains MBO.
Is set. Issuing the SCHME instruction causes CPU2 to go to line 1
The values of the general-purpose registers GR1 and GR2 are sent to the channel monitoring mechanism 36 'in IOP4 via 01. The channel monitoring mechanism 36 ', if there is a field having a VMid field 34-j that matches the VMid shown in the general register GR1,
The field is targeted for updating, but if there is no corresponding field, the field whose channel monitoring valid bit 34-j is "0" is targeted for updating. If there is no field to be updated, 3 is returned as the condition code. When the update field is present, the value specified in the general register GR1 is set in the channel monitoring valid bit 31-j of the corresponding field, and the MBO register 32 is set.
-J is the value of general register GR2, and VMid field 34-
VMid indicated in the general-purpose register GR1 is set in j.
次に、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の設定を行う。Next, the setting method of the input / output device monitoring valid bit 29-k, MBI 30-k, and VMid field 35-k in use of the UCW 28-k will be described. This is performed by a new instruction MBCHE (Modify Subchannel Extended) instruction in this embodiment. As shown in FIG. 16, the MSCHE instruction is a so-called S format instruction. Second operand address (D2
/ B2) is a SCIBE that has a VMid in SCHIB (SCHIB Ex
tended) The address of the table. Further, a number for identifying the input / output device is designated in the general-purpose register GR1. MSC
It is the same as the MSCH instruction in that when the HE instruction is executed by the CPU2, the contents of the SCIBE table are set to UCW28-k via the line 100. Here, UCW28-k corresponds to the input / output device indicated in the general-purpose register GR1. further,
In the MSCHE instruction, the value of VMid in SCIBE is in use VMi
Set in d field 35-k. As an opportunity to issue the MSCHE instruction, if the input / output device is exclusively used by a specific VM, the currently used VMid field 35-k is set when the input / output device is occupied. Furthermore, in the case of an I / O device that is shared by multiple VMs, by issuing MSCHE for each I / O command from the VM, the VMid in use
Set field 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′を使用す
ることができる。Finally, the channel monitoring mechanism in this embodiment
36 'will be described. Channel monitoring mechanism 3
The usage status of each I / O device collected by 6'is that the I / O device monitoring valid bit 29-k in UCW28-k is "1".
When the VMid field 31-j corresponding to the used VMid field 35-k exists and the channel monitoring valid bit 34-j is "1", the content of the MBO register 32-j is M.
The storage protection key is accessed as the measurement block key register 37-j in the area to which the value of BI30-k is added, and this is updated. However, in this embodiment, it is not applied to all VMs, but only to resident VMs. This is because the usage status of each I / O device collected by the channel monitoring mechanism 36 'is directly updated on the main storage device 3, so that the main storage device 3-i of the VM is stored on the main storage device 3. This is because the page needs to be fixed.
Although not described in detail in this embodiment, VMCP is a resident VM.
At the same time, this channel monitoring mechanism 36 'can be used.
このように、本実施例においては、複数の常駐VMに対
して、同時にチャネルモニタリングをサポートすること
ができ、さらにVMCPと1個以上の常駐VMのチャネルモニ
タリングを同時にサポートすることも可能である。As described above, in this embodiment, it is possible to simultaneously support channel monitoring for a plurality of resident VMs, and it is also possible to simultaneously support channel monitoring of VMCP and one or more resident VMs.
以上説明したように、本発明によれば、VMCP走行時と
VM走行時のハードウェアモニタ情報を個別に収集し、か
つVMごとのハードウェアモニタ情報を同時に収集するこ
とが可能となる。さらに、本発明によれば、入出力装置
の使用状況を、その入出力装置を使用したVMごとに収集
することが可能となる。As described above, according to the present invention, when running VMCP
It is possible to collect the hardware monitor information when the VM is running individually, and to collect the hardware monitor information for each VM at the same time. Furthermore, according to the present invention, it becomes possible to collect the usage status of the input / output device for each VM that has used the input / output device.
第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:測定ブロック
キーレジスタ。FIG. 1 is a block diagram of a virtual computer system (VMS) that executes a hardware monitoring method according to a first embodiment of the present invention, FIG. 2 is a configuration diagram of a general real computer system, and FIG. VMS configuration diagram, FIG. 4 is a configuration diagram of a VMS that executes a conventional hardware monitoring system, FIG. 5 is an explanatory diagram of conventional hardware monitor related instructions, and FIG. 6 is a hardware monitor related instruction in the present invention. 7 is a block diagram of a VMS that executes the hardware monitoring method according to the second embodiment of the present invention, and FIG. 8 is a block diagram of the VMS that executes the hardware monitoring method according to the third embodiment of the present invention. FIG. 9 is a block diagram of a VMS that executes the VMS, FIG. 9 is an explanatory diagram of hardware monitor related instructions of the third embodiment, FIG. 10 is an explanatory diagram of a resident VM, and FIG. 11 is a block diagram of a VMS that executes a conventional channel monitoring method. FIG. 12 and FIG. 13 are explanatory diagrams of conventional channel monitoring related instructions, FIG. 14 is a block of VMS for executing the channel monitoring method showing the fourth embodiment of the present invention, FIG. 15 and FIG. The figure is an illustration of the channel monitor related instructions in the present invention. 1: Real computer system, 2: Central processing unit (CPU), 3: Main memory, 4: Input / output processing unit (IOP), 5: Input / output control unit (IOC), 6: Instruction execution circuit, 7: Instruction Execution microprogram, 8: Hardware monitor mechanism, 9: Hardware counter group, 10: Counter register, 11: Status bit, 12: Interception execution circuit, 13: Interception microprogram, 14: Running mode display register, 15: Mode instruction bit, 16: Save area address register, 17: Save area, 18: Local storage, 19: Save area table, 2
0: VMid in local storage, 21: save area in local storage, 23: running VMid register, 24: VM switching mechanism,
26, 27: Main memory of resident VM, 28: UCW (Unit Control Wor
d), 29: I / O device monitoring enable bit, 30: MBI
(Measurement byte index), 31: channel monitoring valid bit, 32: MBO (measurement block origin) register, 33: measurement block, 34: VMid field, 35: VMid field in use,
36, 36 ': Channel monitoring mechanism, 37: Measurement block key register.
Claims (6)
報を収集するためのカウンタレジスタを備え、かつ該中
央処理装置からの命令により指定された主記憶装置上の
測定領域に入出力装置の使用状況を収集する入出力処理
装置を接続し、1台ないし複数台のOSの同時走行を管理
する制御プログラムを有して、該OSに対して仮想計算機
を実現する仮想計算機システムにおいて、上記カウンタ
レジスタまたはOSが指定した上記測定領域のアドレスお
よび仮想計算機の識別子の組のいずれか一方、または両
方をそれぞれ2組以上有することを特徴とする仮想計算
機システムのモニタリング方式。1. A central processing unit is provided with a counter register for collecting monitor information of the central processing unit, and an input / output device is provided in a measurement area on a main memory designated by an instruction from the central processing unit. In a virtual computer system that connects an input / output processing device that collects usage status and has a control program that manages simultaneous running of one or more OSs, and realizes a virtual computer for the OSs, A monitoring system for a virtual computer system, characterized in that it has at least one or both of a combination of an address of the measurement area and an identifier of a virtual computer designated by a register or an OS, or both.
報を収集するためのカウンタレジスタを備え、かつ該中
央処理装置からの命令により指定された主記憶装置上の
測定領域に入出力装置の使用状況を収集する入出力処理
装置を接続し、1台ないし複数台のOSの同時走行を管理
する制御プログラムを有して、該OSに対して仮想計算機
を実現する仮想計算機システムにおいて、上記カウンタ
レジスタまたはOSが指定した上記測定領域のアドレスお
よび仮想計算機の識別子の組のいずれか一方、または両
方をそれぞれ2組以上と、上記中央処理装置で仮想計算
機が走行中か上記制御プログラムが走行中かを識別する
手段とを有し、上記2組以上のカウンタレジスタの1つ
には上記中央処理装置で上記制御プログラムが走行中の
モニタ情報を収集し、他の1つ以上には上記中央処理装
置で仮想計算機が走行中のモニタ情報を収集することを
特徴とする仮想計算機システムのモニタリング方式。2. A central processing unit is provided with a counter register for collecting monitor information of the central processing unit, and an input / output device is provided in a measurement area on a main storage device designated by an instruction from the central processing unit. In a virtual computer system that connects an input / output processing device that collects usage status and has a control program that manages simultaneous running of one or more OSs, and realizes a virtual computer for the OSs, Whether the virtual computer is running or the control program is running in the central processing unit, with one or both of the combination of the address of the measurement area specified by the register or the OS and the identifier of the virtual computer, or both. For monitoring the running information of the control program in the central processing unit in one of the two or more sets of counter registers. Monitoring method of a virtual computer system virtual machine and wherein to collect monitor information traveling in the central processing unit is more than the other one.
のカウンタレジスタは、それぞれ該カウンタレジスタに
対する読出し命令、更新開始命令、更新停止命令、リセ
ット命令、および読出し・リセット命令を設定すること
を特徴とする特許請求の範囲第2項記載の仮想計算機シ
ステムのモニタリング方式。3. The control program counter register and the virtual computer counter register set a read command, an update start command, an update stop command, a reset command, and a read / reset command for the counter register, respectively. A method of monitoring a virtual computer system according to claim 2.
スタの内容の退避領域および該カウンタレジスタが更新
中か停止中かを示す状態ビットの退避領域を、各仮想計
算機ごとに主記憶装置あるいは中央処理装置内のローカ
ルストレージに設け、仮想計算機を走行させる時には、
該当仮想計算機の上記退避領域の状態ビットに該カウン
タ更新中が指示される場合には更新を停止するととも
に、仮想計算機走行中に制御が制御プログラムあるいは
他の仮想計算機に渡る場合には、上記該当仮想計算機の
退避領域に、仮想計算機用のカウンタレジスタと状態ビ
ットの値を退避することにより、仮想計算機ごとにモニ
タ情報を収集することを特徴とする特許請求の範囲第2
項記載の仮想計算機システムのモニタリング方式。4. The counter register has a save area for storing the contents of the counter register and a save area for a status bit indicating whether the counter register is being updated or stopped, for each virtual computer, in a main memory unit or a central processing unit. It is installed in the local storage inside and when running a virtual machine,
If the status bit of the save area of the relevant virtual computer indicates that the counter is being updated, the update is stopped, and if control is passed to the control program or another virtual computer while the virtual computer is running, the above The monitor information is collected for each virtual computer by saving the values of the counter register and the status bit for the virtual computer in the save area of the virtual computer.
The method of monitoring the virtual computer system described in the item.
報を収集するためのカウンタレジスタを備え、かつ該中
央処理装置からの命令により指定された主記憶装置上の
測定領域に入出力装置の使用状況を収集する入出力処理
装置を接続し、1台ないし複数台のOSの同時走行を管理
する制御プログラムを有して、該OSに対して仮想計算機
を実現する仮想計算機システムにおいて、上記カウンタ
レジスタまたはOSが指定した上記測定領域のアドレスお
よび仮想計算機の識別子の組のいずれか一方、または両
方をそれぞれ2組以上と、入出力装置ごとに現在入出力
装置を使用中の仮想計算機の識別子を設け、上記仮想計
算機上のOSの測定領域に該仮想計算機の入出力装置の使
用状況を収集することを特徴とする仮想計算機システム
のモニタリング方式。5. The central processing unit is provided with a counter register for collecting monitor information of the central processing unit, and the input / output unit of the input / output unit is provided in a measurement area on a main memory designated by an instruction from the central processing unit. In a virtual computer system that connects an input / output processing device that collects usage status and has a control program that manages simultaneous running of one or more OSs, and realizes a virtual computer for the OSs, One or both of the combination of the address of the measurement area specified by the register or the OS and the identifier of the virtual computer, or two or more pairs each, and the identifier of the virtual computer currently using the I / O device for each I / O device A monitoring method for a virtual computer system, characterized in that the usage status of the input / output device of the virtual computer is collected in the measurement area of the OS on the virtual computer.
スと上記仮想計算機の識別子との組に対して、該組を設
定する命令と、各入出力装置に現在当該入出力装置を使
用中の仮想計算機の識別子を設定する命令とを有するこ
とを特徴とする特許請求の範囲第5項記載の仮想計算機
システムのモニタリング方式。6. For a combination of an address of a measurement area of an OS on the virtual machine and an identifier of the virtual machine, an instruction to set the combination and the input / output device currently using the input / output device. And a command for setting the identifier of the virtual computer according to claim 5, wherein the monitoring method of the virtual computer system according to claim 5.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP61057775A JPH0833851B2 (en) | 1986-03-15 | 1986-03-15 | Virtual machine monitoring method |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP61057775A JPH0833851B2 (en) | 1986-03-15 | 1986-03-15 | Virtual machine monitoring method |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS62214449A JPS62214449A (en) | 1987-09-21 |
| JPH0833851B2 true JPH0833851B2 (en) | 1996-03-29 |
Family
ID=13065240
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP61057775A Expired - Lifetime JPH0833851B2 (en) | 1986-03-15 | 1986-03-15 | Virtual machine monitoring method |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0833851B2 (en) |
Families Citing this family (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH0769858B2 (en) * | 1987-06-02 | 1995-07-31 | 富士通株式会社 | Virtual machine performance measurement method |
| US5265240A (en) * | 1992-07-24 | 1993-11-23 | International Business Machines Corporation | Channel measurement method and means |
| JPH09212467A (en) * | 1996-01-30 | 1997-08-15 | Fujitsu Ltd | Load balancing control system |
| 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 (en) * | 2006-11-22 | 2012-07-11 | 富士通株式会社 | Virtual computer performance monitoring method and computer system |
| JP5083051B2 (en) | 2008-06-06 | 2012-11-28 | 富士通株式会社 | Monitoring system, monitoring device, monitored device, and monitoring method |
| JP5353227B2 (en) * | 2008-12-24 | 2013-11-27 | 富士通株式会社 | Information processing apparatus having performance measurement program, performance measurement method, and performance measurement function. |
| 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/en not_active Expired - Lifetime
Also Published As
| Publication number | Publication date |
|---|---|
| JPS62214449A (en) | 1987-09-21 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US4812967A (en) | Method and apparatus for controlling interrupts in a virtual machine system | |
| 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 | |
| US4975836A (en) | Virtual computer system | |
| JP4897578B2 (en) | Virtual computer control program and virtual computer system | |
| US4031517A (en) | Emulation of target system interrupts through the use of counters | |
| JP2863693B2 (en) | Data transfer device and method in virtual storage system | |
| JPS6013501B2 (en) | Channel address control method in virtual computer system | |
| JPH0430053B2 (en) | ||
| US7725894B2 (en) | Enhanced un-privileged computer instruction to store a facility list | |
| JPH0833851B2 (en) | Virtual machine monitoring method | |
| JPS5955565A (en) | Multi-firmware system | |
| JPH0754468B2 (en) | Virtual computer system | |
| JPH0793221A (en) | Virtual computer system and control method thereof | |
| JPH09282196A (en) | Program run control method for complex logic processor system. | |
| JPH06332803A (en) | Tlb control method in virtual computer system | |
| JPS6349945A (en) | Process roll-in system for data processor | |
| JPS6097440A (en) | Virtual multiprocessor device | |
| JPS6313218B2 (en) | ||
| JPS61184643A (en) | Starting control system for virtual computer | |
| JP2556018B2 (en) | Channel path group management method | |
| JPS6320549A (en) | Monitor information collection method | |
| JPS6336012B2 (en) | ||
| JP3022398B2 (en) | Virtual computer system |