JPS60105052A - Virtual computer system - Google Patents

Virtual computer system

Info

Publication number
JPS60105052A
JPS60105052A JP58212203A JP21220383A JPS60105052A JP S60105052 A JPS60105052 A JP S60105052A JP 58212203 A JP58212203 A JP 58212203A JP 21220383 A JP21220383 A JP 21220383A JP S60105052 A JPS60105052 A JP S60105052A
Authority
JP
Japan
Prior art keywords
processing
instruction
interrupt
psw
vmcp
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
JP58212203A
Other languages
Japanese (ja)
Other versions
JPH0567972B2 (en
Inventor
Hiroshi Ikegaya
池ケ谷 浩
Hidenori Umeno
梅野 英典
Osamu Onodera
修 小野寺
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 JP58212203A priority Critical patent/JPS60105052A/en
Publication of JPS60105052A publication Critical patent/JPS60105052A/en
Publication of JPH0567972B2 publication Critical patent/JPH0567972B2/ja
Granted legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

PURPOSE:To improve the performance of a virtual computer system by executing directly a privilege instruction for control of the working state control register of an operating system, and decreasing the simulation overheads of the control program of a virtual computer. CONSTITUTION:When a privilege instruction is outputted from a virtual computer VM3, a real computer 1 decides the presence or absence of a direct execution mode by an instruction 10. In a direct execution mode, the privilege instruction is directly executed by a microprogram 12 for real computer. In other modes, the privilege instruction is processed by a microprogram 13 for firmware assist VMA and sent to the VM3. When the program 12 is used for processing, the need for interruption is decided by a deciding hardware 14 for a virtual computer control program VMCP. The decision processing is carried out at a high speed. When the conditions are satisfied, an interruption (21) is fed to the VMCP. While the control is immediately transferred to the VM3 in case the conditions are not satisfied.

Description

【発明の詳細な説明】 〔発明の利用分野〕 本発明は、仮想計算機システムに関し、特に、特権命令
シミュレーションのオーバヘッドを削減することができ
る仮想計算機システムに関するものである。
DETAILED DESCRIPTION OF THE INVENTION [Field of Application of the Invention] The present invention relates to a virtual computer system, and particularly to a virtual computer system that can reduce the overhead of privileged instruction simulation.

〔発明の背景] 近年、ディジタル計算機の応用分骨が拡大するに伴って
、実主記憶装置の容量の制約を低減したアドレス方式(
仮想記憶方式)が使用され、さらにこの方式を用いて1
つの実計算機を多数のオペレーティング・システム(以
下O8)が同時に使用できる方式(仮想計算機システム
)が用いられている。
[Background of the Invention] In recent years, as the applications of digital computers have expanded, addressing methods (
virtual memory method) is used, and furthermore, using this method, 1
A system (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台の実計算機の資源(処理
装置、実記憶装置、チャネルおよび入出力装置等)のも
とで、あたかも複数の計算機が存在するかの如く制御す
る計算機システムである。仮想計算機システム(以下V
MS)では、主メモリや入出力装置は勿論、処理装置を
含むすべての資源をO8間で共用することができるよう
&こ、多数のO8が1つの実計算機上で見掛は上、同時
に走行できるようにする。このため、実用9機における
2つの動作モード、つまり特権モードと非特権モードの
動作形態を利用する。すなわち、一般的には、特権モー
ドはO8の動作モードに使用されているが、VMSでは
、特権モードは特殊な制御プログラム(これを仮想計算
ぜ1制御プログラム(以下VMCP)という)の動作モ
ードとし、O8を非特権モードで動作させるのである。
A virtual subtraction system is a computer system that controls the resources of one real computer (processing unit, real storage device, channels, input/output devices, etc.) as if there were multiple computers. Yes, there is a virtual computer system (hereinafter referred to as V
In MS), all resources including main memory and input/output devices as well as processing units can be shared between O8s, and many O8s can run simultaneously on one real computer. It can be so. For this purpose, two operating modes in the nine commercial machines, namely privileged mode and non-privileged mode, are utilized. In other words, the privileged mode is generally used as the operating mode of O8, but in VMS, the privileged mode is the operating mode of a special control program (this is called the virtual computing control program (hereinafter referred to as VMCP)). , the O8 operates in non-privileged mode.

複数の仮想計算機(以下VM)は、実計算機と機能的に
等価となるようにVMCPによりシミュレーションされ
る。
A plurality of virtual machines (hereinafter referred to as VMs) are simulated by VMCP so as to be functionally equivalent to real computers.

第1図は、通常のVMSの概念図である。実計算機1は
、特権または非特権モードの処理要求(マシン命令)を
扱うことができる実計算機インクフェースをVMCP4
に対し与えると、VMCP牛はこれを利用して動作し、
各VM31.32の08311や08321の動作を可
能にするため、別の実計算機インタフェースをこれらに
与える。
FIG. 1 is a conceptual diagram of a normal VMS. The real computer 1 has a real computer interface VMCP4 that can handle processing requests (machine instructions) in privileged or non-privileged mode.
VMCP cow uses this to operate,
In order to enable the operation of 08311 and 08321 of each VM31.32, another real computer interface is provided to them.

第1図では、2つのVML、か示されていないが、多数
のVMが存在しても同じであって、0831F、321
は、VM31.32が与える実計算機インタフェースを
用いて動作することになり、あたかも実計算機1 、h
で動作しているように見える。
Although two VMLs are not shown in FIG. 1, it is the same even if there are many VMs, 0831F, 321
will operate using the real computer interface provided by VM31.32, as if the real computer 1, h
It looks like it's working.

また、08311.321は、ユーザ・プログラム51
1,521.5’31.541に対して拡張マシン・イ
ンタフェースを与える。ここで、拡張マシン51,52
,53.54とは、ユーザ・プログラムからのあるまと
まった機能処理の要求(スーパバイザ・コール)に対す
る処理を、O8ごとにそのO8内で実行する機能、およ
び非特権モードのマシン命令等である。
Also, 08311.321 is the user program 51
1,521.5'31.541. Here, expansion machines 51, 52
, 53, and 54 are functions for executing processing in each O8 in response to a request for a certain group of functional processing (supervisor call) from a user program, machine instructions in a non-privileged mode, and the like.

このように、VMCP4とVM31,32との関係は、
一般のO8における制御プログラムと処理プログラムと
の関係に類似する。すなわち、制御プログラムに相当す
るものがVMCP4であり、処理プログラムに相当する
ものがVM31,32である。V M CP 4が生成
したVM31,32は、非特権モードで実行するため、
VM31,32上での特権命令は特権命令例外としてV
MCP4に報告され、VMCP4がシミュレーションを
行うことにより実行される。
In this way, the relationship between VMCP4 and VM31, 32 is as follows:
This is similar to the relationship between the control program and processing program in general O8. That is, the VMCP4 corresponds to a control program, and the VMs 31 and 32 correspond to processing programs. Since VMs 31 and 32 generated by VM CP 4 execute in non-privileged mode,
Privileged instructions on VMs 31 and 32 are marked V as privileged instruction exceptions.
It is reported to MCP4, and VMCP4 executes the simulation.

第2図は、従来のV〜1の特権命令シミュレーションの
概念図である。
FIG. 2 is a conceptual diagram of a conventional privileged instruction simulation of V1.

第2図において、1は実計算機のハードウェアであって
、演算機能とVMA (ファームウェア・アシスト)と
を含も。2は実記憶装置のV M Cl)であって、割
り込み処理プログラム21と特権命令シミュレーション
・プログラム22とVMの起動処理プログラム23が格
納されている。31゜32.33は、それぞれ仮想記憶
装置のV Mであって、非特権モードで動作する。
In FIG. 2, reference numeral 1 represents the hardware of the actual computer, which includes an arithmetic function and a VMA (firmware assist). 2 is a real storage device V M Cl) in which an interrupt processing program 21, a privileged instruction simulation program 22, and a VM startup processing program 23 are stored. 31, 32, and 33 are virtual storage VMs, respectively, which operate in a non-privileged mode.

