[go: up one dir, main page]

JPS6220035A - Virtual computer system control method - Google Patents

Virtual computer system control method

Info

Publication number
JPS6220035A
JPS6220035A JP15824985A JP15824985A JPS6220035A JP S6220035 A JPS6220035 A JP S6220035A JP 15824985 A JP15824985 A JP 15824985A JP 15824985 A JP15824985 A JP 15824985A JP S6220035 A JPS6220035 A JP S6220035A
Authority
JP
Japan
Prior art keywords
computer
computer system
execution
control method
virtual
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP15824985A
Other languages
Japanese (ja)
Inventor
Shigechika Tsutsui
筒井 茂義
Akiyoshi Miura
三浦 明義
Hidenori Umeno
梅野 英典
Tadahiko Nishimukai
西向井 忠彦
Ikuya Kawasaki
川崎 郁也
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 Microcomputer System Ltd
Hitachi Ltd
Original Assignee
Hitachi Ltd
Hitachi Microcomputer Engineering 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, Hitachi Microcomputer Engineering Ltd filed Critical Hitachi Ltd
Priority to JP15824985A priority Critical patent/JPS6220035A/en
Publication of JPS6220035A publication Critical patent/JPS6220035A/en
Pending legal-status Critical Current

Links

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
(57) [Summary] This bulletin contains application data before electronic filing, so abstract data is not recorded.

Description

【発明の詳細な説明】 〔発明の利用分野〕 本発明は仮想計算機システムの制御方式に係り、特に仮
想計算機システムにおける外部割込みの処理に関する。
DETAILED DESCRIPTION OF THE INVENTION [Field of Application of the Invention] The present invention relates to a control method for a virtual computer system, and particularly to processing of external interrupts in a virtual computer system.

〔発明の背景〕[Background of the invention]

従来、仮想計算機システムの性能を向上させる方式とし
て、特開昭55−112651 号公報に示されるよう
に、仮想計算機(VirtuatMachine。
Conventionally, as a method for improving the performance of a virtual computer system, a virtual machine (Virtual Machine) has been proposed as disclosed in Japanese Patent Laid-Open No. 55-112651.

以下、VMと略す)で実行される特権命令の実行をVM
を管理する制御プログラム(virtuatMachi
ne Control Program以下、VMCP
と略す)においてソフトウェアでシミュレーションによ
り実行することなく直接ハードウェアで実行させる方式
が知られている。しかし、この方式では、計算機の実行
モードおよび計算機の実行レベル等を管理する状態レジ
スタ(5tatus register以下Srと呼ぶ
。PSWとも呼ばれる)を操作する特権命令もVMにお
いて直接実行させるため。
VM (hereinafter abbreviated as VM)
A control program (virtuatMachi) that manages
ne Control Program below, VMCP
A known method is to directly execute the process on hardware without using software simulation. However, in this method, privileged instructions for manipulating a status register (hereinafter referred to as Sr, also referred to as PSW) that manages the execution mode of the computer, the execution level of the computer, etc. are also directly executed in the VM.

実計算機の実行レベルがVMによってセットされる実行
レベルと同一になるためI10終了等の外部割込みをタ
イミング良く実計算機に入れることが困難であった。
Since the execution level of the real computer is the same as the execution level set by the VM, it is difficult to input external interrupts such as I10 termination to the real computer in a timely manner.

