JPH01283643A - Input/output control system for virtual computer system - Google Patents

Input/output control system for virtual computer system

Info

Publication number
JPH01283643A
JPH01283643A JP63112618A JP11261888A JPH01283643A JP H01283643 A JPH01283643 A JP H01283643A JP 63112618 A JP63112618 A JP 63112618A JP 11261888 A JP11261888 A JP 11261888A JP H01283643 A JPH01283643 A JP H01283643A
Authority
JP
Japan
Prior art keywords
input
output
guest
subclass
host
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.)
Granted
Application number
JP63112618A
Other languages
Japanese (ja)
Other versions
JP2587451B2 (en
Inventor
Kazuo Honma
本間 和男
Hideo Sawamoto
英雄 澤本
Makoto Yamagata
良 山縣
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.)
Hitachi Ltd
Hitachi Higashi Shohin Engineering KK
Original Assignee
Hitachi Ltd
Hitachi Higashi Shohin Engineering KK
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd, Hitachi Higashi Shohin Engineering KK filed Critical Hitachi Ltd
Priority to JP63112618A priority Critical patent/JP2587451B2/en
Publication of JPH01283643A publication Critical patent/JPH01283643A/en
Application granted granted Critical
Publication of JP2587451B2 publication Critical patent/JP2587451B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Abstract

PURPOSE:To execute the processing at high speed by dividing and allocating a subclass being a unit for controlling separately an input/output interruption request to a host program for controlling a virtual computer system and a guest program for running on the virtual computer. CONSTITUTION:An input/output interruption request to a host or a guest which is generated when the guest is running is subjected to a mask control by an input/output interruption holding bit 4, a real subclass mask 3 and a control subclass mask 2. Subsequently, the input/output interruption request to the host and the input/output interruption request to the host are processed in accordance with an input/output interruption generating condition of the host and in accordance with an input/output interruption generating condition of the guest, respectively. In such a way, an input/output interruption which is generated in the course of running of a guest program can be informed to an appropriate one of a host program or the guest program. Also, an instruction for cutting down an interruption request can also be executed directly by receiving only an interruption of the guest in the course of running of the guest program, therefore, the processing of a virtual computer system can be executed at high speed.

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、仮想計算機システムにおける入出力制御方式
に係り、特に、ゲストプログラムの入出力割込み処理及
び保留中入出力割込みを受付ける命令の処理を高速に行
うことを可能とした仮想計算機システムにおける入出力
制御方式に関する。
[Detailed Description of the Invention] [Field of Industrial Application] The present invention relates to an input/output control method in a virtual computer system, and in particular, to processing of input/output interrupt processing of a guest program and processing of an instruction to accept a pending input/output interrupt. This paper relates to an input/output control method in a virtual computer system that enables high-speed operation.

〔従来の技術〕[Conventional technology]

仮想計算機システムは、実計算機を時分割に使用し、時
分割された各タイムスロットにおいて、仮想のハードウ
ェア情報を設定することにより、1台の実計算機を、各
タイムスロット毎に、あたかも、別々の計算機のごとく
動作させるものである。このような仮想計算機システム
に関する従来技術として、例えば、特公昭60−493
52号公報等に記載された技術が知られている。
A virtual computer system uses a real computer in time-sharing, and sets virtual hardware information in each time-divided time slot, so that one real computer can be used for each time slot as if it were separate. It operates like a computer. As a prior art related to such a virtual computer system, for example, Japanese Patent Publication No. 60-493
A technique described in Publication No. 52 and the like is known.

この種従来技術による仮想計算機システムは、仮想計算
機上で走行しているゲストプログラム(以下、ゲストと
いう)に通知すべき割込みと、実計算機を管理し仮想計
算機システムを実現しているホストプログラム(以下、
ホストという)に通知すべき割込みとを有し、ゲストに
対する割込みを高速に行い得るものである。一般に、割
込みは、夫々の該当プログラムに直接割込むように行う
ことが望ましく、このことは、入出力割込みについても
同様である。
A virtual computer system based on this type of conventional technology requires interrupts to be notified to a guest program (hereinafter referred to as a guest) running on a virtual machine, and a host program (hereinafter referred to as a host program) that manages a real computer and realizes a virtual computer system. ,
It has an interrupt that should be notified to the host (called the host), and can interrupt the guest at high speed. Generally, it is desirable to interrupt each program directly, and the same applies to input/output interrupts.

入出力割込みにおける直接実行方式に関する従来技術と
して、例えば、特開昭61−240333号公報等に記
載された技術が知られている。
As a prior art related to the direct execution method for input/output interrupts, the technology described in, for example, Japanese Patent Laid-Open No. 61-240333 is known.

この種従来技術は、ゲストにコントロールレジスタを開
放し、入出力処理装置配下からの入出力割込要求ととも
に送出されたゲスト識別情報が、走行中の該当ゲストと
一致した場合に、割込発生を許可するものである。
This type of conventional technology opens a control register to a guest, and when guest identification information sent with an input/output interrupt request from an input/output processing unit matches the running guest, an interrupt is generated. It is permitted.

〔発明が解決しようとする課題〕[Problem to be solved by the invention]