次に、VMCPによる特権命令シミュレーションのうち
、P S W (Program 5tatus Wo
ra )を制御する特権命令のシミュレーション処理の
概略について述べる。
Next, among the privileged instruction simulations by VMCP, PSW (Program 5tatus Wo
An overview of the simulation process for privileged instructions that control ra) will be described.

一般的には、PSWには非同期割込み(入出力割込み、
外部割込み等)を制御する割込みマスクが設けられてお
り、これらの入出力装置、外部装置等のリソースは各V
Mにより共有さねている。
Generally, PSW uses asynchronous interrupts (input/output interrupts,
An interrupt mask is provided to control external interrupts, etc.), and resources such as these input/output devices and external devices are
Shared by M.

そして、あるVM(第2図ではVMl)に対する非同期
割込みが発生し、そのVMがその割込みに対して割込み
不可能である場合し−は、VMCP側で保留する。すな
わち、VMCP側では、割込み要因を記憶する処理を行
い、そのVMに対する実際の割込みの反映は、対応する
V Mに制御が渡り、VMのPSWの割込みマスクが割
込み可能となったときに行うようにしている。そのため
、VMCPは該当するV Mに対する割込みの保留(ベ
ンディング)状態を記憶する手段を用意する必要がある
If an asynchronous interrupt occurs to a certain VM (VMl in FIG. 2) and the VM cannot handle the interrupt, the VMCP suspends the interrupt. In other words, the VMCP side performs processing to memorize the interrupt cause, and reflects the actual interrupt to the VM when control is transferred to the corresponding VM and the interrupt mask of the VM's PSW becomes interrupt-enabled. I have to. Therefore, the VMCP needs to provide means for storing the pending (bending) state of interrupts for the corresponding VM.

第2図の矢印で示すように、あるVMから特権命令が発
行された場合の処理には、実計算機lの演算機能からV
MCPで特権命令のシミュレLジョンを行う方法と、演
算機能からファームウェア・アシスト(VMA)44構
により特権命令のシミュレーションを行う方法の2つが
ある。先ず、vMCPにおけるシミュレーションについ
て述べる。
As shown by the arrow in Figure 2, when a privileged instruction is issued from a certain VM, processing requires V
There are two methods: simulating privileged instructions using an MCP, and simulating privileged instructions using a firmware assist (VMA) 44 structure from an arithmetic function. First, simulation in vMCP will be described.

