JP3138985B2 - Virtual computer - Google Patents

Virtual computer

Info

Publication number
JP3138985B2
JP3138985B2 JP01059628A JP5962889A JP3138985B2 JP 3138985 B2 JP3138985 B2 JP 3138985B2 JP 01059628 A JP01059628 A JP 01059628A JP 5962889 A JP5962889 A JP 5962889A JP 3138985 B2 JP3138985 B2 JP 3138985B2
Authority
JP
Japan
Prior art keywords
interrupt
mask
hardware
virtual
logical cpu
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 - Fee Related
Application number
JP01059628A
Other languages
Japanese (ja)
Other versions
JPH02239334A (en
Inventor
康彦 中島
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority to JP01059628A priority Critical patent/JP3138985B2/en
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to EP89310954A priority patent/EP0366416B1/en
Priority to CA002001298A priority patent/CA2001298C/en
Priority to DE68927627T priority patent/DE68927627T2/en
Priority to AU43708/89A priority patent/AU614673B2/en
Priority to KR1019890015297A priority patent/KR920004409B1/en
Publication of JPH02239334A publication Critical patent/JPH02239334A/en
Priority to US07/928,180 priority patent/US5276815A/en
Application granted granted Critical
Publication of JP3138985B2 publication Critical patent/JP3138985B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

【発明の詳細な説明】 [概 要] 仮想計算機に関し、仮想計算機の入出力割込みに係る
制御を簡潔なものとしてオーバヘッドを減少せしめるこ
とを目的とし、 個々のビットが当該ハードウェアのサブチャネルに対
応して設定され、複数の論理CPUのそれぞれに対して設
けられた仮想割込みマスクと、個々のビットが当該複数
の論理CPUのそれぞれに対応して設定されたハードウェ
ア割込みマスクと、最後にサブチャネルからの割込み要
求を受信可能とした論理CPUの対応関係情報を記憶する
割込み報告先記憶手段と、論理CPUがサブチャネルから
の割込み要求を受け付けることができるようにする仮想
割込み設定時には、その論理CPUに対応する仮想割込み
マスクとそのサブチャネルに対応するビットを所定値に
設定すると共に、前記割込み報告先記憶手段にその論理
CPUの対応関係情報を記憶させ、一方、前記サブチャネ
ルからの割込み発生時には、前記割込み報告先記憶手段
に記憶されている対応関係情報に基づいて、対応する論
理CPUのハードウェア割込みマスクのビットが所定値に
設定されているか否か判断し、所定値に設定されていれ
ば、その論理CPUへの割込みを可能とする手段とより構
成する。
DETAILED DESCRIPTION OF THE INVENTION [Summary] Regarding a virtual machine, the purpose is to reduce overhead by simplifying control relating to input / output interrupts of the virtual machine, and each bit corresponds to a subchannel of the hardware. Virtual interrupt mask set for each of the plurality of logical CPUs, a hardware interrupt mask whose individual bits are set for each of the plurality of logical CPUs, and An interrupt report storage means for storing correspondence information of a logical CPU that can receive an interrupt request from a logical CPU, and a virtual CPU when setting a virtual interrupt so that the logical CPU can receive an interrupt request from a sub-channel. And a bit corresponding to the virtual interrupt mask and its subchannel is set to a predetermined value, and the interrupt report destination storage is set. Means its logic
On the other hand, when an interrupt from the sub-channel occurs, the bit of the hardware interrupt mask of the corresponding logical CPU is stored based on the correspondence information stored in the interrupt report destination storage means. It is determined whether or not it is set to a predetermined value. If the value is set to the predetermined value, the logic CPU can be interrupted.

[産業上の利用分野] 本発明は、仮想計算機システムにおける入出力(以下
I/Oとも言う)についての割込みの制御に関し、特に仮
想計算機モニタの負荷を軽減せしめて、オーバヘッドを
減少せしめることの可能な仮想計算機に係る。
[Industrial Application Field] The present invention relates to an input / output
In particular, the present invention relates to a virtual machine capable of reducing the load on a virtual machine monitor and reducing overhead.

[従来の技術] 仮想計算機システムに於いては、この上で走行する仮
想計算機(以下ゲストとも言う)に対して、ゲスト環境
で走行している事を特に意識させる事なく、実計算機上
で走行しているのと同じ機能・環境を提供する事が要求
される。
[Prior Art] In a virtual machine system, a virtual machine (hereinafter also referred to as a guest) running on the virtual machine system runs on a real computer without being particularly conscious of running in a guest environment. It is required to provide the same functions and environment as they do.

この事はI/O処理に於いても同様である。一般に仮想
計算機システムでは、仮想計算機モニタ(以下ホストも
言う)が認識する実際のI/O割込みと、ゲストに意識さ
せるI/O割込みとは異なる。(複数のゲストを同時に走
行させる為に、一般に物理的なI/O割込みの一部分のみ
ゲストに見せる。)この為に既存の仮想計算機システム
では、ホストが論理CPUごとに仮想的な割込みマスク及
び割込みキューを用意し、ハードウェア割込みマスクを
この仮想的な割込みマスクに時分割に対応させることに
より、I/O装置からの割込み条件をホストが各論理CPUに
振り分けられている。
This is the same in the I / O processing. In general, in a virtual machine system, an actual I / O interrupt recognized by a virtual machine monitor (hereinafter also referred to as a host) is different from an I / O interrupt that is made aware of a guest. (In order to run multiple guests simultaneously, generally show only a part of the physical I / O interrupt to the guest.) For this reason, in the existing virtual computer system, the host uses the virtual interrupt mask and interrupt for each logical CPU. By preparing a queue and making the hardware interrupt mask correspond to this virtual interrupt mask in a time-division manner, the host distributes the interrupt condition from the I / O device to each logical CPU.

以下、このような従来の方式について、更に図面を用
いて説明する。
Hereinafter, such a conventional method will be further described with reference to the drawings.

第3図は従来の仮想計算機システムの入出力割り込み
の系の概要を示す図であって、501はホスト、502,503,
はゲスト、504はハードウェアを示しており、また、52
1,522,531,532はそれぞれ論理CPU、621,622,631,632は
それぞれ仮想割込みマスク、540はハードウェア割込み
マスク、505はサブチャネルを表わしている。
FIG. 3 is a diagram showing an outline of an input / output interrupt system of a conventional virtual machine system, where 501 is a host, 502, 503,
Indicates a guest, 504 indicates hardware, and 52
1,522,531,532 are logical CPUs, 621,622,631,632 are virtual interrupt masks, 540 is a hardware interrupt mask, and 505 is a sub-channel.

同図において、ゲスト502,503の論理CPU521,522,531,
532に対しては、それぞれ仮想割込みマスク621,622,63
1,632が用意されており、これらの各仮想割込みマスク
にハードウェア割込みマスク540の内容を時分割に対応
させることによって、I/O装置からの割込み条件をそれ
ぞれの論理CPUに認識せしめる制御を行なっている。
In the figure, logical CPUs 521, 522, 531,
For 532, virtual interrupt masks 621, 622, 63, respectively
1,632 are prepared, and by making the contents of the hardware interrupt mask 540 correspond to these virtual interrupt masks in a time-division manner, control is performed so that each logical CPU recognizes the interrupt condition from the I / O device. I have.

これらの制御はホストによって行なわれる。すなわ
ち、従来の仮想計算機システムでは、全てのI/O割込み
はホストによる振り分けを必要とする。ホストは、ハー
ドウェア割込みマスク540をゲストの各論理CPUから見た
仮想的な割込みマスク621〜632等と時分割に対応させる
ことにより、各論理CPUに対するI/O割込みを振り分け
る。
These controls are performed by the host. That is, in the conventional virtual machine system, all I / O interrupts require distribution by the host. The host distributes I / O interrupts to each logical CPU by associating the hardware interrupt mask 540 with the virtual interrupt masks 621 to 632 viewed from each guest logical CPU in a time-sharing manner.

第4図は従来の仮想計算機システムの割込みの制御に
ついて説明する図であって、第3図と対応する部分には
同一の数字符を付している。
FIG. 4 is a diagram for explaining interrupt control of a conventional virtual machine system, and portions corresponding to FIG. 3 are denoted by the same reference numerals.

これらの内、611,621,622は仮想割込みマスクであっ
て、論理CPUごとに用意され、各ビットは異なるI/O装置
からの割込み要求に対応している。そして、ビットの値
が“1"である場合にのみI/O装置からの割込みが受け付
けられる。
Of these, 611, 621, and 622 are virtual interrupt masks prepared for each logical CPU, and each bit corresponds to an interrupt request from a different I / O device. Then, only when the bit value is “1”, an interrupt from the I / O device is accepted.

また、540は、ハードウェア割込みマスクであって、
各マスクビットは異なるI/O装置からの割込み要求に対
応し、ビット位置は各仮想割込みマスクと1対1に対応
している。該マスクのビットパターンは現在物理CPU上
で走行中の論理CPUに対応する仮想割込みマスクのビッ
トパターンに等しく、ビット値が“1"の場合のみI/O割
込みが受け付けられる。
540 is a hardware interrupt mask,
Each mask bit corresponds to an interrupt request from a different I / O device, and the bit position corresponds to each virtual interrupt mask on a one-to-one basis. The bit pattern of the mask is equal to the bit pattern of the virtual interrupt mask corresponding to the logical CPU currently running on the physical CPU, and an I / O interrupt is accepted only when the bit value is “1”.

550は割込み報告先であって、I/O割込みの報告先論理
CPUが記述されている。この報告先論理CPUとしては、該
サブチャネルを起動した論理CPUが選択される。
550 is an interrupt report destination, which is a logic for reporting an I / O interrupt
CPU is described. As the report destination logical CPU, the logical CPU that activated the sub-channel is selected.

以下、その動作について、仮想割込みマスク設定時
と、ゲストI/O割込み発生時に分けて説明する。
Hereinafter, the operation will be described separately when a virtual interrupt mask is set and when a guest I / O interrupt occurs.

a.仮想割込みマスク設定時 数字符 521で示すゲスト論理CPU−Cが必要に応
じて仮想割込みマスク621を設定する。あるI/O装置に対
応したビット(例えばi 01)の値を“1"にすることで、
該I/O装置に対応したサブサャネル505からの割込み要求
を受け付けることができる。サブチャネル内には割込み
の報告先Cが記述される。
a. When setting a virtual interrupt mask The guest logical CPU-C indicated by numeral 521 sets a virtual interrupt mask 621 as necessary. By setting the value of a bit (for example, i01) corresponding to a certain I / O device to “1”,
An interrupt request from the sub-channel 505 corresponding to the I / O device can be accepted. An interrupt report destination C is described in the subchannel.

ホスト501は最新の仮想割込みマスク(611〜622
等)の時分割によりハードウェア割込みマスク540に反
映し、I/O割込みに備える。
Host 501 has the latest virtual interrupt mask (611-622)
) Is reflected in the hardware interrupt mask 540 to prepare for an I / O interrupt.

