JP2000020399A - Virtual computer system - Google Patents

Virtual computer system

Info

Publication number
JP2000020399A
JP2000020399A JP10183663A JP18366398A JP2000020399A JP 2000020399 A JP2000020399 A JP 2000020399A JP 10183663 A JP10183663 A JP 10183663A JP 18366398 A JP18366398 A JP 18366398A JP 2000020399 A JP2000020399 A JP 2000020399A
Authority
JP
Japan
Prior art keywords
level
virtual machine
identification
entry
instruction
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
JP10183663A
Other languages
Japanese (ja)
Inventor
Naoki Kubota
直樹 久保田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Hitachi Information Technology Co Ltd
Original Assignee
Hitachi Ltd
Hitachi Information Technology Co 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 Information Technology Co Ltd filed Critical Hitachi Ltd
Priority to JP10183663A priority Critical patent/JP2000020399A/en
Publication of JP2000020399A publication Critical patent/JP2000020399A/en
Pending legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

PROBLEM TO BE SOLVED: To instantaneously judge whether the address buffer entry of a virtual machine on an OS issuing a purge address buffer instruction is to be invalidated or not by operating a flag for discriminating whether the virtual machine exists on the OS or not by an instruction for starting up the virtual machine. SOLUTION: At the time of executing an instruction (SIE instruction) for starting a virtual machine which is issued from a real machine of a level 1 OS, a level 2 validation flag 101 for deciding whether a virtual machine to be a level 2 OS exists or not is validated in a level 1 OS identification entry 100. When the operand address (SP address) of the SIE instruction does not coincide with the SP address 113 of all level 2 OS identification entries 110 validating the virtual machine identification code (VMID) validation flag 112 indicating the validity of the VMID of the virtual machine, the VMID of the virtual machine, the SP address of the SIE instruction and the VMID validation flag 112 are registered in a new level 2 OS identification entry 110.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は、仮想計算機システ
ムに関し、特に、アドレス変換バッファ(TLB)を用
いて効率良く仮想計算機を制御するのに好適な仮想計算
機システムにおけるTLB制御方法に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a virtual machine system, and more particularly, to a TLB control method in a virtual machine system suitable for efficiently controlling a virtual machine using an address translation buffer (TLB).

【0002】[0002]

【従来の技術】従来より、単一の実計算機上で仮想計算
機制御プログラム(VirtualMachine C
ontrol Program、以後、”VMCP”と
略記する)を動作させ、VMCPの制御下で複数の仮想
計算機を構築する仮想計算機システムが知られている。
2. Description of the Related Art Conventionally, a virtual machine control program (Virtual Machine C) is executed on a single real machine.
A virtual computer system is known in which a virtual computer system (hereinafter, abbreviated as "VMCP") is operated to construct a plurality of virtual computers under the control of the VMCP.

【0003】一般に、仮想記憶方式を用いる情報処理装
置においては、仮想計算機から仮想記憶上の命令やデー
タに対するアクセスを行う際に指定される論理アドレス
を、実計算機に設けられている主記憶上の絶対アドレス
(以後、”物理アドレス”と記述する)に変換しなけれ
ばならない。そこで、上記従来の仮想計算機システムで
は、実計算機上で動作中のVMCP(以後、”レベル1
OS”と記述する)が、レベル1OS上の仮想アドレス
空間における論理アドレス(以後、”レベル1論理アド
レス”と記述する)と物理アドレスとの対応関係を示す
アドレス変換テーブル(以後、”レベル1変換テーブ
ル”と記述する)の管理を行って仮想アドレス空間を生
成するとともに、レベル1OSにおける仮想アドレス空
間上で下位レベルの仮想計算機のOS(以後、”レベル
2OS”と記述する)を動作させている。そして、レベ
ル2OSは、レベル2OS上の仮想アドレス空間におけ
る論理アドレス(以後、”レベル2論理アドレス”と記
述する)とレベル1論理アドレスとの対応関係を示すア
ドレス変換テーブル(以後、”レベル2変換テーブル”
と記述する)の管理を行って仮想アドレス空間を生成し
ている。すなわち、レベル2論理アドレスと物理アドレ
スとの変換を行うためには、レベル1変換テーブルおよ
びレベル2変換テーブルの2組のアドレス変換テーブル
を用いてアドレス変換を行う必要があった。
In general, in an information processing apparatus using a virtual storage system, a logical address specified when a virtual computer accesses an instruction or data on the virtual storage is assigned to a logical address on a main storage provided in the real computer. It must be converted to an absolute address (hereinafter referred to as "physical address"). Therefore, in the above-described conventional virtual computer system, the VMCP operating on the real computer (hereinafter referred to as “level 1”)
OS ”) is an address translation table (hereinafter“ Level 1 translation ”) showing a correspondence between a logical address (hereinafter,“ Level 1 logical address ”) and a physical address in a virtual address space on the level 1 OS. In addition to generating a virtual address space by managing a table “described”, an OS of a lower-level virtual machine (hereinafter referred to as “level 2 OS”) operates on the virtual address space in the level 1 OS. The level 2 OS is an address conversion table (hereinafter, referred to as “level 2 OS”) indicating a correspondence between a logical address (hereinafter referred to as “level 2 logical address”) in a virtual address space on the level 2 OS and a level 1 logical address. Conversion table "
) To generate a virtual address space. That is, in order to convert between a level 2 logical address and a physical address, it was necessary to perform address conversion using two sets of address conversion tables, a level 1 conversion table and a level 2 conversion table.

【0004】さらに近年では、レベル1OS(VMC
P)の制御下で動作する仮想計算機であるレベル2OS
の一種としてVMCPを使用することにより、レベル2
OS(VMCP)の制御下で仮想計算機すなわちレベル
3OSをさらに動作させる技術が、例えば特開平4−8
5642号公報において開示されている。
In recent years, level 1 OS (VMC)
Level 2 OS which is a virtual machine operating under the control of P)
Level 2 by using VMCP as a kind of
A technique for further operating a virtual machine, that is, a level 3 OS under the control of the OS (VMCP) is disclosed in, for example, Japanese Patent Laid-Open No.
This is disclosed in Japanese Patent No. 5642.