前記従来技術は、ゲスト走行中にそのゲストに対する入
出力割込要求が発生した場合に、該当プログラムに直接
割込みを行うことを可能にしているが、ホストに対する
入出力割込要求が発生した場合、実計算機上で、入出力
割込みの可否を個々に決定するサブクラス毎の入出力割
込の許可を制御するコントロールレジスタを走行中のゲ
ストに開放しているため、ホストへの入出力割込受付制
御が困難である。このため、前記従来技術は、ゲスト走
行中に、ホストに対する入出力割込要求が保留された場
合に、ホストに制御がもどるまでの間、その入出力割込
みに対する応答が遅延するという問題点を有している。
The above-mentioned conventional technology makes it possible to directly interrupt the corresponding program when an input/output interrupt request to the guest occurs while the guest is running. However, when an input/output interrupt request to the host occurs, On the actual computer, the control registers that control the permission of input/output interrupts for each subclass, which individually determine whether or not input/output interrupts can be accepted, are open to the running guest, making it possible to control input/output interrupt acceptance to the host. is difficult. Therefore, the above-mentioned conventional technology has the problem that when an input/output interrupt request to the host is suspended while the guest is running, the response to the input/output interrupt is delayed until control is returned to the host. are doing.

本発明の目的は、前記従来技術の問題点を解決し、比較
的少量のハードウェアで、入出力割込みをホスト、ゲス
トの適切な方へ直接通知することを可能とし、入出力割
込要求が存在しているときに、入出力割込制御ビットの
影響を受けることなく、コントロールレジスタの制御下
で、入出力割込受付の可否を判定し、割込可能と判断さ
れ、その入出力割込要求の1つを受付けるTPT命令を
ゲスト上で直接実行する場合に、ゲストのコントロール
レジスタの制御下で、入出力割込受付可能として、処理
の高速化を図ることができるようにした仮想計算機シス
テムにおける入出力制御方式を提供することにある。
An object of the present invention is to solve the problems of the prior art described above, to make it possible to directly notify an appropriate host or guest of an input/output interrupt with a relatively small amount of hardware, and to enable input/output interrupt requests to be directly notified to the appropriate host or guest. When the input/output interrupt is present, it is determined whether the input/output interrupt can be accepted under the control of the control register without being affected by the input/output interrupt control bit, and if it is determined that the interrupt is possible, the input/output interrupt is A virtual computer system that can accept input/output interrupts under the control of the guest's control register to speed up processing when a TPT instruction that accepts one of the requests is directly executed on the guest. The purpose of this invention is to provide an input/output control method for

〔課題を解決するための手段〕[Means to solve the problem]

本発明によれば、前記目的は、入出力割込要求を個々に
制御する単位である各サブクラスをホストとゲストとに
分割して割当て、ホスト及びゲストのプログラムが各サ
ブクラスの入出力割込発生条件を一括して制御できる入
出力割込制御ビットと、プログラムがサブクラス毎に入
出力割込発生条件を制御できるコントロールレジスタと
、サブクラス毎に入出力割込禁止状態とすることのでき
    ゛る実サブクラスマスクと、入出力割込制御ビ
ットが禁止状態のときにサブクラス毎に該禁止状態を解
除することのできる制御サブクラスマスクと、入出力割
込要求のあるサブクラスを記憶する入出力割込保留レジ
スタと、入出力割込制御ビット、実サブクラスマスク及
び制御サブクラスマスクにより入出力割込要求を制御し
た結果、入出力割込発生可能なサブクラスが存在する場
合に、入出力割込マイクロプログラムを起動し、該当サ
ブクラスを通知する手段と、入出力割込制御ビットの影
響を排除し、実サブクラスマスク及び制御サブクラスマ
スクにより入出力割込要求を制御した結果、前記マイク
ロプログラムに、入出力割込受付の可否と、受付可能な
場合にそのサブクラスとを通知する手段とを備えること
により達成される。
According to the present invention, the object is to divide and allocate each subclass, which is a unit for individually controlling input/output interrupt requests, to the host and guest, so that the host and guest programs can generate input/output interrupts for each subclass. There are input/output interrupt control bits that can control conditions all at once, control registers that allow a program to control input/output interrupt generation conditions for each subclass, and a control register that allows a program to disable input/output interrupts for each subclass. A subclass mask, a control subclass mask that can release the disabled state for each subclass when the I/O interrupt control bit is disabled, and an I/O interrupt pending register that stores the subclass with the I/O interrupt request. As a result of controlling input/output interrupt requests using the input/output interrupt control bit, real subclass mask, and control subclass mask, if there is a subclass that can generate input/output interrupts, the input/output interrupt microprogram is activated. As a result of controlling input/output interrupt requests using a real subclass mask and a control subclass mask by eliminating the influence of the means for notifying the relevant subclass and the input/output interrupt control bit, the microprogram has a method for accepting input/output interrupts. This is achieved by providing a means for notifying whether or not the service is acceptable and, if it is acceptable, its subclass.

〔作用〕[Effect]