あるゲスト論理CPU(例えば522)が別の物理CPU
にディスパッチされた場合、該ゲスト論理CPUに対応す
る仮想割込みマスク622はこの別の物理CPU上で走行する
ホストによりハードウェア割込みマスクに反映される。
One guest logical CPU (eg 522) is another physical CPU
, The virtual interrupt mask 622 corresponding to the guest logical CPU is reflected in the hardware interrupt mask by the host running on this other physical CPU.

b.ゲストI/O割込み発生時 I/O装置が割込み条件を発生した場合、ハードウ
ェア割込みマスク540の該当ビット(例えばi o1)が
“1"であればホストに対してI/O割込み条件を報告す
る。
b. When a guest I / O interrupt occurs When the I / O device generates an interrupt condition, if the corresponding bit (for example, io1) of the hardware interrupt mask 540 is "1", the I / O interrupt condition is given to the host. Report.

仮想割込みマスク611〜622のビット値(各i o1の
内容)だけでは、該I/O割込みをどの論理CPUに対して報
告すべきか特定することができない。ホストは該I/O割
込みを発生したI/O装置に対応するサブチャネル505内の
割込み報告先550により報告先Cを決定し、該当論理CPU
−Cに対してI/O割込み条件を報告する。
It is not possible to specify to which logical CPU the I / O interrupt is to be reported only by the bit values of the virtual interrupt masks 611 to 622 (contents of each i o1). The host determines the report destination C by the interrupt report destination 550 in the sub-channel 505 corresponding to the I / O device that generated the I / O interrupt, and
-Report I / O interrupt conditions to C.

