JPH01229334A - 仮想計算機システム - Google Patents

仮想計算機システム

Info

Publication number
JPH01229334A
JPH01229334A JP63055891A JP5589188A JPH01229334A JP H01229334 A JPH01229334 A JP H01229334A JP 63055891 A JP63055891 A JP 63055891A JP 5589188 A JP5589188 A JP 5589188A JP H01229334 A JPH01229334 A JP H01229334A
Authority
JP
Japan
Prior art keywords
virtual
area
tlb
address
multiprocessor
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP63055891A
Other languages
English (en)
Inventor
Hiroshi Ikegaya
池ケ谷 浩
Hidenori Umeno
梅野 英典
Takeshi Watanabe
毅 渡辺
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 JP63055891A priority Critical patent/JPH01229334A/ja
Publication of JPH01229334A publication Critical patent/JPH01229334A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、仮想計算機システムに関し、特にアドレス変
換バッファ (T L B : Translatio
n L。
ok−aside B uffer)を有する仮想計算
機システムにおいて、仮想計算機(ゲスト)がマルチプ
ロセッサを構成する場合にその処理を高速化するのに好
適な方式に関するものである。
〔従来の技術〕
マルチプロセッサ・システムでは、複数台のプロセッサ
が、同一の主記憶装置を共有し、1つのオペレーティン
グシステムの管理下で相互に情報の交換を行う。このよ
うに、マルチプロセッサ・システムでは1つの主記憶装
置を共有するため、主記憶装置内のプリフィクス領域を
互いに異なったエリアに設ける必要がある。このため、
プロセッサ内にプリフィクス・レジスタを設け、第2図
に示すように、プログラムから発行された論理アドレス
は、アドレス変換により実アドレスに変換され、その実
アドレスは、プリフィクス変換で実際の主記憶参照アド
レス(絶対アドレス)に変換される。
通常、TLBには、論理アドレスに対応した絶対アドレ
スが登録され、アドレス変換の高速化が図られている。
マルチプロセッサ・システムの場合、TLBは各プロセ
ッサに存在しているので、自プロセッサのプリフィクス
・レジスタを使用したプリフィクス変換の結果がTLB
に登録される。
相手側のプロセッサのプリフィクス領域にはTLBを使
用してアドレス変換されることはない。例えば、2台の
プロセッサによるマルチプロセッサ・システムでプロセ
ッサ(0)のプリフィクス・レジスタの値が“O″、プ
ロセッサ(1)のプリフィクス・レジスタの値が“α″
の場合、第3図に示すように、プロセッサ(0)では実
アドレスO番地は絶対アドレスO番地に、実アドレスα
番地は絶対アドレスα番地に変換され、プロセッサ(1
)では実アドレス0番地は絶対アドレスα番地に、実ア
ドレスα番地は絶対アドレス0番地に変換される。
ここで、仮想計算機システムにおいて仮想計算機(ゲス
ト)が複数の仮想プロセッサにより構成されるマルチプ
ロセッサ・システムの場合、実計算機にはTLBは1つ
しか存在しないので、各仮想プロセッサ毎のTLBエン
トリを区別する必要がある。
従来、仮想計算機システムでは、特開昭53−1012
34号公報に記載のように、TLB内に仮想計算機識別
子フィールドを保持することによ1、複数の仮想計算機
のエントリがTLB内に存在可能である。仮想計算機(
ゲスト)が複数台の仮想プロセッサによって構成される
マルチプロセッサの形態をとる場合、各仮想プロセッサ
毎に別々のTLBエントリとして’18する必要がある
。そこで、マルチプロセッサを構成する各仮想プロセッ
サ毎に別々の仮想計算8!識別子を与えてTLnにWB
することによ1、各仮想プロセッサ対応のプリフィクス
領域を含む全ての領域が仮想計算機識別子を使って識別
可能となる。しかし、この方法によると、各仮想プロセ
ッサのプリフィクス領域を除く領域は同一の領域(共通
領域)であるので、TLBに登録されるエントリは同じ
情報を保持するが、仮想計算機識別子のみが異なるので
、各仮想プロセッサ対応に別々のTLBエントリとじて
登録されることになる。
〔発明が解決しようとする課題〕
上記従来技術は、ゲストが複数台の仮想プロセッサによ
って構成されるマルチプロセッサの形態をとる場合に、
各仮想プロセッサのプリフィクス領域を識別する方法と
して、各仮想プロセッサ毎に別々の仮想計算機識別子を
与えることによって実現している。しかし、この方法で
は、プリフィクス領域以外の領域(共通領域)でも仮想
計算機識別子が異なるため、別々のTLBエントリとし
て’1Bされるので、TLBの利用効率が下が1、仮想
計算機システムの性能低下の要因となる。
本発明の目的は、こめような従来の課題を解決し、仮想
計算機が複数の仮想プロセッサから成るマルチプロセッ
サ構成をとる場合、プリフィクス領域以外の領域(共通
領域)に対するTLBエントリを、各仮想プロセッサ間
で共通に使用可能とし、TLBの使用効率を向上させ、
システムの性能低下を抑えることができる仮想計算機シ
ステムを提供することにある。
〔課題を解決するための手段〕
上記課題を解決するため、本発明の仮想計算機システム
は、少なくとも1つの仮想計算機を少なくとも1つの実
計算機上で同時に動作させる仮想計算機制御プログラム
と、上記仮想計算機の論理アドレスを実計算機の絶対ア
ドレスに変換するアドレス変換バッファ(TLB)と、
上記仮想計算機の実アドレスを仮想計算機の絶対アドレ
スに変換するプリフィクス変換手段とを有する仮想計算
機システムにおいて、上記TLBに仮想計算機が複数台
の仮想プロセッサからなるマルチプロセッサ構成で各仮
想プロセッサ間で共通領域か否かを示すマルチプロセッ
サフィールドと複数の仮想計算機を識別する仮想計算機
識別子フィールドを追加し、上記マルチプロセッサフィ
ールドにマルチプロセッサ構成で共通領域か否かを示す
値を設定する手段を設け、該設定手段はマルチプロセッ
サ構成で、上記プリフィクス変換手段によりプリフィク
ス変換が行われなかったときに上記共通領域であること
を示す値を設定し、マルチプロセッサ構成で、上記プリ
フィクス変換手段によりプリフィクス変換が行われたと
き、または別の仮想プロセッサのプリフィクス変換対象
の領域に対するエントリであるときに上記共通領域でな
いことを示す値を設定することに特徴がある。
また、上記仮想計算機システムにおいて、上記TLBの
エントリの有効、無効を判定する手段を設け、該判定手
段は上記マルチプロセッサフィールドがマルチプロセッ
サ構成で共通領域を示す時には、上記仮想計算機識別子
フィールドの一致を判定せずに上記エントリの有効、無
効を判定することに特徴がある。
〔作用〕
本発明においては、TLBのマルチプロセッサ・フィー
ルドは、マルチプロセッサ構成の時の各仮想プロセッサ
で共通な領域のTLBエン1−りと各仮想プロセッサ対
応のプリフィクス領域のTLBエントリを区別して表す
ことができる。上記TLBエントリの有効、無効を判定
する手段は、T LBがマルチプロセッサ構成で共通領
域を示す時には、該TLBエントリの仮想計算機識別子
フィールドの一致を判定せずにTLBエントリが各仮想
プロセッサ間で共通の領域に対するエントリであること
を判定することができる。TLBのマルチプロセッサ・
フィールドに共通領域か否かを示す値を設定する手段は
、TLBに設定(登録)するエントリが、別の仮想プロ
セッサのプリフィクス変換対象の領域に対するエントリ
である場合、別の仮想プロセッサのプリフィクス変換領
域のTLBエントリを区別してiThMすることができ
る。
したがって、TLBに各仮想プロセッサ毎のプリフィク
ス領域に対するTLBエントリと、各仮想プロセッサ間
で共通の領域に対するTLBエントリを区別して登録す
ることができるので、TLBの使用効率を向上でき、仮
想計算機システムの性能低下を抑えることができる。
〔実施例〕
以下、本発明の実施例を、図面により詳細に説明する。
第1図は、本発明の一実施例を示す仮想計算機システム
の構成図である。これは、仮想計算機システムに1組の
マルチプロセッサ・システムのみが存在し、TLBのマ
ルチプロセッサフィールド(以下、MPフィールドとい
う)が、1ビツトの場合について示している。
第1図において、1はプログラムから発行された論理ア
ドレスが格納される論理アドレス・レジスタ(L A 
R)、2はセグメントテーブルの先須アドレスが格納さ
れるセグメントテーブル先須アドレス・レジスタ(ST
OR)、3は複数の仮想計算機を識別するための仮想計
算機識別子レジスタ(VMIDR)、4は仮想計算機制
御プログラム(VMCP)または複数の仮想プロセッサ
からなる仮想計算機(ゲスト)が動作する主記憶装置、
5はプログラムから発行されたマルチプロセッサ構成の
SCAアドレスが格納されるSCAアドレス・レジスタ
(S CA R)である。ここでぃうSCAアドレスと
は、主記憶装置4上のゲストがマルチプロセッサ構成の
ときの制御を行うための情報が格納されたシステム・コ
ントロール・エリア(SCA)のアドレスをいい、マル
チプロセッサを構成する各仮想プロセッサのステート・
ディスクリプジョン(SD)から同一のアドレスが指定
される。仮想プロセッサ起動命令のオペランドでは、仮
想プロセッサの情報を格納したSDの先頭アドレスを指
定し、そのアドレスがデータ線101から出力される。
6はプリフィクス変換回路2oを有するアドレス変換回
路、7はプリフィクス変換を行うためのプリフィクス・
レジスタ(PXR)、8は仮想計算機がマルチプロセッ
サ構成であることを示すMPフラグ、9はSDからのS
CAアドレスと5CAR5の内容を比較する比較器、1
0は有効フィールド(Vフィールド)、セグメンj−・
テーブル先頭アドレス・フィールド(STOフィールド
)、仮想アドレスフィールド(LAフィールド)、絶対
アドレス・フィールド(AAフィールド)、仮想計算機
識別子フィールド(VMIDフィールド)、および仮想
計算機が複数の仮想プロセッサから成るマルチプロセッ
サ構成で各仮想プロセッサ間で共通領域か否かを示すM
Pフィールドを保持するTLB、11はMPフィールド
にマルチプロセッサ構成で共通領域か否かを示す値を設
定するMPフィールド設定回路、12は絶対アドレス・
レジスタ(AAR)、14はAND回路、15はOR回
路、20は仮想計算機の実アドレスを仮想計算機の絶対
アドレスに変換(プリフィクス変換)するプリフィクス
変換回路である。また、5TOR2,VMIDR3,P
XR7には、仮想プロセッサの情報が主記憶上のSDか
ら格納される。以下、第1図のシステムの動作を説明す
る。
仮想プロセッサ起動命令が発行された時、主記憶装置4
上のSDから指定されたSCAアドレスと5CAR5の
内容が、比較器9によって比較され、両者が等しい時M
Pフラグ8にIt 1 tlが設定される。アドレス変
換回路6によってアドレス変換が行われた場合に、アド
レス変換回路6中のプリフィクス変換回路20は、PX
R7を使用してプリフィクス変換を実行しようとする。
そして実際にゲストのプリフィクス変換が行われた時に
は、制御線102からrt 1 nが出力される。MP
フィールド設定回路11は、MPフラグ8が“1″で。
制御線102が“0″の時、TLBIOのMPフィール
ドに“1″を登録し、MPフラグ8が“0″の時および
MPフラグ8が′1″で制御線102が“1″の時、T
LBIOのMPフィールドにIt O++を登録する。
つま1、マルチプロセッサ構成でプリフィクス変換が行
われなかったとき、共通領域であることを示す値を設定
し、マルチプロセッサ構成でない時とマルチプロセッサ
構成でプリフィクス変換が行われたとき、共通領域でな
いことを示す値を設定する。
仮想プロセッサ起動命令が発行された時、制御線103
から11111が出力される。MPフィールド設定回路
11は、制御線103がit I ++の時PXR7の
内容に対応したTLBloの該当エントリのMPフィー
ルドにit O++を設定する。つま1、仮想プロセッ
サが起動された時、その仮想プロセッサのプリフィクス
変換対象の領域に対応するTLBエントリに対してMP
フィールドに“0″を設定する。比較器13は、信号線
120,121を介してTLBloのVMIDフィール
ドとVM■DR3の内容を比較し、両者が等しい時、制
御!;A122に1111+を出力する。比較器13の
出力とTLB 10のMPフィールド信号線1.23が
AND回路14の入力とな1、比較器13の出力がu 
l hpでMPフィールドがl(OIfの時、AND回
路14から制御線124に11”が出力される。
TLBIOのMPフィールド信号、i;A125とAN
D回路14の出力がOR回路15の入力とな1、何れか
一方がIt I 11の時、OR回路15から制御1f
1126に“1”が出力される。つま1、マルチプロセ
ッサ構成で共通領域を示す時、およびVMIDが一致し
たときOR回路15から制御l;A126に111 I
Pが出力される。OR回路15の出力がu 1 ++の
時、AAフィールド信号線127を介してTLB 10
のAAフィールドの内容がAAR12に設定され、TL
B 10によるアドレス変換が行われたことになる。
第4図は、第1図におけるMPフィールド設定回路11
の詳細構成例を示す図である。
本MPフィールド設定回路11は、TLBエントリ指定
回路201.AND回路202,203より構成される
。以下、本MPフィールド設定回路11の動作を説明す
る。
PXR7の内容に対するTLBエントリをTLBエント
リ指定回路201により判定する。制御線103の値が
II I IIの時、PXR7に対応するTLBエント
リのMPフィールドに110 IIを設定するため、A
ND回路202の出力301,302からそれぞれ“0
″、“1”が出力される。AND回路202の出力30
1はTLBIOのMPフィールドの登録データとして、
AND回路202の出力302はTLB 10の該当エ
ントリの登録信号として使用される。MPフラグ8の値
がII I IIで制御線102の値が“0″の時、A
ND回路203から11117が出力される。AND回
路203の出力303はTLB 10のMPフィールド
の登録データとして、アドレス変換が行われた時にTL
BIOに該当エントリを登録する際に使用される。
次に、仮想計算機システムに2組以上のマルチプロセッ
サ・システムが存在可能で、TLBによって複数組のマ
ルチプロセッサ・システムが識別可能な場合について第
5図により説明する。
第5図は、第1図のシステムの変更部分を記述した構成
図である。第5図のシステムでは、第1図のシステムに
対して比較器16が追加され、5CAR5に代わってS
CAスタック17.MPフラグ8に代わってマルチプロ
セッサ番号レジスタ(MPNOR)18が追加されてい
る。マルチプロセッサを構成する場合、各マルチプロセ
ッサ毎にSCAに対応したマルチプロセッサ番号(MP
NO)が与えられる。SCAスタック17には、マルチ
プロセッサを構成する時のSCAとそのSCAに対応す
るMPNOが格納される。また、TLBIOのMPNO
フィールドには、MPNOが格納される。以下、第5図
のシステム動作を説明する。
仮想プロセッサが起動された時に、SDによって指定さ
れたSCAアドレスがSCAスタック17のSCAフィ
ールドと比較器9によって比較される。両者が一致した
エントリに対応するMPNOをSCAスタック17から
MPNOR18に設定する。MPフィールド設定回路1
1は、M P N0R18がII OIT テなく、制
御線102が“0”の時、TLB 10のMPNOフィ
ー/L/ドニM P N0R18の値を登録し、MPN
OR18が0”の時およびMPNOR18が0”でなく
、制御線102が4111+の時、TLL310のMP
NOフィールドにMPNOR18の値を登録する。また
、MPフィールド設定回路11は、制御線103がII
 I IIの時、PXR7の内容に対応したTLBIO
の該当エントリのMPNOフィールドにII OIIを
設定する。比較器13は、信号線120,121を介し
てTLB1017)VMIDフィールトドVMIDR3
の内容を比較し、両者が等しい時、制御線122に11
111を出力する。比較器16は、信号1iA130,
131を介してTLBloのMPNOフィールドとMP
NOR18の内容を比較し、両者が等しい時、MPフィ
ールド信号線123にrL I 11を出力する。比較
器13の出力と比較器16の出力がAND回路14の入
力とな1、比較器13の出力がII I IIで比較器
16の出力がII OITの時、AND回路14から制
御線124に11”が出力される。比較器16の出力と
AND回路14の出力がOR回路15の入力とな1、何
れか一方が“1″の時、OR回路15から制御19t1
26にII I IIが出力される。つま1、マルチプ
ロセッサ構成のM P N Oが一致した時、およびV
MIDが一致した時、OR回路15から制御線126に
II l +1が出力される。OR回路15の出力が“
1″の時、AAフィールド信号線127を介してTLB
IOのAAフィールドの内容がAAR12に設定され、
TLBl 0によるアドレス変換が行われたことになる
。マルチプロセッサを構成するSCAアドレスがSCA
スタック17に存在していない場合、あるMPNOに対
応するTLBエントリを全て無効化し、そのMPNOに
対して新しくSCAアドレスを設定してSCAスタック
17に登録する。
このように、本実施例においては、TLBのMPフィー
ルドによってゲストがマルチプロセッサ構成で共通領域
を示すか否かを判別できる。また、仮想プロセッサが起
動されるまでは、その仮想プロセッサのプリフィクス変
換対象領域に対するTLBエントリには、共通領域であ
ることを示す値が設定されるので、TLBを効率良く使
用することができる。
〔発明の効果〕
以上説明したように、本発明によれば、仮想計算機が複
数の仮想プロセッサから成るマルチプロセッサ構成の場
合、TLBに各仮想プロセッサ毎のプリフィクス領域に
対するTLBエントリと。
各仮想プロセッサ間で共通の領域に対するTLBエント
リを区別して登録することができるので。
TLBの使用効率を向上でき、仮想計算機システムの性
能低下を抑えることができる。
【図面の簡単な説明】
第1図は本発明の一実施例を示す仮想計算機システムの
構成図、第2図はアドレス変換およびプリフィクス変換
の過程を示す説明図、第3図はプリフィクス変換の例を
示す説明図、第4図は第1図のMPフィールド設定回路
の詳細構成例を示す図、第5図は本発明の他の実施例を
示す仮想計算機システムの構成図である。 1:論理アドレス・レジスタ(LAR)、2:セグメン
トテーブル先頭アドレス・レジスタ(STOR)、3:
仮想計算機識別子レジスタ(VMIDR) 、 4 :
主記憶装置、5 : SCAアドレス・レジスタ(SC
AR)、6:アドレス変換回路、7:プリフィクス・レ
ジスタ、8:MPフラグ、9゜13.16:比較器、1
0 :TLB、11:Ml)フィールド設定回路、12
:絶対アドレス・レジスタ(AAR)、14:AND回
路、15:OR回路、17 : SCAスタック、18
:MPNOレジスタ。 特許出願人 株式会社 日立製作所

