Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JPH0766352B2 - Virtual computer system - Google Patents
[go: Go Back, main page]

JPH0766352B2 - Virtual computer system - Google Patents

Virtual computer system

Info

Publication number
JPH0766352B2
JPH0766352B2 JP61066894A JP6689486A JPH0766352B2 JP H0766352 B2 JPH0766352 B2 JP H0766352B2 JP 61066894 A JP61066894 A JP 61066894A JP 6689486 A JP6689486 A JP 6689486A JP H0766352 B2 JPH0766352 B2 JP H0766352B2
Authority
JP
Japan
Prior art keywords
guest
virtual computer
guest virtual
entry
register
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP61066894A
Other languages
Japanese (ja)
Other versions
JPS62222343A (en
Inventor
和郎 尾島
真也 渡部
秀一 安部
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)

Description

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

〔従来の技術〕[Conventional technology]

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

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

中央処理装置(以下、CPUと呼ぶ)の命令実行部は、SIE
命令を実行するために、主記憶装置(以下、MSと呼ぶ)
からSDの各フィールドで指定される情報をCPUのハード
ウェア資源に設定し、CPUをゲストVMとして動作させ
る。この時、設定されるハードウェア資源には、第2図
に示すように、ゲストモード・レジスタやPSW、制御レ
ジスタ(CR)、汎用レジスタ(GR)、プレフィックスお
よびMSエクステンドレジスタなどがある。一方、ホスト
の状態はCPU内に保存される。このように、SDはゲスト
命令から見たゲストVMのアーキテクチャを記述する。
The instruction execution unit of the central processing unit (hereinafter referred to as CPU) is the SIE
Main memory (hereinafter referred to as MS) for executing instructions
Set the information specified in each field of SD to SD to the hardware resource of CPU, and operate CPU as guest VM. At this time, the hardware resources to be set include a guest mode register, PSW, control register (CR), general-purpose register (GR), prefix and MS extend register, as shown in FIG. On the other hand, the host state is stored in the CPU. In this way, SD describes the architecture of the guest VM as seen from the guest instructions.

SIE命令によって開始されたゲストVMは、割込み事象ま
たはインターセプションが発生するまでの間、ゲストプ
ログラムをエミュレートする。割込み事象とは、例えば
入出力割込みや外部割込みなどのホストの処理を必要と
する場合である。インターセプションとは、例えばホス
ト処理の必要な命令の実行時に発生する。一部の特権命
令ではインターセプションを発生させるか否かSD内のイ
ンターセプション・マスクフィールドで指定できる。割
込み事象またはインターセプションが発生した時、ゲス
トVMは終了し、CPUはホスト・モードとなり、SIE命令実
行開始時の状態に復元され、PSW内の命令カウンタはSIE
命令の次命令をさす。
The guest VM initiated by the SIE instruction emulates the guest program until an interrupt event or interception occurs. An interrupt event is, for example, a case in which host processing such as input / output interrupt or external interrupt is required. Interception occurs, for example, at the time of executing an instruction that requires host processing. In some privileged instructions, whether or not to generate interception can be specified in the interception mask field in SD. When an interrupt event or interception occurs, the guest VM terminates, the CPU enters host mode, the state at the start of SIE instruction execution is restored, and the instruction counter in the PSW shows the SIE
Indicates the next instruction after the instruction.

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

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

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

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

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

〔発明が解決しようとする問題点〕[Problems to be solved by the invention]

従来技術では、TLB内に保持できるゲストVMの数が1つ
に制御されるため、あるゲストVMを実行する時、TLBに
他のゲストVMのエントリを保持できない。前記特開昭57
−212680号公報では、割込み事象またはインターセプシ
ョンによってゲストVMの実行を終了した時、該ゲストVM
のゲスト・エントリをすべて無効化している。したがっ
て、SIE命令によって該ゲストVMを再び起動した場合、
前回の該ゲストVM終了時にTLBに登録されていたエント
リに対応したページをアクセスする時にも新たにアドレ
ス変換が発生し、命令処理性能上余計なオーバヘッドが
生じる。
In the conventional technique, the number of guest VMs that can be held in the TLB is controlled to one, and therefore, when a certain guest VM is executed, the TLB cannot hold the entries of other guest VMs. JP-A-57
According to Japanese Patent Laid-Open No. 212680, when execution of a guest VM is terminated by an interrupt event or interception, the guest VM
All guest entries for are disabled. Therefore, when the guest VM is started again by the SIE instruction,
When the page corresponding to the entry registered in the TLB at the time of ending the guest VM last time is accessed, a new address translation occurs, which causes an extra overhead in the instruction processing performance.