[発明が解決しようとする課題] 上述のように、従来の仮想計算機システムにおいて
は、仮想割込みマスクとハードウェア割込みマスクとの
対応付けを総てホストが管理し、I/O割込みを報告先別
に振り分けることが必要であった。
[Problems to be Solved by the Invention] As described above, in the conventional virtual computer system, the host manages all the correspondence between the virtual interrupt mask and the hardware interrupt mask, and the I / O interrupt is reported for each report destination. It was necessary to sort.

そのため、オーバヘッドが大となる上、ホストの負荷
も増すから、系の処理能力に与える影響が大であった。
Therefore, the overhead becomes large and the load on the host also increases, so that the influence on the processing capacity of the system is great.

また、ホストの負荷の軽減を図るため、ハードウェア
割込みマスクを各論理CPUに対応させて持たせる等の方
法も考えられるが、これはハードウェア量が増し経済性
が損なわれるという問題点があった。
In addition, in order to reduce the load on the host, a method of assigning a hardware interrupt mask to each logical CPU may be considered. However, this method has a problem in that the amount of hardware increases and economic efficiency is impaired. Was.

本発明は、このような従来の問題点に鑑み、ハードウ
ェア割込みマスクに係るハードウェア量の増大を招くこ
となく、ホストの負荷を軽減せしめ得る仮想計算機を提
供することを目的としている。
SUMMARY OF THE INVENTION The present invention has been made in view of the above problems, and has as its object to provide a virtual machine capable of reducing the load on a host without increasing the amount of hardware related to a hardware interrupt mask.