【0005】また、特開平7−84884における仮想
計算機システムでは、アドレス変換バッファ(以後、”
TLB”と記述する)のフィールドを拡張して、アドレ
ス変換情報に対して当該アドレス変換情報がレベル1O
S、レベル2OSまたはレベル3OSのいずれに関する
ものであるかを識別するための仮想計算機識別子(以
後”VMID”と記述する)を付加することにより、T
LB上にレベル1OS、レベル2OSおよびレベル3O
Sのエントリを同時に保持することを可能としている。
In the virtual machine system disclosed in Japanese Patent Application Laid-Open No. 7-84884, an address translation buffer (hereinafter referred to as "
TLB "), the address translation information is converted to level 10
S, by adding a virtual machine identifier (hereinafter referred to as “VMID”) for identifying which one of the level 2 OS or the level 3 OS is related, T
Level 1 OS, Level 2 OS and Level 30 on LB
S entries can be held at the same time.

【0006】[0006]

【発明が解決しようとする課題】OSが当該OSに関す
る全てのアドレス変換情報を無効化する場合には、TL
Bに登録されている全てのエントリを無効とするパージ
TLB命令(以後、”PTLB”命令と記述する)を発
行する。この時、PTLB命令を発行したのがレベル3
OSであれば、TLB上のレベル3OSに対応するエン
トリのみを無効とする。また、PTLB命令を発行した
のがレベル2OSでレベル2OS上にレベル3OSが存
在する場合、TLB上のレベル2OSに対応するエント
リとレベル3OSに対応するエントリを無効にしなけれ
ばならない。これは、レベル3論理アドレスと物理アド
レスとの個別的な対応関係を示すアドレス変換情報は、
レベル1変換テーブル、レベル2変換テーブルおよびレ
ベル3変換テーブルを参照して生成されるので、レベル
2論理アドレスを無効化すれば、レベル2OSの制御の
もと動作する仮想計算機であるレベル3OSにおける仮
想アドレス空間を示すレベル3論理アドレスも無効にし
なければならないからである。PTLB命令を発行した
のがレベル1OSでレベル1OS上にレベル2OSが存
在する場合も、上記理由により、TLB上のレベル1O
Sに対応するエントリとレベル2OSに対応するエント
リを無効としなければならない。
When the OS invalidates all address translation information relating to the OS, the TL
A purge TLB command (hereinafter referred to as a “PTLB” command) for invalidating all entries registered in B is issued. At this time, the PTLB instruction was issued at level 3
In the case of the OS, only the entry corresponding to the level 3 OS on the TLB is invalidated. If the PTLB instruction is issued by the level 2 OS and the level 3 OS exists on the level 2 OS, the entry corresponding to the level 2 OS and the entry corresponding to the level 3 OS on the TLB must be invalidated. This is because the address conversion information indicating the individual correspondence between the level 3 logical address and the physical address is:
The virtual machine is generated with reference to the level 1 translation table, the level 2 translation table, and the level 3 translation table. Therefore, if the level 2 logical address is invalidated, the virtual computer in the level 3 OS which is a virtual machine operating under the control of the level 2 OS is generated. This is because the level 3 logical address indicating the address space must also be invalidated. When the PTLB instruction is issued at the level 1 OS and the level 2 OS exists on the level 1 OS, the level 10 OS on the TLB is also used for the above reason.
The entry corresponding to S and the entry corresponding to the level 2 OS must be invalidated.

【0007】上述した特開平7−84884における仮
想計算機システムでは、PTLB命令を発行したOS上
に仮想計算機が存在するかを判定する手段として、VM
IDとその実行レベルの2者からなる識別情報エントリ
を複数組保持する構成とし、例えばPTLB命令を発行
したOSがレベル2OSの場合、識別情報エントリの実
行レベルがレベル3OSであるエントリが一以上存在す
るかにより、PTLB命令を発行したOS上に仮想計算
機が存在するかを判定する。つまりもしレベル3OSが
存在しない場合、複数組ある識別情報エントリの実行レ
ベルを全て判定しなければならない。
In the above-described virtual machine system disclosed in JP-A-7-84884, a VM is used as means for determining whether or not a virtual machine exists on the OS that has issued the PTLB instruction.
A configuration is provided in which a plurality of sets of identification information entries each consisting of an ID and its execution level are held. For example, when the OS that issued the PTLB instruction is the level 2 OS, there is at least one entry whose execution level of the identification information entry is the level 3 OS. It is determined whether a virtual machine exists on the OS that has issued the PTLB instruction. That is, if the level 3 OS does not exist, it is necessary to determine all the execution levels of a plurality of sets of identification information entries.

【0008】また上記仮想計算機システムでは、TLB
を無効化する手段として、TLB制御装置により選択し
たVMIDとTLBエントリのVMIDと一致するTL
Bエントリを無効化出来る構成とし、例えばPTLB命
令を発行したOSがレベル2OSの場合、実行レベルが
レベル2OSとレベル3OSのVMIDが存在するTL
Bエントリを全て無効化しなければならない。
In the above virtual computer system, the TLB
As a means for invalidating a TL that matches the VMID selected by the TLB control device and the VMID of the TLB entry.
B entry can be invalidated. For example, when the OS that issued the PTLB instruction is the level 2 OS, the TL in which the VMID of the execution level is the level 2 OS and the level 3 OS is present
All B entries must be invalidated.

【0009】さらにマルチプロセッサ構成において、構
成されている全ての中央処理装置のTLBエントリを無
効とする命令、例えばCSP命令(Compare S
wap and Purge命令)が発行された場合の
処理が、上記仮想計算機システムでは考慮されていなか
った。例えば、上記仮想計算機システムで中央処理装置
間で直接に情報の授受を行う通信手段を備え、VMID
とその実行レベルの2者からなる識別情報エントリを前
記通信手段を介して該他の中央処理装置に通信したとし
ても、情報識別エントリはそれぞれの中央処理装置で独
立に生成されるため、同一のVMIDでも同一仮想計算
機と特定することが出来ない。その結果、情報識別エン
トリを受信する中央処理装置のPTLB処理において、
本来無効化する必要のないTLBエントリを含めて全て
のTLBエントリを無効化してしまう結果となり、TL
Bの使用効率の大幅な低下につながり、仮想計算機シス
テムの性能上無視し得ない問題であった。
Further, in a multiprocessor configuration, an instruction to invalidate TLB entries of all the central processing units configured, for example, a CSP instruction (Compare S)
The processing in the case where a “wap and purge instruction” is issued has not been considered in the virtual computer system. For example, the virtual computer system includes communication means for directly transmitting and receiving information between the central processing units,
Even if an identification information entry composed of two persons having the same execution level is communicated to the other central processing unit via the communication means, the information identification entry is generated independently by each central processing unit. Even with the VMID, it cannot be specified as the same virtual machine. As a result, in the PTLB processing of the central processing unit that receives the information identification entry,
As a result, all TLB entries are invalidated, including TLB entries that do not need to be invalidated.
This leads to a significant decrease in the usage efficiency of B, and is a problem that cannot be ignored in the performance of the virtual machine system.

【0010】本発明の第一の目的は、現在走行している
OS上に仮想計算機が存在するかを識別するフラグを備
えることにより、上記PTLB命令などのTLBに係わ
る処理を実行する場合、PTLB命令を発行したOS上
の仮想計算機のTLBエントリの無効化を行うかの判定
を上記フラグにより、瞬時に判定することが出来る仮想
計算機システムを提供することにある。
[0010] A first object of the present invention is to provide a flag for identifying whether a virtual machine exists on the currently running OS, so as to execute a process related to the TLB such as the PTLB instruction. It is an object of the present invention to provide a virtual machine system capable of instantaneously determining whether to invalidate a TLB entry of a virtual machine on an OS that has issued an instruction by using the flag.

【0011】本発明の第二の目的は、上記PTLB命令
などのTLBに係わる処理を、前記命令を要求する自中
央処理装置において実行する場合、各仮想計算機のVM
IDとTLBエントリのVMIDと一致させない制御を
行うことにより、実際にTLBエントリを無効にするこ
となく、TLB制御装置により選択したVMIDとTL
BエントリのVMIDと一致するTLBエントリを無効
化出来る構成としなくても、TLBエントリを無効にす
るのと同等の効果を得ることが出来る仮想計算機システ
ムを提供することにある。
[0011] A second object of the present invention is to execute a process relating to the TLB such as the PTLB instruction in a local central processing unit which requests the instruction, when the VM of each virtual machine is executed.
By performing control so that the ID does not match the VMID of the TLB entry, the VMID and TL selected by the TLB control device can be used without actually invalidating the TLB entry.
It is an object of the present invention to provide a virtual machine system capable of obtaining the same effect as invalidating a TLB entry without using a configuration that can invalidate a TLB entry that matches a VMID of a B entry.

【0012】本発明の第三の目的は、マルチプロセッサ
構成において、構成されている全ての中央処理装置のア
ドレス変換バッファの無効化を伴う命令の実行に当たり
中央処理装置間で直接に情報の授受を行う通信手段と、
前記命令を発行するOSの実行レベル識別情報を前記通
信手段を介して該他の中央処理装置に送信する手段とを
備えることにより、全ての中央処理装置で前記命令を発
行するOSの実行レベルを認識する事が出来る仮想計算
機システムを提供することにある。
A third object of the present invention is to directly transfer information between central processing units when executing an instruction accompanied by invalidation of the address translation buffers of all the central processing units in a multiprocessor configuration. Communication means to perform;
Means for transmitting the execution level identification information of the OS that issues the instruction to the other central processing unit via the communication unit, so that the execution level of the OS that issues the instruction in all the central processing units can be changed. It is to provide a virtual computer system that can be recognized.

【0013】本発明の第四の目的は、PTLB命令など
のTLBに係わる処理を、前記命令が要求される他中央
処理装置において実行する場合、前記OS実行レベル識
別情報をもとに、無効化する必要があるかの判定が可能
なため、余分なTLBエントリの無効化処理を省略出来
る。また無効化処理が必要な場合、実際にTLBエント
リを無効にすることなく、前記OS実行レベル識別情報
により前記命令を発行するOSの実行レベルを判定し、
各仮想計算機のVMIDとTLBエントリのVMIDと
一致させない制御を行うことにより、実際にTLBエン
トリを無効にすることなく、TLBエントリを無効にす
るのと同等の効果を得ることが出来る仮想計算機システ
ムを提供することにある。
[0013] A fourth object of the present invention is to provide a method for invalidating, based on the OS execution level identification information, when a process relating to a TLB such as a PTLB instruction is executed in another central processing unit which requires the instruction. Since it is possible to determine whether the TLB entry needs to be performed, it is possible to omit the process of invalidating an extra TLB entry. If invalidation processing is required, the execution level of the OS that issues the instruction is determined based on the OS execution level identification information without actually invalidating the TLB entry,
By performing control so that the VMID of each virtual machine does not match the VMID of the TLB entry, a virtual machine system that can achieve the same effect as invalidating the TLB entry without actually invalidating the TLB entry is provided. To provide.

【0014】[0014]

【課題を解決するための手段】(1)前記目的を達成す
るために本発明は、複数の仮想計算機を備えた2台以上
の中央処理装置と、各仮想計算機のそれぞれから共有さ
れる主記憶装置と、各仮想計算機が過去に主記憶装置を
アクセスした時の論理アドレスと該論理アドレスに対応
する絶対アドレスとアクセス元の仮想計算機に割り当て
られた仮想計算機識別符号および前記仮想計算機の実行
レベル識別情報を1組にして複数組記憶する複数のエン
トリを備え、各仮想計算機が主記憶装置をアクセスする
時に前記エントリを参照して論理アドレスを絶対アドレ
スに変換するアドレス変換バッファを備えた仮想計算機
システムにおいて、実行レベル識別情報がレベル1OS
である実計算機について、前記実計算機の仮想計算機識
別符号と前記実計算機上にレベル2OSである仮想計算
機が存在するかを識別するフラグの2者からなるレベル
1OS識別エントリと、仮想計算機の実行レベル識別情
報がレベル2OSである仮想計算機の各々について、前
記仮想計算機の仮想計算機識別符号と前記仮想計算機を
起動する命令のオペランドアドレスと前記仮想計算機の
仮想計算機識別符号の有効性を示すフラグと前記仮想計
算機上にレベル3OSである仮想計算機が存在するかを
識別するフラグの4者からなるレベル2OS識別エント
リと、仮想計算機の実行レベル識別情報がレベル3OS
である仮想計算機の各々について、前記仮想計算機の仮
想計算機識別符号と前記仮想計算機を起動する命令のオ
ペランドアドレスと前記仮想計算機の仮想計算機識別符
号の有効性を示すフラグの3者からなるレベル3OS識
別エントリとを備え、レベル1OSの実計算機が発行す
る仮想計算機を起動する命令の実行に当たり、前記レベ
ル1OS識別エントリのレベル2OSである仮想計算機
が存在するかを識別するフラグを有効にする手段と、前
記命令のオペランドアドレスと前記仮想計算機の仮想計
算機識別符号の有効性を示すフラグが有効である全ての
レベル2OS識別エントリのオペランドアドレスが一致
しない場合、前記仮想計算機の仮想計算機識別符号と前
記仮想計算機を起動する命令のオペランドアドレスと仮
想計算機識別符号の有効性を示すフラグとを新たなレベ
ル2OS識別エントリに登録する手段と、レベル2OS
の実計算機が発行する仮想計算機を起動する命令の実行
に当たり、前記レベル2OS識別エントリのレベル3O
Sである仮想計算機が存在するかを識別するフラグを有
効にする手段と、前記命令のオペランドアドレスと仮想
計算機の仮想計算機識別符号の有効性を示すフラグが有
効である全てのレベル3OS識別エントリのオペランド
アドレスが一致しない場合、前記仮想計算機の仮想計算
機識別符号と前記仮想計算機を起動する命令のオペラン
ドアドレスと前記仮想計算機の仮想計算機識別符号の有
効性を示すフラグとを新たなレベル3OS識別エントリ
に登録する手段とを具備する構成としたものである。
(1) To achieve the above object, the present invention provides two or more central processing units provided with a plurality of virtual machines, and a main memory shared by each of the virtual machines. A device, a logical address when each virtual machine has accessed the main storage device in the past, an absolute address corresponding to the logical address, a virtual machine identification code assigned to the virtual machine of the access source, and an execution level identification of the virtual machine A virtual computer system including a plurality of entries for storing a plurality of sets of information as one set, and an address translation buffer for translating a logical address to an absolute address by referring to the entry when each virtual machine accesses the main storage device , The execution level identification information is a level 1 OS
A level 1 OS identification entry consisting of a virtual computer identification code of the real computer and a flag for identifying whether a virtual computer that is a level 2 OS exists on the real computer, and an execution level of the virtual computer For each virtual machine whose identification information is level 2OS, a virtual machine identification code of the virtual machine, an operand address of an instruction for starting the virtual machine, a flag indicating the validity of the virtual machine identification code of the virtual machine, and the virtual machine A level 2 OS identification entry made up of four flags for identifying whether a virtual machine that is a level 3 OS exists on the computer, and the execution level identification information of the virtual machine is a level 3 OS
For each of the virtual machines, a level 3 OS identification consisting of a virtual machine identification code of the virtual machine, an operand address of an instruction for starting the virtual machine, and a flag indicating the validity of the virtual machine identification code of the virtual machine. Means for validating a flag for identifying whether there is a virtual machine which is a level 2 OS of the level 1 OS identification entry when executing an instruction for starting a virtual machine issued by a real computer of the level 1 OS; If the operand address of the instruction does not match the operand address of any level 2 OS identification entry for which the flag indicating the validity of the virtual computer identification code of the virtual computer is valid, the virtual computer identification code of the virtual computer and the virtual computer Address and virtual machine identification code of the instruction that invokes Means for registering a flag indicating validity to a new level 2OS identification entry level 2OS
Executing the instruction for starting the virtual machine issued by the real machine of
Means for enabling a flag for identifying whether or not a virtual machine which is S exists; and for all level 3 OS identification entries for which the operand address of the instruction and the flag indicating the validity of the virtual machine identification code of the virtual machine are valid. If the operand addresses do not match, the virtual machine identification code of the virtual machine, the operand address of the instruction for starting the virtual machine, and a flag indicating the validity of the virtual machine identification code of the virtual machine are added to the new level 3 OS identification entry. And a registration means.

【0015】(2)そして、(1)の構成に加えて、レ
ベル1OSの実計算機が発行するアドレス変換バッファ
の無効化を伴う命令の自中央処理装置における処理の実
行に当たり、前記実計算機に新しい実計算機の仮想計算
機識別符号を記憶させておき、前記実計算機上にレベル
2OSである仮想計算機が存在するかを識別するフラグ
が有効の場合、全てのレベル2OS識別エントリを参照
し、レベル2OS識別エントリの仮想計算機識別符号の
有効性フラグが有効であるエントリが存在する場合、有
効である全てのエントリの前記フラグを無効にし、レベ
ル3OSである仮想計算機が存在するかを識別するフラ
グが有効であるエントリが存在する場合、全てのレベル
3OS識別エントリを参照し、レベル3OS識別エント
リの仮想計算機識別符号の有効性フラグが有効であるエ
ントリが存在する場合、有効である全てのエントリの前
記フラグを無効にし、レベル2OSの仮想計算機が発行
するアドレス変換バッファの無効化を伴う命令の自中央
処理装置における処理の実行に当たり、前記仮想計算機
に新しい仮想計算機の仮想計算機識別符号を記憶させて
おき、前記仮想計算機上にレベル3OSである仮想計算
機が存在するかを識別するフラグが有効の場合、全ての
レベル3OS識別エントリを参照し、レベル3OS識別
エントリの仮想計算機識別符号の有効性フラグが有効で
あるエントリが存在する場合、有効である全てのエント
リの前記フラグを無効にし、レベル3OSの仮想計算機
が発行するアドレス変換バッファの無効化を伴う命令の
自中央処理装置における処理の実行に当たり、前記仮想
計算機に新しい仮想計算機の仮想計算機識別符号を記憶
させておき、全てのアドレス変換バッファエントリの仮
想計算機識別符号と一致させないようにしたものであ
る。
(2) In addition to the configuration of (1), in executing the processing in the own central processing unit of the instruction accompanied by invalidation of the address translation buffer issued by the real computer of the level 1 OS, the real computer has a new configuration. The virtual computer identification code of the real computer is stored, and if the flag for identifying whether a virtual computer that is a level 2 OS exists on the real computer is valid, all the level 2 OS identification entries are referred to and the level 2 OS identification is referred to. If there is an entry for which the validity flag of the virtual machine identification code of the entry is valid, the flags of all valid entries are invalidated, and the flag for identifying whether a virtual machine which is a level 3 OS exists is valid. When a certain entry exists, all the level 3 OS identification entries are referred to, and the virtual computer ID of the level 3 OS identification entry is referred to. If there is an entry for which the code validity flag is valid, the flag of all valid entries is invalidated, and the local central processing unit of the instruction accompanied by invalidation of the address translation buffer issued by the virtual machine of the level 2 OS In executing the processing in the above, when the virtual machine identification code of the new virtual machine is stored in the virtual machine, and the flag for identifying whether the virtual machine which is the level 3 OS exists on the virtual machine is valid, With reference to the level 3 OS identification entry, if there is an entry in which the validity flag of the virtual machine identification code of the level 3 OS identification entry is valid, the flags of all valid entries are invalidated, and the level 3 OS virtual machine Execution of processing in the local central processing unit of an instruction accompanied by invalidation of an address translation buffer to be issued Per, in which as the may be stored the virtual machine identification code of the new virtual machine to the virtual machine, not coincide with the virtual computer identification codes of all the address translation buffer entries.

【0016】(3)また、前記中央処理装置間で直接に
情報の授受を行う通信手段と、マルチプロセッサ構成に
おいて、構成されている全ての中央処理装置のアドレス
変換バッファの無効化を伴う命令の実行に当たり、前記
命令を発行するOSの実行レベル識別情報を前記通信手
段を介して該他の中央処理装置に送信する手段とを具備
する構成としたものである。
(3) Communication means for directly transmitting and receiving information between the central processing units, and in a multiprocessor configuration, instructions for invalidating address translation buffers of all the configured central processing units. Upon execution, means for transmitting execution level identification information of the OS issuing the command to the other central processing unit via the communication means is provided.

【0017】(4)さらに、(1)の構成に加えて、各
レベルOSの計算機が発行するアドレス変換バッファの
無効化を伴う命令の他中央処理装置における処理の実行
に当たり、現在走行しているレベルの計算機に新しい仮
想計算機識別符号を記憶させておき、請求項3記載の通
信手段により送信されるOSの実行レベル識別情報がレ
ベル1OSの場合、全てのレベル2OS識別エントリ及
びレベル3識別エントリを参照し、レベル2OS識別エ
ントリ及びレベル3OS識別エントリの仮想計算機識別
符号の有効性フラグが有効であるエントリが存在する場
合、有効である全てのエントリの前記フラグを無効に
し、前記通信手段により送信されるOSの実行レベル識
別情報がレベル2OSの場合、全てのレベル2OS識別
エントリ及びレベル3識別エントリを参照し、レベル2
OS識別エントリ及びレベル2OS識別エントリの仮想
計算機識別符号の有効性フラグが有効であるエントリが
存在する場合、有効である全てのエントリの前記フラグ
を無効にし、前記通信手段により送信されるOSの実行
レベル識別情報がレベル3OSの場合、全てのレベル3
OS識別エントリを参照し、レベル2OS識別エントリ
及びレベル2OS識別エントリの仮想計算機識別符号の
有効性フラグが有効であるエントリが存在する場合、有
効である全てのエントリの前記フラグを無効にし、全て
のアドレス変換バッファエントリの仮想計算機識別符号
と一致させないようにしたものである。
(4) In addition to the configuration of (1), in addition to the instruction issued by the computer of each level OS and accompanied by invalidation of the address translation buffer, the CPU is currently running in executing the processing in the central processing unit. A new virtual machine identification code is stored in the computer of the level, and when the execution level identification information of the OS transmitted by the communication means is the level 1 OS, all the level 2 OS identification entries and the level 3 identification entries are stored. If there is an entry for which the validity flags of the virtual machine identification codes of the level 2 OS identification entry and the level 3 OS identification entry are valid, the flags of all valid entries are invalidated and transmitted by the communication means. If the execution level identification information of the OS is level 2 OS, all the level 2 OS identification entries and level Referring to identify entry level 2
When there is an entry in which the validity flags of the virtual machine identification codes of the OS identification entry and the level 2 OS identification entry are valid, the flags of all valid entries are invalidated, and the execution of the OS transmitted by the communication means is executed. If the level identification information is level 3 OS, all level 3
With reference to the OS identification entry, if there is an entry where the validity flag of the level 2 OS identification entry and the virtual machine identification code of the level 2 OS identification entry is valid, the flags of all valid entries are invalidated, and all the valid entries are invalidated. This does not match the virtual machine identification code of the address translation buffer entry.

【0018】[0018]

【発明の実施の形態】以下、本発明の仮想計算機システ
ムの実施例をいくつかの図面を用いて詳細に説明する。
DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, embodiments of the virtual machine system of the present invention will be described in detail with reference to some drawings.

【0019】図1は、本発明の仮想計算機システムの一
実施例の構成を示す機能ブロック図である。
FIG. 1 is a functional block diagram showing the configuration of one embodiment of the virtual machine system of the present invention.

【0020】(実施例1)図1において、100はレベ
ル1OS識別エントリであり、実計算機上にレベル2O
Sである仮想計算機が存在するかを識別するレベル2O
S有効フラグ101と前記実計算機のVMID102か
ら構成され、103はレベル1OS識別エントリスタッ
クであり、1組のレベル1OS識別エントリ100から
構成される。
(Embodiment 1) In FIG. 1, reference numeral 100 denotes a level 1 OS identification entry.
Level 20 for identifying whether there is a virtual machine that is S
It is composed of an S valid flag 101 and the VMID 102 of the real computer. Reference numeral 103 denotes a level 1 OS identification entry stack, which is composed of a set of level 1 OS identification entries 100.

【0021】110はレベル2OS識別エントリであり
仮想計算機上にレベル3OSである仮想計算機が存在す
るかを識別するレベル3OS有効フラグ111と前記仮
想計算機のVMIDの有効性を示すVMID有効フラグ
112と前記仮想計算機を起動する命令(以後、”SI
E命令”と記述する)のオペランドアドレス113(以
後、”SDアドレス”と記述する)と前記仮想計算機の
VMID114から構成され、115はレベル2OS識
別エントリスタックであり、複数組のレベル2OS識別
エントリ110から構成される。
Reference numeral 110 denotes a level 2 OS identification entry, which is a level 3 OS valid flag 111 for identifying whether a virtual machine which is a level 3 OS exists on the virtual machine, a VMID valid flag 112 indicating validity of the VMID of the virtual machine, and An instruction to start the virtual machine (hereinafter “SI
An E-instruction "is described. The operand address 113 (hereinafter, referred to as" SD address ") and the VMID 114 of the virtual machine. Reference numeral 115 denotes a level 2 OS identification entry stack. Consists of

【0022】120はレベル3OS識別エントリであり
仮想計算機のVMIDの有効性を示すVMID有効フラ
グ121と前記仮想計算機を起動するSIE命令のSD
アドレス122と前記仮想計算機のVMID123から
構成され、124はレベル3OS識別エントリスタック
であり、複数組のレベル3OS識別エントリ120から
構成され、125はレベル3OS識別エントリスタック
群であり、複数組のレベル3OS識別エントリスタック
124から構成される。
Reference numeral 120 denotes a level 3 OS identification entry, which is a VMID valid flag 121 indicating the validity of the VMID of the virtual machine, and an SD of an SIE instruction for starting the virtual machine.
It comprises an address 122 and a VMID 123 of the virtual machine. Reference numeral 124 denotes a level 3 OS identification entry stack, which comprises a plurality of sets of level 3 OS identification entries 120. Reference numeral 125 denotes a group of level 3 OS identification entry stacks. It comprises an identification entry stack 124.

【0023】130はレベル2OSを起動するSIE命
令の時、セットされるレベル2OSSDアドレスレジス
タであり、131はレベル3OSを起動するSIE命令
の時、セットされるレベル3OSSDアドレスレジスタ
である。
Reference numeral 130 denotes a level 2 OSSD address register that is set when an SIE instruction for activating a level 2 OS is provided, and 131 is a level 3 OSSD address register that is set when an SIE instruction for activating a level 3 OS is performed.

【0024】ANDゲート140は、VMID有効フラ
グ112とSDアドレス113の論理積をとるANDゲ
ートであり、ANDゲート141は、VMID有効フラ
グ121とSDアドレス122の論理積をとるANDゲ
ートである。
The AND gate 140 is an AND gate that takes the logical product of the VMID valid flag 112 and the SD address 113, and the AND gate 141 is the AND gate that takes the logical product of the VMID valid flag 121 and the SD address 122.

【0025】比較器150は、レベル2OSSDアドレ
スレジスタ130の値とANDゲート140から送出さ
れるデータを比較するデータの比較器であり、比較器1
51は、レベル3OSSDアドレスレジスタ131の値
とANDゲート141から送出されるデータを比較する
データの比較器である。
The comparator 150 is a data comparator for comparing the value of the level 2 OSSD address register 130 with the data sent from the AND gate 140.
Reference numeral 51 denotes a data comparator for comparing the value of the level 3 OSSD address register 131 with the data sent from the AND gate 141.

【0026】MAXVMIDレジスタ160は、VMI
Dの最大値を保持するレジスタであり、加算器170は
MAXVMIDレジスタ160の値と1を加算する加算
器である。
The MAXVMID register 160 stores the VMI
A register that holds the maximum value of D, and an adder 170 is an adder that adds 1 to the value of the MAXVMID register 160.

【0027】セレクタ180は、MAXVMIDレジス
タ160の値とVMID114の値を、比較器150か
ら送出されるデータ比較一致を示すヒット信号によって
選択し、送出するセレクタであり、セレクタ181は、
MAXVMIDレジスタ160の値とVMID14の値
を、比較器151から送出されるデータ比較一致を示す
ヒット信号によって選択し、送出するセレクタである。
The selector 180 is a selector for selecting and sending the value of the MAXVMID register 160 and the value of the VMID 114 by a hit signal indicating a data comparison match sent from the comparator 150, and sending the selected value.
This selector selects the value of the MAXVMID register 160 and the value of the VMID 14 based on a hit signal indicating a data comparison match transmitted from the comparator 151, and transmits the same.

【0028】OSレベルレジスタ27は走行しているO
Sのレベルを保持しているレジスタである。
The OS level register 27 stores the running O
This register holds the S level.

【0029】セレクタ28は、セレクタ25から送出さ
れるデータとセレクタ26から送出されるデータを、O
Sレベルレジスタの値によって選択し、送出するセレク
タである。
The selector 28 converts the data sent from the selector 25 and the data sent from the selector 26 into O
This is a selector that selects and sends out according to the value of the S level register.

【0030】192はアドレス変換バッファ(TLB)
である。
192 is an address translation buffer (TLB)
It is.

【0031】VMIDレジスタ193は、TLB192
の登録及びHIT判定に使用されるVMIDを保持する
レジスタである。
The VMID register 193 stores the TLB 192
This is a register for holding a VMID used for registration of HIT and HIT determination.

【0032】図2は、図1の仮想計算機システムにおけ
るSIE命令の処理を示す説明図である。
FIG. 2 is an explanatory diagram showing the processing of the SIE instruction in the virtual machine system of FIG.

【0033】(1)SIE命令を発行したOSがレベル
1OSであった場合。この場合、OSレベルレジスタ1
90には1(レベル1OS)が設定されているため、ス
テップ200からステップ201に分岐する。ステップ
201では、SIE命令のSDアドレスをレベル2OS
SDアドレスレジスタ130に設定する。
(1) When the OS that issued the SIE instruction is the level 1 OS. In this case, the OS level register 1
Since 1 (level 1 OS) is set in 90, the process branches from step 200 to step 201. In step 201, the SD address of the SIE instruction is
Set in the SD address register 130.

【0034】ステップ202では、OSレベルレジスタ
190に2(レベル2OS)を設定する。
In step 202, 2 (level 2 OS) is set in the OS level register 190.

【0035】さらに、ステップ203では、レベル1O
S識別エントリ100のうち、実計算機上にレベル2O
Sである仮想計算機が存在するかを識別するレベル2O
S有効フラグ101に1を登録する。
Further, in step 203, level 10
Of the S identification entries 100, the level 20
Level 20 for identifying whether there is a virtual machine that is S
“1” is registered in the S valid flag 101.

【0036】ステップ204では、有効なVMIDが存
在するかを判定する処理が行われる。レベル2OS識別
エントリスタック115内に存在するレベル2OS識別
エントリ110のSDアドレス113とレベル2OSS
Dアドレスレジスタ130に設定されている値を、比較
器150により比較する。なおこの比較器150に送出
されるSDアドレス113は、ANDゲート140によ
り同一レベル2OS識別エントリ110のVMID有効
フラグ112が1のSDアドレス113のみ送出され
る。比較器150により、SDアドレス113とレベル
2OSSDアドレスレジスタ130に設定されている値
を比較することにより、SIE命令で起動する仮想計算
機の有効なレベル2OS識別エントリ110が存在する
かどうかを識別し、この結果に応じて分岐する。
In step 204, processing is performed to determine whether a valid VMID exists. The SD address 113 of the level 2 OS identification entry 110 existing in the level 2 OS identification entry stack 115 and the level 2 OSS
The value set in the D address register 130 is compared by the comparator 150. As for the SD address 113 sent to the comparator 150, only the SD address 113 whose VMID valid flag 112 of the same level 2 OS identification entry 110 is 1 is sent out by the AND gate 140. The comparator 150 compares the SD address 113 with the value set in the level 2 OSSD address register 130 to identify whether there is a valid level 2 OS identification entry 110 of the virtual machine activated by the SIE instruction, Branch according to this result.

【0037】有効なレベル2OS識別エントリ110が
存在しない場合。この場合には、ステップ204からス
テップ205に分岐する。ステップ205では、SIE
命令で起動する仮想計算機の有効なレベル2OS識別エ
ントリ110が存在しないため、レベル2OS識別エン
トリ110の新規登録処理が行われる。レベル3OS有
効フラグ111はレベル3OSは存在しないため0とし
て登録される。またSDアドレス113には、レベル2
OSSDアドレスレジスタ130の値を設定する。そし
て加算器170により出力されるMAXVMIDレジス
タ160の値と1を加算した値がセレクタ180により
選択され、さらにOSレベルレジスタ190には2(レ
ベル2OS)が設定されているため、MAXVMIDレ
ジスタ160の値と1を加算した値がセレクタ191に
より選択され、この値をVMID114に登録する。さ
らにVMID有効フラグ112を1として登録する。
When no valid level 2 OS identification entry 110 exists. In this case, the process branches from step 204 to step 205. In step 205, the SIE
Since there is no valid level 2 OS identification entry 110 of the virtual machine activated by the instruction, new registration processing of the level 2 OS identification entry 110 is performed. The level 3OS valid flag 111 is registered as 0 because there is no level 3OS. The SD address 113 has a level 2
The value of the OSSD address register 130 is set. The value obtained by adding 1 to the value of the MAXVMID register 160 output by the adder 170 is selected by the selector 180, and 2 (level 2OS) is set in the OS level register 190. The value obtained by adding 1 to 1 is selected by the selector 191, and this value is registered in the VMID 114. Further, the VMID valid flag 112 is registered as 1.

【0038】ステップ206では、セレクタ191によ
り選択される、MAXVMIDレジスタ160の値と1
を加算した値により、VMIDレジスタ193が更新さ
れる。
In step 206, the value of the MAXVMID register 160 and 1
Is updated in the VMID register 193.

【0039】ステップ207では、MAXVMIDの更
新処理が行われ、加算器170により出力されるMAX
VMIDレジスタ160の値と1を加算した値により、
MAXVMIDレジスタ160が更新される。
In step 207, the process of updating the MAXVMID is performed, and the MAX
By the value obtained by adding 1 to the value of the VMID register 160,
The MAXVMID register 160 is updated.

【0040】有効なレベル2OS識別エントリ110が
存在する場合。この場合には、ステップ204からステ
ップ208に分岐する。ステップ208では、SIE命
令で起動する仮想計算機の有効なレベル2OS識別エン
トリ110が存在するため、一致したレベル2OS識別
エントリ110の継続制御処理が行われる。VMID1
14がセレクタ180により選択され、さらにOSレベ
ルレジスタ190には2(レベル2OS)が設定されて
いるため、VMID114値がセレクタ191により選
択され、この値によりVMIDレジスタ193が更新さ
れる。
When a valid level 2 OS identification entry 110 exists. In this case, the process branches from step 204 to step 208. In step 208, since there is a valid level 2 OS identification entry 110 of the virtual machine activated by the SIE instruction, continuation control processing of the matched level 2 OS identification entry 110 is performed. VMID1
Since 14 is selected by the selector 180 and 2 (level 2 OS) is set in the OS level register 190, the VMID 114 value is selected by the selector 191 and the VMID register 193 is updated with this value.

【0041】SIE命令を発行したOSがレベル3OS
であった場合。この場合、OSレベルレジスタ190に
は2(レベル2OS)が設定されているため、ステップ
200からステップ211に分岐する。
The OS that issued the SIE instruction is a level 3 OS
If it was. In this case, since 2 (level 2 OS) is set in the OS level register 190, the process branches from step 200 to step 211.

【0042】ステップ211では、SIE命令のSDア
ドレスをレベル3OSSDアドレスレジスタ131に設
定する。
In step 211, the SD address of the SIE instruction is set in the level 3 OSSD address register 131.

【0043】ステップ212では、OSレベルレジスタ
190に3(レベル3OS)を設定する。
In step 212, 3 (level 3 OS) is set in the OS level register 190.

【0044】ステップ213では、SIE命令を発行し
たレベル2OSのレベル2OS識別エントリ110のう
ち、仮想計算機上にレベル3OSである仮想計算機が存
在するかを識別するレベル3OS有効フラグ111に1
を登録する。
In step 213, of the level 2 OS identification entry 110 of the level 2 OS that has issued the SIE instruction, the level 3 OS valid flag 111 for identifying whether or not a virtual machine which is a level 3 OS exists on the virtual machine is set to 1
Register

【0045】ステップ214では、有効なVMIDが存
在するかを判定する処理が行われる。SIE命令を発行
したレベル2OSのレベル2OS識別エントリ110に
対応するレベル3OS識別エントリスタック115が、
レベル3OS識別エントリスタック群125より選択さ
れ、レベル3OS識別エントリスタック115内に存在
するレベル3OS識別エントリ120のSDアドレス1
22とレベル3OSSDアドレスレジスタ131に設定
されている値を、比較器151により比較する。なおこ
の比較器151に送出されるSDアドレス122は、A
NDゲート141により同一レベル3OS識別エントリ
120のVMID有効フラグ121が1のSDアドレス
122のみ送出される。比較器151により、SDアド
レス122とレベル3OSSDアドレスレジスタ131
に設定されている値を比較することにより、SIE命令
で起動する仮想計算機の有効なレベル3OS識別エント
リ120が存在するかどうかを識別し、この結果に応じ
て分岐する。
In step 214, processing is performed to determine whether a valid VMID exists. The level 3 OS identification entry stack 115 corresponding to the level 2 OS identification entry 110 of the level 2 OS that issued the SIE instruction is:
SD address 1 of the level 3 OS identification entry 120 selected from the level 3 OS identification entry stack group 125 and existing in the level 3 OS identification entry stack 115
22 is compared with the value set in the level 3 OSSD address register 131 by the comparator 151. The SD address 122 sent to the comparator 151 is A
The ND gate 141 sends out only the SD address 122 in which the VMID valid flag 121 of the same level 3 OS identification entry 120 is 1. The comparator 151 uses the SD address 122 and the level 3 OSSD address register 131
By comparing the values set in the SIE instruction, it is determined whether there is a valid level 3 OS identification entry 120 of the virtual machine activated by the SIE instruction, and the process branches according to the result.

【0046】有効なレベル3OS識別エントリ120が
存在しない場合。この場合には、ステップ214からス
テップ215に分岐する。ステップ215では、SIE
命令で起動する仮想計算機の有効なレベル3OS識別エ
ントリ120が存在しないため、レベル3OS識別エン
トリ120の新規登録処理が行われる。SDアドレス1
22には、レベル3OSSDアドレスレジスタ131の
値を設定する。そして加算器170により出力されるM
AXVMIDレジスタ160の値と1を加算した値がセ
レクタ181により選択され、さらにOSレベルレジス
タ190には3(レベル3OS)が設定されているた
め、MAXVMIDレジスタ160の値と1を加算した
値がセレクタ191により選択され、この値をVMID
114に登録する。さらにVMID有効フラグ121を
1として登録する。
When no valid level 3 OS identification entry 120 exists. In this case, the process branches from step 214 to step 215. In step 215, the SIE
Since there is no valid level 3 OS identification entry 120 of the virtual machine activated by the instruction, new registration processing of the level 3 OS identification entry 120 is performed. SD address 1
In 22, the value of the level 3 OSSD address register 131 is set. M output from the adder 170
Since a value obtained by adding 1 to the value of the AXVMID register 160 is selected by the selector 181, and 3 (level 3 OS) is set in the OS level register 190, a value obtained by adding 1 to the value of the MAXVMID register 160 is used as the selector. 191 and this value is
Register at 114. Further, the VMID valid flag 121 is registered as 1.

【0047】ステップ216では、セレクタ191によ
り選択される、MAXVMIDレジスタ160の値と1
を加算した値により、VMIDレジスタ193が更新さ
れる。
At step 216, the value of the MAXVMID register 160 and 1
Is updated in the VMID register 193.

【0048】ステップ217では、MAXVMIDの更
新処理が行われ、加算器170により出力されるMAX
VMIDレジスタ160の値と1を加算した値により、
MAXVMIDレジスタ160が更新される。
At step 217, the process of updating the MAXVMID is performed, and the MAX
By the value obtained by adding 1 to the value of the VMID register 160,
The MAXVMID register 160 is updated.

【0049】有効なレベル3OS識別エントリ120が
存在する場合。この場合には、ステップ214からステ
ップ218に分岐する。ステップ218では、SIE命
令で起動する仮想計算機の有効なレベル3OS識別エン
トリ120が存在するため、一致したレベル2OS情識
別エントリ120の継続制御処理が行われる。VMID
123がセレクタ181により選択され、さらにOSレ
ベルレジスタ190には3(レベル3OS)が設定され
ているため、VMID123値がセレクタ191により
選択され、この値によりVMIDレジスタ193が更新
される。
When a valid level 3 OS identification entry 120 exists. In this case, the process branches from step 214 to step 218. In step 218, since there is a valid level 3 OS identification entry 120 of the virtual machine activated by the SIE instruction, continuation control processing of the matching level 2 OS information identification entry 120 is performed. VMID
123 is selected by the selector 181, and since 3 (level 3 OS) is set in the OS level register 190, the VMID 123 value is selected by the selector 191 and the VMID register 193 is updated with this value.

【0050】図3は、図1の仮想計算機システムにおけ
る、自中央処理装置のPTLBの処理を示す説明図であ
る。PTLB処理が発行されると、ステップ300でO
Sレベルレジスタ190により、現在のOSのレベルす
なわちPTLB処理を発行するOSのレベルを識別し、
そのレベルに応じて分岐する。
FIG. 3 is an explanatory diagram showing the processing of the PTLB of the own central processing unit in the virtual computer system of FIG. When the PTLB processing is issued, at step 300, O
The S level register 190 identifies the current OS level, that is, the OS level that issues the PTLB process,
Branch according to the level.

【0051】PTLB処理を発行したOSがレベル1O
Sであった場合。この場合には、ステップ300からス
テップ311に分岐する。ステップ311ではレベル1
OS識別エントリスタック103内のレベル1OS識別
エントリ100を参照する。ステップ312では、上記
エントリ内のレベル2OS有効フラグ101の値に応じ
て分岐する。
The OS that has issued the PTLB processing is level 10
If S. In this case, the process branches from step 300 to step 311. Level 3 in step 311
Reference is made to the level 1 OS identification entry 100 in the OS identification entry stack 103. In step 312, the process branches depending on the value of the level 2 OS valid flag 101 in the entry.

【0052】レベル2OS有効フラグ101が0の場
合。この場合には、ステップ312から320に分岐す
る。
When the level 2 OS valid flag 101 is 0. In this case, the process branches from step 312 to 320.

【0053】レベル2OS有効フラグ101が1の場
合。この場合には、ステップ311から330に分岐す
る。ステップ330では、レベル2OS識別エントリス
タック115内の複数あるレベル2OS識別エントリ1
10を参照し、同エントリ内のVMID有効フラグ11
2が1である全てのエントリに対し、VMIDの無効化
処理(有効フラグ7を0にする。)を行う。
When the level 2 OS valid flag 101 is 1. In this case, the process branches from step 311 to 330. In step 330, a plurality of level 2 OS identification entries 1 in the level 2 OS identification entry stack 115
10 and the VMID valid flag 11 in the same entry.
The VMID is invalidated (valid flag 7 is set to 0) for all entries in which 2 is 1.

【0054】ステップ331では、レベル2OS識別エ
ントリスタック115内の複数あるレベル2OS識別エ
ントリ110を参照する。
In step 331, a plurality of level 2 OS identification entries 110 in the level 2 OS identification entry stack 115 are referred to.

【0055】ステップ332では、上記エントリ内のレ
ベル3OS有効フラグ11の値に応じて分岐する。
In step 332, the process branches depending on the value of the level 3 OS valid flag 11 in the entry.

【0056】レベル3OS有効フラグ111が全て0の
場合。この場合には、ステップ332から320に分岐
する。
When all the level 3 OS valid flags 111 are 0. In this case, the process branches from step 332 to 320.

【0057】レベル3OS有効フラグ111が全て0で
ない場合。この場合には、ステップ332から340に
分岐する。ステップ340では、レベル3OS有効フラ
グが1であるレベル2OS識別エントリ110に対応す
るレベル3OS識別エントリスタック124をレベル3
OS識別エントリスタック群125より選択する。
When the level 3 OS valid flag 111 is not all 0s. In this case, the process branches from step 332 to 340. In step 340, the level 3 OS identification entry stack 124 corresponding to the level 2 OS identification entry 110 whose level 3 OS valid flag is 1 is set to level 3
Select from the OS identification entry stack group 125.

【0058】ステップ341では、選択されたレベル3
OS識別エントリスタック124内の複数あるレベル3
OS識別エントリ120を参照し、同エントリ内のVM
ID有効フラグ121が1である全てのエントリに対し
VMIDの無効化処理(有効フラグ12を0にする。)
を行う。
At step 341, the selected level 3
Multiple levels 3 in OS identification entry stack 124
Referring to the OS identification entry 120, the VM in the entry is referred to.
VMID invalidation processing for all entries whose ID valid flag 121 is 1 (valid flag 12 is set to 0)
I do.

【0059】PTLB処理を発行したOSがレベル2O
Sであった場合。この場合には、ステップ300からス
テップ350に分岐する。ステップ350ではレベル2
OS識別エントリスタック115内の現在走行している
OSのレベル2OS識別エントリ120を参照する。
The OS that has issued the PTLB processing is level 20
If S. In this case, the process branches from step 300 to step 350. In step 350, level 2
Reference is made to the level 2 OS identification entry 120 of the currently running OS in the OS identification entry stack 115.

【0060】ステップ351では、上記エントリ内のレ
ベル3OS有効フラグ111の値に応じて分岐する。
In step 351, the process branches according to the value of the level 3 OS valid flag 111 in the entry.

【0061】レベル3OS有効フラグ111が0の場
合。この場合には、ステップ351から320に分岐す
る。
When the level 3 OS valid flag 111 is 0. In this case, the process branches from step 351 to step 320.

【0062】レベル3OS有効フラグ111が1の場
合。この場合には、ステップ351から360に分岐す
る。
When the level 3 OS valid flag 111 is 1. In this case, the process branches from step 351 to 360.

【0063】ステップ360では、現在走行しているO
Sのレベル2OS識別エントリ120に対応するレベル
3OS識別エントリスタック124内の複数あるレベル
3OS識別エントリ120を参照し、同エントリ内のV
MID有効フラグ112が1である全てのエントリに対
し、VMIDの無効化処理(有効フラグ7を0にす
る。)を行う。
In step 360, the currently running O
Referring to a plurality of level 3 OS identification entries 120 in the level 3 OS identification entry stack 124 corresponding to the level 2 OS identification entry 120 of S, the V in the entry is referred to.
The VMID invalidation process (sets the validity flag 7 to 0) is performed for all entries whose MID validity flag 112 is 1.

【0064】PTLB処理を発行したOSがレベル3O
Sであった場合。この場合には、ステップ300からス
テップ320に分岐する。
The OS that has issued the PTLB processing is level 30
If S. In this case, the process branches from step 300 to step 320.

【0065】ステップ320では、OS識別エントリ内
のVMID更新処理が行われ、MAXVMIDレジスタ
160の値と1を加算した値により、OSレベルレジス
タ190がレベル1OSの時はVMID102が更新さ
れ、レベル2OSの時はVMID114が更新され、ま
たレベル3OSの時はVMID123が更新される。
At step 320, the VMID in the OS identification entry is updated. When the OS level register 190 is at level 1 OS, the VMID 102 is updated by the value obtained by adding 1 to the value of the MAXVMID register 160, and the level 2 OS is updated. At the time, the VMID 114 is updated, and at the time of the level 3 OS, the VMID 123 is updated.

【0066】ステップ321では、VMIDレジスタ1
93の更新処理が行われ、MAXVMIDレジスタ16
0の値と1を加算した値により、VMIDレジスタ19
3が更新される。その後、TLB192の登録及びHI
T判定には更新されたVMIDレジスタ193の値が使
用される。
In step 321, the VMID register 1
93 is updated, and the MAXVMID register 16
The value obtained by adding the value of 0 and 1 to the VMID register 19
3 is updated. After that, TLB192 registration and HI
The updated value of the VMID register 193 is used for the T determination.

【0067】ステップ322では、MAXVMIDの更
新処理が行われ、加算器170により出力されるMAX
VMIDレジスタ160の値と1を加算した値により、
MAXVMIDレジスタ160が更新される。
At step 322, the process of updating the MAXVMID is performed, and the MAX
By the value obtained by adding 1 to the value of the VMID register 160,
The MAXVMID register 160 is updated.

【0068】以上説明したように本実施例においては、
OS上に仮想計算機が存在するかを識別するフラグをS
IE命令で操作する構成としたため、PTLB命令など
のTLBに係わる処理を実行する場合、PTLB処理を
要求したOS上の仮想計算機のTLBエントリの無効化
を行うかの判定を上記フラグにより、瞬時に判定するこ
とが出来る。
As described above, in this embodiment,
A flag for identifying whether a virtual machine exists on the OS is set to S
Since the operation is performed by the IE instruction, when the processing related to the TLB such as the PTLB instruction is executed, the flag is used to instantaneously determine whether to invalidate the TLB entry of the virtual machine on the OS that has requested the PTLB processing. Can be determined.

【0069】またPTLB命令などのTLBに係わる処
理を自中央処理装置において実行する場合、前記命令が
いかなるレベルのOS上で実行されても、仮想計算機の
VMIDとTLBエントリのVMIDと一致させない制
御を行うことにより、TLB制御装置により選択したV
MIDとTLBエントリのVMIDと一致するTLBエ
ントリを無効化出来る構成としなくても、実際にTLB
エントリを無効にすることなく、TLBエントリを無効
にするのと同等の効果を得ることが出来る。
When processing relating to the TLB such as the PTLB instruction is executed in the local central processing unit, control is performed so that the VMID of the virtual machine does not match the VMID of the TLB entry, even if the instruction is executed on any level of OS. By doing so, V selected by the TLB control device
Even if the TLB entry that matches the MID and the VMID of the TLB entry is not invalidated,
An effect equivalent to invalidating the TLB entry can be obtained without invalidating the entry.

【0070】(実施例2)次に、マルチプロセッサ構成
における、本発明の仮想計算機システムの実施例を、い
くつかの図面を用いて詳細に説明する。
(Embodiment 2) Next, an embodiment of the virtual computer system of the present invention in a multiprocessor configuration will be described in detail with reference to some drawings.

【0071】図4は、マルチプロセッサ構成における装
置構成の図である。なお、図4の例はCPUが3台の構
成例であるが、4台以上の構成をとってもよいし、3台
未満であってもよい。図4においてCPUA401、C
PUA402及びCPUC403は信号線400を介し
て、相互にCPU間の情報の授受を行うことができるよ
うになっている。
FIG. 4 is a diagram showing an apparatus configuration in a multiprocessor configuration. Although the example of FIG. 4 is a configuration example of three CPUs, a configuration of four or more CPUs or a configuration of less than three CPUs may be employed. In FIG. 4, CPUs A 401 and C
The PUA 402 and the CPU C 403 can mutually exchange information between the CPUs via a signal line 400.

【0072】信号線400を介して授受される情報は、
相手CPUに対するPTLB処理起動要求、待ち状態解
除指示要求情報、相手CPUからの応答である要求受付
報告情報、及びPTLB処理起動要求を発行したCPU
のOSレベルレジスタ190の内容などである。
Information transmitted and received via the signal line 400 includes:
PTLB processing start request, waiting state release instruction request information to the partner CPU, request acceptance report information as a response from the partner CPU, and the CPU that issued the PTLB processing start request
, Etc. of the OS level register 190.

【0073】以下、図4におけるCPUA401、CP
UB402及びCPUC403の間における通常の情報
授受方法について、図5を用いて詳細に説明する。
Hereinafter, the CPUs A 401 and CPs in FIG.
A normal information exchange method between the UB 402 and the CPU C 403 will be described in detail with reference to FIG.

【0074】図5はCPU間の情報の授受方法について
の処理手順を示すフローチャートである。
FIG. 5 is a flowchart showing a processing procedure for a method of transmitting and receiving information between CPUs.

【0075】ステップ501では、CPUA401がC
PUB402及びCPU403にPTLB処理要求する
時、CPUA401はCPUB402及びCPUC40
3に対し信号線400を介してPTLB処理起動要求及
びOSレベルレジスタ190の内容を送出する。
At step 501, CPU A 401
When requesting a PTLB process from the PUB 402 and the CPU 403, the CPU A 401
A request for starting the PTLB process and the contents of the OS level register 190 are sent to the device 3 via the signal line 400.

【0076】ステップ503では、CPUA401は、
CPUB402及びCPUC403から要求した動作が
完了した旨の報告信号が信号線400を介して返って来
るまで待ち状態に入る。
In step 503, the CPU A 401
The process enters a wait state until a report signal indicating that the requested operation has been completed from the CPUB 402 and the CPUC 403 is returned via the signal line 400.

【0077】ステップ511及びステップ521では、
CPUB402及びCPUC403は、信号線400を
介してPTLB処理起動要求をCPU401から受け取
ると、現在実行中の処理を一時中断して、ブレークイン
する。
In steps 511 and 521,
When receiving the PTLB process activation request from the CPU 401 via the signal line 400, the CPUB 402 and the CPUC 403 temporarily suspend the currently executing process and break in.

【0078】ステップ512及びステップ522では、
CPUB402及びCPUC403は、ブレークインに
より、実行中の処理を一時中断してPTLB処理動作を
起動する。
In steps 512 and 522,
The CPUB 402 and the CPU C 403 temporarily suspend the processing being executed and start the PTLB processing operation by the break-in.

【0079】ステップ514及びステップ524では、
CPUB402及びCPU403は、信号線400を介
して送られて来たOSレベルレジスタ190の内容によ
り、PTLB動作を実行する。
In steps 514 and 524,
The CPUB 402 and the CPU 403 execute the PTLB operation based on the contents of the OS level register 190 transmitted via the signal line 400.

【0080】ステップ515及びステップ525では、
CPUA401から指定されたPTLB動作の実行を完
了すると、CPUB402及びCPUC403は、動作
終了信号を信号線400を介してCPUA401に送出
する。
In steps 515 and 525,
When the execution of the PTLB operation specified by the CPU A 401 is completed, the CPU B 402 and the CPU C 403 send an operation end signal to the CPU A 401 via the signal line 400.

【0081】ステップ516及びステップ526では、
CPUB402及びCPUC403は、CPUA401
に対し信号線400を介して動作終了信号を送出した
後、CPUA401から通常処理続行を指示する信号が
信号線400を介して返って来るまで待ち状態に入る。
In steps 516 and 526,
The CPUB402 and the CPUC403 are the CPUA401
Then, after sending an operation end signal via the signal line 400, the CPU A 401 enters a wait state until a signal instructing continuation of normal processing is returned via the signal line 400.

【0082】ステップ504では、CPUA401は、
ステップ503にて待ち状態に入っているが、このステ
ップの実行と同時にCPUB402及びCPUC403
の双方から動作終了信号が信号線400を介して返送さ
れて来るのを監視する。そこで、双方のCPUB402
及びCPUC403から動作終了信号が信号線400を
介して返送されて来たならば、ステップ505に進む。
At step 504, the CPUA 401
In step 503, a wait state has been entered.
And that the operation end signal is returned from the both via the signal line 400. Therefore, both CPUBs 402
If the operation end signal has been returned from the CPUC 403 via the signal line 400, the process proceeds to step 505.

【0083】ステップ505では、双方のCPUB40
2及びCPUC403から動作終了信号が返送されて来
ると、CPUA401は、ステップ503及びステップ
504の動作を終了し、CPUB402及びCPUC4
03に対し信号線400を介して通常処理続行要求信号
を送出する。その後、通常処理を再起動する。
At step 505, both CPUs B40
When the operation end signal is returned from the CPUB 401 and the CPUC403, the CPUA401 ends the operation of the steps 503 and 504, and the CPUB402 and the CPUC4.
A normal processing continuation request signal is sent to the control unit 03 via the signal line 400. After that, the normal processing is restarted.

【0084】ステップ519及びステップ529では、
CPUB402及びCPUC403は、信号線400を
介して通常処理続行要求信号をCPUA401から受け
取ると、現在実行中のステップ516及びステップ52
6で実行している待ち状態を終了し、通常処理を再起動
する。
In steps 519 and 529,
When the CPUB 402 and the CPU C 403 receive the normal processing continuation request signal from the CPU A 401 via the signal line 400, the CPU B 402 and the CPU C 403 execute the currently executed steps 516 and 52.
The waiting state executed in step 6 is terminated, and the normal processing is restarted.

【0085】次にCPUB402及びCPUC403で
行われるPTLB処理(ステップ514及びステップ5
24)について、図6を用いて詳細に説明する。
Next, PTLB processing (steps 514 and 5) performed by CPUB 402 and CPUC 403
24) will be described in detail with reference to FIG.

【0086】図6は、図1の仮想計算機システムにおけ
る、他中央処理装置のPTLBの処理を示す説明図であ
る。ステップ600では、信号線400を介して送られ
て来たOSレベルレジスタ190の内容により、PTL
B処理を発行するOSのレベルを識別し、そのレベルに
応じて分岐する。
FIG. 6 is an explanatory diagram showing PTLB processing of another central processing unit in the virtual machine system of FIG. In step 600, the PTL is sent according to the contents of the OS level register 190 sent via the signal line 400.
The level of the OS that issues the B processing is identified, and branching is performed according to the level.

【0087】PTLB処理を発行したOSがレベル1O
Sまたはレベル2OSであった場合この場合には、ステ
ップ600からステップ610に分岐する。ステップ6
10では、現在走行しているOSのレベルに関係なく、
レベル2OS識別エントリスタック115内の複数ある
レベル2OS識別エントリ110を参照し、同エントリ
内のVMID有効フラグ112が1である全てのエント
リに対し、VMIDの無効化処理(有効フラグ7を0に
する。)を行う。
The OS that has issued the PTLB processing is level 10
In the case of S or level 2 OS In this case, the process branches from step 600 to step 610. Step 6
At 10, regardless of the level of the OS currently running,
With reference to a plurality of level 2 OS identification entries 110 in the level 2 OS identification entry stack 115, VMID invalidation processing (setting the valid flag 7 to 0) for all the entries in which VM ID valid flag 112 is 1 .)I do.