第3図は、従来におけるPswを制御する特権命令のシ
ミュレーション方式のフローチャートである。
FIG. 3 is a flowchart of a conventional simulation system for privileged instructions that control Psw.

ここで、シミュレーションとは、vN4の特権命令の動
作(例えばPSw変更動作)を、実計算機のプログラム
によって解釈実行する方法であって、VMの命令を取り
出し、そのアドレスを実計算機のアドレス、つまり実ア
ドレスに変換する。また、命令の操作コードを処理して
、vMの操作コードに対する動作を実行するようにプロ
グラムされたルーチンのアドレスをめる。このルーチン
の実行により、先に取り出した命令の操作が行われ、終
了すれば次の命令を取り出す。
Here, simulation is a method of interpreting and executing the operation of a privileged instruction of vN4 (for example, a PSw change operation) using a program of a real computer. Convert to address. It also contains the address of a routine programmed to process the instruction's opcode and perform the operation on the vM's opcode. By executing this routine, the previously fetched instruction is manipulated, and upon completion, the next instruction is fetched.

第3図において、シミュレーションが開始されると、先
ずVMCPは特権命令をVMのPswに対してシミュレ
ーションする(ステップ3o1)。
In FIG. 3, when the simulation is started, the VMCP first simulates a privileged instruction to the Psw of the VM (step 3o1).

特権命令シミュレーションの結果、PSWの割込みマス
ク°°1″となった場合には(割込み可能となったとき
)、そのVMに対する非同期割込みがベンディングにな
っているか否かを調べる(ステップ302,303)。
If the PSW interrupt mask is set to °°1'' as a result of the privileged instruction simulation (when interrupts are enabled), check whether or not the asynchronous interrupt for that VM is bending (steps 302, 303). .

ステップ303で、VMへの非同期割込みがベンディン
グになっているときには、その割込み要因を処理する(
ステップ304)。また、ステップ302でPSWの割
込みマスクが°°0”であるか、ステップ303で非同
期割込みがベンディングでなければ、その特権命令シミ
ュレーションの結果、PSWが待ち状態となったか否か
を調べる(ステップ305)。ステップ305でPSW
が待ち状態のとき、あるいはステップ304で割込み処
理が終了した後、VMのスケジュールと起動処理を行う
(ステップ306)。
In step 303, if the asynchronous interrupt to the VM is bending, the interrupt cause is processed (
Step 304). Further, if the interrupt mask of the PSW is "°°0" in step 302, and if the asynchronous interrupt is not bending in step 303, it is checked whether the PSW has entered the wait state as a result of the privileged instruction simulation (step 305). ).In step 305, the PSW
When the VM is in a waiting state or after the interrupt processing is completed in step 304, the VM schedule and startup processing are performed (step 306).

これにより、シミュレーション方式の動作は終了する。This completes the operation of the simulation method.

第3図のステップ302では、割込みマスクを調べてい
るが、これはpsw内の割込みマスクである。通常の計
算機システムには、割込みに対するマスクとして、ps
w内の割込みマスクとけ別個に、サブマスクが存在する
。このサブマスクが++ O++のときに割込みが発生
した場合には、PSWの割込みマスクがN I IIで
あっても割込みがベンディングとなり、サブマスクが”
I ++になったときに、始めてそのベンディング割込
みを反映する必要がある。VMSの場合、サブマスクが
I 11となったときには、VMCPに処理を委ねてい
る。
Step 302 in FIG. 3 examines the interrupt mask, which is the interrupt mask in psw. In normal computer systems, ps is used as a mask for interrupts.
There are submasks separate from the interrupt mask in w. If an interrupt occurs when this submask is ++ O++, the interrupt will be a bending even if the PSW interrupt mask is NII II, and the submask will be "
It is necessary to reflect the bending interrupt only when it becomes I++. In the case of VMS, when the submask becomes I11, processing is entrusted to VMCP.

次に、第2図のVMAM構じつぃて述べる。Next, the VMAM structure shown in FIG. 2 will be described.

第2図のVMSにおいて、特権命令シミュレーションを
実記憶装置2のVMCPによって処理する場合には、実
計算機下のO8で実行した場合と比較して、かなりの性
能低下が生じる。すなわち、シミュレーションは完全に
ソフトウェアのみでプログラムの処理を行う方法である
ため、融通性が高い等の利点はあるが、実行速度が非常
に遅くなるのが実用−Lの最大の難点である。
In the VMS shown in FIG. 2, when the privileged instruction simulation is processed by the VMCP of the real storage device 2, the performance deteriorates considerably compared to when it is executed on the O8 under the real computer. That is, since simulation is a method of processing a program completely using software, it has advantages such as high flexibility, but the biggest drawback of Practical-L is that the execution speed is extremely slow.