[課題を解決するための手段] 本発明によれば、上述の目的は、前記特許請求の範囲
に記載した手段により達成される。
[Means for Solving the Problems] According to the present invention, the above-mentioned object is achieved by the means described in the claims.

すなわち、本発明は、フローティング割込みによって
ハードウェアとの入出力割込みが管理されている仮想計
算機において、個々のビットが当該ハードウェアのサブ
チャネルに対応して設定され、複数の論理CPUのそれぞ
れに対して設けられた仮想割込みマスクと、個々のビッ
トが当該複数の論理CPUのそれぞれに対応して設定され
たハードウェア割込みマスクと、最後にサブチャネルか
らの割込み要求を受信可能とした論理CPUの対応関係情
報を記憶する割込み報告先記憶手段と、論理CPUがサブ
チャネルからの割込み要求を受け付けることができるよ
うにする仮想割込み設定時には、その論理CPUに対応す
る仮想割込みマスクとそのサブチャネルに対応するビッ
トを所定値に設定すると共に、前記割込み報告先記憶手
段にその論理CPUの対応関係情報を記憶させ、一方、前
記サブチャネルからの割込み発生時には、前記割込み報
告先記憶手段に記憶されている対応関係情報に基づい
て、対応する論理CPUのハードウェア割込みマスクのビ
ットが所定値に設定されているか否か判断し、所定値に
設定されていれば、その論理CPUへの割込みを可能とす
る手段とを有することを特徴とする仮想計算機である。
That is, according to the present invention, in a virtual machine in which input / output interrupts to / from hardware are managed by floating interrupts, individual bits are set corresponding to the sub-channels of the hardware, and each of the plurality of logical CPUs Virtual interrupt masks provided, hardware interrupt masks in which individual bits are set corresponding to each of the multiple logical CPUs, and logical CPUs that can finally receive interrupt requests from sub-channels An interrupt report destination storage unit for storing related information, and a virtual interrupt mask corresponding to the logical CPU and the corresponding sub-channel when the virtual interrupt is set so that the logical CPU can accept an interrupt request from the sub-channel. The bit is set to a predetermined value, and the interrupt report destination storage means stores the corresponding relationship information of the logical CPU. On the other hand, when an interrupt from the sub-channel occurs, the bit of the hardware interrupt mask of the corresponding logical CPU is set to a predetermined value based on the correspondence information stored in the interrupt report destination storage means. And a means for judging whether or not the logical CPU is set to a predetermined value and enabling interruption to the logical CPU.

[作用] 本発明においては、上記手段により、ハードウェア割
込みマスクの個々のビットを各論理CPUに対応させ、あ
る論理CPUが走行している物理CPUのハードウェア割込み
マスクのうち、この論理CPUに対応するものをイネーブ
ルとする事により、ハードウェア割込みマスクの時分割
使用に伴うホストの介入を不要としている。
[Operation] In the present invention, the above means causes the individual bits of the hardware interrupt mask to correspond to each logical CPU, and the hardware interrupt mask of the physical CPU on which a certain logical CPU is running is assigned to this logical CPU. Enabling the corresponding one eliminates the need for host intervention due to time-sharing use of hardware interrupt masks.

