JPH0869416A - Virtual machine system - Google Patents
Virtual machine systemInfo
- Publication number
- JPH0869416A JPH0869416A JP6228702A JP22870294A JPH0869416A JP H0869416 A JPH0869416 A JP H0869416A JP 6228702 A JP6228702 A JP 6228702A JP 22870294 A JP22870294 A JP 22870294A JP H0869416 A JPH0869416 A JP H0869416A
- Authority
- JP
- Japan
- Prior art keywords
- host
- guest
- entry
- real address
- dat
- 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
Links
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Abstract
Description
【0001】[0001]
【産業上の利用分野】本発明は、アドレス変換バッファ
(TLB)を有する仮想計算機システムに係わり、アド
レス変換の高速化を可能にする仮想計算機システムに関
する。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a virtual computer system having an address translation buffer (TLB), and more particularly to a virtual computer system capable of speeding up address translation.
【0002】[0002]
【従来の技術】仮想計算機システムとは、実計算機を時
分割に使用し、各タイムスロットにおいて仮想のハード
ウエア情報を設定することにより、1台の実計算機を1
つまたは複数の仮想計算機が動作することを実現したシ
ステムである。このように、実計算機を管理し仮想計算
機システムを実現しているプログラムをホストと呼ぶ。
そして、仮想計算機上で走行しているプログラムをゲス
トと呼ぶ。ゲストが使用する主記憶は、ホストによって
作り出された仮想記憶上に存在する。このため、ゲスト
の主記憶は、ホストのデータとして実計算機の主記憶装
置か、補助記憶装置上に存在する。よって、ゲストによ
る主記憶のアクセスは、それが仮想アドレスによるもの
でも実アドレスによるものでも、ホストによる動的アド
レス変換(ホストDAT)が必要になる。2. Description of the Related Art A virtual computer system uses a real computer for time division, and sets virtual hardware information in each time slot so that one real computer
It is a system that realizes the operation of one or more virtual machines. A program that manages a real computer and realizes a virtual computer system in this way is called a host.
A program running on the virtual computer is called a guest. The main memory used by the guest exists on the virtual memory created by the host. Therefore, the main memory of the guest exists as the host data in the main memory of the real computer or the auxiliary memory. Therefore, the access to the main memory by the guest, whether it is by the virtual address or the real address, requires the dynamic address translation (host DAT) by the host.
【0003】特に、ゲスト仮想アドレスによる主記憶ア
クセスは、ゲストによる動的アドレス変換(ゲストDA
T)が必要になる。ゲストのセグメントテーブルは、ホ
スト仮想空間に存在するためセグメントテーブルエント
リを得るためには、ホストDATを行い実計算機の実ア
ドレス(ホスト実アドレス)を求める必要がある。同様
にページテーブルエントリを得るためにも、ホストDA
Tが必要になる。このようにしてゲストDATで得られ
たゲスト仮想アドレスの、実アドレス(ゲスト実アドレ
ス)は更にホストDATを行いホスト実アドレスに変換
される。In particular, the main memory access by the guest virtual address is performed by the guest in dynamic address translation (guest DA
T) is required. Since the guest segment table exists in the host virtual space, it is necessary to perform the host DAT to obtain the real address of the real computer (host real address) in order to obtain the segment table entry. Similarly, to get the page table entry, the host DA
T is needed. In this way, the real address (guest real address) of the guest virtual address obtained by the guest DAT is further converted into the host real address by performing the host DAT.
【0004】図2は、ゲスト仮想アドレスがホスト実ア
ドレスに変換される過程を要約して表した図である。2
はゲストセグメントテーブルエントリ(ゲストSTE)
を、3はページテーブルエントリ(ゲストPTE)を、
5はデータのゲスト実アドレスをホスト実アドレスに変
換するためのホストDATである。このように、主記憶
アクセスを要求したゲスト仮想アドレスがホスト実アド
レスに変換されることを2レベルアドレス変換(2レベ
ルDAT)と呼ぶとする。2レベルDATは、図2の
2、3、5、で示されるように3回のホストDATが行
われるため、その発生頻度は、システム性能に大きく影
響する。FIG. 2 is a diagram summarizing a process of converting a guest virtual address into a host real address. Two
Is a guest segment table entry (guest STE)
3 is the page table entry (guest PTE),
Reference numeral 5 is a host DAT for converting a guest real address of data into a host real address. The conversion of the guest virtual address requesting the main memory access into the host real address in this way is called 2-level address conversion (2-level DAT). In the 2-level DAT, the host DAT is performed three times as shown by 2, 3, and 5 in FIG. 2, so that the occurrence frequency thereof greatly affects the system performance.
【0005】このようなアドレス変換を高速化する技術
として、アドレス変換バッファ(TLB)に関する技術
が挙げられる。特公昭61−22825号公報では、T
LB上にホスト用エントリと現在実計算機上で実現され
ている仮想計算機のゲスト用エントリの2種類を、同時
に保持することができる。また、特公昭58−8073
号公報には、TLBのフィールドを拡張して、ホストと
複数のゲストを識別するための仮想計算機識別子(VM
識別子)を設ける方法が示されている。この方法による
と、TLB上にホスト用エントリと複数のゲスト用エン
トリを同時に保持することが可能になる。そのため、T
LBを使用した変換の割合が多くなり性能が向上する。As a technique for speeding up such address translation, there is a technique relating to an address translation buffer (TLB). In Japanese Examined Patent Publication No. 61-22825, T
It is possible to simultaneously hold two types of entries on the LB, a host entry and a guest entry of a virtual machine currently implemented on a real computer. In addition, Japanese Examined Japanese Patent Sho 58-8073
In the gazette, a TLB field is expanded to identify a virtual machine identifier (VM) for identifying a host and a plurality of guests.
The method of providing the identifier) is shown. According to this method, it becomes possible to simultaneously hold the host entry and the plurality of guest entries on the TLB. Therefore, T
The rate of conversion using LB is increased and the performance is improved.
【0006】[0006]
【発明が解決しようとする課題】ゲスト仮想アドレスに
対応するホスト実ページが、ホストの主記憶管理の都合
で補助記憶装置にページアウトされるとき、これらの従
来技術では、ページアウトされたホスト実ページアドレ
スを持つホストページテーブルエントリの無効ビットを
1にし、ページアウトされたホスト実ページアドレスが
登録されているTLBエントリを無効にする。ここで問
題は、ゲスト仮想アドレスをゲスト実アドレスに変換す
るゲストDATの変換テーブルは変更がなく有効である
が、同ゲスト仮想アドレスで主記憶アクセス要求があっ
た場合、前記TLBエントリが無効になったことで2レ
ベルDATが発生し、(1)ゲストDATが行われるた
めに、2回のホストDAT(図2中2、3)が発生す
る。このようにして、ゲストDATで求めたゲスト実ア
ドレスをホストDAT(図2中5)する際にページテー
ブルエントリ無効によるホスト割り込みが発生し、目的
のホスト実ページをページインした後、(2)前記2レ
ベルDATが、再度最初から繰り返されることによって
3回のホストDAT(図2中2、3、5)が生じること
である。When the host real page corresponding to the guest virtual address is paged out to the auxiliary storage device for the convenience of the main memory management of the host, in these conventional techniques, the paged out host real page is used. The invalid bit of the host page table entry having the page address is set to 1 to invalidate the TLB entry in which the paged-out host real page address is registered. Here, the problem is that the translation table of the guest DAT that translates the guest virtual address into the guest real address is valid without any change, but when there is a main memory access request at the guest virtual address, the TLB entry becomes invalid. As a result, two-level DAT is generated, and (1) guest DAT is performed, so that two host DATs (2 and 3 in FIG. 2) are generated. In this way, when the guest real address obtained by the guest DAT is host DAT (5 in FIG. 2), a host interrupt occurs due to invalidation of the page table entry, and after the target host real page is paged in, (2) The two-level DAT is repeated from the beginning again, so that the host DAT (2, 3, 5 in FIG. 2) occurs three times.
【0007】本発明の目的は、ホストの都合でゲスト仮
想アドレスに対応するホスト実ページをページアウトし
ても、TLBがゲスト仮想アドレスに対応したゲスト実
アドレスを供給することで、2回のホストDATを伴う
ゲストDATの発生を抑え、繰り返される2レベルDA
TのホストDATの発生を1回に低減することで、仮想
計算機システムの性能向上を図ることにある。It is an object of the present invention to provide a guest real address corresponding to a guest virtual address by the TLB even if the host real page corresponding to the guest virtual address is paged out for the convenience of the host. 2-level DA that is repeated by suppressing the occurrence of guest DAT that accompanies DAT
It is intended to improve the performance of the virtual computer system by reducing the occurrence of the host DAT of T to once.
【0008】[0008]
【課題を解決するための手段】上記目的を達成するた
め、本発明は、1台の実計算機上で1以上の仮想計算機
が作る仮想アドレスを、実計算機の実アドレスに変換す
る機構を有する仮想計算機システムにおいて、ゲストD
AT機構と、ホストDAT機構と、複数のエントリを有
し該各エントリは判定情報フィールドとゲスト実アドレ
スフィールドとホスト実アドレスフィールドと該ゲスト
実アドレスフィールドの有効・無効および該ホスト実ア
ドレスフィールドの有効・無効を示すエントリ識別子フ
ィールドからなるアドレス変換バッファ(TLB)と、
与えられたゲスト仮想アドレスに基づき前記TLBのエ
ントリを選択するTLBエントリ選択部と、該TLBエ
ントリ選択部により選択され読み出されたTLBのエン
トリにおける判定情報とエントリ識別子および実行中の
仮想計算機に関する判定情報を受けて判定をし、判定出
力を出すTLBエントリ判定部と、該TLBエントリ判
定部の判定出力により、前記TLBから読み出されたホ
スト実アドレスか前記ホストDAT機構から出力された
ホスト実アドレスのいずれかを選択出力するホスト実ア
ドレス選択部を備え、ゲスト仮想アドレスが前記ゲスト
DAT機構およびTLBエントリ選択部に与えられ、選
択されたTLBエントリにおける判定情報と前記実行中
の仮想計算機に関する判定情報が一致する場合、エント
リ識別子がゲストおよびホスト実アドレスの無効を示す
とき前記TLBエントリ判定部は前記ゲストおよびホス
トDAT機構を起動しかつ前記ホスト実アドレス選択部
にホストDAT機構の出力するホスト実アドレスを選択
出力させる判定出力を出し、起動されたホストDAT機
構は起動されたゲストDAT機構の出力を受けてホスト
実アドレスを出力し、エントリ識別子がホスト実アドレ
スの無効を示すとき前記TLBエントリ判定部は前記ホ
ストDAT機構を起動しかつ前記ホスト実アドレス選択
部にホストDAT機構の出力するホスト実アドレスを選
択出力させる判定出力を出し、起動されたホストDAT
機構は選択されたTLBエントリにおけるゲスト実アド
レスを受けてホスト実アドレスを出力し、エントリ識別
子がホスト実アドレスの有効を示すとき前記TLBエン
トリ判定部は前記ホスト実アドレス選択部に選択された
TLBエントリにおけるホスト実アドレスを選択出力さ
せる判定出力を出すようにしている。To achieve the above object, the present invention has a virtual machine having a mechanism for converting a virtual address created by one or more virtual machines on one real machine into a real address of the real machine. Guest D in the computer system
It has an AT mechanism, a host DAT mechanism, and a plurality of entries, and each entry is valid / invalid of the judgment information field, guest real address field, host real address field, and guest real address field, and valid of the host real address field. An address translation buffer (TLB) consisting of an entry identifier field indicating invalidity,
A TLB entry selection unit that selects an entry of the TLB based on a given guest virtual address, determination information and an entry identifier in the TLB entry selected and read by the TLB entry selection unit, and a determination regarding the virtual computer in execution A TLB entry determination unit that receives information and makes a determination and outputs a determination output, and a host real address read from the TLB or a host real address output from the host DAT mechanism according to the determination output of the TLB entry determination unit. A host real address selection unit for selectively outputting any of the above, the guest virtual address is given to the guest DAT mechanism and the TLB entry selection unit, and the judgment information in the selected TLB entry and the judgment information about the virtual machine in execution. Match the entry identifier is guest And indicating that the host real address is invalid, the TLB entry determination unit activates the guest and host DAT mechanism and outputs a determination output for causing the host real address selection unit to selectively output the host real address output by the host DAT mechanism, The activated host DAT mechanism outputs the host real address in response to the output of the activated guest DAT mechanism, and when the entry identifier indicates that the host real address is invalid, the TLB entry determination unit activates the host DAT mechanism and The host real address selection unit outputs a judgment output for selecting and outputting the host real address output by the host DAT mechanism, and the activated host DAT
The mechanism receives the guest real address in the selected TLB entry and outputs the host real address. When the entry identifier indicates that the host real address is valid, the TLB entry determination unit determines the TLB entry selected by the host real address selection unit. The judgment output for selectively outputting the host real address in is output.
【0009】[0009]
【作用】ゲスト仮想アドレスがゲストDAT機構および
TLBエントリ選択部に与えられたとき、エントリ識別
子がゲストおよびホスト実アドレスの無効を示すとき
は、ゲストおよびホストDAT機構が起動され、起動さ
れたホストDAT機構は起動されたゲストDAT機構の
出力を受けてホスト実アドレスを出力し、このホスト実
アドレスが選択され出力される。エントリ識別子がホス
ト実アドレスの無効を示すとき、ホストDAT機構を起
動し、起動されたホストDAT機構は選択されたTLB
エントリにおけるゲスト実アドレスを受けてホスト実ア
ドレスを出力し、このホスト実アドレスが選択され出力
される。エントリ識別子がホスト実アドレスの有効を示
すとき、TLBエントリにおけるホスト実アドレスが選
択出力させる。以上のように、本発明によれば、ホスト
が無効にしたページアドレスを持つTLBエントリを有
効に活用してホスト実アドレスを得ることができ、ま
た、2レベルDATを高速化できる。When the guest virtual address is given to the guest DAT mechanism and the TLB entry selector, and when the entry identifier indicates that the guest and host real addresses are invalid, the guest and host DAT mechanism is activated, and the activated host DAT. The mechanism receives the output of the activated guest DAT mechanism and outputs the host real address, and this host real address is selected and outputted. When the entry identifier indicates that the host real address is invalid, the host DAT mechanism is activated, and the activated host DAT mechanism is selected by the selected TLB.
Upon receiving the guest real address in the entry, the host real address is output, and this host real address is selected and output. When the entry identifier indicates that the host real address is valid, the host real address in the TLB entry is selected and output. As described above, according to the present invention, the host real address can be obtained by effectively utilizing the TLB entry having the page address invalidated by the host, and the 2-level DAT can be speeded up.
【0010】[0010]
【実施例】図1は、本発明のTLBを使った一つの実施
例である。TLB部1、TLBエントリ判定部2、ホス
トDAT機構4、ゲストDAT機構5、エントリ識別子
制御部6、TLBエントリ選択部7、ホスト実アドレス
選択部8、からなる。TLB部1のTLBエントリは、
エントリ識別子フィールド(EID)とVM識別子フィ
ールド(VMID)をはじめとする判定情報フィール
ド、ゲスト実アドレスフィールド(G−R)、ホスト実
アドレスフィールド(H−R)から成る。G−R、H−
Rにはページの先頭アドレスが格納されている。DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS FIG. 1 shows one embodiment using the TLB of the present invention. It comprises a TLB unit 1, a TLB entry determination unit 2, a host DAT mechanism 4, a guest DAT mechanism 5, an entry identifier control unit 6, a TLB entry selection unit 7, and a host real address selection unit 8. The TLB entry of the TLB part 1 is
The entry information field (EID) and the VM identifier field (VMID) are included in the judgment information field, the guest real address field (GR), and the host real address field (HR). G-R, H-
The top address of the page is stored in R.
【0011】EIDは、2ビットからなりその内容によ
って以下の意味がある。 00:TLBエントリ無効 01:G−Rが有効 10:H−Rが有効 11:G−R/H−Rともに有効 これらTLBエントリのフィールドは、アドレス変換の
時に登録される。The EID consists of 2 bits and has the following meanings depending on the contents. 00: TLB entry invalid 01: GR valid 10: HR valid 11: Both GR and HR valid The fields of these TLB entries are registered at the time of address translation.
【0012】アドレス変換は、ゲストDAT機構5とホ
ストDAT機構4で行われる。ゲストDAT機構5は、
実計算機が実行しているゲストのDATテーブルを使っ
て線106で与えられるゲスト仮想アドレスをゲスト実
アドレスに変換するゲストDAT(図2中1から4まで
の過程)を行う機構である。また、ホストDAT機構4
は、ホストが管理しているDATテーブルを使って、ゲ
スト実アドレスをホスト実アドレスに変換するホストD
AT(図2中5)を行う機構である。Address translation is performed by the guest DAT mechanism 5 and the host DAT mechanism 4. Guest DAT mechanism 5
This is a mechanism for performing a guest DAT (steps 1 to 4 in FIG. 2) for converting a guest virtual address given by the line 106 into a guest real address by using the guest DAT table executed by the real computer. In addition, the host DAT mechanism 4
Uses the DAT table managed by the host to convert the guest real address to the host real address.
This is a mechanism for performing AT (5 in FIG. 2).
【0013】ホストDAT機構4とゲストDAT機構5
の起動は、TLBエントリ判定部2によって行われる。
TLBエントリ判定部2は、TLBエントリ選択部7が
線106のアドレスの一部分に基づき選択したTLBエ
ントリ(選択対象のTLBエントリは必ず存在するよう
TLBは構成されている)の有効/無効を判定し、この
判定結果でホストDAT機構4とゲストDAT機構5の
起動を行う。TLBエントリの判定結果がTLBエント
リが無効を示しているときは、ゲストDAT機構5とホ
ストDAT機構4の両方が起動され、TLBエントリが
有効でかつG−Rのみが有効なときは、ホストDAT機
構4だけが起動される。Host DAT mechanism 4 and guest DAT mechanism 5
Is activated by the TLB entry determination unit 2.
The TLB entry determination unit 2 determines the validity / invalidity of the TLB entry selected by the TLB entry selection unit 7 based on a part of the address on the line 106 (the TLB is configured so that the TLB entry to be selected always exists). The host DAT mechanism 4 and the guest DAT mechanism 5 are activated based on this determination result. When the TLB entry determination result indicates that the TLB entry is invalid, both the guest DAT mechanism 5 and the host DAT mechanism 4 are activated, and when the TLB entry is valid and only GR is valid, the host DAT Only mechanism 4 is activated.
【0014】そして、ゲストDAT機構5が起動された
とき、ゲストDAT機構5は有効なゲスト実アドレスを
得るとTLBエントリ選択部7によって選ばれたTLB
エントリに、線108でEIDに‘01'と得られたゲ
スト実アドレスを登録する。同様に、ホストDAT機構
4が起動されたとき、ホストDAT機構4は有効なホス
ト実アドレスを得るとTLBエントリ選択部7によって
選ばれたTLBエントリに線104で、EIDに‘1
1'と得られたホスト実アドレスを登録する。Then, when the guest DAT mechanism 5 is activated, the guest DAT mechanism 5 obtains a valid guest real address, and the TLB selected by the TLB entry selector 7 is selected.
In the entry, the guest real address whose EID is '01' is registered on the line 108. Similarly, when the host DAT mechanism 4 is activated, when the host DAT mechanism 4 obtains a valid host real address, the TLB entry selected by the TLB entry selector 7 is line 104 and the EID is "1".
Register the host real address obtained as 1 '.
【0015】エントリ識別子制御部6は、ページ無効命
令で無効になったホスト実アドレスを持つTLBエント
リのEIDの内容を、‘H−R無効'に変更する制御部
である。エントリ識別子制御部6は、ホストでホスト実
ページを無効にするページ無効命令(IPTE命令)が
実行されると、線107から起動信号と無効になるホス
ト実ページアドレスを受け、TLBエントリを順次選択
するようにTLBエントリ選択部7を制御する。この
時、TLBエントリ選択部7によって順次選択されるこ
とにより、選択されたTLBエントリの内容は読み出さ
れ、H−Rの内容とEIDの内容が、線105と線10
9を通ってエントリ識別子制御部6に送られる。エント
リ識別子制御部6は、線105のH−Rの内容と線10
7に受けたホスト実ページアドレスを比較し、比較結果
を得る。そして、この比較結果が一致したTLBエント
リ(線107のホスト実ページアドレスに等しいH−R
を持つTLBエントリ)のEIDの内容(線109の内
容)が‘11'なら同TLBエントリのEIDの内容を
‘01'にする。同様に、この比較結果が一致したTL
Bエントリ(線107のホスト実ページアドレスに等し
いH−Rを持つTLBエントリ)のEIDの内容(線1
09の内容)が‘10'なら同TLBエントリのEID
の内容を‘00'にする。The entry identifier control unit 6 is a control unit that changes the contents of the EID of the TLB entry having the host real address that is invalidated by the page invalidation instruction to "HR invalid". When the host executes an invalid page instruction (IPTE instruction) to invalidate the host real page, the entry identifier control unit 6 receives the activation signal and the invalid host real page address from the line 107, and sequentially selects the TLB entries. The TLB entry selection unit 7 is controlled so as to do so. At this time, the contents of the selected TLB entry are read out by the sequential selection by the TLB entry selection unit 7, and the contents of HR and the contents of EID are shown in the lines 105 and 10.
It is sent to the entry identifier control unit 6 via 9. The entry identifier control unit 6 controls the contents of H-R on line 105 and line 10
The host real page address received in 7 is compared, and the comparison result is obtained. Then, the TLB entry (HR equivalent to the host real page address on the line 107) for which this comparison result is coincident
If the EID content (content of the line 109) of the TLB entry having "1" is "11", the EID content of the TLB entry is set to "01". Similarly, the TL for which this comparison result matches
Contents of EID of B entry (TLB entry having HR equal to host real page address of line 107) (line 1
If the content of 09) is '10', the EID of the same TLB entry
Set the contents of to '00'.
【0016】いま、ゲストが主記憶のアクセスを行うた
めに線106にゲスト仮想アドレスが与えられると、T
LBエントリ選択部7は、そのアドレスに対応したTL
Bエントリを選択する。選択されたTLBエントリは、
TLBエントリ判定部2で有効か無効か判定される。線
110は、TLBエントリ判定部2に現在実計算機上で
実現されている仮想計算機のVMIDなどTLBエント
リ判定情報を提供している。TLBエントリ判定部2に
よるTLBエントリの有効/無効判定結果は、線110
のエントリ判定情報と選択されたTLBエントリ判定情
報フィールドの比較結果と、同TLBエントリのEID
の内容で決まる。線110のエントリ判定情報とTLB
エントリ判定情報フィールドの比較は、例えば、前掲の
特公昭58−8073号公報に記載されているVM識別
子の比較としてもよく、VM識別子以外の判定情報も合
わせた比較としてもよい。比較結果が不一致ならTLB
エントリ無効、EIDが‘00'以外、かつ、比較結果
が一致ならTLBエントリ有効、EIDが‘00'な
ら、比較結果が一致でもTLBエントリ無効である。Now, when the guest virtual address is given to the line 106 for the guest to access the main memory, T
The LB entry selector 7 determines the TL corresponding to the address.
Select B entry. The selected TLB entry is
The TLB entry determination unit 2 determines whether it is valid or invalid. A line 110 provides the TLB entry determination unit 2 with TLB entry determination information such as the VMID of the virtual computer currently implemented on the real computer. The result of the TLB entry validity / invalidity determination by the TLB entry determination unit 2 is line 110.
Entry judgment information of the selected TLB entry judgment information field and the EID of the same TLB entry
It depends on the content of. Entry determination information and TLB on line 110
The comparison of the entry determination information fields may be, for example, the comparison of the VM identifiers described in Japanese Patent Publication No. 58-8073, or the determination information other than the VM identifier may be combined. If the comparison results do not match, TLB
If the entry is invalid, the EID is other than "00", and the comparison result is a match, the TLB entry is valid. If the EID is "00", the TLB entry is invalid even if the comparison result is a match.
【0017】ここで、線106のゲスト仮想アドレスで
選択したTLBエントリが無効なら、TLBエントリ判
定部2は、H−Rにゲスト仮想アドレスに対応したホス
ト実アドレスがないため、線103でゲストDAT機構
5にゲストDATと線101でホストDAT機構4にホ
ストDATを起動する(2レベルDATの起動)。この
時、ゲストDAT5機構は、線106でゲスト仮想アド
レスを得てゲストDATを行い有効なゲスト実アドレス
を得る。次に、ゲストDAT5機構は、有効なゲスト実
アドレスを線108を通して、前記仮想アドレスで選択
したTLBエントリのG−Rに登録し、同TLBエント
リのEIDにG−R有効を意味する‘01'を登録す
る。次に、ホストDAT機構4は、線108を通して有
効なゲスト実アドレスを得てホストDATを行い有効な
ホスト実アドレスを得る。ホストDAT機構4は、ホス
トDATで得た有効なホスト実アドレスを線104を通
してH−Rに登録し、EIDにG−R/H−Rともに有
効を意味する‘11'を登録する。このとき選択されて
いるTLBエントリは、ゲストDAT機構5がゲスト実
アドレスを登録したTLBエントリと等しい。このため
EIDの内容は、‘01'から‘11'に変更されたこと
になる。Here, if the TLB entry selected by the guest virtual address on the line 106 is invalid, the TLB entry judgment unit 2 does not have the host real address corresponding to the guest virtual address on the HR, and therefore the guest DAT on the line 103. The guest DAT is activated in the mechanism 5 and the host DAT is activated in the mechanism 4 by the line 101 (activation of the two-level DAT). At this time, the guest DAT5 mechanism obtains the guest virtual address on line 106 and performs the guest DAT to obtain a valid guest real address. Next, the guest DAT5 mechanism registers a valid guest real address in the GR of the TLB entry selected by the virtual address via the line 108, and the EID of the TLB entry means GR valid '01'. To register. Next, the host DAT mechanism 4 obtains a valid guest real address via the line 108 and performs a host DAT to obtain a valid host real address. The host DAT mechanism 4 registers the valid host real address obtained by the host DAT in the HR through the line 104, and registers "11", which means that both GR and HR are valid, in the EID. The TLB entry selected at this time is equal to the TLB entry in which the guest DAT mechanism 5 has registered the guest real address. Therefore, the content of the EID is changed from "01" to "11".
【0018】このように求めたホスト実アドレスは、同
線104を通してホスト実アドレス選択部8に送られ
る。ホスト実アドレス選択部8は、TLBエントリ判定
部2の制御でホストDAT機構4、ゲストDAT機構5
を起動したとき線104のホスト実アドレスを選択す
る。このようにして、主記憶装置はホスト実アドレスを
得る。線106に与えられたゲスト仮想アドレスとゲス
トDAT機構5がTLBに登録したゲスト実アドレスの
関係は、ゲストDATテーブルが変更されるまで有効で
ある。もし、前記線108でEIDとG−Rを登録した
後、ホストDAT(ホストDAT機構5の処理)が中断
することがあっても(例えばホストページテーブルエン
トリの無効ビットが1のとき)G−Rは有効である。従
って、EIDはG−Rが有効‘01'のままにする。The host real address thus obtained is sent to the host real address selector 8 through the same line 104. The host real address selection unit 8 is controlled by the TLB entry determination unit 2 and the host DAT mechanism 4 and the guest DAT mechanism 5 are controlled.
Select the host real address on line 104 when is activated. In this way, the main memory obtains the host real address. The relationship between the guest virtual address given to the line 106 and the guest real address registered in the TLB by the guest DAT mechanism 5 is valid until the guest DAT table is changed. Even if the host DAT (processing of the host DAT mechanism 5) is interrupted after registering the EID and GR on the line 108 (for example, when the invalid bit of the host page table entry is 1), G- R is valid. Therefore, the EID remains GR-enabled, '01'.
【0019】さて、このようなTLBエントリが線10
6のゲスト仮想アドレスで選択された場合、つまりTL
Bエントリが有効かつ、EIDが‘01'(G−Rが有
効)なら、TLBエントリ判定部2は、G−Rにゲスト
仮想アドレスに対応したゲスト実アドレスがあるため、
線101でホストDAT機構4にホストDATを起動す
る。以下TLBエントリが無効の場合と同様にホストD
AT機構4は、ホストDATでG−Rのゲスト実アドレ
スに対応したホスト実アドレスを得ると線104をTL
Bエントリ選択部7で選択されているTLBエントリの
EIDにG−R/H−Rともに有効を意味する‘11'
とH−Rに得られたホスト実アドレスを登録する。求め
たホスト実アドレスは線104でホスト実アドレス選択
部8に送られ、ホスト実アドレス選択部8は、TLBエ
ントリ判定部2の制御で線104のホスト実アドレスを
選択する。Now, such a TLB entry is a line 10
When selected with 6 guest virtual addresses, ie TL
If the B entry is valid and the EID is “01” (GR is valid), the TLB entry determination unit 2 has the guest real address corresponding to the guest virtual address in GR,
The host DAT is activated to the host DAT mechanism 4 by the line 101. Then, as in the case where the TLB entry is invalid, the host D
When the AT mechanism 4 obtains the host real address corresponding to the GR guest real address from the host DAT, the AT mechanism 4 TLs the line 104.
'11' meaning that both GR and HR are valid for the EID of the TLB entry selected by the B entry selector 7
And the obtained host real address is registered in HR. The obtained host real address is sent to the host real address selection unit 8 via the line 104, and the host real address selection unit 8 selects the host real address on the line 104 under the control of the TLB entry determination unit 2.
【0020】以上のように、ゲスト仮想アドレスで選択
されたTLBエントリは、EIDが‘00'でも‘01'
でも最終的には、G−R/H−Rともに有効(EIDが
‘11')なTLBエントリになる。このTLBエント
リのG−Rのゲスト実アドレスとゲスト仮想アドレスの
関係は、前にも述べたようにゲストDATテーブルに変
更がない限り有効である。また、前記EIDが‘11'
のTLBエントリのG−Rのゲスト実アドレスとH−R
のホスト実アドレスの関係は、ホストDATテーブルに
変更がない限り有効である。しかし、ここでG−Rのゲ
スト実アドレスに対応するH−Rのホスト実アドレス
が、ホストの主記憶管理の都合で補助記憶装置にページ
アウトする対象になったとき、ホストDATテーブルに
変更が生じる。このため、ページアウトされるホスト実
アドレスをもつゲストのTLBエントリは、H−Rを無
効にしなければならない。このとき、ゲストDATテー
ブルは変更されないので、前記EIDが‘11'のTL
Bエントリは、G−R有効/H−R無効(EIDが‘0
1')にする必要がある。As described above, the TLB entry selected by the guest virtual address is "01" even if the EID is "00".
However, in the end, both the GR and HR become valid (EID is "11") TLB entries. The relationship between the guest real address of the GR in the TLB entry and the guest virtual address is valid unless the guest DAT table is changed, as described above. Also, the EID is '11'
Guest real address and HR of TLB entry of
The host real address relationship of is valid unless the host DAT table is changed. However, when the HR host real address corresponding to the GR guest real address is targeted for page-out to the auxiliary storage due to the host main memory management, the host DAT table is changed. Occurs. Therefore, the guest's TLB entry with the host real address being paged out must invalidate HR. At this time, since the guest DAT table is not changed, the EID is "11" for the TL.
B entry is GR valid / HR invalid (EID is' 0
It should be 1 ').
【0021】このような制御は、ホストでページ無効命
令(IPTE命令)が発行されたときに行われる。この
ページ無効命令が発行されると、無効になるページアド
レスを持つホストページテーブルエントリの無効ビット
が‘1'になる。そして、エントリ識別子制御部6は、
前述のように無効になるホスト実ページアドレスを持つ
TLBエントリを検索し、該当のTLBエントリのEI
Dを変更する。このとき該TLBエントリのEIDが、
H−R有効を示しているときH−Rが無効になる内容を
登録する。すなわち、該TLBエントリのEIDの内容
が‘11'の場合は‘01'に変更される。Such control is performed when a page invalid command (IPTE command) is issued by the host. When this page invalid instruction is issued, the invalid bit of the host page table entry having the invalid page address becomes "1". Then, the entry identifier control unit 6
As described above, the TLB entry having the invalid host real page address is searched, and the EI of the corresponding TLB entry is searched.
Change D. At this time, the EID of the TLB entry is
When the HR is valid, the contents that make the HR invalid are registered. That is, when the content of the EID of the TLB entry is "11", it is changed to "01".
【0022】このようなTLBエントリが、線106の
ゲスト仮想アドレスで選択されたとき、つまり選択され
たTLBエントリが有効でかつ、ホストページ無効命令
でEIDが‘01'(G−Rが有効)に変更されたTL
Bエントリの場合は、TLBエントリが有効かつEID
が‘01'(G−Rが有効)な場合と同様にG−Rに有
効なゲスト実アドレスがあるので前述のようにホストD
AT機構4でホストDATを行う。しかし、前述のよう
にホストページテーブルエントリの無効ビットが、ペー
ジ無効命令で0になっているので、ホストDATの際に
ホストプログラム割り込みが発生し処理が中断する。こ
のとき該TLBエントリは、EIDが‘01'のままに
する。When such a TLB entry is selected by the guest virtual address of the line 106, that is, the selected TLB entry is valid, and the host page invalidation instruction causes the EID to be "01" (G-R is valid). TL changed to
For B entry, TLB entry is valid and EID
Is "01" (GR is valid), there is a valid guest real address in GR.
The AT mechanism 4 performs host DAT. However, since the invalid bit of the host page table entry is set to 0 by the page invalid instruction as described above, a host program interrupt occurs at the time of host DAT and the processing is interrupted. At this time, the EID of the TLB entry remains "01".
【0023】前記ホストプログラム割り込みの発生で、
ホストは目的のページを補助記憶装置からページインし
た後(ホストページテーブルエントリの無効ビット0に
する)再度同ゲスト仮想アドレスで主記憶アクセスを行
う。このとき選ばれるTLBエントリは、前記ホストプ
ログラム割り込みを起こしたTLBエントリと同一TL
Bエントリである。従って、(EIDが‘01'なの
で)有効なゲスト実アドレスがTLBから得られるので
ゲストDATを省略できる。そして、TLBから得られ
たゲスト実アドレスでホストDATを行うことになる。
このとき、ホストページテーブルエントリの無効ビット
が0なので、ホスト割り込みは発生しない。以下前述の
ように、線104でEIDにG−R/H−Rともに有効
を意味する‘11'とH−Rに得られたホスト実アドレ
スを登録する。そして、求めたホスト実アドレスは線1
04でホスト実アドレス選択部8に送られ、ホスト実ア
ドレス選択部8は、TLBエントリ判定部2の制御で線
104のホスト実アドレスを選択する。Upon the occurrence of the host program interrupt,
After the target page is paged in from the auxiliary storage device (invalid bit 0 of the host page table entry is set), the host performs main memory access again with the same guest virtual address. The TLB entry selected at this time is the same TL as the TLB entry that caused the host program interrupt.
This is the B entry. Therefore, the guest DAT can be omitted since a valid guest real address is obtained from the TLB (since the EID is '01'). Then, the host DAT is performed with the guest real address obtained from the TLB.
At this time, since the invalid bit of the host page table entry is 0, the host interrupt does not occur. Thereafter, as described above, the line 104 registers the obtained real host address in HR and "11" which means that both GR and HR are valid in EID. And the obtained host real address is line 1
At 04, the data is sent to the host real address selection unit 8, and the host real address selection unit 8 selects the host real address on the line 104 under the control of the TLB entry determination unit 2.
【0024】前述の場合従来技術では、ホスト実ページ
が無効になればゲスト仮想アドレスとゲスト実アドレス
の関係が有効であっても、無効なホスト実ページアドレ
スを持つTLBエントリは無効にしなければならなかっ
た。そのため、2レベルDATが発生しゲスト仮想アド
レスとゲスト実アドレスの関係が有効であるのに、ゲス
トDAT(図2中1から4の過程)とホストDAT(図
2中5)を行てホスト実アドレスを求める必要があっ
た。しかし、本実施例では、ゲスト仮想アドレスとゲス
ト実アドレスとホスト実アドレスの関係をTLBエント
リに保持しこれを識別する。そして、識別結果がゲスト
仮想アドレスに対してホスト実アドレスが無効な場合
は、ゲスト実アドレスを供給することによって2レベル
DATを高速化(ゲストDATを省略できるため)し、
ホスト実アドレスを求めることができる。また、線10
6のゲスト仮想アドレスで選択したTLBエントリが有
効でかつ、EIDが‘10'(H−Rが有効)または
‘11'(G−R/H−Rが有効)であれば、H−Rの
内容は線105によってホスト実アドレス選択部8に送
られる。ホスト実アドレス選択部8は、TLBエントリ
判定部2の制御で、TLBエントリが有効かつ、H−R
が有効(EIDが‘10'か‘11')なとき、線105
のホスト実アドレスを選択する。In the above case, in the prior art, even if the relationship between the guest virtual address and the guest real address is valid if the host real page becomes invalid, the TLB entry having the invalid host real page address must be invalidated. There wasn't. Therefore, although the two-level DAT occurs and the relationship between the guest virtual address and the guest real address is valid, the guest DAT (processes 1 to 4 in FIG. 2) and the host DAT (5 in FIG. 2) are executed and the host real address is executed. I had to ask for an address. However, in this embodiment, the relationship between the guest virtual address, the guest real address, and the host real address is held in the TLB entry and is identified. When the host real address is invalid for the guest virtual address as the identification result, the guest real address is supplied to speed up the two-level DAT (because the guest DAT can be omitted).
The host real address can be determined. Also, line 10
If the TLB entry selected by the guest virtual address of 6 is valid and the EID is '10' (HR is valid) or '11' (GR / HR is valid), the HR The content is sent by line 105 to the host real address selector 8. Under the control of the TLB entry determination unit 2, the host real address selection unit 8 determines that the TLB entry is valid and the HR
Is valid (EID is '10' or '11'), line 105
Select the host real address of.
【0025】このように、本実施例では、ゲストDAT
で求めたゲスト実アドレスをTLBエントリに登録し、
EIDでホスト実アドレスが無効になったTLBエント
リを管理することで、仮想計算機のアドレス変換を高速
化することでシステムの性能が向上する。尚、EIDが
‘10'のケースは、実計算機上でホストが動作してい
るときに登録されるもので、ホストのTLBエントリと
して判定される。従って、EIDが‘10'のTLBエ
ントリでH−Rがページ無効命令で無効になった場合
は、EIDを‘00'(TLBエントリ無効)にする。
また、本実施例のTLBは、VMIDで複数のゲストを
識別できる。As described above, in this embodiment, the guest DAT is
Register the guest real address obtained in step 3 in the TLB entry,
By managing the TLB entry in which the host real address is invalidated by EID, the address conversion of the virtual machine is speeded up, and the system performance is improved. The case where the EID is '10' is registered when the host is operating on the real computer, and is determined as the TLB entry of the host. Therefore, when the HR is invalidated by the page invalidation instruction in the TLB entry having the EID of "10", the EID is set to "00" (TLB entry invalidity).
Further, the TLB of this embodiment can identify a plurality of guests by VMID.
【0026】[0026]
【発明の効果】本発明によれば、仮想計算機システムに
おいて、ホストが無効にしたページアドレスを持つTL
Bエントリを有効に活用することができ、また、TLB
にゲスト実アドレスを持つことで2レベルDATを高速
化でき、仮想計算機システムの性能向上ができる。According to the present invention, in a virtual computer system, a TL having a page address invalidated by the host is used.
B entry can be effectively used, and TLB
By having the guest real address in, the 2-level DAT can be speeded up, and the performance of the virtual computer system can be improved.
【図1】本発明の一実施例の構成を示すブロック図であ
る。FIG. 1 is a block diagram showing the configuration of an embodiment of the present invention.
【図2】仮想計算機システムにおける従来のゲストの仮
想アドレスがホスト実アドレスに変換される過程を示す
図である。FIG. 2 is a diagram showing a process of converting a virtual address of a conventional guest into a host real address in a virtual computer system.
1 TLB部 2 TLBエントリ判定部 4 ホストDAT機構部 5 ゲストDAT機構部 6 エントリ識別子制御部 7 TLBエントリ選択部 8 ホスト実アドレス選択部 1 TLB unit 2 TLB entry determination unit 4 Host DAT mechanism unit 5 Guest DAT mechanism unit 6 Entry identifier control unit 7 TLB entry selection unit 8 Host real address selection unit
Claims (1)
が作る仮想アドレスを、実計算機の実アドレスに変換す
る機構を有する仮想計算機システムにおいて、 ゲストDAT機構と、 ホストDAT機構と、 複数のエントリを有し該各エントリは判定情報フィール
ドとゲスト実アドレスフィールドとホスト実アドレスフ
ィールドと該ゲスト実アドレスフィールドの有効・無効
および該ホスト実アドレスフィールドの有効・無効を示
すエントリ識別子フィールドからなるアドレス変換バッ
ファ(TLB)と、 与えられたゲスト仮想アドレスに基づき前記TLBのエ
ントリを選択するTLBエントリ選択部と、 該TLBエントリ選択部により選択され読み出されたT
LBのエントリにおける判定情報とエントリ識別子およ
び実行中の仮想計算機に関する判定情報を受けて判定を
し、判定出力を出すTLBエントリ判定部と、 該TLBエントリ判定部の判定出力により、前記TLB
から読み出されたホスト実アドレスか前記ホストDAT
機構から出力されたホスト実アドレスのいずれかを選択
出力するホスト実アドレス選択部を備え、 ゲスト仮想アドレスが前記ゲストDAT機構およびTL
Bエントリ選択部に与えられ、選択されたTLBエント
リにおける判定情報と前記実行中の仮想計算機に関する
判定情報が一致する場合、 エントリ識別子がゲストおよびホスト実アドレスの無効
を示すとき前記TLBエントリ判定部は前記ゲストおよ
びホストDAT機構を起動しかつ前記ホスト実アドレス
選択部にホストDAT機構の出力するホスト実アドレス
を選択出力させる判定出力を出し、起動されたホストD
AT機構は起動されたゲストDAT機構の出力を受けて
ホスト実アドレスを出力し、 エントリ識別子がホスト実アドレスの無効を示すとき前
記TLBエントリ判定部は前記ホストDAT機構を起動
しかつ前記ホスト実アドレス選択部にホストDAT機構
の出力するホスト実アドレスを選択出力させる判定出力
を出し、起動されたホストDAT機構は選択されたTL
Bエントリにおけるゲスト実アドレスを受けてホスト実
アドレスを出力し、 エントリ識別子がホスト実アドレスの有効を示すとき前
記TLBエントリ判定部は前記ホスト実アドレス選択部
に選択されたTLBエントリにおけるホスト実アドレス
を選択出力させる判定出力を出すことを特徴とする仮想
計算機システム。1. A virtual computer system having a mechanism for converting a virtual address created by one or more virtual computers on a single real computer into a real address of the real computer, including a guest DAT mechanism, a host DAT mechanism, and a plurality of host DAT mechanisms. And each entry has an entry identifier field indicating a judgment information field, a guest real address field, a host real address field, valid / invalid of the guest real address field, and valid / invalid of the host real address field. A translation buffer (TLB), a TLB entry selection unit that selects an entry of the TLB based on a given guest virtual address, and a T that is selected and read by the TLB entry selection unit.
The TLB entry determination unit that makes a determination by receiving the determination information in the entry of the LB, the entry identifier, and the determination information about the virtual machine that is being executed, and the determination output of the TLB entry determination unit,
Host real address read from or the host DAT
A host real address selector for selectively outputting any of the host real addresses output from the mechanism, wherein the guest virtual address is the guest DAT mechanism and the TL.
When the determination information given to the B entry selection unit matches the determination information regarding the selected TLB entry and the determination information regarding the running virtual machine, the TLB entry determination unit determines when the entry identifier indicates that the guest and host real addresses are invalid. The guest and host DAT mechanism is activated, and a determination output is output to the host real address selection unit to selectively output the host real address output by the host DAT mechanism, and the activated host D
The AT mechanism receives the output of the activated guest DAT mechanism and outputs the host real address. When the entry identifier indicates that the host real address is invalid, the TLB entry judgment unit activates the host DAT mechanism and outputs the host real address. The selection unit outputs a judgment output for selectively outputting the host real address output by the host DAT mechanism, and the activated host DAT mechanism selects the selected TL.
The host real address is output in response to the guest real address in the B entry, and when the entry identifier indicates that the host real address is valid, the TLB entry determination unit determines the host real address in the TLB entry selected by the host real address selection unit. A virtual computer system characterized by outputting a judgment output for selective output.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP6228702A JPH0869416A (en) | 1994-08-30 | 1994-08-30 | Virtual machine system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP6228702A JPH0869416A (en) | 1994-08-30 | 1994-08-30 | Virtual machine system |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH0869416A true JPH0869416A (en) | 1996-03-12 |
Family
ID=16880470
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP6228702A Pending JPH0869416A (en) | 1994-08-30 | 1994-08-30 | Virtual machine system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH0869416A (en) |
-
1994
- 1994-08-30 JP JP6228702A patent/JPH0869416A/en active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5295251A (en) | Method of accessing multiple virtual address spaces and computer system | |
EP0851357B1 (en) | Method and apparatus for preloading different default address translation attributes | |
US4733350A (en) | Improved purge arrangement for an address translation control system | |
US4495575A (en) | Information processing apparatus for virtual storage control system | |
US5129071A (en) | Address translation apparatus in virtual machine system using a space identifier field for discriminating datoff (dynamic address translation off) virtual machines | |
JPS63231550A (en) | Multiple virtual space control system | |
JP2510605B2 (en) | Virtual computer system | |
US5341484A (en) | Virtual machine system having an extended storage | |
JPH0512126A (en) | Device and method for address conversion for virtual computer | |
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 | |
JPH0981459A (en) | Address conversion buffer device | |
JPH0650480B2 (en) | Multiple virtual memory system and address controller | |
JPH0869416A (en) | Virtual machine system | |
JPS61160160A (en) | Addressing control device of virtual computer | |
JP2845754B2 (en) | Multiprocessor system | |
CA1328026C (en) | Apparatus and method for enhanced virtual to real address translation for accessing a cache memory unit | |
JPH0784884A (en) | Virtual computer system | |
JPH08235071A (en) | Virtual computr system | |
JPH0336648A (en) | Electronic computer, tlb device and microprocessor chip | |
JP3471657B2 (en) | Address translation apparatus and method | |
KR0184475B1 (en) | Cache memory access circuit | |
JPH05225063A (en) | Buffer memory clear system | |
JPH041373B2 (en) | ||
JPS6269339A (en) | Address converting buffer system | |
JPH06309196A (en) | Information processor with trace function |