そこで、従来より、VM上の特権命令の実行を支援する
ファームウェア・アシスト(VMA)が用いられている
。このVMAは、VMCPのシミュレーションを代行す
るものであるが、VMCPの割込み処理および起動処理
を省略することができるので、高速化を図ることができ
る。
Therefore, firmware assist (VMA) has been used to support the execution of privileged instructions on the VM. This VMA performs simulation on behalf of the VMCP, but since the interrupt processing and startup processing of the VMCP can be omitted, speeding up can be achieved.

しかし、このV M A処理は、第3図のフローのうち
、ステップ302,303.および305の処理を行い
、条件が成立した場合およびVMAM理の中でVMAで
は1rルj」が不可能な場合番JはVMCPに処理を委
ねている。したがって、争件成立のときには、やはり処
理がイくなる。
However, this VMA processing is performed in steps 302, 303, . and 305 are performed, and if the conditions are met and if it is impossible for VMA to perform 1r rule j in the VMAM theory, then number J entrusts the processing to VMCP. Therefore, when a dispute is established, the process will be slow.

また、このVMAは、■M用副制御ブロック対して、単
線な処理だけを選び出し、VMCPの処理を代行するも
のであるため、基本的にはシミュレーションとψ5わり
はない。したがって、実計算機での処理に比較すると、
1つの特梅命令当り2゜3倍の実行時間を要する。
Furthermore, this VMA selects only single-line processing for the M sub-control block and performs the VMCP processing on behalf of it, so basically there is no difference in ψ5 from simulation. Therefore, compared to processing on a real computer,
It takes 2.3 times as much execution time for each special instruction.