仮想計算機システムは、一台の実計算機の資源(中央処
理装置、主記録装置、入出力装置等)のもとてあたかも
複数の計算機が存在するかのごとく制御する計算機シス
テムである。この複数の計算機は各々仮想計算機(VM
)と呼ばれ、実計算機と機能的に等価となるように仮想
計算機制御プロクラム(VMCP)によシミュレーショ
ンされる。各VM上ではオペレーティング・システム(
O8)を実行することができ、1台の実計算機のもとて
複数の異なったO8を見かけ上回時に実行させることが
できる。VMCPは実計算機のハードウェアを制御する
ために特権モードで実行させVMCPが生成したVMは
非特権モードで実行させる。VMは非特権モードで動作
させるため、VM上での特権命令は特権命令例外として
VMCPに報告され、VMCPがシミュレーションを行
なうことによシ実行される。第1図にVMの特権命令シ
ミュレーションの概念図を示す。
A virtual computer system is a computer system that controls the resources of a single real computer (central processing unit, main storage device, input/output device, etc.) as if there were multiple computers. Each of these multiple computers is a virtual computer (VM).
), and is simulated by a virtual machine control program (VMCP) so that it is functionally equivalent to a real computer. On each VM there is an operating system (
O8) can be executed, and a plurality of different O8s can be executed at an apparent time on one actual computer. The VMCP is executed in a privileged mode to control the hardware of the actual computer, and the VM generated by the VMCP is executed in a non-privileged mode. Since the VM operates in a non-privileged mode, a privileged instruction on the VM is reported to the VMCP as a privileged instruction exception, and the VMCP executes it by performing simulation. FIG. 1 shows a conceptual diagram of VM privileged instruction simulation.

次に、上記特権命令のシミュレーションのうち。Next, among the simulations of the above privileged instructions.

Srを制御する特権命令のシミュレーション処理の概要
を説明する。具体的な計算機として本出願人によるM0
68000マイクロコンピュータのアーキテクチャを例
として説明する(たとえば喜田他:「68000マイク
ロコンピユータ」、丸善)。
An overview of the simulation process for privileged instructions that control Sr will be explained. M0 by the applicant as a specific calculator
The architecture of the 68000 microcomputer will be explained as an example (for example, Kida et al., "68000 Microcomputer", Maruzen).

第2図はMC68000におけるS「の構成を示す。FIG. 2 shows the configuration of S'' in MC68000.

Srは特侑モード/非特権モード、実行レベル。Sr is privileged mode/unprivileged mode, execution level.

コンディション・コード等から構成される。実行レベル
は3ビツトにより表わされ、O〜7の実行レベルを持つ
。この実行レベルは外部割込みを受は付けるかどうかの
ハードウェア制御に便用され。
Consists of condition code, etc. The execution level is represented by 3 bits and has execution levels from 0 to 7. This execution level is useful for hardware control of whether or not to accept external interrupts.

実行レベルよシも番号の大きい割込みレベルの信号が発
生すると割込みが受けつけられ、新しい実行レベルは、
今成立した割込みレベルになる。
When an interrupt level signal with a higher number than the execution level occurs, the interrupt is accepted, and the new execution level is set to
It becomes the interrupt level that has just been established.

さて、特権命令のシミュレーションは以下のように行な
う。
Now, the simulation of privileged instructions is performed as follows.

(1)該特権命令をVMのS「に対してシミュレーショ
ンする。
(1) Simulate the privileged instruction on VM S'.

(2)  該特権命令シミュレーションの結果tsrの
実行レベルが低くなった場合、そのVMに対する非同期
割込みがベンディングになっているかを調べる。
(2) If the execution level of tsr becomes low as a result of the privileged instruction simulation, check whether the asynchronous interrupt for that VM is bending.

(3)  (2)の条件が成立したとき、ベンディング
となっている割込み要因を処理し、その後、VMを再度
起動する。
(3) When the condition in (2) is satisfied, process the interrupt factor causing bending, and then restart the VM.

仮想計算機システムにおいて、VMCPによって上記全
ての処理を行なうと実計算機下のO8で実行した場合に
比べてかなりの性能低下が生じる。
In a virtual computer system, if all of the above processing is performed by VMCP, the performance will be significantly degraded compared to when it is executed by O8 under a real computer.

これを防ぐ念め、VM上の%権命令の実行を支援するフ
ァームウェアアシスト(VMA)がある。しかしVMA
処理は、VMCPの一部の処理を代行するものであり基
本的にはシミュレーションと変わりのないものである。
To prevent this, there is a firmware assist (VMA) that supports execution of commands on the VM. But the VMAs
The processing is to take over some of the processing of VMCP, and is basically the same as simulation.

この対策として、さきに述べた特開昭55−11265
1 号公報では、VMにおいて特権命令をハードウェア
により直接高速に実行させる方式とし、このためVM用
の専用のSrを設けている。
As a countermeasure to this problem,
In Publication No. 1, a method is adopted in which a privileged instruction is directly executed at high speed in a VM by hardware, and for this purpose, a dedicated Sr for the VM is provided.

しかしこれは、必要なハードウェア量が増加する。However, this increases the amount of hardware required.

また特許出願特願昭58−186731号公報では、V
Mに実計算機のSrを占有させる方式が示されている。
In addition, in patent application Japanese Patent Application No. 186731/1986, V
A method is shown in which M occupies Sr of a real computer.

VMに実計算機のSrを占有させる方式で問題となるの
は、VMが実計算機のSrを直接制御し、そのため、実
計算機の実行レベルがVMによって任意に制御されるこ
とである。このためにたとえば、VM#Oが動作中にV
M#1がさきにだしたI10動作が終了してもその終了
割込要求がVM#0がその実行レベルを高くして処理す
る場合は、実計算機に受けつけられず、VMCPでの入
出力制御が効率よく行なわれなくなる。このことは場合
によってはシステム全体の性能を低下させる要因になる
A problem with the method of having the VM occupy the Sr of the real computer is that the VM directly controls the Sr of the real computer, and therefore the execution level of the real computer is arbitrarily controlled by the VM. For this reason, for example, when VM#O is operating,
Even if the I10 operation issued earlier by M#1 is completed, if VM#0 raises its execution level and processes the end interrupt request, it will not be accepted by the actual computer, and input/output control in VMCP will be performed. will not be carried out efficiently. This may be a factor that degrades the performance of the entire system.

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

本発明は、特権命令をVMにおいて直接実行させる方式
をとる仮想計算機システムにおいて実計算機の実行レベ
ルをVM実行中には、3rが示す実行レベルに依存しな
いで、割込みを受付は可能にすることを目的とする。
The present invention makes it possible to accept interrupts without depending on the execution level indicated by 3r while the execution level of the real computer is being executed in the VM in a virtual computer system that directly executes privileged instructions in the VM. purpose.

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

上記目的を達成するため本発明ではVM実行中には、実
計算機の、9rが示す実行レベルとは無関係に、外部か
らの割込み要求が発生した場合には。
In order to achieve the above object, in the present invention, when an interrupt request is generated from the outside while the VM is being executed, regardless of the execution level indicated by 9r of the actual computer.

実計算機におい−C割込みを受けつけるようにすること
によって上記問題を解決する点に特徴がある。
The feature is that the above problem is solved by allowing the -C interrupt to be accepted in the actual computer.

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

以下、本発明の実施例を第3図により説明する。 Hereinafter, an embodiment of the present invention will be explained with reference to FIG.

本実施例は、VM実行中を示すレジスタVMF LG3
、その出力の否定をとるインバータ4、実計算機用のS
rlが示す実行レベル1−1と1゛ンバータ4の出力の
ANDをとるANDゲート2−1゜2−2.2−3から
なる。
In this embodiment, a register VMF LG3 indicating that the VM is being executed is used.
, inverter 4 which takes the negation of its output, S for real computer
It consists of an AND gate 2-1, 2-2, and 2-3 that ANDs the execution level 1-1 indicated by rl and the output of the 1-inverter 4.

本発明の動作は以下の通シである。VMCPからVMに
制御が移るとVM’4行中であることを示すためにVM
FLGがセットされる。VMF’LG 3の出力信号の
否定信号がインバータ4により得られANDゲート2−
1〜2−3により、実行レベルとのANDをとる。この
結果、VM実行中、すなわちVMFLG 3がセットさ
れているときには。
The operation of the present invention is as follows. When control is transferred from VMCP to VM, VM'
FLG is set. A negative signal of the output signal of VMF'LG 3 is obtained by an inverter 4 and an AND gate 2-
1 to 2-3 are ANDed with the execution level. As a result, when the VM is running, i.e. when VMFLG 3 is set.

ANDゲート2−1〜2−3の出力はすべて0となる。The outputs of AND gates 2-1 to 2-3 are all 0.

本実施例では、この出力を実計算機の実効的な実行レベ
ルとする。すなわちVM実行中の実計算機の実行レベル
はOとな夛、各レベルの割込みを受けつけることができ
る。
In this embodiment, this output is taken as the effective execution level of the actual computer. That is, the execution level of the actual computer during VM execution is O, and interrupts at each level can be accepted.

本実施例では図示されていないが、外部割込みが受けつ
けられると、ヒートウェアによりVMFLG 32>!
リセットされ、 V M CP K ! り W!l込
み処理が行なわれる。VMCPの実行中は、VMFLG
 3は0であるので8rlにセットされる実行レベル1
−1が、そのまま実計算機の実効実行レベル1−2とな
り、優先割込み方式に基づく −通常の割込み動作とな
る。
Although not shown in this embodiment, when an external interrupt is accepted, VMFLG 32>!
Reset and V M CP K! Ri W! Input processing is performed. While VMCP is running, VMFLG
Since 3 is 0, execution level 1 is set to 8rl.
-1 directly becomes the effective execution level 1-2 of the actual computer, and -based on the priority interrupt method - becomes a normal interrupt operation.

第4図は、VMFLG3のセット/リセットのタイミン
グであるVMEXEC(VM実行開始)命令の実行およ
び外部割込み時のそれぞれマイクロコード・フローを示
すものである。このよウニ、VMFLGは、VMEXE
C命令によpayトされ、外部割込み発生によ)セット
される。
FIG. 4 shows the microcode flow at the time of execution of a VMEXEC (VM execution start) instruction, which is the timing of setting/resetting the VMFLG3, and at the time of an external interrupt. Hello, VMFLG is VMEXE
It is paid by the C instruction and set by the occurrence of an external interrupt.

以下本発明の実施例では、ANDゲートを用いて実現す
る例を示し九が、この制御は計算機の、マイクロコード
を用いても容易に実現できる。
In the following embodiments of the present invention, an example is shown in which the control is implemented using an AND gate, but this control can also be easily implemented using microcode of a computer.

〔発明の効果〕〔Effect of the invention〕

本発明によれば、VMが実計算機の3rを直接制御する
方式をとる仮想計算機システムにおいて、VMが実計算
機のSrを直接制御できることによる高速性を保持しつ
つVM実行中は常に外部割込みが受けつけ可能となるこ
とによる入出力処理の効率化が図れる効果がある。この
ためのハードウェアコストの増加はほとんど無視できる
程度である。
According to the present invention, in a virtual computer system in which a VM directly controls 3r of a real computer, external interrupts are always accepted while the VM is running while maintaining high speed by allowing the VM to directly control Sr of the real computer. This has the effect of increasing the efficiency of input/output processing. The increase in hardware cost for this is almost negligible.

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

第1図は従来性なわれている仮想計算機システムのVM
の特権命令のシミュレーションの概念図。 第2図はマイクロコンピュータM068000を例とす
る状態レジスタの構成を示す図、第3図は本発明による
仮想計算機システムの一実施例の構成図、第4図はVM
モードフラツクのセット/リセットされる状況を説明す
る図である。
Figure 1 shows the VM of a conventional virtual computer system.
A conceptual diagram of the simulation of privileged instructions. FIG. 2 is a diagram showing the configuration of a status register using a microcomputer M068000 as an example, FIG. 3 is a configuration diagram of an embodiment of a virtual computer system according to the present invention, and FIG.
FIG. 3 is a diagram illustrating a situation in which a mode flag is set/reset.

Claims (1)

【特許請求の範囲】 1、計算機の実行状態を制御している状態レジスタを仮
想計算機(VM)で直接制御し、1台の実計算機で複数
のオペレーティング・システムを効率的に実行させる仮
想計算機システムにおいて、VM実行中を識別するレジ
スタを有し、上記識別レジスタがVM実行中を示すとき
、上記状態レジスタが保持する計算機の実行レベルをマ
スクし割込み受付け可能とすることにより、VM実行中
の外部割込みを常に受けつけるように制御できることを
特徴とする仮想計算機システム制御方式。 2、VM実行中に割込みが受けつけられた場合、前記識
別レジスタをリセットすることにより、非VM実行中と
することを特徴とする前記第1項記載の仮想計算機シス
テム制御方式。
[Claims] 1. A virtual computer system in which a virtual machine (VM) directly controls a state register that controls the execution state of a computer, and allows a single real computer to efficiently execute multiple operating systems. The computer has a register that identifies whether the VM is running, and when the identification register indicates that the VM is running, the execution level of the computer held by the status register is masked and interrupts can be accepted. A virtual computer system control method that is characterized by being able to control so that interrupts are always accepted. 2. The virtual machine system control method according to item 1, wherein if an interrupt is accepted during execution of a VM, the identification register is reset to indicate that a non-VM is being executed.
JP15824985A 1985-07-19 1985-07-19 Virtual computer system control method Pending JPS6220035A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP15824985A JPS6220035A (en) 1985-07-19 1985-07-19 Virtual computer system control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP15824985A JPS6220035A (en) 1985-07-19 1985-07-19 Virtual computer system control method

Publications (1)

Publication Number Publication Date
JPS6220035A true JPS6220035A (en) 1987-01-28

Family

ID=15667507

Family Applications (1)

Application Number Title Priority Date Filing Date
JP15824985A Pending JPS6220035A (en) 1985-07-19 1985-07-19 Virtual computer system control method

Country Status (1)

Country Link
JP (1) JPS6220035A (en)

Similar Documents

Publication Publication Date Title
US5511217A (en) Computer system of virtual machines sharing a vector processor
US5187802A (en) Virtual machine system with vitual machine resetting store indicating that virtual machine processed interrupt without virtual machine control program intervention
JPS6258341A (en) I/O interrupt processing method
JPH0430053B2 (en)
JPH0212553A (en) virtual computer system
EP1766518B1 (en) Adaptive algorithm for selecting a virtualization algorithm in virtual machine environments
KR920003044B1 (en) Control system for guest execution of virtual computer system
EP0526911A1 (en) A method and apparatus for coordinating execution of an instruction by a coprocessor
JP3417463B2 (en) Method and system for handling interrupt requests
US20040193394A1 (en) Method for CPU simulation using virtual machine extensions
JPS6220035A (en) Virtual computer system control method
JPS6049352B2 (en) data processing equipment
JPS6376028A (en) Instruction step execution control method in virtual computer system
JPS61184643A (en) Starting control system for virtual computer
JPS60163134A (en) Virtual computer system
JP2866410B2 (en) How to test the program
JPH0646380B2 (en) Information processing equipment
JPH0567972B2 (en)
CN116775215A (en) Virtual machine scheduling method, system, equipment and medium
JPS60225944A (en) Virtual machine system
JPS6116338A (en) Interrupt processing system of virtual computer system
JPH0375832A (en) Virtual machine control system
JPH0290331A (en) Interprocessor communication instruction processing device for virtual computer system
JPH0444131A (en) Execution device and method for inter-processor communication in multiple OS running system
JPS6325736A (en) Interrupt control method in virtual computer system