また、サブチャネルの個々に記入される、論理CPUと
の対応関係情報を、このサブチャネルからの割込み条件
を受理可能とするための仮想割込みマスクのマスクビッ
ト変更処理を最後に実行した論理CPUに対応するものと
して、上記マスクビットを指定するようにハードウェア
によって動的に変更する事により、I/O装置からのフロ
ーティング割込みの管理を容易にするものである。
Also, the information on the correspondence relationship with the logical CPU, which is entered for each sub-channel, is transferred to the logical CPU that last executed the virtual interrupt mask mask bit change processing to enable the reception of the interrupt condition from this sub-channel. As a countermeasure, management of a floating interrupt from an I / O device is facilitated by dynamically changing the mask bit so as to specify the mask bit.

第1図は本発明の原理的構成を示す図であって、1は
ホスト、2,3はゲスト、2−1,2−2,3−1,3−2はそれぞ
れ論理CPU、2−11,2−12,3−11,3−12はそれぞれ仮想
割込みマスク、4はハードウェア、4−1はハードウェ
ア割込みマスク、5はサブチャネルを表わしている。
FIG. 1 is a diagram showing the basic configuration of the present invention, in which 1 is a host, 2 and 3 are guests, 2-1, 2-2, 3-1 and 3-2 are logical CPUs and 2-11, respectively. , 2-12, 3-11, 3-12 are virtual interrupt masks, 4 is hardware, 4-1 is a hardware interrupt mask, and 5 is a subchannel.

同図において、仮想割込みマスク2−11,2−12,3−1
1,3−12は、従来と同様に論理CPUごとに用意され、各ビ
ットは異なるI/O装置からの割込み要求に対応する。こ
れらのビットは、ビット値が“1"の場合にのみI/O割込
みが受け付けられるが、ハードウェア割込みマスク4−
1は従来のものと異なり、各マスクビットが、それぞれ
各論理CPUに対応している。
In the figure, virtual interrupt masks 2-11, 2-12, 3-1
1, 3-12 are prepared for each logical CPU as in the prior art, and each bit corresponds to an interrupt request from a different I / O device. These bits accept an I / O interrupt only when the bit value is “1”.
1 is different from the conventional one, and each mask bit corresponds to each logical CPU.

本発明による処理分担によれば、ホストは(通常のケ
ースでは)I/O割込みを振り分ける処理を行なう事はな
い。I/O割込みはホストによる振り分け処理を経由せず
に、直接各論理CPUに報告される。ハードウェア割込み
マスク4−1の各ビットは各論理CPUに対応しており、I
/O割込みサブチャネル内に記述された割込み報告先CPU
に対応するマスクビットを使用して該当する論理CPUに
対し報告される。
According to the processing allocation according to the present invention, the host does not perform the processing of distributing the I / O interrupt (in a normal case). I / O interrupts are reported directly to each logical CPU without going through the distribution process by the host. Each bit of the hardware interrupt mask 4-1 corresponds to each logical CPU.
/ O Interrupt report destination CPU described in the interrupt subchannel
Is reported to the corresponding logical CPU using the mask bit corresponding to.

[実施例] 第2図は本発明の一実施例を示す図であって、11はホ
スト、12,13はゲスト、11−1,11−2,12−1,12−2,13−
1,13−2はそれぞれ論理CPUA〜F、11−11,12−11,12−
12はそれぞれ仮想割込みマスク、14はハードウア、14−
1はハードウェア割込みマスク、15はサブチャネル、15
−1は割込み報告先を表わしている。
Embodiment FIG. 2 is a view showing an embodiment of the present invention, in which 11 is a host, 12 and 13 are guests, 11-1, 11-2, 12-1, 12-2, 13-.
1, 13-2 are logical CPUs A to F, 11-11, 12-11, 12-, respectively.
12 is a virtual interrupt mask, 14 is hardware, 14−
1 is hardware interrupt mask, 15 is subchannel, 15
-1 indicates an interrupt report destination.

同図において、11−11,12−11,12−12で示す仮想割込
みマスクは論理CPUごとに用意され、各ビットは異なるI
/O装置からの割込み要求に対応している。このビットの
値が“1"であるときのみI/O割込みが受け付けられる。
In the figure, virtual interrupt masks indicated by 11-11, 12-11, and 12-12 are prepared for each logical CPU, and each bit has a different I
Supports interrupt requests from / O devices. An I / O interrupt is accepted only when the value of this bit is "1".

ハードウェア割込みマスク14−1の各マスクビットは
論理CPUと1対1に対応している。I/O割込みはマスクビ
ット値が“1"の論理CPUに対してのみ報告され得る。
Each mask bit of the hardware interrupt mask 14-1 has a one-to-one correspondence with the logical CPU. An I / O interrupt can be reported only to a logical CPU whose mask bit value is “1”.