【0088】またステップ620では、全てのレベル3
OS識別エントリスタック124の複数あるレベル3O
S識別エントリ120を参照し、同エントリ内のVMI
D有効フラグ121が1である全てのエントリに対し、
VMIDの無効化処理(有効フラグ7を0にする。)を
行う。
In step 620, all levels 3
A plurality of levels 30 of the OS identification entry stack 124
Referring to the S identification entry 120, the VMI
For all entries whose D valid flag 121 is 1,
The VMID is invalidated (the valid flag 7 is set to 0).

【0089】PTLB処理を発行したOSがレベル3O
Sであった場合。この場合には、ステップ600からス
テップ620に分岐する。
The OS that has issued the PTLB processing is level 30
If S. In this case, the process branches from step 600 to step 620.

【0090】ステップ630では、OSレベルレジスタ
190により、現在のOSのレベルすなわちPTLB処
理要求を受信する中央処理装置のOSのレベルを識別
し、そのレベルに応じて分岐する。
At step 630, the OS level register 190 identifies the current OS level, that is, the OS level of the central processing unit that receives the PTLB processing request, and branches according to the level.

【0091】PTLB処理を受信したOSがレベル1O
Sであった場合。この場合には、ステップ630からス
テップ640に分岐し、ステップ640において、上記
OSのレベル1OS識別エントリ100の更新処理が行
われる。加算器170により出力されるMAXVMID
レジスタ160の値と1を加算した値によりVMID1
02を更新する。なおレベル2OS有効フラグ101は
更新しない。
The OS that has received the PTLB processing is level 10
If S. In this case, the process branches from step 630 to step 640, and in step 640, the level 1 OS identification entry 100 of the OS is updated. MAXVMID output by the adder 170
VMID1 is obtained by adding 1 to the value of the register 160.
Update 02. The level 2 OS valid flag 101 is not updated.

【0092】PTLB処理を受信したOSがレベル2O
Sであった場合。この場合には、ステップ630からス
テップ650に分岐し、ステップ650において、上記
OSのレベル2OS識別エントリ110の更新処理が行
われる。加算器170により出力されるMAXVMID
レジスタ160の値と1を加算した値によりVMID1
14を更新し、またVMID有効フラグ112を1にす
る。なおレベル3OS有効フラグ111及びSDアドレ
ス113は更新しない。
The OS that has received the PTLB processing is level 20
If S. In this case, the process branches from step 630 to step 650, and in step 650, the level 2 OS identification entry 110 of the OS is updated. MAXVMID output by the adder 170
VMID1 is obtained by adding 1 to the value of the register 160.
14 is updated, and the VMID valid flag 112 is set to 1. The level 3 OS valid flag 111 and the SD address 113 are not updated.

【0093】PTLB処理を受信したOSがレベル3O
Sであった場合。この場合には、ステップ650からス
テップ680に分岐し、ステップ680において、上記
OSのレベル3OS識別エントリ120の更新処理が行
われる。加算器170により出力されるMAXVMID
レジスタ160の値と1を加算した値によりVMID1
23を更新し、またVMID有効フラグ121を1にす
る。なおSDアドレス122は更新しない。
The OS that has received the PTLB processing is level 30
If S. In this case, the process branches from step 650 to step 680, and in step 680, the level 3 OS identification entry 120 of the OS is updated. MAXVMID output by the adder 170
VMID1 is obtained by adding 1 to the value of the register 160.
23 is updated, and the VMID valid flag 121 is set to 1. The SD address 122 is not updated.

【0094】ステップ670では、VMIDレジスタ1
93の更新処理が行われ、MAXVMIDレジスタ16
0の値と1を加算した値により、VMIDレジスタ19
3が更新される。その後、TLB192の登録及びHI
T判定には更新されたVMIDレジスタ193の値が使
用される。
At step 670, the VMID register 1
93 is updated, and the MAXVMID register 16
The value obtained by adding the value of 0 and 1 to the VMID register 19
3 is updated. After that, TLB192 registration and HI
The updated value of the VMID register 193 is used for the T determination.

【0095】ステップ680では、MAXVMIDの更
新処理が行われ、加算器170により出力されるMAX
VMIDレジスタ160の値と1を加算した値により、
MAXVMIDレジスタ160が更新される。
In step 680, the process of updating the MAXVMID is performed, and the MAX
By the value obtained by adding 1 to the value of the VMID register 160,
The MAXVMID register 160 is updated.

【0096】以上説明したように本実施例においては、
マルチプロセッサ構成において、構成されている全ての
中央処理装置のアドレス変換バッファの無効化を伴う命
令の実行に当たり、中央処理装置間で直接に情報の授受
を行う通信手段と、前記命令を発行するOSの実行レベ
ル識別情報を前記通信手段を介して該他の中央処理装置
に送信する手段とを備えることにより、全ての中央処理
装置で前記命令を発行するOSの実行レベルを認識する
事ができる。
As described above, in this embodiment,
In a multiprocessor configuration, when executing an instruction accompanied by invalidation of the address translation buffers of all the configured central processing units, communication means for directly transmitting and receiving information between the central processing units, and an OS for issuing the instruction Means for transmitting the execution level identification information to the other central processing unit via the communication means, whereby all the central processing units can recognize the execution level of the OS issuing the instruction.

【0097】またPTLB命令などのTLBに係わる処
理を、命令が要求される他中央処理装置において実行す
る場合、前記OS実行レベル識別情報をもとに、無効化
する必要があるかの判定が可能なため、余分なTLBエ
ントリの無効化処理を省略出来る。また無効化処理が必
要な場合、実際にTLBエントリを無効にすることなく
前記OS実行レベル識別情報により前記命令を発行する
OSの実行レベルを判定し、各仮想計算機のVMIDと
TLBエントリのVMIDと一致させない制御を行うこ
とにより、実際にTLBエントリを無効にすることなく
TLBエントリを無効にするのと同等の効果を得ること
が出来る。
When processing related to a TLB such as a PTLB instruction is executed in another central processing unit that requires an instruction, it is possible to determine whether it is necessary to invalidate the processing based on the OS execution level identification information. Therefore, it is possible to omit extra TLB entry invalidation processing. If invalidation processing is required, the execution level of the OS that issues the instruction is determined based on the OS execution level identification information without actually invalidating the TLB entry, and the VMID of each virtual machine and the VMID of the TLB entry are determined. By performing control that does not match, an effect equivalent to invalidating the TLB entry can be obtained without actually invalidating the TLB entry.

【0098】[0098]

【発明の効果】以上説明したように、本発明において
は、(1)現在走行しているOS上に仮想計算機が存在
するかを識別するフラグを備えることにより、上記PT
LB命令などのTLBに係わる処理を実行する場合、P
TLB命令を発行したOS上の仮想計算機のTLBエン
トリの無効化を行うかの判定を上記フラグにより、瞬時
に判定することが出来る。
As described above, according to the present invention, (1) the above-mentioned PT is provided by providing a flag for identifying whether or not a virtual machine exists on the currently running OS.
When executing processing related to TLB such as LB instruction, P
The determination as to whether to invalidate the TLB entry of the virtual machine on the OS on which the TLB instruction has been issued can be instantaneously determined by the flag.