そこで、さらに(1) V M &、−実計鈴機のPS
Wを占有させる方法、または(ill V M用のW用
PSWを用意する方法等を採用し、直接実行モードを設
けることにより、vMのO8と同じq!J−権モードで
VM−Eの特権命令を直接実行させ、つまりVMCPお
よびVMAを介入させることなく実行させ、実計算機に
比較して殆んど同等の性能を与えることが考えられる。
Therefore, (1) V M &, -PS of the actual bell machine
By adopting a method such as making W exclusive or (ill V It is conceivable to directly execute instructions, that is, without VMCP and VMA intervention, and to provide almost the same performance as a real computer.

しかし、−の直接実行方式では、第3図のフローのうち
のステップ302.303および305の条件が成立し
た場合、割込み保留、解除処理および■M起動処理をV
MCPで行う必要がある。
However, in the - direct execution method, if the conditions of steps 302, 303 and 305 in the flow of Fig. 3 are satisfied, interrupt hold/release processing and ■M startup processing are
It needs to be done in MCP.

第4図は、VM上の特権命令を直接実行する方式のVM
Sのブロック図である。
Figure 4 shows a VM that directly executes privileged instructions on the VM.
FIG.

第4図においては、第2図と同じように、実計算機lの
中に実計算機用マイクロプログラム12とVMAマイク
ロプログラム13を設けるとともに、判定用マイクロプ
ログラム11を新しく設ける。
In FIG. 4, as in FIG. 2, a real computer microprogram 12 and a VMA microprogram 13 are provided in the real computer l, and a new determination microprogram 11 is provided.

VM3上で特権命令が発行されると、その特権命令を直
接実行する前に、判定用マイクロプログラム11で第3
図のフローのうちのステップ302.303および30
δの判定処理を行い、条件が成立したときには、直接実
行は行わずに、VMCPに制御を委ねる。VMCPでは
、前述と同じようにして、割込み保留、解除処理および
VM起動処理を行って、VM3に対し制御を渡す。一方
、判定処理で条件が不成立のときには、実計算機用マイ
クロプログラム12により前述の(1) V Mに実計
算機のβSWを古有さぜる方法または(II) V M
用の専用PSWを用意する方法を用いて特権命令を直接
実行した後、制御をVM3に渡す。
When a privileged instruction is issued on the VM 3, the judgment microprogram 11 executes the third instruction before directly executing the privileged instruction.
Steps 302, 303 and 30 of the flow in the diagram
A determination process for δ is performed, and when the condition is satisfied, control is entrusted to the VMCP without directly executing it. The VMCP performs interrupt hold/release processing and VM startup processing in the same manner as described above, and transfers control to VM3. On the other hand, if the condition is not satisfied in the determination process, the real computer microprogram 12 uses the method described above (1) to make the βSW of the real computer old in VM or (II) VM
After directly executing the privileged instruction using a method of preparing a dedicated PSW for the VM, control is passed to the VM3.

この方法によれば、直接実行の場合には、vMCPおよ
びVMAの介入は不要となるが、直接実行が可能か否か
の判定処理が常に必要となり、それをマイクロプログラ
ムで行ってもなお、実計算i ニ対するオーバヘッドと
なるため、直接実行の効果が低丁する。
According to this method, in the case of direct execution, the intervention of vMCP and VMA is not required, but the process of determining whether direct execution is possible is always necessary, and even if it is performed by a microprogram, it is still difficult to execute. The effect of direct execution is low because of the overhead for calculation i.

〔発明の目的〕[Purpose of the invention]

本発明の目的は、このような問題を解決するため、上記
マイクロプログラムによる判定処理を不要にし、かつP
SWを制御する特権命令を直接実行することにより、V
MCPのシミュレーション。
The purpose of the present invention is to eliminate the need for the determination processing by the microprogram and to solve the problem described above.
By directly executing a privileged instruction that controls SW, V
MCP simulation.

オーバヘッドを削減して、VMSの性能を向上させるこ
とが可能な仮想計算機システムを提供することにある。
An object of the present invention is to provide a virtual computer system that can reduce overhead and improve VMS performance.

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

上記目的を達成するために、本発明の仮想計算機システ
ムは、オペレーティング・システムの動作状態を制御す
るPSWレジスタの内容が割込み可能であることを示す
識別手段と、上記オペレーティング・システムに対する
割込み保留要因の有無を示すベンディング・レジスタと
、該ベンディング・レジスタが割込み保留要因有で、か
つ上記PSWレジスタの識別手段が割込み可能をそれぞ
れ示すとき、上記管理プログラムに割込みを行う手段と
を有し、上記オペレーティング・システム上の特権命令
を直接実行した後に、上記各手段を動作させることに特
徴がある。
In order to achieve the above object, the virtual machine system of the present invention includes an identification means for indicating that the contents of a PSW register that controls the operating state of an operating system is interruptible, and an identification means for indicating an interrupt pending factor for the operating system. and a means for interrupting the management program when the bending register indicates that there is an interrupt pending cause and the identifying means of the PSW register indicates that the interrupt is enabled, The feature is that each of the above means is operated after directly executing a privileged instruction on the system.

〔発明の実施例〕[Embodiments of the invention]

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

第5図は、本発明の一実施例を示すV M Sのブロッ
ク図である。
FIG. 5 is a block diagram of a VMS showing an embodiment of the present invention.

第5図の実W1゛算1m lでは、第4図の場合と同じ
ように、直接実行を行う実計算機用マイクロプログラム
12と、VMAマイクロプログラム13とを設、け、か
つ第4図の判定用マイクロプログラム11のかわりに判
定用ハードウェア14を設けるが、これは実計算機用マ
イクロプログラム12の後段に配置する。また、上記両
マイクロプログラム12.13の前段1c、直接実行モ
ードか否かを判断スるマイクロプログラム命令10を配
置する。
In the actual W1 calculation 1ml shown in FIG. 5, as in the case of FIG. 4, a real computer microprogram 12 for direct execution and a VMA microprogram 13 are provided, and A judgment hardware 14 is provided in place of the computer microprogram 11, but this is placed after the actual computer microprogram 12. In addition, a microprogram instruction 10 for determining whether or not the direct execution mode is in the preceding stage 1c of the above-mentioned microprograms 12 and 13 is arranged.

VM3から特権命令が発行されたとき、実計算機lでは
、命令IOにより直接実行モードであるか否かが判定さ
れ、直接実行モードの場合には、実計算機用マイクロプ
ログラム12により前述の(1)VMに実計算機のPS
Wを占有させる方法、または(II) V M用の専用
PSWを用意する方法のいずれかで特権命令を直接実行
する。それ以外の場合には、VMAマイクロプログラム
13により処理が行われる。
When a privileged instruction is issued from the VM 3, the actual computer 1 determines whether it is in the direct execution mode using the instruction IO, and if it is in the direct execution mode, the actual computer microprogram 12 executes the above-mentioned (1). PS of real computer in VM
Privileged instructions are directly executed either by occupying W or (II) by preparing a dedicated PSW for VM. In other cases, processing is performed by the VMA microprogram 13.

ただ、このVMA処理においても、第3図のフローにお
けるステップ302.303および305の処理で条件
が成立した場合およびVMAでは処理が不可能な場合に
は、VMCPに処理を委ねる必要がある。それ以外の場
合ではVMAマイク四プログラム13で処理された際に
直ちにVM3に制御が渡される。
However, even in this VMA processing, if the conditions are satisfied in the processing of steps 302, 303 and 305 in the flow of FIG. 3, or if the processing cannot be performed by the VMA, it is necessary to entrust the processing to the VMCP. In other cases, control is immediately passed to the VM 3 when the VMA microphone 4 program 13 processes it.

一方、実計算機用マイクロプログラム12で処理された
場合番Jは、判定用ハードウェア14によりVMCPに
割込も必要があるが否がか判定される。そし°C1ここ
では、第3図のフローのうチノステップ302,303
および3050判定処理をハードウェアで高速に行い、
条件が成立した場合にはVMCPに割込み、条件が不成
立の場合には直ちにVM3に制御を渡す。
On the other hand, in case number J processed by the real computer microprogram 12, the determination hardware 14 determines whether or not an interrupt to the VMCP is necessary. Here, steps 302 and 303 of the flow in FIG.
and 3050 determination processing is performed at high speed by hardware,
If the condition is met, an interrupt is made to VMCP, and if the condition is not met, control is immediately passed to VM3.

以−Lの処理のうち、直接実行モードであるが否かの判
定は、マイクロプログラムにより僅かな時間しかかから
ず、性能には殆んど影響を及ぼさない。また、判定用ハ
ードウェア14の判定処理は、前述のように高速に行わ
れるので、これも僅かな時間しか要しない。したがって
、第5図のV M特権命令の処理は、第十図に比較して
きわめて高速にできる。
Among the processes described above, determining whether or not the direct execution mode is selected takes only a small amount of time by the microprogram and has almost no effect on performance. Furthermore, since the determination processing by the determination hardware 14 is performed at high speed as described above, this also requires only a short amount of time. Therefore, the processing of the VM privileged instruction in FIG. 5 can be made much faster than in FIG. 10.

また、判定ハードウェア14から主記憶装置2のV M
 Cl)への割込みは、先ず割込み処理用マイクロプロ
グラムにブレイクインし、ハードウェアまたはマイクロ
プログラムによりVMCPに割込も。V M CP ハ
、主記憶装置22 &:、 V M CP 固有(0割
込み情報格納領域(すなわち、プレフィクス・エリア)
を保持しているので、L記ハードウェアまたはマイクロ
プログラムはこの領域を選択するようにアドレス指定を
行う。
Further, the VM of the main storage device 2 from the determination hardware 14
An interrupt to Cl) first breaks into the interrupt processing microprogram, and then interrupts the VMCP by hardware or microprogram. VM CP c, main memory 22 &:, VM CP specific (0 interrupt information storage area (i.e., prefix area)
Since this area is held, the L hardware or microprogram specifies an address to select this area.

第6図は、第5IIXlにおける判定用ハードウェアの
構成図である。
FIG. 6 is a configuration diagram of the determination hardware in the fifth IIXl.

判定用ハードウェア14は、第6図に示すように、プロ
グラム状?BM(PSWレジスタ)101.1 / O
1i11込みベンディング・レジスタ(IOPNDR)
102、外nBWJJ込みベンディング・レジスタ(F
XPNDR)103、AN l) 回路104,105
゜107およびOR回路106がら構成されている。
As shown in FIG. 6, the determination hardware 14 is in a program form? BM (PSW register) 101.1/O
1i11 included bending register (IOPNDR)
102, Bending register including external nBWJJ (F
XPNDR) 103, AN l) Circuits 104, 105
107 and an OR circuit 106.

pswレジスタ101では、I10マスク、EXTマス
クが1″のとき、それぞれ110割込み、外部割込みが
可能であることを示す。すなわち、これらのI10マス
ク、EXTマスクを参照することにより、第3図のフロ
ーのステップ302の判断処理が可能となる。また、p
swレジスタ101のWが°゛1″のときPSwが待ち
状態であることを示す。すなわち、このWビットを参照
することにより、第3図のフローのステップ305の判
断処理が可能となる。
In the psw register 101, when the I10 mask and EXT mask are 1'', it indicates that 110 interrupts and external interrupts are possible, respectively.In other words, by referring to these I10 mask and EXT mask, the flow of FIG. The judgment process in step 302 becomes possible.Also, p
When W in the sw register 101 is 1, it indicates that the PSw is in a waiting state. That is, by referring to this W bit, the determination process in step 305 of the flowchart in FIG. 3 can be performed.

また、VMCPMより) / OQll込みがベンディ
ングCηCつでおり、サブマスクに関しては割込み可能
であるが、PSWのI/Qマスクが°°0″のために割
込み不可能となっているものが存在するとき、ベンディ
ング・レジスタ102には”1″カセツトされる。さら
に、VMCPc、:より外部割込みがベンディングにな
っており、サブマスクに関しては割込み可能であるが、
PswのEXTマスクが°′0″のため割込み不可能に
なっているものが存在するとき、ベンディング・レジス
タ103にはII I 11がセットされる。これらの
ベンディング・レジスタ102,103にG;i、■へ
4の起iur時、VMCI)が専用の1M起動命令を発
行したときに、その命令のハードウェアによる処理で、
そのVMの制御ブロック内のベンディング・エリアかラ
ロードされる。そして、これら両ベンディング・レジス
タ102,103を参照することにより、第3図のフロ
ーのステップ303の判断処理が可能となる。
Also, from VMCPM) / When the OQll interrupt is a bending CηC and the submask is interruptible, but there is one that cannot be interrupted because the PSW I/Q mask is °°0''. , "1" is cassetted in the bending register 102.Furthermore, VMCPc: external interrupts are bending, and interrupts are possible for submasks;
When there is a Psw that cannot be interrupted because the EXT mask of Psw is °'0'', II I 11 is set in the bending register 103. G;i is set in these bending registers 102 and 103. , When the VMCI (VMCI) issues a dedicated 1M startup instruction, the processing by the hardware of that instruction causes
The vending area in the control block of that VM is loaded. By referring to both of these vending registers 102 and 103, the judgment process in step 303 of the flow of FIG. 3 becomes possible.

先ず、ps、wレジスタ101のI10マスクとベンデ
ィング・レジスタ102は、AND回路104の入力と
なる。両者が]、”のとき、つまり110割込みが可能
で、110割込みがベンディングとなっている場合、A
ND回路104から”1゛が出力される。同じようにし
て、PSWレジスタ101のEXTマスクとベンディン
グ・レジスタ103は、AND回路105の入力となり
、両者が”1″のとぎ、つまり外部割込みが可能で、外
部割込みがベンディングとなっていル’J 合、A N
 D回路105からI 11が出力される。AND回路