割込み報告先15−1には、I/O割込みの報告先論理CPU
が記述されている。この報告先論理CPUとしては、最後
に、該サブチャネルに関するI/O装置に対応する仮想割
込みマスクビットを“1"に設定した、論理CPUがハード
ウェアにより選択される。
The interrupt report destination 15-1 contains the logical CPU that reports the I / O interrupt.
Is described. Finally, as the report destination logical CPU, the logical CPU in which the virtual interrupt mask bit corresponding to the I / O device related to the sub-channel is set to “1” is selected by hardware.

以下、本実施例の動作について、仮想割込みマスク設
定時と、ゲストI/O割込み発生時に分けて説明する。
Hereinafter, the operation of this embodiment will be described separately when a virtual interrupt mask is set and when a guest I / O interrupt occurs.

a.仮想割込みマスク設定時 ゲスト論理CPU−C(12−1)が必要に応じて仮
想割込みマスク12−11を設定する。あるI/O装置に対応
したビット(例えばio1)値を“1"にするマスクビット
変更処理を行うことで、該I/O装置に対応したサブチャ
ネル15からの割込み要求を受け付けることができる。
a. When setting virtual interrupt mask The guest logical CPU-C (12-1) sets the virtual interrupt mask 12-11 as necessary. By performing a mask bit changing process of setting a bit (for example, io1) value corresponding to a certain I / O device to “1”, an interrupt request from the sub-channel 15 corresponding to the I / O device can be accepted.

ホスト11はゲスト論理CPU−Cに対応するハード
ウェア割込みマスク14−1のビットCを“1"に設定し、
また、サブチャネル内に、最後にマスクビット変更処理
をした論理CPU−Cを割込みの報告先として15−1に設
定する。
The host 11 sets bit C of the hardware interrupt mask 14-1 corresponding to the guest logical CPU-C to "1",
Also, the logical CPU-C, which has been subjected to the last mask bit change processing, is set to 15-1 in the sub-channel as the interrupt report destination.

以上に続いて、あるゲスト論理CPU(例えば12−
2)が仮想割込みマスク12−12のビットio1を“1"に設
定するマスクビット変更処理をした場合、サブチャネル
内の割込み報告先15−1には、ハードウェアにより最後
にサブチャネル15からの割込み要求を受信可能とする前
記マスクビット変更処理をした論理CPU D12−2の対応
関係情報であるDが設定され、以後、該サブチャネルか
らの割込み要求はゲスト論理CPU−Dに対して報告され
る。
Following the above, a certain guest logical CPU (for example, 12-
2) When the mask bit changing process of setting the bit io1 of the virtual interrupt mask 12-12 to "1" is performed, the interrupt report destination 15-1 in the sub-channel is finally sent from the sub-channel 15 by the hardware. D, which is the correspondence information of the logical CPU D12-2 that has performed the mask bit change processing for enabling reception of an interrupt request, is set, and thereafter, an interrupt request from the sub-channel is reported to the guest logical CPU-D. You.

また、図示しないが、ゲスト論理CPU(例えば12
−2)が別の物理CPUにディスパッチされた場合、ホス
トはそれまで使用していたハードウェア割込みマスク14
−1の対応ビットDの値をこの別の物理CPUのハードウ
ェア割込みマスクに反映させることも可能である。
Although not shown, a guest logical CPU (for example, 12
If -2) is dispatched to another physical CPU, the host uses the previously used hardware interrupt mask 14
It is also possible to reflect the value of the corresponding bit D of −1 in the hardware interrupt mask of this other physical CPU.

b.ゲストI/O割込み発生時 I/O装置が割込み条件を発生した場合、まず、割
込み報告先15−1の内容により報告先Dを選択する。
b. When a guest I / O interrupt occurs When the I / O device generates an interrupt condition, first, a report destination D is selected according to the contents of the interrupt report destination 15-1.

ゲスト論理CPU−D(12−2)に対応するハード
ウェア割込みマスク14−1のビットDが“1"であれば該
論理CPU−Dに対してI/O割込み条件を報告する。
If the bit D of the hardware interrupt mask 14-1 corresponding to the guest logical CPU-D (12-2) is "1", an I / O interrupt condition is reported to the logical CPU-D.