Claims (1)

  1. 【特許請求の範囲】 1、少なくとも1つの仮想計算機を少なくとも1つの実
    計算機上で同時に動作させる仮想計算機制御プログラム
    と、上記仮想計算機の論理アドレスを実計算機の絶対ア
    ドレスに変換するアドレス変換バッファ(TLB)と、
    上記仮想計算機の実アドレスを仮想計算機の絶対アドレ
    スに変換するプリフィクス変換手段とを有する仮想計算
    機システムにおいて、上記TLBに、仮想計算機が複数
    台の仮想プロセッサからなるマルチプロセッサ構成で各
    仮想プロセッサ間で共通領域か否かを示すマルチプロセ
    ッサフィールドと、複数の仮想計算機を識別する仮想計
    算機識別子フィールドとを追加し、上記マルチプロセッ
    サフィールドにマルチプロセッサ構成で共通領域か否か
    を示す値を設定する手段を設け該設定手段はマルチプロ
    セッサ構成で、上記プリフィクス変換手段によりプリフ
    ィクス変換が行われなかったときに、上記共通領域であ
    ることを示す値を設定し、マルチプロセッサ構成で、上
    記プリフィクス変換手段によりプリフィクス変換が行わ
    れたとき、または別の仮想プロセッサのプリフィクス変
    換対象の領域に対するエントリであるときに上記共通領
    域でないことを示す値を設定することを特徴とする仮想
    計算機システム。 2、特許請求の範囲第1項記載の仮想計算機システムに
    おいて、上記TLBのエントリの有効、無効を判定する
    手段を設け、該判定手段は上記マルチプロセッサフィー
    ルドがマルチプロセッサ構成で共通領域を示す時には、
    上記仮想計算機識別子フィールドの一致を判定せずに上
    記エントリの有効、無効を判定することを特徴とする仮
    想計算機システム。