【0099】(2)またPTLB命令などのTLBに係
わる処理を、命令を要求する自中央処理装置において実
行する場合、各仮想計算機のVMIDとTLBエントリ
のVMIDと一致させない制御を行うことにより、実際
にTLBエントリを無効にすることなく、TLB制御装
置により選択したVMIDとTLBエントリのVMID
と一致するTLBエントリを無効化出来る構成としなく
ても、TLBエントリを無効にするのと同等の効果を得
ることが出来る。
(2) When processing related to the TLB such as the PTLB instruction is executed in the own central processing unit that requests the instruction, control is performed so that the VMID of each virtual machine does not match the VMID of the TLB entry. The VMID selected by the TLB control device and the VMID of the TLB entry without invalidating the TLB entry
Even if it is not configured to invalidate the TLB entry that matches the above, an effect equivalent to invalidating the TLB entry can be obtained.

【0100】(3)さらにマルチプロセッサ構成におい
て、構成されている全ての中央処理装置のアドレス変換
バッファの無効化を伴う命令の実行に当たり、中央処理
装置間で直接に情報の授受を行う通信手段と、前記命令
を発行するOSの実行レベル識別情報を前記通信手段を
介して該他の中央処理装置に送信する手段とを備えるこ
とにより、全ての中央処理装置で前記命令を発行するO
Sの実行レベルを認識する事ができる。
(3) Further, in the multiprocessor configuration, when executing an instruction accompanied by invalidation of the address translation buffers of all the configured central processing units, communication means for directly transmitting and receiving information between the central processing units; Means for transmitting the execution level identification information of the OS issuing the instruction to the other central processing unit via the communication means, so that all the central processing units issue the instruction.
The execution level of S can be recognized.

【0101】(4)またさらにPTLB命令などのTL
Bに係わる処理を、命令が要求される他中央処理装置に
おいて実行する場合、前記OS実行レベル識別情報をも
とに、無効化する必要があるかの判定が可能なため、余
分なTLBエントリの無効化処理を省略出来る。また無
効化処理が必要な場合、実際にTLBエントリを無効に
することなく前記OS実行レベル識別情報により前記命
令を発行するOSの実行レベルを判定し、各仮想計算機
のVMIDとTLBエントリのVMIDと一致させない
制御を行うことにより、実際にTLBエントリを無効に
することなくTLBエントリを無効にするのと同等の効
果を得ることが出来る。
(4) TL such as PTLB instruction
In the case where the processing related to B is executed in another central processing unit that requires an instruction, it is possible to determine whether or not the processing needs to be invalidated based on the OS execution level identification information. Invalidation processing can be omitted. If invalidation processing is required, the execution level of the OS that issues the instruction is determined based on the OS execution level identification information without actually invalidating the TLB entry, and the VMID of each virtual machine and the VMID of the TLB entry are determined. By performing control that does not match, an effect equivalent to invalidating the TLB entry can be obtained without actually invalidating the TLB entry.

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

【図1】本発明の仮想計算機システムの構成を示す機能
ブロック図である。
FIG. 1 is a functional block diagram showing a configuration of a virtual computer system according to the present invention.

【図2】図1の仮想計算機システムにおけるSIE命令
の全体処理を示す説明図である。
FIG. 2 is an explanatory diagram showing the entire processing of an SIE instruction in the virtual machine system of FIG. 1;

【図3】図1の仮想計算機システムにおける自中央処理
装置のPTLBの処理を示す説明図である。
FIG. 3 is an explanatory diagram showing a PTLB process of a self-central processing unit in the virtual machine system of FIG. 1;

【図4】マルチプロセッサ構成における装置構成の図で
ある。
FIG. 4 is a diagram of a device configuration in a multiprocessor configuration.

【図5】CPU間の情報の授受方法についての処理手順
を示すフローチャートである。
FIG. 5 is a flowchart illustrating a processing procedure for a method of exchanging information between CPUs.

【図6】図1の仮想計算機システムにおける他中央処理
装置のPTLBの処理を示す説明図である。
FIG. 6 is an explanatory diagram showing PTLB processing of another central processing unit in the virtual machine system of FIG. 1;

【符号の説明】[Explanation of symbols]

100 レベル1OS識別エントリ 101 レベル2OS有効フラグ 102 VMID 103 レベル1OS識別エントリスタック 110 レベル2OS識別エントリ 111 レベル3OS有効フラグ 112 VMID有効フラグ 113 SDアドレス 114 VMID 115 レベル2OS識別エントリスタック 120 レベル3OS識別エントリ 121 VMID有効フラグ 122 SDアドレス 123 VMID 124 レベル2OS識別エントリスタック 125 レベル2OS識別エントリスタック群 130 レベル2OSSDアドレス 131 レベル3OSSDアドレス 140 ANDゲート 141 ANDゲート 150 比較器 151 比較器 160 MAXVMIDレジスタ 170 加算器 180 セレクタ 181 セレクタ 190 OSレベルレジスタ 191 セレクタ 192 TLB 193 VMIDレジスタ 100 Level 1 OS Identification Entry 101 Level 2 OS Valid Flag 102 VMID 103 Level 1 OS Identification Entry Stack 110 Level 2 OS Identification Entry 111 Level 3 OS Valid Flag 112 VMID Valid Flag 113 SD Address 114 VMID 115 Level 2 OS Identification Entry Stack 120 Level 3 OS Identification Entry 121 VMID Valid flag 122 SD address 123 VMID 124 Level 2 OS identification entry stack 125 Level 2 OS identification entry stack group 130 Level 2 OSSD address 131 Level 3 OSSD address 140 AND gate 141 AND gate 150 Comparator 151 Comparator 160 MAXVMID register 170 Adder 180 Selector 181 Selector 190 OS level Register 191 selector 192 TLB 193 VMID register

───────────────────────────────────────────────────── フロントページの続き Fターム(参考) 5B005 JJ01 KK13 MM36 MM51 PP21 RR01 5B098 AA10 HH01  ──────────────────────────────────────────────────続 き The continuation of the front page F term (reference) 5B005 JJ01 KK13 MM36 MM51 PP21 RR01 5B098 AA10 HH01

Claims (4)

【特許請求の範囲】[Claims] 【請求項1】複数の仮想計算機を備えた2台以上の中央
処理装置と、各仮想計算機のそれぞれから共有される主
記憶装置と、各仮想計算機が過去に主記憶装置をアクセ
スした時の論理アドレスと該論理アドレスに対応する絶
対アドレスとアクセス元の仮想計算機に割り当てられた
仮想計算機識別符号および前記仮想計算機の実行レベル
識別情報を1組にして複数組記憶する複数のエントリを
備え、各仮想計算機が主記憶装置をアクセスする時に前
記エントリを参照して論理アドレスを絶対アドレスに変
換するアドレス変換バッファを備えた仮想計算機システ
ムにおいて、 実行レベル識別情報がレベル1OSである実計算機につ
いて、前記実計算機の仮想計算機識別符号と前記実計算
機上にレベル2OSである仮想計算機が存在するかを識
別するフラグの2者からなるレベル1OS識別エントリ
と、仮想計算機の実行レベル識別情報がレベル2OSで
ある仮想計算機の各々について、前記仮想計算機の仮想
計算機識別符号と前記仮想計算機を起動する命令のオペ
ランドアドレスと前記仮想計算機の仮想計算機識別符号
の有効性を示すフラグと前記仮想計算機上にレベル3O
Sである仮想計算機が存在するかを識別するフラグの4
者からなるレベル2OS識別エントリと、仮想計算機の
実行レベル識別情報がレベル3OSである仮想計算機の
各々について、前記仮想計算機の仮想計算機識別符号と
前記仮想計算機を起動する命令のオペランドアドレスと
前記仮想計算機の仮想計算機識別符号の有効性を示すフ
ラグの3者からなるレベル3OS識別エントリとを備
え、レベル1OSの実計算機が発行する仮想計算機を起
動する命令の実行に当たり、前記レベル1OS識別エン
トリのレベル2OSである仮想計算機が存在するかを識
別するフラグを有効にする手段と、前記命令のオペラン
ドアドレスと前記仮想計算機の仮想計算機識別符号の有
効性を示すフラグが有効である全てのレベル2OS識別
エントリのオペランドアドレスが一致しない場合、前記
仮想計算機の仮想計算機識別符号と前記仮想計算機を起
動する命令のオペランドアドレスと仮想計算機識別符号
の有効性を示すフラグとを新たなレベル2OS識別エン
トリに登録する手段と、レベル2OSの実計算機が発行
する仮想計算機を起動する命令の実行に当たり、前記レ
ベル2OS識別エントリのレベル3OSである仮想計算
機が存在するかを識別するフラグを有効にする手段と、
前記命令のオペランドアドレスと仮想計算機の仮想計算
機識別符号の有効性を示すフラグが有効である全てのレ
ベル3OS識別エントリのオペランドアドレスが一致し
ない場合、前記仮想計算機の仮想計算機識別符号と前記
仮想計算機を起動する命令のオペランドアドレスと前記
仮想計算機の仮想計算機識別符号の有効性を示すフラグ
とを新たなレベル3OS識別エントリに登録する手段と
を具備する構成としたことを特徴とする仮想計算機シス
テム。
A central processing unit having a plurality of virtual machines, a main storage shared by each of the virtual machines, and a logic when each of the virtual machines has accessed the main storage in the past; A plurality of entries for storing a plurality of sets of an address, an absolute address corresponding to the logical address, a virtual machine identification code assigned to the access source virtual machine, and execution level identification information of the virtual machine as one set; In a virtual computer system having an address translation buffer for translating a logical address to an absolute address by referring to the entry when the computer accesses the main storage device, a real computer whose execution level identification information is a level 1 OS And whether the virtual computer which is the level 2 OS exists on the real computer. And a virtual machine identification code of the virtual machine and an operand address of an instruction for activating the virtual machine for each virtual machine whose execution level identification information of the virtual machine is the level 2OS. A flag indicating the validity of the virtual machine identification code of the virtual machine, and a level 30 on the virtual machine.
4 of a flag for identifying whether a virtual machine of S exists
For each of the virtual machines whose execution level identification information is a level 3 OS, a virtual machine identification code of the virtual machine, an operand address of an instruction for starting the virtual machine, and the virtual machine And a level 3 OS identification entry consisting of three flags indicating the validity of the virtual computer identification code of the level 1 OS. In executing an instruction issued by a real computer of the level 1 OS to activate the virtual computer, the level 2 OS of the level 1 OS identification entry is executed. Means for enabling a flag for identifying whether or not a virtual machine exists, and all level 2 OS identification entries for which the operand address of the instruction and the flag indicating the validity of the virtual machine identification code of the virtual machine are valid. If the operand addresses do not match, the virtual Means for registering a machine identification code, an operand address of an instruction for starting the virtual machine, and a flag indicating the validity of the virtual machine identification code in a new level 2OS identification entry; and a virtual machine issued by a real machine of the level 2OS. Means for validating a flag for identifying whether there is a virtual machine that is a level 3 OS of the level 2 OS identification entry upon execution of the activation instruction;
If the operand address of the instruction and the operand address of all the level 3 OS identification entries for which the flag indicating the validity of the virtual machine identification code of the virtual machine does not match, the virtual machine identification code of the virtual machine and the virtual machine Means for registering an operand address of an instruction to be activated and a flag indicating the validity of the virtual machine identification code of the virtual machine in a new level 3 OS identification entry.
【請求項2】請求項1記載の仮想計算機システムにおい
て、 レベル1OSの実計算機が発行するアドレス変換バッフ
ァの無効化を伴う命令の自中央処理装置における処理の
実行に当たり、前記実計算機に新しい実計算機の仮想計
算機識別符号を記憶させておき、前記実計算機上にレベ
ル2OSである仮想計算機が存在するかを識別するフラ
グが有効の場合、全てのレベル2OS識別エントリを参
照し、レベル2OS識別エントリの仮想計算機識別符号
の有効性フラグが有効であるエントリが存在する場合、
有効である全てのエントリの前記フラグを無効にし、レ
ベル3OSである仮想計算機が存在するかを識別するフ
ラグが有効であるエントリが存在する場合、全てのレベ
ル3OS識別エントリを参照し、レベル3OS識別エン
トリの仮想計算機識別符号の有効性フラグが有効である
エントリが存在する場合、有効である全てのエントリの
前記フラグを無効にし、レベル2OSの仮想計算機が発
行するアドレス変換バッファの無効化を伴う命令の自中
央処理装置における処理の実行に当たり、前記仮想計算
機に新しい仮想計算機の仮想計算機識別符号を記憶させ
ておき、前記仮想計算機上にレベル3OSである仮想計
算機が存在するかを識別するフラグが有効の場合、全て
のレベル3OS識別エントリを参照し、レベル3OS識
別エントリの仮想計算機識別符号の有効性フラグが有効
であるエントリが存在する場合、有効である全てのエン
トリの前記フラグを無効にし、レベル3OSの仮想計算
機が発行するアドレス変換バッファの無効化を伴う命令
の自中央処理装置における処理の実行に当たり、前記仮
想計算機に新しい仮想計算機の仮想計算機識別符号を記
憶させておき、全てのアドレス変換バッファエントリの
仮想計算機識別符号と一致させないことを特徴とする仮
想計算機システム。
2. The virtual computer system according to claim 1, wherein the local computer executes processing of an instruction accompanied by invalidation of an address translation buffer issued by the real computer of the level 1 OS in the own central processing unit. If the flag for identifying whether a virtual machine which is a level 2 OS exists on the real computer is valid, all the level 2 OS identification entries are referred to, and the level 2 OS identification entry of the level 2 OS identification entry is referred to. If there is an entry in which the validity flag of the virtual machine identification code is valid,
The flags of all valid entries are invalidated. If there is an entry with a valid flag for identifying whether a virtual machine that is a level 3 OS exists, all the level 3 OS identification entries are referred to and the level 3 OS identification is performed. When there is an entry in which the validity flag of the virtual machine identification code of the entry is valid, the instruction is performed in which the flags of all valid entries are invalidated and the address translation buffer issued by the level 2 OS virtual machine is invalidated. In executing the process in the own central processing unit, a virtual machine identification code of a new virtual machine is stored in the virtual machine, and a flag for identifying whether a virtual machine which is a level 3 OS exists on the virtual machine is effective. In the case of, all level 3 OS identification entries are referred to, and the virtual If there is an entry for which the validity flag of the computer identification code is valid, the flags of all valid entries are invalidated, and the instruction with invalidation of the address translation buffer issued by the virtual computer of the level 3 OS is disabled. A virtual machine system, wherein the virtual machine stores a virtual machine identification code of a new virtual machine in execution of processing in the central processing unit, and does not match the virtual machine identification codes of all address translation buffer entries.
【請求項3】前記中央処理装置間で直接に情報の授受を
行う通信手段と、マルチプロセッサ構成において、構成
されている全ての中央処理装置のアドレス変換バッファ
の無効化を伴う命令の実行に当たり、前記命令を発行す
るOSの実行レベル識別情報を前記通信手段を介して該
他の中央処理装置に送信する手段とを具備する構成とし
たことを特徴とする仮想計算機システム。
3. A communication means for directly transmitting and receiving information between the central processing units, and, in a multiprocessor configuration, executing instructions accompanied by invalidation of address translation buffers of all the configured central processing units. A means for transmitting execution level identification information of the OS issuing the command to the other central processing unit via the communication means.
【請求項4】請求項1記載の仮想計算機システムにおい
て、各レベルOSの計算機が発行するアドレス変換バッ
ファの無効化を伴う命令の他中央処理装置における処理
の実行に当たり、現在走行しているレベルの計算機に新
しい仮想計算機識別符号を記憶させておき、請求項3記
載の通信手段により送信されるOSの実行レベル識別情
報がレベル1OSの場合、全てのレベル2OS識別エン
トリ及びレベル3識別エントリを参照し、レベル2OS
識別エントリ及びレベル3OS識別エントリの仮想計算
機識別符号の有効性フラグが有効であるエントリが存在
する場合、有効である全てのエントリの前記フラグを無
効にし、前記通信手段により送信されるOSの実行レベ
ル識別情報がレベル2OSの場合、全てのレベル2OS
識別エントリ及びレベル3識別エントリを参照し、レベ
ル2OS識別エントリ及びレベル2OS識別エントリの
仮想計算機識別符号の有効性フラグが有効であるエント
リが存在する場合、有効である全てのエントリの前記フ
ラグを無効にし、前記通信手段により送信されるOSの
実行レベル識別情報がレベル3OSの場合、全てのレベ
ル3OS識別エントリを参照し、レベル2OS識別エン
トリ及びレベル2OS識別エントリの仮想計算機識別符
号の有効性フラグが有効であるエントリが存在する場
合、有効である全てのエントリの前記フラグを無効に
し、全てのアドレス変換バッファエントリの仮想計算機
識別符号と一致させないことを特徴とする仮想計算機シ
ステム。
4. The virtual computer system according to claim 1, wherein the instructions issued by the computer of each level OS and accompanied by invalidation of the address translation buffer are used to execute the processing in the central processing unit. A new virtual machine identification code is stored in the computer, and when the execution level identification information of the OS transmitted by the communication means is a level 1 OS, all the level 2 OS identification entries and the level 3 identification entries are referred to. , Level 2 OS
If there is an entry in which the validity flag of the virtual machine identification code of the identification entry and the level 3 OS identification entry is valid, the flags of all valid entries are invalidated, and the execution level of the OS transmitted by the communication means is invalidated. If the identification information is a level 2 OS, all level 2 OSs
If the validity flag of the virtual machine identification code of the level 2 OS identification entry and the level 2 OS identification entry exists with reference to the identification entry and the level 3 identification entry, the flags of all the valid entries are invalidated. When the execution level identification information of the OS transmitted by the communication means is a level 3 OS, all the level 3 OS identification entries are referred to, and the validity flags of the level 2 OS identification entry and the virtual machine identification code of the level 2 OS identification entry are set. A virtual machine system, wherein when there is a valid entry, the flags of all valid entries are invalidated and are not matched with the virtual machine identification codes of all address translation buffer entries.
JP10183663A 1998-06-30 1998-06-30 Virtual computer system Pending JP2000020399A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10183663A JP2000020399A (en) 1998-06-30 1998-06-30 Virtual computer system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10183663A JP2000020399A (en) 1998-06-30 1998-06-30 Virtual computer system

Publications (1)

Publication Number Publication Date
JP2000020399A true JP2000020399A (en) 2000-01-21

Family

ID=16139763

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10183663A Pending JP2000020399A (en) 1998-06-30 1998-06-30 Virtual computer system

Country Status (1)

Country Link
JP (1) JP2000020399A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005513900A (en) * 2001-12-20 2005-05-12 エネル ディストリビュズィオーネ ソシエタ ペル アチオニ System for remote acquisition of electrical energy consumption, including for home use and remote control of distributed target users
US20130264685A1 (en) * 2011-01-24 2013-10-10 Shin-Etsu Handotai Co., Ltd. Method for manufacturing silicon single crystal wafer and annealed wafer
JP2016527652A (en) * 2014-07-21 2016-09-08 ヴィア アライアンス セミコンダクター カンパニー リミテッド Efficient address translation caching in processors that support many different address spaces

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005513900A (en) * 2001-12-20 2005-05-12 エネル ディストリビュズィオーネ ソシエタ ペル アチオニ System for remote acquisition of electrical energy consumption, including for home use and remote control of distributed target users
JP4705755B2 (en) * 2001-12-20 2011-06-22 エネル ディストリビュズィオーネ ソシエタ ペル アチオニ System for remote acquisition of electrical energy consumption, including for home use and remote control of distributed target users
US20130264685A1 (en) * 2011-01-24 2013-10-10 Shin-Etsu Handotai Co., Ltd. Method for manufacturing silicon single crystal wafer and annealed wafer
US8916953B2 (en) * 2011-01-24 2014-12-23 Shin-Etsu Handotai Co., Ltd. Method for manufacturing silicon single crystal wafer and annealed wafer
JP2016527652A (en) * 2014-07-21 2016-09-08 ヴィア アライアンス セミコンダクター カンパニー リミテッド Efficient address translation caching in processors that support many different address spaces

Similar Documents

Publication Publication Date Title
US5655146A (en) Coexecution processor isolation using an isolation process or having authority controls for accessing system main storage
JP2825550B2 (en) Multiple virtual space address control method and computer system
US8171230B2 (en) PCI express address translation services invalidation synchronization with TCE invalidation
US5490261A (en) Interlock for controlling processor ownership of pipelined data for a store in cache
US7457828B2 (en) System and method for synchronizing distributed buffers when committing data to a database
JP2863693B2 (en) Data transfer device and method in virtual storage system
JPH0784883A (en) Method for purging address conversion buffer of virtual computer system
US8255591B2 (en) Method and system for managing cache injection in a multiprocessor system
JP3434439B2 (en) Device for enhancing data coherency in information processing system
CN101681269A (en) The self-adaptation Dynamic Selection and the application of multiple virtualization techniques
US8738890B2 (en) Coupled symbiotic operating system
US5317710A (en) Invalidation of entries in a translation table by providing the machine a unique identification thereby disallowing a match and rendering the entries invalid
EP0669579B1 (en) Coherence index generation for use by an input/output adapter
US5129071A (en) Address translation apparatus in virtual machine system using a space identifier field for discriminating datoff (dynamic address translation off) virtual machines
KR20190022334A (en) An apparatus and method for efficient utilisation of an address translation cache
US5341484A (en) Virtual machine system having an extended storage
US6275860B1 (en) Method and apparatus for synchronizing function values in a multiple protocol system
US9158692B2 (en) Cache injection directing technique
JP4131789B2 (en) Cache control apparatus and method
JPH10116228A (en) Central processing unit for information processing system, method for processing cache misses to single cache line, and information processing system
JP2000020399A (en) Virtual computer system
WO2007097029A1 (en) Processor device and instruction processing method
JPH09167143A (en) Message reception control system
EP3408749A1 (en) Memory address translation management
JP2001092801A (en) Multiprocessor device