[発明の効果] 以上説明したように、本発明によれば、ホストがI/O
割込み要求を論理CPU間で振り分ける必要がなく、サブ
チャネル内に格納される割込み報告先およびハードウェ
ア割込みマスクのビット位置から割込み報告先を一意に
決定することができる。このため、従来方式において問
題であった、I/O割込み処理におけるホスト処理のオー
バヘッドを著しく減少することができる利点がある。
[Effects of the Invention] As described above, according to the present invention, the host can perform I / O
It is not necessary to distribute the interrupt request among the logical CPUs, and the interrupt report destination stored in the sub-channel and the interrupt report destination can be uniquely determined from the bit position of the hardware interrupt mask. For this reason, there is an advantage that the overhead of the host processing in the I / O interrupt processing, which is a problem in the conventional method, can be significantly reduced.

【図面の簡単な説明】[Brief description of the drawings]

第1図は本発明の原理的構成を示す図、第2図は本発明
の一実施例を示す図、第3図は従来の仮想計算機システ
ムの入出力割込みの系の概要を示す図、第4図は従来の
仮想計算機システムの割込みの制御について説明する図
である。 1,11……ホスト、2,3,12,13,……ゲスト、2−1,2−2,3
−1,3−2,11−1,11−2,12−1,12−2,13−1,13−2……
論理CPU、2−11,2−12,3−11,3−12,11−11,12−11,12
−12……仮想割込みマスク、4,14……ハードウェア、4
−1,14−1……ハードウェア割込みマスク、5,15……サ
ブチャネル、15−1……割込み報告先
FIG. 1 is a diagram showing a basic configuration of the present invention, FIG. 2 is a diagram showing an embodiment of the present invention, FIG. 3 is a diagram showing an outline of an input / output interrupt system of a conventional virtual computer system, FIG. 4 is a diagram for explaining interrupt control of a conventional virtual machine system. 1,11 ... Host, 2,3,12,13, ... Guest, 2-1,2-2,3
-1,3-2,11-1,11-2,12-1,12-2,13-1,13-2 ...
Logical CPU, 2-11, 2-12, 3-11, 3-12, 11-11, 12-11, 12
−12 …… Virtual interrupt mask, 4,14 …… Hardware, 4
-1,14-1 ... Hardware interrupt mask, 5,15 ... Subchannel, 15-1 ... Interrupt report destination

───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 平2−29831(JP,A) 特開 平1−120639(JP,A) 特開 昭61−240333(JP,A) 特開 昭64−59434(JP,A) ──────────────────────────────────────────────────続 き Continuation of the front page (56) References JP-A-2-29831 (JP, A) JP-A-1-12039 (JP, A) JP-A-61-240333 (JP, A) JP-A-64 59434 (JP, A)

Claims (1)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】フローティング割込みによってハードウェ
アとの入出力割込みが管理されている仮想計算機におい
て、 個々のビットが当該ハードウェアのサブチャネルに対応
して設定され、複数の論理CPUのそれぞれに対して設け
られた仮想割込みマスクと、 個々のビットが当該複数の論理CPUのそれぞれに対応し
て設定されたハードウェア割込みマスクと、 最後にサブチャネルからの割込み要求を受信可能とした
論理CPUの対応関係情報を記憶する割込み報告先記憶手
段と、 論理CPUがサブチャネルからの割込み要求を受け付ける
ことができるようにする仮想割込み設定時には、その論
理CPUに対応する仮想割込みマスクとそのサブチャネル
に対応するビットを所定値に設定すると共に、前記割込
み報告先記憶手段にその論理CPUの対応関係情報を記憶
させ、一方、前記サブチャネルからの割込み発生時に
は、前記割込み報告先記憶手段に記憶されている対応関
係情報に基づいて、対応する論理CPUのハードウェア割
込みマスクのビットが所定値に設定されているか否か判
断し、所定値に設定されていれば、その論理CPUへの割
込みを可能とする手段と を有することを特徴とする仮想計算機。
In a virtual machine in which input / output interrupts to and from hardware are managed by floating interrupts, individual bits are set corresponding to sub-channels of the hardware, and each bit is set for each of a plurality of logical CPUs. Correspondence between the provided virtual interrupt mask, the hardware interrupt mask whose individual bits are set corresponding to each of the multiple logical CPUs, and the logical CPU that can finally receive an interrupt request from a sub-channel An interrupt report destination storage unit for storing information, and a virtual interrupt mask corresponding to the logical CPU and a bit corresponding to the sub-channel when a virtual interrupt is set so that the logical CPU can accept an interrupt request from the sub-channel. And a corresponding value of the logical CPU is stored in the interrupt report destination storage means. On the other hand, when an interrupt from the sub-channel occurs, whether the bit of the hardware interrupt mask of the corresponding logical CPU is set to a predetermined value based on the correspondence information stored in the interrupt report storage unit Means for judging whether or not it is set to a predetermined value and enabling interruption to the logical CPU.
JP01059628A 1988-10-24 1989-03-14 Virtual computer Expired - Fee Related JP3138985B2 (en)