第4図はこれを説明するもので、従来技術ではゲストVM
の実行を終了する時(第4図におけるゲスト・プログラ
ムIおよびIIの実行終了時)、必ずTLBのゲストエント
リをパージするが、前回実行されたゲストVM(ゲスト・
プログラムI)と同一のゲストVM(ゲスト・プログラム
II)が再び起動される場合、ゲスト・プログラムIの実
行終了時のTLBパージは不要なものであり、命令処理性
能上余計がオーバヘッドが生ずる。
Figure 4 illustrates this, in the prior art guest VM
The guest entry in the TLB is always purged at the end of execution of the guest program (at the end of execution of the guest programs I and II in FIG. 4).
Guest VM (Guest Program) that is the same as Program I)
When II) is restarted, the TLB purge at the end of execution of the guest program I is unnecessary, and an extra overhead occurs in the instruction processing performance.

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

〔問題点を解決するための手段〕[Means for solving problems]

本発明は、ゲストVMの実行終了時、次にゲストVMの実行
を開始するまでの間、該ゲストVMを表すゲストVM識別情
報(VMIDと呼ぶ)を保持する為のラストゲストVM識別情
報レジスタ(LAST−VMIDレジスタと呼ぶ)と、ゲストVM
実行開始時に該ゲストVMのVMIDを格納するアクトゲスト
VM識別情報レジスタ(ACT−VMIDレジスタと呼ぶ)と、L
AST−VMIDレジスタとACT−VMIDレジスタを比較する手段
と、比較結果に対応してTLBのゲストエントリを保持す
るかパージするTLBゲストエントリパージ手段を設け
る。
According to the present invention, at the end of execution of a guest VM, until the next execution of the guest VM is started, guest VM identification information (referred to as VMID) representing the guest VM is stored as a last guest VM identification information register ( LAST-VMID register) and guest VM
Act guest that stores the VMID of the guest VM at the start of execution
VM identification information register (called ACT-VMID register) and L
A means for comparing the AST-VMID register and the ACT-VMID register and a TLB guest entry purging means for holding or purging the guest entry of the TLB corresponding to the comparison result are provided.

〔作 用〕[Work]

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

〔実施例〕〔Example〕

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

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

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

前述の如く、ホスト・プログラム中にSIE命令が実行さ
れた時、ゲストVMの実行が開始される。ゲストVM識別情
報としては、SDアドレス、SD内のVMIDフィールドの値な
どが考えられるが、以下では、SDアドレスをゲストVM情
報(VMID)とした例を説明する。
As mentioned above, when the SIE instruction is executed in the host program, the guest VM starts executing. As the guest VM identification information, an SD address, a value of the VMID field in the SD, and the like are conceivable. Below, an example in which the SD address is the guest VM information (VMID) will be described.

命令実行部1は、SIE命令の処理としてGモードレジス
タ5を“1"にセットし、SDアドレスをACT−VMIDレジス
タ7に、SD内のCR1フィールドの値(MSオリジン)をGST
Oレジスタ8に設定する。Gモードレジスタ5が“0"の
時、CPUはホスト計算機として動作し、“1"の時、ゲス
ト仮想計算機として動作する。ゲストプログラム中の割
込み事象またはインタセプションによってゲストVMの実
行を終了する時、Gモードレジスタ5は命令実行部1に
よって“0"にリセットされる。GSTレジスタ8は、ゲス
トアドレス変換に用いられ、ゲストアドレス空間を識別
する。HSTOレジスタ9は、ホストアドレス変換に用いら
れホストアドレス空間を識別する。HSTOレジスタ9およ
びGSTOレジスタ8は、命令実行部1が、それぞれホスト
プログラム、ゲストプログラム中でLCTL命令(制御レジ
スタを書替える命令)を実行した時、更新される。
The instruction execution unit 1 sets the G mode register 5 to "1" as the processing of the SIE instruction, sets the SD address in the ACT-VMID register 7, and sets the CR1 field value (MS origin) in SD to GST.
Set in O register 8. When the G mode register 5 is "0", the CPU operates as a host computer, and when it is "1", it operates as a guest virtual computer. When the execution of the guest VM is terminated by an interrupt event or interception in the guest program, the G mode register 5 is reset to "0" by the instruction execution unit 1. The GST register 8 is used for guest address translation and identifies the guest address space. The HSTO register 9 is used for host address translation and identifies the host address space. The HSTO register 9 and the GSTO register 8 are updated when the instruction execution unit 1 executes the LCTL instruction (instruction for rewriting the control register) in the host program and the guest program, respectively.

