JP2001229037A - System for measuring virtual computer system - Google Patents
System for measuring virtual computer systemInfo
- Publication number
- JP2001229037A JP2001229037A JP2000043537A JP2000043537A JP2001229037A JP 2001229037 A JP2001229037 A JP 2001229037A JP 2000043537 A JP2000043537 A JP 2000043537A JP 2000043537 A JP2000043537 A JP 2000043537A JP 2001229037 A JP2001229037 A JP 2001229037A
- Authority
- JP
- Japan
- Prior art keywords
- host
- guest
- value
- ckc
- mode
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Abstract
Description
【0001】[0001]
【発明の属する技術分野】本発明は、計算機の計時方式
にかかわり、特にホスト又はゲスト用の複数個のタイマ
機構をハードウェア的に実現するのに好適な仮想計算機
システムの計時方式に関するものである。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a clocking method of a computer, and more particularly to a clocking method of a virtual computer system suitable for realizing a plurality of timer mechanisms for a host or a guest as hardware. .
【0002】[0002]
【従来の技術】従来、仮想計算機システムのタイマ機構
として、特開平08−339307号公報には、一組の
ToD、CKC、CPTとシミュレート専用SCPTに
よって、各ゲストのタイマ機構を実現する方法が提案さ
れている。2. Description of the Related Art Conventionally, as a timer mechanism of a virtual machine system, Japanese Patent Application Laid-Open No. 08-339307 discloses a method of realizing a timer mechanism for each guest using a set of ToD, CKC, CPT and a simulation-dedicated SCPT. Proposed.
【0003】これは、ホストの保持しているCKCまた
はCPTとゲストの保持しているCKCまたはCPT
を、補正値のうち小さい方をSCPTにセットしてシミ
ュレートする事により、少ないゲート数で効率的にタイ
マ機構を共有するというものである。[0003] This is because the CKC or CPT held by the host and the CKC or CPT held by the guest are
Is simulated by setting the smaller one of the correction values to the SCPT, thereby efficiently sharing the timer mechanism with a small number of gates.
【0004】図2にこの従来技術の構成図を示す。図2
において201は実計算機(以下CUと称す)であり、
信号線230、240を介して図示の各部と接続され
て、これら各部の制御を司どる。FIG. 2 shows a configuration diagram of this prior art. FIG.
, 201 is an actual computer (hereinafter referred to as CU),
It is connected to the components shown in the figure via signal lines 230 and 240, and controls the components.
【0005】図2では簡単化のために省略したが、この
CU201の主記憶内の状態記述テーブルに、ホスト及
びゲストのクロックコンパレータ値(CKC)、CPU
タイマ値(CPT)が保持される。また、このCU20
1の主記憶内には、ホスト及びゲストのプログラム状態
語(PSW)も保持される。Although omitted in FIG. 2 for the sake of simplicity, the status description table in the main memory of the CU 201 includes clock comparator values (CKC) of the host and guest, CPU
The timer value (CPT) is held. Also, this CU20
In one main memory, a host and guest program status word (PSW) is also held.
【0006】202はVMCP(ホスト)の使用するホ
ストToD値(以下HToD値と称す)を保持するレジ
スタで、203はプラス1の加算器(以下ADDと称
す)に接続されている。ADD203はToD202か
ら入力されたデータをプラス1してToD202に戻す
回路である。ホストTOD値は、CU201により信号
線230を介してToD202にセットされ、その後一
定時間でADD203により更新される。すなわちTO
D202とADD203が現在の時刻を計時する時計機
構を構成している。Reference numeral 202 denotes a register for holding a host ToD value (hereinafter, referred to as HToD value) used by the VMCP (host), and 203 is connected to a plus one adder (hereinafter, referred to as ADD). The ADD 203 is a circuit that adds 1 to the data input from the ToD 202 and returns the data to the ToD 202. The host TOD value is set in the ToD 202 by the CU 201 via the signal line 230, and is thereafter updated by the ADD 203 for a fixed time. That is, TO
D202 and ADD203 constitute a clock mechanism for measuring the current time.
【0007】204は力レントのCKCの値を保持する
CKCレジスタ(以下単にCKCと称す)で、CU20
1により信号線230を介して与えられる現在実行中
(カレント)のホストまたはゲストのクロックコンパレ
ータ値(CKC)を保持するレジスタである。Reference numeral 204 denotes a CKC register (hereinafter, simply referred to as CKC) for holding the value of the CKC of the power source.
This is a register that holds the clock comparator value (CKC) of the host or guest that is currently being executed (current), which is given via the signal line 230 by 1.
【0008】205はToD202とCKC204の値
を比較する比較回路(以下CoMPと称す)で、ToD
202と共に比較回路CoMP205に接続されてい
る。このCoMP205はToD202のToD値とC
KC204のCKC値との大小比較を行なう回路であ
る。Reference numeral 205 denotes a comparison circuit (hereinafter referred to as CoMP) for comparing the values of the ToD 202 and the CKC 204.
Along with 202, it is connected to a comparison circuit CoMP205. This CoMP 205 has a ToD value of ToD 202 and C
This is a circuit for comparing the CKC value of the KC 204 with the CKC value.
【0009】CoMP205はToD202のToD値
がCKC値より大になった場合、信号線240を介して
CU201にCKC割り込み要求信号を送出する。すな
わちCKC204とCoMP205が時限タイマ機構を
構成している。When the ToD value of the ToD 202 becomes larger than the CKC value, the CoMP 205 sends a CKC interrupt request signal to the CU 201 via the signal line 240. That is, the CKC 204 and the CoMP 205 constitute a timed timer mechanism.
【0010】206はカレントのCPTの値を保持する
CPTレジスタ(以下単にCPTと称す)で、CU20
1により信号線230を介して与えられる現在実行中の
ホストまたはゲストのCPUタイマ値(CPT)を保持
するレジスタであり、減算回路(以下SUBと称す)2
07に接続されている。このSUB207は、一定間隔
でCPT206から入力されたデータをマイナス1して
CPT206に戻す回路である。CPT206は値が負
になると、信号線240を介してCU201にCPT割
込み要求信号を送出する。すなわちCPT206とSU
B207が、減算タイマ機構を構成している。Reference numeral 206 denotes a CPT register (hereinafter simply referred to as CPT) for holding the current CPT value.
1 is a register for holding the CPU timer value (CPT) of the currently executing host or guest provided through the signal line 230 by a 1 and a subtraction circuit (hereinafter referred to as SUB) 2
07. The SUB 207 is a circuit that returns the data input from the CPT 206 at regular intervals by minus one to the CPT 206. When the value becomes negative, the CPT 206 sends a CPT interrupt request signal to the CU 201 via the signal line 240. That is, CPT 206 and SU
B207 constitutes a subtraction timer mechanism.
【0011】208は、後述の補正を受けたホストCK
C(以下HCKCと称す)値、またはホストCPT(以
下HCPTと称す)値を保持するシミュレート用CPT
レジスタ(以下SCPTと称す)であり、SUB209
に接続されている。Reference numeral 208 denotes a host CK which has been corrected as described below.
Simulation CPT holding C (hereinafter referred to as HCKC) value or host CPT (hereinafter referred to as HCPT) value
A register (hereinafter referred to as an SCPT), and a SUB209
It is connected to the.
【0012】SUB209は、一定間隔でSCPT20
8から入力されたデータをマイナス1しSCPT208
に戻す回路である。The SUB 209 is provided at regular intervals with the SCPT 20
SCPT208 by subtracting -1 from the data input from 8
Circuit.
【0013】SCPT208は、値が負になると信号線
240を介してCU201にHCPTまたはHCKC割
り込み要求信号を送出する。すなわちSCPT208、
SUB209は、VM下の力レントゲストにおいて、ホ
ストのCKCまたはCPTをシミュレート動作させるホ
ストタイマシミュレート機構である。When the value becomes negative, the SCPT 208 sends an HCPT or HCKC interrupt request signal to the CU 201 via the signal line 240. That is, SCPT208,
The SUB 209 is a host timer simulation mechanism that simulates CKC or CPT of a host in a power-rented guest under a VM.
【0014】210はホストCKCの値を保持するため
の作業用レジスタ(以下TEMPCKCと称す)であ
る。同様に211はホストCPTの値を保持するための
作業用レジスタ(以下TEMPCPTと称す)である。Reference numeral 210 denotes a work register (hereinafter referred to as TEMPCKC) for holding the value of the host CKC. Similarly, reference numeral 211 denotes a work register (hereinafter, referred to as TEMPCPT) for holding the value of the host CPT.
【0015】次に、従来のタイマ機構とのイニシャライ
ズ動作と割り込み動作について図3、図4を用いて説明
する。Next, an initialization operation and an interruption operation with the conventional timer mechanism will be described with reference to FIGS.
【0016】図3は、ホストからゲストに切り替わった
時のゲストタイマ機構のイニシャライズする場合の処理
フローチャートである。FIG. 3 is a processing flowchart for initializing the guest timer mechanism when switching from the host to the guest.
【0017】ToD、CKC、CPTには、それぞれH
ToD、HCKC及びHCPTが設定されている。ToD, CKC, and CPT have H
ToD, HCKC and HCPT are set.
【0018】まず、ステップ301により、CU201
はCKC204とCPT206の値であるHCKCとH
CPTを取り込み、レジスタやメモリ等のハードウェア
内に保存する。次に、ステップ302でホストのCKC
割り込み受付けが許可されているか否かを判定する。具
体的には、ホストのプログラム状態語(PSW)の外部
マスクが”1”でホストの制御レジスタのCKC割り込
みサブクラスマスクが”1”のとき、ホストCKC割り
込みの受付けが許可される。First, in step 301, the CU 201
Are the values of CKC 204 and CPT 206, HCKC and H
The CPT is fetched and stored in hardware such as a register and a memory. Next, in step 302, the host CKC
It is determined whether interruption acceptance is permitted. Specifically, when the external mask of the program state word (PSW) of the host is “1” and the CKC interrupt subclass mask of the control register of the host is “1”, acceptance of the host CKC interrupt is permitted.
【0019】ホストCKC割り込みが許可されていれば
ステップ303に進み、許可されていなければステップ
304に進む。If the host CKC interrupt is permitted, the process proceeds to step 303; otherwise, the process proceeds to step 304.
【0020】ステップ303では、CU201はHCK
C−ToDなる補正演算を行ない、結果をTEMPCK
C210に格納する、これは、SCPT208、SUB
209を用いてHCKCをシミュレートできるようにす
るためである。すなわち、HCKC−ToDの値をSC
PT208に設定し、それをSUB209を用いて減算
し、負になった場合ToD202のToD値(HTo
D)がHCKCになったとみなすのである。In step 303, the CU 201 executes HCK
Performs a correction operation called C-ToD and returns the result to TEMPCK.
C210, which is SCPT208, SUB
This is because the HCKC can be simulated using the H.209. That is, the value of HCKC-ToD is set to SC
PT208, subtract it using SUB209, and when it becomes negative, the ToD value of ToD202 (HTo
D) is regarded as HCKC.
【0021】次に、ステップ304でCU201はホス
トのCPT割り込み受けつけが許可されているか否かを
判断する。具体的にはホストPSWの外部マスクが”
1”で、ホストの制御レジスタのCPT割り込みサブク
ラスマスクが”1”のとき、ホストCPT割り込みの受
付けは許可される。Next, in step 304, the CU 201 determines whether the host is allowed to accept the CPT interrupt. Specifically, the external mask of the host PSW is "
When the CPT interrupt subclass mask of the control register of the host is "1", acceptance of the host CPT interrupt is permitted.
【0022】ホストCPT割り込みが許可されていれば
ステップ305へ、許可されていなければステップ30
6へ進む。If the host CPT interrupt is permitted, the process proceeds to step 305. If the host CPT interrupt is not permitted, the process proceeds to step 305.
Proceed to 6.
【0023】ステップ305ではステップ301で取り
込んだHCPTをTEMPHCPT211に格納する。In step 305, the HCPT captured in step 301 is stored in TEMPHCPT211.
【0024】ステップ306で、CU201は、主記憶
内の状態記述テーブルのゲストクロックコンパレータ値
(以下GCKCと称す)並びにゲストCPUタイマ値
(以下GCPTと称す)、さらに補正量(エポック差
異)EDを読み出す。In step 306, the CU 201 reads the guest clock comparator value (hereinafter referred to as GCCKC), the guest CPU timer value (hereinafter referred to as GCPT), and the correction amount (epoch difference) ED in the state description table in the main memory. .
【0025】ステップ307でCU201は、まず、G
CKCを用いてGCKC−EDなる演算を行なう。これ
はゲストの時刻を、現在の時刻にとらわれず自由に設定
するためであり、ToD202のHToDとGCKCの
間の整合をとる補正演算である。このGCKC−EDの
値をCKC204にセットする。次にCU201はGC
PTをCPT206にセットする。In step 307, the CU 201 first sets G
An operation GCKC-ED is performed using CKC. This is to set the time of the guest freely, regardless of the current time, and is a correction operation for matching between the HToD of the ToD 202 and the GCKC. The value of GCKC-ED is set in CKC204. Next, CU201 is GC
Set PT in CPT 206.
【0026】ステップ308では、CU201は、ステ
ップ303ならびにステップ305で得られたTEMP
HCKC210とTEMPHCPT211の内容を比較
し、その大小関係によってステップ310か309いず
れかのステップに進む。ステップ309のケースは、T
EMPHCKC210の値がTEMPHCPT211の
値より小さいケース、すなわち、HCKCの方がHCP
Tより先に割り込みが発生するとみなされたケースであ
る。この場合、CU201はSCPT208にTEMP
HCKC210の値をセットし、CU201主記憶内の
HCKC有効フラグ(HCKCVLD)を”1”にセッ
トする。すなわち、HCKCVLD=”1”は、HCK
CがSCPT208に設定されている事を示す。In step 308, the CU 201 executes the TEMP obtained in step 303 and step 305.
The contents of HCKC 210 and TEMPHCPT 211 are compared, and the process proceeds to either step 310 or 309 depending on the magnitude relation. The case of step 309 is T
The case where the value of EMPHCC 210 is smaller than the value of TEMPHCPT 211, that is, HCKC is
This is a case where an interrupt is considered to occur before T. In this case, the CU 201 sends the TEMP
The value of the HCKC 210 is set, and the HCKC valid flag (HCKCVLD) in the CU 201 main memory is set to “1”. That is, HCKCVLD = "1" indicates that HCK
C indicates that the SCPT 208 has been set.
【0027】ステップ310のケースは、TEMPHC
KC210の値がTEMPHCPT211の値以上のケ
ース、すなわち、HCPTの方がHCKCより先に割り
込みが発生するとみなされたケースである。この楊合C
U201は、SCPT208にTEMPHCPT211
の値をセットし、CU201主記憶内のHCKC有効フ
ラグ(HCKCVLD)を”0”にセットする。すなわ
ち、HCKCVLD=0はHCPTがSCPT208に
セットされている事を示す。The case of step 310 is TEMPHC
This is the case where the value of the KC 210 is equal to or greater than the value of the TEMPHCPT 211, that is, the case where it is considered that an interrupt occurs in the HCPT before the HCKC. This Yang C
U201 has TEMPHCPT211 added to SCPT208.
Is set, and the HCKC valid flag (HCKCVLD) in the CU 201 main memory is set to “0”. That is, HCKCVLD = 0 indicates that HCPT is set in SCPT 208.
【0028】以上でタイマ機構のイニシャライズ動作が
終了する。以後ToD202のToD値がCKC204
のGCKC値より大になると、CoMP205より信号
線240を介してCU201にCKC割り込みが報告さ
れる。また、CPT204のGCPT値は、SUB20
7により一定間隔で減算され、負になると、信号240
を介してCU201にCPT割り込みが報告される。Thus, the initialization operation of the timer mechanism is completed. Thereafter, the ToD value of the ToD 202 becomes CKC 204
When the GCKC value is larger than the GCKC value, a CKC interrupt is reported from the CoMP 205 to the CU 201 via the signal line 240. The GCPT value of CPT 204 is SUB20
7, the signal is subtracted at regular intervals.
A CPT interrupt is reported to the CU 201 via the.
【0029】このように、ゲスト下でSCPT208、
SUB209によりホストのCKCまたはCPT動作を
シミュレートし、SCPT208の値が負になった場
合、信号線240を介してCU201にHCKCまたは
HCPT割り込みを報告する。Thus, the SCPT 208 under the guest
The SUB 209 simulates the CKC or CPT operation of the host, and when the value of the SCPT 208 becomes negative, reports an HCKC or HCPT interrupt to the CU 201 via the signal line 240.
【0030】図4は、従来タイマ機構における割り込み
処理過程の一例を示す処理フローチャートである。FIG. 4 is a processing flowchart showing an example of an interrupt process in the conventional timer mechanism.
【0031】本タイマ機構でタイマ割り込みが発生した
場合、まずステップ401でCU201はその割り込み
がSCPT208からの割り込み報告であるか判定す
る。When a timer interrupt occurs in the timer mechanism, the CU 201 first determines in step 401 whether the interrupt is an interrupt report from the SCPT 208.
【0032】SCPT208からの割り込みであればホ
ストからの割り込み、すなわち、HCKCまたはHCP
Tによる割り込みであり、ステップ402に進む。ステ
ップ402でCU201はHCKCVLDフラグが”
1”か”0”か判定する。If the interrupt is from the SCPT 208, an interrupt from the host, ie, HCKC or HCP
This is an interrupt due to T, and the process proceeds to step 402. In step 402, the CU 201 sets the HCKCVLD flag to "
It is determined whether it is 1 "or" 0 ".
【0033】HCKCVLD=1であればSCPT20
8にセットされていたのはTEMPHCKC210の
値、すなわちHCKCであるのでCU201はホストに
対してクロックコンパレータによる外部割込みを報告す
る。If HCKCVLD = 1, SCPT20
Since the value set to 8 is the value of TEMPHCKC 210, that is, HCKC, the CU 201 reports an external interrupt by the clock comparator to the host.
【0034】HCKCVLD=0であればSCPT20
8にセットされていたのはTEMPHCPT211の
値、すなわちHCPTであるのでCU201はホストに
対してCPUタイマによる外部割込みを報告する。If HCKCVLD = 0, SCPT20
Since the value set to 8 is the value of TEMPHCPT 211, that is, HCPT, the CU 201 reports an external interrupt by the CPU timer to the host.
【0035】SCPT208からの割り込みでなけれ
ば、ステップ403に進む。ステップ403では、CU
201はその割り込みがCKC204からの割り込み報
告であれば、CKC204にはGCKCがセットされて
いるので、ゲストPSWの外部マスクが”1”でゲスト
制御レジスタのCKC割り込みサブクラスマスクが”
1”のとき、ゲストに対してクロックコンパレータによ
る外部割込みを報告する。If it is not an interrupt from the SCPT 208, the process proceeds to step 403. In step 403, the CU
If the interrupt 201 is an interrupt report from the CKC 204, since the GCKC is set in the CKC 204, the external mask of the guest PSW is “1” and the CKC interrupt subclass mask of the guest control register is “1”.
When 1 ", an external interrupt by the clock comparator is reported to the guest.
【0036】CKC204からの割り込みでなければス
テップ404に進む。CU201はその割り込みがCP
T206からの割り込み報告であれば、CPT206に
はGCPTがセットされているので、ゲストPSWの外
部マスクが”1”でゲスト制御レジスタのCPT割り込
みサブクラスマスクが”1”のとき、ゲストに対してC
PUタイマによる外部割込みを報告する。If it is not an interrupt from the CKC 204, the process proceeds to step 404. The CU 201 interrupts the CP
In the case of an interrupt report from the T206, since the GCPT is set in the CPT 206, when the external mask of the guest PSW is "1" and the CPT interrupt subclass mask of the guest control register is "1", C
Reports an external interrupt by the PU timer.
【0037】以上従来方式におけるタイマ機構の一実施
例について説明した。The embodiment of the conventional timer mechanism has been described above.
【0038】[0038]
【発明が解決しようとする課題】上記従来技術は、ホス
ト、ゲスト間で処理が移行する場合、ホストCPT、C
KCを比較して先に割り込むものをSCPTに設定する
という処理(ホストCKC、CPT割り込みのシミュレ
ート)を行なう必要があり、ゲスト命令処理上オーバー
ヘッドとなる問題がある。According to the above prior art, when processing is transferred between a host and a guest, the host CPT, C
It is necessary to perform a process of comparing the KC and setting the one that interrupts first in the SCPT (simulation of the host CKC and the CPT interrupt), which causes a problem of an overhead in processing the guest instruction.
【0039】[0039]
【課題を解決するための手段】上記目的を達成するため
に、本発明は仮想計算機システムにおけるタイマ機構
を、ホスト、ゲスト毎に専用に持つようにしたものであ
る。In order to achieve the above object, the present invention provides a virtual machine system with a timer mechanism dedicated to each host and guest.
【0040】[0040]
【発明の実施の形態】以下、本発明の一実施例について
図面により説明する。ここで、実計算機上で動作する仮
想計算機制御プログラムをRealHostモード(以
下RHと称する)、ホストの制御下で動作する仮想計算
機(以下ゲストという)をRealGuestモード
(以下RGと称する)、ゲスト上で動作する仮想計算機
制御プログラムの制御下で動作するゲストをInter
pretiveGuestモード(以下IGと称す)と
定義する。DESCRIPTION OF THE PREFERRED EMBODIMENTS One embodiment of the present invention will be described below with reference to the drawings. Here, a virtual computer control program operating on a real computer is called RealHost mode (hereinafter referred to as RH), a virtual computer (hereinafter referred to as guest) operated under control of a host is referred to as Real Guest mode (hereinafter referred to as RG), and Guest operating under the control of the operating virtual machine control program is Inter
It is defined as a passive Guest mode (hereinafter referred to as IG).
【0041】図1は、本発明の一実施例の構成図であ
る。図1において101は実計算機(以下CUと称す)
であり、CU101は、信号線130、140を介して
図示の各部と接続されてこれら各部の制御を司どる。FIG. 1 is a block diagram of one embodiment of the present invention. In FIG. 1, reference numeral 101 denotes a real computer (hereinafter referred to as a CU).
The CU 101 is connected to the illustrated units via signal lines 130 and 140, and controls the respective units.
【0042】図1では、簡単化のために省略したが一般
に、このCU101の主記憶内の状態記述テーブルにホ
スト及びゲストのクロックコンパレータ値(CKC)、
CPUタイマ値(CPT)が保持される。Although omitted in FIG. 1 for simplicity, in general, the host and guest clock comparator values (CKC) are stored in the state description table in the main memory of the CU 101.
The CPU timer value (CPT) is held.
【0043】また、このCU101の主記憶内には、ホ
スト及びゲストのプログラム状態語(PSW)が保持さ
れる。The main storage of the CU 101 holds a host and guest program status word (PSW).
【0044】102は、ホストの使用するToD値(R
HToD値)を保持するレジスタであり、加算回路(以
下ADDと称す)に接続されている。Reference numeral 102 denotes a ToD value (R
This register holds an HToD value, and is connected to an adder circuit (hereinafter referred to as ADD).
【0045】ADD103はRHToD102から入力
されたデータをプラス1してRHToD102に戻す回
路である。RHToD値は、CU101により信号線1
30、140を介してRHToD102にセットされ、
その後、一定間隔でADD103により更新される。す
なわちRHToD102とADD103が現在の時刻を
計時する時計機構を構成している。The ADD 103 is a circuit that adds 1 to the data input from the RHToD 102 and returns the data to the RHToD 102. The RHToD value is set to the signal line 1 by the CU 101.
Set in the RHToD 102 via 30, 30;
Thereafter, it is updated by the ADD 103 at regular intervals. That is, the RHToD 102 and the ADD 103 constitute a clock mechanism for measuring the current time.
【0046】104、106、108はそれぞれ、R
H、RG、IGモードに対応するCKCの値を保持する
CKCレジスタ(以下単にRHCKC、RGCKC、I
GCKCと称す)で、CU101により信号線130を
介して与えられる現在実行中(カレント)のモードに対
応したクロックコンパレータ値(CKC)を保持するレ
ジスタである。Each of 104, 106 and 108 is R
A CKC register (hereinafter simply referred to as RHCKC, RGCKC, ICK) that holds the value of CKC corresponding to the H, RG, and IG modes.
GCKC), which is a register that holds a clock comparator value (CKC) provided by the CU 101 via the signal line 130 and corresponding to the currently executing (current) mode.
【0047】105は、RHToD102とRHCKC
104の値を比較する比較回路(以下CoMPと称す)
で、RHToD102と共に比較回路CoMP105に
接続されている。このCoMP105はToD102の
RHToD値とRHCKC104のCKC値との大小比
較を行なう回路である。Reference numeral 105 denotes RHToD102 and RHCKC
Comparison circuit for comparing the value of 104 (hereinafter referred to as CoMP)
And is connected to the comparison circuit CoMP105 together with the RHToD102. The CoMP 105 is a circuit that compares the RHToD value of the ToD 102 with the CKC value of the RHCKC 104.
【0048】CoMP105はRHToD102のTo
D値がCKC値より大になった場合、信号線140を介
してCU101にRHCKC割り込み要求信号を送出す
る。すなわち、RHCKC104とCoMP105が時
限タイマ機構を構成している。CoMP 105 is the To of RHToD102.
When the D value becomes larger than the CKC value, an RHCKC interrupt request signal is sent to the CU 101 via the signal line 140. That is, the RHCKC 104 and the CoMP 105 constitute a timed timer mechanism.
【0049】RGCKC106、IGCKC108もR
HCKC104と同様の動作を行なう時限タイマ機構を
構成している。RGCKC106 and IGCKC108 are also R
A timed timer mechanism that performs the same operation as the HCKC 104 is configured.
【0050】110、112、114はそれぞれRH、
RG、IGモードに対応するCPTの値を保持するCP
Tレジスタ(以下単にRHCPT、RGCPT、IGC
PTと称す)で、CU101により信号線130を介し
て与えられる現在実行中(カレント)のモードに対応し
たクロックコンパレータ値(CKC)を保持するレジス
タであり、減算回路(以下SUBと称す)111に接続
されている。110, 112 and 114 are RH,
CP holding the value of CPT corresponding to RG, IG mode
T register (hereinafter simply RHCPT, RGCPT, IGC
PT), which is a register for holding a clock comparator value (CKC) provided by the CU 101 via the signal line 130 and corresponding to the currently executing (current) mode, and is provided to a subtraction circuit (hereinafter referred to as SUB) 111. It is connected.
【0051】このSUB111は、一定間隔でRHCP
T110から入力されたデータをマイナス1してRHC
PT112に戻す回路である。The SUB 111 performs RHCP at regular intervals.
RHC by subtracting data input from T110 by 1
This is a circuit for returning to the PT 112.
【0052】RHCPT112は値が負になると、信号
線140を介してCU101にRHCPT割込み要求信
号を送出する。すなわちRHCPT110とSUB11
1が減算タイマ機構を構成している。When the value of the RHCPT 112 becomes negative, the RHCPT 112 sends an RHCPT interrupt request signal to the CU 101 via the signal line 140. That is, RHCPT110 and SUB11
1 constitutes a subtraction timer mechanism.
【0053】同様に、RGCPT112、IGCPT1
14もRHCPT110と同様の動作を行なう減算タイ
マ機構を構成している。Similarly, RGCPT112, IGCPT1
14 also constitutes a subtraction timer mechanism that performs the same operation as the RHCPT 110.
【0054】図5は、本発明によるホストからゲストに
切り替わった時のゲストタイマ機構のイニシャライズす
る場合の処理フローチャートである。ここでは、わかり
やすくする為にモード判別をする為の分岐を図に表わし
たが、実際にはハードウェアでモード判別を行なう為、
プログラムによる処理は発生しない。FIG. 5 is a processing flowchart for the case where the guest timer mechanism is initialized when switching from the host to the guest according to the present invention. Here, the branch for mode discrimination is shown in the figure for the sake of simplicity, but since the mode discrimination is actually performed by hardware,
No processing by the program occurs.
【0055】図1では、簡単化の為に省略したが、CU
101はRH、RG、IG各モードを切り分ける為に、
IE MoDE、ISIE MoDEの2つのモードフラ
グを持っている。IE MoDE=0の時RHモードを
表わし、IE MoDE=1かつISIE MoDE=0
の時RGモードを表わし、ISIE MoDE=1の時
IGモードを表わしている。Although omitted in FIG. 1 for simplicity, the CU
101 is for separating RH, RG, IG mode,
It has two mode flags of IE MoDE and ISIE MoDE. When IE MoDE = 0, it indicates the RH mode, IE MoDE = 1 and ISIE MoDE = 0
Represents the RG mode when ISIE MoDE = 1 represents the IG mode.
【0056】CKCの値をセットする時、ステップ50
1にてRHモードを判別する。IEMoDE=0だった
ら、RHモードなのでRHCKCレジスタにCKC値を
セットする。When setting the value of CKC, step 50
At 1, the RH mode is determined. If IEMoDE = 0, the RHC mode is set and the CKC value is set in the RHCKC register.
【0057】次に、ステップ502でRGモードを判別
する。ISIE MoDE=0だったら、RGモードな
ので、RGCKCレジスタにCKC値をセットする。Next, in step 502, the RG mode is determined. If ISIE MoDE = 0, it is the RG mode, so the CKC value is set in the RGCKC register.
【0058】この時、ISIE MoDE=1だったら
IGモードなので、IGCKCレジスタにCKC値をセ
ットする。CPTのセットも、CKC同様にステップ5
03、504でIE MoDEおよびISIE MoDE
を判別してRH、RG、IG各モードのレジスタにCP
T値をセットする。At this time, if ISIE Mode = 1, the operation is in the IG mode, and the CKC value is set in the IGCKC register. Set the CPT as in Step 5
03 and 504 at IE MoDE and ISIE MoDE
Is determined, and the CP of the RH, RG, and IG mode registers is
Set the T value.
【0059】図6は、本発明による割り込み処理過程の
一例を示す処理フローチャートである。ここでは、処理
をわかりやすくする為にモード判別をする為の分岐を図
に表わしたが、実際にはハードウェアでモード判別を行
なう為、プログラムによる処理は発生しない。FIG. 6 is a processing flowchart showing an example of an interrupt processing process according to the present invention. Here, the branch for mode discrimination is shown in the figure to make the process easy to understand, but since the mode discrimination is actually performed by hardware, processing by a program does not occur.
【0060】まず、CKC割り込みを検出すると、ステ
ップ601にてRHモードを判別する。IE MoDE
=0だったら、RHモードなのでRHCKC割り込みと
判別する。次に、ステップ602でRGモードを判別す
る。First, when a CKC interrupt is detected, the RH mode is determined in step 601. IE MoDE
If = 0, since it is the RH mode, it is determined to be an RHCKC interrupt. Next, in step 602, the RG mode is determined.
【0061】ISIE MoDE=0だったら、RGモ
ードなので、RGCKC割り込みと判別する。この時、
ISIE MoDE=1だったらIGモードなので、I
GCKCと判別する。If ISIE MoDE = 0, the mode is the RG mode, so it is determined that the interrupt is an RGCKC interrupt. At this time,
If ISIE Mode = 1, it is IG mode, so I
GCKC is determined.
【0062】CPT割り込みが検出された場合も同様に
ステップ603、604でIE MoDEおよびISI
E MoDEを判別してRH、RG、IG各モードから
のCPT割り込みを判別する。Similarly, when a CPT interrupt is detected, in steps 603 and 604, the IE MoDE and ISI
E MoDE is determined, and a CPT interrupt from each of the RH, RG, and IG modes is determined.
【0063】前述の通り、それぞれRH、RG、IGモ
ードに対応するCKC、CPTレジスタを有する事によ
り、従来技術におけるタイマ機構のイニシャライズ処理
およびタイマ割り込みのモード切り分け処理も不要とな
る。As described above, the provision of the CKC and CPT registers respectively corresponding to the RH, RG, and IG modes eliminates the need for the initialization processing of the timer mechanism and the mode separation processing of the timer interrupt in the prior art.
【0064】[0064]
【発明の効果】本発明によれば、ゲスト下においてTo
D、CKCおよびCPTをそれぞれRH、RG、IG各
モード毎に専有させる事により、従来技術のようなシミ
ュレート処理が不要となり、ゲストVMのタイマ割り込
み性能の向上が図られる。具体的には、図3及び図4に
示した、プログラムによる処理がすべて不要となる。According to the present invention, To under the guest
By occupying D, CKC, and CPT for each of the RH, RG, and IG modes, a simulation process as in the related art is not required, and the timer interrupt performance of the guest VM can be improved. Specifically, all the processing by the program shown in FIGS. 3 and 4 becomes unnecessary.
【図1】本発明のタイマ機構の一実施例の構成図であ
る。FIG. 1 is a configuration diagram of an embodiment of a timer mechanism according to the present invention.
【図2】従来のタイマ機構の構成図である。FIG. 2 is a configuration diagram of a conventional timer mechanism.
【図3】従来のタイマ機構のイニシャライズ処理のフロ
ーチャートである。FIG. 3 is a flowchart of a conventional initialization process of a timer mechanism.
【図4】従来のタイマ機構のタイマ割り込み処理のフロ
ーチャートである。FIG. 4 is a flowchart of a timer interrupt process of a conventional timer mechanism.
【図5】本発明によるホストからゲストに切り替わった
時のゲストタイマ機構のイニシャライズする場合の処理
フローチャートである。FIG. 5 is a processing flowchart in a case where a guest timer mechanism is initialized when switching from a host to a guest according to the present invention.
【図6】本発明による割り込み処理過程の一例を示す処
理フローチャートである。FIG. 6 is a flowchart illustrating an example of an interrupt process according to the present invention;
101…実計算機(CU)、102…タイム・オブ・デ
イクロック(ToD)、103…加算器(ADD)、1
04・106・108…クロックコンパレータ(CK
C)、105・107・109…比較器(CoMP)、
110・112・114…CPUタイマ(CPT)、1
11・113・115…減算器(SUB)。101: real computer (CU), 102: time of day clock (ToD), 103: adder (ADD), 1
04 · 106 · 108: Clock comparator (CK
C), 105, 107, 109 ... comparator (CoMP),
110, 112, 114 ... CPU timer (CPT), 1
11.113.115... Subtractor (SUB).
───────────────────────────────────────────────────── フロントページの続き (72)発明者 林田 克己 神奈川県秦野市堀山下1番地 株式会社日 立インフォメーションテクノロジー内 (72)発明者 高橋 千秋 神奈川県秦野市堀山下1番地 株式会社日 立インフォメーションテクノロジー内 Fターム(参考) 5B098 BA04 FF04 HH01 ──────────────────────────────────────────────────続 き Continuing on the front page (72) Katsumi Hayashida 1 Horiyamashita, Hadano-shi, Kanagawa Prefecture Inside Nichi Information Technology Co., Ltd. F-term (reference) 5B098 BA04 FF04 HH01
Claims (4)
という)の制御下で複数台の仮想計算機(以下ゲストと
いう)が実計算機上で動作する仮想計算機システムにお
ける計時方式であって、現在の時刻を計時する時計機構
と、前記時計機構の値と比較しホストまたはゲストの特
定時間になった事を検出する時限タイマ機構と、ホスト
またはゲストの経過時間を計時する減算タイマ機構を、
ホスト、ゲストそれぞれのモード毎に専用に有する事を
特徴とする仮想計算機システムの計時方式。1. A timekeeping method in a virtual machine system in which a plurality of virtual machines (hereinafter, referred to as guests) operate on a real machine under control of a virtual machine control program (hereinafter, referred to as a host). A clock mechanism, a timed timer mechanism for detecting that a specific time of the host or guest has come by comparing the value of the clock mechanism, and a subtraction timer mechanism for measuring the elapsed time of the host or guest,
A timekeeping method for a virtual computer system, which is provided exclusively for each mode of a host and a guest.
という)の制御下で複数台の仮想計算機(以下ゲストと
いう)が実計算機上で動作する仮想計算機システムにお
ける計時方式であって、処理が、ホスト、ゲストのモー
ド間を移行する場合に、タイマ値の退避・回復動作を必
要としない計時方式。2. A timekeeping method in a virtual machine system in which a plurality of virtual machines (hereinafter called guests) operate on a real machine under the control of a virtual machine control program (hereinafter called host), wherein the processing is performed by a host, A timekeeping method that does not require saving and restoring timer values when switching between guest modes.
という)の制御下で複数台の仮想計算機(以下ゲストと
いう)が実計算機上で動作する仮想計算機システムにお
ける計時方式であって、処理が、ホスト、ゲストのモー
ド間を移行する場合に、ゲストモードにおいて、ホスト
タイマのシミュレートを必要としない計時方式。3. A timekeeping method in a virtual machine system in which a plurality of virtual machines (hereinafter called guests) operate on real machines under the control of a virtual machine control program (hereinafter called host), wherein the processing is performed by a host, A timekeeping method that does not require simulation of the host timer in guest mode when switching between guest modes.
という)の制御下で複数台の仮想計算機(以下ゲストと
いう)が実計算機上で動作する仮想計算機システムにお
ける計時方式であって、ホスト、ゲスト毎にタイマ機構
を専有する際、各モードに対応した一つの時計機構を割
り当てる計時方式。4. A timekeeping method in a virtual machine system in which a plurality of virtual machines (hereinafter called guests) operate on a real machine under the control of a virtual machine control program (hereinafter called host). A timekeeping method that allocates one clock mechanism corresponding to each mode when occupying the timer mechanism.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000043537A JP2001229037A (en) | 2000-02-16 | 2000-02-16 | System for measuring virtual computer system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000043537A JP2001229037A (en) | 2000-02-16 | 2000-02-16 | System for measuring virtual computer system |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2001229037A true JP2001229037A (en) | 2001-08-24 |
Family
ID=18566443
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000043537A Pending JP2001229037A (en) | 2000-02-16 | 2000-02-16 | System for measuring virtual computer system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2001229037A (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008518367A (en) * | 2004-10-29 | 2008-05-29 | インテル コーポレイション | Timer offset mechanism in virtual machine environment |
JP2008171293A (en) * | 2007-01-15 | 2008-07-24 | Hitachi Ltd | Scheduling method for virtual computer system |
JP2013178597A (en) * | 2012-02-28 | 2013-09-09 | Hitachi Ltd | Time management apparatus, method and program |
-
2000
- 2000-02-16 JP JP2000043537A patent/JP2001229037A/en active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008518367A (en) * | 2004-10-29 | 2008-05-29 | インテル コーポレイション | Timer offset mechanism in virtual machine environment |
JP2008171293A (en) * | 2007-01-15 | 2008-07-24 | Hitachi Ltd | Scheduling method for virtual computer system |
JP2013178597A (en) * | 2012-02-28 | 2013-09-09 | Hitachi Ltd | Time management apparatus, method and program |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4779195A (en) | Interrupt system using masking register in processor for selectively establishing device eligibility to interrupt a particular processor | |
JPH0430053B2 (en) | ||
JPH06168146A (en) | Virtual machine system | |
EP0290942B1 (en) | Guest machine execution control system for virtual machine system | |
JP2001229037A (en) | System for measuring virtual computer system | |
JPH08339307A (en) | Timer system for virtual computer system | |
JPS63155330A (en) | Microprogram controller | |
JPS60163134A (en) | Virtual computer system | |
JPH11167494A (en) | Arithmetic processor and register managing method for it | |
JP3114909B2 (en) | Calculation error processing method of programmable controller | |
JP3029355B2 (en) | Single-step instruction execution method | |
JP2899009B2 (en) | Information processing device | |
JP2878037B2 (en) | Processor stop method | |
JPS6265134A (en) | Interruption processing system | |
CN110955491A (en) | VMware VAAI full copy technology test method and equipment | |
JPS62113239A (en) | Microinstruction generation system | |
JPS59200356A (en) | Program tracing system | |
JPS6373336A (en) | Calling system for privileged program | |
JPH09219638A (en) | Reset sequence control circuit | |
JPH087692B2 (en) | Timer control method in virtual machine system | |
JPS61187044A (en) | Information processor | |
JPS6277656A (en) | Program debugging system | |
JPH0644237B2 (en) | Virtual computer system timer control method | |
JPH05313916A (en) | Electronic computer and its interruption processing method | |
JPH02105945A (en) | Microcomputer with trigger output |