ゲスト走行中に発生したホストまたはゲストに対する入
出力割込要求は、入出力割込保留ビットと、実サブクラ
スマスクと、制御サブクラスマスクとによりマスク制御
を受ける。これにより、ホストに対する入出力割込要求
は、ホストの入出力割込発生条件に従い、ゲストに対す
る入出力割込要求は、ゲストの入出力割込発生条件に従
い処理される。いずれの要求の場合も、入出力割込発生
条件を満たしたサブクラスが存在する場合に、マイクロ
プログラムが起動され、発生した入出力割込のサブクラ
スが、ホスト、ゲストのいずれに属するかに応じて、該
当プログラムの方に入出力割込が通知される。また、T
PI命令の実行は、入出力割込制御ビットの影響を受け
ずに、実サブクラスマスク及び制御サブクラスマスクの
制御を受け、ゲストのみの入出力割込条件に従って処理
され、該条件を満たしたサブクラスが存在する場合に、
入出力割込受付可能と判断され、該当サブクラスに対す
る入出力割込を受付けることにより行われる。
An input/output interrupt request to the host or guest that occurs while the guest is running is masked by the input/output interrupt pending bit, real subclass mask, and control subclass mask. As a result, input/output interrupt requests to the host are processed according to the host's input/output interrupt generation conditions, and input/output interrupt requests to the guest are processed according to the guest's input/output interrupt generation conditions. For any request, if there is a subclass that satisfies the I/O interrupt generation conditions, the microprogram is started, and the microprogram is activated depending on whether the subclass of the generated I/O interrupt belongs to the host or guest. , the corresponding program is notified of the input/output interrupt. Also, T
Execution of the PI instruction is not affected by the input/output interrupt control bits, but is controlled by the real subclass mask and control subclass mask, and is processed according to the guest-only input/output interrupt conditions, and the subclass that satisfies the conditions is If it exists,
It is determined that input/output interrupts can be accepted, and this is done by accepting input/output interrupts for the corresponding subclass.

〔実施例〕〔Example〕

以下、本発明の一実施例を図面により詳細に説明する。 Hereinafter, one embodiment of the present invention will be described in detail with reference to the drawings.

第1図は本発明を実施する論理回路の一実施例を示すブ
ロック図、第2図はホストサブクラスマスク設定処理を
説明するフローチャート、第3図はゲストサブクラスマ
スク設定処理を説明するフローチャート、第4図はゲス
ト走行時の割込処理を説明するフローチャート、第5図
はホスト走行時のTPT命令処理を説明するフローチャ
ート、第6図はゲスト走行時のTPT命令処理を説明す
るフローチャートである。第1図において、1は入出力
割込制御ビット、2は制御サブクラスマスク、3は実サ
ブクラスマスク、4は割込保留レジスタ、5,9.14
はORゲート、6は論理和出力、7,13はANDゲー
ト、8は論理積信号、10は割込発生要求信号、11は
優先回路、12は割込レジスタ、15は割込保留信号で
ある。なお、以下の説明において、入出力割込を単に割
込と記述する。
FIG. 1 is a block diagram showing an embodiment of a logic circuit implementing the present invention, FIG. 2 is a flowchart explaining host subclass mask setting processing, FIG. 3 is a flowchart explaining guest subclass mask setting processing, and FIG. FIG. 5 is a flowchart explaining interrupt processing when running as a guest, FIG. 5 is a flowchart explaining TPT command processing when running as a host, and FIG. 6 is a flowchart explaining TPT command processing when running as a guest. In Figure 1, 1 is the input/output interrupt control bit, 2 is the control subclass mask, 3 is the real subclass mask, 4 is the interrupt pending register, 5, 9.14
is an OR gate, 6 is an OR output, 7 and 13 are AND gates, 8 is an AND signal, 10 is an interrupt generation request signal, 11 is a priority circuit, 12 is an interrupt register, and 15 is an interrupt pending signal. . Note that in the following description, input/output interrupts are simply referred to as interrupts.

本発明を実施する論理回路は、第1図に示すように、制
御サブクラスマスク(以下、C3CMという)2と、実
サブクラスマスク(以下、R3CMという)3と、割込
保留レジスタ(以下、INTPという)4と、これらの
マスク及びレジスタの内容による論理を行うゲート5,
7,9,13゜、14と、優先回路11と、割込レジス
タ(以下、lNTRという)12とにより構成されてい
る。
As shown in FIG. 1, a logic circuit implementing the present invention includes a control subclass mask (hereinafter referred to as C3CM) 2, a real subclass mask (hereinafter referred to as R3CM) 3, and an interrupt pending register (hereinafter referred to as INTP). ) 4 and a gate 5 that performs logic according to the contents of these masks and registers,
7, 9, 13°, 14, a priority circuit 11, and an interrupt register (hereinafter referred to as 1NTR) 12.

第1図において、入出力装置、入出力制御装置、入出力
処理装置の夫々により生成された各サブクラスの割込要
求がINTP4に格納される。このrNTPd内の割込
要求と、R3CM3内のマスク情報と、C3CM2内の
マスク情報及び割込制御ビット(以下、pswrという
)1のORゲート5による論理和出力6とは、夫々サブ
クラス対応に、ANDゲート7により論理積がとられ、
論理積出力8として出力される。この論理積出力8は、
優先回路11を逼った後、lNTR12に格納される。
In FIG. 1, interrupt requests of each subclass generated by each of the input/output device, input/output control device, and input/output processing device are stored in INTP4. The interrupt request in rNTPd, the mask information in R3CM3, and the logical sum output 6 from the OR gate 5 of the mask information and interrupt control bit (hereinafter referred to as pswr) 1 in C3CM2 correspond to subclasses, respectively. The AND gate 7 performs a logical product,
It is output as a logical product output 8. This logical product output 8 is
After passing through the priority circuit 11, it is stored in the 1NTR 12.

また、この論理積出力8は、全てのサブクラスの論理和
がORゲート9によりとられて、割込発生要求信号lO
として、ORゲート9より出力される。
Further, this logical product output 8 is obtained by calculating the logical sum of all subclasses by an OR gate 9, and generates an interrupt generation request signal lO.
is output from the OR gate 9 as follows.