JP63055891A 1988-03-09 1988-03-09 仮想計算機システム Pending JPH01229334A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP63055891A JPH01229334A (ja) 1988-03-09 1988-03-09 仮想計算機システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63055891A JPH01229334A (ja) 1988-03-09 1988-03-09 仮想計算機システム

Publications (1)

Publication Number Publication Date
JPH01229334A true JPH01229334A (ja) 1989-09-13

Family

ID=13011734

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63055891A Pending JPH01229334A (ja) 1988-03-09 1988-03-09 仮想計算機システム

Country Status (1)

Country Link
JP (1) JPH01229334A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5412504B2 (ja) * 2009-02-17 2014-02-12 パナソニック株式会社 マルチスレッドプロセッサ及びデジタルテレビシステム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5412504B2 (ja) * 2009-02-17 2014-02-12 パナソニック株式会社 マルチスレッドプロセッサ及びデジタルテレビシステム

Similar Documents

Publication Publication Date Title
JPS61206057A (ja) アドレス変換装置
US8738890B2 (en) Coupled symbiotic operating system
JP2510605B2 (ja) 仮想計算機システム
US5341484A (en) Virtual machine system having an extended storage
JPH0512126A (ja) 仮想計算機のアドレス変換装置及びアドレス変換方法
EP0619899B1 (en) Software control of hardware interruptions
US5440708A (en) Microprocessor and storage management system having said microprocessor
US11150928B2 (en) Hypervisor translation bypass
JPH01229334A (ja) 仮想計算機システム
JPS626261B2 (ja)
JP4965974B2 (ja) 半導体集積回路装置
JPH0548500B2 (ja)
JPS61160160A (ja) 仮想計算機システムにおけるアドレツシング制御装置
JPS63286944A (ja) アドレス変換バツフア無効化方式
JP3645671B2 (ja) 命令バッファを有するプロセッサ装置
JPH0552539B2 (ja)
JP2008123333A5 (ja)
JPS6336012B2 (ja)
JPS6269339A (ja) アドレス変換バツフア方式
JPS62117046A (ja) プレフイクス制御方式
JPS6345654A (ja) 情報処理装置の無効化処理方式
JPS60134360A (ja) 情報処理装置
JP2001014283A (ja) 計算機システム
JPH02310648A (ja) 仮想計算機用拡張記憶のデータ転送実行装置
JPS6269341A (ja) 仮想計算機システム