Rモードレジスタ10はTLB参照を仮想アドレスまたは実
アドレスのいずれで行うかを示す。命令実行部1は、例
えば命令読出しかオペランド読出しでTLB3を参照する
時、アドレスレジスタ11およびRモードレジスタ10を設
定し、TLB参照要求を発行する。
The R mode register 10 indicates whether the TLB reference is performed by a virtual address or a real address. The instruction execution unit 1 sets the address register 11 and the R mode register 10 and issues a TLB reference request, for example, when referring to the TLB 3 by reading an instruction or reading an operand.

TLB3は、本実施例ではセット・アソシアティブ方式とす
る。すなわち、カラム・アドレスでアドレス付けされ、
カラム・アドレスによって選択された1つまたは複数の
エントリはロウと呼ばれる。本実施例ではカラム数51
2、ロウ数1、合計512エントリを持つTLB構成とする
が、他の構成についても本発明の方式は容易に類推され
る。アドレスは、ビット1−31の31ビット・アドレスと
する。カラム・アドレスは、アドレスのビット11−19と
する。TLB3は、アドレス・レジスタ11のカラム・アドレ
ス部24をアドレス・デコーダ14によってデコードし、参
照する1個のエントリが選択される。
TLB3 is set associative in this embodiment. That is, addressed by column address,
One or more entries selected by the column address are called rows. In this embodiment, the number of columns is 51
Although the TLB configuration has a total of 512 entries with 2, the number of rows is 1, the method of the present invention can be easily inferred for other configurations. The address is a 31-bit address of bits 1-31. The column address is bits 11-19 of the address. The TLB 3 decodes the column address part 24 of the address register 11 by the address decoder 14 and selects one entry to refer to.

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

Vフィールドは、該エントリが有効か無効かを示す1ビ
ットのフィールドである。該エントリが有効な時“1"と
なり、無効な時“0"となる。
The V field is a 1-bit field indicating whether the entry is valid or invalid. It is "1" when the entry is valid, and "0" when it is invalid.

Gフィールドは、該エントリがホストまたはゲストVMの
いずれのアドレス変換情報であるかを示す1ビットのフ
ィールドである。ホストの時“0"、ゲストVMの時“1"と
なる。
The G field is a 1-bit field indicating whether the entry is the address translation information of the host or guest VM. It is "0" for the host and "1" for the guest VM.

Rフィールドは、該エントリが実アドレスまたは仮想ア
ドレスのいずれで参照されたかを示す1ビットのフィー
ルドである。“0"の時、実アドレスによる参照を表わ
し、“1"の時、仮想アドレスによる参照を表わす。
The R field is a 1-bit field indicating whether the entry is referenced by a real address or a virtual address. When it is "0", it refers to the real address, and when it is "1", it refers to the virtual address.

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

STOフィールドは、該エントリのアドレス変換時のセグ
メント・テーブル・オリジンを表わす。IBM370/XAアー
キテクチャでは、STOのビット1−25がアドレスを表わ
し、本フィールドは25ビットである。
The STO field represents the segment table origin when the address of the entry is translated. In the IBM370 / XA architecture, bits 1-25 of the STO represent an address and this field is 25 bits.

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

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