一方、C3CM2内のマスク情報の反転信号と、R3C
Ma内のマスク情報と、TNTPJ内の割込要求とは、
夫々サブクラス対応にANDゲート13により論理積が
とられた後、ORゲート14により全てのサブクラスの
論理和がとられ、割込保留信号15として出力される。
On the other hand, the inverted signal of the mask information in C3CM2 and the R3C
The mask information in Ma and the interrupt request in TNTPJ are:
After the AND gate 13 performs a logical product for each subclass, the OR gate 14 performs a logical sum of all the subclasses, and outputs the result as an interrupt pending signal 15.

C3CM2及びR3CM3は、マイクロプログラムによ
り、読出し、書込み共に可能なレジスタにより構成され
、I NTR12は、読出しが可能なレジスタである。
C3CM2 and R3CM3 are configured by registers that can be read and written by a microprogram, and INTR12 is a register that can be read.

割込発生要求信号10は、システムに対し、割込発生の
必要のあることを表示し、割込処理マイクロプログラム
の起動トリガとなる。割込保留信号15は、割込要求を
刈取る命令であるTPI命令の起動において、受付ける
べき割込要求の有無を表示する。T NTR12は、割
込、TPI命令共に、割込発生対象のサブクラス毎可能
しており、複数のサブクラスが割込保留となった場合、
優先回路11により、若番のサブクラスが格納される。
The interrupt generation request signal 10 indicates to the system that an interrupt needs to be generated, and serves as a trigger for starting an interrupt processing microprogram. The interrupt pending signal 15 indicates whether or not there is an interrupt request to be accepted when a TPI instruction, which is an instruction for reaping an interrupt request, is activated. T NTR12 allows both interrupts and TPI instructions to be generated for each subclass of the interrupt target, and if multiple subclasses are pending interrupts,
The priority circuit 11 stores the subclass with the smallest number.

PSWIは、ホスト走行中にはホストの、ゲスト走行中
にはゲストの割込許可情報を表示し、“l”のときに許
可を意味する。
PSWI displays the host's interruption permission information when the host is running, and the guest's interruption permission information when the guest is running, and "l" means permission.

また、入出力割込要求を個々に制御する単位であるサブ
クラスは、ホストとゲストの夫々に分割して割当てられ
ており、その情報は、ホストとゲストの夫々の図示しな
いコントロールレジスタ内に設定されている。
Furthermore, subclasses, which are units for individually controlling input/output interrupt requests, are divided and assigned to each host and guest, and the information is set in control registers (not shown) of each host and guest. ing.

次に、前述のように構成された第1図に示すハードウェ
アによる論理回路を用いた、ホスト及びゲスト上での割
込及びTPI命令の処理における動作を説明する。
Next, the operation of processing interrupts and TPI commands on the host and guest using the hardware logic circuit shown in FIG. 1 configured as described above will be described.

まず、ホスト走行前及びゲスト状態からホスト状態に移
行する場合のホストのサブクラスマスク設定処理を第2
図により説明する。
First, the host subclass mask setting process before running the host and when transitioning from the guest state to the host state is performed in the second step.
This will be explained using figures.

この場合のサブクラス設定処理は、第2図に示すように
、C3CM2をクリアしくステップ201)、R5CM
3に、ホストプログラムによって指定されるサブクラス
毎の割込の許可を制御するコントロールレジスタ(以下
、NCRという)の内容を格納する(ステップ202)
。もし、ホストプログラムにより、HCRが書き替えら
れる場合には、それに応じてR3CM3を更新する。こ
れにより、ホスト状態のときの全てのサブクラスの割込
は、HCR及びPSWIIの内容によってのみ制御され
ることになる。
In this case, the subclass setting process is to clear C3CM2 (step 201), R5CM
3 stores the contents of a control register (hereinafter referred to as NCR) that controls permission of interrupts for each subclass specified by the host program (step 202).
. If HCR is rewritten by the host program, R3CM3 is updated accordingly. This ensures that all subclass interrupts in host state are controlled solely by the contents of HCR and PSWII.

一方、ゲストプログラム起動時、走行中でないゲストの
状態は、ホストにより退避されているので、その値を再
度ハードウェア上に回復する必要がある。この場合のゲ
ストのサブクラスマスク設定処理を第3図により説明す
る。
On the other hand, since the state of a guest that is not running when the guest program is started is saved by the host, it is necessary to restore that value to the hardware again. The guest subclass mask setting process in this case will be explained with reference to FIG.

(1)まず、ホストのPSWIが“1″であるか否かを
チエツクする(ステップ301)。
(1) First, it is checked whether the PSWI of the host is "1" (step 301).

(2)ホストのPSWIIが11”の場合、CSCM2
にTT CRの内容を格納する(ステップ303)。
(2) If host PSWII is 11”, CSCM2
The contents of the TT CR are stored in (step 303).

(3)また、ホストのPSWIIが0″の場合、C3C
M2をクリアする(ステップ302)。
(3) Also, if the PSWII of the host is 0'', the C3C
Clear M2 (step 302).

この(1)〜(3)の処理は、ホストに割当てられたサ
ブクラスの割込要求の有無及び割込の可否がゲストの割
込制御に干渉することを避け、また、後述するように、
ゲスト走行中に発生した割込が、ホスト、ゲストのどち
らに属するものかを判定するために必要なものである。
These processes (1) to (3) prevent the presence or absence of an interrupt request of the subclass assigned to the host and the possibility of interrupt from interfering with the guest's interrupt control, and, as will be described later,
This is necessary to determine whether an interrupt that occurs while the guest is running belongs to the host or the guest.

