JPS60142429A - Method and apparatus for executing input/output of virtual computer system - Google Patents

Method and apparatus for executing input/output of virtual computer system

Info

Publication number
JPS60142429A
JPS60142429A JP58250362A JP25036283A JPS60142429A JP S60142429 A JPS60142429 A JP S60142429A JP 58250362 A JP58250362 A JP 58250362A JP 25036283 A JP25036283 A JP 25036283A JP S60142429 A JPS60142429 A JP S60142429A
Authority
JP
Japan
Prior art keywords
channel
virtual
interrupt
instruction
register
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
JP58250362A
Other languages
Japanese (ja)
Other versions
JPH0567973B2 (en
Inventor
Hidenori Umeno
梅野 英典
Hiroshi Ikegaya
池ケ谷 浩
Toshiharu Tanaka
俊治 田中
Takashige Kubo
久保 隆重
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
Original Assignee
Hitachi 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
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP58250362A priority Critical patent/JPS60142429A/en
Publication of JPS60142429A publication Critical patent/JPS60142429A/en
Publication of JPH0567973B2 publication Critical patent/JPH0567973B2/ja
Granted legal-status Critical Current

Links

Abstract

PURPOSE:To reduce an I/O simulation overhead and to make a VMS highly efficient by constituting an I/O instruction executing circuit and an I/O interruption executing circuit by hardware and executing I/O under control by the hardware. CONSTITUTION:If an I/O channel of a virtual computer in running is occuplied and an I/O instruction is generated from the running virtual computer to the I/O channel in the virtual computer system for running one or plural operating systems by one computer, an AND circuit 2600 outputs ''1'' to a line 4200 to allow a selecting circuit 1900 to select a real channel number. In a high-speed VM mode, the channel number of the occupied I/O channel is converted from the virtual number to a real number by the hardware.

Description

【発明の詳細な説明】 〔発明の利用分野〕 本発明は、仮想計算機システムに関し、特に入出力をハ
ードウェアによrJ狗:接実行する仮想計算機システム
のI10実行方法および装置に関するものである。
DETAILED DESCRIPTION OF THE INVENTION [Field of Application of the Invention] The present invention relates to a virtual computer system, and particularly to an I10 execution method and apparatus for a virtual computer system in which input/output is directly executed by hardware.

〔発明の背景) 近年、ディジタル社i算機の応用分野が拡大するに伴い
、実主記憶装置の容量の制約を低減したアドレス方式(
仮想記憶方式)が使用さね、さらにコノ方式を用いて1
つの実計算機を多数のオペレーティング・システム(以
下O8と記す)が同時に使用できる方式(仮想計算機シ
ステム)が用いられている。
[Background of the Invention] In recent years, with the expansion of the field of application of Digital i-Based Computers, addressing methods (
(virtual memory method) is used, and furthermore, using the Kono method, 1
A method (virtual computer system) is used in which one real computer can be used by multiple operating systems (hereinafter referred to as O8) at the same time.

第1図は、通常の仮想計算機システムの概念図である。FIG. 1 is a conceptual diagram of a normal virtual computer system.

実計算機システムの中央処理装置(以下CPUと記す)
100実主記憶装置200、実入出力チャネル装置群3
00、実入出力装置群400が示されている。実主記憶
装置2001.7は、仮想計算機システム(以下VMS
と記す)全体を制御する管理プログラムVMCP (単
にCPとも呼ぶ)が存在し、この管理プログラム■MC
Pのシミュレーション機能により仮想計算機VMI (
500−1)、VM2 (500−2)、VM3 (5
00−3)が実現される(以下、仮想計算機をVM、制
御プログラムをVMCPとNe t )。
Central processing unit (hereinafter referred to as CPU) of a real computer system
100 real main storage device 200, real input/output channel device group 3
00, a real input/output device group 400 is shown. The real main storage device 2001.7 is a virtual machine system (hereinafter referred to as VMS).
There is a management program VMCP (also simply called CP) that controls the entire system, and this management program ■MC
Virtual computer VMI (
500-1), VM2 (500-2), VM3 (5
00-3) is realized (hereinafter, the virtual machine will be referred to as VM, and the control program will be referred to as VMCP and Net).

実現されるVMの台数は、計算機のリソース量により制
限されるものである。第1図に示すように、各VMには
、仮想CPU (500’−10,500−20’、5
00−30)、仮想主記憶装置(500−11,500
−21,500−31)、仮想入出力チャネル装置群、
仮想入出力装置群が存在する。これらの仮想リソースは
、VMCPのシミュレーション機能により実現される。
The number of VMs that can be implemented is limited by the amount of computer resources. As shown in Figure 1, each VM has virtual CPUs (500'-10, 500-20', 5
00-30), virtual main storage (500-11,500
-21,500-31), virtual input/output channel device group,
Virtual I/O devices exist. These virtual resources are realized by the simulation function of VMCP.

VM上のO8は、これらのリソースを実リソースとみな
して使用するので、以下これらを、VMのCPU。
Since the O8 on the VM uses these resources as real resources, hereinafter these will be referred to as the VM's CPU.

V Mの主記憶装置、VMの入出力チャネル装置群、V
Mの入出力装置群と呼ぶ。
VM main storage device, VM input/output channel device group, V
This is called the input/output device group of M.

第2図は、第1図のVMの主記憶装置、つまり仮想主記
憶装置の実主記憶200における割当て方法を示す図で
ある。
FIG. 2 is a diagram showing a method of allocating the main memory of the VM shown in FIG. 1, that is, the virtual main memory in the real main memory 200.

第2図に常駐領域(V=R,常駐領域1.常駐領域2)
、VMCPのダイナミックページング領域を示す。この
ベージング領域は、非常駐領域(V=V)として使用さ
れる。
Figure 2 shows the resident area (V=R, resident area 1. resident area 2)
, shows the dynamic paging area of VMCP. This paging area is used as a non-resident area (V=V).

V−RのVMは、アドレスOを起点とするV=FL領域
、]一番目の常駐VMの主記憶装置500=11用に主
記憶装置アドレスα□を起点とする常駐領域、2番目の
常駐VMの主記憶装置500−21のために主記憶装置
アドレスα、を起点とする常駐領域がそれぞれ占有さね
ている。常駐VMの台数が増加すわば、同様に、常駐領
域3.常駐領域牛、・・・が常駐VM3の主記憶装置な
500−31、常駐VM4の主記憶装f#t500−4
1と定義されていく。
The VM of VR is a V=FL area starting from address O, a resident area starting from main storage address α□ for main storage 500=11 of the first resident VM, and a permanent area starting from the main storage address α□ of the second resident VM. For the main storage device 500-21 of the VM, the resident areas starting from the main storage device address α are not occupied. Similarly, if the number of resident VMs increases, the resident area 3. The resident area 500-31 is the main memory of resident VM3, and the main memory of resident VM4 is f#t500-4.
It is defined as 1.

一般のV=V (非常駐)のVMの場合には、VMCP
のダイナミック・ベージング領域を他のV−VのVMと
ともに共有することになる。また、VMCPのプレフイ
クス・エリア(PSA)が、第2図に示すように、実主
記憶装置200上の適当な場所に確保さねている(以下
、フレフィクス・エリアをPSAと言上す)。言rmm
のPSAには、その計算機のハードウェア状態が格納さ
れており、その格納状態の例を第4図(A)に示す。
In the case of a general V=V (non-resident) VM, VMCP
will share the dynamic basing area of the V-V with other V-V VMs. Furthermore, as shown in FIG. 2, a VMCP prefix area (PSA) is secured at an appropriate location on the real main storage device 200 (hereinafter, the flex area will be referred to as PSA). Word rmm
The PSA stores the hardware status of the computer, and an example of the stored status is shown in FIG. 4(A).

第4図(A、)のPSA201には、入出力チャネル装
置への指令語CCW (Cb、annej Comma
nd Word、)群の先頭アドレスおよびアクセスキ
ー等を含もチャネル・アドレスワード(CAW)202
、I10旧P S W (Program 5tatu
s Word ) 20:!、、■10新PSW204
が含まれている。
The PSA 201 in FIG. 4(A) contains a command word CCW (Cb, annej Comma
Channel address word (CAW) 202 including the start address of the nd word, ) group, access key, etc.
, I10 old P S W (Program 5tatu
s Word ) 20:! ,,■10 New PSW204
It is included.

第4図(B)は、第4図(AlのPSWの内容を示す図
である。
FIG. 4(B) is a diagram showing the contents of the PSW of FIG. 4 (Al).

PSW204におけるビットIはI10マスク、ビット
Eは外部割込みマスク、ビットWはウェイト・ビットで
あり、N、IAは次に実行すべき命令を表わす。このP
SW204は、CPUに1個だけ存在し、そのCPUの
状態を表わすものである。
Bit I in PSW 204 is an I10 mask, bit E is an external interrupt mask, bit W is a wait bit, and N and IA represent the next instruction to be executed. This P
Only one SW 204 exists in the CPU, and represents the state of the CPU.

さらに、各VMに対してもpsw(仮想PSW)が存在
し、それは各V Mの状態を表わすものである。また、
各VMのPSAは、第2図に示す各■Mの領域の中にそ
れぞれ含まれており、各VMのそねぞねのハードウェア
(一般には仮想ハードウェア)状態を表わす。各VMの
PSA (仮想PSA)は、第4図(A)に示したもの
と同じ内容を含む。仮想PSA内のCAWは、そのVM
の仮想主記憶装置内のCCW群の先頭アドレスおよびア
クセスキーを含も。また、仮想PSA内のPSWは、そ
のVM固有の情報を金粉PSWである。
Furthermore, a psw (virtual PSW) exists for each VM, which represents the state of each VM. Also,
The PSA of each VM is included in each M area shown in FIG. 2, and represents the hardware (generally virtual hardware) state of each VM. The PSA (virtual PSA) of each VM includes the same contents as shown in FIG. 4(A). The CAW within the virtual PSA is
Contains the start address and access key of the CCW group in the virtual main memory. Further, the PSW in the virtual PSA is a gold powder PSW that contains information specific to the VM.

第2図い示すVMCPのPSAには、VMCPで使用す
る計算機システムの状態、つまりVMS全体での計算機
システムの状態が表示される。
The PSA of the VMCP shown in FIG. 2 displays the status of the computer system used in the VMCP, that is, the status of the computer system of the entire VMS.

次に、実計算機システムにおけるI10要求および11
0割込みの実行方法を説明する。
Next, we will discuss the I10 request and the 11 request in the actual computer system.
The method for executing the 0 interrupt will be explained.

先ず、■10に対する要求があると、主記憶装W 20
0 、f=にI10チャネル動作(Read / Wr
ite等)を規定するCCW群を記述する。そのCCW
の中に含まれるデータ・アドレスは、主記憶装置アドレ
スである。次に、CCW群の先頭アドレスをCAWに設
定し、5tart I10命令を発行する。これにより
、目的とする装置にI10起動信号が発行される。この
装置は、■10アドレスCUによりアドレス付けさねて
おり、ここてCはチャネル装置番号、Uは装置アドレス
である。以FのIloの要求手順は、計算機システムを
制御するO8の中の核となるI10スーパバイザと呼ば
れるプログラムにより行われる。
First, when there is a request for ■10, the main memory W20
0, f = I10 channel operation (Read/Wr
ite, etc.). That CCW
The data address contained within is a main memory address. Next, the start address of the CCW group is set to CAW, and a 5tart I10 instruction is issued. As a result, the I10 activation signal is issued to the target device. This device is addressed by the ■10 address CU, where C is the channel device number and U is the device address. The following Ilo request procedure is performed by a program called I10 supervisor, which is the core of O8 that controls the computer system.

110割込みの実行は、先ず、I10チャネル装置から
CPUに対して110割込み要求が発生することにより
開始される。CPU側は、現在の状態がこの割込み要求
に対して割込み可能か否かを判断し、割込み可能な場合
には、割込み動作を起こす。それは、CPU側のpsw
を、PSA内のI10旧pswに格納し、I10新PS
WをPSWにロードすることにより行う。このとき、同
時にこの割込み要求元のI10アドレスCUがPSAの
特定部分に格納される。以上の割込み動作は、O8の介
入なしに、直接ハードウェアにより実現される。
Execution of the 110 interrupt is first started by issuing a 110 interrupt request from the I10 channel device to the CPU. The CPU side determines whether or not the current state allows an interrupt for this interrupt request, and if the interrupt is possible, initiates an interrupt operation. It is psw on the CPU side
is stored in the I10 old psw in the PSA, and the I10 new PS
This is done by loading W into the PSW. At this time, the I10 address CU of the interrupt request source is simultaneously stored in a specific part of the PSA. The above interrupt operations are directly implemented by hardware without intervention from O8.

第3図(A)CB)は、それぞれI10要求とI10#
I込みのVMSでのシミュレーション動作を示す図であ
る。
Figure 3 (A) CB) shows I10 request and I10#, respectively.
It is a figure which shows the simulation operation in VMS including I.

vMにおけるI10要求およびI10′#lJ込みは、
VMCPにより次のようにシミュレーションされる0 先ず、儀3図(A)に示すように、VM600上のO8
は、その主記憶装置上にCCW群(仮想CCW群と呼ぶ
)を作り、その先頭アドレスを仮想PSA内の仮#CA
Wに設定し、I10命令を発行する。そのCCW群は、
VMの主記憶装置のアY゛レスで作られる。このアドレ
スは、第2図の常駐領域がVMO主記憶装置として与え
られる場合には、その先頭アドレスをOとする常駐領域
内相対アドレスである。なお、第1図に示すI10チャ
ネル装置は、常駐領域に作られたCCW群f堂社銅悌内
相対アドレスで作られている)の先頭アドレスを含む仮
想PSAのアドレスのみ与えられていれば、そねらを実
行する機能を有するものとする。この場合の実行とは、
常駐領域FのO8の川音したCCWを、プログラムによ
り何ら変更することなく、そのままI10チャネルによ
り実行することを意味する。
The I10 request and I10'#lJ in vM are:
First, as shown in Figure 3 (A), O8 on VM600 is simulated as follows by VMCP.
creates a CCW group (referred to as a virtual CCW group) on its main memory, and sets its start address to the temporary #CA in the virtual PSA.
Set to W and issue the I10 instruction. The CCW group is
It is created from the address of the VM's main memory. If the resident area shown in FIG. 2 is provided as the VMO main memory, this address is a relative address within the resident area with O as the starting address. In addition, if the I10 channel device shown in FIG. 1 is given only the address of the virtual PSA that includes the start address of the CCW group (created in the resident area using the relative address within the CCW group F), It shall have the function to execute the solar system. In this case, the execution is
This means that the CCW of O8 in the resident area F is executed as is on the I10 channel without any change in the program.

第3図(A)において、VM600上のOSが発行した
I10命令は、ハードウェア700によりトラップ(分
岐)され、さらにVMCP800に制御が渡される。V
 M CP 800は、VMのPSA内の仮想CAWよ
り、仮想CCW群の先頭アドレスにねは、主記憶装置で
のアドレス)をめ、これをVMCPのPSA内のCAW
に設定し、VMに代ってI10命令を発行する。こねに
より、I10チャネルは、VMCPのPSA内のCAW
よりVMの仮想CCWにアクセスし、直接実行を行う。
In FIG. 3A, the I10 instruction issued by the OS on the VM 600 is trapped (branched) by the hardware 700, and control is further passed to the VMCP 800. V
The M CP 800 determines the start address of the virtual CCW group from the virtual CAW in the PSA of the VM (the address in the main storage device), and uses this as the CAW in the PSA of the VMCP.
, and issues an I10 instruction on behalf of the VM. By kneading, the I10 channel is the CAW in the PSA of the VMCP.
The virtual CCW of the VM is accessed and executed directly.

I10チャネルは、実主記憶装置200のアドレスで作
られたcc’w(実CCW)の実行も行うことができる
The I10 channel can also execute cc'w (real CCW) created with the address of the real main storage device 200.

次に、第3図(B)に示すように、VM600で110
割込みが発生すると、ハードウェア700によりトラッ
プされ、VMCP800の該当部に■用御が渡される。
Next, as shown in Figure 3(B), 110
When an interrupt occurs, it is trapped by the hardware 700 and the VMCP 800 is given control.

VMCP800は、この110割込みをどのV Mに反
映すべきかを判断し、このV’MのI / O割込み可
能性を判断して割込み可能であれは、その仮想PSAへ
割込み全反映する。
The VMCP 800 determines in which VM this 110 interrupt should be reflected, determines the possibility of an I/O interrupt for this V'M, and if the interrupt is possible, reflects the entire interrupt to that virtual PSA.

それは、そのV MのPSW(仮想PSW)を、その仮
想PSAのI10旧pswに格納し、I10新PSWを
仮想f) S Wに設定することにより行われる。これ
らのp S W人換え処理は、すべてVMCP800に
よりそのV MのPSAに対して行われる。
This is done by storing the VM's PSW (virtual PSW) in the I10 old psw of its virtual PSA and setting the I10 new PSW in the virtual f) SW. These pSW replacement processes are all performed by the VMCP 800 on the PSA of the VM.

このように、従来のVMSでは、■10命令は必ずVM
CPによりシミュレーションされるため、そのCPUオ
ーバヘッドが大きく、高性能化が望めないという欠点が
あった。
In this way, in conventional VMS, ■10 instructions are always
Since the simulation is performed using the CP, there is a drawback that the CPU overhead is large and high performance cannot be expected.

〔発明の目的) 本発明の目的は、このような従来の欠点を改善し、VM
SのI10シミュレーション・オーバヘッドを削減して
、高性能化を図ることができる仮想計算機システムのI
10実行方法および装置を提供することにある。
[Object of the Invention] The object of the present invention is to improve the conventional drawbacks and to improve the VM
I10 of a virtual computer system that can reduce simulation overhead and improve performance
10 implementation methods and devices.

〔発明の概要〕[Summary of the invention]

上記目的を達成するため、本発明の仮想計算機システム
は、1台の実計n機の下で、1個ないし観数個のオペレ
ーティング・システムを走行させる仮想計算機システム
において、現走行中の仮想計算機にI10チャネルが占
有さね、かつ該I10チャネルに現走行仮想計算機から
I10命令が発行されたとき、I10命令実行回路で上
記■10命令を実行し、上記以外のI10チャネルに■
10命令が発行されたときは該I10命令の処理を仮想
計算機の管理プログラム(VMCP)に委ねることに特
徴がある。
In order to achieve the above object, the virtual computer system of the present invention is a virtual computer system in which one or a number of operating systems are run under one actual machine, in which a virtual machine currently running is When the I10 channel is not occupied and an I10 instruction is issued from the currently running virtual machine to the I10 channel, the I10 instruction execution circuit executes the above ■10 instruction, and the I10 channel other than the above is
The feature is that when the I10 instruction is issued, the processing of the I10 instruction is entrusted to the virtual machine management program (VMCP).

[発明のJて地側] 以下、本発明の実施例を、図面により説明する。[J side of the invention] Embodiments of the present invention will be described below with reference to the drawings.

第5図は、本発明の一実紬例を示すI10命令実行回路
の図であり、第9図(]、) 12)は第5図の動作フ
ローチャートである。
FIG. 5 is a diagram of an I10 instruction execution circuit showing an example of the present invention, and FIG. 9(], ) 12) is an operation flowchart of FIG.

第5図に示すように、f10命令実行回路はハードウェ
アにより構成される。
As shown in FIG. 5, the f10 instruction execution circuit is configured by hardware.

従来より設けられているI10命令レジスタ1000、
、I10¥行回路2300,2400.PSWレジスタ
5200.判定回路5300、プログラムv111込回
路5400の外に、仮想チャネル・マスク・レジスタ1
100 、 (/i、1f41r換レジスタ1200、
ブレフイクス・レジスタ140Q、1500、および選
択回路1900を新たに設ける。
A conventionally provided I10 instruction register 1000,
, I10\ row circuit 2300, 2400. PSW register 5200. In addition to the judgment circuit 5300 and the circuit including program v111 5400, there is a virtual channel mask register 1.
100, (/i, 1f41r exchange register 1200,
Breakfix registers 140Q, 1500 and selection circuit 1900 are newly provided.

I10命令がデコードされると、従来と同じように、I
10コードおよびチャネル番号C、デバイス・アドレス
Uがレジスタ]、 、000に設定さJする(第91図
(1)のステップ]、)。
When the I10 instruction is decoded, I
10 code, channel number C, and device address U are set to 000 (step of FIG. 91 (1)).

第7図(a) (b) (c) (d)は、それぞれ、
仮想チャネルマスク・レジスタ1100.仮想変換1/
 シスタ120o、実チヤネルマスク・レジスタ610
0.実変換レジスタ6200の構成を示す図である。
Figures 7(a), (b), (c), and (d) are, respectively,
Virtual channel mask register 1100. Virtual conversion 1/
Sister 120o, real channel mask register 610
0. 6 is a diagram showing the configuration of an actual conversion register 6200. FIG.

第7図の各レジスタの下方の数字o・・・・・n・・・
・・・31は仮想チャネル番号(a)(b)または実チ
ヤネル番号(C)(d)である。
The numbers below each register in Figure 7 are o...n...
...31 is the virtual channel number (a) (b) or the real channel number (C) (d).

仮想チャネルマスク・レジスタ1100は、32ビツト
より構成され、現走行V Mのチャネルの状態を表71
つしている。ピッ)nの値in がOのときは、仮想チ
ャネルnに対応する実チャネルを現走行V Mが占有し
ていることを表わす。また、仮想変換レジスタ1200
は現走行VMの仮想チャネルnに対応する実チヤネル番
号Cを夢わしており、lエントリが1バイト、全体で3
2バイトの長さを備えている。仮想チャネルマスク・レ
ジスタ1100、[想変換レジスタ1200は、現走行
VMがVMCPにより起動されたときに初期設定される
The virtual channel mask register 1100 is composed of 32 bits and indicates the state of the channel of the currently running VM in Table 71.
It's on. B) When the value in of n is O, it means that the current running VM occupies the real channel corresponding to virtual channel n. In addition, the virtual conversion register 1200
is dreaming of a real channel number C corresponding to the virtual channel n of the currently running VM, the l entry is 1 byte, and the total number is 3.
It has a length of 2 bytes. The virtual channel mask register 1100 and virtual conversion register 1200 are initialized when the currently running VM is activated by the VMCP.

さて、第5図において、レジスタ1000に設定された
チャネル番号C(仮想チャネル番号と呼ぶ)に対応する
仮想チャネルマスク・ビットが、仮想チャネルマスク・
レジスタ1100より取り出されて、ラッチ1600に
セットされる(ステップ2)。なお、ラッチ1600の
値1が°°0”のときは、仮想チャネルCvが現走行中
VMに占有さねていることを表わす。また、仮想チャネ
ルマスク・レジスタ1100は、VMCPにより設定さ
れている。
Now, in FIG. 5, the virtual channel mask bit corresponding to the channel number C (referred to as virtual channel number) set in register 1000 is the virtual channel mask bit.
It is taken out from register 1100 and set in latch 1600 (step 2). Note that when the value 1 of the latch 1600 is °°0'', it indicates that the virtual channel Cv is not occupied by the currently running VM.Furthermore, the virtual channel mask register 1100 is set by the VMCP. .

次に、同じようにして、仮想チャネル番号cvに対応す
る実チヤネル番号Crが、仮想変換レジスタ1200よ
り取り出さねて、レジスタ1700′こ設定される(ス
テップ3)。ここで、仮想変換レジスタ1200は、V
MCPにより設定されている。仮想チャネル番号Cv1
実チャネル番号Crが選択回路1900に送られると、
選択回路1900はCvまたはCrのいずれかを選択し
てレジスタ21OOに送710AND回路2600は、
ラッチ(H)1300が°′l”で、かつラッチ160
0がu OT+のとき、ずなわち、高速VMモード(ラ
ッチt() 1300が°’1”)で、がっ現走行VM
に占有化されたチャネル(ラッチ1600カケo″)の
ときのみ、線42ooに°l”を出力して、選択回路1
900に実チヤネル番号Cを選択させる(ステップ4,
5.6)。なお、ステップ5では高速VMモードで、か
つ占有チャネルのときのみ、II I IIが出力され
る。また、ステップ6では、共有チャネルのIlo、V
MCPのIloのときは、ゲー)2600の出力は′0
″となる。このときは変換をせずに、C,rを用いる。
Next, in the same manner, the real channel number Cr corresponding to the virtual channel number cv is taken out from the virtual conversion register 1200 and set in the register 1700' (step 3). Here, the virtual translation register 1200 is V
Set by MCP. Virtual channel number Cv1
When the real channel number Cr is sent to the selection circuit 1900,
The selection circuit 1900 selects either Cv or Cr and sends it to the register 21OO 710AND circuit 2600
Latch (H) 1300 is °′l” and latch 160
When 0 is uOT+, that is, in high-speed VM mode (latch t() 1300 is °'1"), the current running VM
Only when the channel is occupied (latch 1,600 pieces o''), °l'' is output to the line 42oo, and the selection circuit 1
900 to select real channel number C (step 4,
5.6). Note that in step 5, II II II is output only in the high-speed VM mode and when the channel is an occupied channel. Also, in step 6, Ilo, V of the shared channel
When Ilo of MCP, the output of game) 2600 is '0
''. In this case, C and r are used without conversion.

以、ヒの動作は、高速■Mモードのとき、占有チャネル
に対するIloが、ハードウェアによりそのチャネル番
号が仮想から実に変換されるごとを意味している。
Hereinafter, operation H means that in the high-speed ■M mode, each time Ilo for an occupied channel is converted from virtual to actual channel number by hardware.

レジスタ2100には、選択されたチャネル番号C,レ
ジスタ1000内のデバイス・アドレスUが設定される
(ステップ7)。そのI10アドレスは、I10正常処
理回路2300またはI10例外処理回路2400に入
力される(ステップ8)。
The selected channel number C and the device address U in the register 1000 are set in the register 2100 (step 7). The I10 address is input to the I10 normal processing circuit 2300 or the I10 exception processing circuit 2400 (step 8).

判定回路5300の出力により、■10正常回路230
0またはI10例外処理2400.またはプログラム割
込回路5400のいずれか1つが選択されて、起動され
る(ステップ9)。
Based on the output of the determination circuit 5300, ■10 normal circuit 230
0 or I10 exception handling 2400. Alternatively, one of the program interrupt circuits 5400 is selected and activated (step 9).

第6図は、第5図の判定回路の論理回路図である。FIG. 6 is a logic circuit diagram of the determination circuit of FIG. 5.

レジスタ(PSW)5200には、CPUのPSWが設
定されており、またそのPビットがP−oのときCPU
は特権状態にあり、P−1のときCPUは非特権状謔に
ある。I10命令等の特権命令は、CPUが特権状態、
つまりP−00ときのみ実行可能であるように制御され
る。したかって、P=1のときは、線5300−3ニl
t”l”が出力され、プログラム割込回路5400が起
動される(ステップ11)。なお、p−1はProb/
am Modeを意味し、このときI10命令は特権命
令例外とする。
The CPU PSW is set in the register (PSW) 5200, and when the P bit is P-o, the CPU
is in a privileged state, and when P-1, the CPU is in an unprivileged state. Privileged instructions such as I10 instructions are executed when the CPU is in a privileged state.
In other words, it is controlled to be executable only at P-00. Therefore, when P=1, the line 5300-3 ni
t"l" is output, and the program interrupt circuit 5400 is activated (step 11). Note that p-1 is Prob/
It means am Mode, and in this case, the I10 instruction is treated as a privileged instruction exception.

次に、P−00とき、ラッチ1300の値I(が”0゛
′、つまり高速VMモードでないときは、I10正常処
理2300を起動するために、信号線2300−1に信
号“I IIが出る(ステップ12)。
Next, at P-00, when the value I of the latch 1300 is "0", that is, when it is not the high-speed VM mode, the signal "I II" is output to the signal line 2300-1 in order to start the I10 normal processing 2300. (Step 12).

ラッチ1300の値H−Qは、実計算機モードまたけ一
般VMの場合で、このときは、線5100に”0”が出
力されて、プレフイクス・レジ長身1500が選択され
る。
The value H-Q of the latch 1300 is in the case of a general VM spanning the real computer mode, and in this case, "0" is output to the line 5100 and the prefix/register height 1500 is selected.

次に、高速V Mモードのときは、PSA変更要求フラ
グ2200の値Cにより、C0−0のときにはI10正
常処理2300を起動するために、信号線5300−1
に信号II I 11を出す(ステップ13)。このと
き°は、線5100に”]−パが出力さね、ブレフイク
ス・レジスタ1400 (例えば、カレントVMのプレ
フイクス・レジスタ)が選択され、実効ブレフイクス・
レジスタ1800に設定される。
Next, in the high-speed VM mode, the value C of the PSA change request flag 2200 causes the signal line 5300-1
A signal II I 11 is issued to (step 13). At this time, ``]-pa is output on line 5100, the breffix register 1400 (for example, the prefix register of the current VM) is selected, and the effective breffix register 1400 is selected.
It is set in register 1800.

次じ、Co=1のときは、PSA変更があるので、I1
0例外処理2400を起動するために、信号&−if 
5300−2に信号”1′″を出す(ステップ14)。
Next, when Co=1, there is a PSA change, so I1
0 exception handling 2400, the signal &-if
A signal "1'" is output to 5300-2 (step 14).

このときは、@5100に0′″が出力され、ブレフイ
クス・レジスタ1500 (例えばVMCPのプレフイ
クス・レジスタ)が選択される。
At this time, 0'' is output to @5100, and the prefix register 1500 (for example, the prefix register of VMCP) is selected.

さて、I10正常処理2300およびI10例夕1処理
2400には、線4300から実効プレフイクス・レジ
スタ1800の内容が送られてきており、その内容をP
SAのアドレスとして該当処理が行われる。実効プレフ
イクス・レジスタ1800の内容は、ANDゲー)20
00の出力5工00の値により選択される。すなわち、
高、7VMモード1300の値Hが”1’”で、かつP
SA変更要求フラグ2200の値C6がII OIIの
ときのみ、線5100に1“′が出力され、そのとき、
現走行VMのプレフイクス1400の内容が選択され、
実効ブレフィクス・レジスタ1800に設定される。こ
のときは、前に説明したとおり、判定回路5300から
は、cpuがギト権状態のとき、線5300−1を介し
て■10正常回路2300に起動信号が出される。I1
0正常回路2300は、線イδOoを経由してI10チ
ャネル2500に起動信号とともに、線4300より送
られてきた実効ブレフイクス・レジスタ1800の内容
を送る。これに」:す、I10チャネル2500は、指
定されたPSAのアドレス全レジスタ2501に記憶す
る。上記の場合は、現走行VMのPSAを示すことにな
るので、現走行V M 17)P S A内のCAWよ
り仮想CCWを取り出して、順次実行していく。このと
き、CAWの内容および仮想CCWのデータ・アドレス
は、第2図の常駐領域内相対アドレスで表わされている
が、その領域先頭アドレスαは、この1.70チヤネル
2500の現走行■Mによる占有を指定したとき、また
は、このI10命令発行時に指定さね2.この■10チ
ャネル2500により記憶さねているものとする。なお
、先頭フドレスαの転送およびI10チャネルによるα
の記憶は、従来と同じ技術により行われるので、I10
チャネル2500の中にレジスタ2502として示すが
、結線は省略する。
Now, the contents of the effective prefix register 1800 are sent from the line 4300 to the I10 normal processing 2300 and the I10 example 1 processing 2400.
The corresponding processing is performed as the SA address. The contents of the effective prefix register 1800 are AND game) 20
Output of 00 5 Selected by the value of 00. That is,
High, 7VM mode 1300 value H is “1’” and P
Only when the value C6 of the SA change request flag 2200 is II OII, 1"' is output to the line 5100, and at that time,
The contents of prefix 1400 of the currently running VM are selected,
Set in effective brefix register 1800. At this time, as described above, when the CPU is in the right state, the determination circuit 5300 outputs an activation signal to the 10 normal circuit 2300 via the line 5300-1. I1
The 0 normal circuit 2300 sends the contents of the effective brake register 1800 sent from the line 4300 along with the activation signal to the I10 channel 2500 via the line δOo. In this case, the I10 channel 2500 stores the address of the specified PSA in the full register 2501. In the above case, the PSA of the current running VM is shown, so the virtual CCW is extracted from the CAW in the current running VM 17) PSA and executed sequentially. At this time, the content of the CAW and the data address of the virtual CCW are expressed as relative addresses within the resident area in FIG. 2. It is assumed that this (1) 10 channels 2500 are used for storage. In addition, the transfer of the leading address α and the transmission of α by the I10 channel
is stored using the same technology as before, so I10
It is shown as a register 2502 in the channel 2500, but the connections are omitted.

実計算機モードの場合には、高速V Mモード・フラグ
1300のイ直Hが0″であり、このときは、プレフイ
クス・レジスタ1500の内容が選択さね、I10正常
回路2300に起動がかかり、従来の実用算機モードに
おける処理が保証さ1+る。
In the case of the real computer mode, the high-speed VM mode flag 1300 is 0'', and in this case, the contents of the prefix register 1500 are not selected, the I10 normal circuit 2300 is activated, and the conventional Processing in practical computer mode is guaranteed.

以1−.目、I10命令の処理であるが、\l = r
tのV Mおよび′尉助gVM)のO8からの■10命
令を直接実行することができる。また、V−Vの非常駐
v Ni上のOSからのIloは、高ジ【\1Mモード
オフ、′1なわち、ラッチ]、 300の値I−1を”
0“′とし、かつJト特権モード(即ちPSW5200
のI〕ビットの値が]−)で走行させるので、VMCP
へ1.1!J1出し、従来と同じ<、VMCPによりシ
ミュし2−ジョンされる。
Below 1-. Second, for the processing of the I10 instruction, \l = r
It is possible to directly execute the 10 commands from the O8 of the VM and the VM of t. Also, the Ilo from the OS on the non-resident v Ni of V-V is high [\1M mode off, '1, i.e., latch], and the value I-1 of 300.
0"' and in privileged mode (i.e. PSW5200
Since the value of the I] bit is ]-), the VMCP
To 1.1! J1 is output and simulated by VMCP as before.

次に、第5図、第9図α)において、仮想チャネル・マ
スクレジスタ1600が+ 111、すなわち現走行V
Mの占有チャネルでないチャネルに対するIloの場合
は、判定回路5300からの起動信7; 、5300−
2により、I10例外処理2400が1節)される(ス
テップ21)。このとき、■10例々1処理2400に
は、レジスタ2100よりI10アドレスCv U s
 線4300よりVNうCPのブレフイクス・レジスタ
:+−800の内容が入力される(ステップ22)。以
上二の値をバー)゛ウニ了・ワークレジスタに設定して
、I10例外処理24−00のマイクロプログラム処理
にブレークイン舅Z+ (ステップ23)。I10例外
処理2400内のマイクロプログラムは、セットされた
入力、、、つ、−ヶを利用して、VMCPに割込むこと
もできるとともに、V M CPのめ当な場所に制御を
浪ずこともT@る(ステップ24)。V+\4 CP 
ty)i(、’a当′/rii、%所に一制御を渡すに
は、■MCI)によ1・)マイクロプログラムとのイ〉
・タフ1−ス情報を七ツトしておく必要がある。
Next, in FIGS. 5 and 9 α), the virtual channel mask register 1600 is +111, that is, the current running V
In the case of Ilo for a channel that is not an occupied channel of M, activation signal 7 from determination circuit 5300; , 5300-
2, the I10 exception handling 2400 (section 1) is performed (step 21). At this time, in the 10 example 1 process 2400, the I10 address Cv U s is input from the register 2100.
The contents of the VN-CP brake register: +-800 are input from line 4300 (step 22). Set the above two values in the work register and break into the microprogram processing of I10 exception handling 24-00 (step 23). The microprogram in the I10 exception handler 2400 can also use the set inputs to interrupt the VMCP, and also not to lose control to a specific location in the VMCP. T@ru (step 24). V+\4 CP
ty) i (, 'a to'/rii, % To pass control to the place, ■MCI) 1.) i〉 with the microprogram
・It is necessary to keep track of tough 1-space information.

以上が、■10命令処理の動作である。The above is the operation of (1) 10 instruction processing.

第6図は、本発明の実施例を示すI10割込み実行回路
の図であり、第10図は第6図の動作フローチャートで
ある。
FIG. 6 is a diagram of an I10 interrupt execution circuit showing an embodiment of the present invention, and FIG. 10 is an operation flowchart of FIG. 6.

第6図に示すように、本発明のf / 0 #II込み
実行回路は、従来より設けられているI10割込回路e
3900.I10割込レジスタ6000の仲に、新しく
、実チャネル・マスク・レジスタ6]OO1実変換レジ
スタ6200.VMのプレフイクス・レジスタ1400
.実効プレフィクス・レジスタ1δOO5選択回路67
00、ラッチ1300等を設けている。
As shown in FIG. 6, the f/0 #II interrupt execution circuit of the present invention is similar to the conventional I10 interrupt circuit e.
3900. In the I10 interrupt register 6000, there is a new real channel mask register 6]OO1 real conversion register 6200. VM prefix register 1400
.. Effective prefix register 1δOO5 selection circuit 67
00, latch 1300, etc. are provided.

I10チャネル2500より、割込要求信号が線9oo
oを経由してI10割込回路6900に送られる(第1
0図α)のステップ31)。これは、従来の動作と同じ
である。次に、I10割込要求を発行しているI10ア
ドレスCOを、線8゜00を経由してレジスタaooo
にセットする(ステップ32)。ここで、Crは実チヤ
ネル番号、Uは実デバイス番号である。こtlも、従来
の動作と同じである。
An interrupt request signal is sent from I10 channel 2500 to line 9oo.
o to the I10 interrupt circuit 6900 (first
Step 31) in Figure 0 α). This is the same as conventional operation. Next, the I10 address CO that is issuing the I10 interrupt request is sent to the register aooo via the line 8°00.
(step 32). Here, Cr is a real channel number and U is a real device number. This tl is also the same as the conventional operation.

本発明により新しくRけられた実チヤネルマスク・レジ
スタ6100と、実変換レジスタ6200を、第7図(
c) (d)により説明する。
FIG. 7 (
c) Explained by (d).

これらのレジスタ6100.6200は、現定行VMを
起動したときに、VMCPにより設定さねているもので
ある。実チャネル・マスク・レジスタ6100は32ビ
ツトよりなり、名ビットの下の数字は実チヤネル番号を
示している。ビットnの値搗がOのとき、実チャネルn
が現走行Vへ・1に占有されていることを表わす。また
、実変換レジスタ6200は、]エントリが1バイトで
32バイトよりなり、nバイト目の値Cは、実チャネル
nが現走行VMの仮想チャネルCに対応することを示し
ている。
These registers 6100 and 6200 are not set by the VMCP when the current VM is started. The real channel mask register 6100 consists of 32 bits, and the number below the name bit indicates the real channel number. When the value of bit n is O, the real channel n
indicates that the current running V is occupied by 1. In addition, the real conversion register 6200 has an entry of 1 byte and 32 bytes, and the value C of the n-th byte indicates that the real channel n corresponds to the virtual channel C of the currently running VM.

さて、実チャネル・マスク・レジスタ6100より実チ
ヤネル番号Crに対応したマスク1を取り出し、ラッチ
6300にセットする(ステップ33)。
Now, mask 1 corresponding to the real channel number Cr is taken out from the real channel mask register 6100 and set in the latch 6300 (step 33).

ここで、マスク1−0のときは、実チャネルCrが現走
行中V Mに占有さねていることを表わしている。次に
、前と同じようにして、実変換レジスタ6200より、
実チヤネル番号Crに対応した仮想チャネル査@Cvを
取り出し、レジスタ6400にセットする(ステップ3
4)。なお、前述のように、レジスタ6’lO0,62
00の内容は、VMCPによってセットされている。
Here, when the mask is 1-0, it indicates that the real channel Cr is not occupied by the VM currently running. Next, in the same way as before, from the actual conversion register 6200,
Take out the virtual channel check @Cv corresponding to the real channel number Cr and set it in the register 6400 (step 3
4). In addition, as mentioned above, register 6'lO0, 62
The contents of 00 are set by VMCP.

実チヤネル番号Cr、仮想チャネル番号Cvが選択回路
6700に送られ、線8300からの入力の値が°゛1
”のとき、Cvを選択し、”O″′のときCを選択する
(ステップ35)。ANDゲート7700の出力830
0は、高速VMモード(ラッチ1300の値H−1)で
、かつ現走行VMの占有チャネルの場合(ラッチ630
0の1゛直1−0の場合)だけ°′]′″となる。選択
回路6700により選択されたチャネル番号C5および
レジスタ6000の装置アドレスUが、レジスタ680
0に設定される(ステップ36)。以上の動作は、高速
VMモードで、かっ古筆チャネルのとき、ハードウェア
により自動的に実から仮想へのチャネル番号の変換が行
われることを意味している。
The real channel number Cr and the virtual channel number Cv are sent to the selection circuit 6700, and the value of the input from the line 8300 becomes °゛1.
”, select Cv, and when “O”, select C (step 35). Output 830 of AND gate 7700
0 is the high-speed VM mode (value H-1 of latch 1300) and is an occupied channel of the currently running VM (latch 630
The channel number C5 selected by the selection circuit 6700 and the device address U of the register 6000 are stored in the register 680.
is set to 0 (step 36). The above operation means that in the high-speed VM mode, in the case of a Kakko-hide channel, the channel number is automatically converted from real to virtual by hardware.

レジスタ6800の値は、■10割込回路6900に入
力される。■10割込回路6900には、線69007
1より適切なプレフイクス・レジスタの値がP S A
アドレスとして入力されている(ステップ37)。
The value of the register 6800 is input to the 10 interrupt circuit 6900. ■10 interrupt circuit 6900 has line 69007
The value of the prefix register that is more suitable than 1 is PSA
It has been input as an address (step 37).

以下、第10図(4)によりI10割込回路6900に
対し、線6900−1を介して入力される実効プレフイ
クス・レジスタ1800の値について説明する。
The value of effective prefix register 1800 input to I10 interrupt circuit 6900 via line 6900-1 will be described below with reference to FIG. 10(4).

PSA変更要求フラグ6500の値C0がO″′(1)
 S A変更要なしの意味)で、かつ高速V Mモード
・フラグ1300が′l″゛(現走行VMが高速VMモ
ードである意味)のときのみ、ANDゲー)6600の
出力が”1°′となり (ステップ73)、現走行VM
のプl/フィクス・レジスタ1400がイヘ択され(ス
テップ74)、その内容が実効ブレフイクス・レジスタ
l 800に格納される(ステップ75)。
The value C0 of the PSA change request flag 6500 is O''' (1)
Only when the high-speed VM mode flag 1300 is ``1'' (meaning that the current running VM is in the high-speed VM mode), the output of the AND game 6600 is ``1°''. Next (step 73), the current running VM
The print/fix register 1400 of is selected (step 74) and its contents are stored in the effective fix register 800 (step 75).

上記以外の場合には、A N Dゲー)6600の出力
は′0′”となり(ステップ7]、、72) 、CPの
プレフイクス・レジスタ1500が選択され、その内容
が実効プレフイクス・レジスタ1800に格納される。
In cases other than the above, the output of the AAND game) 6600 becomes '0' (steps 7], 72), the prefix register 1500 of the CP is selected, and its contents are stored in the effective prefix register 1800. be done.

選択された実効プレフイクスのアドレスは、I10割込
回路6900に送られる(ステップ76)。なお、VM
のプレフイクス・レジスタ1400の値は、■M起動時
、VMCPによりセットされる。また、CPのブレフィ
クス・レジスタ1500の値は、VMCPの初期設定の
ときに設定さね、通常、変更はなされない。
The address of the selected effective prefix is sent to I10 interrupt circuit 6900 (step 76). In addition, VM
The value of the prefix register 1400 is set by VMCP when ①M starts up. Further, the value of the CP's brefix register 1500 is set during initialization of the VMCP and is normally not changed.

さて、第10図(1)に戻り、I10割込回路6900
は、レジスタ6δOOより入力される■10アト°レス
CU、線6900−1より入力される実効プレフイクス
・アドレスを用いて、割込み処理を行うが、その処理は
従来と全く同じである(ステップ38)。M8900−
1からの入力が1′″の場合は、現走行VMのブレフイ
クスヘ割込みを反映することとなるが、現走行VMが割
込不可能の場合は、I10割込回路6900の割込処理
用マイクロプログラムにブレークインが発生せず、I1
0チャネル2500からの割込要求信号は、線9000
上で出されたまま継でとなり、CPU側は何ら割込み動
作を発生せず、処理を続行する。
Now, returning to FIG. 10 (1), the I10 interrupt circuit 6900
performs interrupt processing using the ■10 address CU input from register 6δOO and the effective prefix address input from line 6900-1, but the processing is exactly the same as the conventional one (step 38). . M8900-
If the input from 1 is 1'', the interrupt will be reflected in the current running VM's brake fix, but if the current running VM cannot be interrupted, the interrupt processing microprogram of the I10 interrupt circuit 6900 will be reflected. No break-in occurs in I1
The interrupt request signal from channel 2500 is routed to line 9000.
This is a continuation of what was issued above, and the CPU side continues processing without generating any interrupt operations.

現走行VMの割込み可能性は、従来のとおり、現PSW
のI10マスクおよび制御レジスタCR2の該当チャネ
ル・マスクにより判断される。
As before, the interrupt possibility of the currently running VM is determined by the current PSW.
is determined by the I10 mask of and the corresponding channel mask of control register CR2.

門速VMモード(ラッチ1300の値H−1)のとき、
現P S Wには、現走行V MのPSWが設定さね、
かつ現走行VMの専有チャネル・マスクが実制御レジス
タCR2の該当部分に設定されている。共有チャネルに
該当する実制御レジスタCFL2の該当マスクは、常に
°゛1′′(割込可能)であり、他のVMの専有チャネ
ルについての実制御レジスタCR2の該当マスクはすべ
て60″または、専有光V M O) CR2の値と該
VMのPSWのI10マスクとの論理積を設定すること
ができる。現PSWの値、および実制御レジスタCR2
の値は、VM起動時、VM、CPにより設定される。
When in gate speed VM mode (value H-1 of latch 1300),
The current PSW is set to the PSW of the currently running VM.
In addition, the exclusive channel mask of the currently running VM is set in the corresponding part of the real control register CR2. The corresponding mask of the real control register CFL2 corresponding to the shared channel is always °゛1'' (interruptible), and the corresponding mask of the real control register CR2 for the exclusive channels of other VMs are all 60'' or exclusive It is possible to set the AND of the value of CR2 and the I10 mask of the PSW of the VM.The value of the current PSW and the actual control register CR2
The value of is set by the VM and CP when the VM is started.

このようにして、r10割込回路690C)は、I10
マスクを判断し、割込み可能のとき割込処9i jT4
 マイクロプログラムにブレークインする(ステップ3
9)。そして、I、10割込回路6900内のマイクロ
プログラムは、従来どおり与えられたプレフイクスヘシ
p1込みを反映−する (ステップ40)。
In this way, the r10 interrupt circuit 690C)
Determine the mask, and if interrupts are possible, interrupt processing 9i jT4
Break into the microprogram (step 3)
9). The microprogram in the I, 10 interrupt circuit 6900 then reflects the given prefix hesi p1 in the conventional manner (step 40).

線8900−1からの入力が°゛O°′のときは、MM
CPのルフィクスへ割込みを反映し、線8900−1か
らの入力が”]、″のときは、VMのブレフイクスへの
割込み反映を行うことばなる(ステップ4]、)。
When the input from line 8900-1 is °゛O°', MM
When the input from the line 8900-1 is "]", the interrupt is reflected to the CP lexicus (step 4).

MMCPへ割込みを反映した場合は、現PSW52oO
へ%PSWをロー)−後、Ii 9200 、J: t
)ラッチ65oOのC□、ラッチ1300のHを”OI
+にリセットして、処理を完了する(ステップ42)。
When reflecting the interrupt to MMCP, the current PSW52oO
%PSW to low) - after, Ii 9200, J: t
)C□ of latch 65oO, H of latch 1300
It is reset to + and the process is completed (step 42).

さて、VMへ割込みを反映する場合は、現PSW520
0に現走行VMのI10新PSWがロードされるが、そ
の後、m9’200よりラッチ6500を°゛O′″に
リセットする(ステップ43)。高速VMモード・ラッ
チ1300は、1”のままである。現P S W 52
00 km新pswがセットさねた後、高速V tJモ
ードがl゛′のときは、さらにVMCP−ahll 7
600の割込みが起動される可能性がある(ステップ4
4.4−5)。
Now, if you want to reflect interrupts to VM, use the current PSW520.
0 is loaded with the new I10 PSW of the currently running VM, but after that, m9'200 resets the latch 6500 to °゛O''' (step 43).The high-speed VM mode latch 1300 remains at 1''. be. Current PSW 52
00 km After the new psw fails to set, if the high speed V tJ mode is l', then VMCP-ahll 7
600 interrupts may be triggered (step 4
4.4-5).

現走行■MのPSAへ割込み反映後、高速VMモード・
ラッチ1300が”1″のときは、さらに次の処理が行
われる。
Current running ■After reflecting the interrupt to M's PSA, high-speed VM mode/
When the latch 1300 is "1", the following processing is further performed.

PSW5200のビットW −、1(Wait )のと
きCは、OR回路7400の出力が”111となり、線
9700に”°l″が出力される(ステップ52)。
When bit W - of PSW 5200 is 1 (Wait), the output of OR circuit 7400 becomes "111" and "°l" is output to line 9700 (step 52).

この場合、P3′W52.OOの中には、VMの■10
新PSWがセットされている(ステップ51)。
In this case, P3'W52. Inside OO, there are VM ■10
A new PSW is set (step 51).

ラッチ7000には、現走行VMのI10保留ビットが
セットされており、ラッチ7100には、現走行VMの
外部割込み保留ビットがセットされている(ステップ5
3.54)。これら2つのラツ+7000.7100は
、vM起動時、VMCPにより設定される。ランチ70
00が”l”ということは、現走行VMのI10割込み
保留で、現走行V Mのチャネルマスク・レジスタCR
2に関して割込み可爺なものが存在することを意味して
いる。また、ランチ7100が1″ということは、現走
行VMの9I部割込み保留で、現走行VMの外部割込み
サブマスクCFtOの該当ビットに関して、割込み可能
なものが存在することを意味する。
The latch 7000 has the I10 pending bit of the currently running VM set, and the latch 7100 has the external interrupt pending bit of the currently running VM set (step 5).
3.54). These two numbers +7000.7100 are set by VMCP when starting the vM. Lunch 70
00 is "l" means that the current running VM's I10 interrupt is pending, and the channel mask register CR of the current running VM is pending.
2 means that there is something that can be interrupted. Further, the fact that the launch 7100 is 1'' means that the 9I section interrupt of the current running VM is pending and that there is an interrupt possible with respect to the corresponding bit of the external interrupt submask CFtO of the current running VM.

次に、P S W 5200の外部割込みマスク(E)
と、ラッチ7100の値がともに°1′′のとき、AN
Dゲート7300の出力が]”となり、したがってOR
回路7400の出力が“°1″となる(ステップ55)
Next, PSW 5200 external interrupt mask (E)
and the value of latch 7100 are both °1'', AN
The output of D gate 7300 is ]”, therefore OR
The output of the circuit 7400 becomes “°1” (step 55)
.

OR回路7400の出力が°゛1″でかつ、高速■Mモ
ード・ラッチ1300が”111のとき、ANDゲー)
7500の出力はI :+−I+となり、VMCP −
chll 割込回路7600が起動される(ステップ5
6.57) 。VMCP−cait ?JJ込回路は、
プレフイクス・アドレスとしで、VMCPのプレフイク
ス・レジスタ1500の内容を選択し、使用する(ステ
ップ56)。ずなわち、VMCPのPSAへ割込みを反
映し、その後、線9200−1゜9200−2を経由し
てラッチ6500 C□ 、ラッチ13001(を”O
′”にリセットする(ステ゛ノブ59.60)。
When the output of the OR circuit 7400 is ``1'' and the high-speed M mode latch 1300 is ``111'', the AND game)
The output of 7500 is I:+-I+, and VMCP-
chll interrupt circuit 7600 is activated (step 5
6.57). VMCP-cait? The circuit including JJ is
The contents of the VMCP's prefix register 1500 are selected and used as the prefix address (step 56). That is, the interrupt is reflected in the PSA of VMCP, and then the latch 6500 C□ and latch 13001 (
’” (step knobs 59 and 60).

この後、制御はVMCPに渡り、VMC’Pにより1制
込み保留解除処理が行われる(ステップ61)。
Thereafter, control is transferred to VMCP, and VMC'P performs 1-restriction hold release processing (step 61).

以上の処理によって、VM上のO8のI10割込み処理
は、VMCPの介入によらずに、ノ1−ドウエアレこよ
り直接実行きねることになる。
As a result of the above processing, the I10 interrupt processing of O8 on the VM can be executed directly from the node 1-dware without intervention of the VMCP.

なお、第5図、第6図の実施例においては、仮想チャネ
ル番号と実チヤネル番号との間の相互変換機能を含も形
で示したが、V M、Sの運用において、両者が等しい
という使用制限を置けば、その変換機能は不要となる。
Note that in the embodiments shown in FIGS. 5 and 6, the mutual conversion function between the virtual channel number and the real channel number is shown implicitly, but in the operation of VM and S, it is assumed that the two are equal. If usage restrictions are placed, the conversion function becomes unnecessary.

したがって、仮想変換レジスタ1200 % 実変換レ
ジスタ6200は不要となり、回路は簡単化される。
Therefore, the virtual conversion register 1200% and the real conversion register 6200 are unnecessary, and the circuit is simplified.

〔発明の効果) 以上説明したように、本発明によれば、I10命令命令
間路とI10割込実行回路をノ・−ドウエアで構成し、
VMCPの制御によらずノ・−ト°ウェアの制御で直接
実行するので、110シミユレーシヨン・オーバヘッド
を削減して、■MSIy)高性能化を図ることができる
[Effects of the Invention] As explained above, according to the present invention, the I10 instruction path and the I10 interrupt execution circuit are configured by hardware,
Since it is executed directly under the control of the software without the control of the VMCP, the 110 simulation overhead can be reduced, and MSIy) high performance can be achieved.

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

第1図は一般の仮想計算機システムの概略(シ1、第2
図はv、1図の主記憶装置のVMの割当て方法を示す図
、争3図はVMSにおけるI10シミュレーションを示
す図、第4図はプレフイクス(PSA)の構成図、第5
図は本発明の実施例を示すI10命令命令間路の構成図
、第6図は本発明の実施例を示ずl10111込み実行
回路の構成図、第7図は第5図、第6図に用いるレジス
タの構成図、第8図は塩5図の判定回路の論理接続図、
第9図は笥5図の討1作フローチャート、第10図は第
6図の動作フローチャートである。 100 : CPU、200 :実主記憶装置、300
:チャネル装置、4oo二人出力装置、500−1.5
00−2,500−3:仮想計算機(VM’)、100
0 : I10命令L/ シスタ、1100:仮想チャ
ネル・マスク・レジスタ、1200:仮想変換レジスタ
、1300:高、JVMモード・レジスタ、1400:
現走行■Mブレフイクス・レジスタ、1500 : V
MCPのプレフイクス・レジスタ、6100 :実チャ
ネル・マスク・レジスタ、6200:実変換レジスタ、
5300 :判定回路、6900:I10割込回路、2
300 :110実行正常処理回路、2400 : I
10実行例外処理回路、506−10,500−20.
5oo−3o:仮想CPU、即ちVMのCPU、、50
0−1.1,500−21.500−31 :VMの主
記憶装置(一般には仮想主記憶装置)。 特許出願人 株式会社 日立11i9作所代 埋 人 
弁理士 磯 村 雅 棲 \・ ゝ、l−− 第7図 1100 200 0 1 、、、、、、、 n 、、、、、、、 312
00 012・・・n申・・申・・・31 第 8 図 1)SW5200 第 9 図 (1) 第 9 図(2) 第 10 1/II込みの動作 図(1) 第 ] O 図 シ) 小 ]0 図(3) 第 10 図(4)
Figure 1 shows an outline of a general virtual computer system (Si 1, 2
Figure 1 shows the method of allocating VMs in the main storage device, Figure 3 shows the I10 simulation in VMS, Figure 4 shows the configuration of the prefix (PSA), Figure 5
The figure is a block diagram of the I10 instruction path showing an embodiment of the present invention, FIG. 6 is a block diagram of the l10111-inclusive execution circuit, not showing the embodiment of the present invention, and FIG. 7 is the same as that of FIGS. A configuration diagram of the registers used, Figure 8 is a logical connection diagram of the judgment circuit in Figure 5,
FIG. 9 is a flowchart of the operation of FIG. 5, and FIG. 10 is a flowchart of the operation of FIG. 100: CPU, 200: Real main storage, 300
: Channel device, 4oo two-person output device, 500-1.5
00-2,500-3: Virtual machine (VM'), 100
0: I10 Instruction L/Sister, 1100: Virtual Channel Mask Register, 1200: Virtual Translation Register, 1300: High, JVM Mode Register, 1400:
Current running ■M brake fix register, 1500: V
MCP prefix register, 6100: real channel mask register, 6200: real conversion register,
5300: Judgment circuit, 6900: I10 interrupt circuit, 2
300: 110 normal execution processing circuit, 2400: I
10 execution exception handling circuit, 506-10, 500-20.
5oo-3o: Virtual CPU, i.e. VM CPU, 50
0-1.1,500-21.500-31: VM main storage (generally virtual main storage). Patent applicant: Hitachi 11i9 Manufacturing Co., Ltd.
Patent Attorney Masa Isomura\・ ゝ、l-- Figure 7 1100 200 0 1 、、、、、、、n 、、、、、、、 312
00 012...n application...31 Fig. 8 1) SW5200 Fig. 9 (1) Fig. 9 (2) Fig. 10 Operation diagram including 1/II (1) ] O Fig. C) Small ]0 Figure (3) Figure 10 (4)

Claims (1)

【特許請求の範囲】 σ)1台の実計算機の下で、1個ないし複数個のオペレ
ーティング・システムを走行させる仮想計算機システム
において、現走行中の仮想計算機にI10チャネルが占
有さね、かつ該I10チャネルに、現走行仮想計算機か
ら17′0命令が発行されたとき、I10命令実行回路
で上記I10命令を実行し、上記以外のI10チャネル
にI10命令が発行されたときは該I10命令の処理を
仮想計算機の管理プログラム(VMCP)に委ネること
を特徴とする仮想計算機システムのI10実行方法。 12)1台の実計算機の下で、1個ないし複数個のオペ
レーティング・システムを走行させる仮想計算機システ
ムにおいて、現走行中の仮想計算機にI10チャネルが
占有され、かつ該I10チャネルに110割込みが発生
したとき、■二記仮想計算機はL記I10割込みが可能
であるとき、該仮想計算機の割込情報格納領域に上記I
10制込みを反映し、ト記占有I10チャネル以外に発
生した110割込みはVMCPのプレフィクスにIIJ
 込trことを特徴とする仮想計算機システムのI10