Priority Applications (7)

Application Number Priority Date Filing Date Title
JP01059628A JP3138985B2 (en) 1989-03-14 1989-03-14 Virtual computer
CA002001298A CA2001298C (en) 1988-10-24 1989-10-24 Input and output processing system for a virtual computer
DE68927627T DE68927627T2 (en) 1988-10-24 1989-10-24 Input / output processing system for a virtual machine
AU43708/89A AU614673B2 (en) 1988-10-24 1989-10-24 An input and output processing system for a virtual computer
EP89310954A EP0366416B1 (en) 1988-10-24 1989-10-24 An input and output processing system for a virtual computer
KR1019890015297A KR920004409B1 (en) 1988-10-24 1989-10-24 I/o processing system for virtual computer
US07/928,180 US5276815A (en) 1988-10-24 1992-08-14 Input and output processing system for a virtual computer

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP01059628A JP3138985B2 (en) 1989-03-14 1989-03-14 Virtual computer

Publications (2)

Publication Number Publication Date
JPH02239334A JPH02239334A (en) 1990-09-21
JP3138985B2 true JP3138985B2 (en) 2001-02-26

Family

ID=13118689

Family Applications (1)

Application Number Title Priority Date Filing Date
JP01059628A Expired - Fee Related JP3138985B2 (en) 1988-10-24 1989-03-14 Virtual computer

Country Status (1)

Country Link
JP (1) JP3138985B2 (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3093293B2 (en) * 1991-02-08 2000-10-03 日本電気株式会社 Information processing device interrupt method
JPH0540643A (en) * 1991-08-06 1993-02-19 Nec Corp Hardware interruption control system for simultaneous operation of plural operating systems
JP4345630B2 (en) 2004-09-29 2009-10-14 ソニー株式会社 Information processing apparatus, interrupt processing control method, and computer program
US7685635B2 (en) * 2005-03-11 2010-03-23 Microsoft Corporation Systems and methods for multi-level intercept processing in a virtual machine environment
US8327353B2 (en) 2005-08-30 2012-12-04 Microsoft Corporation Hierarchical virtualization with a multi-level virtualization mechanism

Also Published As

Publication number Publication date
JPH02239334A (en) 1990-09-21

Similar Documents

Publication Publication Date Title
EP2616936B1 (en) Dynamic creation and destruction of io resources based on actual load and resource availability
US6587938B1 (en) Method, system and program products for managing central processing unit resources of a computing environment
US6910101B2 (en) Storage subsystem with management site changing function
US6711643B2 (en) Method and apparatus for interrupt redirection for arm processors
US6519660B1 (en) Method, system and program products for determining I/O configuration entropy
EP0459714B1 (en) Interrupt processing allocation in a multiprocessor system
US5349664A (en) Initial program load control system in a multiprocessor system
US5228127A (en) Clustered multiprocessor system with global controller connected to each cluster memory control unit for directing order from processor to different cluster processors
GB2024476A (en) Dynamic disc buffer control unit
US5291605A (en) Arrangement and a method for handling interrupt requests in a data processing system in a virtual machine mode
JPH02193248A (en) Actual storage management system
US5392409A (en) I/O execution method for a virtual machine system and system therefor
US7568052B1 (en) Method, system and program products for managing I/O configurations of a computing environment
JP3138985B2 (en) Virtual computer
US5276815A (en) Input and output processing system for a virtual computer
CN110532062B (en) Virtual SoC bus system and configuration method
EP0969367A2 (en) System and method used in a computer system for distributing tasks between multiprocessing I/O subsystems
JPS6184710A (en) Nc data transfer method in group control system
JPH0991257A (en) Cpu management system
JPH0612395A (en) Task allocating method in multiprocessor system
JPS62260257A (en) Control system for assigning input/output port
KR920004409B1 (en) I/o processing system for virtual computer
JP3082297B2 (en) Task control method
JPH0348937A (en) Input/output instruction executing system for virtual computer system
JP3073903B2 (en) Information processing apparatus and I / O interrupt control method thereof

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees