JPS62222343A - Virtual computer system - Google Patents

Virtual computer system

Info

Publication number
JPS62222343A
JPS62222343A JP61066894A JP6689486A JPS62222343A JP S62222343 A JPS62222343 A JP S62222343A JP 61066894 A JP61066894 A JP 61066894A JP 6689486 A JP6689486 A JP 6689486A JP S62222343 A JPS62222343 A JP S62222343A
Authority
JP
Japan
Prior art keywords
guest
register
virtual machine
execution
guest 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.)
Granted
Application number
JP61066894A
Other languages
Japanese (ja)
Other versions
JPH0766352B2 (en
Inventor
Kazuo Oshima
尾島 和郎
Shinya Watabe
真也 渡部
Shuichi Abe
秀一 安部
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP61066894A priority Critical patent/JPH0766352B2/en
Publication of JPS62222343A publication Critical patent/JPS62222343A/en
Publication of JPH0766352B2 publication Critical patent/JPH0766352B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

PURPOSE:To improve an instruction processing capacity by holding the identification information of a guest virtual computer for a prescribed time and comparing identification information with held information when the execution of the guest virtual computer is started and starting the execution of the computer in accordance with the comparison result. CONSTITUTION:A guest virtual computer (VM) mode register 5, an ACT-VM identification information (VMID) register 7, etc., are connected to an instruction executing part 1, and the register 7 is connected to a comparator 13 directly or through a LAST-VMID register 12, and a register 5, the circuit 13, etc., are connected to an address conversion buffer (TLB) write control part 2. When the execution of the guest VM is started, the guest VM is executed immediately if contents of registers 5 and 7 coincide with each other, and the valid field of a guest entry of the TLB 3 is invalidated to execute the guest VM; and when the execution of the guest VM is terminated, the identification information VMID of this VM is stored in a register 12 from the register 7.

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は仮想計算機システムに係り、特にホスト計算機
あるいはゲスト仮想計算機のアドレス変換情報を保持し
ているアドレス変換バッファの処理に関する。
DETAILED DESCRIPTION OF THE INVENTION [Field of Industrial Application] The present invention relates to a virtual computer system, and particularly to processing of an address translation buffer that holds address translation information of a host computer or a guest virtual machine.

〔従来の技術〕[Conventional technology]

仮想計算機システムでは、通常、ホスト制御プログラム
で仮想計算機実行開始命令(以下、SIE命令と呼ぶ)
が実行された後、仮想計算機(以下、VMと呼ぶ)の動
作が開始される。かNる仮想計算機のアーキテクチャと
しては1例えばIBM社の370/XAアーキテクチヤ
が知られている、なお、これについては特開昭57−2
12680号公報に詳しい。
In a virtual machine system, the host control program usually issues a virtual machine execution start command (hereinafter referred to as the SIE command).
After this is executed, the operation of the virtual machine (hereinafter referred to as VM) is started. For example, IBM's 370/XA architecture is known as a virtual machine architecture.
For details, see Publication No. 12680.

第2図にSIE命令の命令形式を示す。SIE命令は、
そのB2およびD2フィールドによって位置付けられる
7M状態記述子(以下SDと呼ぶ)をオペランドとして
指定する。第2図において、58がSIE命令、59が
主記憶領域、60が7M状態記述子(SD)である。
FIG. 2 shows the instruction format of the SIE instruction. The SIE command is
The 7M state descriptor (hereinafter referred to as SD) located by its B2 and D2 fields is specified as an operand. In FIG. 2, 58 is an SIE instruction, 59 is a main storage area, and 60 is a 7M state descriptor (SD).

中央処理装置?2(以下、CPUと呼ぶ)の命令実行部
は、SIE命令を実行するために、主記憶袋!(以下、
MSと呼ぶ)からSDの各フィールドで指定される情報
をCPUのハードウェア資源に設定し、CPUをゲスト
VMとして動作させる。
Central processing unit? The instruction execution unit 2 (hereinafter referred to as CPU) uses the main memory bag! (below,
The information specified in each field of the SD (referred to as MS) is set in the hardware resources of the CPU, and the CPU is operated as a guest VM.

この時、設定されるハードウェア資源には、第2図に示
すように、ゲストモード・レジスタやPSW、制御レジ
スタ(CR)、汎用レジスタ (GR)、プレフィック
スおよびMSエクステントレジスタなどがある。一方、
ホストの状態はCPU内に保存される。このように、S
Dはゲスト命令から見たゲストVMのアーキテクチャを
記述する。
As shown in FIG. 2, the hardware resources set at this time include the guest mode register, PSW, control register (CR), general purpose register (GR), prefix, and MS extent register. on the other hand,
The host state is saved within the CPU. In this way, S
D describes the architecture of the guest VM from the perspective of guest instructions.

SIE命令によって開始されたゲストVMは。Guest VMs started by SIE commands.

割込み事象またはインターセプションが発生するまでの
間、ゲストプログラムをエミュレートする。
Emulate a guest program until an interrupt event or interception occurs.

割込み事象とは1例えば入出力割込みや外部割込みなど
のホストの処理を必要とする場合である。
An interrupt event is a case that requires host processing, such as an input/output interrupt or an external interrupt.

インターセプションとは1例えばホスト処理の必要な命
令の実行時に発生する。一部の特権命令ではインターセ
プションを発生させるか否かSD内のインターセプショ
ン・マスクフィールドで指定できる。割込み事象または
インターセプションが発生した時、ゲストVMは終了し
、CPUはホスト・モードとなり、SIE命令実行時開
始時の状態に復元され、PSW内の命令カウンタはSI
E命令の次命令をさす。
Interception occurs when, for example, an instruction that requires host processing is executed. For some privileged instructions, whether or not to cause interception can be specified using the interception mask field in the SD. When an interrupt event or interception occurs, the guest VM exits, the CPU goes into host mode, is restored to the state it was in when it started executing the SIE instruction, and the instruction counter in the PSW is set to SI
Indicates the next command after the E command.

仮想計算機システムにおける重要な技術課題は1つは、
ゲストの「主記憶」を表現する方法である。SIE命令
で開始されたゲストVMでは、ページ記憶モードと優先
記憶モードの2つが用いられる。
One of the important technical issues in virtual computer systems is:
This is a way to express the guest's "main memory." A guest VM started with a SIE instruction uses two modes: page storage mode and priority storage mode.

第3図はページ記憶モードにおけるアドレス空間のマツ
ピングを示している。ゲストの仮想アドレス(GV)6
1は、ゲスト・アドレス変換によりゲストの絶対アドレ
ス(GA)62に変換される。このGA62がSDで指
定されたMSエクステント内にあることをチェックする
。GAにMSオリジンが加算され、ホスト仮想アドレス
(HV)63が求められる。HVはホスト・アドレス変
換によりホスト絶対アドレス(HA)64に変換される
FIG. 3 shows address space mapping in page storage mode. Guest virtual address (GV) 6
1 is translated to the guest's absolute address (GA) 62 by guest address translation. Check that this GA 62 is within the MS extent specified by the SD. The MS origin is added to the GA to determine the host virtual address (HV) 63. The HV is translated to a host absolute address (HA) 64 by host address translation.

優先記憶モードでは、ゲストの絶対アドレスがそのま\
ホストの絶対アドレスとみなされる。
In priority storage mode, the guest's absolute address remains as is\
Treated as the absolute address of the host.

CPUはアドレス変換を高速に行うためアドレス変換バ
ッファを持っている。いずれのモードにおいても、アド
レス変換バッファ(T L B )のエントリには、G
VとHAの対が登録される。したがって、GVでTLB
を参照することにより、HAが直ちに求まる。
The CPU has an address translation buffer to perform address translation at high speed. In either mode, the entry in the address translation buffer (TLB) contains G
A pair of V and HA is registered. Therefore, TLB in GV
By referring to , HA can be immediately determined.

上記アーキテクチャの仮想計算機システムにおけるTL
B構成に関して、特開昭57−212680号公報に詳
しく述べられている。そこでは、TLBの各エントリに
ゲスト・フィールドを1ビット分設け、ホストのアドレ
ス変換情報を登録した時“O”、ゲストVMのアドレス
変換情報を登録した時“1”としている、これにより、
ホスト・エントリとゲスト・エントリの識別が可能とな
り、TLB内にホストと1つのゲストVMのアドレス変
換情報が同時に保持される。
TL in a virtual computer system with the above architecture
The B configuration is described in detail in Japanese Unexamined Patent Publication No. 57-212680. There, a guest field of 1 bit is provided in each TLB entry, and it is set to "O" when host address translation information is registered, and "1" when guest VM address translation information is registered.
It becomes possible to identify host entries and guest entries, and address translation information for the host and one guest VM is held simultaneously in the TLB.

〔発明が解決しようとする問題点〕[Problem that the invention seeks to solve]

従来技術では、TLB内に保持できるゲストVMの数が
1つに制限されるため、あるゲストVMを実行する時、
TLBに他のゲストVMのエントリを保持できない。前
記特開昭57−212680号公報では2割込み事象ま
たはインターセプションによってゲストVMの実行を終
了した時、該ゲストVMのゲスト・エントリをすべて無
効化している。したがって、SIE命令によって該ゲス
トvMを再び起動した場合、前回の該ゲストVM終了時
にTLBに登録されていたエントリに対応したページを
アクセスする時にも新たにアドレス変換が発生し、命令
処理性能上余計なオーバヘツドが生じる。
In the conventional technology, the number of guest VMs that can be held in the TLB is limited to one, so when executing a certain guest VM,
It is not possible to hold entries for other guest VMs in the TLB. In the above-mentioned Japanese Patent Laid-Open No. 57-212680, when execution of a guest VM ends due to two interrupt events or interception, all guest entries of the guest VM are invalidated. Therefore, when the guest vM is restarted by the SIE command, a new address translation will occur when accessing the page corresponding to the entry registered in the TLB when the guest VM was previously terminated, resulting in an increase in instruction processing performance. This results in significant overhead.

第4図はこれを説明するもので、従来技術ではゲストV
Mの実行を終了する時(第4図におけるゲスト・プログ
ラム!および■の実行終了時)、必ずTLBのゲストエ
ントリをパージするが、前回実行されたゲストVM (
ゲスト・プログラムI)と同一のゲストVM(ゲスト・
プログラム■)が再び起動される場合、ゲスト・プログ
ラムIの実行終了時のTLBバージは不要なものであり
、命令処理性能上余計がオーバヘッドが生ずる。
FIG. 4 explains this, and in the conventional technology, guest V
When ending the execution of M (at the end of the execution of the guest program ! and
The same guest VM (guest program I)
When the program (2) is started again, the TLB barge at the end of execution of the guest program I is unnecessary, and an additional overhead is generated in terms of instruction processing performance.

本発明の目的は、TLBゲストエントリのパージを真に
必要な場合にのみ実施して、命令処理性能の向上をはか
った仮想計算機システムを提供することにある。二Nで
、TLBゲストエントリのパージが真に必要な場合とは
、連続して起動される2つのゲストVMが異なる場合で
ある。
An object of the present invention is to provide a virtual computer system that improves instruction processing performance by purging TLB guest entries only when truly necessary. In 2N, the case where it is truly necessary to purge the TLB guest entry is when two consecutively started guest VMs are different.

(問題点を解決するための手段〕 本発明は、ゲストVMの実行終了時1次にゲストVMの
実行を開始するまでの間、TLBに保持したゲストエン
トリに対応したゲストVMを表すゲス1ルVM識別情報
(VMIDと呼ぶ)を保持する為のラストゲストVM識
別情報レジスタ(LAST−VMIDレジスタと呼ぶ)
と、ゲストVM実行開始時に該ゲストVMのVMIDを
格納するアクトゲストVM識別情報レジスタ(ACT−
VMIDレジスタと呼ぶ)と、LAST−VMIDレジ
スタとACT−VMIDレジスタを比較する手段と、比
較結果に対応してTLBのゲストエントリを保持するか
パージするTLBゲストエントリパージ手段を設ける。
(Means for Solving the Problems) The present invention provides a guest VM that represents the guest VM corresponding to the guest entry held in the TLB, from the time the execution of the guest VM ends, until the next execution of the guest VM starts. Last guest VM identification information register (referred to as LAST-VMID register) to hold VM identification information (referred to as VMID)
and an act guest VM identification information register (ACT-
VMID register), means for comparing the LAST-VMID register and ACT-VMID register, and TLB guest entry purging means for retaining or purging the TLB guest entry in response to the comparison result.

〔作 用〕[For production]

ホスト管理プログラム中でSIE命令を実行しゲストV
Mを開始する時、前回実行したゲストVM(7)VMI
Dを保持しているLAST−VMIDレジスタの値と、
開始しようとするゲストVMを格納しているACT−V
MIDレジスタの値を比較する。そして1両者が一致し
た時、TLBのゲストエントリをそのま一保持し、ゲス
トVMの実行を開始する。両者が不一致の時、TLBの
ゲストエントリをすべてパージし、ゲストVMの実行を
開始する。なお、LAST−VMIDレジスタへのVM
IDのセットは、例えばゲストVM実行終了時に行われ
、ホストプログラム実行の間、保持される。
Execute the SIE command in the host management program and
When starting M, the guest VM (7) VMI that was executed last time
The value of the LAST-VMID register holding D,
ACT-V that stores the guest VM you are trying to start
Compare the values in the MID register. When the two match, the guest entry in the TLB is kept as is and the guest VM starts running. When the two do not match, all guest entries in the TLB are purged and execution of the guest VM is started. In addition, the VM to the LAST-VMID register
The ID is set, for example, at the end of execution of the guest VM, and is retained during execution of the host program.

〔実施例〕〔Example〕

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

第1図本発明の一実施例のブロック図であり、特に仮想
計算機システムの中央処理装置(CPU)のうち、TL
B参照に関連した部分のみを示している。
FIG. 1 is a block diagram of an embodiment of the present invention, in particular, the TL of the central processing unit (CPU) of the virtual computer system.
Only the parts related to the B reference are shown.

第1図において、命令実行部1には、ゲスト7Mモード
・レジスタ(Gモードレジスタ)5.バリッドビット(
Vビット)レジスタ6、ACT−VMIDレジスタ7、
ゲストのセグメント、テーブル・オリジン・レジスタ(
GST○レジスタ)8、ホストのセグメント・テーブル
・オリジン・レジスタ (H8TOレジスタ)9、リア
ルモード(Rモード)レジスタ10、及びTLB参照の
アドレス・レジスタ11が接続されている。ACT−V
MIDレジスタ7は、さらにLAST−VMIDレジス
タ12に接続される。
In FIG. 1, the instruction execution unit 1 includes a guest 7M mode register (G mode register) 5. Valid bit (
V bit) register 6, ACT-VMID register 7,
Guest segment, table origin register (
GST○ register) 8, host segment table origin register (H8TO register) 9, real mode (R mode) register 10, and TLB reference address register 11 are connected. ACT-V
MID register 7 is further connected to LAST-VMID register 12 .

前述の如く、ホスト・プログラム中にSIE命令が実行
された時、ゲストVMの実行が開始される。ゲストVM
識別情報としては、SDアドレス。
As mentioned above, execution of the guest VM begins when the SIE instruction is executed in the host program. Guest VM
The identification information is the SD address.

SD内のVMIDフィールドの値などが考えられるが、
以下では、SDアドレスをゲストVM情報(VMID)
とした例を説明する。
The value of the VMID field in the SD can be considered, but
Below, we will use the SD address as guest VM information (VMID)
An example will be explained below.

命令実行部1は、SIE命令の処理としてGモードレジ
スタ5を“1”にセットし、SDアドレスをACT−V
MIDL/ジスタフに、SD内ノCR1フィールドの値
(MSオリジン)を08TOレジスタ8に設定する。G
モードレジスタ5が“0”の時、CPUはホスト計算機
として動作し、1′″の時、ゲスト仮想計算機として動
作する6ゲストプログラム中の割込み事象またはインタ
セプションによってゲストVMの実行を終了する時、G
モードレジスタ5は命令実行部1によって10″にリセ
ットされる。GSTレジスタ8は、ゲストアドレス変換
に用いられ、ゲストアドレス空間を識別する。H3TO
レジスタ9は、ホストアドレス変換に用いられホストア
ドレス空間を識別する。
The instruction execution unit 1 sets the G mode register 5 to “1” to process the SIE instruction, and sets the SD address to ACT-V.
The value of the CR1 field in the SD (MS origin) is set in the 08TO register 8 in MIDL/DIST. G
When mode register 5 is "0", the CPU operates as a host computer, and when mode register 5 is "1'", it operates as a guest virtual machine.6 When execution of the guest VM is terminated due to an interrupt event or interception in the guest program, G
The mode register 5 is reset to 10'' by the instruction execution unit 1. The GST register 8 is used for guest address translation and identifies the guest address space.H3TO
Register 9 is used for host address translation and identifies the host address space.

H5TOレジスタ9および08Toレジスタ8は。H5TO register 9 and 08To register 8.

命令実行部1が、それぞれホストプログラム、ゲストプ
ログラム中でLCTL命令(制御レジスタを書替える命
令)を実行した時、更新される。
It is updated when the instruction execution unit 1 executes an LCTL instruction (an instruction for rewriting a control register) in the host program and guest program, respectively.

Rモードレジスタ10はTLB参照を仮想アドレスまた
は実アドレスのいずれで行うかを示す。
The R mode register 10 indicates whether the TLB reference is made by a virtual address or a real address.

命令実行部1は、例えば命令読出しかオペランド読出し
でTLB3を参照する時、アドレスレジスタ11および
Rモードレジスタ10を設定し、TLB参照要求を発行
する。
When the instruction execution unit 1 refers to the TLB 3 by reading an instruction or reading an operand, for example, it sets the address register 11 and the R mode register 10 and issues a TLB reference request.

TLB3は1本実施例ではセット・アソシアティブ方式
とする6すなわち、カラム・アドレスでアドレス付けさ
れ、カラム・アドレスによって選択された1つまたは複
数のエントリはロウと呼ばれる。本実施例ではカラム数
512.ロウ数1、合計51.2エントリを持つTLB
構成とするが。
In this embodiment, the TLB 3 is set-associative 6, that is, it is addressed by a column address, and one or more entries selected by the column address are called a row. In this example, the number of columns is 512. TLB with 1 row and 51.2 entries in total
Although it is a composition.

他の構成についても本発明の方式は容易に類推される。The method of the present invention can be easily inferred for other configurations as well.

アドレスは、ビット1−31の31ビツト・アドレスと
する。カラム・アドレスは、アドレスのビット11−1
9とする。TLB3は、アドレス・レジスタ11のカラ
ム・アドレス部24をアドレス・デコーダ14によって
デコードし、参照する1個のエントリが選択される。
The address is a 31-bit address with bits 1-31. The column address is bits 11-1 of the address.
9. In the TLB 3, the column address section 24 of the address register 11 is decoded by the address decoder 14, and one entry to be referenced is selected.

TLB3の各エントリは、有効フィールド(V)。Each entry in TLB3 is a valid field (V).

ゲストフィールド(G)、実アドレスフィールド(R)
、コントロールフィールド(C)、セグメントテーブル
オリジンフィールド(STO)、仮想アドレスフィール
ド(VA)、絶対アドレスフィールド(PA)から構成
される。第1図で各フィールドのビット数をカッコ内に
示している。
Guest field (G), real address field (R)
, a control field (C), a segment table origin field (STO), a virtual address field (VA), and an absolute address field (PA). In FIG. 1, the number of bits in each field is shown in parentheses.

■フィールドは、該エントリが有効か無効かを示す1ビ
ツトのフィールドである。該エントリが有効な時“1″
となり、無効な時11 Q Itとなる。
(2) Field is a 1-bit field indicating whether the entry is valid or invalid. “1” when the entry is valid
When it is invalid, it becomes 11 Q It.

Cフィールドは、該エントリがホストまたはゲストVM
のいずれのアドレス変換情報であるかを示す1ビツトの
フィールドである。ホストの時“0″、ゲストVMの時
111 ItとなるゆRフィールドは、該エントリが実
アドレスまたは仮想アドレスのいずれで参照されたかを
示す1ビツトのフィールドである。11071の時、実
アドレスによる参照を表わし It l PIの時、仮
想アドレスによる参照を表わす。
The C field indicates whether the entry is a host or guest VM.
This is a 1-bit field indicating which address translation information is included. The R field, which is "0" for the host and 111 It for the guest VM, is a 1-bit field that indicates whether the entry is referenced by a real address or a virtual address. When it is 11071, it indicates a reference by a real address, and when it is It l PI, it indicates a reference by a virtual address.

Cフィールドは、該エントリが共通セグメントを用いた
アドレス変換情報であることを示す1ビツトのフィール
ドである。ホスト・モードでは、ホスト・アドレス変換
、ゲストVMモードではゲス1〜・アドレス変換のそれ
ぞれにおいて、参照したセグメント・テーブル・エント
リの共通セグメント・ビットが17111の時、本フィ
ールドが“1″となる。
The C field is a 1-bit field indicating that the entry is address translation information using a common segment. In the host mode, this field becomes "1" when the common segment bit of the referenced segment table entry is 17111 in each of the host address translation and the guest VM mode in the guess 1 to address translation.

STOフィールドは、該エントリのアドレス変換時のセ
グメント・テーブル・オリジンを表わす。
The STO field represents the segment table origin at the time of address translation of the entry.

I 8M370/XA7−キテクチヤテは、STOのビ
ット1−25がアドレスを表わし1本フィールドは25
ビツトである。
In the I8M370/XA7 architecture, bits 1-25 of STO represent the address, and one field is 25.
It's bit.

VAフィールドは、TLB参照のページ・フレーム・ア
ドレスのうちカラム・アドレス以外のビットすなわち、
ビット1−10を格納する10ビツトのフィールドであ
る。
The VA field is the bits other than the column address in the page frame address of the TLB reference, that is,
This is a 10-bit field that stores bits 1-10.

PAフィールドは、絶対アドレスのページ・フレーム・
アドレス部19ビットを格納する。
The PA field specifies the absolute address page frame.
Stores 19 bits of address part.

TLBヒツト判定部4は、比較回路15〜18、AND
ゲート20.ORゲート19、否定ゲート21から構成
される。比較回路15は、TLB 3のCフィールド出
力46とGレジスタ5の出力32を比較し、一致した時
、It 11+を出力する。比較回路15はVMシステ
ムに固有なTLBヒツト条件を生成する。すなわち、ホ
ストモード(Gモードレジスタ5がo”)でかつ読出し
たTLBエントリのCフィールド46がl′Q 11、
または、ゲストVMモード(Gモードレジスタ5が11
1 It )でかつ読出したTLBエントリのCフィー
ルド46が“1″時、TLBヒツトの条件となる。OR
ゲート19は、アドレス空間に関するT L Bヒツト
条件を生成する。すなわち、TLBエントリが共通セグ
メント(TLBのCフィールドが“1.′″)、または
TLBエントリのSTO値が現在のSTO出力44と一
致した時、ORゲー1−19 km ” 1 ”が出力
される。なお、現在のSTO出力44としては、Gモー
ドレジスタ5に対応してセレクタ22によってGSTO
出力36またはFSTO出力37のいずれかが選択され
る。ANDゲート20によって、TLBヒツト信号56
が生成され、否定ゲート21によってTLBミス信号5
7が生成される。T’LBヒツト信号56およびTLB
PAフィール−出力51は、キャッシュ制御部へ転送さ
れる。TLBミス信号57は、アドレス変換部へ転送さ
れる。
The TLB hit determination unit 4 includes comparison circuits 15 to 18, AND
Gate 20. It is composed of an OR gate 19 and a NOT gate 21. Comparison circuit 15 compares C field output 46 of TLB 3 and output 32 of G register 5, and outputs It 11+ when they match. Comparison circuit 15 generates TLB hit conditions specific to the VM system. That is, in the host mode (G mode register 5 is "o"), the C field 46 of the TLB entry read is l'Q 11,
Or guest VM mode (G mode register 5 is 11)
1 It ) and the C field 46 of the read TLB entry is "1", the condition for a TLB hit is met. OR
Gate 19 generates a T LB hit condition for the address space. That is, when the TLB entry is a common segment (the C field of the TLB is "1.'") or the STO value of the TLB entry matches the current STO output 44, the OR game 1-19 km "1" is output. . In addition, as the current STO output 44, the GSTO output is selected by the selector 22 corresponding to the G mode register 5.
Either output 36 or FSTO output 37 is selected. AND gate 20 generates TLB hit signal 56
is generated, and the TLB miss signal 5 is generated by the NOT gate 21.
7 is generated. T'LB hit signal 56 and TLB
PA field-output 51 is forwarded to the cache controller. The TLB miss signal 57 is transferred to the address translation section.

TLB書込み制御部2は、アドレス変換によるTLB登
録およびTLBエントリの無効化を制御する。TLB登
録時には、Cフィールド、Rフィールド、ST○フィー
ルド、VAフィールドはそれぞれ、Gモードレジスタ5
、Rレジスタ10、ST○のセレクト出力44、アドレ
ス・レジスタ11の値が格納される。また、Cフィール
ドおよびPAフィールドは、アドレス変換部から転送さ
れた値が格納される。また、■フィールドは、現在実行
中のゲストVM(7)VMID (ACT−VMIDレ
ジスタ7)と最後に実行したゲストVMのVMID (
LSAST−VMIDレジスタ12)が一致した時、比
較回路13は“1”となり、その時なおかつVレジスタ
が5′1”の時、TLB 3の■フィールドに“1”が
格納される。
The TLB write control unit 2 controls TLB registration and invalidation of TLB entries by address translation. During TLB registration, the C field, R field, ST○ field, and VA field are each stored in G mode register 5.
, the R register 10, the select output 44 of ST○, and the values of the address register 11 are stored. Further, the C field and the PA field store values transferred from the address translation section. In addition, the ■ field contains the currently executing guest VM (7) VMID (ACT-VMID register 7) and the last executed guest VM VMID (
When the LSAST-VMID register 12) matches, the comparison circuit 13 becomes "1", and at that time, when the V register is 5'1", "1" is stored in the ■ field of the TLB 3.

ゲストVMの実行を開始する時、命令実行部1はGモー
ドレジスタ5を“1”にセットし、ACT−VMIDモ
ードレジスタ7とLAST−VMIDレジスタ12を比
較し、一致の時すなわち比較回路13が“1″の時、直
ちにゲストVMを実行し、不一致の時すなわち該比較回
路13を“0パの時、TLB3のゲストエントリのVフ
ィールドをIK OI+とした後、ゲストVMを実行す
る。
When starting execution of the guest VM, the instruction execution unit 1 sets the G mode register 5 to "1", compares the ACT-VMID mode register 7 and the LAST-VMID register 12, and when they match, that is, the comparator circuit 13 When it is "1", the guest VM is immediately executed, and when there is a mismatch, that is, when the comparison circuit 13 is "0", the guest VM is executed after setting the V field of the guest entry of TLB3 to IKOI+.

ゲストVMの実行を終了する時、命令実行部1はGモー
ドレジスタ5を“0″にリセットし、CPUの状態をS
IE命令実行時の状態に復元し、現在実行の終了したV
MのVMIDをACT−VMIDL/ジスタフからLA
ST−VMIDL/ジスタ12に格納する。但し、PS
Wの命令アドレスカウンタはSIE命令の次命令をさす
。この時、TLB3のゲストエントリはそのま\保持さ
れる。
When finishing the execution of the guest VM, the instruction execution unit 1 resets the G mode register 5 to “0” and changes the state of the CPU to S.
Restoring the state to the state at the time of execution of the IE instruction, and
M's VMID from ACT-VMIDL/Dystaf to LA
Store in ST-VMIDL/register 12. However, P.S.
The instruction address counter of W points to the next instruction after the SIE instruction. At this time, the guest entry in TLB3 is maintained as is.

以上の構成により、TLB3のゲスト・エントリは、新
たに実行するVMのVMIDと前回に実行したVMのV
MIDの不一致を検出してから、パージすることが可能
となる。一般にホスト管理プログラムは複数のゲストV
Mを管理し、順次SIE命令を発行しゲストVMを起動
する。前述の如く、ホストからゲストVM、またはゲス
トVMからホストVMへのディスパッチの時、TLB内
のエントリはすべて保存される。したがって、あるゲス
トVMを終了した後、連続して該ゲストVMを実行する
場合、TLBのゲストエントリの不要なパージを防ぎ、
ゲストVMにおけるアドレス変換の起動を必要最小限の
回数に抑えることができる。
With the above configuration, the guest entry in TLB3 contains the VMID of the newly executed VM and the VM ID of the previously executed VM.
It becomes possible to purge after detecting a mismatch of MIDs. Generally, a host management program has multiple guest Vs.
Manage M, issue SIE commands sequentially, and start guest VMs. As mentioned above, when dispatching from a host to a guest VM or from a guest VM to a host VM, all entries in the TLB are preserved. Therefore, when a certain guest VM is executed continuously after terminating the guest VM, unnecessary purging of guest entries in the TLB is prevented,
The activation of address translation in the guest VM can be suppressed to the minimum necessary number of times.

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

本発明によれば、仮想計算機システムにおいて、ゲスト
VM識別情報保持手段を設け、SIE命令で開始するゲ
ストVMとTLBゲストVMエントリのVMを識別可能
としたことにより、SIE命令で開始するゲストVMと
TLBゲストVMエントリのVMが一致する場合の不必
要なTLBゲストVMエントリのパージを無くシ、ゲス
トVMの処理性能の向上を実現できる。
According to the present invention, in a virtual computer system, a guest VM identification information holding means is provided to enable identification of a guest VM started by an SIE instruction and a VM in a TLB guest VM entry. It is possible to eliminate unnecessary purging of TLB guest VM entries when the VMs in the TLB guest VM entries match, and improve the processing performance of the guest VM.

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

第1図は本発明の実施例で仮想計算機システムの中央処
理装置のうちの特にTLBとTLB参照に関連した部分
を示した図、第2図はSIE命令とVM状態記述子を示
した図、第3図はゲストVMにおけるアドレス変換を示
した図、第4図はホストプログラム実行中にSIE命令
でゲストVMを実行することを示した図である、 1・・・命令実行部、 2・・・TLB書込み制御部3
・・・TLB、  4・・・TLBヒツト判定部5・・
・ゲストモードレジスタ、  7・・・ACT−VMI
Dレジスタ、  8・・・ゲストモードレジスタ、9・
・・ホストSTOレジスタ 11・・・アドレス・レジ
スタ、  12−LAST−VMIDL/ジスタ、 5
6・・・TLBヒツト信号、 57・・・TLBミス信号、 58・・・SIE命令。 59・・・主記憶、 60・・・状態記述子。 第1図 TLIII:“TL8“X    喜−轡T亡第2図
FIG. 1 is a diagram showing a part of the central processing unit of a virtual computer system particularly related to TLB and TLB reference in an embodiment of the present invention, and FIG. 2 is a diagram showing SIE commands and VM state descriptors. FIG. 3 is a diagram showing address conversion in the guest VM, and FIG. 4 is a diagram showing execution of the guest VM with an SIE instruction during host program execution. 1. Instruction execution unit; 2.・TLB write control unit 3
...TLB, 4...TLB hit determination unit 5...
・Guest mode register, 7...ACT-VMI
D register, 8...Guest mode register, 9.
...Host STO register 11...Address register, 12-LAST-VMIDL/register, 5
6...TLB hit signal, 57...TLB miss signal, 58...SIE command. 59... Main memory, 60... State descriptor. Figure 1 TLIII: "TL8"

Claims (1)

【特許請求の範囲】[Claims] (1)少なくとも一つのゲスト仮想計算機をサポートす
るための中央処理装置と主記憶装置を具備し、前記主記
憶装置にゲスト仮想計算機の状態記述子を格納し、ゲス
ト仮想計算機実行開始命令で前記主記憶装置の状態記述
子を指定して、中央処理装置を当該状態記述子で示され
る状態に設定し、ゲスト仮想計算機の実行を開始すると
共に、前記中央処理装置はホスト計算機あるいはゲスト
仮想計算機のアドレス変換情報を保持するアドレス変換
バッファを備えて、ホスト計算機あるいはゲスト仮想計
算機実行中に前記アドレス変換バッファを参照する様に
構成されている仮想計算機システムにおいて、ゲスト仮
想計算機の識別情報を少なくとも該ゲスト仮想計算機の
実行終了時から次にゲスト仮想計算機の実行開始まで保
持する手段を設け、ゲスト仮想計算機の実行開始時に、
前記保持されているゲスト仮想計算機識別情報と実行を
開始する該ゲスト仮想計算機の識別情報を比較し、その
比較結果に対応して、前記アドレス変換バッファのゲス
トエントリを保持するかパージした後、該ゲスト仮想計
算機の実行を開始することを特徴とする仮想計算機シス
テム。
(1) Equipped with a central processing unit and a main memory for supporting at least one guest virtual machine, storing a state descriptor of the guest virtual machine in the main memory, and receiving a guest virtual machine execution start instruction from the main memory. Specifying the state descriptor of the storage device, setting the central processing unit to the state indicated by the state descriptor, and starting execution of the guest virtual machine, the central processing unit sets the address of the host computer or guest virtual machine. In a virtual computer system that is equipped with an address translation buffer that holds translation information and is configured to refer to the address translation buffer while a host computer or a guest virtual machine is running, the identification information of a guest virtual machine is stored at least in the guest virtual machine. A method is provided to retain data from the end of execution of a computer until the start of execution of the next guest virtual machine, and when the execution of the guest virtual machine starts,
After comparing the retained guest virtual machine identification information with the identification information of the guest virtual machine that starts execution, and retaining or purging the guest entry in the address translation buffer according to the comparison result, A virtual machine system characterized by starting execution of a guest virtual machine.
JP61066894A 1986-03-25 1986-03-25 Virtual computer system Expired - Lifetime JPH0766352B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP61066894A JPH0766352B2 (en) 1986-03-25 1986-03-25 Virtual computer system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP61066894A JPH0766352B2 (en) 1986-03-25 1986-03-25 Virtual computer system

Publications (2)

Publication Number Publication Date
JPS62222343A true JPS62222343A (en) 1987-09-30
JPH0766352B2 JPH0766352B2 (en) 1995-07-19

Family

ID=13329080

Family Applications (1)

Application Number Title Priority Date Filing Date
JP61066894A Expired - Lifetime JPH0766352B2 (en) 1986-03-25 1986-03-25 Virtual computer system

Country Status (1)

Country Link
JP (1) JPH0766352B2 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5733477A (en) * 1980-07-31 1982-02-23 Fujitsu Ltd Computer system

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5733477A (en) * 1980-07-31 1982-02-23 Fujitsu Ltd Computer system

Also Published As

Publication number Publication date
JPH0766352B2 (en) 1995-07-19

Similar Documents

Publication Publication Date Title
JP4608484B2 (en) Invalidate storage, clear buffer entries
US4816991A (en) Virtual machine system with address translation buffer for holding host and plural guest entries
JP5214676B2 (en) Preserving processor resources during architectural events
US6456891B1 (en) System and method for transparent handling of extended register states
US8041876B1 (en) Method and system for providing hardware support for memory protection and virtual memory address translation for a virtual machine
US20040064618A1 (en) Method and apparatus for controlling the execution of a broadcast instruction on a guest processor of a guest multiprocessing configuration
US10083126B2 (en) Apparatus and method for avoiding conflicting entries in a storage structure
JPH03108042A (en) Multiple virtual space address system and computer system
JPS6122825B2 (en)
US5226132A (en) Multiple virtual addressing using/comparing translation pairs of addresses comprising a space address and an origin address (sto) while using space registers as storage devices for a data processing system
JPH07105091A (en) Device and method for controlling cache
JPH02292648A (en) Multiplex virtual storage system and address controller
JPH0793221A (en) Virtual machine system and control method for same
JPS62222343A (en) Virtual computer system
JPS6349945A (en) Process roll-in system for data processor
JPS6032220B2 (en) information processing equipment
JPS62222342A (en) Virtual computer system
JP3645671B2 (en) Processor device having instruction buffer
JPH0567973B2 (en)
JP3022398B2 (en) Virtual computer system
JP2004038601A (en) Cache memory device
JPH05250263A (en) Virtual processor system and nonvolatile storage system
JPH0784884A (en) Virtual computer system
JPH08161226A (en) Data look-ahead control method, cache controller and data processor
JP2902847B2 (en) Self-modifying code execution method