104−の出力とAND回路105の出力のいずれかが
++ I ++のとき、あるいは、PSWレジスタ1の
Wフィールドの内容がII I ++のとき、Of(回
路106から”l′″が出力される。そして、OR回路
106の出力が1″で、psw変更要求が発行された場
合に、AND回路107から1”′が出力される。
First, the I10 mask of the ps, w register 101 and the bending register 102 become inputs to an AND circuit 104. ], ”, that is, when 110 interrupts are possible and 110 interrupts are bending, A
"1" is output from the ND circuit 104. In the same way, the EXT mask of the PSW register 101 and the bending register 103 become inputs to the AND circuit 105, and when both are "1", external interrupts are possible. If the external interrupt is bending, then
I11 is output from the D circuit 105. When either the output of the AND circuit 104- or the output of the AND circuit 105 is ++ I ++, or when the content of the W field of the PSW register 1 is II I ++, Of("l'" is output from the circuit 106. Then, when the output of the OR circuit 106 is 1'' and a psw change request is issued, the AND circuit 107 outputs 1''.

A 、N’ 、1)回路107の出力が”l”°のとき
、割込み処理用マイクロプログラムにブレイクインする
。このどき、ハードウェアまたはマイクロプログラムt
ζより割込み情報格納領域(プレフィックス・エリア)
が決定される。この場合は、VMCP固有のプレフィッ
クス・エリアが保持されているので、そのプレフィック
スを選択することにより、■MCPに割込む。
A, N', 1) When the output of the circuit 107 is "l"°, break into the interrupt processing microprogram. Nowadays, hardware or microprograms
Interrupt information storage area (prefix area) from ζ
is determined. In this case, since a VMCP-specific prefix area is held, by selecting that prefix, the VMCP is interrupted.

このように、本実嘩例では、特権命令を10接実行後、
もし必要ならばハードウェアによりV M CPに制御
を渡すので、i11接実前のマイクロプログラムによる
判定処理を省略することができ、高速処理が可能となる
In this way, in this example, after executing the privileged command 10 times,
If necessary, control is passed to the V M CP by hardware, so the determination process by the microprogram before i11 implementation can be omitted, and high-speed processing becomes possible.

これによって、特権命令の直接実行の効果がざらに上が
り、実nl’j’A機による特権命令の実行とLし較し
て、殆んど同等の性能にすることができる。
As a result, the effect of direct execution of a privileged instruction is greatly increased, and the performance can be almost the same as that of execution of a privileged instruction by an actual nl'j'A machine.

〔発明の効果] 以上説明したように、本発明によれば、PSWを制御す
る特権命令を直接実行し、V〜ICPへの割込み判定を
ハードウェアで行うので、VMCPノシミュレーション
・オーバヘラドラ大幅に削減することができ、■MSの
性能を向上させることが可能となる。
[Effects of the Invention] As explained above, according to the present invention, the privileged instruction that controls the PSW is directly executed and the interrupt determination from V to ICP is performed by hardware, so the VMCP simulation and overdrive are significantly reduced. (1) It becomes possible to improve the performance of the MS.

【図面の簡単な説明】 第1図は曲常の仮想n1算1幾システムの概念図、第2
図は従来の仮想計算園の特権命令シミュレーションの概
念図、第3図は従来におけるPSW制御ffi W 権
命令のシミュレーション方式のフローチャート、第4図
は仮想計算機1:の特権命令を直接実行するシステムの
ブロック図、第5図は本発明の一実施例を示す仮想計算
機システムのブロック図、第6図はφ(15図における
判定用ハードウェアの構成図である。 1:実計多1b’if、2:主記憶装置、3=仮想計算
+uL l O: iIi接笑行実行かの判断マイクロ
プログラム、12:実用算機用マイクロプログラム、1
3 : VMAマイクロプログラム、14:判定用ハー
ドウェア、21:割込み処理プログラム、22:特Wa
命令シミュレーション用プログラム、23:vMの起動
処理用プログラム、101:PSWレジスタ、102’
、103:ペンディング・レジスタ、104,105,
107 :AND回路、106 : OR回路。 第1図 5土1 521 531 541 第2図 第 3 図 第牛図 第5図 3 第 6 図 ■゛、1の制御ブロック
[Brief explanation of the drawings] Figure 1 is a conceptual diagram of the virtual n1 arithmetic system of curves;
The figure is a conceptual diagram of the simulation of privileged commands in a conventional virtual computer garden, Figure 3 is a flowchart of the conventional simulation method for PSW control ffi W privilege commands, and Figure 4 is a diagram of a system that directly executes privileged commands in virtual machine 1. Block diagram, FIG. 5 is a block diagram of a virtual computer system showing an embodiment of the present invention, and FIG. 6 is a block diagram of the hardware for determining φ (in FIG. 15. 1: Actual total number 1b'if, 2: Main memory, 3=virtual calculation + uL l O: Microprogram for determining whether to execute iIi conciliatory line, 12: Microprogram for practical computer, 1
3: VMA microprogram, 14: Judgment hardware, 21: Interrupt processing program, 22: Special Wa
Instruction simulation program, 23: vM startup processing program, 101: PSW register, 102'
, 103: Pending register, 104, 105,
107: AND circuit, 106: OR circuit. Fig. 1 5 soil 1 521 531 541 Fig. 2 Fig. 3 Fig. 5 Fig. 3 Fig. 6 Control block of Fig. ■゛, 1

Claims (1)

【特許請求の範囲】[Claims] (1) w数のオペレーティング・システムを1つの実
計弊機上で同時に動作させる管理プログラムを備えた仮
想計算機システムにおいて、L記オペレーティング・シ
ステムの動作状態を制御するレジスタ(pswと呼ぶ)
の内容の中に割込み可能であることを示す識別手段と、
上記オペレーティング・システムに対する割込み保留要
因の有゛無を示すベンディング・レジスタと、上記オペ
レーティング・システムを起動するときに上記管理プロ
グラムで該ベンディング・レジスタに祠込み保留要因の
有無をセットする手段と、該ベンディング・レジスタが
割込み保留要因看で、かつ上記PSWレジスタの識別手
段が割込み可能をそれぞれ示すとき、上記管理プログラ
ムに割込みを行う手段とを有することを特徴とする仮想
計算機システム。 G2)前記管理プログラムに割込みを行う手段は、オペ
レーティング・システムがPSWの内容を待ち状態とし
た場合には、無条件で割込みを行うことを特徴とする特
許請求の範囲第1項記載の仮想
(1) In a virtual computer system equipped with a management program that allows W number of operating systems to operate simultaneously on one real machine, a register (called psw) that controls the operating state of L number of operating systems.
an identification means for indicating that the content of the content is interruptible;
a bending register indicating the presence or absence of an interrupt pending factor for the operating system; means for setting the presence or absence of the interrupt pending factor in the bending register by the management program when starting the operating system; A virtual computer system comprising: means for interrupting the management program when the bending register indicates an interrupt pending cause and the identifying means of the PSW register indicates that interrupts are enabled. G2) The virtual machine according to claim 1, wherein the means for interrupting the management program interrupts the management program unconditionally when the operating system puts the contents of the PSW in a waiting state.
JP58212203A 1983-11-11 1983-11-11 Virtual computer system Granted JPS60105052A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP58212203A JPS60105052A (en) 1983-11-11 1983-11-11 Virtual computer system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP58212203A JPS60105052A (en) 1983-11-11 1983-11-11 Virtual computer system

Publications (2)

Publication Number Publication Date
JPS60105052A true JPS60105052A (en) 1985-06-10
JPH0567972B2 JPH0567972B2 (en) 1993-09-28

Family

ID=16618625

Family Applications (1)

Application Number Title Priority Date Filing Date
JP58212203A Granted JPS60105052A (en) 1983-11-11 1983-11-11 Virtual computer system

Country Status (1)

Country Link
JP (1) JPS60105052A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006012019A1 (en) * 2004-06-30 2006-02-02 Intel Corporation Adaptive algorithm for selecting a virtualization algorithm in virtual machine environments

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS54107647A (en) * 1978-02-13 1979-08-23 Hitachi Ltd Data processor
JPS55112651A (en) * 1979-02-21 1980-08-30 Fujitsu Ltd Virtual computer system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS54107647A (en) * 1978-02-13 1979-08-23 Hitachi Ltd Data processor
JPS55112651A (en) * 1979-02-21 1980-08-30 Fujitsu Ltd Virtual computer system

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006012019A1 (en) * 2004-06-30 2006-02-02 Intel Corporation Adaptive algorithm for selecting a virtualization algorithm in virtual machine environments
US7500244B2 (en) 2004-06-30 2009-03-03 Intel Corporation Adaptive algorithm for selecting a virtualization algorithm in virtual machine environments

Also Published As

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

Similar Documents

Publication Publication Date Title
KR101296025B1 (en) Improving nested virtualization performance in a computer system
JPS58151655A (en) Information processing device
US20180165786A1 (en) Resource sharing on shader processor of gpu
JPS6258341A (en) Input and output interruption processing system
US9715403B2 (en) Optimized extended context management for virtual machines
JPS61206043A (en) Interruption control method in virtual computer system
US12014199B1 (en) Virtualization extension modules
JPWO2013099414A1 (en) Register mapping method
JPH0769818B2 (en) Data processing device
JPH0430053B2 (en)
CN109254826A (en) Virtualization accelerates the hang detection of processing unit
US11169837B2 (en) Fast thread execution transition
JPS63279328A (en) Control system for guest execution of virtual computer system
JPS60105052A (en) Virtual computer system
JPS61184643A (en) Starting control system for virtual computer
JPH0192843A (en) Data processing apparatus and method
JPS6273333A (en) Emulation control system
CN110716750A (en) Method and system for partial wavefront combining
JPS60225944A (en) Virtual machine system
JPS60163134A (en) Virtual computer system
JPS6376028A (en) Method for controlling execution of instruction step in virtual computer system
JP2507789B2 (en) Logical simulation processing method of virtual machine
JPS62120542A (en) Information processor
JP2899009B2 (en) Information processing device
JPH0444131A (en) Device and method for execution of inter-processor communication in plural os running systems