(4)次に、HCRの内容と、ゲストプログラムにより
指定されるコントロールレジスタ(以下、GCRという
)の内容との論理和を取った内容をR3CM3へ格納す
る(ステップ304)。
(4) Next, the logical sum of the contents of HCR and the contents of a control register (hereinafter referred to as GCR) specified by the guest program is stored in R3CM3 (step 304).

前述のゲストのサブクラスマスクの設定処理において、
ホストとゲストとにより1つのサブクラスを共有しても
よいが、その場合は、ホストが、割込の切り分は等の制
御を保障する必要がある。
In the process of setting the guest subclass mask mentioned above,
One subclass may be shared by the host and guest, but in that case, the host needs to ensure control over the division of interrupts, etc.

また、OCRは、変換前と変換後とに夫々存在させても
よいが、説明を簡略化するため、これらを区別すること
はしない。ゲストによりOCRが書き替えられる場合に
は、ゲスト実行中には、ホストのPSWI、HCRとも
変化することがないので、その都度、ステップ304だ
けが実行される。
Further, OCR may exist before conversion and after conversion, but to simplify the explanation, these will not be distinguished. When the OCR is rewritten by the guest, only step 304 is executed each time since neither the host's PSWI nor HCR changes during guest execution.

次に、ゲスト走行時における割込処理の動作を第4図に
より説明する。
Next, the operation of interrupt processing during guest running will be explained with reference to FIG.