実行方法。 (3)仮想計穿機が現在走行していることを職別する手
段と、現走行中の仮想計算機[I10チャネルが占有さ
ねているか否かを示す手段と、現走行中の仮想計算機の
プレフィクスのアドレスを記憶する手段と、VMCPの
ブレフィクスのアドレスを記憶する手段と、上記両配憶
手段のいずれか一方を選択する手段と、上記仮想計算機
の走行中に発行されたI10命令が占有I10チャネル
に対して発行されたか否か判断する手段とを有すること
を特徴とする仮想計算機システムのI10実行装置。 (I4)前記判断手段は、現走行中の仮想計算機がr1
0′M込み要求が出されたI10チャネルを占有してい
るか否かを判断するとともに、上記I10チャネルを占
有しているときには、該仮想計算機がF記I10割込み
を行うことができるか否かを判断することを特徴とする
特許請求の範囲第5項記載の仮想計算機システムのI1
0実行装置。 (5)前記I10命令または■101ii511込み要
求を判断する手段は、仮想計算機の示すI10アドレス
の中のI10チャネル・アドレス、または該アドレスに
対応する実計算機におけるI10チャネルアドレスを記
憶し、かつ上記両アドレスを相互に変換することを特徴
とする特許請求の範囲第3項または第4′yi記載の仮
想計算機システムのI10実行装置。 (6)前記110割込みが可能か否かを判断する場合、
現走行中の仮想計算機の110割込み保留の存在と、外
部割込み保留の存在を示す手段を備え、現走行中の仮想
計算/−魂のプレフイクスに」=記■10割込みを反映
した後、現走行中の仮想計算機にI / O割込み保留
が存在し、かつ該計算機が110割込み可能になったと
き、または外8割込み保留が存在し、かつ外部割込み可
能となったとき、または該計算機がウェイト状態となっ
たとき、VMc p y−、va込みを発生ずることを
特徴とする特許請求の範FfJ4第3項、坑4−項また
は第5項記載の仮想計算様システムのI10実行装置。
[Claims] σ) In a virtual computer system in which one or more operating systems are run under one real computer, the I10 channel is not occupied by the currently running virtual computer, and When a 17'0 instruction is issued from the currently running virtual machine to the I10 channel, the I10 instruction execution circuit executes the above I10 instruction, and when an I10 instruction is issued to an I10 channel other than the above, the I10 instruction is processed. 1. A method for executing I10 in a virtual machine system, characterized in that the I10 execution method is entrusted to a virtual machine management program (VMCP). 12) In a virtual computer system that runs one or more operating systems on one real computer, the I10 channel is occupied by the currently running virtual computer, and a 110 interrupt occurs in the I10 channel. When the above I10 interrupt is possible for the virtual machine described in 2, the above I1 is stored in the interrupt information storage area of the virtual machine.
110 interrupts that occur in channels other than the occupied I10 channel are added to the VMCP prefix IIJ.
I10 of a virtual computer system characterized by including
Execution method. (3) A means for identifying whether the virtual machine is currently running, a means for indicating whether or not the I10 channel is occupied, A means for storing a prefix address, a means for storing a VMCP brefix address, a means for selecting one of the above two storage means, and an I10 instruction issued while the virtual machine is running. An I10 execution device for a virtual computer system, comprising: means for determining whether or not an issue has been issued to an I10 channel. (I4) The determining means determines whether the currently running virtual computer is r1.
It is determined whether or not the I10 channel to which the 0'M interrupt request was issued is occupied, and if the I10 channel is occupied, it is determined whether or not the virtual machine can perform the F I10 interrupt. I1 of the virtual computer system according to claim 5, characterized in that
0 execution device. (5) The means for determining the I10 instruction or ■101ii511 inclusion request stores an I10 channel address among the I10 addresses indicated by the virtual machine, or an I10 channel address in the real computer corresponding to the address, and stores both of the above. An I10 execution device for a virtual computer system according to claim 3 or 4'yi, characterized in that addresses are mutually converted. (6) When determining whether or not the 110 interrupt is possible,
Equipped with a means to indicate the existence of a 110 interrupt pending in the currently running virtual machine and the existence of an external interrupt pending, and after reflecting the 10 interrupt in the currently running virtual computer/- soul prefix, When an I/O interrupt is pending in a virtual machine inside and the computer becomes capable of 110 interrupts, or when an external 8 interrupt is pending and becomes capable of external interrupts, or when the computer is in a wait state. An I10 execution device for a virtual calculation-like system as set forth in claim FfJ4 (3), (4) or (5), which generates VMc p y-, va inclusion when .
JP58250362A 1983-12-28 1983-12-28 Method and apparatus for executing input/output of virtual computer system Granted JPS60142429A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP58250362A JPS60142429A (en) 1983-12-28 1983-12-28 Method and apparatus for executing input/output of virtual computer system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP58250362A JPS60142429A (en) 1983-12-28 1983-12-28 Method and apparatus for executing input/output of virtual computer system

Publications (2)

Publication Number Publication Date
JPS60142429A true JPS60142429A (en) 1985-07-27
JPH0567973B2 JPH0567973B2 (en) 1993-09-28

Family

ID=17206790

Family Applications (1)

Application Number Title Priority Date Filing Date
JP58250362A Granted JPS60142429A (en) 1983-12-28 1983-12-28 Method and apparatus for executing input/output of virtual computer system

Country Status (1)

Country Link
JP (1) JPS60142429A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63178359A (en) * 1987-01-20 1988-07-22 Hitachi Ltd Channel path group control system
JPS6459434A (en) * 1987-08-29 1989-03-07 Fujitsu Ltd Input/output control system for virtual computer
JP2009258798A (en) * 2008-04-11 2009-11-05 Nec Corp Virtual machine system, host computer, i/o card, virtual machine construction method, and program

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58181149A (en) * 1982-04-16 1983-10-22 Hitachi Ltd Controlling system of computer system

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58181149A (en) * 1982-04-16 1983-10-22 Hitachi Ltd Controlling system of computer system

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63178359A (en) * 1987-01-20 1988-07-22 Hitachi Ltd Channel path group control system
JPS6459434A (en) * 1987-08-29 1989-03-07 Fujitsu Ltd Input/output control system for virtual computer
JP2009258798A (en) * 2008-04-11 2009-11-05 Nec Corp Virtual machine system, host computer, i/o card, virtual machine construction method, and program

Also Published As

Publication number Publication date
JPH0567973B2 (en) 1993-09-28

Similar Documents

Publication Publication Date Title
AU613823B2 (en) Virtual computer system having improved input/output interrupt control
US4347565A (en) Address control system for software simulation
EP0067556B1 (en) Digital data processing system
US4455602A (en) Digital data processing system having an I/O means using unique address providing and access priority control techniques
US4525780A (en) Data processing system having a memory using object-based information and a protection scheme for determining access rights to such information
JPS58151655A (en) Information processing device
AU593570B2 (en) Digital data processing system
JPH0242569A (en) Context switching method and apparatus used for vector processing system
JPH08278886A (en) Method and system for operation of extended system management in data-processing system
JPH0430053B2 (en)
US5291581A (en) Apparatus and method for synchronization of access to main memory signal groups in a multiprocessor data processing system
GB2083254A (en) Address translation and generation mechanism in information processing system
KR20100036279A (en) System comprising a plurality of processors and methods of operating the same
GB2216306A (en) Load and synchronize computer architecture and process
US5003468A (en) Guest machine execution control system for virutal machine system
US5218678A (en) System and method for atomic access to an input/output device with direct memory access
JPS60142429A (en) Method and apparatus for executing input/output of virtual computer system
KR0136111B1 (en) Apparatus and method for synhcronization of access to main memory signal groups in a multiprocessor data processing
US4816992A (en) Method of operating a data processing system in response to an interrupt
EP0290111B1 (en) Digital data processing system
JPS61184643A (en) Starting control system for virtual computer
JPS6049352B2 (en) data processing equipment
JPH11312092A (en) Method for switching task and data processor
JPS6032220B2 (en) information processing equipment
JPS59112479A (en) High speed access system of cache memory