TLBヒット判定部4は、比較回路15〜18、ANDゲート20、
ORゲート19、否定ゲート21から構成される。比較回路15
は、TLB3のGフィールド出力46とGレジスタ5の出力32
を比較し、一致した時、“1"を出力する。比較回路15は
VMシステムに固有なTLBヒット条件を生成する。すなわ
ち、ホストモード(Gモードレジスタ5が“0")でかつ
読出したTLBエントリのGフィールド46が“0"、また
は、ゲストVMモード(Gモードレジスタ5が“1")でか
つ読出したTLBエントリのGフィールド46が“1"時、TLB
ヒットの条件となる。ORゲート19は、アドレス空間に関
するTLBヒット条件を生成する。すなわち、TLBエントリ
が共通セグメント(TLBのCフィールドが“1")、また
はTLBエントリのSTO値が現在のSTO出力44と一致した
時、ORゲート19に“1"が出力される。なお、現在のSTO
出力44としては、Gモードレジスタ5に対応してセレク
タ22によってGSTO出力36またはFSTO出力37のいずれかが
選択される。ANDゲート20によって、TLBヒット信号56が
生成され、否定ゲート21によってTLBミス信号57が生成
される。TLBヒット信号56およびTLBPAフィールド出力51
は、キャッシュ制御部へ転送される。TLBミス信号57
は、アドレス変換部へ転送される。
The TLB hit determination unit 4 includes comparison circuits 15 to 18, an AND gate 20,
It is composed of an OR gate 19 and a negation gate 21. Comparison circuit 15
Is the G field output 46 of TLB3 and the output 32 of G register 5
Are compared, and if they match, "1" is output. The comparison circuit 15
Generate TLB hit condition specific to VM system. That is, in the host mode (G mode register 5 is “0”) and the G field 46 of the read TLB entry is “0”, or in the guest VM mode (G mode register 5 is “1”) and the read TLB entry is G field 46 is "1", TLB
It becomes a condition of hit. The OR gate 19 generates a TLB hit condition regarding the address space. That is, when the TLB entry is the common segment (the C field of the TLB is "1") or the STO value of the TLB entry matches the current STO output 44, "1" is output to the OR gate 19. The current STO
As the output 44, either the GSTO output 36 or the FSTO output 37 is selected by the selector 22 corresponding to the G mode register 5. The AND gate 20 produces the TLB hit signal 56 and the NOT gate 21 produces the TLB miss signal 57. TLB hit signal 56 and TLB PA field output 51
Is transferred to the cache controller. TLB miss signal 57
Is transferred to the address translation unit.

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

ゲストVMの実行を開始する時、命令実行部1はGモード
レジスタ5を“1"にセットし、ACT−VMIDモードレジス
タ7とLAST−VMIDレジスタ12を比較し、一致の時すなわ
ち比較回路13が“1"の時、直ちにゲストVMを実行し、不
一致の時すなわち該比較回路13を“0"の時、TLB3のゲス
トエントリのVフィールドを“0"とした後、ゲストVMを
実行する。
When starting the 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 comparison 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 V field of the guest entry of TLB3 is set to "0", and then the guest VM is executed.

ゲストVMの実行を終了する時、命令実行部1はGモード
レジスタ5を“0"にリセットし、CPUの状態をSIE命令実
行時の状態に復元し、現在実行の終了したVMのVMIDをAC
T−VMIDレジスタ7からLAST−VMIDレジスタ12に格納す
る。但し、PSWの命令アドレスカウンタはSIE命令の次命
令をさす。この時、TLB3のゲストエントリはそのまゝ保
持される。
When the execution of the guest VM ends, the instruction execution unit 1 resets the G mode register 5 to "0", restores the CPU state to the state when the SIE instruction was executed, and sets the VMID of the VM that has finished execution to AC.
The T-VMID register 7 to the LAST-VMID register 12 are stored. However, the PSW instruction address counter indicates the instruction following the SIE instruction. At this time, the guest entry of TLB3 is kept as it is.

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

〔発明の効果〕〔The invention's effect〕

本発明によれば、仮想計算機システムにおいて、ゲスト
VMの識別情報を実行終了時から次にゲストVMの実行開始
まで保持し、SIE命令で開始するゲストVMとTLBゲストVM
エントリのVMを識別可能としたことにより、SIE命令で
開始するゲストVMとTLBゲストVMエントリのVMが一致す
る場合の不必要なTLBゲストVMエントリのパージを無く
し、ゲストVMの処理性能の向上を実現できる。しかも、
本発明では、TLBゲストVMエントリをパージするしない
の処理を、ゲストVMの実行開始時(SIE命令の実行時)
にのみ行うことにより、不必要なパージ処理を回避でき
る。
According to the present invention, in a virtual computer system, a guest
Guest VM and TLB guest VM that retains the VM identification information from the end of execution to the start of execution of the guest VM and starts with SIE instruction
By making it possible to identify the VM of the entry, unnecessary purging of the TLB guest VM entry when the guest VM started by the SIE instruction and the VM of the TLB guest VM entry match is eliminated, and the processing performance of the guest VM is improved. realizable. Moreover,
In the present invention, the processing of not purging the TLB guest VM entry is executed at the time of starting the execution of the guest VM (at the time of executing the SIE instruction).
It is possible to avoid unnecessary purging processing by performing only the above.

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

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

Claims (1)

【特許請求の範囲】[Claims] 【請求項1】少なくとも一つのゲスト仮想計算機をサポ
ートするための中央処理装置と主記憶装置を具備し、前
記主記憶装置にゲスト仮想計算機の状態記述子を格納
し、ゲスト仮想計算機実行開始命令で前記主記憶装置の
状態記述子を指定し、中央処理装置を当該状態記述子で
示される状態に設定して、ゲスト仮想計算機の実行を開
始すると共に、前記中央処理装置はホスト計算機あるい
はゲスト仮想計算機のアドレス変換情報を保持する複数
エントリのアドレス変換バッファを備え、該アドレス変
換バッファの各エントリは当該エントリがホスト計算機
あるいはゲスト仮想計算機のどちらのアドレス変換情報
を保持するかを示すフィールド(以下、ゲスト仮想計算
機のアドレス変換情報を保持するエントリをゲスト計算
機用エントリという)を有し、ホスト計算機あるいはゲ
スト仮想計算機実行中に前記アドレス変換バッファを参
照する様に構成されている仮想計算機システムにおい
て、 ゲスト仮想計算機の識別情報を少なくとも該ゲスト仮想
計算機の実行終了時から次のゲスト仮想計算機の実行開
始まで保持する手段を設け、ゲスト仮想計算機の実行開
始時に、前記保持されているゲスト仮想計算機識別情報
と実行を開始する該ゲスト仮想計算機の識別情報を比較
し、不一致の場合、前記アドレス変換パッファ内のゲス
ト計算機用エントリをパージし、一致する場合は前記パ
ージを禁止した後、前記ゲスト仮想計算機の実行を開始
することを特徴とする仮想計算機システム。
1. A central processing unit for supporting at least one guest virtual computer and a main storage device, wherein a state descriptor of the guest virtual computer is stored in the main storage device, and a guest virtual computer execution start command is issued. The state descriptor of the main memory device is specified, the central processing unit is set to the state indicated by the state descriptor, and the execution of the guest virtual computer is started, and the central processing unit is the host computer or the guest virtual computer. Is provided with a plurality of address translation buffers for holding the address translation information, and each entry of the address translation buffer is a field indicating whether the entry holds the address translation information of the host computer or the guest virtual computer (hereinafter referred to as guest An entry holding the address translation information of a virtual computer is called a guest computer entry. In a virtual computer system configured to refer to the address translation buffer during execution of the host computer or guest virtual computer, the guest virtual computer identification information is stored at least from the end of execution of the guest virtual computer to the next A means for holding until the execution start of the guest virtual computer is provided, and when the execution of the guest virtual machine is started, the held guest virtual machine identification information is compared with the identification information of the guest virtual machine to be executed, and if there is a mismatch The virtual computer system is characterized in that the guest computer entry in the address translation puffer is purged, and if the entries match, the purge is prohibited, and then the guest virtual computer is started to execute.
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 JPS62222343A (en) 1987-09-30
JPH0766352B2 true 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)

Family Cites Families (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
JPS62222343A (en) 1987-09-30

Similar Documents

Publication Publication Date Title
US4347565A (en) Address control system for software simulation
JPH0658650B2 (en) Virtual computer system
US4779188A (en) Selective guest system purge control
CN1993683B (en) Maintain Processor Resources During Architectural Events
US8140834B2 (en) System, method and computer program product for providing a programmable quiesce filtering register
JPS6122825B2 (en)
JPH0430053B2 (en)
JPS6341100B2 (en)
EP0145960B1 (en) Selective guest system purge control
JPH07105091A (en) Cache control device and control method
JPH0793221A (en) Virtual computer system and control method thereof
JPH0766352B2 (en) Virtual computer system
JP3645671B2 (en) Processor device having instruction buffer
JPS6336012B2 (en)
JPS62222342A (en) virtual computer system
JPH0567973B2 (en)
JP2003058421A (en) Processor and computer system
JPS6353574B2 (en)
JPS6212545B2 (en)
JPS6269341A (en) virtual computer system
JPH0450620B2 (en)
JPS6269339A (en) Address converting buffer system
JPH03142546A (en) address translation device
JPS63298652A (en) Central processing unit
JPH03185539A (en) data processing equipment