この場合、前述した第3図に示すフローに従ってサブク
ラスマスク2.3の設定処理が行われている。このよう
な状態のゲスト走行時に発生したホストのサブクラス割
込要求は、ホストのPSWIが、0”あるいは“1”で
、)(CRの該当するサブクラスの内容が0”である場
合、第1図に示すオアゲート9の出力である割込発生要
求信号10を“0″として割込を発生させない。一方、
ホストのPSWIが“1″で、HCRの該当するサブク
ラスが′1”の場合に、ホストのサブクラス割込要求が
発生すれば、割込発生要求信号10は、“1”となり、
割込発生を通知する。
In this case, the subclass mask 2.3 setting process is performed according to the flow shown in FIG. 3 described above. A host subclass interrupt request that occurs when the guest is running in such a state is generated when the PSWI of the host is 0'' or 1) (if the content of the corresponding subclass in CR is 0'', The interrupt generation request signal 10, which is the output of the OR gate 9 shown in FIG.
When the PSWI of the host is "1" and the corresponding subclass of HCR is "1", if a subclass interrupt request of the host occurs, the interrupt generation request signal 10 becomes "1",
Notify interrupt occurrence.

(1)前述により、割込みマイクロプログラムが起動さ
れ、TNTR12から、発生した割込のサブクラスが郷
出される(ステップ401)。
(1) As described above, the interrupt microprogram is activated, and the subclass of the generated interrupt is output from the TNTR 12 (step 401).

(2)C3CM2の対応するサブクラスの内容とステッ
プ401により続出したサブクラスの内容との論理積演
算を行う(ステップ402)。
(2) A logical AND operation is performed between the contents of the corresponding subclass of C3CM2 and the contents of the subclass successively obtained in step 401 (step 402).

(3)ホストに対する割込みの場合、このステップ40
1の演算結果は1”となり、ホストに割当てられたサブ
クラスの割込と判断され、実計算機の状態がホストに遷
移される(ステップ403)。
(3) In the case of an interrupt to the host, this step 40
The calculation result of 1 is 1'', it is determined that the interrupt is of a subclass assigned to the host, and the state of the actual computer is transitioned to the host (step 403).

(4)この状態となった後、ホストに対する割込受付処
理がホストにより実行される(ステップ404)。
(4) After reaching this state, the host executes interrupt acceptance processing for the host (step 404).

前述の処理は、ゲスト走行時にホストに対する割込が発
生した場合であるが、ゲスト走行時に、ゲストのサブク
ラスに対する割込要求が発生すると、PSWIIが“1
″でOCRの該当するサブクラスの内容が“1”の場合
に、第1図に示す割込発生要求信号10が“1”となり
、割込の発生が割込マイクロプログラムに通知される。
The above process is performed when an interrupt occurs to the host when running as a guest. However, when an interrupt request to a subclass of the guest occurs when running as a guest, PSWII becomes "1".
If the content of the corresponding subclass of OCR is "1" in ", the interrupt generation request signal 10 shown in FIG. 1 becomes "1", and the interrupt microprogram is notified of the occurrence of the interrupt.

その後、前述のステップ401,402が前述と同様に
行われる。ステップ402における論理積演算の結果は
、この場合“0”となり、ゲストに割当てられたサブク
ラスに対する割込と判断され、ホストへの遷移を行うこ
となく、ステップ404で直接走行中のゲストにより割
込受付処理が実行される。
Thereafter, steps 401 and 402 described above are performed in the same manner as described above. The result of the AND operation in step 402 is "0" in this case, and it is determined that the interrupt is for the subclass assigned to the guest, and the interrupt is directly executed by the running guest in step 404 without transitioning to the host. Reception processing is executed.

なお、ホスト走行中の割込処理は、従来技術の場合と同
様に行うことが可能であるので、その説明を省略する。
Note that the interrupt processing while the host is running can be performed in the same manner as in the prior art, so the explanation thereof will be omitted.

次に、ホスト上でTPT命令を実行する場合の処理を第
5図により説明する。この場合、サブクラスマスク2,
3は、第2図により説明した処理に従って設定されてい
る。
Next, the process when executing the TPT command on the host will be explained with reference to FIG. In this case, subclass mask 2,
3 is set according to the process explained with reference to FIG.

(1)第1図に示す割込保留信号が“1”であるか否か
、すなわち、割込要求のあるホストのサブクラスが存在
し、PSWTIにかかわらずHCRの該当サブクラスの
内容が“1″となっているか否かチエツクする。割込保
留信号15が“0″の場合、割込を要求しているホスト
のサブクラスが存在していないので処理は終了となる(
ステップ501)。
(1) Whether or not the interrupt pending signal shown in Figure 1 is "1", that is, there is a subclass of the host with the interrupt request, and the content of the corresponding subclass of the HCR is "1" regardless of the PSWTI. Check whether it is. If the interrupt pending signal 15 is "0", the subclass of the host requesting the interrupt does not exist, so the process ends (
Step 501).

(2)ステップ501で、割込保留信号15が“1″の
場合、C3CM2の内容をオール“1”にした後、TN
TR12の読出しを行う(ステップ502゜503)。
(2) In step 501, if the interrupt pending signal 15 is "1", after setting the contents of C3CM2 to all "1", the TN
The TR12 is read (steps 502 and 503).

(3)その後、C3CM2の内容をステップ502の実
行直前のクリアされた状態にもどし、割込受付処理の実
行を行う(ステップ504,505)。
(3) Thereafter, the contents of C3CM2 are returned to the cleared state immediately before execution of step 502, and interrupt acceptance processing is executed (steps 504, 505).

前述したホスト上でTPI命令を実行する処理において
、割込保留信号15をテストするステップ501の時点
で、C3CM2は、オール″0″となっており、該テス
ト条件は、HCRを格納したR30M3のみによりマス
クされた結果が反映されたものとなる。また、ステップ
503の実行前にステップ502でC3CM2の内容を
オール“1”とするのは、PSWIIの影響を排除し、
rNTR12の読出しに、R30M3の内容のみを反映
させるためである。
In the process of executing the TPI instruction on the host described above, at the time of step 501 in which the interrupt pending signal 15 is tested, C3CM2 is all "0", and the test condition is only R30M3 that stores HCR. The masked result will be reflected. In addition, setting the contents of C3CM2 to all "1" in step 502 before executing step 503 eliminates the influence of PSWII,
This is to reflect only the contents of R30M3 in the readout of rNTR12.

次に、ゲスト上でTPI命令を直接実行する場合の処理
を第6図により説明する。この場合、サブクラスマスク
2,3は、第3図により説明した処理に従って設定され
ている。
Next, the process of directly executing a TPI instruction on the guest will be explained with reference to FIG. In this case, subclass masks 2 and 3 are set according to the process explained with reference to FIG.

(1)まず、第1図に示す割込保留信号が“1”である
か否か、すなわち、割込要求のあるゲストのサブクラス
が存在し、PSWIにかかわらず、GCRの該当サブク
ラスの内容が“1″となっているか否かチエツクする。
(1) First, check whether the interrupt pending signal shown in Figure 1 is "1", that is, there is a guest subclass with an interrupt request, and regardless of the PSWI, the contents of the corresponding subclass of the GCR are Check whether it is "1".

割込保留信号15が“0”の場合、割込を要求している
ゲストのサブクラスが存在していないので、処理は終了
となる(ステップ5oi)= (2)ステップ601で、割込保留信号15が1”の場
合、R30M3及びC3CM2の内容を一旦退避する(
ステップ602)。
If the interrupt pending signal 15 is "0", the subclass of the guest requesting the interrupt does not exist, so the process ends (step 5oi) = (2) In step 601, the interrupt pending signal If 15 is 1”, the contents of R30M3 and C3CM2 are temporarily saved (
Step 602).

(3)C3CM2の反転結果とR30M3の内容との論
理積演算を行い、その演算結果をR30M3に格納した
後、C3CM 2の内容をオール″1″とする(ステッ
プ603,604)。
(3) After performing an AND operation on the inversion result of C3CM2 and the contents of R30M3 and storing the result of the operation in R30M3, the contents of C3CM2 are set to all "1" (steps 603 and 604).

(4)TNTR12を読出す。この読出しにより、ゲス
トのサブクラスの割込要求のあるサブクラスだけを読出
すことができる(ステップ605)。
(4) Read TNTR12. By this reading, only the subclass of the guest subclass that has an interrupt request can be read (step 605).

(5)その後、R3CM3及びC3CM2の内容の回復
処理を実行し、割込受付処理の実行を行う(ステップ6
06,607)。
(5) After that, the recovery process of the contents of R3CM3 and C3CM2 is executed, and the interrupt acceptance process is executed (step 6
06,607).

前述のゲスト上でTPI命令を実行する処理において、
ステップ601で割込保留信号15の判定を行う場合、
その時点で既に、C3CM2にはHCRの内容が、また
、R5CM3にはTf CRとOCRとの内容の論理和
が格納されており、第1図の論理からも理解できるよう
に、ホストのサブクラスの割込要求は、ステップ601
の判定条件に影響を与えることがない。また、ステップ
603゜604における処理は、T NTR12を読出
す際に、PSWIIの影響を排除し、割込要求のあるサ
ブクラスのうち、ゲストに割当てられたサブクラスだけ
を読出し可能とするための処理である。
In the process of executing TPI instructions on the guest mentioned above,
When determining the interrupt pending signal 15 in step 601,
At that point, C3CM2 already stores the contents of HCR, and R5CM3 stores the logical sum of the contents of Tf CR and OCR.As can be understood from the logic in Figure 1, the contents of the host subclass The interrupt request is made in step 601.
does not affect the judgment conditions. Furthermore, the processing in steps 603 and 604 is a process for eliminating the influence of PSWII when reading T NTR12, and making it possible to read only the subclass assigned to the guest among the subclasses that have an interrupt request. be.

前述した本発明の実施例によれば、ゲスト走行中におい
て発生した割込を、ホストゲストの適切な方に通知する
ことが可能とでき、さらに、TPT命令を実行する場合
、該当ゲストが専有しているサブクラスについてのみ、
割込発生要求のテスト及び受付は動作を可能とすること
ができる。
According to the embodiment of the present invention described above, it is possible to notify an appropriate host guest of an interrupt that occurs while the guest is running, and furthermore, when executing a TPT command, only for subclasses that have
Testing and acceptance of interrupt generation requests may enable operation.

[発明の効果] 以上説明したように、本発明によれば、ゲストプログラ
ムの走行中に発生した入出力割込を、ホストプログラム
またはゲストプログラムの適切な方へ通知することがで
き、また、TPr命令の実行も、ゲストプログラム走行
中に、ゲストの割込だけを受付けて直接実行することを
可能とできるので、仮想計算機システムの処理を高速化
でし性能向上を図ることができる。
[Effects of the Invention] As described above, according to the present invention, an input/output interrupt that occurs while a guest program is running can be notified to an appropriate host program or guest program, and TPr Since instructions can be executed directly by accepting only guest interrupts while the guest program is running, it is possible to speed up the processing of the virtual computer system and improve performance.

【図面の簡単な説明】[Brief explanation of the drawing]

第1図は本発明を実施する論理回路の一実施例を示すブ
ロック図、第2図はホストサブクラスマスクの設定処理
を説明するフローチャート、第3図はゲストサブクラス
マスクの設定処理を説明するフローチャート、第4図は
ゲスト走行時の割込処理を説明するフローチャート、第
5図はホスト走行時のTPI命令処理を説明するフロー
チャート、第6図はゲスト走行時のTPI命令処理を説
明するフローチャートである。 1−・−・割込制御ビット、2・−・・・制御サブクラ
スマスク、3・−・・−・−実サブクラスマスク、4・
・−−−−一割込保留レジスタ、5 、 9 、 14
−−−−−−−ORゲート、6−・−・−論理和出力、
7.13・−・−・ANDゲート、8・・・−・−論理
積信号、10−・−・−割込発生要求信号、11−・・
−優先回路、12−−−−−−一割込レジスタ、15−
−−−−−−割込保留信号。 第1図 粥 2 図 処3図 ’f’スp  ”j−y=ワラ人7スワ殻2t’fl第
4図 ゲスト走守〒H寺富11ふV父rsW 第5図 牌ト、TPI−$+久1ff− 第6図 ゲ又H,TPL今喘理
FIG. 1 is a block diagram showing an embodiment of a logic circuit implementing the present invention, FIG. 2 is a flowchart explaining the host subclass mask setting process, and FIG. 3 is a flowchart explaining the guest subclass mask setting process. FIG. 4 is a flowchart for explaining interrupt processing when running as a guest, FIG. 5 is a flowchart for explaining TPI command processing when running as a host, and FIG. 6 is a flowchart for explaining TPI command processing when running as a guest. 1--Interrupt control bit, 2--Control subclass mask, 3--Real subclass mask, 4--
・---1 interrupt pending register, 5, 9, 14
--------OR gate, 6-----OR output,
7.13 --- AND gate, 8 --- AND signal, 10 --- Interrupt generation request signal, 11 ---
-Priority circuit, 12--1 interrupt register, 15-
---Interrupt pending signal. Figure 1 Porridge 2 Figure 3 'f' sp ``j-y = Straw person 7 Swa shell 2t'fl Figure 4 Guest running guard〒H Teratomi 11fu V Father rsW Figure 5 Tile, TPI- $+1ff- Fig. 6 Gemata H, TPL now panther

Claims (1)

【特許請求の範囲】 1、複数のオペレーティングシステムを同時に動作可能
とする仮想計算機システムにおいて、入出力割込要求を
個々に制御する単位であるサブクラスを、仮想計算機シ
ステムを制御するホストプログラムと、仮想計算機上で
走行するゲストプログラムとに、分割して割当てること
を特徴とする仮想計算機システムにおける入出力制御方
式。 2、ゲストプログラム走行中に発生した、ホストプログ
ラムに割当てられたサブクラスからの入出力割込要求を
、ホストプログラムの入出力割込発生条件に従つて処理
し、ゲストプログラムに割当てられたサブクラスからの
入出力割込要求を、ゲストプログラムの入出力割込発生
条件に従つて処理することを特徴とする特許請求の範囲
第1項記載の仮想計算機システムにおける入出力制御方
式。 3、入出力割込要求が存在しているとき、ゲストプログ
ラムに割当てられたサブクラスの入出力割込み要求につ
いてのみ、ゲストプログラムのコントロールレジスタの
制御下で入出力割込受付の可否を判定し、その入出力割
込要求の1つを受付ける命令をゲストプログラム上で直
接実行することを特徴とする特許請求の範囲第1項記載
の仮想計算機システムにおける入出力制御方式。 4、複数のオペレーティングシステムを同時に動作可能
とする仮想計算機システムにおいて、仮想計算機システ
ムを制御するホストプログラム及び仮想計算機上で走行
するゲストプログラムが、入出力割込要求を個々に制御
する単位である各サブクラスの入出力割込発生条件を一
括して制御できる入出力割込制御ビットと、ホスト及び
ゲストプログラムが、サブクラス毎に入出力割込発生条
件を制御できる夫々のプログラム対応のコントロールレ
ジスタと、サブクラス毎に入出力割込禁止状態とするこ
とのできる実サブクラスマスクと、前記入出力割込制御
ビットが禁止状態のときに、サブクラス毎に該禁止状態
を解除することのできる制御サブクラスマスクと、入出
力割込要求のあるサブクラスを記憶する入出力割込保留
レジスタとを備えたことを特徴とする仮想計算機システ
ムにおける入出力制御方式。
[Claims] 1. In a virtual computer system that can run multiple operating systems simultaneously, a subclass, which is a unit that individually controls input/output interrupt requests, is divided into a host program that controls the virtual computer system, and a virtual machine that controls input/output interrupt requests. An input/output control method in a virtual computer system characterized by dividing and assigning to a guest program running on a computer. 2. Process input/output interrupt requests from subclasses assigned to the host program that occur while the guest program is running, according to the host program's input/output interrupt generation conditions, and process input/output interrupt requests from subclasses assigned to the guest program. 2. The input/output control method in a virtual computer system according to claim 1, wherein the input/output interrupt request is processed according to input/output interrupt generation conditions of a guest program. 3. When an input/output interrupt request exists, only for the input/output interrupt request of the subclass assigned to the guest program, determine whether the input/output interrupt can be accepted under the control of the guest program's control register, and 2. The input/output control method in a virtual computer system according to claim 1, wherein an instruction for accepting one of the input/output interrupt requests is directly executed on a guest program. 4. In a virtual computer system that can run multiple operating systems simultaneously, the host program that controls the virtual computer system and the guest program that runs on the virtual machine are each a unit that individually controls input/output interrupt requests. An input/output interrupt control bit that can collectively control the input/output interrupt generation conditions of subclasses, a control register for each program that allows host and guest programs to control input/output interrupt generation conditions for each subclass, and subclasses. An actual subclass mask that can disable input/output interrupts for each subclass, a control subclass mask that can release the inhibited state for each subclass when the input/output interrupt control bit is disabled, and An input/output control method in a virtual computer system, comprising: an input/output interrupt pending register that stores a subclass with an output interrupt request.
JP63112618A 1988-05-11 1988-05-11 I / O control method in virtual machine system Expired - Fee Related JP2587451B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP63112618A JP2587451B2 (en) 1988-05-11 1988-05-11 I / O control method in virtual machine system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63112618A JP2587451B2 (en) 1988-05-11 1988-05-11 I / O control method in virtual machine system

Publications (2)

Publication Number Publication Date
JPH01283643A true JPH01283643A (en) 1989-11-15
JP2587451B2 JP2587451B2 (en) 1997-03-05

Family

ID=14591241

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63112618A Expired - Fee Related JP2587451B2 (en) 1988-05-11 1988-05-11 I / O control method in virtual machine system

Country Status (1)

Country Link
JP (1) JP2587451B2 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61240333A (en) * 1985-04-17 1986-10-25 Fujitsu Ltd Input and output interruption processing system

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61240333A (en) * 1985-04-17 1986-10-25 Fujitsu Ltd Input and output interruption processing system

Also Published As

Publication number Publication date
JP2587451B2 (en) 1997-03-05

Similar Documents

Publication Publication Date Title
US5187802A (en) Virtual machine system with vitual machine resetting store indicating that virtual machine processed interrupt without virtual machine control program intervention
JPS6258341A (en) Input and output interruption processing system
JPH0430053B2 (en)
JPS61202269A (en) Data processing system
JPS5960652A (en) Data processing device
US7216252B1 (en) Method and apparatus for machine check abort handling in a multiprocessing system
US5003468A (en) Guest machine execution control system for virutal machine system
JPH01283643A (en) Input/output control system for virtual computer system
US5813039A (en) Guest execution control system, method and computer process for a virtual machine system
JPS60163134A (en) Virtual computer system
US11487646B2 (en) Dynamic test case timers
JPH06324861A (en) System and method for controlling cpu
JP2507789B2 (en) Logical simulation processing method of virtual machine
JPS6325736A (en) Interruption control system for virtual computer system
JPH03252829A (en) Test system for virtual computer
JPS61240333A (en) Input and output interruption processing system
JPS6146535A (en) Pseudo error setting control system
JPH02146634A (en) Interruption control system for virtual computer system
JPH01145737A (en) System generation confirming and testing system
JPH01263763A (en) Instruction execution control system
JPH05313916A (en) Electronic computer and its interruption processing method
JPH01293447A (en) Control system for address coincidence interruption
JPH0226246B2 (en)
JPH0644237B2 (en) Virtual computer system timer control method
JPH02217935A (en) Interruption generating circuit for debugging

Legal Events

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